@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Karla:wght@400;500;700&display=swap');

:root{
  --lime: #EFE7D4;      /* limestone — page ground */
  --lime-2:#E4D9BF;     /* deeper limestone for panels */
  --sea:  #1F4E79;      /* Mediterranean */
  --sea-2:#8FB3CF;
  --olive:#4F6136;      /* olive grove */
  --olive-2:#A9B48A;
  --clay: #A8452A;      /* Anatolian brick */
  --sumac:#7E2431;
  --gold: #C99A3B;      /* saffron */
  --ink:  #24201B;
  --ink-2:#5B544A;
  --hair: rgba(36,32,27,.18);
  --display:'Cormorant', 'Georgia', serif;
  --text:'Karla', 'Helvetica Neue', Arial, sans-serif;
  --maxw: 1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}
body{margin:0;background:var(--lime);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--sea);text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.08;margin:0 0 .4em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,6.2vw,5.4rem)}
h2{font-size:clamp(2rem,4vw,3.4rem)}
h3{font-size:clamp(1.35rem,2.2vw,1.8rem)}
p{margin:0 0 1em;max-width:62ch}
.lead{font-family:var(--display);font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.35;max-width:36ch}
.wrap{width:min(var(--maxw),calc(100% - 48px));margin-inline:auto}
section{padding:96px 0}
.tr{font-style:italic;color:var(--ink-2)}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(239,231,212,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
.brand{font-family:var(--display);font-size:1.5rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}
.brand svg{width:30px;height:30px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;font-size:.95rem}
.nav a{color:var(--ink);text-decoration:none}
.nav a:hover{color:var(--clay)}
@media (max-width:760px){.nav ul{display:none}}

/* hero */
.hero{padding:0;position:relative;overflow:hidden;background:var(--ink);color:var(--lime);min-height:88vh;display:grid;align-items:end}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,32,27,.15) 0%,rgba(36,32,27,.75) 85%)}
.hero .wrap{position:relative;z-index:1;padding:120px 0 72px}
.hero h1{max-width:12ch;color:var(--lime)}
.hero .lead{color:var(--lime-2);margin-top:20px}
.hero .cta{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 22px;border-radius:999px;font-weight:500;text-decoration:none;border:1px solid transparent}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-line{border-color:var(--lime-2);color:var(--lime)}
.btn-ink{border-color:var(--ink);color:var(--ink)}
.btn:hover{filter:brightness(1.07)}

/* two-column intro */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:32px}}
.big{font-family:var(--display);font-size:clamp(3rem,9vw,7rem);line-height:.95;color:var(--clay);margin:0}
.big small{display:block;font-size:.28em;color:var(--ink-2);font-style:italic;margin-top:8px}

/* map */
.map-sec{background:var(--sea);color:var(--lime);padding:72px 0 88px}
.map-sec h2{color:var(--lime)}
.map-sec p{color:var(--sea-2)}
.map-frame{background:#173D60;border-radius:24px;padding:12px;margin-top:32px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.map-frame svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:26px;flex-wrap:wrap;margin-top:18px;font-size:.9rem;color:var(--sea-2)}
.legend span::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:-1px}
.legend .o::before{background:var(--gold)}
.legend .r::before{background:var(--lime)}
.legend .a::before{background:var(--clay)}
.legend .x::before{background:#fff;border:2px dashed var(--gold);width:9px;height:9px}
.route{stroke-dasharray:1600;stroke-dashoffset:1600;animation:draw 6s ease-out .4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* route stops */
.stops{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--hair);margin-top:48px}
.stop{padding:26px 22px 26px 0;border-bottom:1px solid var(--hair)}
.stop b{font-family:var(--display);font-size:1.4rem;font-weight:500;display:block}
.stop span{color:var(--ink-2);font-size:.95rem}

/* flags */
.flags{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:22px 18px;margin-top:40px}
.flag{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.88rem;text-align:center}
.flag svg{width:96px;height:64px;border-radius:6px;box-shadow:0 1px 0 rgba(0,0,0,.25),0 8px 20px rgba(36,32,27,.15)}

/* kinship table */
.kin{width:100%;border-collapse:collapse;margin-top:36px;font-size:1rem}
.kin th,.kin td{padding:16px 12px;text-align:left;border-bottom:1px solid var(--hair);vertical-align:top}
.kin th{font-family:var(--display);font-weight:500;font-size:1.15rem;color:var(--ink-2)}
.kin td.d{font-family:var(--display);font-size:1.4rem}
.kin td.eq{text-align:center;color:var(--clay);font-family:var(--display);font-size:1.6rem;width:60px}
@media (max-width:760px){.stops{grid-template-columns:1fr}}
@media (max-width:640px){.kin td.eq{width:34px}.kin td.d{font-size:1.15rem}}
.twins{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.twin{border:1px solid var(--ink);border-radius:999px;padding:8px 16px;font-family:var(--display);font-size:1.15rem}
.twin i{color:var(--clay);font-style:normal;padding:0 6px}

/* ingredients */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 36px;margin-top:48px}
@media (max-width:900px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}}
.pillar svg{width:92px;height:92px;margin-bottom:12px}
.pillar h3{margin-bottom:.3em}
.pillar p{font-size:.98rem;color:var(--ink-2)}

