/* ============================================================
   THE CUSTOM BOOTH — SHARED STYLESHEET
   Studio Maximal · Dir.B · Boldonse / Bricolage Grotesque / Gloock
   Tokens + base + components, derived from /marca design system.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Boldonse&family=Bricolage+Grotesque:opsz,wght@12..96,200..800&family=Gloock&display=swap');

:root{
  /* colors */
  --tcb-coral:#FF5C2A; --tcb-coral-600:#E84A1B; --tcb-coral-400:#FF7A4F; --tcb-coral-tint:#FFE3D8;
  --tcb-ink:#0E0E0E; --tcb-ink-700:#2B2A28; --tcb-ink-500:#57534C; --tcb-ink-300:#9A958C; --tcb-ink-200:#C8C2B7; --tcb-ink-100:#E7E1D6;
  --tcb-bone-0:#FFFFFF; --tcb-bone-50:#FCFAF5; --tcb-bone-100:#F8F4ED; --tcb-bone-200:#F0EADD; --tcb-bone-300:#E6DECE;
  --tcb-pink:#F4D5CB; --tcb-cobalt:#1E3CFF;
  --tcb-kids:#FFC23D; --tcb-weddings:#E8889B; --tcb-corporate:#1E3CFF; --tcb-skincare:#6FB39A;

  --surface-page:var(--tcb-bone-100); --surface-card:var(--tcb-bone-0); --surface-raised:var(--tcb-bone-50);
  --surface-sunken:var(--tcb-bone-200); --surface-inverse:var(--tcb-ink); --surface-brand:var(--tcb-coral); --surface-pink:var(--tcb-pink);
  --text-strong:var(--tcb-ink); --text-body:var(--tcb-ink-700); --text-muted:var(--tcb-ink-500); --text-faint:var(--tcb-ink-300);
  --text-on-ink:var(--tcb-bone-100); --text-on-coral:var(--tcb-bone-100); --text-brand:var(--tcb-coral);
  --line-hairline:var(--tcb-ink-100); --line-strong:var(--tcb-ink); --line-brand:var(--tcb-coral); --focus-ring:var(--tcb-cobalt);

  /* type */
  --font-display:"Boldonse","Arial Black",sans-serif;
  --font-body:"Bricolage Grotesque",system-ui,-apple-system,sans-serif;
  --font-accent:"Gloock","Times New Roman",serif;
  --text-xl:1.5rem; --text-lg:1.25rem; --text-md:1.0625rem; --text-sm:.9375rem; --text-xs:.8125rem; --text-2xs:.6875rem;
  --weight-medium:500; --weight-semibold:600; --weight-bold:700;
  --leading-display:1.06; --leading-body:1.55;
  --tracking-display:-0.01em; --tracking-label:0.16em; --tracking-wide:0.26em;

  /* spacing / radii / borders / shadow / motion */
  --gutter:clamp(1.25rem,4vw,4rem); --container:1240px; --container-narrow:760px;
  --radius-sm:4px; --radius-md:8px; --radius-lg:14px; --radius-pill:999px;
  --border-hair:1px solid var(--line-hairline); --border-rule:1.5px solid var(--line-strong); --border-bold:2.5px solid var(--line-strong);
  --shadow-soft:0 1px 2px rgba(14,14,14,.06),0 6px 18px rgba(14,14,14,.06);
  --shadow-card:0 2px 4px rgba(14,14,14,.05),0 12px 28px rgba(14,14,14,.08);
  --shadow-stamp:4px 4px 0 var(--tcb-ink); --shadow-stamp-coral:4px 4px 0 var(--tcb-coral); --shadow-lift:0 10px 30px rgba(14,14,14,.14);
  --ease-out:cubic-bezier(0.16,1,0.3,1); --ease-in-out:cubic-bezier(0.65,0,0.35,1);
  --dur-fast:120ms; --dur-base:220ms; --dur-slow:420ms;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-body);
  color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
a{color:inherit;text-decoration:none;} img{display:block;max-width:100%;height:auto;}
::selection{background:var(--tcb-coral);color:var(--tcb-bone-100);}
:focus-visible{outline:2.5px solid var(--focus-ring);outline-offset:2px;}

