
:root{
  color-scheme: light;
  --white:#FBF8F2;
  --almond:#D6D1B9;
  --almond-2:#E8E4D3;
  --walnut:#6B4C37;
  --walnut-deep:#3E2A1D;
  --terracotta:#92362A;
  --ink:var(--walnut);
  --display:"Libre Caslon Display","Libre Caslon Text",Georgia,"Times New Roman",serif;
  --serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --sans:"Karla","Helvetica Neue",Arial,sans-serif;
  --gut:clamp(16px,4.5vw,72px);
  --ease:cubic-bezier(.76,0,.24,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:1.05rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance}
p{margin:0}
::selection{background:var(--terracotta);color:var(--white)}
:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}

/* type */
.display{font-family:var(--display);line-height:.96;letter-spacing:-.01em}
.h-hero{font-size:clamp(2.9rem,8.2vw,8.6rem)}
.h-1{font-size:clamp(2.6rem,6.4vw,6.4rem)}
.h-2{font-size:clamp(2rem,4.4vw,4.2rem);line-height:1.02}
.h-3{font-family:var(--serif);font-size:clamp(1.35rem,2.1vw,1.9rem);line-height:1.2}
.display em,.h-2 em,.h-1 em,.h-3 em{font-family:var(--serif);font-style:italic;font-weight:400}
.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.lede{font-size:clamp(1.05rem,1.35vw,1.3rem);line-height:1.5;max-width:34em}
.copy{max-width:38em}
.copy p+p{margin-top:1em}
.muted{opacity:.72}
.on-photo{color:var(--white)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.7em;padding:.95em 1.5em;border-radius:999px;font-family:var(--sans);font-size:.9rem;font-weight:500;letter-spacing:.02em;border:1px solid currentColor;transition:transform .5s var(--ease-out),background .4s,color .4s,border-color .4s;position:relative;overflow:hidden;white-space:nowrap}
.btn .arr{display:inline-block;transition:transform .5s var(--ease-out)}
.btn:hover .arr{transform:translateX(4px)}
.btn:hover{transform:translateY(-2px)}
.btn-fill{background:var(--terracotta);border-color:var(--terracotta);color:var(--white)}
.btn-fill:hover{background:#7d2d22;border-color:#7d2d22}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.75)}
.btn-ghost:hover{background:var(--white);color:var(--walnut)}
.btn-walnut{background:transparent;color:var(--walnut);border-color:var(--walnut)}
.btn-walnut:hover{background:var(--walnut);color:var(--white)}
.link-arrow{display:inline-flex;align-items:center;gap:.6em;font-weight:500;font-size:.95rem;position:relative}
.link-arrow::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .5s var(--ease-out)}
.link-arrow:hover::after{transform:scaleX(1)}

/* layout */
.wrap{padding-inline:var(--gut)}
.section{padding-block:clamp(5rem,10vw,9rem)}
.band-almond{background:var(--almond)}
.band-almond-2{background:var(--almond-2)}
.band-walnut{background:var(--walnut);color:var(--white)}
.band-terracotta{background:var(--terracotta);color:var(--white)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.5vw,2.5rem)}
@media (max-width:900px){.grid-2{grid-template-columns:1fr}}
.stack{display:grid;gap:1.4rem}
.rule{height:1px;background:currentColor;opacity:.25}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* word split */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.wi{display:inline-block;will-change:transform}

/* photo blocks */
.ph{position:relative;overflow:hidden;background:var(--almond)}
.ph img,.ph video{width:100%;height:100%;object-fit:cover}
.ph.r{border-radius:4px}
.ph-scrim::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(62,42,29,.18) 0%,rgba(62,42,29,0) 35%,rgba(62,42,29,.55) 100%);pointer-events:none}
.ph-hover img{transition:transform 1.2s var(--ease-out)}
.ph-hover:hover img{transform:scale(1.06)}

/* preloader */
#loader{position:fixed;inset:0;z-index:100;background:var(--white);display:grid;place-items:center;pointer-events:none}
#loader img{width:min(48vw,320px);height:auto;opacity:0}
#loader .bar{position:absolute;left:var(--gut);right:var(--gut);bottom:12vh;height:1px;background:var(--almond);overflow:hidden}
#loader .bar i{display:block;height:100%;width:100%;background:var(--terracotta);transform:scaleX(0);transform-origin:left}
#loader .tag{position:absolute;bottom:calc(12vh + 14px);left:var(--gut);opacity:0}

/* curtain */
#curtain{position:fixed;inset:0;z-index:90;background:var(--terracotta);transform:translateY(102%);display:grid;place-items:center;pointer-events:none}
#curtain img{width:min(44vw,300px);height:auto}