/* products */
.prod-sec{background:var(--lime-2)}
.prods{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}
@media (max-width:960px){.prods{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.prods{grid-template-columns:1fr}}
.prod{background:var(--lime);border-radius:18px;overflow:hidden;border:1px solid var(--hair)}
.prod .art{height:150px;display:grid;place-items:center}
.prod .art svg{width:110px;height:110px}
.prod .body{padding:18px 20px 22px}
.prod h3{font-size:1.35rem}
.prod p{font-size:.95rem;color:var(--ink-2);margin:0}
.checks{columns:2;column-gap:40px;list-style:none;padding:0;margin:28px 0 0;max-width:820px}
.checks li{break-inside:avoid;padding:8px 0 8px 30px;position:relative;border-bottom:1px solid var(--hair)}
.checks li::before{content:"";position:absolute;left:0;top:14px;width:16px;height:16px;border-radius:50%;background:var(--olive)}
@media (max-width:640px){.checks{columns:1}}
.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:56px}
@media (max-width:960px){.channels{grid-template-columns:repeat(2,1fr)}}
.channels h4{font-size:1.3rem;margin-bottom:.4em;color:var(--clay)}
.channels ul{margin:0;padding-left:18px;font-size:.95rem;color:var(--ink-2)}

/* seals */
.seal-sec{background:var(--ink);color:var(--lime)}
.seal-sec h2{color:var(--lime)}
.seal-sec p{color:#C9C0AE}
.seals{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}
@media (max-width:820px){.seals{grid-template-columns:1fr}}
.seal svg{width:150px;height:150px;margin-bottom:16px}
.seal h3{color:var(--gold);margin-bottom:.2em}
.seal .who{font-family:var(--display);font-style:italic;color:var(--lime-2);font-size:1.15rem}

/* council */
.council .split{align-items:center}
.docs{display:grid;gap:14px;margin-top:28px}
.doc{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border:1px solid var(--ink);border-radius:14px;text-decoration:none;color:var(--ink)}
.doc:hover{background:var(--lime-2)}
.doc svg{width:36px;height:36px;flex:none}
.doc b{font-family:var(--display);font-size:1.3rem;font-weight:500;display:block}
.doc span{font-size:.95rem;color:var(--ink-2)}

/* sources */
.src ol{padding-left:22px;max-width:76ch}
.src li{margin-bottom:10px}
.src li small{display:block;color:var(--ink-2)}

/* footer */
footer{background:var(--olive);color:var(--lime);padding:64px 0 40px}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}
footer h3{color:var(--lime);font-size:1.6rem}
footer a{color:var(--lime)}
footer ul{list-style:none;padding:0;margin:0;line-height:1.9}
footer .fine{grid-column:1/-1;border-top:1px solid rgba(239,231,212,.25);padding-top:20px;font-size:.85rem;color:var(--olive-2)}

/* subpages */
.page{padding:72px 0 96px}
.page .wrap{max-width:820px}
.page h1{font-size:clamp(2.4rem,5vw,4rem)}
.page h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:2em}
.page .note{border-left:4px solid var(--gold);padding:14px 18px;background:var(--lime-2);border-radius:0 12px 12px 0;font-size:.95rem;margin:28px 0}
.page blockquote{font-family:var(--display);font-size:1.6rem;line-height:1.3;margin:36px 0;padding-left:22px;border-left:2px solid var(--clay);color:var(--sumac);max-width:32ch}
.page ol,.page ul{max-width:70ch}
.page li{margin-bottom:8px}
.crumbs{font-size:.9rem;color:var(--ink-2);margin-bottom:24px}
.ref{font-size:.82rem;vertical-align:super;color:var(--clay);text-decoration:none;margin-left:2px}
