/* =====================================================================
   ARCANA · waitlist site layout
   Built on the Arcana Tours design system (brand.css). Every colour, type
   size, space and duration resolves to a token in colors_and_type.css.
   ===================================================================== */
html{scroll-behavior:smooth;}
body{overflow-x:hidden;}
section[id]{scroll-margin-top:70px;}
img{max-width:100%;}
.skip{position:absolute;left:-9999px;top:0;}
.skip:focus{left:16px;top:16px;z-index:100;background:var(--paper-0);color:var(--ink-900);padding:10px 14px;border-radius:var(--r-btn);}

/* ---------- menu bar: see-through rose, two states ---------- */
header.bar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:linear-gradient(var(--bar-light-veil),var(--bar-light-veil)),var(--bar-light);
  backdrop-filter:var(--bar-blur);-webkit-backdrop-filter:var(--bar-blur);
  border-bottom:1px solid rgba(28,29,22,.16);
  transition:background var(--dur-theme) var(--ease),border-color var(--dur-theme) var(--ease);
}
.hd{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:14px;padding-bottom:14px;}
.lock{display:flex;align-items:center;gap:12px;text-decoration:none;}
.bar nav{display:flex;align-items:center;gap:28px;}
.bar nav a{font-size:var(--t-body-s);text-decoration:none;}
.lang{display:flex;gap:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding-left:22px;}
.lang a{text-decoration:none;}
.bar .wordmark,.bar nav a,.bar .lang,.bar .lang a,.bar .link-accent,.menu-btn{transition:color var(--dur-theme) var(--ease);}
.mk-ring,.mk-peak,.mk-forest,.mk-sea{transition:stroke var(--dur-theme) var(--ease);fill:none;}