/* cursor */
#cursor{position:fixed;top:0;left:0;z-index:95;width:12px;height:12px;border-radius:50%;background:var(--terracotta);pointer-events:none;transform:translate(-50%,-50%);display:grid;place-items:center;transition:width .45s var(--ease-out),height .45s var(--ease-out),background .3s}
#cursor span{font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--white);opacity:0;transition:opacity .3s;white-space:nowrap}
#cursor.big{width:92px;height:92px;background:rgba(146,54,42,.92)}
#cursor.big span{opacity:1}
@media (hover:none){#cursor{display:none}}

/* nav */
#nav{position:fixed;top:0;left:0;right:0;z-index:80;padding:calc(env(safe-area-inset-top,0px) + 18px) var(--gut) 18px;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:background .5s,padding .5s,box-shadow .5s;color:var(--white)}
#nav::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(62,42,29,.35),rgba(62,42,29,0));pointer-events:none;transition:opacity .5s}
#nav .logo{position:relative;display:block;height:26px}
#nav .logo img{height:100%;width:auto}
#nav .logo .lw{display:none}
#nav .links{position:relative;display:flex;gap:2.2rem;font-size:.9rem;font-weight:500}
#nav .links a{position:relative;padding:.3em 0}
#nav .links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}
#nav .links a:hover::after,#nav .links a.active::after{transform:scaleX(1)}
#nav .right{position:relative;display:flex;align-items:center;gap:1.2rem;font-size:.85rem}
#nav .lang{display:flex;gap:.5em;letter-spacing:.08em}
#nav .lang b{font-weight:600}
#nav .lang span{opacity:.6;cursor:pointer}
#nav .cta{padding:.7em 1.2em;font-size:.82rem}
#nav.solid{background:rgba(251,248,242,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--walnut);padding-block:12px;box-shadow:0 1px 0 rgba(107,76,55,.12)}
#nav.solid::before{opacity:0}
#nav.solid .logo .la{display:none}
#nav.solid .logo .lw{display:block}
#nav.solid .cta{background:var(--terracotta);border-color:var(--terracotta);color:var(--white)}
#nav.on-light{color:var(--walnut)}
#nav.on-light::before{opacity:0}
#nav.on-light .logo .la{display:none}
#nav.on-light .logo .lw{display:block}
#nav.on-light .cta{background:var(--terracotta);border-color:var(--terracotta);color:var(--white)}
#nav .burger{display:none;width:40px;height:40px;position:relative}
#nav .burger i{position:absolute;left:8px;right:8px;height:1.5px;background:currentColor;top:15px}
#nav .burger i+i{top:24px}
@media (max-width:900px){
  #nav .links,#nav .lang{display:none}
  #nav .burger{display:block}
}
#menu{position:fixed;inset:0;z-index:85;background:var(--almond);color:var(--walnut);display:grid;align-content:center;padding:var(--gut);gap:1.2rem;transform:translateY(-100%);transition:transform .7s var(--ease)}
#menu.open{transform:none}
#menu a{font-family:var(--display);font-size:clamp(2.2rem,9vw,4rem);line-height:1.05}
#menu .close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 22px);right:var(--gut);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}

/* views */
.view[hidden]{display:none}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:calc(var(--gut) + 2rem) var(--gut) clamp(2.5rem,6vh,5rem);color:var(--white);overflow:hidden;background:var(--walnut)}
.hero .bg{position:absolute;inset:-8% 0;z-index:0}
.hero .bg img,.hero .bg video{width:100%;height:100%;object-fit:cover}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(62,42,29,.15) 0%,rgba(62,42,29,0) 40%,rgba(62,42,29,.62) 100%)}
.hero .inner{position:relative;z-index:1;width:100%;display:grid;gap:1.6rem}
.hero .eyebrow{opacity:.9}
.hero .sub{max-width:30em;font-size:clamp(1rem,1.3vw,1.25rem)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:.8rem}
.hero .scroll{position:absolute;right:var(--gut);bottom:clamp(2.5rem,6vh,5rem);display:flex;align-items:center;gap:.8rem;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;z-index:1}
.hero .scroll i{display:block;width:1px;height:56px;background:rgba(255,255,255,.7);position:relative;overflow:hidden}
.hero .scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--white);animation:drop 1.8s var(--ease) infinite}
@keyframes drop{0%{top:-100%}60%{top:100%}100%{top:100%}}
@media (max-width:900px){.hero .scroll{display:none}}