/* language */
.es-content{display:block;} .en-content{display:none;}
body.lang-en .es-content{display:none;} body.lang-en .en-content{display:block;}
.es-inline{display:inline;} .en-inline{display:none;}
body.lang-en .es-inline{display:none;} body.lang-en .en-inline{display:inline;}

/* primitives */
.display{font-family:var(--font-display);font-weight:400;text-transform:uppercase;line-height:var(--leading-display);letter-spacing:var(--tracking-display);color:var(--text-strong);}
.accent{font-family:var(--font-accent);font-style:italic;}
.label{font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);}
.tag{font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;}
.ast{color:var(--tcb-coral);}
.wrap{max-width:var(--container);margin:0 auto;} .narrow{max-width:var(--container-narrow);margin:0 auto;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:var(--radius-pill);font-family:var(--font-body);
  font-weight:var(--weight-bold);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;padding:14px 24px;
  cursor:pointer;border:2.5px solid transparent;transition:transform var(--dur-base) var(--ease-out),background var(--dur-base),color var(--dur-base),box-shadow var(--dur-base);}
.btn--primary{background:var(--tcb-ink);color:var(--text-on-ink);}
.btn--primary:hover{background:var(--tcb-ink-700);transform:translateY(-2px);box-shadow:var(--shadow-lift);}
.btn--coral{background:var(--tcb-coral);color:var(--text-on-coral);}
.btn--coral:hover{background:var(--tcb-coral-400);transform:translateY(-2px);box-shadow:var(--shadow-lift);}
.btn--outline{background:transparent;color:var(--text-strong);border-color:var(--line-strong);}
.btn--outline:hover{background:var(--tcb-ink);color:var(--text-on-ink);transform:translateY(-2px);}
.btn--light{background:var(--tcb-bone-100);color:var(--tcb-ink);}
.btn--light:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lift);}
.btn .arrow{transition:transform var(--dur-base) var(--ease-out);}
.btn:hover .arrow{transform:translateX(4px);}

/* top bar */
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:24px;padding:14px var(--gutter);
  background:color-mix(in srgb,var(--surface-page) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:var(--border-hair);}
.top__mark{font-family:var(--font-display);text-transform:uppercase;font-size:15px;letter-spacing:-.01em;color:var(--text-strong);}
.top__nav{display:flex;align-items:center;gap:22px;margin-left:14px;}
.top__link{font-size:14px;font-weight:600;color:var(--text-body);transition:color var(--dur-base);}
.top__link:hover{color:var(--tcb-coral);}
.top__actions{margin-left:auto;display:flex;align-items:center;gap:12px;}
.langbtn{background:none;border:var(--border-hair);color:var(--text-strong);padding:6px 10px;border-radius:var(--radius-pill);
  font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.06em;cursor:pointer;text-transform:uppercase;display:flex;gap:6px;}
.langbtn span{opacity:.4;transition:opacity var(--dur-base);} .langbtn span.active{opacity:1;color:var(--tcb-coral);}
/* dropdown */
.top__item{position:relative;display:flex;align-items:center;}
.top__link.has-caret::after{content:"▾";font-size:10px;margin-left:6px;opacity:.55;}
.top__sub{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;background:var(--surface-card);border:var(--border-rule);
  border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:8px;display:flex;flex-direction:column;gap:2px;z-index:50;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),visibility var(--dur-base);}
.top__item:hover .top__sub,.top__item:focus-within .top__sub{opacity:1;visibility:visible;transform:none;}
.top__sub a{padding:10px 12px;font-size:14px;font-weight:600;border-radius:var(--radius-sm);color:var(--text-body);transition:background var(--dur-fast),color var(--dur-fast);}
.top__sub a:hover{background:var(--surface-sunken);color:var(--tcb-coral);}
.top__sub a small{display:block;font-weight:500;font-size:11px;color:var(--text-faint);text-transform:none;letter-spacing:0;}

