/* ============================================================
   INDUSTRIO — Design system
   Crisp signal red on white.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Vend+Sans:ital,wght@0,300..700;1,300..700&display=swap');

/* ---- Tokens : LIGHT (default, per Figma) ---- */
:root{
  --orange:oklch(58% .23 28);
  --orange-deep:var(--orange);
  --orange-wash:var(--surface);
  --orange-on-dark:var(--ink);
  /* Compatibility aliases for older page modules. */
  --green:var(--orange);
  --green-deep:var(--orange-deep);
  --green-wash:var(--orange-wash);
  --green-on-dark:var(--orange-on-dark);
  --red:var(--orange);
  --red-deep:var(--orange-deep);
  --red-wash:var(--orange-wash);

  --ink:oklch(30% .002 250);
  --black:var(--ink);
  --steel:oklch(46% .002 250);     /* muted body / labels */
  --concrete:oklch(62% .002 250);  /* faint text */
  --hair:oklch(86% .002 250);      /* hairlines */
  --hair-2:oklch(72% .002 250);

  --bg:oklch(99.5% .001 250);
  --bg-soft:var(--bg);
  --surface:oklch(96% .002 250);   /* white surface */
  --surface-2:oklch(92% .002 250);
  --surface-ink:var(--ink);
  --on-surface:var(--ink);
  --on-surface-mut:var(--steel);

  --band:var(--ink);
  --on-band:var(--bg);
  --on-band-mut:oklch(76% .002 250);
  --band-card:oklch(35% .002 250);
  --band-hair:oklch(48% .002 250);

  --radius-card:10px;
  --radius-lg:8px;
  --radius:6px;
  --radius-pill:6px;

  --maxw:1320px;
  --gutter:clamp(20px,4vw,64px);

  --shadow-card:0 1px 2px rgba(19,19,19,.04);
  --shadow-pop:0 24px 60px -16px rgba(19,19,19,.22);

  --ff:"Vend Sans",system-ui,-apple-system,"Segoe UI",sans-serif;

  color-scheme:light;
}

/* ---- Tokens : HEAVY (industrial graphite) ---- */
html.theme-heavy{
  --ink:oklch(96% .001 250);
  --black:var(--ink);
  --steel:oklch(76% .002 250);
  --concrete:oklch(62% .002 250);
  --hair:oklch(35% .002 250);
  --hair-2:oklch(48% .002 250);

  --bg:oklch(30% .002 250);
  --bg-soft:oklch(34% .002 250);
  --surface:oklch(38% .002 250);
  --surface-2:oklch(44% .002 250);
  --surface-ink:oklch(96% .001 250);
  --on-surface:oklch(96% .001 250);
  --on-surface-mut:oklch(76% .002 250);

  --band:oklch(25% .002 250);
  --on-band:oklch(96% .001 250);
  --on-band-mut:oklch(70% .002 250);
  --band-card:oklch(30% .002 250);
  --band-hair:oklch(42% .002 250);

  --shadow-card:0 1px 2px rgba(0,0,0,.4);
  --shadow-pop:0 24px 60px -16px rgba(0,0,0,.6);

  color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--ff);
  background:var(--bg);
  color:var(--ink);
  font-size:18px;
  line-height:1.6;
  font-weight:300;
  letter-spacing:-0.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  transition:background .4s ease,color .4s ease;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
::selection{background:var(--green);color:var(--ink)}

/* ---- Layout helpers ---- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
/* Full-width pages: edge-to-edge with a soft gutter */
body.fw{--maxw:none;--gutter:clamp(20px,2.4vw,46px)}
.section{padding-block:clamp(64px,9vw,140px)}
.section-tight{padding-block:clamp(48px,6vw,88px)}
.stack-sm{display:flex;flex-direction:column;gap:14px}

/* ---- Type ---- */
.kicker{
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--red);display:inline-flex;align-items:center;gap:10px;margin:0;
  align-self:flex-start;width:auto;
  background:transparent;border:0;border-radius:0;padding:0;
}
.kicker::before{display:none}
.kicker.no-rule::before{display:none}
/* hero eyebrows stay plain (can wrap to 2 lines) */
.lp-panel-page .kicker{background:none;border:none;padding:0;font-weight:600;letter-spacing:.16em}
/* on the red CTA band, keep the label visible */
.cta-band .kicker{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.34)}

h1,h2,h3,h4{margin:0;font-weight:520;letter-spacing:-0.035em;line-height:1.02;color:var(--ink)}
.display{font-size:clamp(48px,7.2vw,116px);font-weight:600;letter-spacing:-0.04em;line-height:.92}
h1,.h1{font-size:clamp(40px,5.4vw,76px);line-height:1.0;letter-spacing:-0.03em}
h2,.h2{font-size:clamp(30px,3.8vw,54px);line-height:1.04}
h3,.h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-0.02em;line-height:1.1}
.lede{font-size:clamp(19px,1.55vw,23px);line-height:1.55;color:var(--steel);font-weight:400}
.muted{color:var(--steel)}
.balance{text-wrap:balance}
.pretty{text-wrap:pretty}
strong{font-weight:600;color:var(--ink)}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:16px;font-weight:600;letter-spacing:-0.01em;
  padding:15px 26px;border-radius:var(--radius-pill);border:1px solid transparent;
  cursor:pointer;transition:transform .18s cubic-bezier(.2,.7,.3,1),background .18s,color .18s,border-color .18s;
  white-space:nowrap;line-height:1;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--red);color:var(--bg);border-color:var(--red)}
.btn-primary:hover{background:var(--red-deep);border-color:var(--red-deep)}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-dark:hover{background:var(--black)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--hair-2)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-lg{font-size:18px;padding:19px 34px}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}
.btn-block{display:flex;width:100%}