/* DOORS */
.doors{display:flex;min-height:100svh;background:var(--walnut-deep)}
.door{position:relative;flex:1;min-height:100svh;overflow:hidden;color:var(--white);transition:flex 1s var(--ease);display:flex;align-items:flex-end;padding:var(--gut);cursor:pointer}
.door .bg{position:absolute;inset:0;z-index:0}
.door .bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.4s var(--ease-out)}
.door .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(62,42,29,.05) 0%,rgba(62,42,29,.15) 50%,rgba(62,42,29,.72) 100%);transition:opacity .6s}
.door .in{position:relative;z-index:1;display:grid;gap:1rem;max-width:30em}
.door .in .h-1{transition:transform .8s var(--ease-out)}
.door .in p{max-width:26em;opacity:.92}
.door .go{margin-top:.4rem}
.door .tag{position:absolute;top:calc(var(--gut) + 70px);left:var(--gut);z-index:1;display:flex;align-items:center;gap:.8rem}
.door .tag i{display:block;width:34px;height:1px;background:currentColor}
.doors:hover .door{flex:.8}
.doors .door:hover{flex:1.5}
.door:hover .bg img{transform:scale(1.12)}
.door:hover .in .h-1{transform:translateY(-6px)}
.door+.door{border-left:1px solid rgba(255,255,255,.14)}
@media (max-width:900px){
  .doors{flex-direction:column;min-height:0}
  .door{min-height:72svh;flex:none!important}
  .door+.door{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  .door .tag{top:var(--gut)}
}

/* FOUR */
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(107,76,55,.25)}
.four .item{display:grid;gap:1rem;align-content:start;padding:2rem 0;transition:padding-left .5s var(--ease-out)}
.four .item+.item{border-left:1px solid rgba(107,76,55,.25);padding-left:1.6rem}
.four .item:not(:last-child){padding-right:1.6rem}
.four .item h3{font-size:1.6rem;line-height:1.1}
.four .item p{font-size:.98rem}
.four .item .link-arrow{color:var(--terracotta);font-size:.9rem}
@media (max-width:1000px){.four{grid-template-columns:1fr 1fr}.four .item:nth-child(3){border-left:0;padding-left:0;border-top:1px solid rgba(107,76,55,.25)}.four .item:nth-child(2){padding-right:0}.four .item:nth-child(4){border-top:1px solid rgba(107,76,55,.25)}}
@media (max-width:600px){.four{grid-template-columns:1fr}.four .item+.item{border-left:0;padding-left:0;border-top:1px solid rgba(107,76,55,.25)}.four .item{padding-right:0!important}}

/* WHO */
.who{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,7rem);align-items:start}
.who .txt{position:sticky;top:18vh;display:grid;gap:2rem}
.who .imgs{display:grid;gap:1.4rem;padding-top:6vh}
.who .imgs .ph{aspect-ratio:3/4}
.who .imgs .ph:nth-child(2){width:72%;margin-left:auto;margin-top:-10%;aspect-ratio:4/5}
@media (max-width:900px){.who{grid-template-columns:1fr}.who .txt{position:static}.who .imgs .ph:nth-child(2){margin-top:0}}

/* LANDS horizontal */
.lands{position:relative;overflow:hidden;background:var(--walnut-deep);color:var(--white)}
.lands .head{position:absolute;top:calc(var(--gut) + 64px);left:var(--gut);z-index:3;display:grid;gap:.6rem;pointer-events:none;mix-blend-mode:normal}
.lands .track{display:flex;height:100svh;will-change:transform}
.land{position:relative;flex:0 0 auto;width:min(86vw,1200px);height:100%;overflow:hidden;display:flex;align-items:flex-end;padding:var(--gut);border-right:1px solid rgba(255,255,255,.12)}
.land:last-child{width:100vw}
.land .bg{position:absolute;inset:0}
.land .bg img,.land .bg video{width:100%;height:100%;object-fit:cover}
.land .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(62,42,29,.05),rgba(62,42,29,0) 45%,rgba(62,42,29,.66))}
.land .in{position:relative;z-index:1;display:grid;gap:1rem;max-width:34em}
.land .in p{opacity:.92;max-width:28em}
.lands .prog{position:absolute;left:var(--gut);right:var(--gut);bottom:calc(var(--gut) * .5);height:1px;background:rgba(255,255,255,.25);z-index:3}
.lands .prog i{display:block;height:100%;background:var(--white);width:0}
@media (max-width:900px){
  .lands .track{flex-direction:column;height:auto}
  .land,.land:last-child{width:100%;height:78svh;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .lands .head{position:static;padding:var(--gut) var(--gut) 1rem}
  .lands .prog{display:none}
}

/* DAY */
.day{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);min-height:100svh;align-items:center}
.day .list{display:grid;gap:0}
.day .row{display:grid;grid-template-columns:7.5em 1fr;gap:1.2rem;padding:1.05rem 0;border-top:1px solid rgba(107,76,55,.18);transition:color .5s,opacity .5s;opacity:.45;align-items:baseline}
.day .row:last-child{border-bottom:1px solid rgba(107,76,55,.18)}
.day .row .t{font-family:var(--serif);font-size:1.15rem}
.day .row .d{font-size:1rem;line-height:1.4}
.day .row.on{opacity:1;color:var(--terracotta)}
.day .row.on .d{color:var(--walnut)}
.day .frames{position:relative;aspect-ratio:3/4;max-height:78svh;overflow:hidden;border-radius:4px;background:var(--almond)}
.day .frames .ph{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease-out),transform 1.6s var(--ease-out)}
.day .frames .ph.on{opacity:1;transform:none}
.day .frames .cap{position:absolute;left:1.2rem;bottom:1.1rem;z-index:2;color:var(--white);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 8px rgba(62,42,29,.5)}
@media (max-width:900px){
  .day{grid-template-columns:1fr;min-height:0}
  .day .frames{aspect-ratio:4/5;max-height:none}
  .day .row{opacity:1}
}