/* hero */
.hero{position:relative;padding:clamp(56px,9vw,120px) var(--gutter) clamp(40px,5vw,72px);overflow:hidden;}
.hero__inner{position:relative;z-index:2;}
.hero__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:clamp(28px,5vw,52px);}
.hero__eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--tcb-coral);}
.hero h1{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.6rem,8vw,6.4rem);line-height:1.06;letter-spacing:-.02em;color:var(--text-strong);margin:0;}
.hero h1 .ln{display:block;margin-bottom:.16em;}
.hero h1 .ln:last-child{margin-bottom:0;}
.hero__sub{font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.45;max-width:42ch;margin:clamp(24px,3vw,34px) 0 0;color:var(--text-body);}
.hero__sub .accent{color:var(--tcb-coral);font-size:1.08em;}
.hero__cta{display:flex;gap:14px;margin:clamp(28px,4vw,40px) 0 0;flex-wrap:wrap;}
.hero__tags{display:flex;gap:10px;margin:clamp(28px,4vw,40px) 0 0;flex-wrap:wrap;}
.hero__tags .chip{border:var(--border-hair);border-radius:var(--radius-pill);padding:8px 14px;color:var(--text-muted);background:var(--surface-card);}
.hero__ast{position:absolute;top:-6vh;right:-6vw;width:clamp(220px,34vw,460px);height:clamp(220px,34vw,460px);color:var(--tcb-coral);opacity:.10;z-index:1;animation:spin 90s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* marquee */
.marq{background:var(--tcb-ink);overflow:hidden;padding:15px 0;border-top:var(--border-bold);border-bottom:var(--border-bold);}
.marq__row{display:flex;width:max-content;animation:scrollx 30s linear infinite;}
.marq__item{display:inline-flex;align-items:center;gap:18px;color:var(--tcb-bone-100);font-family:var(--font-display);text-transform:uppercase;font-size:18px;letter-spacing:.02em;white-space:nowrap;padding:0 18px;}
.marq__item .ast{color:var(--tcb-coral);}
@keyframes scrollx{to{transform:translateX(-50%);}}

/* sections */
.sec{padding:clamp(56px,8vw,120px) var(--gutter);}
.sec--ink{background:var(--tcb-ink);color:var(--tcb-bone-100);}
.sec--ink .sec__h,.sec--ink .label{color:var(--tcb-bone-100);}
.sec--raised{background:var(--surface-raised);} .sec--sunken{background:var(--surface-sunken);} .sec--pink{background:var(--surface-pink);}
.sec__head{margin-bottom:clamp(36px,5vw,64px);}
.sec__label{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.sec__h{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.8rem,4.6vw,3.3rem);line-height:1.16;letter-spacing:-.015em;color:var(--text-strong);margin:0;}
.sec__h .ln{display:block;margin-bottom:.14em;}
.sec__h .ln:last-child{margin-bottom:0;}
.sec__lead{font-size:var(--text-xl);line-height:1.4;max-width:46ch;margin:20px 0 0;color:var(--text-body);}
.sec--ink .sec__lead{color:var(--tcb-ink-200);}

/* statement / prose */
.stmt{font-family:var(--font-accent);font-style:italic;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.3;color:var(--text-strong);max-width:30ch;}
.prose{font-size:var(--text-lg);line-height:1.55;color:var(--text-body);max-width:48ch;}
.tworow{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);}
@media(min-width:860px){.tworow{grid-template-columns:1.1fr .9fr;align-items:end;}}

/* feature lists / two columns */
.cols2{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,40px);}
@media(min-width:760px){.cols2{grid-template-columns:1fr 1fr;}}
.col{border-top:var(--border-rule);padding-top:22px;}
.col h3{font-family:var(--font-display);text-transform:uppercase;font-size:18px;letter-spacing:-.01em;margin:0 0 18px;color:var(--text-strong);}
.flist{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.flist li{display:flex;gap:12px;font-size:var(--text-md);line-height:1.45;}
.flist li::before{content:"→";color:var(--tcb-coral);font-weight:700;}

/* ink scenario cards */
.cardgrid{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:680px){.cardgrid--2{grid-template-columns:1fr 1fr;} .cardgrid--3{grid-template-columns:1fr 1fr;}}
@media(min-width:1040px){.cardgrid--3{grid-template-columns:repeat(3,1fr);} .cardgrid--4{grid-template-columns:repeat(4,1fr);}}
@media(min-width:680px) and (max-width:1039px){.cardgrid--4{grid-template-columns:1fr 1fr;}}
.scard{background:var(--tcb-ink-700);border-radius:var(--radius-md);padding:24px;min-height:200px;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;
  border:1px solid rgba(255,255,255,.08);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base);}