.bar .wordmark,.bar nav a,.menu-btn{color:var(--ink-900);}
.bar nav a:hover{color:#0C0D08;}
.bar .link-accent{color:var(--ink-900);border-bottom-color:rgba(28,29,22,.42);}
.bar .lang{border-left:1px solid rgba(28,29,22,.22);}
.bar .lang a{color:#3A2620;} .bar .lang a[aria-current]{color:var(--ink-900);text-decoration:underline;text-underline-offset:4px;}
.bar .mk-ring,.bar .mk-peak{stroke:var(--ink-900);}
.bar .mk-forest,.bar .mk-sea{stroke:rgba(28,29,22,.55);}

.bar.on-dark{
  background:linear-gradient(var(--bar-dark-veil),var(--bar-dark-veil)),var(--bar-dark);
  border-bottom-color:var(--line-on-dark-strong);
}
.bar.on-dark .wordmark,.bar.on-dark .menu-btn{color:var(--paper-0);}
.bar.on-dark nav a{color:#F4F0E8;}
.bar.on-dark nav a:hover{color:#fff;}
.bar.on-dark .link-accent{color:var(--paper-0);border-bottom-color:rgba(239,234,224,.5);}
.bar.on-dark .lang{border-left-color:rgba(239,234,224,.24);}
.bar.on-dark .lang a{color:#D6C7BE;} .bar.on-dark .lang a[aria-current]{color:var(--paper-0);}
.bar.on-dark .mk-ring,.bar.on-dark .mk-peak{stroke:var(--paper-0);}
.bar.on-dark .mk-forest,.bar.on-dark .mk-sea{stroke:rgba(239,234,224,.6);}

.menu-btn{display:none;font:inherit;font-size:var(--t-body-s);cursor:pointer;background:transparent;border:0;padding:8px 0;}
.mobile-nav{position:fixed;inset:57px 0 auto;z-index:49;display:none;flex-direction:column;gap:var(--sp-4);
  padding:var(--sp-7) var(--gutter) var(--sp-8);background:var(--basalt-950);border-bottom:1px solid var(--line-on-dark);}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-family:var(--font-display);font-size:26px;line-height:var(--lh-title);color:var(--paper-0);text-decoration:none;}
.mobile-nav .m-lang{display:flex;gap:18px;margin-top:var(--sp-4);}
.mobile-nav .m-lang a{font-family:var(--font-body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-on-dark-2);}
.mobile-nav .m-lang a[aria-current]{color:var(--paper-0);}

/* ---------- hero ---------- */
.hero{background:var(--basalt-950);color:var(--fg-on-dark);position:relative;overflow:hidden;}
.hero .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%;display:block;}
.hero .scrim{position:absolute;inset:0;
  background:
    linear-gradient(97deg,rgba(20,21,15,.86) 0%,rgba(20,21,15,.64) 30%,rgba(20,21,15,.16) 60%,rgba(20,21,15,.04) 100%),
    linear-gradient(to top,rgba(20,21,15,.70) 0%,rgba(20,21,15,.10) 40%,rgba(20,21,15,0) 62%);}
.hero .inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 230px;
  gap:var(--sp-7);align-items:end;padding-top:132px;padding-bottom:var(--sp-8);min-height:90vh;}
.hero h1{font-size:clamp(44px,6.6vw,96px);max-width:12ch;color:var(--fg-on-dark);}
.hero .lede{font-size:var(--t-body-l);color:var(--fg-on-dark-2);max-width:var(--measure-tight);margin:var(--sp-6) 0 0;}
.acts{display:flex;align-items:center;gap:30px;margin-top:var(--sp-7);flex-wrap:wrap;}
.on-basalt .btn,.hero .btn{background:var(--paper-0);color:var(--ink-900);}
.on-basalt .btn:hover,.hero .btn:hover{background:#fff;color:var(--ink-900);}
.hero .link-accent{color:var(--rose-300);}
.rail{border-top:1px solid var(--line-on-dark-strong);padding-top:var(--sp-4);}
.rail div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line-on-dark);
  font-size:12.5px;color:var(--fg-on-dark-muted);font-variant-numeric:tabular-nums;}
.rail div b{color:var(--accent);font-weight:400;}

/* ---------- intro + facts ---------- */
.intro{padding:var(--sp-10) 0 var(--sp-9);}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-8);align-items:start;}
.split h2{font-size:clamp(34px,4.2vw,56px);}
.who h2,.money h2{font-size:clamp(32px,3.4vw,46px);}
.split .prose p{font-size:var(--t-body-l);line-height:1.74;color:var(--fg-2);max-width:54ch;}
.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:var(--sp-9);border-top:1px solid var(--line);}
.fact{padding:var(--sp-6) var(--sp-7) var(--sp-2) 0;border-right:1px solid var(--line);}
.fact + .fact{padding-left:var(--sp-6);}
.fact:last-child{border-right:0;}
.fact p{font-size:15.5px;color:var(--fg-2);max-width:26ch;margin:var(--sp-3) 0 0;}

/* ---------- the name ---------- */
.name-sec{background:var(--basalt-950);color:var(--fg-on-dark);padding:var(--sp-10) 0;position:relative;overflow:hidden;}
.name-sec .np{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%;opacity:.6;}
.name-sec .ns{position:absolute;inset:0;
  background:linear-gradient(96deg,rgba(20,21,15,.90) 0%,rgba(20,21,15,.66) 42%,rgba(20,21,15,.30) 74%,rgba(20,21,15,.58) 100%),
    linear-gradient(to bottom,rgba(20,21,15,.62) 0%,rgba(20,21,15,.14) 36%,rgba(20,21,15,.72) 100%);}
.name-sec .container{position:relative;z-index:2;}
.name-sec h2{font-size:var(--t-display-l);}
.etym{font-family:var(--font-display);font-style:italic;font-size:17px;line-height:1.5;color:var(--mist-300);
  border-top:1px solid var(--line-on-dark);padding-top:14px;margin:var(--sp-4) 0 0;max-width:34ch;}
.name-sec .prose p{color:var(--fg-on-dark-2);}

/* ---------- who ---------- */
.who{padding:var(--sp-10) 0;background:var(--bg-alt);}
.who .lists{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-7);margin-top:var(--sp-7);}
.who h4{font-family:var(--font-body);font-size:var(--t-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--fg-muted);margin:0 0 var(--sp-3);}
.ticks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.ticks li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--fg-2);line-height:1.55;}
.ticks .ico{position:absolute;left:-3px;top:10px;--ico-size:24px;color:var(--accent-text);}
.ticks.no .ico{color:var(--ink-500);}