/* MARQUEE */
.marquee{overflow:hidden;white-space:nowrap;padding-block:1.4rem;border-top:1px solid rgba(107,76,55,.18);border-bottom:1px solid rgba(107,76,55,.18)}
.marquee .tr{display:inline-flex;gap:0;animation:mq 34s linear infinite}
.marquee .tr span{font-family:var(--display);font-size:clamp(2.2rem,5.5vw,5.2rem);line-height:1;padding-inline:.5em}
.marquee .tr span em{font-family:var(--serif);font-style:italic;color:var(--terracotta)}
.marquee .tr span i{font-style:normal;color:var(--terracotta);font-family:var(--sans);font-size:.5em;vertical-align:middle}
@keyframes mq{to{transform:translateX(-50%)}}
.marquee.on-dark{border-color:rgba(255,255,255,.18)}

/* TWO WAYS cards */
.ways{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.way{position:relative;padding:clamp(1.6rem,3vw,2.6rem);background:var(--white);border-radius:6px;display:grid;gap:1rem;align-content:start;min-height:20rem;overflow:hidden;transition:transform .7s var(--ease-out),box-shadow .7s}
.way:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(62,42,29,.4)}
.way .h-2{font-size:clamp(1.8rem,3vw,2.8rem)}
.way p{max-width:28em}
.way .ph{position:absolute;right:-8%;bottom:-18%;width:46%;aspect-ratio:3/4;border-radius:4px;transform:rotate(-4deg);opacity:.95;transition:transform .9s var(--ease-out)}
.way:hover .ph{transform:rotate(-1deg) translateY(-8px)}
.way .in{position:relative;z-index:1;display:grid;gap:1rem;max-width:60%}
@media (max-width:900px){.ways{grid-template-columns:1fr}.way .in{max-width:100%}.way .ph{display:none}}

/* FOOTER */
footer{background:var(--walnut);color:var(--almond-2);padding:clamp(4rem,8vw,7rem) var(--gut) 2rem;display:grid;gap:3rem}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;align-items:start}
footer .wordmark{width:min(70vw,420px)}
footer h4{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.65;margin-bottom:1rem}
footer .col{display:grid;gap:.5rem;font-size:.98rem}
footer .col a:hover{color:var(--white);text-decoration:underline;text-underline-offset:4px}
footer .bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;opacity:.65;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14)}
@media (max-width:900px){footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .top{grid-template-columns:1fr}}

/* HOST hero */
.hhero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,6rem);align-items:end;min-height:92svh;padding-top:calc(var(--gut) + 5rem)}
.hhero .txt{display:grid;gap:1.6rem;padding-bottom:clamp(2rem,6vh,5rem)}
.hhero .h-hero{font-size:clamp(2.6rem,6.2vw,6.2rem)}
.hhero .vis{position:relative;height:min(78svh,820px);min-height:420px}
.hhero .vis .ph.a{position:absolute;inset:0 0 0 12%;border-radius:4px}
.hhero .vis .ph.b{position:absolute;left:-4%;bottom:6%;width:40%;aspect-ratio:4/5;border-radius:4px;box-shadow:0 30px 60px -30px rgba(62,42,29,.5)}
@media (max-width:900px){.hhero{grid-template-columns:1fr;min-height:0}.hhero .vis{height:64svh}.hhero .vis .ph.a{inset:0}.hhero .vis .ph.b{display:none}}

/* PROBLEM */
.problem{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.problem .lines{display:grid;gap:.9rem;font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.55rem);line-height:1.35}
.problem .lines p{padding-left:1.4rem;border-left:1px solid rgba(107,76,55,.35)}
@media (max-width:900px){.problem{grid-template-columns:1fr}}

/* WHO DOES WHAT */
.wdw{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(107,76,55,.25)}
.wdw .col{padding:2rem 0}
.wdw .col+.col{border-left:1px solid rgba(107,76,55,.25);padding-left:clamp(1.5rem,4vw,4rem)}
.wdw .col:first-child{padding-right:clamp(1.5rem,4vw,4rem)}
.wdw .col h3{margin-bottom:1.4rem}
.wdw ul{list-style:none;margin:0;padding:0;display:grid}
.wdw li{padding:1rem 0;border-top:1px solid rgba(107,76,55,.15);font-size:1.05rem;display:flex;gap:1rem;align-items:baseline}
.wdw li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--almond);flex:none;transform:translateY(-2px)}
.wdw .col.terra li::before{background:var(--terracotta)}
@media (max-width:640px){.wdw{grid-template-columns:1fr}.wdw .col+.col{border-left:0;padding-left:0;border-top:1px solid rgba(107,76,55,.25)}.wdw .col:first-child{padding-right:0}}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.step{position:relative;padding:2rem 1.6rem;background:var(--white);border-radius:6px;display:grid;gap:1rem;align-content:start;min-height:16rem}
.step .n{font-family:var(--display);font-size:3.4rem;line-height:1;color:var(--terracotta)}
.step h3{font-size:1.5rem}
.step p{font-size:.98rem}
@media (max-width:1000px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* LAND CARDS */
.lcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.lcard{display:grid;gap:1rem}
.lcard .ph{aspect-ratio:4/5;border-radius:4px}
.lcard h3{font-size:1.6rem}
.lcard p{font-size:.98rem}
@media (max-width:800px){.lcards{grid-template-columns:1fr}.lcard .ph{aspect-ratio:16/10}}

/* FORMATS */
.formats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(107,76,55,.25)}
.fmt{padding:2.2rem 0;display:grid;gap:1rem;align-content:start}
.fmt+.fmt{border-left:1px solid rgba(107,76,55,.25);padding-left:2rem}
.fmt:not(:last-child){padding-right:2rem}
.fmt .len{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracotta);font-weight:500}
.fmt h3{font-size:2rem}
@media (max-width:800px){.formats{grid-template-columns:1fr}.fmt+.fmt{border-left:0;border-top:1px solid rgba(107,76,55,.25);padding-left:0}.fmt:not(:last-child){padding-right:0}}

