/* ---------------- tokens ---------------- */
:root{
  --paper:#E9FDFC;
  --paper-2:#CFF8F9;
  --ink:#0C3A44;
  --ink-soft:#3E7580;
  --palm:#F765B8;
  --palm-light:#F98DC9;
  --water:#0FA3B4;
  --water-pale:#A8F6F8;
  --sand:#A8F6F8;
  --sand-deep:#55D4DC;
  --shadow:rgba(12,58,68,.16);
  --aqua:#27FDF5;
  --aqua-soft:#D7FFFE;
  --pink:#F765B8;
  --pink-soft:#F98DC9;

  --maxw:1240px;
  --gutter:clamp(20px,5vw,72px);
  --radius:2px;

  --f-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-text:"Literata",Georgia,"Times New Roman",serif;

  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}
/* one palette in both colour schemes */
html{ scroll-padding-top:env(safe-area-inset-top,0px); }
*,*::before,*::after{ box-sizing:inherit; }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--f-text);
  font-size:clamp(16px,1.02vw,18px);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video{ max-width:100%; display:block; }
a{ color:inherit; }
:focus-visible{ outline:2px solid var(--water); outline-offset:3px; }

main,header,footer{ position:relative; z-index:2; }

/* ---------------- type ---------------- */
h1,h2,h3,h4{ font-family:var(--f-display); font-weight:600; letter-spacing:-.03em; line-height:1.02; margin:0; }
h1{ font-size:clamp(2.6rem,7.6vw,6.4rem); }
h2{ font-size:clamp(2rem,4.6vw,3.9rem); line-height:1.04; }
h3{ font-size:clamp(1.25rem,1.9vw,1.75rem); letter-spacing:-.02em; line-height:1.15; }
p{ margin:0 0 1.1em; max-width:62ch; }
.lead{ font-size:clamp(1.05rem,1.45vw,1.3rem); color:var(--ink-soft); }
.small{ font-size:.86rem; color:var(--ink-soft); line-height:1.5; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter); }
section{ padding-block:clamp(72px,11vh,150px); }

/* ---------------- nav ---------------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:40;
  padding-top:env(safe-area-inset-top,0px);
  transition:background .5s ease, box-shadow .5s ease;
}
.nav.solid{ background:color-mix(in srgb, var(--paper) 88%, transparent); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--sand); }
.nav-in{ max-width:var(--maxw); margin:0 auto; padding:16px var(--gutter); display:flex; align-items:center; gap:28px; }
.brand{ font-family:var(--f-display); font-weight:600; letter-spacing:-.04em; font-size:1.18rem; text-decoration:none; display:flex; align-items:center; gap:9px; }
.brand .dot{ width:9px; height:9px; border-radius:50%; background:var(--palm); position:relative; }
.brand .dot::after{ content:""; position:absolute; inset:0; border-radius:50%; background:var(--palm); animation:pulse 2.8s ease-out infinite; }
@keyframes pulse{ 0%{ transform:scale(1); opacity:.55 } 70%,100%{ transform:scale(3.2); opacity:0 } }
.nav-links{ display:flex; gap:22px; margin-left:auto; font-family:var(--f-display); font-size:.92rem; }
.nav-links a{ text-decoration:none; color:var(--ink-soft); padding:4px 0; position:relative; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--palm); transition:width .35s cubic-bezier(.2,.8,.2,1); }
.nav-links a:hover{ color:var(--ink); } .nav-links a:hover::after{ width:100%; }
.nav-cta{ font-family:var(--f-display); font-size:.9rem; text-decoration:none; padding:9px 18px; border-radius:100px; background:var(--palm); color:var(--paper); white-space:nowrap; }
.nav-progress{ position:absolute; left:0; bottom:0; height:2px; background:var(--palm); width:0; }
@media (max-width:860px){ .nav-links{ display:none; } }

/* ---------------- hero ---------------- */
.hero{ min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding-block:0 clamp(28px,5vh,56px); position:relative; overflow-x:clip; }
.hero-media{ position:absolute; inset:0; overflow:hidden; z-index:-1; }
.hero-media .slot{ height:100%; }
.hero-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, var(--paper) 2%, color-mix(in srgb,var(--paper) 72%, transparent) 38%, transparent 78%);
}
.hero-in{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter); width:100%; }
.hero h1{ margin-bottom:.34em; max-width:15ch; }
.hero .lead{ max-width:48ch; margin-bottom:2rem; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.btn{
  font-family:var(--f-display); font-size:.98rem; font-weight:500; text-decoration:none;
  padding:15px 30px; border-radius:100px; border:1px solid transparent; cursor:pointer;
  background:var(--palm); color:var(--paper); display:inline-block;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), background .3s ease;
}
.btn.ghost{ background:transparent; color:var(--ink); border-color:var(--sand-deep); }
.btn.ghost:hover{ border-color:var(--palm); }
.scrollcue{ display:flex; align-items:center; gap:10px; margin-top:clamp(28px,5vh,52px); color:var(--ink-soft); font-family:var(--f-display); font-size:.82rem; }
.scrollcue i{ display:block; width:1px; height:34px; background:linear-gradient(var(--sand-deep),transparent); position:relative; overflow:hidden; }
.scrollcue i::after{ content:""; position:absolute; top:-34px; left:0; width:1px; height:34px; background:var(--palm); animation:drop 2.4s ease-in-out infinite; }
@keyframes drop{ 0%{ transform:translateY(0) } 60%,100%{ transform:translateY(68px) } }

/* kinetic type */
.kin{ display:inline-block; overflow:hidden; vertical-align:bottom; }
.kin > span{ display:inline-block; transform:translateY(110%); opacity:0; transition:transform 1s cubic-bezier(.16,1,.3,1), opacity .8s ease; }
.is-in .kin > span{ transform:translateY(0); opacity:1; }

