
/* Layout: cinematic dark column with ivory interludes; the hero is a 10×10 field that opens onto the portrait. */
@font-face{font-family:Editorial;src:url('/s/fonts/serif.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:Manrope;src:url('/s/fonts/sans.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{
  --night:#0f1311; --forest:#1a1f1b; --moss:#242b25; --line:#2f3731;
  --ivory:#f3eee3; --paper:#ebe5d8; --ink:#1d201c; --stone:#6a675e;
  --gold:#c9ab74; --gold-hi:#e4c88e; --gold-deep:#7f6538; --mist:#a29d91;
  --serif:Editorial,"Cormorant Garamond",Georgia,serif; --sans:Manrope,"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img,video{display:block;max-width:100%}
.w{width:min(1280px,100%);margin:0 auto;padding-inline:clamp(16px,4vw,48px)}
.eb{font:600 11px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.015em;text-wrap:balance}
em{font-style:italic;color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:14px;height:52px;padding:0 28px;border-radius:999px;font:700 11.5px var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;transition:transform .3s var(--ease),background .3s}
.btn:hover{transform:translateY(-2px)}
.btn.gold{background:var(--gold);color:#16130d}.btn.gold:hover{background:var(--gold-hi)}
.btn.line{border:1px solid rgba(243,238,227,.28);color:var(--ivory);background:transparent}
.btn.dark{background:var(--ink);color:var(--ivory)}
.tl{display:inline-flex;gap:12px;align-items:center;font:500 13.5px var(--sans);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;opacity:.9}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .4s,backdrop-filter .4s}
.nav.solid{background:rgba(15,19,17,.78);backdrop-filter:blur(14px)}
.nav .w{display:flex;align-items:center;justify-content:space-between;height:76px}
.nav img{height:38px;width:auto}
.nav ul{display:flex;gap:34px;list-style:none;margin:0;padding:0;font:500 13.5px var(--sans)}
.nav ul a{text-decoration:none;opacity:.8}.nav ul a:hover{opacity:1;color:var(--gold)}
.nav .btn{height:42px;padding:0 20px;font-size:10.5px}
@media (max-width:900px){.nav ul{display:none}}

/* hero */
.hero{min-height:100svh;display:grid;align-items:center;padding-block:110px 60px;position:relative;
  background:radial-gradient(70% 60% at 72% 45%,rgba(201,171,116,.10),transparent 70%),var(--night)}
.hero .w{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,80px);align-items:center}
.hero h1{font-size:clamp(54px,8.4vw,128px);line-height:.9;margin:22px 0 26px}
.hero h1 em{display:block}
.four{font:400 clamp(20px,2.2vw,28px)/1.2 var(--serif);color:var(--gold);margin:0 0 18px;letter-spacing:.01em}
.lead{font-size:clamp(16px,1.3vw,18px);line-height:1.65;color:var(--mist);max-width:42ch;margin:0 0 36px}
.acts{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
.proof{display:flex;flex-wrap:wrap;gap:16px 36px;margin-top:54px;padding-top:24px;border-top:1px solid var(--line)}
.proof b{display:block;font:400 21px var(--serif);color:var(--ivory)}
.proof span{font-size:12px;color:var(--mist)}
.field{position:relative;justify-self:end;width:min(100%,560px);aspect-ratio:2/3}
.field canvas{width:100%;height:100%;display:block}
.field .cap{position:absolute;left:0;right:0;bottom:-34px;display:flex;justify-content:space-between;font:600 10.5px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mist)}
.field button{background:none;border:0;color:var(--gold);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}
@media (max-width:900px){.hero .w{grid-template-columns:1fr}.field{justify-self:center;width:min(100%,420px);order:-1;margin-bottom:44px}.hero{padding-block:96px 70px}}

/* statement */
.statement{padding-block:clamp(110px,16vw,220px);background:var(--night)}
.statement p{font:400 clamp(34px,5.4vw,82px)/1.06 var(--serif);margin:0;letter-spacing:-.02em;max-width:18ch}
.statement .wd{color:#4b514b;transition:color .5s}
.statement .wd.on{color:var(--ivory)}
.statement .wd.g.on{color:var(--gold);font-style:italic}

/* method */
.method{background:var(--forest);padding-block:clamp(90px,10vw,140px) clamp(70px,8vw,110px)}
.mhead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:46px}
.mhead h2{font-size:clamp(40px,5vw,74px);line-height:1}
.mhead p{color:var(--mist);font-size:16px;line-height:1.7;max-width:46ch;margin:0}
.film{position:relative;border-radius:4px;overflow:hidden;background:#000;box-shadow:0 40px 80px rgba(0,0,0,.4)}
.film video{width:100%;aspect-ratio:16/9;object-fit:cover}
.film .tag{position:absolute;left:18px;top:16px;font:600 10px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);background:rgba(15,19,17,.6);padding:7px 10px;border-radius:3px}
.strip{margin-top:56px}
.strip .top{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px;gap:20px}
.strip h3{font-size:30px}
.strip .ctrl{display:flex;gap:8px}
.strip .ctrl button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ivory);font-size:18px;cursor:pointer}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.rail figure{flex:0 0 clamp(200px,22vw,260px);margin:0;scroll-snap-align:start}
.rail img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:3px;transition:transform .5s var(--ease)}
.rail figure:hover img{transform:translateY(-6px)}
.rail figcaption{padding-top:12px;font-size:13px;color:var(--mist);line-height:1.45}
.rail figcaption b{display:block;color:var(--ivory);font:400 19px var(--serif);margin-bottom:2px}
@media (max-width:900px){.mhead{grid-template-columns:1fr}}