/* BRIDGE */
.bridge{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:center}
.bridge .ph{aspect-ratio:4/5;border-radius:4px;max-height:70svh}
@media (max-width:900px){.bridge{grid-template-columns:1fr}}

/* FAQ */
.faq{display:grid;border-top:1px solid rgba(107,76,55,.25);max-width:52rem}
.faq details{border-bottom:1px solid rgba(107,76,55,.25)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.3rem 0;font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.4rem)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:26px;height:26px;border:1px solid currentColor;border-radius:50%;position:relative;transition:transform .5s var(--ease-out)}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg)}
.faq details p{padding:0 0 1.4rem;max-width:40em}

/* FORM */
.form{display:grid;gap:1.1rem;max-width:44rem}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.form label{display:grid;gap:.4rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.form input,.form select,.form textarea{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;font-weight:400;padding:.9em 1em;border:1px solid rgba(107,76,55,.35);background:var(--white);color:var(--walnut);border-radius:4px;width:100%}
.form textarea{min-height:7rem;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--terracotta);outline:none}
.form .actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.form .ok{font-family:var(--serif);font-style:italic;color:var(--terracotta)}
@media (max-width:640px){.form .two{grid-template-columns:1fr}}

/* JOURNEYS */
.jcards{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.jcard{position:relative;border-radius:6px;overflow:hidden;min-height:34rem;display:flex;align-items:flex-end;color:var(--white);background:var(--walnut)}
.jcard .bg{position:absolute;inset:0}
.jcard .bg img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.jcard .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(62,42,29,0) 30%,rgba(62,42,29,.78) 100%)}
.jcard:hover .bg img{transform:scale(1.06)}
.jcard.solid{background:var(--walnut)}
.jcard.solid.t{background:var(--terracotta)}
.jcard.solid .bg{display:none}
.jcard .in{position:relative;z-index:1;padding:clamp(1.6rem,3vw,2.4rem);display:grid;gap:.9rem;width:100%}
.jcard .meta{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.85rem;letter-spacing:.04em;opacity:.95}
.jcard .pill{display:inline-block;padding:.35em .8em;border-radius:999px;border:1px solid rgba(255,255,255,.6);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.jcard .pill.hot{background:var(--white);color:var(--terracotta);border-color:var(--white)}
.jcard .h-2{font-size:clamp(2.2rem,4vw,3.6rem)}
.jcard.solid .big{position:absolute;right:-.1em;top:-.2em;font-family:var(--display);font-size:clamp(9rem,22vw,20rem);line-height:.8;opacity:.14;pointer-events:none;letter-spacing:-.04em}
.jcard .ctas{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.4rem}
@media (max-width:900px){.jcards{grid-template-columns:1fr}.jcard{min-height:26rem}}

.been{display:grid;border-top:1px solid rgba(255,255,255,.18)}
.been .rowb{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.18);font-family:var(--display);font-size:clamp(1.8rem,4.2vw,3.8rem);line-height:1.05;transition:padding-left .5s var(--ease-out),color .4s}
.been .rowb .nm{font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;opacity:1}
.been .rowb span{font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.been .rowb:hover{padding-left:.4em;color:var(--white)}
.been .rowb:hover span{opacity:1}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:center}
.split .ph{aspect-ratio:4/5;border-radius:4px;max-height:76svh}
@media (max-width:900px){.split{grid-template-columns:1fr}}

.lists{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem)}
.lists ul{list-style:none;margin:0;padding:0;display:grid}
.lists li{padding:.9rem 0;border-top:1px solid rgba(107,76,55,.18)}
.lists h3{margin-bottom:.8rem}
@media (max-width:700px){.lists{grid-template-columns:1fr}}

/* toast */
#toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);transform:translate(-50%,20px);z-index:96;background:var(--walnut);color:var(--white);padding:.9em 1.4em;border-radius:999px;font-size:.9rem;opacity:0;pointer-events:none;transition:opacity .4s,transform .5s var(--ease-out)}
#toast.show{opacity:1;transform:translate(-50%,0)}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important}
  .hero .scroll{display:none}
}