/* generic reveal */
.js .up{ opacity:0; transform:translateY(24px); transition:opacity .9s ease, transform 1s cubic-bezier(.16,1,.3,1); }
.js .hero .up{ opacity:1; transform:none; }
.is-in .up, .up.is-in{ opacity:1; transform:none; }

/* ---------------- slots ---------------- */
.slot{
  position:relative; overflow:hidden; background:var(--paper-2);
  background-image:
    radial-gradient(120% 90% at 18% 12%, color-mix(in srgb,var(--water-pale) 62%, transparent), transparent 62%),
    radial-gradient(90% 80% at 88% 90%, color-mix(in srgb,var(--sand) 70%, transparent), transparent 60%);
}
.slot::before{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(115deg, transparent 0 22px, color-mix(in srgb,var(--sand-deep) 24%, transparent) 22px 23px);
  opacity:.5;
}
.slot[data-label]::after{
  content:attr(data-label);
  position:absolute; left:16px; bottom:14px;
  font-family:var(--f-display); font-size:.74rem; letter-spacing:.01em;
  color:var(--ink-soft); background:color-mix(in srgb,var(--paper) 76%, transparent);
  padding:5px 10px; border-radius:100px; backdrop-filter:blur(6px);
}
.slot img,.slot video{ width:100%; height:100%; object-fit:cover; position:relative; }

/* ---------------- manifesto ---------------- */
.manifesto{ background:var(--paper); }
.manifesto .mani-head{ font-family:var(--f-display); font-weight:500; font-size:clamp(1.85rem,5.4vw,4.6rem); letter-spacing:-.035em; line-height:1.04; max-width:20ch; margin:0 0 clamp(48px,8vw,112px); text-wrap:pretty; }
.manifesto .mani-head > span{ display:block; }
.manifesto .word{ color:var(--ink-soft); opacity:.62; transition:opacity .5s ease, color .5s ease; }
.manifesto .word.lit{ color:var(--ink); opacity:1; }
/* the four questions: a ruled index, each one links to its answer */
.mani-body{ display:grid; grid-template-columns:repeat(12,1fr); column-gap:clamp(20px,3vw,40px); border-top:1px solid var(--ink); padding-top:clamp(20px,2.4vw,30px); }
.mani-intro{ grid-column:1 / span 3; margin:0; max-width:22ch; font-size:clamp(1.05rem,1.3vw,1.2rem); line-height:1.55; color:var(--ink); }
.mani-q{ grid-column:4 / -1; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(20px,3vw,40px); }
.mani-q li{ border-bottom:1px solid var(--line); }
.mani-q a{ display:grid; grid-template-columns:2.2em 1fr auto; align-items:baseline; gap:12px; padding:16px 0 22px; color:var(--ink); text-decoration:none; }
.mani-q .n{ font-family:var(--f-display); font-size:.82rem; color:var(--lagoon); font-variant-numeric:tabular-nums; }
.mani-q .q{ font-family:var(--f-display); font-size:clamp(1.12rem,1.5vw,1.36rem); letter-spacing:-.015em; line-height:1.2; transition:color .3s ease; }
.mani-q .go{ color:var(--lagoon); transition:transform .35s cubic-bezier(.16,1,.3,1); }
.mani-q a:hover .q,.mani-q a:focus-visible .q{ color:var(--lagoon); }
.mani-q a:hover .go,.mani-q a:focus-visible .go{ transform:translateX(6px); }
.mani-close{ grid-column:4 / -1; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:12px 32px; margin-top:clamp(32px,4vw,56px); }
.mani-close p{ margin:0; max-width:32ch; color:var(--ink-soft); }
.mani-close .sign{ max-width:none; font-family:var(--f-display); font-size:clamp(1.3rem,2vw,1.75rem); letter-spacing:-.02em; line-height:1.2; color:var(--ink); }
.mani-close .sign em{ font-family:var(--f-text); color:var(--lagoon); }
@media (max-width:1024px){ .mani-intro,.mani-q,.mani-close{ grid-column:1 / -1; } .mani-intro{ max-width:none; margin-bottom:8px; } }
@media (max-width:620px){ .mani-q{ grid-template-columns:1fr; } .mani-close{ flex-direction:column; } }