/* ---------- full-bleed band ---------- */
.bleed{position:relative;overflow:hidden;margin:0;background:var(--basalt-950);}
.bleed img{width:100%;height:clamp(360px,54vw,640px);object-fit:cover;display:block;transition:transform .9s var(--ease);}
.bleed:hover img{transform:scale(var(--hover-scale-bleed));}
.bleed .bs{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,21,15,.92) 0%,rgba(20,21,15,.55) 30%,rgba(20,21,15,.06) 62%),linear-gradient(90deg,rgba(20,21,15,.45) 0%,rgba(20,21,15,0) 55%);}
.bleed figcaption{position:absolute;left:0;right:0;bottom:0;}
.bleed figcaption .container{padding-bottom:var(--sp-7);color:var(--fg-on-dark-2);font-size:15.5px;}
.bleed figcaption b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3.4vw,44px);line-height:1.28;color:var(--fg-on-dark);margin-bottom:var(--sp-2);}
.bleed figcaption span{display:block;max-width:52ch;}

/* ---------- stay + how ---------- */
.stay{padding:var(--sp-10) 0;}
.stay-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--sp-8);align-items:center;}
.stay-grid h2{font-size:clamp(32px,3.6vw,48px);margin-bottom:var(--sp-5);}
.stay-grid .prose p{color:var(--fg-2);}
.stay .media{aspect-ratio:4/5;}
.how{margin-top:var(--sp-9);padding-top:var(--sp-7);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-8);}
.how h3{font-size:clamp(26px,2.6vw,34px);line-height:1.32;}
.how > p{color:var(--fg-2);font-size:var(--t-body-l);line-height:1.72;}

/* ---------- itinerary ---------- */
.jour{padding:var(--sp-10) 0;background:var(--bg-alt);}
.jour-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8);align-items:end;margin-bottom:var(--sp-8);}
.jour-head p{color:var(--fg-2);margin:0;}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);margin-bottom:var(--sp-8);}
.slots .media{aspect-ratio:4/5;margin:0;}
.days{border-top:1px solid var(--line);}
.day{display:grid;grid-template-columns:56px 90px minmax(0,260px) minmax(0,1fr);gap:var(--sp-5);
  padding:var(--sp-6) 0;border-bottom:1px solid var(--line);align-items:baseline;}
.day-ico{color:var(--fg-2);--ico-size:44px;display:block;align-self:start;transition:color var(--dur-theme) var(--ease);}
.day:hover .day-ico{color:var(--accent);}
.day .d{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);font-variant-numeric:tabular-nums;}
.day .t{font-family:var(--font-display);font-size:var(--t-title);line-height:var(--lh-title);letter-spacing:var(--tr-title);margin:0;font-weight:400;}
.day .b{font-size:15.5px;line-height:1.72;color:var(--fg-2);max-width:60ch;margin:0;}

/* ---------- limits ---------- */
.limits{background:var(--basalt-950);color:var(--fg-on-dark);padding:var(--sp-10) 0;position:relative;overflow:hidden;}
.limits .gl{position:absolute;inset:0;background:radial-gradient(90% 60% at 15% 110%,rgba(106,115,92,.26),rgba(20,21,15,0) 70%);}
.limits .container{position:relative;z-index:2;}
.limits h2{font-size:var(--t-display-l);color:var(--fg-on-dark);}
.limits .sub{color:var(--fg-on-dark-2);margin:var(--sp-4) 0 0;max-width:40ch;}
.no-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-on-dark);}
.no-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--sp-5);padding:var(--sp-5) 0;border-bottom:1px solid var(--line-on-dark);align-items:start;}
.no-list .ico{--ico-size:34px;color:var(--accent);}
.no-list b{display:block;font-weight:400;font-size:17px;color:var(--fg-on-dark);margin-bottom:5px;}
.no-list span{display:block;font-size:15.5px;color:var(--fg-on-dark-2);max-width:58ch;}