/* ---------- bilingual ---------- */
[data-lang]:not(.on){display:none!important}
#nav .lang button{font:inherit;letter-spacing:.08em;opacity:.55;padding:.2em .1em}
#nav .lang button.on{opacity:1;font-weight:600}
#nav .lang button:hover{opacity:1}
@media (max-width:1180px){#nav .links{gap:1.4rem;font-size:.84rem}#nav .right{gap:.9rem}}
@media (max-width:1000px){#nav .links{gap:1.1rem;font-size:.8rem}#nav .cta{display:none}}
#menu .mlinks{display:grid;gap:1.2rem}

/* ---------- home trips strip ---------- */
.jhead{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:end;margin-bottom:2rem}
.jhead .r{display:grid;gap:1rem;justify-items:start}
.jstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.jmini{position:relative;border-radius:6px;overflow:hidden;min-height:24rem;display:flex;align-items:flex-end;color:var(--white);background:var(--walnut);cursor:pointer;text-align:left}
.jmini .bg{position:absolute;inset:0}
.jmini .bg img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.jmini .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(62,42,29,0) 35%,rgba(62,42,29,.78) 100%)}
.jmini:hover .bg img{transform:scale(1.06)}
.jmini .in{position:relative;z-index:1;padding:1.4rem;display:grid;gap:.5rem;width:100%}
.jmini .pill{display:inline-block;padding:.3em .7em;border-radius:999px;border:1px solid rgba(255,255,255,.6);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;justify-self:start}
.jmini .pill.hot{background:var(--white);color:var(--terracotta);border-color:var(--white)}
.jmini h3{font-size:1.7rem;line-height:1.05}
.jmini .meta{font-size:.82rem;opacity:.9}
.jmini .link-arrow{font-size:.85rem;margin-top:.3rem}
@media (max-width:1100px){.jstrip{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .jhead{grid-template-columns:1fr}
  .jstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .jstrip::-webkit-scrollbar{display:none}
  .jmini{flex:0 0 74vw;scroll-snap-align:start;min-height:19rem}
}
.jcard{cursor:pointer}
.jcard .ctas .btn{pointer-events:none}

/* ---------- contact (home) ---------- */
.contact{position:relative;overflow:hidden;background:var(--walnut-deep);color:var(--white)}
.contact .bg{position:absolute;inset:0;opacity:.28}
.contact .bg img{width:100%;height:100%;object-fit:cover}
.contact .bg::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 70% 30%,rgba(146,54,42,.55),rgba(62,42,29,0) 70%)}
.contact .inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.contact .head{display:grid;gap:1.2rem}
.contact .sub{font-size:clamp(1.05rem,1.35vw,1.3rem);opacity:.9;max-width:26em}
.contact .panel{background:rgba(251,248,242,.06);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:clamp(1.2rem,2.4vw,2rem);backdrop-filter:blur(6px)}
.modes{display:flex;gap:.6rem;flex-wrap:wrap}
.mode{flex:1;min-width:12rem;padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.4);border-radius:6px;font-family:var(--serif);font-size:1.15rem;text-align:left;color:var(--white);transition:background .4s,border-color .4s,color .4s;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.mode span{font-family:var(--sans);font-size:.85rem;opacity:.7;transition:transform .4s var(--ease-out)}
.mode:hover{border-color:var(--white)}
.mode.on{background:var(--white);color:var(--walnut);border-color:var(--white)}
.mode.on span{transform:rotate(90deg);opacity:1}
.cform{display:grid;gap:.8rem;margin-top:1.2rem}
.cform[hidden]{display:none}
.cform input,.cform select,.cform textarea{font:inherit;font-size:1rem;padding:.95em 1em;border:1px solid rgba(255,255,255,.35);background:rgba(251,248,242,.08);color:var(--white);border-radius:4px;width:100%}
.cform input::placeholder,.cform textarea::placeholder{color:rgba(251,248,242,.6)}
.cform select{color:rgba(251,248,242,.85)}
.cform select option{color:var(--walnut)}
.cform textarea{min-height:6.5rem;resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--white);outline:none}
.cform .check{display:flex;align-items:center;gap:.6rem;font-size:.85rem;opacity:.85}
.cform .check input{width:auto}
.cform .actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
.cform .ok{font-family:var(--serif);font-style:italic;opacity:.9}
.contact .btn-fill{background:var(--white);color:var(--walnut);border-color:var(--white)}
.contact .btn-fill:hover{background:var(--almond);border-color:var(--almond)}
@media (max-width:900px){.contact .inner{grid-template-columns:1fr}}

