
/* Layout concept: a descent into the tomb and an emergence into daylight.
   Night sections (basalt + lichen gold) give way, through the hinge section, to day sections (limestone + ochre). */
:root{
  --night:#0e0d0b;      /* basalt, inside the tomb */
  --night-2:#171511;
  --stone:#e9e2d3;      /* limestone in daylight */
  --stone-2:#dcd3c0;
  --ink:#1b1814;        /* text on stone */
  --bone:#efe8da;       /* text on basalt */
  --dim:#a39a89;        /* secondary text on basalt */
  --dim-day:#5f574a;    /* secondary text on stone */
  --lichen:#d6a933;     /* accent: the yellow lichen on the stone */
  --ochre:#8a6110;      /* accent on light ground, AA on --stone */
  --line:rgba(239,232,218,.14);
  --line-day:rgba(27,24,20,.16);
  --f-display:"Noto Serif Display","Didot","Bodoni 72",Georgia,serif;
  --f-body:"Commissioner","Segoe UI",system-ui,sans-serif;
  --step--1:clamp(.78rem,.75rem + .15vw,.86rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.1rem);
  --step-1:clamp(1.2rem,1.1rem + .5vw,1.45rem);
  --step-2:clamp(1.6rem,1.3rem + 1.4vw,2.4rem);
  --step-3:clamp(2.2rem,1.6rem + 3vw,4rem);
  --step-4:clamp(3rem,1.8rem + 6vw,7.2rem);
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--night);color:var(--bone);font-family:var(--f-body);font-size:var(--step-0);line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--night)}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--lichen);outline-offset:3px}
.wrap{max-width:1240px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media(min-width:720px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}
.label{font-family:var(--f-body);font-size:var(--step--1);font-weight:600;letter-spacing:.18em;color:var(--lichen)}
.day .label{color:var(--ochre)}
h1,h2,h3{font-family:var(--f-display);font-weight:300;line-height:1.04;margin:0;text-wrap:balance;letter-spacing:-.01em}
h2{font-size:var(--step-3)}
h2 em,h1 em{font-style:italic;color:var(--lichen)}
.day h2 em{color:var(--ochre)}
p{margin:0;max-width:62ch}
.lede{font-size:var(--step-1);line-height:1.5;color:var(--bone);font-weight:300}
.day .lede{color:var(--ink)}
.muted{color:var(--dim)}
.day .muted{color:var(--dim-day)}
section{position:relative}
.sec{padding-block:clamp(72px,10vw,150px)}
.day{background:var(--stone);color:var(--ink)}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- NAV ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--night) 78%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:20px;height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:500;font-size:1.15rem;letter-spacing:.2em}
.brand svg{width:18px;height:26px;color:var(--lichen)}
.nav ul{display:flex;gap:22px;list-style:none;margin:0 0 0 auto;padding:0}
.nav ul a{text-decoration:none;font-size:.82rem;letter-spacing:.14em;font-weight:500;color:var(--dim);transition:color .2s}
.nav ul a:hover{color:var(--bone)}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--lichen);color:#17130a;border:0;border-radius:2px;font:600 .86rem/1 var(--f-body);letter-spacing:.14em;padding:15px 22px;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),background .2s}
.btn:hover{transform:translateY(-2px);background:#e4b844}
.btn:active{transform:translateY(0)}
.nav .btn{padding:11px 16px;font-size:.76rem}
.ghost{background:none;color:inherit;border:1px solid currentColor;opacity:.85}
.ghost:hover{background:none;opacity:1}
@media(max-width:900px){.nav ul{display:none}.nav .btn{margin-left:auto}}

/* ---------- HERO ---------- */
.hero{display:grid;grid-template-columns:1fr;min-height:min(94vh,980px);overflow:hidden;isolation:isolate}
.hero-photo{position:relative;min-height:62vh;cursor:crosshair;touch-action:pan-y}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:contrast(1.08) saturate(.9)}
.torch{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at var(--mx,50%) var(--my,38%),rgba(14,13,11,0) 0,rgba(14,13,11,.08) 90px,rgba(14,13,11,.86) clamp(220px,32vw,420px),rgba(14,13,11,.96) 100%);transition:background .05s}
.ankh-trace{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ankh-trace path,.ankh-trace ellipse{fill:none;stroke:var(--lichen);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2400;stroke-dashoffset:2400;animation:draw 3.2s 1.1s var(--ease) forwards;filter:drop-shadow(0 0 6px rgba(214,169,51,.7))}
.ankh-trace .t2{animation-delay:2.4s}
@keyframes draw{to{stroke-dashoffset:0}}
#dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.hint{position:absolute;left:max(16px,env(safe-area-inset-left,0px));bottom:18px;z-index:3;font-size:.72rem;letter-spacing:.18em;color:var(--dim);display:flex;gap:10px;align-items:center}
.hint i{width:28px;height:1px;background:var(--lichen);display:block}
.hero-text{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;gap:26px;padding-block:44px 64px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.hero h1{font-size:var(--step-4);font-weight:300;line-height:.96}
.hero h1 span{display:block}
.hero h1 .z{font-weight:700;letter-spacing:.02em;color:var(--lichen)}
.hero .meta{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:.8rem;letter-spacing:.14em;color:var(--dim)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.reveal-in{animation:rise 1s var(--ease) both}
.d1{animation-delay:.15s}.d2{animation-delay:.3s}.d3{animation-delay:.45s}.d4{animation-delay:.6s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(min-width:900px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  .hero-text{order:-1;padding-left:max(48px,env(safe-area-inset-left,0px));padding-right:24px}
  .hero-photo{min-height:auto}
  .hint{left:24px}
}
.cap{position:absolute;right:max(16px,env(safe-area-inset-right,0px));bottom:18px;z-index:3;max-width:250px;text-align:right;font-size:.78rem;line-height:1.45;color:var(--dim)}
.cap b{color:var(--bone);font-weight:500}

/* ---------- RIDDLE ---------- */
.riddle-grid{display:grid;gap:56px;margin-top:56px}
@media(min-width:960px){.riddle-grid{grid-template-columns:1fr 1.15fr;align-items:center}}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.stat{padding:26px 18px 26px 0;border-bottom:1px solid var(--line)}
.stat:nth-child(odd){border-right:1px solid var(--line)}
.stat:nth-child(even){padding-left:22px}
.stat b{display:block;font-family:var(--f-display);font-weight:300;font-size:clamp(2.6rem,2rem + 3vw,4.4rem);line-height:1;font-variant-numeric:tabular-nums;color:var(--bone)}
.stat b sup{font-size:.4em;color:var(--lichen);vertical-align:top;margin-left:2px}
.stat span{display:block;margin-top:10px;font-size:.88rem;color:var(--dim);line-height:1.4}
.stat.zero b{color:var(--lichen)}
.src{margin-top:16px;font-size:.76rem;color:var(--dim);letter-spacing:.04em}
.map{width:100%;height:auto;overflow:visible}
.map .gridd{fill:rgba(239,232,218,.13)}
.map .route{fill:none;stroke-width:2}
.map .r-common{stroke:var(--dim);stroke-dasharray:3 7}
.map .r-book{stroke:var(--lichen);stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2.4s var(--ease)}
.map.on .r-book{stroke-dashoffset:0}
.map text{font-family:var(--f-body);font-size:13px;letter-spacing:.12em;fill:var(--bone)}
.map .sm{font-size:11px;fill:var(--dim);letter-spacing:.08em}
.map .pt{fill:var(--bone)}
.map .pt-gold{fill:var(--lichen)}
.map .pulse{fill:none;stroke:var(--lichen);transform-box:fill-box;transform-origin:center;animation:pulse 2.4s infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.6);opacity:0}}
.legend{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:14px;font-size:.82rem;color:var(--dim)}
.legend i{display:inline-block;width:26px;height:0;border-top:2px dashed var(--dim);vertical-align:middle;margin-right:8px}
.legend .g i{border-top:2px solid var(--lichen)}

/* ---------- THREE AXES ---------- */
.axes{display:grid;gap:1px;background:var(--line);margin-top:56px;border:1px solid var(--line)}
@media(min-width:820px){.axes{grid-template-columns:repeat(3,1fr)}}
.axis{background:var(--night);padding:34px 28px 38px;display:flex;flex-direction:column;gap:14px;transition:background .3s}
.axis:hover{background:var(--night-2)}
.axis .k{font-family:var(--f-display);font-size:var(--step-2);font-style:italic;font-weight:300}
.axis .k small{display:block;font-family:var(--f-body);font-style:normal;font-size:.78rem;letter-spacing:.16em;color:var(--lichen);margin-bottom:12px;font-weight:600}
.axis p{color:var(--dim);font-size:.96rem}
.quote{font-family:var(--f-display);font-weight:300;font-style:italic;font-size:var(--step-2);line-height:1.25;max-width:26ch;margin-top:10px}
.quote::before{content:"«"}.quote::after{content:"»"}

/* ---------- NAOUSA ---------- */
.naousa{display:grid;gap:48px}
@media(min-width:960px){.naousa{grid-template-columns:1.05fr 1fr;align-items:center}}
.facts{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0}
.facts li{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.facts li b{font-family:var(--f-display);font-weight:500;font-size:1.6rem;line-height:1;color:var(--lichen);font-variant-numeric:tabular-nums}
.facts li b small{font-size:.55em;font-family:var(--f-body);color:var(--dim);margin-left:3px}
.facts li span{color:var(--bone);font-size:.98rem}
.arc{width:100%;height:auto}
.stathmos{margin:28px 0 0}.stathmos img{width:100%;aspect-ratio:720/462;object-fit:cover;filter:sepia(.25) contrast(1.05);border:1px solid rgba(214,169,51,.25)}.stathmos figcaption{margin-top:10px;font-size:.85rem;color:var(--dim);letter-spacing:.04em}

.arc .a{fill:none;stroke:var(--lichen);stroke-width:1.5;stroke-dasharray:4 6}
.arc text{font-family:var(--f-body);font-size:12.5px;fill:var(--bone);letter-spacing:.1em}
.arc .sm{fill:var(--dim);font-size:11px;letter-spacing:.06em}
.arc circle{fill:var(--bone)}
.arc .me{fill:var(--lichen)}
.arc .river{fill:none;stroke:#6f8aa0;stroke-width:2;opacity:.7}
.photo-river{position:relative;margin-top:28px;display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}
.photo-river img{width:120px;height:150px;object-fit:cover;filter:saturate(.8)}
.photo-river p{font-size:.9rem;color:var(--dim)}

/* ---------- COMPARE ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.tab{background:none;border:1px solid var(--line);color:var(--dim);font:500 .8rem/1 var(--f-body);letter-spacing:.14em;padding:12px 16px;border-radius:2px;cursor:pointer;transition:all .2s}
.tab[aria-selected="true"]{border-color:var(--lichen);color:var(--bone);background:rgba(214,169,51,.1)}
.compare{position:relative;margin-top:22px;aspect-ratio:16/9;max-width:100%;overflow:hidden;background:#000;user-select:none;-webkit-user-select:none;touch-action:pan-y}
@media(max-width:640px){.compare{aspect-ratio:4/5}}
.compare .side{position:absolute;inset:0}
.compare .side img{width:100%;height:100%;object-fit:cover}
.compare .egypt{clip-path:inset(0 0 0 var(--cut,50%))}
.compare .egypt img{filter:sepia(.55) contrast(1.05)}
.compare .tag{position:absolute;top:16px;font-size:.72rem;letter-spacing:.18em;font-weight:600;padding:8px 12px;background:rgba(14,13,11,.72);backdrop-filter:blur(6px)}
.compare .naousa-tag{left:16px}.compare .egypt-tag{right:16px;color:var(--lichen)}
.compare .bar{position:absolute;top:0;bottom:0;left:var(--cut,50%);width:2px;background:var(--lichen);transform:translateX(-1px);pointer-events:none}
.compare .knob{position:absolute;top:50%;left:50%;width:54px;height:54px;border-radius:50%;background:var(--lichen);transform:translate(-50%,-50%);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(214,169,51,.2)}
.compare .knob svg{width:22px;height:30px;color:#17130a}
.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.compare-cap{display:grid;gap:18px;margin-top:22px}
@media(min-width:820px){.compare-cap{grid-template-columns:1fr 1fr}}
.compare-cap p{font-size:.95rem;color:var(--dim)}
.compare-cap p b{color:var(--bone);font-weight:500}
.compare-cap .r{border-left:1px solid var(--lichen);padding-left:16px}

/* ---------- MPOU ---------- */
.mpou{display:grid;gap:44px}
@media(min-width:960px){.mpou{grid-template-columns:1fr 1fr;align-items:center}}
.giant{font-family:var(--f-display);font-weight:700;font-size:clamp(5rem,3rem + 13vw,15rem);line-height:.8;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px var(--lichen);position:relative}
.giant span{position:absolute;left:0;top:0;color:var(--lichen);-webkit-text-stroke:0;clip-path:inset(0 var(--fill,100%) 0 0);transition:clip-path 1.6s var(--ease)}
.giant.on span{--fill:0%}
.lex{list-style:none;padding:0;margin:30px 0 0;display:grid}
.lex li{display:grid;grid-template-columns:minmax(110px,150px) 1fr;gap:18px;padding:16px 0;border-top:1px solid var(--line);align-items:baseline}
.lex li b{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:1.4rem;color:var(--bone)}
.lex li span{color:var(--dim);font-size:.96rem}
.metamorph{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}
.metamorph figure{margin:0}
.metamorph img{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(.3) contrast(1.05)}
.metamorph figcaption{font-size:.74rem;letter-spacing:.12em;color:var(--dim);margin-top:8px}

/* ---------- MASKS ---------- */
.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-block:8px 18px;margin-top:40px;scrollbar-width:thin;scrollbar-color:var(--lichen) transparent;-webkit-overflow-scrolling:touch}
.rail figure{flex:0 0 min(78vw,360px);margin:0;scroll-snap-align:start;position:relative;overflow:hidden}
.rail img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s var(--ease),filter .6s}
.rail figure:hover img{transform:scale(1.04)}
.rail figcaption{padding-top:12px;font-size:.88rem;color:var(--dim);line-height:1.45}
.rail figcaption b{display:block;color:var(--bone);font-weight:500;font-size:.95rem}
.rail-head{display:flex;flex-wrap:wrap;gap:20px;align-items:end;justify-content:space-between}
.rail-btns{display:flex;gap:8px}
.rail-btns button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--bone);cursor:pointer;font-size:1.1rem;transition:border-color .2s}
.rail-btns button:hover{border-color:var(--lichen)}