/* ---------- cost ---------- */
.money{padding:var(--sp-10) 0;}
.price{font-family:var(--font-display);font-size:clamp(56px,6vw,80px);line-height:1.18;letter-spacing:-.016em;color:var(--accent-text);margin:var(--sp-6) 0 var(--sp-2);}
.price-sub{font-size:15px;color:var(--fg-2);max-width:34ch;margin:0;}
.lang-note{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--fg-muted);margin-top:var(--sp-6);}
.lang-note .ico{--ico-size:20px;color:var(--accent-text);}
.money h4{font-family:var(--font-body);font-size:var(--t-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--fg-muted);margin:0 0 var(--sp-3);}
.money .not{margin-top:var(--sp-6);}
.money .not p{font-size:15.5px;color:var(--fg-2);}

/* ---------- waitlist ---------- */
.join{padding:var(--sp-10) 0;background:var(--bg-alt);}
.join-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-9);align-items:start;}
.join h2{font-size:clamp(34px,4vw,52px);}
.join .sub{color:var(--fg-2);max-width:40ch;margin:var(--sp-5) 0 var(--sp-6);font-size:var(--t-body-l);}
.join .assure,.join .partners{font-size:14px;color:var(--fg-muted);border-top:1px solid var(--line);padding-top:var(--sp-4);max-width:38ch;}
.wl{display:grid;gap:var(--sp-6);}
.wl .two{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);}
.wl fieldset{border:0;margin:0;padding:0;min-width:0;}
.wl legend,.wl .lbl{display:block;font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--sp-3);padding:0;}
.wl .opt{font-size:10px;letter-spacing:.1em;color:var(--ink-500);text-transform:none;margin-left:6px;}
.field input,.field select,.field textarea{font-size:16px;}
.field textarea{resize:vertical;min-height:84px;line-height:1.5;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{position:relative;}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.chip span{display:inline-block;font-size:14px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:var(--r-btn);
  color:var(--fg-2);transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);}
.chip input:checked + span{background:var(--ink-900);border-color:var(--ink-900);color:var(--paper-0);}
.chip input:focus-visible + span{outline:2px solid var(--focus-ring);outline-offset:2px;}
.chip:hover span{border-color:var(--ink-900);}
.hide{display:none!important;}
.agree{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--fg-2);line-height:1.55;}
.agree input{margin-top:4px;accent-color:var(--ink-900);width:16px;height:16px;flex:none;}
.agree a{color:var(--link);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.wl .row-submit{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;}
.wl .btn[aria-busy="true"]{opacity:.6;pointer-events:none;}
.msg{font-size:14px;color:var(--danger);margin:0;}
.sent{border-left:2px solid var(--accent);padding:6px 0 6px var(--sp-5);color:var(--fg-2);}
.sent b{display:block;font-family:var(--font-display);font-weight:400;font-size:26px;line-height:var(--lh-title);color:var(--fg);margin-bottom:8px;}

/* ---------- footer ---------- */
footer{background:var(--basalt-950);color:var(--fg-on-dark);padding:var(--sp-8) 0 var(--sp-7);}
.ft{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-7);flex-wrap:wrap;}
.ft .fn{font-size:13.5px;color:var(--fg-on-dark-muted);max-width:30ch;margin-top:var(--sp-4);}
.ft nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px;}
.ft nav a{font-size:13.5px;color:var(--fg-on-dark-2);text-decoration:none;}
.ft nav a:hover{color:var(--fg-on-dark);}
footer .lock .wordmark{color:var(--fg-on-dark);}
footer .mk-ring{stroke:var(--paper-0);} footer .mk-peak{stroke:var(--accent);}
footer .mk-forest{stroke:var(--mist-300);} footer .mk-sea{stroke:var(--atlantic-600);}
.legal{margin-top:var(--sp-7);padding-top:var(--sp-4);border-top:1px solid var(--line-on-dark);display:flex;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap;font-size:12px;color:var(--fg-on-dark-muted);}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  :root{--gutter:24px;}
  .hero .inner{grid-template-columns:1fr;gap:var(--sp-7);align-items:start;padding-top:112px;padding-bottom:var(--sp-8);min-height:0;}
  .split,.stay-grid,.how,.jour-head,.join-grid{grid-template-columns:1fr;gap:var(--sp-6);}
  .facts{grid-template-columns:1fr;}
  .fact,.fact + .fact{border-right:0;border-bottom:1px solid var(--line);padding:var(--sp-5) 0;}
  .fact:last-child{border-bottom:0;}
  .slots{grid-template-columns:1fr 1fr;}
  .slots .media:last-child{display:none;}
  .day{grid-template-columns:44px minmax(0,1fr);gap:var(--sp-2) var(--sp-4);}
  .day .d{grid-column:2;}
  .day .t{grid-column:2;}
  .day .b{grid-column:2;}
  .day-ico{grid-row:1 / span 3;--ico-size:36px;}
  .who .lists{grid-template-columns:1fr;gap:var(--sp-6);}
  .bar nav .hide-s{display:none;}
  .stay .media{aspect-ratio:4/3;}
}
@media (max-width:760px){
  :root{--gutter:16px;}
  .menu-btn{display:block;}
  .bar nav a:not(.link-accent),.bar .lang{display:none;}
  .bar nav{gap:18px;}
  .slots{grid-template-columns:1fr;}
  .slots .media:not(:first-child){display:none;}
  .wl .two{grid-template-columns:1fr;}
  .hero h1{font-size:clamp(40px,11vw,56px);}
  .limits h2,.name-sec h2{font-size:clamp(36px,10vw,48px);}
  .intro,.who,.stay,.jour,.limits,.money,.join,.name-sec{padding:var(--sp-9) 0;}
}
@media (max-width:420px){ .bar nav .link-accent{display:none;} }