/* ---------- host: why us ---------- */
.why{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.why .stack .eyebrow{color:var(--terracotta)}
.why ol{list-style:none;margin:0;padding:0;display:grid;counter-reset:t}
.why li{padding:1rem 0 1rem 2.2rem;border-top:1px solid rgba(107,76,55,.2);font-family:var(--serif);font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.35;position:relative;counter-increment:t}
.why li:last-child{border-bottom:1px solid rgba(107,76,55,.2)}
.why li::before{content:"";position:absolute;left:0;top:1.55rem;width:1.2rem;height:1px;background:var(--terracotta)}
@media (max-width:900px){.why{grid-template-columns:1fr}}

/* ---------- host: how it works (accordion) ---------- */
.hsteps{display:grid;border-top:1px solid rgba(107,76,55,.25)}
.hstep{border-bottom:1px solid rgba(107,76,55,.25)}
.hstep summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:3.2rem 1fr auto;gap:1.2rem;align-items:baseline;padding:1.5rem 0}
.hstep summary::-webkit-details-marker{display:none}
.hstep .n{font-family:var(--display);font-size:1.1rem;color:var(--terracotta);letter-spacing:.04em}
.hstep .t{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.05}
.hstep .ic{width:30px;height:30px;border:1px solid currentColor;border-radius:50%;position:relative;transition:transform .5s var(--ease-out);align-self:center}
.hstep .ic::before,.hstep .ic::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.hstep .ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.hstep[open] .ic{transform:rotate(45deg)}
.hstep .body{padding:0 0 2.4rem 4.4rem;display:grid;gap:1.4rem}
.hstep .lead{max-width:40em}
.fmts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.fmtc{background:var(--white);border:1px solid rgba(107,76,55,.14);border-radius:6px;padding:1.5rem;display:grid;gap:.7rem;align-content:start}
.fmtc .tag{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracotta);font-weight:500}
.fmtc h4{font-family:var(--display);font-size:1.6rem;line-height:1.1;font-weight:400;margin:0}
.fmtc p{font-size:.95rem}
.fmtc .inc{border-top:1px solid rgba(107,76,55,.18);padding-top:.8rem;font-size:.85rem}
.fmtc .inc b{display:block;font-weight:500;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.3rem;opacity:.7}
.locs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.loc{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/5;display:flex;align-items:flex-end;color:var(--white)}
.loc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.loc:hover img{transform:scale(1.06)}
.loc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(62,42,29,0) 30%,rgba(62,42,29,.8) 100%)}
.loc .in{position:relative;z-index:1;padding:1.3rem;display:grid;gap:.4rem}
.loc h4{font-family:var(--display);font-size:1.6rem;line-height:1.05;font-weight:400;margin:0}
.loc p{font-size:.88rem;opacity:.92}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{padding:.5em 1em;border:1px solid rgba(107,76,55,.35);border-radius:999px;font-size:.85rem}
.howcta{margin-top:2.4rem;padding:2rem;border-radius:8px;background:var(--almond);display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.howcta h3{font-family:var(--display);font-size:clamp(1.4rem,2.4vw,2rem);font-weight:400;margin:0}
@media (max-width:900px){
  .hstep summary{grid-template-columns:2.4rem 1fr auto;gap:.8rem}
  .hstep .body{padding-left:0}
  .fmts,.locs{grid-template-columns:1fr}
  .loc{aspect-ratio:16/10}
}

/* ---------- trips: been rows with photo ---------- */
.been2{display:grid;border-top:1px solid rgba(255,255,255,.18)}
.brow{border-bottom:1px solid rgba(255,255,255,.18)}
.brow button{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 0;font-family:var(--display);font-size:clamp(1.8rem,4.2vw,3.6rem);line-height:1.05;text-align:left;color:inherit;transition:padding-left .5s var(--ease-out)}
.brow button .pt{font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7;white-space:nowrap}
.brow button:hover,.brow.open button{padding-left:.4em;color:var(--white)}
.brow .panel{display:grid;grid-template-columns:minmax(0,22rem) 1fr;gap:1.6rem;align-items:end;overflow:hidden;max-height:0;opacity:0;transition:max-height .8s var(--ease),opacity .6s;padding-bottom:0}
.brow.open .panel{max-height:34rem;opacity:1;padding-bottom:1.6rem}
.brow .panel .ph{aspect-ratio:4/3;border-radius:4px;overflow:hidden}
.brow .panel .ph img{width:100%;height:100%;object-fit:cover}
.brow .panel .txt{display:grid;gap:.4rem}
.brow .panel .meta{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.brow .panel p{font-family:var(--serif);font-size:1.15rem}
@media (max-width:700px){.brow .panel{grid-template-columns:1fr}.brow button .pt{display:none}}

/* ---------- drawer ---------- */
#drawer{position:fixed;inset:0;z-index:97;pointer-events:none}
#drawer .bd{position:absolute;inset:0;background:rgba(62,42,29,.55);opacity:0;transition:opacity .5s}
#drawer .pn{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--white);color:var(--walnut);transform:translateX(102%);transition:transform .7s var(--ease);overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-rows:auto 1fr}
#drawer.open{pointer-events:auto}
#drawer.open .bd{opacity:1}
#drawer.open .pn{transform:none}
#drawer .hd{position:relative;aspect-ratio:16/10;background:var(--almond)}
#drawer .hd img{width:100%;height:100%;object-fit:cover}
#drawer .x{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:14px;z-index:2;background:var(--white);color:var(--walnut);border-radius:999px;padding:.55em 1em;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}
#drawer .bo{padding:clamp(1.4rem,3vw,2.2rem);display:grid;gap:1.2rem;align-content:start}
#drawer .when{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);font-weight:500}
#drawer h3{font-family:var(--display);font-size:clamp(2rem,4vw,2.8rem);line-height:1;font-weight:400;margin:0}
#drawer .sub{font-family:var(--serif);font-style:italic;opacity:.85}
#drawer .days{display:grid;border-top:1px solid rgba(107,76,55,.2);margin-top:.4rem}
#drawer .dl{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7;padding:1rem 0 .4rem}
#drawer .d{display:grid;grid-template-columns:5.6rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(107,76,55,.15);font-size:.95rem}
#drawer .d b{font-family:var(--serif);font-weight:400;font-size:.95rem;color:var(--terracotta)}
#drawer .d strong{display:block;font-weight:500;margin-bottom:.15rem}
#drawer .price{font-family:var(--serif);font-size:1.1rem;padding-top:.6rem}
#drawer .act{display:flex;gap:.8rem;flex-wrap:wrap;padding-bottom:1rem}
html.drawer-open,html.drawer-open body{overflow:hidden}

/* ---------- misc ---------- */
.hero .bg::before{content:"";position:absolute;left:0;right:0;top:0;height:34%;z-index:1;background:linear-gradient(180deg,rgba(62,42,29,.5) 0%,rgba(62,42,29,0) 100%)}
.step .mark{display:block;width:34px;height:1px;background:var(--terracotta);margin-bottom:.4rem}
.lands .head .sub{font-size:.95rem;opacity:.9;max-width:26em}
.lands .head{gap:.9rem}
footer .wordmark{width:min(44vw,240px)}
footer .tag{font-family:var(--serif);font-size:1.05rem;margin-top:1.2rem;max-width:26em}
footer .based{margin-top:.6rem;max-width:26em;opacity:.8;font-size:.95rem}

/* ---------- laptop / short viewports ---------- */
@media (min-width:901px) and (max-height:840px){
  .land .in .h-1{font-size:clamp(1.8rem,3.4vw,3rem)}
  .land .in{max-width:30em}
  .lands .head .h-2{font-size:clamp(1.6rem,2.8vw,2.4rem)}
  .lands .head{top:calc(var(--gut) + 52px)}
  .daywrap{padding-block:clamp(1.5rem,5vh,3rem)}
  .day{min-height:0;align-items:start;padding-top:4.2rem}
  .day .row{padding:.68rem 0}
  .day .row .t{font-size:1rem}
  .day .row .d{font-size:.92rem}
  .day .frames{max-height:64svh}
  .day .h-2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:1.2rem!important}
  .hero{min-height:100svh}
}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .hero{min-height:86svh;padding-bottom:2.2rem}
  .h-hero{font-size:clamp(2.5rem,11.5vw,4.2rem)}
  .h-1{font-size:clamp(2rem,8.5vw,3rem)}
  .h-2{font-size:clamp(1.8rem,7.6vw,2.6rem)}
  .section{padding-block:3.6rem}
  .door{min-height:58svh;padding-bottom:1.8rem}
  .who .imgs{padding-top:0}
  .who .imgs .ph{aspect-ratio:4/3}
  .who .imgs .ph:nth-child(2){display:none}
  .land,.land:last-child{height:56svh}
  .day .frames{aspect-ratio:4/3;max-height:46svh}
  .hhero{padding-top:calc(var(--gut) + 4.2rem)}
  .hhero .vis{height:44svh;min-height:280px}
  .bridge .ph,.split .ph{aspect-ratio:4/3;max-height:44svh}
  .jcard{min-height:21rem}
  .marquee .tr span{font-size:clamp(1.8rem,8vw,2.6rem)}
  .way{min-height:0}
  footer{padding-top:3rem}
  #drawer .pn{width:100%}
}