/* ---------------- scroll film ---------------- */
.film{ position:relative; padding:0; }
.film-track{ height:360vh; position:relative; }
.film-stage{ position:sticky; top:0; height:100svh; overflow:hidden; display:flex; align-items:flex-end; }
.film-stage .slot{ position:absolute; inset:0; }
.film-stage video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.film-veil{ position:absolute; inset:0; background:linear-gradient(to top, color-mix(in srgb,var(--ink) 62%, transparent), transparent 55%); }
.film-caps{ position:relative; width:100%; max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter) clamp(48px,10vh,110px); }
.film-cap{ position:absolute; bottom:clamp(48px,10vh,110px); max-width:22ch; opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .8s cubic-bezier(.16,1,.3,1); color:#F4F6F1; }
.film-cap.on{ opacity:1; transform:none; }
.film-cap h3{ color:#fff; margin-bottom:.4em; }
.film-cap p{ margin:0; font-size:1rem; color:#F0E2DC; }
.film-bar{ position:absolute; left:var(--gutter); right:var(--gutter); bottom:26px; height:2px; background:rgba(255,255,255,.22); }
.film-bar i{ display:block; height:100%; width:0; background:#fff; }
.film-fallback{ position:absolute; inset:0; }
.film-fallback .layer{ position:absolute; inset:-10%; }
.film-fallback .l1{ background:radial-gradient(60% 50% at 30% 70%, color-mix(in srgb,var(--water) 60%, transparent), transparent 70%); }
.film-fallback .l2{ background:radial-gradient(50% 45% at 78% 30%, color-mix(in srgb,var(--sand-deep) 55%, transparent), transparent 70%); }
.film-fallback .l3{ background:linear-gradient(115deg, color-mix(in srgb,var(--palm) 45%, transparent), transparent 55%); }

/* ---------------- masked reveal ---------------- */
.reveals{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2.4vw,34px); margin-top:clamp(36px,6vh,72px); }
.reveal{ position:relative; }
.reveal .mask{ overflow:hidden; border-radius:var(--radius); }
.reveal .slot{ aspect-ratio:3/4; clip-path:inset(0 0 100% 0); transition:clip-path 1.25s cubic-bezier(.76,0,.24,1), transform 1.6s cubic-bezier(.16,1,.3,1); transform:scale(1.12); }
.reveal:nth-child(1) .slot{ border-radius:200px 200px var(--radius) var(--radius); }
.reveal:nth-child(3) .slot{ border-radius:var(--radius) var(--radius) 200px 200px; }
.reveal.is-in .slot{ clip-path:inset(0 0 0 0); transform:scale(1); }
.reveal:nth-child(2).is-in .slot{ transition-delay:.12s; }
.reveal:nth-child(3).is-in .slot{ transition-delay:.24s; }
.reveal h4,.reveal .card-h{ font-family:var(--f-display); font-weight:500; font-size:1.02rem; margin:14px 0 4px; }
.reveal p{ font-size:.94rem; color:var(--ink-soft); margin:0; }
@media (max-width:820px){ .reveals{ grid-template-columns:1fr; } .reveal .slot{ aspect-ratio:4/3; } }

/* ---------------- sticky gates ---------------- */
.gates{ background:var(--paper); position:relative; transition:background 1s ease; }
.gates-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,80px); align-items:start; }
.gates-visual{ position:sticky; top:14vh; height:72vh; border-radius:var(--radius); overflow:hidden; }
.gates-visual .slot{ position:absolute; inset:0; opacity:0; transform:scale(1.06); transition:opacity .9s ease, transform 1.4s cubic-bezier(.16,1,.3,1); }
.gates-visual .slot.on{ opacity:1; transform:scale(1); }
.gates-visual .badge{ position:absolute; left:18px; top:18px; z-index:3; font-family:var(--f-display); font-size:.82rem; background:color-mix(in srgb,var(--paper) 86%, transparent); padding:7px 14px; border-radius:100px; backdrop-filter:blur(8px); }
.gate{ min-height:82vh; display:flex; flex-direction:column; justify-content:center; padding-block:4vh; border-top:1px solid var(--sand); }
.gate:first-child{ border-top:0; }
.gate .idx{ font-family:var(--f-display); font-size:.82rem; color:var(--palm); margin-bottom:14px; }
.gate h3{ margin-bottom:.5em; font-size:clamp(1.6rem,3vw,2.4rem); }
.gate ul{ list-style:none; margin:10px 0 0; padding:0; }
.gate li{ padding:9px 0; border-bottom:1px solid var(--sand); font-size:.96rem; color:var(--ink-soft); }
.gate li:first-child{ border-top:1px solid var(--sand); }
@media (max-width:900px){
  .gates-grid{ grid-template-columns:1fr; }
  .gates-visual{ position:sticky; top:72px; height:44vh; margin-bottom:18px; }
  .gate{ min-height:auto; padding-block:36px; }
}

/* ---------------- horizontal areas ---------------- */
.areas-track{ height:340vh; position:relative; }
.areas-stage{ position:sticky; top:0; height:100svh; display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.areas-head{ max-width:var(--maxw); width:100%; margin:0 auto clamp(20px,4vh,42px); padding-inline:var(--gutter); }
.areas-head h2{ max-width:16ch; }
.areas-row{ display:flex; gap:clamp(14px,2vw,28px); padding-inline:var(--gutter); will-change:transform; }
.area{ flex:0 0 clamp(230px,26vw,340px); }
.area .slot{ aspect-ratio:4/5; border-radius:var(--radius); transition:transform .9s cubic-bezier(.16,1,.3,1); }
.area:hover .slot{ transform:translateY(-8px); }
.area h4,.area .card-h{ font-family:var(--f-display); font-weight:500; font-size:1.05rem; margin:14px 0 4px; }
.area p{ font-size:.9rem; color:var(--ink-soft); margin:0; }
.areas-hint{ max-width:var(--maxw); width:100%; margin:clamp(18px,3vh,34px) auto 0; padding-inline:var(--gutter); }

/* ---------------- clips ---------------- */
.clips{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2.2vw,30px); margin-top:clamp(32px,6vh,64px); }
.clip{ position:relative; cursor:pointer; }
.clip .frame{ position:relative; overflow:hidden; border-radius:var(--radius); }
.clip .slot{ aspect-ratio:16/10; transition:transform 1.1s cubic-bezier(.16,1,.3,1), filter .5s ease; }
.clip:hover .slot{ transform:scale(1.045); }
.clip.liquid .slot{ filter:url(#liquid); }
.clip video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .45s ease; }
.clip.playing video{ opacity:1; }
.clip .play{ position:absolute; right:14px; top:14px; width:38px; height:38px; border-radius:50%; background:color-mix(in srgb,var(--paper) 82%, transparent); backdrop-filter:blur(8px); display:grid; place-items:center; font-size:.72rem; font-family:var(--f-display); }
.clip h4,.clip .card-h{ font-family:var(--f-display); font-weight:500; font-size:1rem; margin:14px 0 3px; letter-spacing:-.015em; }
.clip p{ font-size:.88rem; color:var(--ink-soft); margin:0; }
@media (max-width:900px){ .clips{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .clips{ grid-template-columns:1fr; } }

/* ---------------- process ---------------- */
.process{ background:var(--paper-2); }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2.4vw,34px); margin-top:clamp(32px,6vh,64px); counter-reset:s; }
.step{ position:relative; padding-top:24px; border-top:2px solid var(--sand); }
.step.done{ border-top-color:var(--palm); }
.step .n{ font-family:var(--f-display); font-size:.82rem; color:var(--palm); margin-bottom:10px; }
.step h4,.step .card-h{ font-family:var(--f-display); font-weight:500; font-size:1.12rem; margin:0 0 8px; letter-spacing:-.02em; }
.step p{ font-size:.92rem; color:var(--ink-soft); margin:0; }
@media (max-width:900px){ .steps{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .steps{ grid-template-columns:1fr; } }

/* ---------------- trust ---------------- */
.trust-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,80px); align-items:center; }
.trust-media{ position:relative; overflow:hidden; border-radius:var(--radius); }
.trust-media .slot{ aspect-ratio:4/5; }
.trust-media .parallax{ position:absolute; inset:-12% 0; will-change:transform; }
.note{ border-left:2px solid var(--palm); padding:4px 0 4px 18px; margin-top:26px; }
.note p{ margin:0; font-size:.94rem; color:var(--ink-soft); }
@media (max-width:860px){ .trust-grid{ grid-template-columns:1fr; } }