/* ---------- PHASES (night → day hinge) ---------- */
.hinge{background:linear-gradient(180deg,var(--night) 0%,#1b1712 30%,#5a4a33 58%,#b7a888 78%,var(--stone) 100%);overflow:hidden}
.sun{position:absolute;left:50%;width:min(60vw,520px);aspect-ratio:1;border-radius:50%;transform:translateX(-50%);top:58%;
  background:radial-gradient(circle,rgba(247,214,128,.9) 0,rgba(214,169,51,.45) 38%,rgba(214,169,51,0) 70%);filter:blur(4px);pointer-events:none}
@supports (animation-timeline: view()){
  .sun{animation:sunrise linear both;animation-timeline:view();animation-range:entry 20% exit 40%}
  @keyframes sunrise{from{top:88%;opacity:.2}to{top:44%;opacity:1}}
}
.phase{position:relative;z-index:2;display:grid;gap:36px;padding-block:clamp(70px,9vw,130px)}
@media(min-width:900px){.phase{grid-template-columns:1fr 1fr;align-items:center}}
.phase .roman{font-family:var(--f-display);font-size:clamp(4rem,3rem + 5vw,8rem);font-weight:300;line-height:.8;color:var(--lichen);opacity:.9}
.phase.p2 .roman{color:var(--ochre)}
.phase.p2{color:var(--ink)}
.phase.p2 .label{color:var(--ochre)}
.phase.p2 h2 em{color:var(--ochre)}
.phase.p2 .muted{color:var(--dim-day)}
.ph-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ph-photos img{width:100%;aspect-ratio:3/4;object-fit:cover}
.ph-photos img:first-child{grid-row:span 2;aspect-ratio:auto;height:100%}
.anubis{margin-top:22px;padding:22px 24px;border:1px solid rgba(214,169,51,.35);background:rgba(214,169,51,.06)}
.anubis p:first-child{font-family:var(--f-display);font-style:italic;font-size:var(--step-1);line-height:1.4;color:var(--bone)}
.anubis p:last-child{margin-top:10px;font-size:.78rem;letter-spacing:.06em;color:var(--dim)}

/* ---------- SEVEN STOPS (day) ---------- */
.stops{display:grid;gap:48px;margin-top:48px}
@media(min-width:960px){.stops{grid-template-columns:1.1fr 1fr;align-items:start}}
.route-svg{width:100%;height:auto;position:sticky;top:90px}
.route-svg .base{fill:none;stroke:var(--line-day);stroke-width:2}
.route-svg .live{fill:none;stroke:var(--ochre);stroke-width:2.5;stroke-linecap:round}
.route-svg .river{fill:none;stroke:#4e6f8a;stroke-width:6;opacity:.35;stroke-linecap:round}
.route-svg .square{fill:none;stroke:var(--line-day);stroke-dasharray:3 5}
.route-svg .node circle{fill:var(--stone);stroke:var(--ink);stroke-width:1.5;transition:fill .4s,r .4s}
.route-svg .node text{font:600 13px var(--f-body);fill:var(--ink);text-anchor:middle;dominant-baseline:central}
.route-svg .node.lit circle{fill:var(--ochre);stroke:var(--ochre)}
.route-svg .node.lit text{fill:#fff7e6}
.route-svg .node.sealed circle{stroke-dasharray:3 3}
.route-svg .tri{fill:rgba(138,97,16,.08);stroke:var(--ochre);stroke-width:1;stroke-dasharray:2 4;opacity:0;transition:opacity .8s}
.route-svg.tri-on .tri{opacity:1}
.stoplist{list-style:none;margin:0;padding:0;counter-reset:s}
.stoplist li{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--line-day)}
.stoplist li .n{font-family:var(--f-display);font-size:2rem;line-height:1;color:var(--ochre)}
.stoplist li h3{font-family:var(--f-body);font-weight:600;font-size:1rem;letter-spacing:.02em}
.stoplist li p{color:var(--dim-day);font-size:.95rem;margin-top:4px}
.stoplist li.sealed p{font-style:italic}
.seal-ic{display:inline-block;width:14px;height:14px;border-radius:50%;background:#7c1d14;vertical-align:-2px;margin-right:6px;box-shadow:inset 0 0 0 2px #a8352a}

/* ---------- SYMBOLS (day) ---------- */
.sym-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-day);border:1px solid var(--line-day);margin-top:48px}
@media(min-width:820px){.sym-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sym{background:var(--stone);padding:26px 20px 24px;display:flex;flex-direction:column;gap:12px;min-height:250px;transition:background .3s}
.sym:hover{background:var(--stone-2)}
.sym svg{width:64px;height:64px;color:var(--ink)}
.sym svg *{fill:none;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}
.sym svg .gl{stroke-dasharray:300;stroke-dashoffset:0;transition:stroke-dashoffset 1s var(--ease)}
.sym:hover svg .gl{animation:redraw 1.2s var(--ease)}
@keyframes redraw{from{stroke-dashoffset:300}to{stroke-dashoffset:0}}
.sym .num{font-family:var(--f-display);font-size:3.4rem;line-height:.9;font-weight:300;color:var(--ink);height:64px;display:flex;align-items:center}
.sym h3{font-family:var(--f-body);font-weight:600;font-size:.98rem}
.sym p{font-size:.88rem;color:var(--dim-day);line-height:1.45}

/* ---------- BOOK ---------- */
.book-sec{background:var(--stone-2);color:var(--ink)}
.book-grid{display:grid;gap:56px}
@media(min-width:980px){.book-grid{grid-template-columns:.9fr 1.1fr;align-items:start}}
.book3d{perspective:1400px;display:grid;place-items:center;padding:20px 0 40px;position:sticky;top:90px}
.book{width:min(78vw,360px);aspect-ratio:2/3;position:relative;transform-style:preserve-3d;transform:rotateY(var(--ry,-22deg)) rotateX(var(--rx,4deg));transition:transform .5s var(--ease)}
.book .front{position:absolute;inset:0;background:var(--night);color:var(--bone);display:flex;flex-direction:column;justify-content:space-between;padding:28px 24px;overflow:hidden;box-shadow:0 40px 70px -20px rgba(0,0,0,.55);border-radius:2px 6px 6px 2px}
.book .front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;filter:contrast(1.1) brightness(.75)}
.book .front::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,13,11,.9) 0%,rgba(14,13,11,.1) 45%,rgba(14,13,11,.92) 100%)}
.book .front > *{position:relative;z-index:2}
.book .front .bt{font-family:var(--f-display);font-weight:500;font-size:clamp(1.05rem,.9rem + .8vw,1.45rem);line-height:1.15;letter-spacing:.04em}
.book .front .bs{font-size:.62rem;letter-spacing:.16em;color:var(--lichen);margin-top:10px;line-height:1.5;font-weight:600}
.book .front .ba{font-family:var(--f-display);font-size:.95rem;letter-spacing:.2em}
.book .spine{position:absolute;top:0;bottom:0;left:0;width:34px;transform:rotateY(-90deg) translateZ(17px) translateX(-17px);transform-origin:left;background:#060605}
.book .pages{position:absolute;top:6px;bottom:6px;right:-2px;width:30px;transform:rotateY(90deg) translateZ(-15px);transform-origin:right;background:repeating-linear-gradient(90deg,#efe7d6 0 2px,#d8cdb6 2px 3px)}
.draft{font-size:.72rem;letter-spacing:.14em;color:var(--dim-day);margin-top:22px;text-align:center}
.toc{list-style:none;margin:30px 0 0;padding:0}
.toc li{border-top:1px solid var(--line-day)}
.toc li:last-child{border-bottom:1px solid var(--line-day)}
.toc button{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:18px 0;cursor:pointer}
.toc button:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}
.toc .t{font-family:var(--f-display);font-size:var(--step-1);font-weight:500;line-height:1.2}
.toc .t small{display:block;font-family:var(--f-body);font-size:.74rem;letter-spacing:.14em;color:var(--dim-day);font-weight:600;margin-top:6px}
.wax{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b8473a,#7c1d14 60%,#5a130c);display:grid;place-items:center;color:#f2c9a8;box-shadow:0 2px 6px rgba(0,0,0,.25),inset 0 -3px 6px rgba(0,0,0,.3);transition:transform .5s var(--ease)}
.wax svg{width:12px;height:18px}
.toc li.open .wax{transform:rotate(-25deg) scale(.88)}
.toc .body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.toc li.open .body{grid-template-rows:1fr}
.toc .body > div{overflow:hidden}
.toc .body p{padding:0 0 20px;color:var(--ink);font-family:var(--f-display);font-style:italic;font-size:1.08rem;line-height:1.5}
.toc .body p span{display:block;font-family:var(--f-body);font-style:normal;font-size:.8rem;letter-spacing:.08em;color:var(--ochre);margin-top:10px;font-weight:600}
.signup{margin-top:44px;padding:30px 26px;background:var(--night);color:var(--bone);display:grid;gap:16px}
.signup h3{font-size:var(--step-2)}
.signup form{display:flex;flex-wrap:wrap;gap:10px}
.signup input{flex:1 1 220px;min-width:0;background:transparent;border:1px solid rgba(239,232,218,.3);color:var(--bone);font:400 1rem var(--f-body);padding:14px 16px;border-radius:2px}
.signup input::placeholder{color:var(--dim)}
.signup input:focus{outline:none;border-color:var(--lichen)}
.signup .out{font-size:.88rem;color:var(--lichen);min-height:1.3em}

footer{background:var(--night);color:var(--dim);font-size:.84rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:18px 40px;justify-content:space-between;padding-block:44px}
footer .brand{color:var(--bone)}

/* ---------- v2 additions ---------- */
.brand{gap:12px;letter-spacing:0}
.brand img{width:34px;height:auto;flex:none}
.brand .bn{display:flex;flex-direction:column;line-height:1.2}
.brand .bn b{font:600 .7rem/1.2 var(--f-body);letter-spacing:.16em;color:var(--bone)}
.brand .bn small{font:400 .78rem/1.2 var(--f-display);letter-spacing:.06em;color:var(--lichen)}
@media(max-width:560px){.nav .btn{display:none}}
.slides{position:absolute;inset:0;overflow:hidden}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.8s ease;filter:grayscale(.35) brightness(.6) contrast(1.05)}
.slides img.on{opacity:1;animation:kb 10s linear both}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.12)}}
.hero-photo .stone{position:absolute;inset:5% 4% 9%;z-index:1}
.hero-photo .stone img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:contrast(1.1) drop-shadow(0 30px 40px rgba(0,0,0,.8)) drop-shadow(0 0 30px rgba(214,169,51,.25))}
.hero-photo .stone .ankh-trace{z-index:2}
.hero-photo .torch{z-index:1}
.hero-photo .stone{z-index:0}
.slide-dots{position:absolute;top:16px;right:max(16px,env(safe-area-inset-right,0px));z-index:3;display:flex;gap:6px}
.slide-dots i{width:18px;height:2px;background:rgba(239,232,218,.3);display:block;transition:background .4s}
.slide-dots i.on{background:var(--lichen)}
.vid-grid{display:grid;gap:36px;align-items:center}
@media(min-width:820px){.vid-grid{grid-template-columns:minmax(0,360px) 1fr}}
.reel{position:relative;max-width:360px;width:100%;aspect-ratio:9/16;background:#000;overflow:hidden;justify-self:center}
.reel video{width:100%;height:100%;object-fit:cover;display:block}
.snd{position:absolute;left:12px;bottom:12px;background:rgba(14,13,11,.72);color:var(--bone);border:1px solid rgba(239,232,218,.3);font:600 .7rem/1 var(--f-body);letter-spacing:.14em;padding:10px 12px;cursor:pointer;backdrop-filter:blur(6px)}
.snd:hover{border-color:var(--lichen)}
.mapfig{margin:0;position:relative}
@media(min-width:960px){.mapfig{position:sticky;top:90px}}
.mapfig .mw{position:relative}
.mapfig img{width:100%;height:auto}
.mapfig .mk{fill:var(--stone);stroke:var(--ink);stroke-width:3.5;transition:fill .4s,stroke .4s}
.mapfig .node text{font:700 28px var(--f-body);fill:var(--ink);text-anchor:middle;dominant-baseline:central;transition:fill .4s}
.mapfig .lit .mk{fill:var(--ochre);stroke:var(--ochre)}
.mapfig .lit text{fill:#fff7e6}
.mapfig .end .mk{stroke-width:6}
.mapfig .end.lit .mk{fill:#7c1d14;stroke:#7c1d14}
.mapfig .rbase{fill:none;stroke:var(--ochre);stroke-width:4;stroke-dasharray:2 12;stroke-linecap:round;opacity:.45}
.mapfig .rlive{fill:none;stroke:var(--ochre);stroke-width:9;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(138,97,16,.45))}
.mapfig .rv-river{font:600 22px var(--f-body);letter-spacing:.3em;fill:#4e6f8a}
.mapfig svg{position:absolute;inset:0;width:100%;height:100%}
.mapfig .ring{fill:none;stroke:var(--ochre);stroke-width:7;opacity:0;transition:opacity .5s}
.mapfig .lit .ring{opacity:1}
.mapfig .lit .halo{fill:var(--ochre);opacity:.18;transform-box:fill-box;transform-origin:center;animation:pulse 2.2s infinite}
.mapfig .halo{fill:none}
.mapfig .tri{fill:rgba(138,97,16,.16);stroke:var(--ochre);stroke-width:3;stroke-dasharray:10 10;opacity:0;transition:opacity .8s}
.mapfig.tri-on .tri{opacity:1}
.mapfig figcaption{margin-top:12px;font-size:.84rem;color:var(--dim-day)}
.compare .egypt{background:#e3d6b8}
.nile{position:relative;overflow:hidden;min-height:min(86vh,760px);display:flex;align-items:flex-end;isolation:isolate}
.nile > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.9) contrast(1.05)}
@supports (animation-timeline: view()){.nile > img{animation:nilepan linear both;animation-timeline:view()}@keyframes nilepan{from{transform:scale(1.15) translateY(-3%)}to{transform:scale(1.02) translateY(3%)}}}
.nile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,13,11,.5) 0%,rgba(14,13,11,0) 18%,rgba(14,13,11,0) 48%,rgba(14,13,11,.82) 74%,rgba(14,13,11,.97) 100%)}
.nile{min-height:min(118vh,1100px)}
.nile-in{display:grid;gap:18px;padding-block:45vh 72px;width:100%}
.nile-in h2{font-size:var(--step-4);line-height:.95}
.nile-in .muted{color:#cfc6b4}
.book-sec .wrap{max-width:900px}
.book-sec .lede,.day .lede{color:var(--ink)}
.book-sec .muted{color:var(--dim-day)}
.book-sec h2 em,.book-sec .label{color:var(--ochre)}

.ankh-trace path{fill:none;stroke:var(--lichen);stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 3s 1s var(--ease) forwards;filter:drop-shadow(0 0 5px rgba(214,169,51,.85))}
.ankh-trace .p1{animation-delay:2.4s}.ankh-trace .p2{animation-delay:2.7s}.ankh-trace .p3{animation-delay:3s}.ankh-trace .p4{animation-delay:3.3s}
.ankh-trace{animation:breathe 5s 4.5s ease-in-out infinite}
@keyframes breathe{50%{opacity:.35}}
.hero-photo .stone::before{content:"";position:absolute;inset:15% 10% 20%;background:radial-gradient(closest-side,rgba(214,169,51,.28),rgba(214,169,51,0));filter:blur(20px)}
.slides img{filter:grayscale(.5) brightness(.42) blur(1.5px)}
.hero-photo .stone{z-index:auto}
.hero-photo .stone .ankh-trace{z-index:2}
.ethimo-band{background:var(--night-2);padding-block:clamp(56px,7vw,100px)}
.eb{display:grid;gap:40px;align-items:center}
@media(min-width:900px){.eb{grid-template-columns:1.1fr 1fr}}
.eb figure{margin:0}.eb img{width:100%;aspect-ratio:3/2;object-fit:cover}

/* ===== hero v4: two worlds, one stone ===== */
.hero2{background:var(--night);position:relative}
.stage{position:relative;height:clamp(560px,86svh,900px);overflow:hidden;isolation:isolate;cursor:crosshair;touch-action:pan-y;background:var(--night)}
.half{position:absolute;top:0;bottom:0;overflow:hidden}
.half.hn{left:0;right:50%}.half.he{left:50%;right:0}
.layer{position:absolute;inset:0;clip-path:inset(0 0 0 0)}
.layer.in{animation:wipe 1.5s var(--ease) both}
.he .layer.in{animation-delay:.25s}
@keyframes wipe{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
.layer > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) contrast(1.08) saturate(.85);transform-origin:50% 0;animation:sink 9s linear both}
@keyframes sink{from{transform:scale(1.12) translateY(-3%)}to{transform:scale(1.03) translateY(0)}}
.he .layer > img{filter:brightness(.6) contrast(1.05) sepia(.25) saturate(.9)}
.layer .scan{position:absolute;left:0;right:0;height:2px;top:0;background:var(--lichen);box-shadow:0 0 18px 3px rgba(214,169,51,.55);opacity:0}
.layer.in .scan{animation:scan 1.5s var(--ease) both}
.he .layer.in .scan{animation-delay:.25s}
@keyframes scan{0%{top:0;opacity:1}85%{opacity:1}100%{top:100%;opacity:0}}
/* Egyptian artefacts shown as museum plates */
.layer.plate{background:radial-gradient(70% 60% at 62% 42%,#3a2e19 0,#16130d 70%)}
.layer.plate > img{position:absolute;inset:26% 8% 16% 30%;width:auto;height:auto;max-width:62%;max-height:56%;margin:auto;object-fit:contain;filter:sepia(.2) brightness(.92) contrast(1.05);box-shadow:0 30px 60px rgba(0,0,0,.65);outline:1px solid rgba(214,169,51,.45);outline-offset:10px;animation:float 9s ease-out both}
.layer.glyph > img{outline:none;box-shadow:none;filter:drop-shadow(0 0 24px rgba(214,169,51,.45))}
@keyframes float{from{transform:translateY(-6%);opacity:.4}to{transform:none;opacity:1}}
.half::after{content:"";position:absolute;inset:0;pointer-events:none}
.hn::after{background:linear-gradient(90deg,rgba(14,13,11,.15) 0,rgba(14,13,11,0) 40%,rgba(14,13,11,.75) 100%)}
.he::after{background:linear-gradient(270deg,rgba(14,13,11,.15) 0,rgba(14,13,11,0) 40%,rgba(14,13,11,.75) 100%)}
.stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(14,13,11,.7) 0,rgba(14,13,11,0) 22%,rgba(14,13,11,0) 58%,rgba(14,13,11,.92) 88%,var(--night) 100%)}
.seam{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(180deg,transparent,rgba(214,169,51,.6) 20%,rgba(214,169,51,.6) 70%,transparent);z-index:1}
.stage .torch{z-index:1;background:radial-gradient(circle at var(--mx,50%) var(--my,38%),rgba(14,13,11,0) 0,rgba(14,13,11,0) 120px,rgba(14,13,11,.42) clamp(260px,34vw,460px),rgba(14,13,11,.55) 100%)}
.stage #dust{z-index:2}
.stage .stone{position:absolute;z-index:3;left:50%;top:9%;height:64%;aspect-ratio:613/823;transform:translateX(-50%)}
.stage .stone img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:contrast(1.1) drop-shadow(0 30px 40px rgba(0,0,0,.85)) drop-shadow(0 0 40px rgba(214,169,51,.3))}
.stage .stone::before{content:"";position:absolute;inset:10% 0 15%;background:radial-gradient(closest-side,rgba(14,13,11,.85),rgba(14,13,11,0));filter:blur(10px)}
.stage .ankh-trace{z-index:2}
.stage .side{position:absolute;z-index:4;top:clamp(76px,9vh,96px);display:grid;gap:6px;max-width:30%;margin:0}
.stage .side.l{left:max(20px,4vw)}.stage .side.r{right:max(20px,4vw);text-align:right}
.stage .side span{font:600 .7rem/1 var(--f-body);letter-spacing:.28em;color:var(--lichen)}
.stage .side b{font:400 clamp(1.05rem,1.9vw,1.6rem)/1.15 var(--f-display);color:var(--bone);transition:opacity .5s}
.hq{position:absolute;z-index:4;left:50%;transform:translateX(-50%);bottom:76px;width:min(640px,88%);text-align:center;display:grid;gap:12px;justify-items:center}
.hq p{margin:0;font:300 italic clamp(1.15rem,2.2vw,1.75rem)/1.3 var(--f-display);color:var(--bone);text-wrap:balance;transition:opacity .45s,transform .45s}
.hq p.out{opacity:0;transform:translateY(8px)}
.hq a{font:600 .74rem/1 var(--f-body);letter-spacing:.2em;color:var(--lichen);text-decoration:none;padding:10px 4px;border-bottom:1px solid rgba(214,169,51,.4)}
.hq a span{display:inline-block;transition:transform .3s}.hq a:hover span{transform:translateX(5px)}
.pairs{position:absolute;z-index:4;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0 14px;padding:0 max(20px,4vw) 22px}
.pairs button{all:unset;cursor:pointer;display:grid;gap:9px;font:600 .66rem/1 var(--f-body);letter-spacing:.2em;color:var(--dim);transition:color .3s;padding-top:12px}
.pairs button:focus-visible{outline:2px solid var(--lichen);outline-offset:4px}
.pairs button i{display:block;height:2px;background:rgba(239,232,218,.18);position:relative;overflow:hidden}
.pairs button i::after{content:"";position:absolute;inset:0;background:var(--lichen);transform-origin:0 50%;transform:scaleX(0)}
.pairs button[aria-selected="true"]{color:var(--bone)}
.pairs button[aria-selected="true"] i::after{animation:fill var(--dur,7s) linear both}
.pairs button.done i::after{transform:scaleX(1);opacity:.45}
@keyframes fill{to{transform:scaleX(1)}}
.pairs em{font-style:normal;color:var(--lichen);margin-right:8px}
.hero2-text{display:grid;gap:28px;padding-block:28px 72px;position:relative;z-index:2}
.hero2-text h1{font-size:var(--step-4);font-weight:300;line-height:.94;margin-top:16px}
.hero2-text h1 span{display:block}.hero2-text h1 .z{font-weight:700;color:var(--lichen);letter-spacing:.02em}
.h2t{display:grid;gap:24px;align-content:end}
.hero2-text .ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero2-text .meta{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:.8rem;letter-spacing:.14em;color:var(--dim)}
@media(min-width:900px){.hero2-text{grid-template-columns:1.05fr 1fr;align-items:end;gap:56px}}
@media(max-width:700px){
 .stage{height:max(600px,84svh)}
 .stage .stone{top:auto;bottom:150px;height:44%}
 .layer.plate > img{inset:14% 8% 48% 12%;max-width:80%;max-height:36%}
 .stage .side{max-width:44%}
 .hq{bottom:58px}
 .hq p{font-size:1.05rem}
 .pairs{gap:0 6px;padding-bottom:16px}
 .pairs button{font-size:0;gap:0}.pairs button em{font-size:.64rem;margin:0 0 8px}
}
@media (prefers-reduced-motion:reduce){.layer.in,.layer>img,.layer.in .scan{animation:none!important}}