/* fields */
.fields{background:var(--ivory);color:var(--ink);padding-block:clamp(90px,10vw,150px)}
.fields .eb{color:var(--gold-deep)}
.fields em{color:var(--gold-deep)}
.fhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:50px}
.fhead h2{font-size:clamp(40px,5vw,74px);line-height:1}
.fhead p{max-width:36ch;color:var(--stone);font-size:15.5px;line-height:1.65;margin:0}
.row{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:30px;align-items:center;padding:30px 0;border-top:1px solid #d6cfc0;cursor:default}
.row:last-child{border-bottom:1px solid #d6cfc0}
.row .k{font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.row h3{font-size:clamp(24px,3vw,42px);line-height:1.12}
.row h3 span{color:#8a8478;transition:color .4s}
.row:hover h3 span,.row:focus-within h3 span{color:var(--gold-deep);font-style:italic}
.row .lv{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:300px}
.row .lv i{font:500 11.5px var(--sans);font-style:normal;padding:6px 10px;border:1px solid #d6cfc0;border-radius:999px;color:var(--stone);transition:all .35s}
.row:hover .lv i{border-color:var(--gold-deep);color:var(--ink)}
@media (max-width:900px){.row{grid-template-columns:1fr;gap:12px}.row .lv{justify-content:flex-start}}

/* ways */
.ways{background:var(--night);padding-block:clamp(100px,11vw,160px)}
.ways h2{font-size:clamp(42px,5.4vw,80px);line-height:1;margin:16px 0 64px}
.stairs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end}
.way{background:var(--forest);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .4s}
.way:hover{transform:translateY(-8px);border-color:rgba(201,171,116,.5)}
.way .img{overflow:hidden}
.way .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.way:hover .img img{transform:scale(1.05)}
.way .c{padding:30px 28px 30px;display:flex;flex-direction:column;gap:12px;flex:1}
.way .n{font:600 10.5px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.way h3{font-size:clamp(30px,3vw,42px);line-height:1}
.way p{color:var(--mist);font-size:15px;line-height:1.6;margin:0 0 10px}
.way .tl{margin-top:auto;align-self:flex-start;color:var(--ivory)}
.w1 .img{height:220px}.w1 .img img{object-fit:contain;background:#e2dccf;padding-top:18px}
.w2 .img{height:300px}
.w3 .img{height:420px}
.w3{background:linear-gradient(180deg,#221e15,#16140f);border-color:rgba(201,171,116,.4)}
.w3 h3{color:var(--gold-hi)}
.side{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:34px;font-size:14px;color:var(--mist)}
.side a{color:var(--ivory)}
@media (max-width:900px){.stairs{grid-template-columns:1fr}.w1 .img,.w2 .img,.w3 .img{height:260px}}

/* game */
.game{background:var(--forest);padding-block:clamp(90px,10vw,140px)}
.ghead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:34px}
.ghead h2{font-size:clamp(40px,5vw,72px);line-height:1}
.ghead p{color:var(--mist);font-size:15.5px;line-height:1.65;margin:0;max-width:44ch}
.gwrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.scen{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.scen button{font:600 11.5px var(--sans);letter-spacing:.06em;padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ivory);cursor:pointer}
.scen button[aria-pressed="true"]{background:var(--ivory);color:var(--night)}
.prob{font:italic 400 clamp(20px,2.2vw,26px)/1.25 var(--serif);margin:0 0 14px;color:var(--ivory)}
.board{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}
.cell{aspect-ratio:1.4;border:0;border-radius:3px;background:var(--moss);color:#d9d3c5;font:500 clamp(9px,1.05vw,12px)/1.2 var(--sans);padding:4px;cursor:pointer;transition:opacity .45s,background .35s,transform .25s,box-shadow .3s;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;hyphens:auto}
.cell:hover{box-shadow:inset 0 0 0 1px var(--gold)}
.cell.out{opacity:.18;cursor:default}
.cell.tried{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--mist);text-decoration:line-through;text-decoration-color:#d98b5b}
.cell.mark{box-shadow:inset 0 0 0 2px var(--gold)}
.cell.open{background:var(--paper);color:#3c3d38;box-shadow:none;text-decoration:none;opacity:1}
.cell.lever{background:var(--gold);color:#16130d;font-weight:700;transform:scale(1.06);opacity:1}
.gside{display:flex;flex-direction:column;gap:14px}
.panel{background:var(--night);border:1px solid var(--line);border-radius:4px;padding:18px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.stats b{display:block;font:400 30px/1 var(--serif);font-variant-numeric:tabular-nums}
.stats span{font-size:11px;color:var(--mist)}
.bar{height:3px;background:var(--line);border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;width:30%;background:var(--gold);transition:width .8s var(--ease)}
.panel h3{font-size:22px;margin-bottom:6px}
.panel p{font-size:13.5px;line-height:1.55;color:var(--mist);margin:0 0 14px}
.panel .btn{width:100%;justify-content:center;height:46px}
.panel .btn:disabled{opacity:.35;cursor:default;transform:none}
.glog{font-size:13px;color:var(--mist);margin:12px 0 0;min-height:38px;line-height:1.5}.glog b{color:var(--ivory)}
.gres{grid-column:1/-1;background:linear-gradient(180deg,#221e15,#16140f);border:1px solid rgba(201,171,116,.4);border-radius:4px;padding:26px 28px;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.gres[hidden]{display:none}
.gres h3{font-size:clamp(28px,3.4vw,40px);line-height:1.05;margin:6px 0 10px}
.gres p{color:var(--mist);font-size:15px;line-height:1.6;margin:0;max-width:56ch}
@media (max-width:900px){.ghead,.gwrap{grid-template-columns:1fr}}

/* nicolas */
.nico{background:var(--ivory);color:var(--ink)}
.nico .grid2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:900px}
.nico .ph{position:relative;overflow:hidden}
.nico .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.nico .tx{padding:clamp(60px,8vw,120px) clamp(20px,6vw,100px);display:flex;flex-direction:column;justify-content:center}
.nico .eb{color:var(--gold-deep)}.nico em{color:var(--gold-deep)}
.nico h2{font-size:clamp(42px,5vw,76px);line-height:1;margin:16px 0 22px}
.nico .intro{font-size:16.5px;line-height:1.7;color:var(--stone);max-width:46ch;margin:0 0 40px}
.time{list-style:none;margin:0;padding:0;display:grid;gap:0}
.time li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;padding:16px 0;border-top:1px solid #d6cfc0;align-items:baseline}
.time b{font:400 32px/1 var(--serif);color:var(--gold-deep)}
.time span{font-size:15px;line-height:1.5}
.time small{display:block;color:var(--stone);font-size:13px}
.nums{display:flex;flex-wrap:wrap;gap:18px 46px;margin-top:36px}
.nums b{display:block;font:400 40px/1 var(--serif)}
.nums span{font-size:12.5px;color:var(--stone)}
@media (max-width:900px){.nico .grid2{grid-template-columns:1fr}.nico .ph{min-height:520px}}

/* voices */
.voices{background:var(--night);padding-block:clamp(110px,12vw,170px);text-align:center}
.vq{min-height:300px;display:grid;place-items:center}
.vq figure{grid-area:1/1;margin:0;opacity:0;transition:opacity .9s;pointer-events:none}
.vq figure.on{opacity:1;pointer-events:auto}
.vq blockquote{font:400 clamp(28px,3.8vw,54px)/1.18 var(--serif);margin:0 auto 28px;max-width:24ch;letter-spacing:-.015em}
.vq figcaption{display:flex;gap:14px;align-items:center;justify-content:center;font-size:14px;color:var(--mist)}
.vq figcaption img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.vq figcaption b{color:var(--ivory);font-weight:600}
.dots{display:flex;justify-content:center;gap:10px;margin-top:36px}
.dots button{width:34px;height:3px;border:0;background:var(--line);cursor:pointer;padding:0}
.dots button[aria-current="true"]{background:var(--gold)}

/* book + media */
.duo{background:var(--forest);padding-block:clamp(90px,10vw,140px)}
.duo .w{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.tile{border:1px solid var(--line);border-radius:4px;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:14px;min-height:440px;position:relative;overflow:hidden;background:var(--night)}
.tile h3{font-size:clamp(32px,3.6vw,50px);line-height:1}
.tile p{color:var(--mist);font-size:15px;line-height:1.65;margin:0;max-width:40ch;position:relative;z-index:1}
.tile .tl{margin-top:auto;align-self:flex-start;position:relative;z-index:1}
.covers{position:absolute;right:-20px;bottom:-30px;display:flex}
.covers img{width:170px;box-shadow:0 30px 50px rgba(0,0,0,.5)}
.covers img+img{margin-left:-70px;margin-top:40px;transform:rotate(4deg)}
.quote{font:italic 400 24px/1.3 var(--serif);color:var(--gold);max-width:22ch;position:relative;z-index:1}
@media (max-width:900px){.duo .w{grid-template-columns:1fr}.covers{opacity:.35}}

/* final */
.final{position:relative;padding-block:clamp(140px,16vw,240px);text-align:center;overflow:hidden;background:var(--night)}
.final canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.final .w{position:relative}
.final h2{font-size:clamp(50px,8vw,120px);line-height:.95}
.final p{color:var(--mist);font-size:17px;margin:26px 0 40px}
.final .acts{justify-content:center}
footer{background:var(--night);border-top:1px solid var(--line);padding-block:44px 30px}
footer .w{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
footer img{height:44px;width:auto;margin-bottom:14px}
footer h4,footer h2.fh{font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
footer ul{list-style:none;margin:0;padding:0;font-size:13.5px;line-height:2;color:var(--mist)}
footer ul a{text-decoration:none}
footer .small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;font-size:11.5px;color:#6f6b62;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
@media (max-width:900px){footer .w{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- shared for subpages ---------- */
.nav ul a[aria-current="page"]{color:var(--gold);opacity:1}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ivory);transition:transform .3s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:26px}
.nav.open .burger span:first-child{transform:translateY(4.5px) rotate(45deg)}
.nav.open .burger span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.menu{display:none}
@media (max-width:900px){
  .burger{display:block}
  .nav .btn.gold{display:none}
  .menu{display:block;position:fixed;inset:0;background:var(--night);z-index:49;padding:calc(110px + env(safe-area-inset-top,0px)) 24px 40px;transform:translateY(-100%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s linear .5s;overflow:auto}
  .nav.open + .menu{transform:none;visibility:visible;transition:transform .5s var(--ease)}
  .menu a{display:block;font:400 40px/1.25 var(--serif);text-decoration:none;color:var(--ivory)}
  .menu a.sub{font:500 15px/2.2 var(--sans);color:var(--mist)}
  .menu .btn{margin-top:28px;font:700 11.5px var(--sans)}
}
.ribbon{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:60;background:var(--ivory);color:var(--ink);border-radius:999px;padding:10px 12px 10px 20px;display:flex;gap:14px;align-items:center;font-size:13.5px;box-shadow:0 20px 50px rgba(0,0,0,.4);max-width:calc(100% - 32px)}
.ribbon[hidden]{display:none}
.ribbon a{background:var(--ink);color:var(--ivory);border-radius:999px;padding:8px 14px;text-decoration:none;font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.ribbon button{background:none;border:0;color:var(--stone);font-size:18px;cursor:pointer;padding:0 4px}

.phero{padding-block:calc(140px + env(safe-area-inset-top,0px)) clamp(70px,8vw,110px);background:radial-gradient(60% 60% at 75% 40%,rgba(201,171,116,.08),transparent 70%),var(--night)}
.phero .w{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,80px);align-items:center}
.phero.solo .w{grid-template-columns:1fr}
.phero h1{font-size:clamp(48px,7vw,104px);line-height:.95;margin:20px 0 24px}
.phero .lead{margin-bottom:30px}
.phero figure{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:3px}
.phero figure img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.phero .w{grid-template-columns:1fr}.phero figure{aspect-ratio:4/3}}

.sec{padding-block:clamp(90px,10vw,150px)}
.sec.forest{background:var(--forest)}.sec.night{background:var(--night)}
.sec.light{background:var(--ivory);color:var(--ink)}
.sec.light .eb{color:var(--gold-deep)}.sec.light em{color:var(--gold-deep)}
.sec.light .muted,.sec.light p.l{color:var(--stone)}
.sec h2{font-size:clamp(38px,5vw,72px);line-height:1.02;margin:14px 0 22px}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,100px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
p.l{font-size:16.5px;line-height:1.7;color:var(--mist);max-width:50ch;margin:0 0 16px}
.muted{color:var(--mist)}

.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.steps4 li{border-top:1px solid var(--gold);padding-top:20px}
.steps4 span{font:600 11px var(--sans);letter-spacing:.2em;color:var(--gold)}
.steps4 h3{font-size:30px;margin:10px 0 8px}
.steps4 p{font-size:15px;line-height:1.6;color:var(--mist);margin:0}
.sec.light .steps4 li{border-color:var(--gold-deep)}.sec.light .steps4 span{color:var(--gold-deep)}.sec.light .steps4 p{color:var(--stone)}
@media (max-width:900px){.steps4{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps4{grid-template-columns:1fr}}

.grid10{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.grid10 figure{margin:0}
.grid10 img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:3px}
.grid10 figcaption{padding-top:10px;font-size:13px;color:var(--mist);line-height:1.45}
.grid10 figcaption b{display:block;color:var(--ivory);font:400 18px var(--serif)}
@media (max-width:900px){.grid10{grid-template-columns:repeat(2,minmax(0,1fr))}}

.cases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.case{border-top:1px solid #d6cfc0;padding-top:20px}
.case .k{font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.case h3{font-size:26px;line-height:1.15;margin:12px 0 10px}
.case p{font-size:14.5px;line-height:1.6;color:var(--stone);margin:0}
.note{font-size:12.5px;color:var(--stone);margin-top:34px;max-width:80ch;line-height:1.6}
@media (max-width:900px){.cases{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.cases{grid-template-columns:1fr}}

.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{background:var(--night);border:1px solid var(--line);border-radius:4px;padding:30px;display:flex;flex-direction:column;gap:12px}
.sec.night .card{background:var(--forest)}
.card .n{font:600 10.5px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.card h3{font-size:30px;line-height:1.05}
.card p{color:var(--mist);font-size:15px;line-height:1.6;margin:0}
.card .tl{margin-top:auto;align-self:flex-start}
.card ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px;color:var(--ivory)}
.card ul li{padding-left:22px;position:relative}.card ul li::before{content:"";position:absolute;left:0;top:.65em;width:12px;height:1px;background:var(--gold)}
@media (max-width:900px){.cards3{grid-template-columns:1fr}}

.faq{border-top:1px solid #d6cfc0;max-width:860px}
.faq details{border-bottom:1px solid #d6cfc0}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font:400 23px/1.3 var(--serif);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:20px;font:300 26px var(--sans);color:var(--gold-deep);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 22px;color:var(--stone);font-size:15.5px;line-height:1.7;max-width:64ch}

.dual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:18px}
.dual .card{min-height:420px}
.dual .card.year{padding:0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);background:linear-gradient(180deg,#221e15,#16140f);border-color:rgba(201,171,116,.4)}
.dual .card.year img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.dual .card.year .c{padding:34px;display:flex;flex-direction:column;gap:12px}
.dual h3{font-size:46px}
.sub{font:italic 400 22px/1.3 var(--serif);color:var(--gold)}
@media (max-width:900px){.dual,.dual .card.year{grid-template-columns:1fr}.dual .card.year img{height:300px}}

.quote-big{font:400 clamp(30px,4vw,56px)/1.15 var(--serif);max-width:22ch;margin:0 auto;text-align:center;letter-spacing:-.015em}
.disc{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 36px;margin-top:30px;font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}

/* forms */
.form{display:grid;gap:18px;background:var(--forest);border:1px solid var(--line);border-radius:4px;padding:clamp(22px,3vw,36px)}
.sec.light .form{background:#f8f5ee;border-color:#d6cfc0}
.field2{display:grid;gap:8px}
.field2 label,.field2 legend{font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.sec.light .field2 label,.sec.light .field2 legend{color:var(--stone)}
.field2 input,.field2 textarea,.field2 select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:inherit;font:400 16px var(--sans);padding:10px 0;border-radius:0}
.sec.light .field2 input,.sec.light .field2 textarea,.sec.light .field2 select{border-color:#cfc8b8}
.field2 textarea{border:1px solid var(--line);padding:12px;min-height:120px;resize:vertical;border-radius:3px}
.sec.light .field2 textarea{border-color:#cfc8b8}
.field2 input:focus,.field2 textarea:focus,.field2 select:focus{outline:none;border-color:var(--gold)}
.field2 select option{color:#1d201c}
fieldset{border:0;margin:0;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;cursor:pointer;text-transform:none;letter-spacing:0}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:9px 14px;border:1px solid var(--line);border-radius:999px;font:500 13.5px var(--sans);color:inherit;transition:.25s}
.sec.light .chips span{border-color:#cfc8b8}
.chips input:checked + span{background:var(--gold);border-color:var(--gold);color:#16130d}
.chips input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}
.range{display:flex;align-items:center;gap:14px}
.range input{flex:1;accent-color:var(--gold)}
.range b{font:400 30px var(--serif);min-width:40px;text-align:right}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--mist);text-transform:none;letter-spacing:0}
.sec.light .consent{color:var(--stone)}
.consent input{margin-top:3px;accent-color:var(--gold);width:18px;height:18px;flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fmsg{font-size:14px;line-height:1.5;min-height:20px;margin:0}
.fmsg.err{color:#e09a7a}.sec.light .fmsg.err{color:#a5492b}
.fdone{display:grid;gap:12px;padding:10px 0}
.fdone h3{font-size:36px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.row2{grid-template-columns:1fr}}

.copy{position:relative;background:var(--night);border:1px solid var(--line);border-radius:4px;padding:22px 22px 18px;font-size:15px;line-height:1.7;color:var(--ivory)}
.copy .h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font:600 10.5px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.copy button{background:none;border:1px solid var(--line);color:var(--ivory);border-radius:999px;padding:6px 12px;font:600 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.quotes .copy{font:400 22px/1.3 var(--serif)}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}

.keys{display:grid;gap:0;border-top:1px solid var(--line)}
.key{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);gap:30px;padding:30px 0;border-bottom:1px solid var(--line);align-items:baseline}
.key .n{font:600 11px var(--sans);letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
.key h3{font-size:clamp(28px,3vw,40px);line-height:1.05}
.key p{color:var(--mist);margin:0;font-size:15px;line-height:1.6}
@media (max-width:900px){.key{grid-template-columns:1fr;gap:8px}}

.prose{max-width:760px;font-size:16px;line-height:1.75;color:var(--ink)}
.prose h1{font-size:clamp(42px,6vw,72px);line-height:1;margin:0 0 24px}
.prose h2{font-size:30px;margin:44px 0 12px}
.prose h3{font-size:22px;margin:30px 0 8px}
.prose a{color:var(--gold-deep)}
.prose p,.prose li{color:#3a3c37}

.voice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vcard{background:var(--night);border:1px solid var(--line);border-radius:4px;padding:30px;display:flex;flex-direction:column;gap:20px}
.vcard blockquote{margin:0;font:400 24px/1.3 var(--serif)}
.vcard figcaption{display:flex;gap:12px;align-items:center;font-size:13.5px;color:var(--mist);margin-top:auto}
.vcard figcaption img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.vcard figcaption b{color:var(--ivory)}
@media (max-width:900px){.voice-grid{grid-template-columns:1fr}}

.travel{position:relative;min-height:620px;display:grid;align-items:end;overflow:hidden}
.travel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.travel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,19,17,.92) 0%,rgba(15,19,17,.6) 45%,rgba(15,19,17,.1) 100%)}
.travel .w{position:relative;z-index:1;padding-block:90px}
.travel h2{font-size:clamp(40px,5vw,72px);line-height:1;margin:14px 0 18px;max-width:14ch}

.teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;background:var(--night);border:1px solid var(--line);border-radius:4px;padding:clamp(26px,4vw,50px)}
.teaser .mini{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}
.teaser .mini i{aspect-ratio:1.4;border-radius:2px;background:var(--moss)}
.teaser .mini i.g{background:var(--gold)}
@media (max-width:900px){.teaser{grid-template-columns:1fr}}
.reader-wrap{background:var(--ivory);color:var(--ink);padding-block:60px 100px}
.sec.night .time li,.sec.forest .time li{border-color:var(--line)}
.sec.night .time small,.sec.forest .time small{color:var(--mist)}
.sec.night .time b,.sec.forest .time b{color:var(--gold)}
.nico h1 em{color:var(--gold-deep)}
.nico .tl{color:var(--ink)}
.fdone[hidden],.fbody[hidden]{display:none!important}
.reader-wrap .nmb-reader{color:var(--ink)}
[id]{scroll-margin-top:96px}
.steps4.s3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px}
@media (max-width:900px){.steps4.s3{grid-template-columns:1fr}}

.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--gold);color:var(--night);padding:10px 16px;border-radius:2px;font:600 13px var(--sans);text-decoration:none;transition:top .2s}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.dots button{height:24px;background:linear-gradient(var(--line),var(--line)) center/100% 3px no-repeat}
.dots button[aria-current="true"]{background:linear-gradient(var(--gold),var(--gold)) center/100% 3px no-repeat}
.side a{display:inline-block;padding-block:6px}
#replay{min-height:32px;padding-inline:6px}
img{height:auto}
.duo .tile:first-child p{max-width:30ch}
.covers{right:-36px;bottom:-56px}
.covers img{width:150px}
@media (max-width:900px){.covers{opacity:.22;right:-50px}}
@media (max-width:900px){.field{aspect-ratio:1/1;width:min(100%,400px)}.hero h1{font-size:clamp(46px,13vw,64px)}}
.cell{overflow-wrap:anywhere;word-break:normal}
@media (max-width:600px){.board{gap:4px}.cell{aspect-ratio:1;font-size:9px;line-height:1.12;padding:3px;letter-spacing:-.01em}}
.panel h2.ph{font-size:22px;margin-bottom:6px;line-height:1.15}
.final h1.h2{font-size:clamp(50px,8vw,120px);line-height:.95;margin:0}
@media (max-width:900px){.menu a.btn{display:inline-flex;align-items:center;justify-content:center;line-height:1;min-height:52px;padding:0 30px;margin-top:28px;color:var(--night)}}