/* ---------------- contact ---------------- */
.contact{ background:linear-gradient(140deg,#33475C 0%,#557C93 38%,#DB70A2 78%,#E5442A 100%); color:#FFF4EF; }
.contact h2,.contact h3{ color:#fff; }
.contact .lead{ color:#FCE3DA; }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,80px); }
.field{ display:block; margin-bottom:18px; }
.field span{ display:block; font-family:var(--f-display); font-size:.84rem; margin-bottom:7px; color:#FBE0D6; }
.field input,.field select,.field textarea{
  width:100%; padding:13px 15px; border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.06);
  color:#fff; font-family:var(--f-text); font-size:.98rem;
}
.field textarea{ min-height:118px; resize:vertical; }
.field input::placeholder,.field textarea::placeholder{ color:rgba(255,255,255,.45); }
.field select option{ color:#16211C; }
.contact .btn{ background:#F6EFEB; color:#2E3A46; }
.contact .small{ color:#F3D6CC; }
@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }

/* ---------------- footer ---------------- */
footer{ padding-block:clamp(44px,7vh,80px) calc(clamp(30px,5vh,56px) + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--sand); }
.foot-grid{ display:flex; flex-wrap:wrap; gap:26px 60px; align-items:flex-start; justify-content:space-between; }
.foot-links{ display:flex; flex-direction:column; gap:8px; font-family:var(--f-display); font-size:.92rem; }
.foot-links a{ text-decoration:none; color:var(--ink-soft); }
.foot-links a:hover{ color:var(--ink); }
.disclaimer{ margin-top:34px; padding-top:22px; border-top:1px solid var(--sand); }

/* ---------------- curtain ---------------- */
#curtain{ position:fixed; inset:0; z-index:90; pointer-events:none; display:grid; grid-template-columns:repeat(5,1fr); }
#curtain b{ background:var(--palm); transform:scaleY(0); transform-origin:bottom; }
#curtain.in b{ transform:scaleY(1); transform-origin:bottom; transition:transform .5s cubic-bezier(.76,0,.24,1); }
#curtain.out b{ transform:scaleY(0); transform-origin:top; transition:transform .5s cubic-bezier(.76,0,.24,1); }
#curtain.in b:nth-child(2),#curtain.out b:nth-child(2){ transition-delay:.05s }
#curtain.in b:nth-child(3),#curtain.out b:nth-child(3){ transition-delay:.1s }
#curtain.in b:nth-child(4),#curtain.out b:nth-child(4){ transition-delay:.15s }
#curtain.in b:nth-child(5),#curtain.out b:nth-child(5){ transition-delay:.2s }

.eyebrow{ font-family:var(--f-display); font-size:.86rem; color:var(--palm); margin-bottom:18px; }
.rule{ height:1px; background:var(--sand); border:0; margin:0; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .kin > span,.up{ transform:none !important; opacity:1 !important; }
  .reveal .slot{ clip-path:none !important; transform:none !important; }
  .manifesto .word{ opacity:1 !important; }
  .film-track,.areas-track{ height:auto; }
  .film-stage,.areas-stage{ position:static; height:auto; }
  .areas-row{ overflow-x:auto; }
}

/* ---------------- miami beach layer ---------------- */
body{
  background:
    radial-gradient(120% 80% at 88% -6%, rgba(243,180,117,.30) 0%, transparent 58%),
    radial-gradient(110% 70% at 6% 4%, rgba(168,198,215,.34) 0%, transparent 60%),
    var(--paper);
  background-attachment:fixed;
}
.nav.solid{ background:rgba(246,239,235,.86); box-shadow:0 1px 0 var(--sand); }
.brand .dot{ background:linear-gradient(140deg,#F3B475,#E5442A); }
.brand .dot::after{ background:#E5442A; }
.nav-cta{ box-shadow:0 10px 26px -16px rgba(229,68,42,.85); }
.btn:not(.ghost){ box-shadow:0 10px 30px -18px rgba(229,68,42,.9); }
.btn:not(.ghost):hover{ background:var(--palm-light); box-shadow:0 16px 40px -18px rgba(229,68,42,.95); }
.eyebrow,.gate .idx,.step .n{ color:var(--water); }
.step.done{ border-top-color:var(--palm); }
.hero-media::after{
  background:
    linear-gradient(to top, var(--paper) 4%, color-mix(in srgb,var(--paper) 70%, transparent) 40%, transparent 84%),
    linear-gradient(200deg, rgba(219,112,162,.22), rgba(143,174,192,.46) 68%);
}
.film-veil{ background:linear-gradient(to top, rgba(40,58,78,.86), rgba(143,174,192,.30) 44%, transparent 76%); }
.slot{
  background-image:
    radial-gradient(120% 90% at 18% 12%, rgba(168,198,215,.72), transparent 62%),
    radial-gradient(90% 80% at 88% 90%, rgba(240,175,200,.62), transparent 60%),
    radial-gradient(70% 60% at 62% 34%, rgba(243,180,117,.42), transparent 66%);
}
.slot::before{ opacity:.42; }
.note{ border-left-color:var(--water); }
.gates-visual .badge{ background:rgba(246,239,235,.82); }
.clip .play{ background:rgba(246,239,235,.82); color:var(--ink); }
.process{ background:linear-gradient(180deg, rgba(198,217,226,.85), rgba(234,220,214,.5)); }

/* ---------------- blue as structure ---------------- */
:root{ --sky:#C6D9E2; --sky-deep:#8FAEC0; --blush:#EADCD6; }
#valosag, #reality{
  background:linear-gradient(180deg, var(--sky) 0%, color-mix(in srgb, var(--sky) 35%, var(--paper)) 100%);
}
#rolunk, #about{
  background:linear-gradient(180deg, transparent 0%, rgba(234,220,214,.75) 100%);
}
#videok, #videos{
  background:linear-gradient(180deg, rgba(198,217,226,.45) 0%, transparent 60%);
}
.btn.ghost{ border-color:var(--sky-deep); color:var(--ink); }
.btn.ghost:hover{ border-color:var(--water); background:rgba(168,198,215,.28); }
.gate li{ border-bottom-color:color-mix(in srgb, var(--sky-deep) 45%, transparent); }
.gate li:first-child{ border-top-color:color-mix(in srgb, var(--sky-deep) 45%, transparent); }
.gate{ border-top-color:color-mix(in srgb, var(--sky-deep) 45%, transparent); }
.step{ border-top-color:var(--sky-deep); }
.nav-links a::after{ background:var(--water); }
footer{ border-top-color:var(--sky-deep); background:linear-gradient(180deg, rgba(198,217,226,.35), transparent); }
.disclaimer{ border-top-color:color-mix(in srgb, var(--sky-deep) 45%, transparent); }

/* ---------------- miami cyan + pink ---------------- */
body{
  background:
    radial-gradient(120% 80% at 88% -6%, rgba(249,141,201,.30) 0%, transparent 58%),
    radial-gradient(110% 70% at 6% 4%, rgba(39,253,245,.28) 0%, transparent 60%),
    var(--paper);
}
.nav.solid{ background:rgba(233,253,252,.85); box-shadow:0 1px 0 var(--sand-deep); }
.nav-cta,.btn:not(.ghost){ color:#0C3A44; }
.nav-cta{ box-shadow:0 10px 26px -14px rgba(247,101,184,.9); }
.btn:not(.ghost){ box-shadow:0 10px 30px -16px rgba(247,101,184,.9); }
.btn:not(.ghost):hover{ background:var(--pink-soft); }
.brand .dot{ background:linear-gradient(140deg,#27FDF5,#F765B8); }
.brand .dot::after{ background:#F765B8; }
.eyebrow,.gate .idx,.step .n{ color:var(--water); }
.step{ border-top-color:var(--sand-deep); }
.step.done{ border-top-color:var(--pink); }

/* hero photo */
.hero-media .slot{ background:#0C3A44; }
.hero-media .slot::before{ display:none; }
.hero-media img{ width:100%; height:100%; object-fit:cover; object-position:50% 38%; }
.hero-media::after{
  background:
    linear-gradient(to top, var(--paper) 2%, color-mix(in srgb,var(--paper) 78%, transparent) 30%, color-mix(in srgb,var(--paper) 20%, transparent) 56%, transparent 80%),
    linear-gradient(210deg, rgba(247,101,184,.26), rgba(39,253,245,.26) 72%);
}
.hero h1{ text-shadow:0 2px 26px rgba(233,253,252,.55); }

/* sections */
#valosag, #reality{ background:linear-gradient(180deg, var(--paper-2) 0%, color-mix(in srgb, var(--paper-2) 30%, var(--paper)) 100%); }
#rolunk, #about{ background:linear-gradient(180deg, transparent 0%, rgba(249,141,201,.22) 100%); }
#videok, #videos{ background:linear-gradient(180deg, rgba(39,253,245,.16) 0%, transparent 60%); }
.process{ background:linear-gradient(180deg, rgba(39,253,245,.20), rgba(249,141,201,.18)); }
.film-veil{ background:linear-gradient(to top, rgba(12,58,68,.80), rgba(39,253,245,.20) 44%, transparent 76%); }
.film-cap p{ color:#D7FFFE; }
.slot{
  background-color:var(--paper-2);
  background-image:
    radial-gradient(120% 90% at 18% 12%, rgba(39,253,245,.70), transparent 62%),
    radial-gradient(90% 80% at 88% 90%, rgba(249,141,201,.70), transparent 60%),
    radial-gradient(70% 60% at 62% 34%, rgba(215,255,254,.85), transparent 66%);
}
.slot::before{ opacity:.30; }
.gates-visual .badge{ background:rgba(233,253,252,.85); }
.clip .play{ background:rgba(233,253,252,.85); color:var(--ink); }
.note{ border-left-color:var(--pink); }
.gate li,.gate li:first-child,.gate,.disclaimer,footer{ border-color:var(--sand-deep); }
footer{ background:linear-gradient(180deg, rgba(39,253,245,.14), transparent); }
.nav-links a::after{ background:var(--pink); }
.btn.ghost{ border-color:var(--sand-deep); }
.btn.ghost:hover{ border-color:var(--pink); background:rgba(39,253,245,.20); }

/* contact block on the full gradient */
.contact{
  background:linear-gradient(135deg,#27FDF5 0%,#A8F6F8 30%,#F98DC9 72%,#F765B8 100%);
  color:#0C3A44;
}
.contact h2,.contact h3{ color:#0C3A44; }
.contact .lead{ color:#10454F; }
.contact .small{ color:#14525E; }
.contact .field span{ color:#10454F; }
.contact .field input,.contact .field select,.contact .field textarea{
  background:rgba(255,255,255,.62); border-color:rgba(12,58,68,.22); color:#0C3A44;
}
.contact .field input::placeholder,.contact .field textarea::placeholder{ color:rgba(12,58,68,.45); }
.contact .btn{ background:#0C3A44; color:#D7FFFE; box-shadow:none; }

/* ---------------- white hero type ---------------- */
.hero-media::after{
  background:
    linear-gradient(to top, rgba(5,38,46,.90) 0%, rgba(5,38,46,.62) 26%, rgba(5,38,46,.18) 50%, transparent 72%),
    linear-gradient(210deg, rgba(247,101,184,.22), rgba(39,253,245,.20) 70%);
}
.hero h1{ color:#FFFFFF; font-weight:700; text-shadow:0 2px 30px rgba(5,38,46,.45); }
.hero .lead{ color:rgba(255,255,255,.90); }
.hero .scrollcue{ color:rgba(255,255,255,.78); }
.hero .scrollcue i{ background:linear-gradient(rgba(255,255,255,.7),transparent); }
.hero .scrollcue i::after{ background:#27FDF5; }
.hero .btn.ghost{ color:#FFFFFF; border-color:rgba(255,255,255,.55); }
.hero .btn.ghost:hover{ border-color:#27FDF5; background:rgba(255,255,255,.12); }
.nav:not(.solid) .brand,.nav:not(.solid) .nav-links a{ color:rgba(255,255,255,.92); }
.nav:not(.solid) .nav-links a:hover{ color:#FFFFFF; }

/* ---------------- hero cut-out family ---------------- */
.hero-figure{
  opacity:0;
  position:absolute; right:clamp(0px,3vw,70px); bottom:0; margin:0;
  height:min(80vh,780px); z-index:1; pointer-events:none;
  will-change:transform,opacity;
}
.hero-figure img{
  height:100%; width:auto; display:block;
  filter:drop-shadow(0 30px 60px rgba(5,38,46,.45));
}
.hero-in{ position:relative; z-index:2; }
@media (max-width:1100px){ .hero-figure{ height:min(58vh,520px); opacity:.9; } }
@media (max-width:820px){ .hero-figure{ display:none; } }
@media (prefers-reduced-motion: reduce){ .hero-figure{ opacity:1; } }

/* ---------------- film video ---------------- */
.film-stage video{ z-index:1; }
.film-stage .film-fallback{ display:none; }
.film-stage .slot::before,.film-stage .slot::after{ display:none; }
.film-veil{ z-index:2; }
.film-caps,.film-bar{ z-index:3; }

.reveal .slot img{ position:relative; z-index:1; }
.slot:has(img)::before{ display:none; }
.slot img{ position:relative; z-index:1; }

/* ---------------- a11y ---------------- */
.skip{ position:absolute; left:16px; top:-60px; z-index:100; background:var(--ink); color:#fff; padding:10px 16px; border-radius:100px; font-family:var(--f-display); text-decoration:none; }
.skip:focus{ top:12px; }
.btn:focus-visible,.nav-cta:focus-visible{ outline:3px solid var(--ink); outline-offset:3px; }
.nav:not(.solid) .btn:focus-visible,.nav:not(.solid) .nav-cta:focus-visible{ outline-color:#fff; }
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{ outline:3px solid var(--ink); outline-offset:1px; }
.nav-links a:focus-visible{ outline-offset:6px; }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width:820px){ .hero h1{ font-size:clamp(2.2rem,11vw,3.4rem); } .hero .lead{ font-size:1.02rem; } }

/* ---------------- inner pages ---------------- */
.page{ padding-top:calc(88px + env(safe-area-inset-top,0px)); }
.page .nav{ background:color-mix(in srgb, var(--paper) 88%, transparent); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--sand-deep); }
.page-head{ padding-block:clamp(40px,7vh,88px) clamp(28px,5vh,56px); }
.page-head h1{ font-size:clamp(2.2rem,5.4vw,4.4rem); max-width:18ch; margin-bottom:.4em; }
.page-head .lead{ max-width:56ch; }
.crumbs{ font-family:var(--f-display); font-size:.86rem; color:var(--ink-soft); margin:0 0 22px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:6px; }
.crumbs li+li::before{ content:"/"; margin-right:6px; opacity:.5; }
.crumbs a{ text-decoration:none; color:var(--ink-soft); } .crumbs a:hover{ color:var(--ink); }
.prose{ max-width:66ch; }
.prose h2{ font-size:clamp(1.5rem,2.8vw,2.3rem); margin:2.2em 0 .6em; }
.prose h3{ margin:1.8em 0 .5em; }
.prose p,.prose li{ max-width:none; }
.prose ul,.prose ol{ padding-left:1.2em; margin:0 0 1.2em; }
.prose li{ margin-bottom:.4em; }
.prose blockquote{ margin:1.6em 0; padding:4px 0 4px 20px; border-left:2px solid var(--pink); font-family:var(--f-display); font-size:1.1rem; }
.prose .answer{ font-size:clamp(1.1rem,1.5vw,1.3rem); border-left:2px solid var(--water); padding-left:20px; margin:0 0 2em; }
.prose figure{ margin:2em 0; } .prose figure img{ border-radius:var(--radius); width:100%; height:auto; }
.prose figcaption{ font-size:.86rem; color:var(--ink-soft); margin-top:8px; }
.page-grid{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(28px,5vw,80px); align-items:start; }
.aside{ position:sticky; top:96px; }
.aside .card{ background:color-mix(in srgb, var(--paper-2) 70%, transparent); border:1px solid var(--sand-deep); border-radius:var(--radius); padding:22px; }
.aside .card h2{ font-size:1.15rem; margin:0 0 10px; }
.aside .card p{ font-size:.94rem; color:var(--ink-soft); }
.aside .card .btn{ width:100%; text-align:center; margin-top:8px; }
.aside .links{ list-style:none; padding:0; margin:26px 0 0; font-family:var(--f-display); font-size:.92rem; }
.aside .links li{ padding:9px 0; border-bottom:1px solid color-mix(in srgb, var(--sand-deep) 60%, transparent); }
.aside .links a{ text-decoration:none; color:var(--ink-soft); } .aside .links a:hover{ color:var(--ink); }
@media (max-width:900px){ .page-grid{ grid-template-columns:1fr; } .aside{ position:static; } }
.faq{ margin:0; }
.faq details{ border-top:1px solid var(--sand-deep); }
.faq details:last-child{ border-bottom:1px solid var(--sand-deep); }
.faq summary{ cursor:pointer; list-style:none; padding:20px 44px 20px 0; font-family:var(--f-display); font-weight:500; font-size:1.08rem; position:relative; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%); color:var(--pink); font-size:1.5rem; font-weight:400; }
.faq details[open] summary::after{ content:"–"; }
.faq .body{ padding:0 0 22px; max-width:66ch; }
.faq .body p:last-child{ margin-bottom:0; }
.cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:clamp(16px,2.4vw,32px); margin-top:clamp(28px,5vh,56px); }
.card-link{ text-decoration:none; display:block; }
.card-link .slot{ aspect-ratio:4/3; border-radius:var(--radius); margin-bottom:14px; transition:transform .6s cubic-bezier(.16,1,.3,1); }
.card-link:hover .slot{ transform:translateY(-6px); }
.card-link h2,.card-link h3{ font-size:1.15rem; margin:0 0 6px; }
.card-link p{ font-size:.92rem; color:var(--ink-soft); margin:0; }
.card-link .more{ font-family:var(--f-display); font-size:.86rem; color:var(--water); margin-top:10px; display:inline-block; }
.facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin:1.6em 0 2.2em; padding:0; list-style:none; }
.facts li{ background:color-mix(in srgb, var(--paper-2) 70%, transparent); border:1px solid color-mix(in srgb, var(--sand-deep) 60%, transparent); border-radius:var(--radius); padding:14px 16px; }
.facts b{ display:block; font-family:var(--f-display); font-weight:500; font-size:.8rem; color:var(--ink-soft); margin-bottom:4px; }
.cta-band{ background:linear-gradient(135deg,#27FDF5 0%,#A8F6F8 30%,#F98DC9 72%,#F765B8 100%); color:#0C3A44; padding-block:clamp(48px,8vh,96px); }
.cta-band h2{ max-width:20ch; margin-bottom:.5em; }
.cta-band .btn{ background:#0C3A44; color:#D7FFFE; box-shadow:none; }
.page footer{ margin-top:0; }

/* ---------------- contrast fixes (WCAG AA) ---------------- */
:root{ --water-text:#0A6F7B; }
.eyebrow,.gate .idx,.step .n,.card-link .more{ color:var(--water-text); }
.nav-cta,.btn:not(.ghost){ color:#07262D; }
.contact .btn{ color:#D7FFFE; }
.manifesto .word{ opacity:1; }
.cta-band .btn,.contact .btn,.aside .card .btn:hover{ color:#D7FFFE; }
.aside .card .btn:hover{ color:#07262D; }

/* form honeypot: off-screen, bots fill it, humans never see it */
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ---------------- sand and ink (homok és tinta) ---------------- */
/* flat colour fields, no gradients, square corners. Overrides every layer above. */
:root{
  --paper:#F7F3EB;
  --sandblock:#E7DCCA;
  --ink:#15231F;
  --ink-soft:#4E615A;
  --lagoon:#0C6E6B;
  --lagoon-dark:#095653;
  --line:#D8CFBF;

  --paper-2:#E7DCCA;
  --palm:#0C6E6B;
  --palm-light:#0C6E6B;
  --water:#0C6E6B;
  --water-text:#0C6E6B;
  --water-pale:#E7DCCA;
  --sand:#D8CFBF;
  --sand-deep:#15231F;
  --sky:#E7DCCA;
  --sky-deep:#15231F;
  --pink:#0C6E6B;
  --pink-soft:#0C6E6B;
}
body{ background:var(--paper); }

/* nav */
.nav.solid,.page .nav{ background:var(--paper); backdrop-filter:none; box-shadow:0 1px 0 var(--line); }
.nav-progress{ background:var(--lagoon); }
.nav-links a::after{ background:var(--lagoon); }
.brand .dot,.brand .dot::after{ background:var(--lagoon); }
.nav-cta{ background:var(--lagoon); color:#FFFFFF; box-shadow:none; border-radius:0; }

/* buttons */
.btn,.btn:not(.ghost),.btn:not(.ghost):hover{ border-radius:0; box-shadow:none; }
.btn:not(.ghost){ background:var(--lagoon); color:#FFFFFF; }
.btn:not(.ghost):hover{ background:var(--ink); color:#FFFFFF; }
.btn.ghost{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn.ghost:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

/* hero: one flat veil */
.hero-media .slot{ background:var(--ink); }
.hero-media::after{ background:rgba(21,35,31,.48); }
.hero h1{ color:#FFFFFF; text-shadow:none; }
.hero .lead,.hero .scrollcue{ color:#FFFFFF; }
.hero .scrollcue i{ background:rgba(255,255,255,.45); }
.hero .scrollcue i::after{ background:var(--paper); }
.hero .btn.ghost{ color:#FFFFFF; border-color:#FFFFFF; }
.hero .btn.ghost:hover{ background:#FFFFFF; color:var(--ink); border-color:#FFFFFF; }

/* film */
.film-veil{ background:rgba(21,35,31,.46); }
.film-cap h3,.film-cap p{ color:#FFFFFF; }
.film-bar{ background:rgba(255,255,255,.35); }
.film-bar i{ background:var(--paper); }
.film-fallback .layer{ background:none; }
.film-fallback .l1{ background:var(--lagoon); }

/* empty image slots: one flat block */
.slot{ background:var(--sandblock); background-image:none; }
.slot::before{ display:none; }
.slot[data-label]::after{ background:var(--paper); color:var(--lagoon); border-radius:0; backdrop-filter:none; }

/* sections: full-bleed colour fields behind the .wrap sections */
#valosag,#reality,#videok,#videos{ clip-path:inset(0 -100vw); }
#valosag,#reality{ background:var(--lagoon); box-shadow:0 0 0 100vw var(--lagoon); }
#valosag h2,#reality h2,#valosag .lead,#reality .lead,
#valosag .reveal h4,#reality .reveal h4,#valosag .reveal .card-h,#reality .reveal .card-h{ color:#FFFFFF; }
#valosag .reveal p,#reality .reveal p{ color:#D5E3E1; }
#valosag .eyebrow,#reality .eyebrow{ color:#9CCCC8; }
#valosag .slot,#reality .slot{ background:var(--lagoon-dark); }
#valosag .slot[data-label]::after,#reality .slot[data-label]::after{ background:var(--lagoon-dark); color:#D5E3E1; }

.gates{ background:var(--paper); }
.gates-visual .badge{ background:var(--paper); color:var(--ink); border-radius:0; backdrop-filter:none; }

#videok,#videos{ background:var(--sandblock); box-shadow:0 0 0 100vw var(--sandblock); }
#videok .clip p,#videos .clip p{ color:var(--ink); }
#videok .card-link .more,#videos .card-link .more{ color:var(--lagoon-dark); } /* #0C6E6B on #E7DCCA is 4.47:1, under 4.5 */
#videok .slot,#videos .slot{ background:#DACDB6; }
#videok .slot[data-label]::after,#videos .slot[data-label]::after{ background:#DACDB6; color:var(--ink-soft); }

.process{ background:var(--paper); }
.process .step p{ color:var(--ink); }
#rolunk,#about{ background:var(--paper); }

/* contact */
.contact{ background:var(--ink); color:#FFFFFF; }
.contact h2,.contact h3,.contact .lead,.contact .small,.contact .field span{ color:#FFFFFF; }
.contact .field input,.contact .field select,.contact .field textarea{
  background:var(--paper); border:1px solid var(--paper); border-radius:0; color:var(--ink);
}
.contact .field input::placeholder,.contact .field textarea::placeholder{ color:var(--ink-soft); }
.contact .btn{ background:var(--lagoon); color:#FFFFFF; }
.contact .btn:hover{ background:var(--paper); color:var(--ink); }
.contact .btn:focus-visible,.contact .field input:focus-visible,.contact .field select:focus-visible,.contact .field textarea:focus-visible{ outline-color:var(--paper); }

footer{ background:var(--paper); border-top:1px solid var(--line); }

/* lines and markers */
.eyebrow,.gate .idx,.step .n,.card-link .more{ color:var(--lagoon); }
.rule,.gate,.gate li,.gate li:first-child,.disclaimer{ border-color:var(--line); }
.step{ border-top:2px solid var(--line); }
.step.done{ border-top-color:var(--lagoon); }
.note{ border-left:3px solid var(--lagoon); }
.reveal .slot,.reveal:nth-child(1) .slot,.reveal:nth-child(3) .slot,
.area .slot,.clip .slot,.clip .frame,.trust-media,.gates-visual{ border-radius:0; }
#curtain b{ background:var(--lagoon); }
#curtain b:nth-child(even){ background:var(--ink); }

/* inner pages */
.faq details,.faq details:last-child,.aside .card,.aside .links li,.facts li{ border-color:var(--line); }
.aside .card .btn:hover{ color:#FFFFFF; }
.cta-band{ background:var(--sandblock); color:var(--ink); }
.cta-band .btn{ background:var(--lagoon); color:#FFFFFF; }

/* form consent checkbox */
.consent{ display:flex; gap:10px; align-items:flex-start; margin:4px 0 22px; font-size:.86rem; line-height:1.5; }
.consent input{ width:18px; height:18px; margin-top:2px; flex:0 0 auto; accent-color:var(--lagoon); }
.contact .consent{ color:#FFFFFF; }
.contact .consent a{ color:#FFFFFF; }

/* footer: titled columns, social icons */
.foot-grid{ display:grid; grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr)); gap:36px 48px; align-items:start; }
.foot-h{ margin:0 0 6px; font-family:var(--f-display); font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); }
.foot-links{ gap:10px; }
.foot-links a{ width:max-content; max-width:100%; padding-block:2px; background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat; transition:background-size .25s ease,color .2s ease; }
.foot-links a:hover{ background-size:100% 1px; }
.foot-social .foot-h{ margin-bottom:16px; }
.social{ display:flex; flex-wrap:wrap; gap:10px; }
.social a{ display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--ink); color:var(--ink); transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.social a:hover{ background:var(--lagoon); border-color:var(--lagoon); color:#FFFFFF; }
.social a:focus-visible{ outline:2px solid var(--lagoon); outline-offset:3px; }
.social svg{ display:block; }
.social-handle{ margin:12px 0 0; font-family:var(--f-display); }
@media (max-width:900px){
  .foot-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .foot-brand{ grid-column:1 / -1; }
}
@media (max-width:560px){
  .foot-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
  .foot-social{ grid-column:1 / -1; }
}
@media (prefers-reduced-motion:reduce){ .foot-links a,.social a{ transition:none; } }

/* logo */
.nav-in{ padding-block:8px; }
.brand img{ display:block; height:56px; width:auto; }
.brand .logo-dark{ display:none; }
.nav:not(.solid) .brand:has(.logo-dark) .logo-light{ display:none; }
.nav:not(.solid) .brand .logo-dark{ display:block; }
.foot-logo{ margin-bottom:14px; }
.foot-logo img{ height:72px; }
@media (max-width:860px){ .nav-cta{ margin-left:auto; } }  /* menu links are hidden: keep the button on the right */
@media (max-width:560px){
  .nav-in{ padding-block:12px; }
  .nav .brand img{ height:48px; }
}

/* footer disclaimer: full width, small print */
.disclaimer{ margin-top:40px; padding-top:20px; }
.disclaimer p{ max-width:none; margin:0; font-size:.74rem; line-height:1.65; letter-spacing:.01em; color:var(--ink-soft); text-wrap:pretty; }