.link-arrow{
  display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:16px;color:var(--ink);
  transition:gap .2s,color .2s;
}
.link-arrow:hover{gap:12px;color:var(--red)}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:sticky;top:0;z-index:200;background:transparent;padding-top:18px;transition:padding .25s}
.site-header .wrap{display:flex;align-items:center;gap:20px}
.header-bar{
  display:flex;align-items:center;gap:18px;width:100%;
  background:var(--bg);
  border:0;border-bottom:1px solid var(--hair);border-radius:0;
  padding:14px 0 16px;
  box-shadow:none;
}
.site-header.scrolled{padding-top:10px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand svg,.brand img{height:21px;width:auto}
.nav{display:flex;align-items:center;gap:4px;margin-inline:auto}
.nav a{
  font-size:15px;font-weight:500;color:var(--ink);padding:9px 14px;border-radius:var(--radius-pill);
  letter-spacing:-0.01em;white-space:nowrap;transition:background .15s,color .15s;position:relative;
}
.nav a:hover{background:var(--surface)}
.nav a.active{color:var(--red)}
.nav a.connect{background:var(--ink);color:var(--bg)}
.nav a.connect:hover{background:var(--red);color:oklch(99.4% .002 250)}

.ai-trigger{
  display:flex;align-items:center;gap:10px;flex-shrink:0;
  background:var(--surface);border:1px solid transparent;border-radius:var(--radius-pill);
  padding:9px 9px 9px 18px;cursor:pointer;color:var(--steel);font-size:14.5px;font-weight:500;
  transition:border-color .18s,background .18s;min-width:230px;justify-content:space-between;
}
.ai-trigger:hover{border-color:var(--hair-2);background:var(--surface-2)}
.ai-trigger .dot{
  width:30px;height:30px;border-radius:50%;background:var(--red);flex-shrink:0;
  display:grid;place-items:center;color:oklch(99.4% .002 250);
}
.ai-trigger .dot svg{width:15px;height:15px}

.menu-toggle{display:none;background:var(--surface);border:none;border-radius:50%;width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center}
.menu-toggle svg{width:20px;height:20px;stroke:var(--ink)}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--bg);border-top:1px solid var(--hair);padding-block:clamp(60px,7vw,96px) 40px}
.footer-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px}
.footer-cta h2{font-size:clamp(40px,5vw,68px);letter-spacing:-0.035em;margin-bottom:24px}
.footer-cta .email{font-size:clamp(22px,2vw,30px);font-weight:500;color:var(--red);letter-spacing:-0.02em}
.footer-cta .email:hover{text-decoration:underline}
.footer-col h4{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--concrete);margin-bottom:18px}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.footer-col a{font-size:16px;color:var(--steel);transition:color .15s}
.footer-col a:hover{color:var(--ink)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:clamp(48px,6vw,80px);padding-top:28px;border-top:1px solid var(--hair)}
.footer-bottom .brand svg,.footer-bottom .brand img{height:15px}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 26px}
.footer-legal a{font-size:14px;color:var(--concrete)}
.footer-legal a:hover{color:var(--steel)}
.footer-copy{font-size:14px;color:var(--concrete)}

/* ============================================================
   CARDS — concept grid
   ============================================================ */
.card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.card-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.card-grid.cols-6{grid-template-columns:repeat(6,1fr)}
@media(max-width:1400px){.card-grid{grid-template-columns:repeat(4,1fr)}.card-grid.cols-6{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1080px){.card-grid{grid-template-columns:repeat(3,1fr)}.card-grid.cols-6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.card-grid,.card-grid.cols-3,.card-grid.cols-6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.card-grid,.card-grid.cols-3,.card-grid.cols-6{grid-template-columns:1fr}}

.concept-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--bg);border:1px solid var(--hair);border-radius:var(--radius-card);
  padding:26px 26px 24px;min-height:330px;overflow:hidden;
  box-shadow:0 1px 2px rgba(19,19,19,.03),0 10px 30px -22px rgba(19,19,19,.18);
  transition:transform .26s cubic-bezier(.2,.7,.3,1),box-shadow .26s,border-color .26s;
  cursor:pointer;color:var(--on-surface);
}
html.theme-heavy .concept-card{background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.3)}
.concept-card:hover{transform:translateY(-5px);border-color:var(--hair-2);box-shadow:0 1px 2px rgba(19,19,19,.04),0 26px 50px -26px rgba(19,19,19,.28)}
.concept-card .cc-cat{position:relative;z-index:1;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.concept-card .cc-logo{position:relative;z-index:1;width:100%;aspect-ratio:2/1;margin:14px 0 16px;background:var(--bg);border:1px solid var(--hair);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:12px 18px}
html.theme-heavy .concept-card .cc-logo{background:var(--bg-soft);filter:invert(1) hue-rotate(180deg) brightness(1.3)}
.concept-card .cc-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.concept-card .cc-name{position:relative;z-index:1;font-size:24px;font-weight:600;letter-spacing:-0.02em;line-height:1.08}
.concept-card .cc-hook{position:relative;z-index:1;font-size:15px;color:var(--on-surface-mut);margin-top:10px;line-height:1.45;text-wrap:pretty}
.concept-card .cc-foot{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto;padding-top:22px;gap:12px}
.concept-card .cc-capex{font-size:13px;color:var(--on-surface-mut)}
.concept-card .cc-capex b{display:block;font-size:17px;color:var(--on-surface);font-weight:600;letter-spacing:-0.01em;margin-top:2px}
.concept-card .cc-more{font-size:15px;font-weight:600;color:var(--on-surface);display:inline-flex;gap:6px;align-items:center;transition:gap .2s,color .2s}
.concept-card:hover .cc-more{color:var(--red);gap:10px}

/* See-all tile */
.seeall-card{
  display:flex;flex-direction:column;justify-content:flex-end;
  background:var(--ink);color:var(--bg);border-radius:var(--radius-card);padding:28px;min-height:330px;
  transition:transform .25s cubic-bezier(.2,.7,.3,1);cursor:pointer;
}
.seeall-card:hover{transform:translateY(-4px)}
.seeall-card .sa-n{font-size:14px;color:var(--bg);opacity:.6;font-weight:500;margin-bottom:6px}
.seeall-card h3{color:var(--bg);font-size:34px}
.seeall-card .sa-go{margin-top:18px;width:48px;height:48px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.seeall-card .sa-go svg{width:20px;height:20px;stroke:oklch(99.4% .002 250)}

/* ============================================================
   SECTION primitives
   ============================================================ */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:clamp(34px,4vw,56px);flex-wrap:wrap}
.section-head .sh-l{max-width:760px;display:flex;flex-direction:column;gap:18px}
.eyebrow-row{display:flex;align-items:center;gap:14px}

.band{background:var(--band);color:var(--on-band)}
.band h1,.band h2,.band h3,.band h4{color:var(--on-band)}
.band .muted,.band .lede{color:var(--on-band-mut)}
.band .btn-ghost{color:var(--on-band);border-color:rgba(255,255,255,.22)}
.band .btn-ghost:hover{border-color:var(--on-band)}

/* ---- Pillars / feature rows ---- */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--hair)}
.pillar{padding:34px 30px 38px;border-bottom:1px solid var(--hair)}
.pillar .p-num{font-size:13px;font-weight:600;color:var(--red);letter-spacing:.1em}
.pillar h3{font-size:22px;margin:18px 0 12px}
.pillar p{font-size:16px;color:var(--steel);margin:0;line-height:1.5}
@media(min-width:861px){
  .pillar{border-right:1px solid var(--hair)}
  .pillars{border-left:1px solid var(--hair)}
}

/* ---- Stat figures ---- */
.figure-stat{font-weight:600;letter-spacing:-0.04em;line-height:.9;color:var(--ink)}

/* ============================================================
   AI ASSISTANT modal
   ============================================================ */