/* ===== hero v5: the ankh window ===== */
.hx{position:relative;overflow:hidden;isolation:isolate;background:var(--night);min-height:min(100svh,1000px);display:flex;align-items:center}
.hx-amb{position:absolute;inset:-8%;z-index:-2}
.hx-amb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(46px) brightness(.4) saturate(1.25);opacity:0;transition:opacity 1.8s ease}
.hx-amb img.on{opacity:1}
.hx::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,rgba(14,13,11,0) 30%,rgba(14,13,11,.75) 80%),linear-gradient(180deg,rgba(14,13,11,.55),rgba(14,13,11,0) 20%,rgba(14,13,11,0) 80%,var(--night))}
.hx .torch{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at var(--mx,60%) var(--my,40%),rgba(231,196,106,.10),rgba(231,196,106,0) 34%)}
.hx #dust{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hx-grid{position:relative;z-index:1;display:grid;gap:34px;padding-block:92px 64px;width:100%}
.hx-fig{margin:0;display:grid;justify-items:center;gap:18px}
.hx-shape{position:relative;width:min(70vw,320px);aspect-ratio:600/900}
.hx-shape::before{content:"";position:absolute;inset:-12%;background:radial-gradient(closest-side,rgba(214,169,51,.28),rgba(214,169,51,0));filter:blur(18px);animation:halo 6s ease-in-out infinite}
@keyframes halo{50%{opacity:.55;transform:scale(.96)}}
.hx-win{position:absolute;inset:0;background:#15120c;-webkit-mask:url(img/h/ankh-mask.svg) center/100% 100% no-repeat;mask:url(img/h/ankh-mask.svg) center/100% 100% no-repeat}
.hx-win .layer > img{filter:brightness(.9) contrast(1.08) saturate(.95)}
.hx-win .layer.eg > img{filter:sepia(.3) brightness(.92) contrast(1.06)}
.hx-win .layer.plate{background:radial-gradient(80% 60% at 50% 38%,#4a3a1c 0,#1b160d 75%)}
.hx-win .layer.plate > img{position:absolute;inset:6% 22% 58% 22%;width:auto;height:auto;max-width:56%;max-height:36%;margin:auto;object-fit:contain;box-shadow:0 18px 40px rgba(0,0,0,.6);animation:float 7s ease-out both}
.hx-win .layer.plate.full > img{inset:5% 12% 5% 12%;max-width:76%;max-height:90%}
.hx-win .layer.rise{animation:riseIn 2s var(--ease) both}
.hx-win .layer.rise > img{animation:riseImg 2.2s var(--ease) both}
@keyframes riseIn{from{opacity:0}to{opacity:1}}
@keyframes riseImg{from{transform:translateY(18%) scale(1.15);filter:blur(10px) brightness(.4)}to{transform:none;filter:none}}
.hx-win .layer.glyph > img{box-shadow:none;filter:drop-shadow(0 0 20px rgba(214,169,51,.5))}
.hx-trace{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.hx-trace path{fill:none;stroke:var(--lichen);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.8s .4s var(--ease) forwards;filter:drop-shadow(0 0 6px rgba(214,169,51,.8))}
.hx-cap{display:grid;justify-items:center;gap:6px;text-align:center;min-height:3.4em}
.hx-cap span{font:600 .7rem/1 var(--f-body);letter-spacing:.3em;color:var(--lichen);transition:opacity .4s}
.hx-cap b{font:400 clamp(1.15rem,2vw,1.5rem)/1.2 var(--f-display);color:var(--bone);transition:opacity .4s}
.hx-cap.swap span,.hx-cap.swap b{opacity:0}
.hx-ticks{display:flex;gap:8px}
.hx-ticks button{all:unset;cursor:pointer;width:34px;padding:10px 0;position:relative}
.hx-ticks button::before{content:"";display:block;height:2px;background:rgba(239,232,218,.2)}
.hx-ticks button::after{content:"";position:absolute;left:0;top:10px;height:2px;width:100%;background:var(--lichen);transform-origin:0 50%;transform:scaleX(0)}
.hx-ticks button[aria-selected="true"]::after{animation:fill var(--dur,8s) linear both}
.hx-ticks button.done::after{transform:scaleX(1);opacity:.5}
.hx-ticks button:focus-visible{outline:2px solid var(--lichen);outline-offset:3px}
.hx-text{display:grid;gap:22px;align-content:center}
.hx-text h1{font-size:var(--step-4);font-weight:300;line-height:.94}
.hx-text h1 span{display:block}.hx-text h1 .z{font-weight:700;color:var(--lichen);letter-spacing:.02em}
.hx-text h1 em{font-style:italic;color:var(--lichen)}
.hx-why{margin:-6px 0 0;font:300 italic clamp(1.3rem,1rem + 1.5vw,2.1rem)/1.25 var(--f-display);color:var(--bone);max-width:24ch;border-top:1px solid rgba(214,169,51,.45);padding-top:18px}
.hx-badge{margin:0;justify-self:start;font:600 .68rem/1 var(--f-body);letter-spacing:.2em;color:#17130a;background:var(--lichen);padding:8px 12px}
.hx-q{border-left:2px solid var(--lichen);padding:4px 0 4px 18px;display:grid;gap:10px;justify-items:start}
.hx-qt{margin:0;font:300 italic clamp(1.15rem,1.9vw,1.5rem)/1.35 var(--f-display);color:var(--bone);transition:opacity .45s,transform .45s;min-height:2.7em}
.hx-qt.out{opacity:0;transform:translateY(6px)}
.hx-q a{font:600 .72rem/1 var(--f-body);letter-spacing:.2em;color:var(--lichen);text-decoration:none;padding:8px 0}
.hx-q a span{display:inline-block;transition:transform .3s}.hx-q a:hover span{transform:translateX(5px)}
.hx .ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hx .meta{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:.8rem;letter-spacing:.14em;color:var(--dim)}
.hx .factsrow{margin-top:0}
.hx .lede{max-width:52ch}
@media(min-width:960px){
 .hx-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center;padding-block:110px 72px}
 .hx-fig{order:2}
 .hx-shape{width:min(30vw,420px)}
}
@media (prefers-reduced-motion:reduce){.hx-trace path{animation:none;stroke-dashoffset:0}.hx-shape::before{animation:none}}
/* page variant */
.hx.page{min-height:auto}
.hx.page .hx-grid{padding-block:100px 56px}
.hx.page .hx-shape{width:min(64vw,280px)}
@media(min-width:960px){.hx.page .hx-shape{width:min(24vw,330px)}}

/* ===== myths: what they told you ===== */
.myths{background:var(--night);padding-block:clamp(72px,10vw,140px);position:relative;overflow:hidden}
.myths::before{content:"";position:absolute;left:50%;top:0;width:1px;height:64px;background:linear-gradient(var(--lichen),transparent)}
.myths h2{margin-top:18px;font-size:var(--step-3,clamp(2.2rem,1.4rem + 3.6vw,4.4rem))}
.myth-list{list-style:none;margin:56px 0 0;padding:0;display:grid;gap:0;counter-reset:m}
.myth-list li{counter-increment:m;display:grid;gap:14px;padding:34px 0 34px 64px;border-top:1px solid var(--line);position:relative}
.myth-list li::before{content:"0" counter(m);position:absolute;left:0;top:38px;font:600 .74rem/1 var(--f-body);letter-spacing:.2em;color:var(--lichen)}
.myth-list s{text-decoration:none;font:300 clamp(1.25rem,1rem + 1.4vw,2.1rem)/1.3 var(--f-display);color:var(--bone);position:relative;justify-self:start;transition:color .8s .9s}
.myth-list s::after{content:"";position:absolute;left:-2px;right:-2px;top:55%;height:2px;background:var(--lichen);box-shadow:0 0 12px rgba(214,169,51,.6);transform:scaleX(0);transform-origin:0 50%;transition:transform 1s cubic-bezier(.7,0,.2,1) .3s}
.myth-list p{margin:0;font:400 italic clamp(1.3rem,1rem + 1.6vw,2.3rem)/1.25 var(--f-display);color:var(--lichen);opacity:0;transform:translateY(14px);transition:opacity .9s 1.3s,transform .9s 1.3s var(--ease)}
.myth-list li.seen s{color:var(--dim)}
.myth-list li.seen s::after{transform:scaleX(1)}
.myth-list li.seen p{opacity:1;transform:none}
.myth-claim{margin-top:56px;padding:40px clamp(20px,4vw,48px);border:1px solid rgba(214,169,51,.45);background:linear-gradient(135deg,rgba(214,169,51,.10),rgba(214,169,51,0) 60%);display:grid;gap:14px}
.mc-big{margin:0;font:300 clamp(1.6rem,1rem + 2.6vw,3rem)/1.15 var(--f-display);color:var(--bone)}
.mc-big em{color:var(--lichen)}
.mc-sm{margin:0;color:var(--dim);max-width:60ch;line-height:1.6}
.myth-end{margin-top:48px;font:300 clamp(1.4rem,1rem + 2vw,2.6rem)/1.2 var(--f-display);color:var(--bone);border-top:1px solid var(--line);padding-top:40px}
.myth-end a{display:inline-block;margin-top:14px;font:600 .8rem/1 var(--f-body);letter-spacing:.2em;color:var(--lichen);text-decoration:none;text-transform:uppercase}
@media(max-width:600px){.myth-list li{padding-left:0;padding-top:52px}.myth-list li::before{top:26px}}
@media (prefers-reduced-motion:reduce){.myth-list s::after,.myth-list p,.myth-list s{transition:none}}
/* end hero v3 */
.author{display:grid;gap:40px;align-items:center;border-top:1px solid var(--line-day);padding-top:clamp(56px,7vw,100px)}
@media(min-width:900px){.author{grid-template-columns:300px 1fr}}
.author-mark{aspect-ratio:1;max-width:300px;width:100%;background:var(--night);display:grid;place-items:center;position:relative;justify-self:center}
.author-mark img{width:52%;height:auto}
.author-mark span{position:absolute;bottom:16px;right:18px;font-family:var(--f-display);color:var(--lichen);font-size:1.1rem;letter-spacing:.1em}
.cv{list-style:none;margin:28px 0 0;padding:0}
.cv li{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:14px 0;border-top:1px solid var(--line-day);align-items:baseline}
.cv b{font-family:var(--f-display);font-weight:500;font-size:1.5rem;color:var(--ochre)}
.cv span{color:var(--dim-day);font-size:.96rem}
footer .contact{display:grid;gap:6px}
footer .mail{color:var(--bone);user-select:all}
footer a{color:var(--bone)}
/* scroll reveals: visible at rest, animated where supported */
@supports (animation-timeline: view()){
  .rv{animation:rvin linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
  @keyframes rvin{from{transform:translateY(34px)}to{transform:none}}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .ankh-trace path{stroke-dashoffset:0}
  .map .r-book{stroke-dashoffset:0}
}

/* ===== site-wide: navigation (replaces landing-only nav list) ===== */
.nav .wrap{gap:18px}
.nav .menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0 0 0 auto;padding:0}
.nav .menu > li{position:relative}
.nav .menu a{display:block;text-decoration:none;font-size:.76rem;letter-spacing:.14em;font-weight:500;color:var(--dim);padding:10px 10px;transition:color .2s}
.nav .menu a:hover,.nav .menu a[aria-current="page"]{color:var(--bone)}
.nav .menu a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--lichen)}
.nav .sub{display:block;position:absolute;top:100%;left:0;min-width:220px;list-style:none;margin:0;padding:8px;background:var(--night-2);border:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .2s var(--ease)}
.nav .has-sub:hover .sub,.nav .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.nav .sub a{padding:10px 12px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--bone);font:600 .72rem/1 var(--f-body);letter-spacing:.16em;padding:11px 14px;cursor:pointer}
.m-only{display:none}
@media(max-width:1060px){
  .menu-btn{display:flex;align-items:center;gap:10px}
  .menu-btn::before{content:"";width:16px;height:7px;border-top:1.5px solid var(--lichen);border-bottom:1.5px solid var(--lichen);transition:transform .3s var(--ease),height .3s}
  .nav.open .menu-btn::before{height:0;border-bottom:0;transform:rotate(45deg)}
  .nav .btn{display:none}
  .nav.open{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--night)}
  .nav .menu{display:flex;position:fixed;left:0;right:0;top:calc(62px + env(safe-area-inset-top,0px));height:calc(100dvh - 62px - env(safe-area-inset-top,0px));margin:0;flex-direction:column;align-items:stretch;gap:0;padding:18px max(20px,env(safe-area-inset-left,0px)) 36px;overflow-y:auto;z-index:70;counter-reset:mi;
    background:radial-gradient(90% 50% at 50% 0%,rgba(214,169,51,.10),transparent 70%),var(--night);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s .35s}
  .nav.open .menu{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
  .nav .menu > li{border-bottom:1px solid var(--line);opacity:0;transform:translateY(12px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
  .nav.open .menu > li{opacity:1;transform:none}
  .nav.open .menu > li:nth-child(2){transition-delay:.05s}.nav.open .menu > li:nth-child(3){transition-delay:.1s}.nav.open .menu > li:nth-child(4){transition-delay:.15s}.nav.open .menu > li:nth-child(5){transition-delay:.2s}.nav.open .menu > li:nth-child(6){transition-delay:.25s}.nav.open .menu > li:nth-child(7){transition-delay:.3s}
  .nav .menu > li:not(.m-only){counter-increment:mi}
  .nav .menu > li > a{display:flex;align-items:baseline;gap:14px;font:300 clamp(1.7rem,7vw,2.3rem)/1.1 var(--f-display);letter-spacing:.02em;padding:18px 2px;color:var(--bone);text-transform:none}
  .nav .menu > li:not(.m-only) > a::before{content:"0" counter(mi);font:600 .66rem/1 var(--f-body);letter-spacing:.2em;color:var(--lichen);min-width:22px}
  .nav .menu > li > a[aria-current="page"]{box-shadow:none;color:var(--lichen)}
  .nav .sub{position:static;opacity:1;visibility:visible;transform:none;background:none;border:0;padding:0 0 18px 36px;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
  .nav .sub a{font:500 .74rem/1 var(--f-body);letter-spacing:.14em;color:var(--bone);padding:10px 14px;border:1px solid var(--line);border-radius:999px}
  .nav .sub a[aria-current="page"]{border-color:var(--lichen);color:var(--lichen);box-shadow:none}
  .m-only{display:block}
  .nav .menu > li.m-book{border:0;margin-top:26px}
  .nav .menu > li.m-book > a{justify-content:center;background:var(--lichen);color:#17130a;font:600 .8rem/1 var(--f-body);letter-spacing:.16em;padding:18px}
  .nav .menu > li.m-foot{border:0;margin-top:auto;padding-top:28px;display:flex;flex-wrap:wrap;gap:8px 22px}
  .nav .menu > li.m-foot > a{font:400 .86rem/1.4 var(--f-body);letter-spacing:.04em;color:var(--dim);padding:0}
}


/* ===== inner pages ===== */
.page-hero{position:relative;min-height:min(76vh,700px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.page-hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,13,11,.55) 0%,rgba(14,13,11,.1) 35%,rgba(14,13,11,.75) 70%,rgba(14,13,11,.97) 100%)}
.page-hero .wrap{width:100%;padding-block:140px 56px;display:grid;gap:18px}
.page-hero h1{font-size:var(--step-4);line-height:.95}
.page-hero h1 em{font-style:italic;color:var(--lichen)}
.page-hero .lede{color:#e6dfd1;max-width:56ch}
.factsrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--line);margin-top:16px}
.factsrow div{padding:16px 16px 0 0}
.factsrow dt{font-size:.7rem;letter-spacing:.18em;font-weight:600;color:var(--lichen)}
.factsrow dd{margin:6px 0 0;font-family:var(--f-display);font-size:1.25rem;color:var(--bone)}
.room{padding-block:clamp(64px,9vw,130px)}
.room-head{display:grid;gap:14px;max-width:760px}
.room-head .roman{font-family:var(--f-display);font-size:2.6rem;line-height:1;color:var(--lichen)}
.day .room-head .roman{color:var(--ochre)}
.prose{display:grid;gap:18px;max-width:64ch}
.prose p{color:var(--dim);font-size:1.04rem;line-height:1.7}
.day .prose p{color:var(--dim-day)}
.prose p.lead{color:var(--bone);font-size:var(--step-1);line-height:1.55;font-weight:300}
.day .prose p.lead{color:var(--ink)}
.split{display:grid;gap:44px;align-items:center;margin-top:44px}
@media(min-width:900px){.split{grid-template-columns:1.05fr .95fr}.split.rev > :first-child{order:2}}
.fig{margin:0}
.fig img{width:100%;height:auto;max-height:640px;object-fit:cover}
.fig figcaption{margin-top:10px;font-size:.84rem;color:var(--dim)}
.day .fig figcaption{color:var(--dim-day)}
.cards{display:grid;gap:1px;margin-top:44px;background:var(--line);border:1px solid var(--line)}
.day .cards{background:var(--line-day);border-color:var(--line-day)}
@media(min-width:820px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--night);display:flex;flex-direction:column;text-decoration:none;color:inherit}
.day .card{background:var(--stone)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s var(--ease)}
.card .ci{overflow:hidden}
.card:hover img{transform:scale(1.04)}
.card .cb{padding:22px 22px 26px;display:grid;gap:8px}
.card .k{font-size:.7rem;letter-spacing:.18em;font-weight:600;color:var(--lichen)}
.day .card .k{color:var(--ochre)}
.card h3{font-family:var(--f-display);font-weight:400;font-size:1.5rem;line-height:1.15}
.card p{font-size:.94rem;color:var(--dim)}
.day .card p{color:var(--dim-day)}
.card .more{font-size:.78rem;letter-spacing:.14em;font-weight:600;color:var(--bone);margin-top:6px}
.day .card .more{color:var(--ink)}
.stats3{display:grid;gap:0;margin-top:40px;border-top:1px solid var(--line)}
@media(min-width:820px){.stats3{grid-template-columns:repeat(3,1fr)}}
.stats3 div{padding:26px 22px 26px 0;border-bottom:1px solid var(--line)}
.stats3 b{display:block;font-family:var(--f-display);font-weight:300;font-size:clamp(2.6rem,2rem + 2.4vw,4rem);line-height:1;color:var(--lichen)}
.stats3 b small{font-family:var(--f-body);font-size:.32em;letter-spacing:.14em;color:var(--dim);margin-left:6px;font-weight:600}
.stats3 span{display:block;margin-top:10px;color:var(--dim);font-size:.95rem;max-width:34ch}
.timeline{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:0}
.timeline li{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line-day)}
@media(max-width:600px){.timeline li{grid-template-columns:1fr;gap:6px}}
.timeline b{font-family:var(--f-display);font-size:1.5rem;color:var(--ochre);font-weight:500}
.timeline h3{font-family:var(--f-body);font-size:.78rem;letter-spacing:.16em;font-weight:600}
.timeline p{color:var(--dim-day);margin-top:6px}
.teaser{background:var(--night-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.teaser .wrap{padding-block:72px;display:grid;gap:18px;justify-items:start}
.teaser h2{font-size:var(--step-2);max-width:24ch}
.nextrooms{padding-block:64px 80px}
.nextrooms .cards{margin-top:24px}
.portrait{margin:0;position:relative}
.portrait img{width:100%;max-width:440px;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%;filter:grayscale(.15)}
.portrait figcaption{margin-top:10px;font-size:.84rem;color:var(--dim-day)}
.pillars{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
@media(min-width:820px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillars div{background:var(--night);padding:30px 26px;display:grid;gap:10px;align-content:start}
.pillars b{font-family:var(--f-display);font-size:2rem;color:var(--lichen);font-weight:300}
.pillars h3{font-family:var(--f-display);font-weight:400;font-size:1.5rem}
.pillars p{color:var(--dim);font-size:.95rem}
/* news */
.posts{display:grid;gap:0;margin-top:40px}
.post{display:grid;gap:28px;padding-block:44px;border-top:1px solid var(--line-day)}
@media(min-width:900px){.post{grid-template-columns:340px 1fr}}
.post .pi img{width:100%;aspect-ratio:4/5;object-fit:cover}
.post time{font-size:.74rem;letter-spacing:.16em;font-weight:600;color:var(--ochre)}
.post h3{font-family:var(--f-display);font-weight:400;font-size:var(--step-2);line-height:1.1;margin-top:10px}
.post .prose{margin-top:16px}
.post .thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:20px}
.post .thumbs button{all:unset;cursor:zoom-in;display:block}
.post .thumbs img{width:100%;aspect-ratio:1;object-fit:cover}
.post .vids{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.post .vids a{font-size:.78rem;letter-spacing:.12em;font-weight:600;color:var(--ink);border:1px solid var(--line-day);padding:10px 14px;text-decoration:none}
.post .vids a:hover{border-color:var(--ochre)}
.newsrow{display:grid;gap:1px;background:var(--line-day);border:1px solid var(--line-day);margin-top:36px}
@media(min-width:820px){.newsrow{grid-template-columns:repeat(3,1fr)}}
.newsrow a{background:var(--stone);text-decoration:none;color:var(--ink);display:grid;gap:8px;padding:0 0 22px}
.newsrow img{width:100%;aspect-ratio:16/10;object-fit:cover}
.newsrow time{padding:0 20px;font-size:.72rem;letter-spacing:.16em;font-weight:600;color:var(--ochre)}
.newsrow h3{padding:0 20px;font-family:var(--f-display);font-weight:400;font-size:1.3rem;line-height:1.2}
/* gallery */
.gal{columns:3 280px;column-gap:10px;margin-top:40px}
.gal button{all:unset;display:block;margin:0 0 10px;cursor:zoom-in;break-inside:avoid;width:100%}
.gal img{width:100%;height:auto;display:block;transition:filter .3s}
.gal button:hover img{filter:brightness(1.08)}
.gal button:focus-visible{outline:2px solid var(--lichen);outline-offset:2px}
.lb{position:fixed;inset:0;z-index:90;background:rgba(8,7,6,.94);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.lb img{max-width:100%;max-height:86vh;object-fit:contain}
.lb p{color:var(--dim);font-size:.9rem;margin-top:10px;text-align:center}
.lb .x,.lb .pv,.lb .nx{position:absolute;background:rgba(14,13,11,.6);border:1px solid var(--line);color:var(--bone);width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:1.2rem}
.lb .x{top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}
.lb .pv{left:max(16px,env(safe-area-inset-left,0px));top:50%}
.lb .nx{right:max(16px,env(safe-area-inset-right,0px));top:50%}
/* contact */
.contact-grid{display:grid;gap:48px;margin-top:40px}
@media(min-width:900px){.contact-grid{grid-template-columns:.8fr 1.2fr}}
.cinfo{list-style:none;margin:0;padding:0}
.cinfo li{padding:18px 0;border-top:1px solid var(--line-day);display:grid;gap:4px}
.cinfo dt,.cinfo .k{font-size:.7rem;letter-spacing:.18em;font-weight:600;color:var(--ochre)}
.cinfo .v{font-family:var(--f-display);font-size:1.35rem;color:var(--ink);user-select:all}
.cinfo a.v{text-decoration:none;user-select:auto}
.cform{display:grid;gap:16px}
.cform label{display:grid;gap:6px;font-size:.8rem;letter-spacing:.06em;font-weight:600;color:var(--ink)}
.cform input,.cform select,.cform textarea{font:400 1rem var(--f-body);color:var(--ink);background:#f6f1e7;border:1px solid var(--line-day);padding:13px 14px;border-radius:2px;width:100%}
.cform textarea{min-height:160px;resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--ochre);outline-offset:0}
.cform .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;letter-spacing:0;font-size:.9rem}
.cform .chk input{width:auto;margin-top:3px}
.cform .out{min-height:1.3em;font-size:.9rem;color:var(--ochre)}
.cform .row2{display:grid;gap:16px}
@media(min-width:640px){.cform .row2{grid-template-columns:1fr 1fr}}
.portrait-real{margin:0;max-width:300px;justify-self:center}
.portrait-real img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 18%}

/* ===== footer v2: the sealed lintel ===== */
footer.ft{background:var(--night);color:var(--dim);font-size:.95rem;position:relative;overflow:hidden;padding:0}
footer.ft .wrap{display:grid;justify-content:initial;padding-block:0}
.ft-seal{display:flex;align-items:center;gap:22px;color:var(--lichen);padding:64px 32px 0;max-width:1240px;margin-inline:auto}
.ft-seal span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(214,169,51,.55))}
.ft-seal span:last-child{background:linear-gradient(270deg,transparent,rgba(214,169,51,.55))}
.ft-seal svg{width:20px;height:30px;flex:none}
.ft-grid{grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:48px 40px!important;padding-block:56px 40px!important}
.ft-brand{display:flex;gap:16px;align-items:center;color:var(--bone);text-decoration:none}
.ft-brand img{width:54px;height:auto}
.ft-brand b{font-family:var(--f-body);font-weight:700;font-size:.82rem;letter-spacing:.2em;line-height:1.5}
.ft-about p{margin-top:22px;max-width:34ch;line-height:1.65;font-size:.92rem}
.ft-col .label{margin-bottom:18px}
.ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ft-col ul a{color:var(--bone);text-decoration:none;background:linear-gradient(var(--lichen),var(--lichen)) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size .35s cubic-bezier(.2,.7,.2,1),color .2s}
.ft-col ul a:hover,.ft-col ul a:focus-visible{background-size:100% 1px;color:var(--lichen)}
.ft-mail{display:inline-flex;align-items:baseline;gap:12px;font-family:var(--f-display);font-size:clamp(1.35rem,2.2vw,1.75rem);color:var(--bone);text-decoration:none;border-bottom:1px solid rgba(233,226,211,.25);padding-bottom:6px;transition:color .2s,border-color .2s}
.ft-mail i{font-style:normal;color:var(--lichen);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.ft-mail:hover{color:var(--lichen);border-color:var(--lichen)}
.ft-mail:hover i{transform:translateX(6px)}
.ft-place{margin-top:12px;font-size:.88rem;letter-spacing:.04em}
.ft-soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ft-soc a{display:inline-flex;align-items:center;gap:9px;padding:10px 16px 10px 12px;border:1px solid rgba(233,226,211,.18);border-radius:999px;color:var(--bone);text-decoration:none;font-size:.85rem;letter-spacing:.06em;transition:border-color .2s,background .2s,color .2s}
.ft-soc a:hover,.ft-soc a:focus-visible{border-color:var(--lichen);background:rgba(214,169,51,.08);color:var(--lichen)}
.ft-soc svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.ft-soc svg .f{fill:currentColor;stroke:none}
.ft-word{font-family:var(--f-display);font-weight:600;font-size:clamp(3rem,13vw,13.5rem);line-height:.78;letter-spacing:-.02em;text-align:center;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(214,169,51,.28);background:linear-gradient(180deg,rgba(214,169,51,.10),transparent 85%);-webkit-background-clip:text;background-clip:text;user-select:none;margin-top:8px;height:.62em;overflow:hidden}
.ft-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px 24px!important;padding-block:22px 28px!important;border-top:1px solid rgba(233,226,211,.1);font-size:.8rem;letter-spacing:.04em}
.ft-coord{text-align:center;letter-spacing:.2em;font-size:.72rem;color:var(--lichen);opacity:.8}
.ft-top{justify-self:end;color:var(--bone);text-decoration:none;letter-spacing:.14em;font-size:.74rem;text-transform:uppercase}
.ft-top span{display:inline-block;transition:transform .3s}
.ft-top:hover{color:var(--lichen)}.ft-top:hover span{transform:translateY(-4px)}
@media (max-width:900px){.ft-grid{grid-template-columns:1fr 1fr}.ft-about,.ft-contact{grid-column:1/-1}}
@media (max-width:560px){.ft-bar{grid-template-columns:1fr;text-align:center}.ft-coord{order:-1}.ft-top{justify-self:center}.ft-seal{padding:48px 16px 0}}

/* ===== page heroes: same two-worlds stage ===== */
.hero2.page .stage{height:clamp(440px,66svh,680px);cursor:default}
.hero2.page .stage .stone{height:56%;top:16%;opacity:.95}
.hero2.page .stage::after{background:linear-gradient(180deg,rgba(14,13,11,.75) 0,rgba(14,13,11,0) 26%,rgba(14,13,11,0) 62%,var(--night) 100%)}
.hero2.page h1 em{font-style:italic;color:var(--lichen)}
.hero2.page .hero2-text{padding-block:20px 64px;align-items:start}
@media(min-width:900px){.hero2.page .h2t{padding-top:40px}}
.hero2.page .lede{color:#e6dfd1;max-width:56ch}
.hero2.page .factsrow{margin-top:0}
@media(max-width:700px){.hero2.page .stage{height:max(440px,62svh)}.hero2.page .stage .stone{top:auto;bottom:70px;height:46%}.hero2.page .layer.plate > img{inset:16% 8% 48% 12%}}
/* two windows: Ankh and Tyet side by side */
.hx-duo{display:flex;gap:clamp(14px,3.5vw,40px);justify-content:center;align-items:flex-start}
.hx-col{display:grid;justify-items:center;gap:14px}
.hx-duo .hx-shape{width:min(42vw,200px)}
.hx-shape.tyet .hx-win{-webkit-mask-image:url(img/h/tyet-mask.svg);mask-image:url(img/h/tyet-mask.svg)}
.hx-trace .arm{stroke-width:1.2;opacity:.55;animation-delay:1.6s}
.hx-duo .hx-cap{max-width:min(42vw,220px)}
.hx-duo .hx-cap b{font-size:clamp(.98rem,1.5vw,1.2rem)}
.hx.page .hx-duo .hx-shape{width:min(38vw,170px)}
@media(min-width:960px){.hx-duo .hx-shape{width:min(15vw,230px)}.hx.page .hx-duo .hx-shape{width:min(12vw,190px)}}
@media(max-width:420px){.nav .brand .bn b{font-size:.6rem;letter-spacing:.12em}.nav .brand img{width:30px}}
/* ===== inner pages v2: same world as the home page ===== */
.room.day{--stone:#14110b;--stone-2:#14110b;--ink:#efe8da;--dim-day:#a39a89;--line-day:rgba(239,232,218,.12);--ochre:#d6a933;background:radial-gradient(70% 50% at 50% 0%,rgba(214,169,51,.07),transparent 70%),#14110b;color:var(--ink)}
.room{position:relative}
.room + .room::before,.room + .teaser::before{content:"";position:absolute;left:50%;top:0;width:1px;height:56px;background:linear-gradient(var(--lichen),transparent)}
.room-head .roman{font-size:clamp(3.6rem,2.6rem + 4vw,6.4rem);font-weight:600;color:transparent;-webkit-text-stroke:1px rgba(214,169,51,.65);letter-spacing:.02em}
.day .room-head .roman{color:transparent}
.room-head h2 em{font-style:italic;color:var(--lichen)}
.room-head::after{content:"";width:64px;height:1px;background:var(--lichen);margin-top:6px}
.fig img{outline:1px solid rgba(214,169,51,.35);outline-offset:8px;filter:saturate(.92) contrast(1.04)}
.fig figcaption{font-style:italic;font-family:var(--f-display);font-size:.98rem}
.cards{gap:14px;background:none;border:0}
.day .cards{background:none}
.card{background:#171410;border:1px solid var(--line);transition:border-color .3s,transform .4s var(--ease),background .3s}
.day .card{background:#1a160f}
.card .ci{position:relative}
.card .ci::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,13,11,0) 55%,rgba(14,13,11,.55));pointer-events:none}
.card img{filter:saturate(.85) brightness(.9);transition:transform .8s var(--ease),filter .5s}
.card:hover,.card:focus-visible{border-color:var(--lichen);transform:translateY(-4px)}
.card:hover img{transform:scale(1.06);filter:none}
.card .more{color:var(--lichen)}
.day .card .more{color:var(--lichen)}
.card .more::after{content:"";display:inline-block;width:0;height:1px;background:var(--lichen);vertical-align:middle;margin-left:6px;transition:width .3s var(--ease)}
.card:hover .more::after{width:22px}
.stats3,.stats3 div{border-color:var(--line)}
.pillars{gap:14px;background:none;border:0}
.pillars div{border:1px solid var(--line);background:#171410}
.pillars b{color:transparent;-webkit-text-stroke:1px var(--lichen);font-weight:600;font-size:2.4rem}
.teaser{position:relative;background:var(--night);border:0}
.teaser .wrap{margin-block:clamp(56px,7vw,96px);padding:clamp(28px,5vw,56px)!important;border:1px solid rgba(214,169,51,.45);background:linear-gradient(135deg,rgba(214,169,51,.10),rgba(214,169,51,0) 60%);max-width:min(1176px,calc(100% - 32px))}
.teaser h2{font-weight:300}
.post{border-top:1px solid var(--line)}
.post .pi{position:relative}
.post .pi img{outline:1px solid rgba(214,169,51,.4);outline-offset:8px;transition:filter .4s}
.post .pi:hover img{filter:brightness(1.06)}
.post time{display:inline-block;border:1px solid rgba(214,169,51,.5);color:var(--lichen);padding:7px 10px}
.post h3{color:var(--bone)}
.post .thumbs img{transition:transform .4s var(--ease),filter .3s;filter:saturate(.85)}
.post .thumbs button:hover img{transform:scale(1.05);filter:none}
.post .vids a{color:var(--bone);border-color:var(--line)}
.post .vids a:hover{border-color:var(--lichen);color:var(--lichen)}
.gal img{filter:saturate(.85) brightness(.92);transition:filter .4s,transform .6s var(--ease)}
.gal button{overflow:hidden;outline:1px solid transparent;transition:outline-color .3s}
.gal button:hover{outline-color:var(--lichen)}
.gal button:hover img{filter:none;transform:scale(1.03)}
.nextrooms{border-top:1px solid var(--line)}
.cinfo a,.cform button{transition:color .2s}
/* ===== dance: the circle, slow and fast ===== */
.dance{background:radial-gradient(60% 60% at 25% 50%,rgba(214,169,51,.10),transparent 70%),var(--night);padding-block:clamp(72px,10vw,140px);border-top:1px solid var(--line)}
.dance-in{display:grid;gap:56px;align-items:center}
@media(min-width:960px){.dance-in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px}}
.ring{position:relative;width:min(78vw,440px);justify-self:center;aspect-ratio:1}
.ring svg{width:100%;height:100%;overflow:visible}
.ring .track{fill:none;stroke:rgba(214,169,51,.35);stroke-width:1;stroke-dasharray:2 7}
.ring .dancers{transform-origin:200px 200px;animation:spin 16s linear infinite}
.ring .dancers circle{fill:var(--lichen);filter:drop-shadow(0 0 8px rgba(214,169,51,.8))}
.ring .core{fill:var(--bone);opacity:.6}
@keyframes spin{0%{transform:rotate(0)}62%{transform:rotate(-90deg)}100%{transform:rotate(-360deg)}}
.tempo{position:absolute;inset:0;display:grid;place-items:center}
.tempo b{grid-area:1/1;font:600 .72rem/1 var(--f-body);letter-spacing:.32em;color:var(--lichen);animation:tempo 16s linear infinite}
.tempo .fast{opacity:0;animation-name:tempo2}
@keyframes tempo{0%,58%{opacity:1}62%,100%{opacity:0}}
@keyframes tempo2{0%,58%{opacity:0}62%,96%{opacity:1}100%{opacity:0}}
.dance h2{margin-top:16px}
.dq{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:0;counter-reset:d}
.dq li{counter-increment:d;position:relative;padding:22px 0 22px 56px;border-top:1px solid var(--line);font:300 clamp(1.25rem,1rem + 1.1vw,1.8rem)/1.35 var(--f-display);color:var(--bone)}
.dq li::before{content:"0" counter(d);position:absolute;left:0;top:28px;font:600 .72rem/1 var(--f-body);letter-spacing:.2em;color:var(--lichen)}
.dq b{font-weight:500;font-style:italic;color:var(--lichen)}
.dance .lede{margin-top:28px;max-width:52ch;color:var(--dim)}
.dance-cta{display:inline-block;margin-top:18px;font:600 .8rem/1 var(--f-body);letter-spacing:.2em;color:var(--lichen);text-decoration:none;border-bottom:1px solid rgba(214,169,51,.5);padding:10px 0}
.dance-cta span{display:inline-block;transition:transform .3s}.dance-cta:hover span{transform:translateX(6px)}
@media (prefers-reduced-motion:reduce){.ring .dancers,.tempo b{animation:none}.tempo .fast{display:none}}
.post h3 a{color:inherit;text-decoration:none;background:linear-gradient(var(--lichen),var(--lichen)) 0 100%/0 1px no-repeat;transition:background-size .35s,color .2s}.post h3 a:hover{color:var(--lichen);background-size:100% 1px}
/* article pages: big photo, small still Ankh & Tyet */
.hx.article{display:block;min-height:auto;padding-top:96px}
.art-hero{margin:0 auto;position:relative}
.art-hero img{display:block;width:100%;max-height:72vh;object-fit:contain;background:#000;outline:1px solid rgba(214,169,51,.45);outline-offset:10px;box-shadow:0 40px 80px rgba(0,0,0,.6)}
.hx.article .hx-grid{padding-block:44px 56px;align-items:center}
.hx.article .hx-duo{gap:14px}
.hx.article .hx-duo .hx-shape{width:min(20vw,96px)}
.hx.article .hx-duo .hx-cap b{font-size:.9rem}
.hx.article .hx-duo .hx-cap span{font-size:.58rem}
.hx.article .hx-text h1{font-size:clamp(2rem,1.4rem + 3vw,3.6rem);line-height:1.05}
@media(min-width:960px){.hx.article .hx-grid{grid-template-columns:auto minmax(0,1fr);gap:56px}.hx.article .hx-fig{order:0}.hx.article .hx-duo .hx-shape{width:110px}}