.scard:hover{transform:translateY(-4px);box-shadow:var(--shadow-stamp-coral);}
.scard__num{font-family:var(--font-display);color:var(--tcb-coral);font-size:14px;}
.scard__t{font-family:var(--font-display);text-transform:uppercase;font-size:18px;line-height:1.18;margin:14px 0 8px;color:var(--tcb-bone-100);letter-spacing:-.01em;}
.scard__d{font-size:14px;line-height:1.5;color:var(--tcb-ink-200);margin:0;}

/* light cards (on bone) */
.lcard{background:var(--surface-card);border:var(--border-rule);border-radius:var(--radius-md);padding:24px;
  transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base);}
.lcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-stamp);}
.lcard__t{font-family:var(--font-display);text-transform:uppercase;font-size:20px;line-height:1.05;margin:0 0 10px;letter-spacing:-.01em;color:var(--text-strong);}
.lcard__d{font-size:var(--text-sm);line-height:1.5;color:var(--text-body);margin:0;}
.lcard__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}

/* price (Gloock) */
.price{font-family:var(--font-accent);font-style:italic;font-size:clamp(1.8rem,3.2vw,2.6rem);color:var(--text-strong);line-height:1;}
.price span{font-family:var(--font-body);font-style:normal;font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;}

/* package cards */
.pkgs{display:grid;grid-template-columns:1fr;gap:20px;align-items:stretch;}
@media(min-width:760px){.pkgs{grid-template-columns:repeat(3,1fr);}}
.pkg{background:var(--surface-card);border:var(--border-rule);border-radius:var(--radius-md);padding:28px 24px;display:flex;flex-direction:column;gap:14px;position:relative;
  transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base);}
.pkg:hover{transform:translateY(-4px);box-shadow:var(--shadow-stamp);}
.pkg--feat{border:var(--border-bold);box-shadow:var(--shadow-stamp-coral);}
.pkg--feat:hover{box-shadow:6px 6px 0 var(--tcb-coral);}
.pkg__badge{position:absolute;top:-13px;left:22px;background:var(--tcb-ink);color:var(--tcb-kids);font-family:var(--font-body);font-weight:700;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:var(--radius-pill);}
.pkg__name{font-family:var(--font-display);text-transform:uppercase;font-size:24px;line-height:1.1;letter-spacing:-.01em;color:var(--text-strong);margin:4px 0 0;}
.pkg__tag{font-family:var(--font-accent);font-style:italic;font-size:var(--text-md);color:var(--text-muted);}
.pkg__list{list-style:none;margin:6px 0;padding:0;display:grid;gap:9px;flex:1;}
.pkg__list li{display:flex;gap:10px;font-size:var(--text-sm);line-height:1.4;color:var(--text-body);}
.pkg__list li::before{content:"→";color:var(--tcb-coral);font-weight:700;}
.pkg__foot{border-top:var(--border-hair);padding-top:16px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;}

/* stats */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-hairline);border:var(--border-hair);margin-bottom:clamp(36px,5vw,56px);}
@media(min-width:760px){.stats{grid-template-columns:repeat(4,1fr);}}
.stat{background:var(--surface-page);padding:28px 20px;text-align:center;}
.stat__n{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);color:var(--text-strong);line-height:1;letter-spacing:-.02em;}
.stat__l{font-family:var(--font-body);font-weight:600;font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-top:10px;}

/* op grid */
.opgrid{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,36px);}
@media(min-width:760px){.opgrid{grid-template-columns:1fr 1fr;}}
.opitem{border-top:var(--border-rule);padding-top:18px;}
.opitem h3{font-family:var(--font-display);text-transform:uppercase;font-size:16px;margin:0 0 10px;color:var(--text-strong);letter-spacing:-.01em;}
.opitem p{margin:0;font-size:var(--text-md);line-height:1.5;color:var(--text-body);}

/* doors (hub) */
.doors{display:grid;grid-template-columns:1fr;}
@media(min-width:860px){.doors{grid-template-columns:1fr 1fr;}}
.door{position:relative;padding:clamp(40px,5vw,72px) clamp(28px,4vw,56px);min-height:clamp(420px,70vh,620px);
  display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform var(--dur-base) var(--ease-out);}