.ai-overlay{
  position:fixed;inset:0;z-index:1000;display:none;align-items:flex-start;justify-content:center;
  background:color-mix(in srgb,var(--ink) 38%,transparent);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:max(8vh,60px) 20px 20px;
}
.ai-overlay.open{display:flex;animation:aiFade .2s ease}
@keyframes aiFade{from{opacity:0}to{opacity:1}}
.ai-modal{
  width:100%;max-width:720px;background:var(--bg);border:1px solid var(--hair);
  border-radius:24px;box-shadow:var(--shadow-pop);overflow:hidden;display:flex;flex-direction:column;
  max-height:80vh;animation:aiRise .28s cubic-bezier(.2,.7,.3,1);
}
@keyframes aiRise{from{transform:translateY(14px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.ai-head{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--hair)}
.ai-head .dot{width:34px;height:34px;border-radius:50%;background:var(--red);display:grid;place-items:center;flex-shrink:0}
.ai-head .dot svg{width:17px;height:17px}
.ai-head .ai-t{font-weight:600;font-size:16px}
.ai-head .ai-s{font-size:13px;color:var(--concrete)}
.ai-head .ai-x{margin-left:auto;background:var(--surface);border:none;width:34px;height:34px;border-radius:50%;cursor:pointer;color:var(--steel);font-size:16px}
.ai-head .ai-x:hover{background:var(--surface-2);color:var(--ink)}
.ai-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}
.ai-msg{display:flex;gap:12px;max-width:100%}
.ai-msg .av{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:12px;font-weight:600}
.ai-msg.bot .av{background:var(--red);color:oklch(99.4% .002 250)}
.ai-msg.user{flex-direction:row-reverse}
.ai-msg.user .av{background:var(--ink);color:var(--bg)}
.ai-bubble{font-size:15.5px;line-height:1.55;padding:12px 16px;border-radius:16px;background:var(--surface);color:var(--ink);max-width:560px}
.ai-msg.user .ai-bubble{background:var(--ink);color:var(--bg)}
.ai-bubble a{color:var(--red);font-weight:600;text-decoration:underline}
.ai-bubble .typing{display:inline-flex;gap:4px}
.ai-bubble .typing i{width:6px;height:6px;border-radius:50%;background:var(--concrete);animation:blink 1.2s infinite}
.ai-bubble .typing i:nth-child(2){animation-delay:.2s}
.ai-bubble .typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:.25}30%{opacity:1}}
.ai-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 16px}
.ai-chip{font-size:13.5px;padding:8px 14px;border:1px solid var(--hair-2);border-radius:var(--radius-pill);background:var(--bg);color:var(--steel);cursor:pointer;transition:all .15s}
.ai-chip:hover{border-color:var(--red);color:var(--red)}
.ai-foot{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--hair)}
.ai-foot input{flex:1;border:1px solid var(--hair-2);background:var(--bg);color:var(--ink);border-radius:var(--radius-pill);padding:14px 20px;font-size:15.5px;font-family:inherit;outline:none}
.ai-foot input:focus{border-color:var(--red)}
.ai-foot button{background:var(--red);color:oklch(99.4% .002 250);border:none;border-radius:50%;width:50px;height:50px;flex-shrink:0;cursor:pointer;display:grid;place-items:center}
.ai-foot button:disabled{opacity:.45;cursor:default}
.ai-foot button svg{width:20px;height:20px}

/* ============================================================
   FORMS — qualification
   ============================================================ */
.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
.field label{font-size:14px;font-weight:600;color:var(--ink)}
.field label .req{color:var(--red)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field select{
  border:1px solid var(--hair-2);background:var(--bg);color:var(--ink);border-radius:var(--radius);
  padding:15px 17px;font-size:16px;font-family:inherit;outline:none;transition:border-color .15s;width:100%;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--red)}
.field textarea{resize:vertical;min-height:120px}
.choice-row{display:flex;gap:10px;flex-wrap:wrap}
.choice{position:relative;flex:1;min-width:140px}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.choice span{display:flex;align-items:center;justify-content:center;text-align:center;gap:8px;border:1px solid var(--hair-2);border-radius:var(--radius);padding:15px 16px;font-size:15px;font-weight:500;color:var(--steel);transition:all .15s;min-height:54px;cursor:pointer}
.choice input:checked + span{border-color:var(--red);background:var(--red-wash);color:var(--red);font-weight:600}
html.theme-heavy .choice input:checked + span{background:color-mix(in srgb,var(--red) 16%,transparent)}

/* ---- Tag / chip ---- */
.tag{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;letter-spacing:.02em;padding:7px 14px;border-radius:var(--radius-pill);background:var(--surface);color:var(--steel)}
.tag.red{background:var(--red-wash);color:var(--red-deep)}
html.theme-heavy .tag.red{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}
.tag .dotx{width:7px;height:7px;border-radius:50%;background:currentColor}

/* ---- filter bar ---- */
.filterbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:36px}
.filter-group{display:flex;gap:8px;flex-wrap:wrap}
.chip-filter{font-size:14px;font-weight:500;padding:9px 16px;border-radius:var(--radius-pill);border:1px solid var(--hair-2);background:var(--bg);color:var(--steel);cursor:pointer;transition:all .15s}
.chip-filter:hover{border-color:var(--steel)}
.chip-filter.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.filter-label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--concrete);margin-right:4px}

/* ============================================================
   TWEAKS panel (vanilla)
   ============================================================ */
.twk{position:fixed;right:16px;bottom:16px;z-index:2147483646;width:260px;display:none;flex-direction:column;
  background:color-mix(in srgb,var(--bg) 82%,transparent);
  -webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);
  border:1px solid var(--hair);border-radius:16px;box-shadow:var(--shadow-pop);color:var(--ink);
  font-size:12px;overflow:hidden}