/* ---------- 17 Sep 2026: no fact strip, FAQ and itinerary open on click ---------- */
.hero .inner{grid-template-columns:minmax(0,1fr);}
.hero h1{max-width:13ch;}
.money .price{margin-top:var(--sp-2);}
.faq{border-top:1px solid var(--line);margin-bottom:var(--sp-8);}
details summary{list-style:none;cursor:pointer;}
details summary::-webkit-details-marker{display:none;}
.plus{position:relative;width:18px;height:18px;flex:none;justify-self:end;align-self:center;}
.plus::before,.plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--accent-text);
  transition:transform var(--dur) var(--ease);}
.plus::after{transform:rotate(90deg);}
details[open] > summary .plus::after{transform:rotate(0deg);}
.qa{border-bottom:1px solid var(--line);}
.qa summary{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:var(--sp-5);align-items:center;padding:var(--sp-5) 0;}
.qa h3{font-size:var(--t-title);line-height:var(--lh-title);letter-spacing:var(--tr-title);}
.qa summary:hover h3{color:var(--accent-text);}
.qa .a{padding:0 var(--sp-7) var(--sp-5) 0;}
.qa .a p{color:var(--fg-2);font-size:16px;line-height:1.72;}
.who .lists{margin-top:0;}
details.day{display:block;padding:0;}
details.day summary{display:grid;grid-template-columns:56px 90px minmax(0,1fr) 18px;gap:var(--sp-5);align-items:center;padding:var(--sp-5) 0;}
details.day summary:hover .t{color:var(--accent-text);}
details.day summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;}
details.day .day-ico{align-self:center;}
details.day .b{display:block;max-width:none;padding:0 var(--sp-7) var(--sp-6) calc(56px + 90px + 2 * var(--sp-5));}
details.day .b p{font-size:15.5px;line-height:1.72;color:var(--fg-2);max-width:68ch;margin:0 0 var(--sp-3);}
@media (max-width:1000px){
  details.day summary{grid-template-columns:40px minmax(0,1fr) 18px;gap:2px var(--sp-4);}
  details.day summary .day-ico{grid-row:1 / span 2;--ico-size:34px;}
  details.day summary .d{grid-column:2;grid-row:1;}
  details.day summary .t{grid-column:2;grid-row:2;}
  details.day summary .plus{grid-column:3;grid-row:1 / span 2;}
  details.day .b{max-width:none;padding:0 0 var(--sp-5) calc(40px + var(--sp-4));}
}