/* ---------- multi-page ---------- */
#nav .lang a{letter-spacing:.08em;opacity:.55;padding:.2em .1em}
#nav .lang a.on{opacity:1;font-weight:600}
#nav .lang a:hover{opacity:1}
#menu .mlinks{display:grid;gap:1.2rem}
#menu .lang a{color:inherit}
html.from-nav #loader{display:none}
html.from-nav #curtain{transform:translateY(0)}
#top{position:absolute;top:0}
[id]{scroll-margin-top:72px}
.jcard .itin{display:none}

/* ── fix: scroll del pannello itinerari (mouse e touch) ── */
#drawer .pn{touch-action:pan-y;-webkit-overflow-scrolling:touch}
/* ── mobile: velo più scuro sulle porte, il testo deve leggersi ── */
@media (max-width:900px){
  .door .bg::after{background:linear-gradient(180deg,rgba(62,42,29,.22) 0%,rgba(62,42,29,.45) 45%,rgba(62,42,29,.86) 100%)}
  .door .in p{opacity:1}
}

/* ── hero mobile scrim: da telefono le foto sotto il testo chiaro sono più scure e sfumate ── */
@media (max-width:900px){
  .hero .bg img,.hero .bg video{filter:brightness(.88) saturate(.95)}
  .hero .bg::after{background:linear-gradient(180deg,rgba(62,42,29,.38) 0%,rgba(62,42,29,.2) 40%,rgba(62,42,29,.8) 100%)}
  .land .bg img,.land .bg video{filter:brightness(.9)}
  .land .bg::after{background:linear-gradient(180deg,rgba(62,42,29,.18),rgba(62,42,29,.14) 40%,rgba(62,42,29,.84))}
  .jmini .bg::after{background:linear-gradient(180deg,rgba(62,42,29,.12) 20%,rgba(62,42,29,.9) 100%)}
}