.door:hover{transform:translateY(-4px);}
.door--brand{background:var(--tcb-ink);color:var(--tcb-bone-100);}
.door--social{background:var(--tcb-coral);color:var(--tcb-ink);}
.door__eyebrow{font-family:var(--font-body);font-weight:600;font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;position:relative;z-index:2;}
.door__title{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;letter-spacing:-.01em;margin-top:clamp(48px,8vw,96px);position:relative;z-index:2;}
.door__desc{font-family:var(--font-accent);font-style:italic;font-size:clamp(1.1rem,1.6vw,1.5rem);line-height:1.3;margin-top:18px;max-width:34ch;position:relative;z-index:2;}
.door__formats{margin-top:16px;font-family:var(--font-body);font-weight:600;font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;opacity:.72;position:relative;z-index:2;}
.door__foot{margin-top:28px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid currentColor;padding-top:16px;
  font-family:var(--font-body);font-weight:700;font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;position:relative;z-index:2;}
.door__ast{position:absolute;bottom:-8vw;left:-6vw;width:46vw;height:46vw;opacity:.08;z-index:0;}
.door--brand .door__ast{color:var(--tcb-coral);} .door--social .door__ast{color:var(--tcb-bone-100);}
.door__arrow{font-size:18px;transition:transform var(--dur-base);} .door:hover .door__arrow{transform:translateX(6px);}

/* photo frames */
.media{border:var(--border-rule);border-radius:var(--radius-md);overflow:hidden;background:var(--tcb-ink);}
.media img{width:100%;height:100%;object-fit:cover;filter:contrast(1.02) saturate(1.05);}
.cap{margin-top:14px;font-family:var(--font-body);font-weight:600;font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);}
.cap .ast{margin-right:8px;}

/* CTA */
.cta{background:var(--tcb-coral);color:var(--text-on-coral);text-align:center;padding:clamp(64px,9vw,120px) var(--gutter);position:relative;overflow:hidden;}
.cta--ink{background:var(--tcb-ink);}
.cta__inner{position:relative;z-index:2;max-width:760px;margin:0 auto;}
.cta__h{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.14;letter-spacing:-.02em;margin:0 0 18px;}
.cta__h .ln{display:block;margin-bottom:.12em;}
.cta__h .ln:last-child{margin-bottom:0;}
.cta__sub{font-size:var(--text-xl);line-height:1.4;margin:0 auto 30px;max-width:36ch;}
.cta__note{margin-top:24px;font-family:var(--font-accent);font-style:italic;font-size:var(--text-lg);}
.cta__ast{position:absolute;bottom:-12vw;right:-8vw;width:50vw;height:50vw;color:var(--tcb-ink);opacity:.10;z-index:1;}
.cta--ink .cta__ast{color:var(--tcb-coral);}
.cta .btn--primary{background:var(--tcb-ink);} .cta .btn--primary:hover{background:var(--tcb-ink-700);}

/* footer */
.foot{background:var(--tcb-ink);color:var(--tcb-bone-100);padding:clamp(48px,6vw,80px) var(--gutter) 28px;}
.foot__brand{font-family:var(--font-display);text-transform:uppercase;font-size:18px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12);}
.foot__tagline{color:var(--tcb-ink-200);font-family:var(--font-accent);font-style:italic;font-size:18px;margin:10px 0 0;text-transform:none;}
.foot__cols{display:grid;grid-template-columns:1fr;gap:24px;padding:32px 0;}
@media(min-width:720px){.foot__cols{grid-template-columns:2fr 1fr 1fr 1fr;}}
.foot__cols h4{font-family:var(--font-body);font-weight:700;font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--tcb-coral);margin:0 0 14px;}
.foot__cols ul{margin:0;padding:0;}
.foot__cols a,.foot__cols li{color:var(--tcb-ink-200);font-size:14px;line-height:1.9;list-style:none;transition:color var(--dur-base);}
.foot__cols a:hover{color:var(--tcb-coral);}
.foot__base{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);
  font-family:var(--font-body);font-weight:600;font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--tcb-ink-300);}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);}
.reveal.in{opacity:1;transform:none;}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .marq__row,.hero__ast,.cta__ast{animation:none;}
  *{scroll-behavior:auto;}
}
@media(max-width:900px){
  .top{flex-wrap:wrap;}
  .top__nav{order:3;width:100%;margin-left:0;gap:18px;overflow-x:auto;padding-top:4px;}
  .top__sub{display:none!important;}
  .top__link.has-caret::after{display:none;}
}