.twk.open{display:flex}
.twk-hd{display:flex;align-items:center;justify-content:space-between;padding:13px 12px 13px 16px}
.twk-hd b{font-size:13px;font-weight:600}
.twk-hd button{background:transparent;border:none;color:var(--concrete);width:24px;height:24px;border-radius:7px;cursor:pointer;font-size:14px}
.twk-hd button:hover{background:var(--surface);color:var(--ink)}
.twk-bd{padding:4px 16px 18px;display:flex;flex-direction:column;gap:12px}
.twk-row .twk-cap{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--concrete);margin-bottom:8px}
.twk-seg{display:flex;padding:3px;border-radius:10px;background:var(--surface);gap:3px}
.twk-seg button{flex:1;border:none;background:transparent;color:var(--steel);font:inherit;font-weight:600;padding:9px 8px;border-radius:7px;cursor:pointer;transition:all .15s}
.twk-seg button.on{background:var(--bg);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1100px){
  .footer-top{grid-template-columns:1fr 1fr 1fr;gap:34px}
  .footer-cta{grid-column:1/-1}
  .pillars{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  body{font-size:17px}
  .nav,.ai-trigger{display:none}
  .menu-toggle{display:flex}
  .header-bar{padding:10px 10px 10px 18px}
  .section-head{align-items:flex-start}
}
@media(max-width:560px){
  .footer-top{grid-template-columns:1fr 1fr}
  .pillars{grid-template-columns:1fr}
  .choice{min-width:0;flex-basis:calc(50% - 5px)}
}

/* ---- mobile menu drawer ---- */
.m-drawer{position:fixed;inset:0;z-index:300;background:var(--bg);display:none;flex-direction:column;padding:24px var(--gutter)}
.m-drawer.open{display:flex;animation:aiFade .2s}
.m-drawer .m-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.m-drawer .m-top .brand svg,.m-drawer .m-top .brand img{height:20px}
.m-drawer .m-x{background:var(--surface);border:none;width:42px;height:42px;border-radius:50%;font-size:18px;cursor:pointer;color:var(--ink)}
.m-drawer nav{display:flex;flex-direction:column;gap:4px}
.m-drawer nav a{font-size:26px;font-weight:600;letter-spacing:-0.02em;padding:12px 0;border-bottom:1px solid var(--hair)}
.m-drawer nav a.active{color:var(--red)}
.m-drawer .m-cta{margin-top:30px}

/* fade-in on scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}

/* ============================================================
   SHARED HERO FRAME + floating header (home + all pages)
   ============================================================ */
body.hero-framed .site-header{display:none}

.lp-hero{margin-top:0;padding-inline:0}
.lp-frame{
  background:var(--band);
  border:0;
  border-radius:0;
  padding:0 var(--gutter) clamp(56px,6vw,96px);
}
html.theme-heavy .lp-frame{background:var(--band)}

.lp-head{display:flex;align-items:center;gap:clamp(14px,1.8vw,30px);padding:20px 0;background:var(--bg);position:relative}
.lp-head::before{content:"";position:absolute;z-index:0;inset:0 calc(var(--gutter) * -1);background:var(--bg)}
.lp-head>*{position:relative;z-index:1}
.lp-brand{flex-shrink:0;display:flex;align-items:center}
.lp-brand img{height:23px;width:auto}
.lp-navbar{flex:1;display:flex;align-items:center;gap:18px;background:transparent;border-radius:0;padding:0;min-width:0}
html.theme-heavy .lp-navbar{background:var(--surface-2)}
.lp-nav{flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(12px,2.2vw,36px);min-width:0;padding-inline:clamp(8px,1vw,16px)}
.lp-nav a{font-size:clamp(12px,.9vw,14px);font-weight:560;color:var(--ink);white-space:nowrap;padding:6px 0;border-radius:0;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.lp-nav a:hover{border-color:var(--green);color:var(--green-deep)}
.lp-nav a.on{color:var(--red)}
.lp-ai{display:flex;align-items:center;gap:12px;flex-shrink:0;background:var(--green);border:1px solid var(--green);border-radius:5px;padding:12px 16px;cursor:pointer;color:var(--on-band);font-size:clamp(12px,.9vw,14px);font-weight:650;white-space:nowrap;font-family:inherit;transition:background .2s,transform .25s cubic-bezier(.16,1,.3,1)}
.lp-ai:hover{background:var(--green-deep);transform:translateY(-2px)}
.lp-ai .dot{width:7px;height:7px;border-radius:50%;background:var(--on-band)}
.lp-burger{display:none;background:var(--surface);border:none;border-radius:50%;width:46px;height:46px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto}
.lp-burger svg{width:22px;height:22px;stroke:var(--ink)}

.lp-panel{
  display:grid;grid-template-columns:60fr 40fr;gap:clamp(32px,4vw,72px);align-items:center;
  padding:clamp(68px,7vw,112px) 0 clamp(24px,3vw,48px);
}
.lp-copywrap{max-width:none}
.lp-copy{
  font-size:clamp(23px,2.35vw,40px);line-height:1;letter-spacing:-0.02em;
  color:var(--concrete);font-weight:300;margin:0;text-wrap:pretty;
}
.lp-copy-em{
  font-size:clamp(23px,2.35vw,40px);line-height:1;letter-spacing:-0.02em;
  color:var(--steel);font-weight:700;margin:clamp(16px,1.6vw,26px) 0 0;text-wrap:pretty;
}

/* page-hero (kicker + title + lede + cta) */
.lp-panel-page .kicker{margin-bottom:0;color:var(--green-on-dark)}
.lp-title{font-size:clamp(42px,5.2vw,78px);font-weight:480;letter-spacing:-0.04em;line-height:1.0;color:var(--on-band);margin:20px 0 0;text-wrap:balance}
.lp-lede{font-size:clamp(17px,1.35vw,20px);line-height:1.65;color:var(--on-band-mut);margin:26px 0 0;max-width:58ch;text-wrap:pretty}
.lp-cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}

.lp-stat-wrap{justify-self:end;text-align:right;width:100%;max-width:560px}
.lp-stat{display:block;width:100%;height:auto;color:var(--green-on-dark);overflow:visible}
.lp-stat.is-num{height:clamp(92px,11vw,168px)}
.lp-stat-path{fill:none;stroke:currentColor;stroke-width:1.6;vector-effect:non-scaling-stroke}
.lp-stat-text{fill:currentColor;stroke:none;font-family:var(--ff);font-weight:300;font-size:150px;letter-spacing:-6px}
.lp-stat-label{font-size:clamp(20px,1.9vw,32px);font-weight:500;letter-spacing:-0.02em;color:var(--on-band);margin-top:clamp(8px,0.8vw,16px)}

@media(max-width:1120px){.lp-navbar{display:none}.lp-burger{display:flex}}
@media(max-width:1040px){
  .lp-panel{grid-template-columns:1fr;gap:24px}
  .lp-stat-wrap{justify-self:start;text-align:left;max-width:460px}
  .lp-panel-page .lp-stat-wrap{margin-top:8px}
}

/* ---- Shared idea/concept card (home-style) ---- */
.lp-card{
  background:var(--bg);border:1px solid var(--hair);border-radius:24px;
  padding:32px 30px 28px;display:flex;flex-direction:column;min-height:392px;
  box-shadow:0 1px 2px rgba(19,19,19,.03),0 10px 30px -22px rgba(19,19,19,.18);
  transition:transform .26s cubic-bezier(.2,.7,.3,1),box-shadow .26s,border-color .26s;
}
.lp-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.lp-report{color:var(--steel);letter-spacing:.02em;text-transform:none;font-weight:500;white-space:nowrap}
html.theme-heavy .lp-card{background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.3)}
.lp-card:hover{transform:translateY(-5px);box-shadow:0 1px 2px rgba(19,19,19,.04),0 26px 50px -26px rgba(19,19,19,.28);border-color:var(--hair-2)}
.lp-logo{display:flex;align-items:center;justify-content:center;margin:8px 0 4px;flex-shrink:0}
html.theme-heavy .lp-logo img{filter:invert(1) hue-rotate(180deg) brightness(1.25)}
.lp-logo img{width:100%;max-width:none;max-height:none;height:auto;object-fit:contain}
.lp-name{font-size:22px;font-weight:300;letter-spacing:-0.02em;line-height:1.15;margin-top:30px;color:var(--ink);text-wrap:balance}
.lp-capex{margin-top:auto;padding-top:26px;font-size:15px;color:var(--steel)}
.lp-capex b{color:var(--ink);font-weight:700}
.lp-more{margin-top:20px;font-size:15px;font-weight:600;color:var(--red);display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.lp-card:hover .lp-more{gap:11px}
.lp-seeall{justify-content:flex-end;cursor:pointer}
.lp-seeall .sa-h{font-size:clamp(26px,2vw,32px);font-weight:600;letter-spacing:-0.025em;color:var(--ink)}
.lp-seeall .sa-n{font-size:clamp(19px,1.3vw,22px);font-weight:600;color:var(--red);margin-top:6px}
.lp-seeall .sa-mark{width:50px;height:50px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.lp-seeall .sa-mark svg{width:20px;height:20px;stroke:oklch(99.4% .002 250)}

/* ============================================================
   INNER PAGES — red dossier shell
   Frosted glass is reserved for navigation and compact controls.
   ============================================================ */
body.hero-framed{
  --orange:oklch(58% .23 28);
  --orange-deep:var(--orange);
  --orange-wash:var(--surface);
  --red:var(--orange);
  --red-deep:var(--orange-deep);
  --red-wash:var(--orange-wash);
  --green:var(--orange);
  --green-deep:var(--orange-deep);
  --green-wash:var(--orange-wash);
  --green-on-dark:var(--ink);
  background:var(--bg);
}
body.hero-framed main{background:var(--bg)}
body.hero-framed .lp-hero{padding:clamp(12px,1.4vw,22px);background:var(--bg)}
body.hero-framed .lp-frame{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--orange);border:0;border-radius:clamp(18px,2vw,30px);
  padding:clamp(14px,1.3vw,20px) clamp(18px,3.4vw,56px) clamp(58px,6vw,96px);
  box-shadow:0 28px 80px -56px color-mix(in oklch,var(--ink) 36%,transparent);
}
body.hero-framed .lp-frame::before{
  content:"";position:absolute;z-index:-1;inset:0;
  background-image:linear-gradient(color-mix(in oklch,var(--bg) 16%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklch,var(--bg) 16%,transparent) 1px,transparent 1px);
  background-size:46px 46px;mask-image:linear-gradient(120deg,black,transparent 78%);
}
body.hero-framed .lp-frame::after{
  content:"";position:absolute;z-index:-1;width:min(54vw,780px);aspect-ratio:1;border:1px solid color-mix(in oklch,var(--bg) 28%,transparent);border-radius:50%;right:-16%;bottom:-76%;box-shadow:0 0 0 90px color-mix(in oklch,var(--bg) 8%,transparent),0 0 0 180px color-mix(in oklch,var(--bg) 5%,transparent);
}
body.hero-framed .lp-head,
.home-v2 .home-head{
  z-index:3;display:flex;align-items:center;gap:22px;
  padding:10px 11px 10px 16px;margin:0;
  background:color-mix(in oklch,var(--bg) 82%,transparent);border:1px solid color-mix(in oklch,var(--bg) 64%,transparent);border-radius:12px;
  -webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%);
  box-shadow:0 12px 40px color-mix(in oklch,var(--ink) 14%,transparent);
}
body.hero-framed .lp-head::before,.home-v2 .home-head::before{display:none}
body.hero-framed .lp-brand img,.home-v2 .home-head .lp-brand img{height:21px;filter:none;opacity:1}
body.hero-framed .lp-navbar,.home-v2 .home-head .lp-navbar{background:transparent!important;gap:12px}
body.hero-framed .lp-nav,.home-v2 .home-head .lp-nav{justify-content:center;gap:clamp(15px,2vw,34px)}
body.hero-framed .lp-nav a,.home-v2 .home-head .lp-nav a{color:var(--ink);font-size:12px;font-weight:520;padding:8px 0;border-bottom-color:transparent}
body.hero-framed .lp-nav a:hover,.home-v2 .home-head .lp-nav a:hover{color:var(--orange);border-color:var(--orange)}
body.hero-framed .lp-nav a.on,.home-v2 .home-head .lp-nav a.on{color:var(--orange);border-color:var(--orange)}
body.hero-framed .lp-ai,.home-v2 .home-head .lp-ai{background:var(--orange);border-color:var(--orange);color:var(--bg);border-radius:7px;padding:11px 14px;font-size:12px}
body.hero-framed .lp-ai:hover,.home-v2 .home-head .lp-ai:hover{background:var(--orange-deep)}
body.hero-framed .lp-burger,.home-v2 .home-head .lp-burger{background:transparent;color:var(--ink)}
body.hero-framed .lp-panel{position:relative;z-index:1;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:clamp(50px,9vw,150px);padding:clamp(88px,10vw,152px) clamp(4px,1vw,16px) 0;align-items:end}
body.hero-framed .lp-panel-page .kicker{color:var(--bg);font-size:10px;letter-spacing:.14em}
body.hero-framed .lp-title{max-width:930px;color:var(--bg);font-size:clamp(50px,6.8vw,104px);font-weight:300;letter-spacing:-.06em;line-height:.88;margin-top:28px}
body.hero-framed .lp-lede{max-width:68ch;color:color-mix(in oklch,var(--bg) 82%,transparent);font-size:clamp(16px,1.25vw,19px);line-height:1.55;margin-top:30px}
body.hero-framed .lp-cta .btn-primary{background:var(--bg);color:var(--ink);border-color:var(--bg)}
body.hero-framed .lp-cta .btn-ghost{color:var(--bg);border-color:color-mix(in oklch,var(--bg) 42%,transparent)}
body.hero-framed .lp-stat-wrap{
  justify-self:stretch;text-align:left;max-width:360px;padding:clamp(22px,2.5vw,34px);
  background:color-mix(in oklch,var(--bg) 20%,transparent);border:1px solid color-mix(in oklch,var(--bg) 30%,transparent);border-radius:12px;
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
body.hero-framed .lp-stat-solid strong{display:block;color:var(--bg);font-size:clamp(66px,8vw,118px);font-weight:300;letter-spacing:-.075em;line-height:.78}
body.hero-framed .lp-stat-label{color:color-mix(in oklch,var(--bg) 78%,transparent);font-size:13px;font-weight:500;letter-spacing:.03em;margin-top:22px;padding-top:16px;border-top:1px solid color-mix(in oklch,var(--bg) 26%,transparent)}

/* New Businesses catalog as product-style progressive disclosure */
.catalog-toolbar{position:relative;z-index:2;background:var(--bg);border:1px solid var(--hair);border-radius:12px;padding:10px 16px;margin-bottom:26px;box-shadow:0 14px 40px -34px color-mix(in oklch,var(--ink) 28%,transparent)}
.catalog-filter-row{display:flex;align-items:center;gap:14px;min-height:54px}
.catalog-filter-row+.catalog-filter-row{border-top:1px solid var(--hair)}
.catalog-toolbar .filterbar{display:flex;align-items:center;gap:12px;flex:1;margin:0;min-width:0}
.catalog-toolbar .filter-group{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.catalog-toolbar .filter-group::-webkit-scrollbar{display:none}
.catalog-toolbar .filter-label{min-width:54px;color:var(--concrete);font-size:9px;letter-spacing:.13em}
.catalog-toolbar .chip-filter{white-space:nowrap;border-color:transparent;background:transparent;border-radius:7px;padding:9px 11px;font-size:12px}
.catalog-toolbar .chip-filter:hover{background:var(--surface)}
.catalog-toolbar .chip-filter.active{background:var(--orange-wash);border-color:color-mix(in srgb,var(--orange) 24%,transparent);color:var(--orange-deep)}
.catalog-search{display:flex;align-items:center;gap:8px;width:min(250px,24vw);padding:8px 0;border-bottom:1px solid var(--ink);flex:0 1 250px}
.catalog-search svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;flex:0 0 auto}.catalog-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:400 12px/1.2 var(--ff)}.catalog-search input::placeholder{color:var(--concrete)}
.catalog-toolbar .result-count{margin-left:auto;white-space:nowrap;font-size:11px;color:var(--concrete)}
.venture-accordion{border-top:1px solid var(--hair-2)}
.venture-disclosure{background:var(--bg);border-bottom:1px solid var(--hair-2)}
.venture-disclosure summary{list-style:none;display:grid;grid-template-columns:48px minmax(280px,1.35fr) minmax(140px,.55fr) minmax(130px,.45fr) 34px;gap:clamp(16px,2.5vw,38px);align-items:center;min-height:112px;padding:22px 18px;cursor:pointer;transition:background .2s,padding .3s cubic-bezier(.16,1,.3,1)}
.venture-disclosure summary::-webkit-details-marker{display:none}
.venture-disclosure summary:hover{background:var(--orange-wash);padding-inline:24px}
.venture-disclosure[open] summary{background:var(--orange);color:var(--bg);padding-inline:24px}
.vd-index{font-size:10px;letter-spacing:.1em;color:var(--orange)}
.venture-disclosure[open] .vd-index{color:var(--bg)}
.vd-title{display:flex;flex-direction:column;gap:7px}.vd-title strong{font-size:clamp(20px,2vw,29px);font-weight:450;letter-spacing:-.03em}.vd-title small{max-width:58ch;color:var(--steel);font-size:13px;line-height:1.4}
.venture-disclosure[open] .vd-title small{color:color-mix(in oklch,var(--bg) 82%,transparent)}
.venture-disclosure[open] .vd-title strong,.venture-disclosure[open] .vd-capex strong{color:var(--bg)}
.vd-sector{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--steel)}
.venture-disclosure[open] .vd-sector{color:color-mix(in oklch,var(--bg) 82%,transparent)}
.vd-capex{display:flex;flex-direction:column;gap:4px}.vd-capex small{font-size:9px;color:var(--concrete);text-transform:uppercase;letter-spacing:.08em}.vd-capex strong{font-size:15px;font-weight:600}
.venture-disclosure[open] .vd-capex small{color:color-mix(in oklch,var(--bg) 76%,transparent)}
.vd-toggle{position:relative;width:30px;height:30px;border:1px solid currentColor;border-radius:50%}.vd-toggle::before,.vd-toggle::after{content:"";position:absolute;left:8px;right:8px;top:14px;height:1px;background:currentColor}.vd-toggle::after{transform:rotate(90deg);transition:transform .25s cubic-bezier(.16,1,.3,1)}.venture-disclosure[open] .vd-toggle::after{transform:rotate(0)}
.vd-panel{display:grid;grid-template-columns:repeat(3,1fr) minmax(170px,.6fr);gap:0;background:var(--bg);border-inline:1px solid var(--hair);animation:vdOpen .35s cubic-bezier(.16,1,.3,1) both}
.vd-block,.vd-action{min-height:230px;padding:28px;border-right:1px solid var(--hair);display:flex;flex-direction:column}.vd-action{border-right:0;background:var(--surface)}
.vd-block>small,.vd-action>small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--orange)}.vd-block>strong{font-size:18px;font-weight:550;line-height:1.25;margin:18px 0 10px}.vd-block>p{font-size:13px;line-height:1.5;color:var(--steel);margin:0}.vd-action a{display:flex;justify-content:space-between;gap:14px;margin-top:auto;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--orange) 26%,transparent);font-size:13px;font-weight:600;color:var(--orange-deep)}
@keyframes vdOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

@media(max-width:1040px){
  body.hero-framed .lp-panel{grid-template-columns:1fr;gap:34px}body.hero-framed .lp-stat-wrap{justify-self:start;width:min(100%,360px)}
  .venture-disclosure summary{grid-template-columns:42px 1fr 130px 30px}.vd-sector{display:none}.vd-panel{grid-template-columns:repeat(2,1fr)}.vd-block:nth-child(2){border-right:0}.vd-action{min-height:170px}
}
@media(max-width:700px){
  body.hero-framed .lp-hero{padding:8px}body.hero-framed .lp-frame{border-radius:16px;padding:10px 14px 48px}body.hero-framed .lp-head{padding:8px 10px 8px 13px}body.hero-framed .lp-title{font-size:clamp(46px,14vw,72px)}body.hero-framed .lp-panel{padding-top:70px}
  .catalog-toolbar{padding:8px 12px}.catalog-filter-row{align-items:flex-start;padding:8px 0}.catalog-toolbar .filterbar{align-items:flex-start;flex-direction:column;gap:6px}.catalog-toolbar .filter-label{min-width:0}.catalog-search{width:100%;flex-basis:100%;margin-top:12px}.catalog-toolbar .result-count{padding-top:24px}
  .venture-disclosure summary{grid-template-columns:30px 1fr 28px;gap:13px;padding:19px 6px}.venture-disclosure summary:hover,.venture-disclosure[open] summary{padding-inline:10px}.vd-capex{grid-column:2}.vd-panel{grid-template-columns:1fr}.vd-block,.vd-action{min-height:0;border-right:0;border-bottom:1px solid var(--hair);padding:24px}.vd-action{min-height:130px}
}
@media(prefers-reduced-motion:reduce){.venture-disclosure summary,.vd-toggle::after,.vd-panel{animation:none;transition:none}}

/* New Businesses: editorial discovery index */
.catalog-discovery{padding:clamp(38px,5.6vw,88px) 0 clamp(28px,3.5vw,54px);background:var(--bg)}
.catalog-search-stage{display:block;padding:clamp(30px,4.8vw,68px);background:var(--ink);color:var(--bg);border-radius:18px;box-shadow:0 28px 60px -42px color-mix(in oklch,var(--ink) 62%,transparent)}.catalog-search-stage>div{max-width:780px}
.catalog-search-stage .eyebrow{color:var(--orange);margin:0 0 18px}.catalog-search-stage h2{margin:0;color:var(--bg);font-size:clamp(35px,4.5vw,66px);font-weight:300;letter-spacing:-.055em;line-height:.93;text-wrap:balance}.catalog-search-stage p:not(.eyebrow){max-width:60ch;margin:24px 0 0;color:color-mix(in srgb,var(--bg) 68%,transparent);font-size:15px;line-height:1.55}
.catalog-search--stage{display:flex;width:100%;gap:12px;margin-top:clamp(28px,3.6vw,48px);padding:21px 22px;background:color-mix(in srgb,var(--bg) 7%,transparent);border:1px solid color-mix(in srgb,var(--bg) 23%,transparent);border-radius:10px;color:var(--bg);box-shadow:none;transition:border-color .2s,background .2s}
.catalog-search--stage:focus-within{background:color-mix(in srgb,var(--bg) 11%,transparent);border-color:var(--orange)}
.catalog-search--stage svg{width:20px;height:20px}.catalog-search--stage input{min-width:0;color:var(--bg);font:300 clamp(16px,1.55vw,21px)/1.2 var(--ff)}.catalog-search--stage input::placeholder{color:color-mix(in srgb,var(--bg) 48%,transparent)}
.catalog-search--stage kbd{margin-left:auto;padding:3px 6px;border:1px solid color-mix(in srgb,var(--bg) 24%,transparent);border-radius:4px;color:color-mix(in srgb,var(--bg) 58%,transparent);font:500 10px/1 var(--ff);white-space:nowrap}
.catalog-discovery .catalog-toolbar{margin:16px 0 0;padding:8px 16px;background:var(--surface);border-color:var(--hair);border-radius:12px;box-shadow:none}
.catalog-discovery .catalog-filter-row{min-height:49px}.catalog-discovery .catalog-toolbar .chip-filter{font-weight:400}.catalog-discovery .catalog-toolbar .chip-filter.active{background:var(--orange);border-color:var(--orange);color:var(--bg)}
.filter-reset{appearance:none;border:0;background:transparent;color:var(--orange);font:500 11px/1 var(--ff);white-space:nowrap;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.filter-reset:hover{color:var(--orange-deep)}
.catalog-collections{padding:clamp(42px,6vw,96px) 0 clamp(55px,7vw,110px);background:var(--surface)}
.catalog-section-head{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:26px}.catalog-section-head>div{min-width:0}.catalog-section-head .eyebrow{margin:0 0 12px;color:var(--orange)}.catalog-section-head h2{margin:0;font-size:clamp(28px,3.3vw,48px);font-weight:300;letter-spacing:-.045em;line-height:.98;text-wrap:balance}.catalog-section-head>p{max-width:370px;margin:0;color:var(--steel);font-size:14px;line-height:1.5}
.catalog-section-head--feature{margin-bottom:34px}.catalog-feature-stage{display:grid;gap:18px}.catalog-feature-main{min-width:0}.catalog-feature-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.catalog-feature{position:relative;isolation:isolate;display:block;overflow:hidden;border-radius:14px;background:var(--ink);color:var(--bg);box-shadow:0 20px 50px -38px color-mix(in oklch,var(--ink) 60%,transparent)}
.catalog-feature>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s}.catalog-feature-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 82%,transparent) 0%,color-mix(in srgb,var(--ink) 44%,transparent) 49%,color-mix(in srgb,var(--ink) 5%,transparent) 100%)}
.catalog-feature-copy{display:flex;flex-direction:column;align-items:flex-start;min-height:clamp(380px,42vw,570px);max-width:720px;padding:clamp(26px,4vw,56px);color:var(--bg)}.catalog-feature-copy>strong{max-width:11ch;margin-top:auto;color:var(--bg);font-size:clamp(42px,5.6vw,82px);font-weight:300;letter-spacing:-.065em;line-height:.87;text-wrap:balance}.catalog-feature-copy>strong+span{max-width:50ch;margin-top:22px;color:color-mix(in srgb,var(--bg) 84%,transparent);font-size:15px;line-height:1.45}
.catalog-feature-meta{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.catalog-feature-meta>span{display:grid;place-items:center;width:26px;height:26px;border:1px solid color-mix(in srgb,var(--bg) 46%,transparent);border-radius:50%;color:var(--bg);font-size:9px}.catalog-feature-link{display:inline-flex;align-items:center;gap:12px;margin-top:28px;font-size:12px;font-weight:500}.catalog-feature-link i{font-style:normal;font-size:17px;transition:transform .25s}.catalog-feature:hover>img{transform:scale(1.045);filter:saturate(1.06)}.catalog-feature:hover .catalog-feature-link i{transform:translate(4px,-4px)}
.catalog-feature--small .catalog-feature-copy{min-height:330px;padding:28px}.catalog-feature--small .catalog-feature-copy>strong{font-size:clamp(30px,3.4vw,48px);max-width:12ch}.catalog-feature--small .catalog-feature-copy>strong+span{font-size:13px;margin-top:16px}.catalog-feature--small .catalog-feature-link{margin-top:18px}
.catalog-rail-section{margin-top:clamp(64px,8vw,122px)}.catalog-rail-section .catalog-section-head{margin-bottom:24px}.rail-controls{display:flex;gap:8px;flex:0 0 auto}.rail-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--hair-2);border-radius:50%;background:transparent;color:var(--ink);font:300 20px/1 var(--ff);cursor:pointer;transition:color .2s,background .2s,border-color .2s}.rail-button:hover{border-color:var(--orange);background:var(--orange);color:var(--bg)}
.catalog-rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(246px,25vw,340px);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;padding:2px;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.catalog-rail.is-auto-moving{scroll-snap-type:none}.catalog-rail::-webkit-scrollbar{display:none}
.rail-card{display:flex;flex-direction:column;min-height:370px;background:var(--bg);border:1px solid var(--hair);border-radius:12px;overflow:hidden;scroll-snap-align:start;box-shadow:0 12px 28px -28px color-mix(in oklch,var(--ink) 60%,transparent);transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s,border-color .28s}.rail-card-image{display:block;aspect-ratio:1.38;overflow:hidden;background:var(--hair)}.rail-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.rail-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:19px 18px 20px}.rail-card-body small{color:var(--orange);font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.rail-card-body small i{padding:0 4px;font-style:normal}.rail-card-body strong{margin-top:15px;font-size:22px;font-weight:350;letter-spacing:-.035em;line-height:1.02}.rail-card-body>span{margin-top:11px;color:var(--steel);font-size:12px;line-height:1.45}.rail-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--orange) 46%,var(--hair));box-shadow:0 22px 40px -29px color-mix(in oklch,var(--ink) 60%,transparent)}.rail-card:hover img{transform:scale(1.05)}
.catalog-results{padding:clamp(54px,7vw,108px) 0 clamp(70px,8vw,124px);background:var(--bg);border-top:1px solid var(--hair)}.catalog-results-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:clamp(28px,3.8vw,50px)}.catalog-results-head .eyebrow{margin:0 0 12px;color:var(--orange)}.catalog-results-head h2{margin:0;font-size:clamp(32px,4.1vw,60px);font-weight:300;letter-spacing:-.055em;line-height:.94}.catalog-results-head .result-count{margin:0;padding:9px 12px;border:1px solid var(--hair-2);border-radius:999px;color:var(--steel);font-size:11px;white-space:nowrap}
.catalog-masonry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:8px;gap:18px;width:100%;min-height:180px}.masonry-tile{align-self:start;display:block;overflow:hidden;background:var(--surface);border:1px solid var(--hair);border-radius:12px;box-shadow:0 15px 30px -30px color-mix(in oklch,var(--ink) 65%,transparent);transition:transform .24s cubic-bezier(.16,1,.3,1),border-color .24s,box-shadow .24s}.masonry-image{display:block;overflow:hidden;background:var(--hair)}.masonry-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .45s}.masonry-tile--portrait .masonry-image{aspect-ratio:.88}.masonry-tile--tall .masonry-image{aspect-ratio:.76}.masonry-tile--standard .masonry-image{aspect-ratio:1.18}.masonry-tile--landscape{grid-column:span 2}.masonry-tile--landscape .masonry-image{aspect-ratio:1.6}
.masonry-body{display:flex;flex-direction:column;padding:17px 17px 15px}.masonry-meta{display:flex;align-items:center;gap:8px;color:var(--orange);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.masonry-meta i{font-style:normal;color:var(--concrete)}.masonry-body>strong{margin-top:13px;font-size:clamp(20px,1.75vw,27px);font-weight:300;letter-spacing:-.04em;line-height:.98;text-wrap:balance}.masonry-body>strong+span{margin-top:10px;color:var(--steel);font-size:12px;line-height:1.43}.masonry-foot{display:flex;justify-content:space-between;gap:10px;margin-top:17px;padding-top:12px;border-top:1px solid var(--hair);color:var(--concrete);font-size:10px}.masonry-foot em{font-style:normal}.masonry-foot b{color:var(--ink);font-size:10px;font-weight:500;white-space:nowrap}.masonry-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--orange) 50%,var(--hair));box-shadow:0 22px 40px -28px color-mix(in oklch,var(--ink) 55%,transparent)}.masonry-tile:hover img{transform:scale(1.05);filter:saturate(1.07)}
.masonry-tile{--masonry-media:clamp(208px,17vw,264px)}
@media(min-width:701px){.masonry-tile{display:flex;height:calc(var(--masonry-media) + 182px);box-sizing:border-box;flex-direction:column}.masonry-image{height:var(--masonry-media);aspect-ratio:auto!important;flex:0 0 auto}.masonry-body{box-sizing:border-box;min-height:0;flex:1;overflow:hidden}.masonry-body>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.masonry-body>strong+span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.masonry-foot{margin-top:auto}}
.catalog-more-wrap{display:flex;justify-content:center;padding-top:38px}.catalog-more-wrap .btn-secondary{min-width:190px}.catalog-results .empty-state{padding:60px 0 30px}.catalog-feature:focus-visible,.rail-card:focus-visible,.masonry-tile:focus-visible,.rail-button:focus-visible,.filter-reset:focus-visible{outline:2px solid var(--orange);outline-offset:4px}

@media(max-width:1080px){.catalog-masonry{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.catalog-search-stage{grid-template-columns:1fr;gap:32px}.catalog-feature-copy{min-height:460px}.catalog-section-head{align-items:flex-start;flex-direction:column}.catalog-section-head>p{max-width:540px}.catalog-results-head{align-items:flex-start;flex-direction:column}.catalog-results-head .result-count{margin:0}.catalog-discovery .catalog-filter-row{align-items:flex-start}.catalog-discovery .catalog-toolbar .filterbar{align-items:flex-start;flex-direction:column;gap:6px}.catalog-discovery .catalog-toolbar .filter-label{min-width:0}.filter-reset{padding:11px 0}}
@media(max-width:700px){.catalog-discovery{padding-top:28px}.catalog-search-stage{padding:27px 22px;border-radius:14px}.catalog-search-stage h2{font-size:clamp(35px,11vw,52px)}.catalog-search-stage p:not(.eyebrow){font-size:14px}.catalog-search--stage{padding:14px 13px}.catalog-search--stage input{font-size:14px}.catalog-search--stage kbd{display:none}.catalog-discovery .catalog-toolbar{padding:8px 12px}.catalog-discovery .catalog-filter-row{padding:8px 0}.catalog-discovery .catalog-toolbar .filter-group{width:100%}.catalog-feature-pair{grid-template-columns:1fr}.catalog-feature-copy{min-height:390px;padding:25px}.catalog-feature-copy>strong{font-size:clamp(42px,12vw,60px)}.catalog-feature--small .catalog-feature-copy{min-height:280px}.catalog-rail-section{margin-top:68px}.catalog-rail-section .catalog-section-head{gap:18px}.catalog-rail{grid-auto-columns:78vw;margin-right:calc(var(--gutter) * -1);padding-right:var(--gutter)}.catalog-results-head h2{font-size:clamp(34px,10vw,50px)}.catalog-masonry{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:6px;gap:12px;min-height:0}.masonry-tile{border-radius:9px}.masonry-body{padding:13px 12px 12px}.masonry-meta{font-size:8px;gap:6px}.masonry-body>strong{margin-top:10px;font-size:20px}.masonry-body>strong+span{font-size:11px}.masonry-foot{display:none}.catalog-more-wrap{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.catalog-feature>img,.catalog-feature-link i,.rail-card,.rail-card-image img,.masonry-tile,.masonry-image img,.catalog-masonry{transition:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
