/* ==========================================================================
   Maritza's Mexican Food · Brandcore website direction
   Palette from the Mt Acadia sign: sign red, script green, warm masa paper.
   Full-viewport slides with fluid, readable type. No scaled 16:9 card.
   ========================================================================== */

@font-face{font-family:'Gelasio';font-style:normal;font-weight:500 700;font-display:swap;src:url('assets/fonts/gelasio-500-700-latin.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/plus-jakarta-sans-400-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/jetbrains-mono-400-normal.woff2') format('woff2')}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500 700;font-display:swap;src:url('assets/fonts/oswald-500-700-latin.woff2') format('woff2')}

:root{
  --espresso:#17100D;
  --espresso-2:#241713;
  --espresso-3:#33211A;
  --paper:#F7EFE1;
  --paper-2:#FFFBF4;
  --ink:#211610;
  --ink-2:#4A3A30;
  --cream:#FBF3E5;
  --cream-2:#DACBB8;
  --chile:#B5122B;
  --chile-ink:#8E0E22;
  --verde:#17624A;
  --verde-2:#2A8066;
  --marigold:#E9A83E;
  --turquoise:#2B8C82;
  --line:#D8C6AC;
  --line-dark:rgba(251,243,229,.17);

  --font-display:'Gelasio',Georgia,'Times New Roman',serif;
  --font-body:'Plus Jakarta Sans','Segoe UI',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --font-cond:'Oswald','Arial Narrow',sans-serif;

  --gutter:clamp(20px,3.6vw,64px);
  --chrome-h:64px;
  --nav-h:62px;
  --gap:clamp(16px,1.7vw,28px);
  --radius:10px;

  --fs-h1:clamp(46px,4.75vw,92px);
  --fs-h2:clamp(33px,3.1vw,58px);
  --fs-h3:clamp(19px,1.42vw,27px);
  --fs-lead:clamp(18px,1.28vw,24px);
  --fs-body:clamp(16px,1.12vw,21px);
  --fs-small:clamp(15px,.98vw,18px);
  --fs-label:clamp(13.5px,.86vw,16px);
  --fs-kicker:clamp(12.5px,.8vw,15px);
  --fs-card:clamp(16px,1.04vw,20px);
  --fs-note:clamp(14.5px,.95vw,18px);
  --fs-num:clamp(26px,2vw,38px);
  --pad-top:clamp(20px,3vh,40px);
  --pad-bottom:clamp(24px,4vh,48px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--espresso);color:var(--cream);
  font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;overflow:hidden;
}
body.theme-paper{--chrome-bg:var(--paper);--chrome-fg:var(--ink);--chrome-line:var(--line)}
body.theme-dark{--chrome-bg:var(--espresso);--chrome-fg:var(--cream);--chrome-line:var(--line-dark)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
figure{margin:0}
p{margin:0}
a{color:inherit}
code{font-family:var(--font-mono);font-size:.92em}

.icon{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.skip{position:fixed;left:12px;top:-80px;z-index:100;background:var(--paper);color:var(--ink);padding:12px 16px;border-radius:6px;font-weight:700}
.skip:focus{top:12px}
.noscript{position:fixed;bottom:90px;left:20px;right:20px;background:var(--paper);color:var(--ink);padding:14px;z-index:80}

/* ---------- Chrome ---------- */
.chrome{
  position:fixed;inset:0 0 auto 0;height:var(--chrome-h);z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:0 var(--gutter);background:var(--chrome-bg);color:var(--chrome-fg);
  border-bottom:1px solid var(--chrome-line);
}
.chrome-left{display:flex;align-items:center;gap:clamp(10px,1vw,16px);min-width:0}
.brandcore-mark{height:20px;width:auto;flex:none}
.brandcore-for-paper{display:none}
body.theme-paper .brandcore-for-dark{display:none}
body.theme-paper .brandcore-for-paper{display:block}
.co-x{font-family:var(--font-display);font-size:21px;line-height:1;color:var(--marigold);flex:none}
.client-lockup{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.client-lockup strong{font-family:var(--font-body);font-size:clamp(12px,.86vw,14px);font-weight:700;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.client-lockup small{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.68;white-space:nowrap}
.chrome-section{font-family:var(--font-mono);font-size:var(--fs-kicker);font-weight:700;letter-spacing:.17em;text-transform:uppercase;opacity:.82;white-space:nowrap}
.chrome-right{display:flex;align-items:center;gap:12px}
.chrome-count{font-family:var(--font-mono);font-size:var(--fs-kicker);letter-spacing:.1em;opacity:.8;white-space:nowrap}
.index-btn{min-height:36px;padding:0 14px;border:1px solid currentColor;border-radius:5px;background:transparent;color:inherit;font-size:14px;font-weight:700;letter-spacing:.04em}
.index-btn:hover{background:rgba(255,255,255,.08)}
body.theme-paper .index-btn:hover{background:rgba(33,22,16,.07)}

#progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:42;background:transparent;pointer-events:none}
#progress-bar{display:block;height:100%;width:11.11%;background:linear-gradient(90deg,var(--chile),var(--marigold));transition:width .35s ease}

/* ---------- Slide base ---------- */
#deck{position:relative}
.slide{
  position:fixed;inset:0;z-index:10;display:none;overflow-y:auto;overflow-x:hidden;
  padding:calc(var(--chrome-h) + var(--pad-top)) var(--gutter) calc(var(--nav-h) + var(--pad-bottom));
  scrollbar-gutter:stable;
  background:var(--paper);color:var(--ink);
  overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;
}
.slide::-webkit-scrollbar{width:10px}
.slide::-webkit-scrollbar-thumb{background:rgba(33,22,16,.24);border-radius:8px}
.slide.dark::-webkit-scrollbar-thumb{background:rgba(251,243,229,.24)}
.slide.active{display:block}
.slide.paper{background:var(--paper);color:var(--ink)}
.slide.dark{background:radial-gradient(120% 90% at 78% 0%,#2B1B15 0%,var(--espresso) 58%,#120C0A 100%);color:var(--cream)}
.slide.cover{background:transparent}
.wrap{width:min(100%,1560px);margin:0 auto}
.folio,.cover-caption{display:none}

/* ---------- Type ---------- */
h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:-.018em;text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:1.02}
h2{font-size:var(--fs-h2);line-height:1.04}
h3{font-size:var(--fs-h3);line-height:1.16;letter-spacing:-.012em}
h1 .accent,h2 .accent{display:block;margin-top:.1em}
.paper h1 .accent,.paper h2 .accent{color:var(--chile-ink)}
.dark h1 .accent,.dark h2 .accent{color:var(--marigold)}
.kicker{
  display:flex;align-items:center;gap:.85em;margin:0 0 clamp(14px,1.4vw,22px);
  font-family:var(--font-mono);font-size:var(--fs-kicker);font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;line-height:1.4;
}
.kicker::before{content:'';width:2.1em;height:2px;flex:none;background:currentColor;opacity:.9}
.paper .kicker{color:var(--chile-ink)}
.dark .kicker{color:var(--marigold)}
.lead{font-size:var(--fs-lead);line-height:1.5;max-width:60ch}
.paper .lead{color:var(--ink-2)}
.dark .lead{color:var(--cream-2)}
.lead strong{color:inherit}
.head-grid{
  display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  gap:clamp(20px,3.2vw,64px);align-items:end;
  margin-bottom:clamp(20px,2.8vw,40px);
}
.head-grid h2{max-width:22ch}
.head-grid .lead{max-width:48ch;padding-bottom:.2em}
.takeaway{
  margin:clamp(16px,2vw,26px) 0 0;padding:12px 18px;border-left:3px solid var(--chile);
  background:rgba(181,18,43,.06);font-size:var(--fs-card);line-height:1.5;color:var(--ink-2);
}
.takeaway strong{color:var(--chile-ink)}
.src-inline{display:block;margin-top:6px;font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#7A6653}
.takeaway-dark{border-left-color:var(--marigold);background:rgba(233,168,62,.07);color:var(--cream-2)}
.takeaway-dark strong{color:var(--marigold)}
.need-strip{
  margin:clamp(16px,2vw,26px) 0 0;padding:14px 18px;border:1px solid var(--line);
  background:var(--paper-2);font-size:var(--fs-card);line-height:1.5;color:var(--ink-2);
}
.dark .need-strip{border-color:var(--line-dark);background:rgba(255,255,255,.035);color:var(--cream-2)}
.need-strip strong{color:inherit}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:48px;padding:0 22px;border-radius:6px;border:1px solid transparent;
  font-size:var(--fs-small);font-weight:700;text-decoration:none;line-height:1.2;
}
.btn-solid{background:var(--chile);color:#FFF7EC;box-shadow:0 8px 24px rgba(0,0,0,.24)}
.btn-solid:hover{background:#9E0F25}
.btn:focus-visible,.nav-btn:focus-visible,.nav-tool:focus-visible,.index-btn:focus-visible,.mockup-tabs button:focus-visible,.tier:focus-visible{outline:3px solid var(--marigold);outline-offset:3px}

/* ---------- Cover ---------- */
.cover{
  background:transparent;display:none;align-items:center;
  padding-top:calc(var(--chrome-h) + 18px);padding-bottom:calc(var(--nav-h) + 18px);
}
.cover.active{display:flex}
.cover::before{
  content:'';position:fixed;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(23,16,13,.95) 0%,rgba(23,16,13,.88) 30%,rgba(23,16,13,.44) 44%,rgba(23,16,13,.06) 58%,rgba(23,16,13,0) 70%),
    linear-gradient(180deg,rgba(23,16,13,0) 52%,rgba(23,16,13,.72) 100%);
}
.cover-wrap{
  position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  align-items:center;gap:clamp(24px,4vw,64px);width:min(100%,1560px);margin:0 auto;
  min-height:calc(100svh - var(--chrome-h) - var(--nav-h) - 36px);
}
.cover-copy{max-width:660px;position:relative;z-index:3}
.cover h1{margin-bottom:clamp(14px,1.5vw,22px)}
.cover .lead{max-width:46ch;margin-bottom:clamp(18px,2vw,28px)}
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 clamp(18px,2vw,28px);padding:0;font-size:var(--fs-small);color:var(--cream-2)}
.facts li{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.facts .icon{color:var(--marigold);font-size:17px}
.facts a{text-decoration:none;border-bottom:1px solid rgba(233,168,62,.45)}
.facts a:hover{border-bottom-color:var(--marigold)}
.cover-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:clamp(18px,2.4vw,32px)}
.micro{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.04em;color:var(--cream-2);max-width:30ch;line-height:1.45}
.prepared{font-size:15px;color:var(--cream-2);border-top:1px solid var(--line-dark);padding-top:14px;max-width:46ch}
.prepared strong{color:var(--cream)}
.cover-stage{position:relative;min-height:380px;display:grid;place-items:center;z-index:1}
.stage-fallback{display:none;width:min(100%,520px);text-align:center}
.fallback-sign{
  position:relative;background:#FFFDF7;padding:clamp(16px,2vw,26px);border:10px solid #2B1A12;
  box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 2px #A97B37 inset,0 0 60px rgba(233,168,62,.14);
  transform:rotate(-1.4deg);
}
.fallback-sign img{width:100%;height:auto}
.flag-strip{display:block;height:26px;margin:0 auto 14px;width:82%;background-repeat:repeat-x;background-size:52px 26px;
  background-image:linear-gradient(90deg,transparent 0 3px,#D3263A 3px 49px,transparent 49px 52px);
  clip-path:polygon(0 0,100% 0,100% 52%,94% 100%,88% 52%,82% 100%,76% 52%,70% 100%,64% 52%,58% 100%,52% 52%,46% 100%,40% 52%,34% 100%,28% 52%,22% 100%,16% 52%,10% 100%,4% 52%,0 100%);
  opacity:.9}
.flag-strip-b{background-image:linear-gradient(90deg,transparent 0 3px,#2B8C82 3px 49px,transparent 49px 52px);margin-top:14px;margin-bottom:0}
.fallback-note{font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-2);margin-top:16px}
#scene{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity .5s ease}
body.scene-on #scene{opacity:1}
body.no-webgl #scene,body.reduced #scene{display:none}
body.no-webgl .stage-fallback,body.reduced .stage-fallback{display:block}
body.booming #scene{opacity:1;z-index:32}
#boom-flash{position:fixed;inset:0;z-index:33;pointer-events:none;opacity:0;background:radial-gradient(circle at 72% 46%,#FFF9E9 0%,#F6D58A 28%,rgba(214,61,37,.55) 55%,transparent 74%)}
#boom-flash.on{animation:flash .58s ease-out both}
@keyframes flash{0%{opacity:0}8%{opacity:.95}30%{opacity:.62}100%{opacity:0}}

/* ---------- Audit ---------- */
.audit-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(18px,2.4vw,42px);align-items:start}
.shot{border:1px solid var(--line);background:var(--paper-2);border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 50px rgba(64,42,26,.16)}
.browser-chrome{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#E9DDCB;border-bottom:1px solid #D2BFA4;color:#5C4A3B;min-height:44px}
.dots{display:inline-flex;gap:5px}
.dots i{width:8px;height:8px;border-radius:50%;background:#B9A68E}
.dots i:nth-child(1){background:#C8544A}.dots i:nth-child(2){background:#D9A94B}.dots i:nth-child(3){background:#4E8E68}
.browser-chrome .url{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:7px;flex:1;min-width:0}
.browser-chrome .badge{margin-left:auto;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#6D5947}
.badge-green{color:#1E6B4F!important}
.shot-image{position:relative;background:#ECE4D8}
.shot-image img{width:100%;height:auto;display:block}
.shot-marker{display:none}
.shot figcaption{padding:12px 14px;font-size:14.5px;line-height:1.45;color:#6C5949;background:var(--paper-2);border-top:1px solid #E2D4C0}
.findings{list-style:none;margin:0;padding:0;display:grid;gap:0}
.findings li{padding:clamp(10px,1.15vw,16px) 0;border-top:1px solid var(--line)}
.findings li:first-child{border-top:none;padding-top:0}
.sev{display:inline-block;font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--chile-ink);border:1px solid rgba(142,14,34,.34);padding:2px 7px;border-radius:3px;margin-bottom:7px}
.findings h3{font-size:clamp(18px,1.28vw,23px);margin-bottom:5px}
.findings p{font-size:var(--fs-body);line-height:1.45;color:var(--ink-2);max-width:54ch}
.src{display:block;margin-top:6px;font-family:var(--font-mono);font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;color:#7A6653;line-height:1.45}

/* ---------- Gap ---------- */
.gap-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(18px,2.4vw,42px);align-items:stretch}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,20px);align-items:stretch}
.path{display:flex;flex-direction:column;border:1px solid var(--line-dark);padding:clamp(16px,1.5vw,26px);background:rgba(255,255,255,.025);border-radius:8px}
.path-next{border-color:rgba(233,168,62,.5);background:linear-gradient(180deg,rgba(233,168,62,.08),rgba(233,168,62,.02))}
.path h3{display:flex;flex-direction:column;gap:4px;font-family:var(--font-body);font-size:clamp(18px,1.3vw,25px);font-weight:700;letter-spacing:.01em;margin-bottom:10px}
.path h3 span{font-family:var(--font-mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--marigold)}
.path-next h3 span{color:var(--verde-2)}
.path ol{list-style:none;counter-reset:step;margin:0 0 18px;padding:0;display:grid;gap:clamp(10px,1.1vw,16px)}
.path li{position:relative;padding-left:40px;counter-increment:step;font-size:clamp(15px,1vw,19px);line-height:1.4}
.path li::before{content:counter(step);position:absolute;left:0;top:1px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:13px;border:1px solid var(--line-dark);color:var(--cream-2)}
.path-next li::before{border-color:rgba(233,168,62,.55);color:var(--marigold)}
.path li b{display:block;font-size:clamp(17px,1.2vw,23px);color:var(--cream)}
.path li span{display:block;color:var(--cream-2);font-size:clamp(15px,1vw,19px);line-height:1.38;margin-top:2px}
.path-cost{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-dark);font-size:clamp(15px,1vw,19px);line-height:1.45;color:var(--cream)}
.storefront{position:relative;display:flex;flex-direction:column;border:1px solid var(--line-dark);border-radius:8px;overflow:hidden;background:#0E0907}
.storefront img{width:100%;flex:1 1 auto;min-height:0;object-fit:cover}
.storefront figcaption{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:14.5px;color:var(--cream-2);background:rgba(0,0,0,.4);border-top:1px solid var(--line-dark)}
.cap-tag{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--espresso);background:var(--marigold);padding:3px 7px;border-radius:2px;font-weight:700}
.name-note{margin:0;padding:14px 16px;background:var(--espresso-2);font-size:var(--fs-note);line-height:1.45;color:var(--cream-2);border-top:1px solid var(--line-dark)}
.name-note strong{color:var(--cream)}

/* ---------- Flagship mockup ---------- */
.flagship{display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:clamp(16px,2vw,32px);align-items:start;min-width:0}
.mockup-shell{background:#EADDC8;border:1px solid #D6C2A5;border-radius:12px;padding:10px;box-shadow:0 18px 50px rgba(64,42,26,.14);min-width:0}
.browser{min-width:0}
.mockup-tabs{display:flex;align-items:center;gap:6px;padding:2px 2px 9px}
.mockup-tabs button{min-height:44px;padding:0 18px;border-radius:5px;border:1px solid transparent;background:transparent;color:#5B4838;font-size:15px;font-weight:700}
.mockup-tabs button[aria-selected="true"]{background:var(--chile);color:#FFF7EC;border-color:var(--chile)}
.mockup-hint{margin-left:auto;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#78634F;padding-right:4px}
.browser{background:#FFFDF8;border:1px solid #D8C6AE;border-radius:8px;overflow:hidden}
.browser .browser-chrome{background:#EFE5D5;color:#5C4A3B;min-height:40px;padding:8px 12px}
.browser .browser-chrome .url{font-size:13px}
.browser-view{container-type:inline-size;background:#FFFDF8;color:#241813}
.site-top{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid #E4D6C2;background:#fff}
.site-logo{height:34px;width:auto}
.site-links{font-size:14px;letter-spacing:.05em;color:#6A5746;margin-left:auto;white-space:nowrap}
.site-call{font-size:14px;font-weight:700;color:#8E0E22;text-decoration:none;border:1px solid rgba(142,14,34,.3);padding:6px 9px;border-radius:4px;white-space:nowrap}
.site-call:hover{background:#F7E9E5}
.panel{padding:clamp(12px,2.2cqw,20px);min-height:318px}
.home-hero{position:relative;display:block;min-height:clamp(190px,19cqw,260px);border-radius:7px;overflow:hidden;background:#F5EAD6}
.home-art-wrap{position:absolute;inset:0}
.home-copy{position:relative;z-index:1;max-width:42%;padding:clamp(12px,2cqw,24px) 0 clamp(12px,2cqw,24px) clamp(14px,2.4cqw,30px)}
.home-copy small{font-family:var(--font-mono);font-size:clamp(11.5px,1cqw,13px);letter-spacing:.15em;text-transform:uppercase;color:#8E0E22;font-weight:700}
.home-copy h3{font-size:clamp(25px,3.6cqw,42px);line-height:1.03;margin:7px 0 9px;color:#241813;max-width:14ch}
.home-copy p{font-size:clamp(14.5px,1.6cqw,17.5px);line-height:1.45;color:#3F3026;max-width:30ch}
.home-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.concept-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:4px;background:#17624A;color:#FFFDF8;font-size:14.5px;font-weight:700;text-decoration:none;border:none}
.concept-btn:hover{background:#124D3A}
.concept-link{background:none;border:none;padding:0;color:#8E0E22;font-size:14.5px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.home-art{width:100%;height:100%;object-fit:cover;object-position:right 90%}
.home-strip{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:9px 0 0;margin-top:12px;border-top:1px solid #E7DAC6;font-size:14px;color:#4A3A30}
.home-strip b{color:#241813}
.home-cats{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.home-cats span{font-size:13px;letter-spacing:.03em;border:1px solid #DCCCB5;border-radius:999px;padding:5px 11px;color:#4A3A30;background:#FBF4E8}
.panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}
.panel-head h3{font-size:clamp(19px,2.3cqw,26px);max-width:15ch;color:#241813}
.panel-head p{font-size:14px;line-height:1.4;color:#5B4838;max-width:42ch}
.menu-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.menu-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.menu-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid #E7DAC6;padding:8px 0;font-size:13.5px;color:#5B4838}
.menu-row b{font-size:15px;color:#241813;font-weight:700}
.menu-note{font-size:13.5px;line-height:1.4;color:#5B4838;margin-top:10px;max-width:74ch}
.visit-grid{display:grid;grid-template-columns:1fr .9fr;gap:16px;align-items:start}
.visit-grid h3{font-size:clamp(19px,2.3cqw,26px);color:#241813;max-width:14ch}
.visit-address{font-size:16px;line-height:1.5;color:#4A3A30;margin:10px 0 12px}
.visit-card{position:relative;border:1px solid #DCCCB5;background:#FBF3E6;border-radius:5px;padding:18px 14px 14px;display:flex;flex-direction:column;gap:4px;font-size:14px;color:#4A3A30;min-height:200px;justify-content:flex-end;overflow:hidden}
.visit-card::before{content:'';position:absolute;inset:0;background:
  linear-gradient(115deg,transparent 46%,#E4D4BD 46% 48%,transparent 48%),
  linear-gradient(65deg,transparent 62%,#E4D4BD 62% 64%,transparent 64%),
  linear-gradient(0deg,transparent 38%,#E4D4BD 38% 40%,transparent 40%);
  opacity:.8}
.visit-card b{position:relative;font-size:16px;color:#241813}
.visit-card span{position:relative}
.visit-line{border-top:1px dashed #DCCCB5;padding-top:4px;margin-top:3px}
.map-pin{position:absolute;left:50%;top:34%;width:16px;height:16px;border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);background:#B5122B;border:3px solid #FFFDF8;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.site-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 16px;background:#241713;color:#DACBB8;font-size:12.5px;letter-spacing:.03em}
.phone-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.phone{width:100%;max-width:250px;background:#120C0A;border:7px solid #2C1E18;border-radius:30px;padding:8px 6px 12px;box-shadow:0 20px 44px rgba(33,22,16,.24)}
.phone-notch{display:block;width:62px;height:5px;border-radius:4px;background:#4A382E;margin:0 auto 8px}
.phone-screen{background:#FFFDF8;border-radius:22px;padding:14px 12px;min-height:410px;display:flex;flex-direction:column;align-items:flex-start;color:#241813}
.phone-logo{height:26px;width:auto;margin-bottom:10px}
.phone-screen small{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:#8E0E22;font-weight:700}
.phone-screen h3{font-size:22px;line-height:1.05;margin:5px 0 7px;max-width:11ch}
.phone-screen p{font-size:13px;line-height:1.4;color:#554234}
.phone-call{display:block;width:100%;text-align:center;background:#B5122B;color:#FFF7EC;text-decoration:none;border-radius:4px;padding:11px 6px;font-size:13.5px;font-weight:700;margin:10px 0 4px}
.phone-links{display:flex;gap:6px;width:100%}
.phone-links span{flex:1;text-align:center;border:1px solid #DCCCB5;border-radius:4px;padding:6px 0;font-size:10.5px;color:#5B4838}
.phone-address{font-size:12px!important;line-height:1.45!important;margin-top:10px;border-top:1px solid #E7DAC6;padding-top:8px;width:100%}
.phone-label{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#7A6653;text-align:center}
.concept-note{margin:clamp(14px,1.8vw,22px) 0 0;font-size:15px;line-height:1.5;color:#6A5746;max-width:96ch}

/* ---------- System ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.1vw,16px)}
.pillar{position:relative;border:1px solid var(--line-dark);border-radius:8px;padding:clamp(14px,1.35vw,22px);background:rgba(255,255,255,.025);display:flex;flex-direction:column;min-height:172px}
.pillar::after{content:'';position:absolute;left:0;top:14px;bottom:14px;width:2px;background:linear-gradient(180deg,var(--chile),transparent)}
.p-num{font-family:var(--font-cond);font-size:15px;letter-spacing:.14em;color:var(--marigold);margin-bottom:8px}
.pillar h3{font-size:clamp(20px,1.4vw,25px);margin-bottom:7px;color:var(--cream)}
.pillar p{font-size:var(--fs-body);line-height:1.45;color:var(--cream-2);max-width:38ch}
.p-out{margin-top:auto;padding-top:12px;font-family:var(--font-mono);font-size:clamp(13.5px,.88vw,15px);letter-spacing:.06em;text-transform:uppercase;color:var(--marigold);border-top:1px solid var(--line-dark)}

/* ---------- Proof ---------- */
.proof-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(18px,2.4vw,38px);align-items:start}
.compare{position:relative;border:1px solid var(--line);background:#E7DBC9;border-radius:10px;overflow:hidden;aspect-ratio:16/9;max-height:min(58vh,620px);box-shadow:0 18px 46px rgba(64,42,26,.16);--pos:52%}
.compare-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.compare-before{z-index:1}
.compare-after{position:absolute;inset:0;z-index:2;clip-path:inset(0 0 0 var(--pos))}
.compare-line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#FFFDF8;z-index:3;box-shadow:0 0 0 1px rgba(33,22,16,.25)}
.compare-line i{position:absolute;left:50%;top:50%;width:42px;height:42px;transform:translate(-50%,-50%);border-radius:50%;background:#FFFDF8;border:2px solid var(--chile);box-shadow:0 4px 14px rgba(0,0,0,.3)}
.compare-line i::before,.compare-line i::after{content:'';position:absolute;top:50%;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent}
.compare-line i::before{left:8px;border-right:6px solid var(--chile)}
.compare-line i::after{right:8px;border-left:6px solid var(--chile)}
.compare-tag{position:absolute;top:12px;z-index:4;font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:3px;font-weight:700}
.compare-tag.before{left:12px;background:rgba(23,16,13,.82);color:#FFF7EC}
.compare-tag.after{right:12px;background:var(--marigold);color:#241713}
.compare-control{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:10px;background:rgba(23,16,13,.78);color:#FFF7EC;padding:7px 14px;border-radius:999px;font-size:13px;letter-spacing:.04em;white-space:nowrap}
.compare-control input{width:150px;accent-color:var(--marigold);cursor:ew-resize}
.proof-copy h3{font-size:clamp(21px,1.6vw,28px);margin-bottom:12px}
.proof-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.proof-list li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.proof-list li:first-child{border-top:none;padding-top:0}
.proof-list span{font-family:var(--font-cond);font-size:17px;color:var(--chile-ink);letter-spacing:.06em}
.proof-list b{font-size:clamp(17px,1.15vw,22px);color:var(--ink)}
.proof-list p{font-size:clamp(16px,1.05vw,20px);line-height:1.45;color:var(--ink-2);margin-top:2px}
.proof-note{font-size:14px;line-height:1.45;color:#665341;margin-top:14px;border-top:1px solid var(--line);padding-top:10px}

/* ---------- Roadmap ---------- */
.rail{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 clamp(18px,2vw,30px);padding:0;position:relative}
.rail::before{content:'';position:absolute;left:0;right:0;top:11px;height:1px;background:var(--line-dark)}
.rail li{position:relative;padding-top:32px;font-size:clamp(16px,1.1vw,21px);color:var(--cream);letter-spacing:.02em}
.rail li::before{content:'';position:absolute;top:5px;left:0;width:13px;height:13px;border-radius:50%;background:var(--espresso);border:2px solid var(--cream-2);z-index:1}
.rail li span{position:absolute;top:0;left:24px;font-family:var(--font-mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--marigold);white-space:nowrap}
.rail li.live::before{background:var(--marigold);border-color:var(--marigold);box-shadow:0 0 0 4px rgba(233,168,62,.18)}
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.1vw,16px)}
.phase{border:1px solid var(--line-dark);border-radius:8px;padding:clamp(14px,1.4vw,22px);background:rgba(255,255,255,.025);display:flex;flex-direction:column}
.phase.featured{border-color:rgba(233,168,62,.55);background:linear-gradient(180deg,rgba(233,168,62,.09),rgba(255,255,255,.02))}
.phase-top{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.phase-num{color:var(--marigold)}
.phase-days{color:var(--cream-2)}
.phase h3{font-size:clamp(20px,1.45vw,26px);color:var(--cream);margin-bottom:5px}
.phase p{font-size:clamp(16px,1.05vw,20px);line-height:1.45;color:var(--cream-2);margin-bottom:12px}
.phase ul{list-style:none;margin:0;padding:0;display:grid;gap:clamp(8px,.8vw,12px)}
.phase li{font-size:clamp(16px,1.02vw,19.5px);line-height:1.4;color:var(--cream-2);padding-left:14px;position:relative}
.phase li::before{content:'';position:absolute;left:0;top:.5em;width:4px;height:4px;border-radius:50%;background:var(--marigold)}
.phase li b{color:var(--cream);font-weight:700}

/* ---------- Engagement ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.3vw,20px);align-items:stretch}
.tier{border:1px solid var(--line);border-radius:9px;padding:clamp(16px,1.6vw,26px);background:var(--paper-2);display:flex;flex-direction:column}
.tier-rec{border-color:var(--chile);box-shadow:0 0 0 3px rgba(181,18,43,.1);position:relative}
.tier-tag{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--chile-ink);margin-bottom:10px}
.tier h3{font-size:clamp(22px,1.7vw,30px);margin-bottom:6px}
.tier-for{font-size:clamp(16px,1.05vw,20px);line-height:1.45;color:var(--ink-2);margin-bottom:14px;min-height:2.9em}
.tier ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:clamp(8px,.8vw,12px)}
.tier li{font-size:clamp(16px,1.05vw,20px);line-height:1.4;color:var(--ink-2);padding-left:20px;position:relative}
.tier li::before{content:'';position:absolute;left:0;top:6px;width:7px;height:7px;border:1.5px solid var(--verde);transform:rotate(45deg)}
.tier-price{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--chile-ink)}

/* ---------- Closing ---------- */
.close-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(18px,2.4vw,40px);align-items:start}
.partner{display:grid;grid-template-columns:clamp(150px,14vw,264px) 1fr;gap:clamp(14px,1.6vw,24px);align-items:start;border:1px solid var(--line-dark);border-radius:9px;padding:clamp(16px,1.7vw,26px);background:rgba(255,255,255,.025)}
.partner-photo{width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:drop-shadow(0 14px 30px rgba(0,0,0,.42))}
.partner-kicker{font-family:var(--font-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--marigold)}
.partner h3{font-size:clamp(30px,2.6vw,50px);margin:3px 0 2px;color:var(--cream)}
.partner-role{display:block;font-size:clamp(15.5px,1.05vw,20px);color:var(--cream-2);margin-bottom:10px}
.partner-note{font-size:var(--fs-card);line-height:1.5;color:var(--cream-2);max-width:46ch;margin-bottom:14px}
.partner-contacts{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0;padding:12px 0 0;border-top:1px solid var(--line-dark)}
.partner-contacts dt{font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--marigold);margin-bottom:1px}
.partner-contacts dd{margin:0;font-size:clamp(16px,1.05vw,20px);line-height:1.35;color:var(--cream)}
.partner-contacts a{text-decoration:none;border-bottom:1px solid rgba(251,243,229,.3)}
.partner-contacts a:hover{border-bottom-color:var(--marigold)}
.partner-brand{margin-top:14px;font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--cream-2);opacity:.92}
.contact-card{background:var(--paper);color:var(--ink);border-radius:9px;padding:clamp(16px,1.8vw,26px);box-shadow:0 18px 44px rgba(0,0,0,.26)}
.contact-card .kicker{color:var(--chile-ink);margin-bottom:10px}
.contact-card h3{font-size:clamp(24px,1.9vw,32px);margin-bottom:5px}
.card-desc{font-size:var(--fs-note);line-height:1.5;color:var(--ink-2);margin-bottom:14px}
.time-disclosure{border:1px solid var(--line);border-radius:6px;background:var(--paper-2);padding:0}
.time-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-size:15.5px;font-weight:700;list-style:none}
.time-disclosure summary::-webkit-details-marker{display:none}
.disclosure-icon{width:16px;height:16px;flex:none;color:var(--chile-ink)}
.time-disclosure:not([open]) .disclosure-vertical{display:none}
.time-actions{display:flex;gap:8px;padding:0 14px 6px;flex-wrap:wrap}
.time-actions button{flex:1;min-height:44px;border:1px solid var(--line);background:var(--paper);border-radius:4px;font-size:15px;font-weight:700;color:var(--ink)}
.time-actions button:hover{border-color:var(--chile);color:var(--chile-ink)}
.time-disclosure label{display:block;padding:10px 14px 4px;font-size:14px;font-weight:700;letter-spacing:.03em;color:var(--ink-2)}
.date-field{display:flex;gap:6px;padding:0 14px 6px}
.date-field input{flex:1;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:0 10px;font-size:15.5px;color:var(--ink)}
.picker{width:46px;min-height:44px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);display:grid;place-items:center}
.picker:hover{border-color:var(--chile)}
#status{padding:6px 14px 10px;font-size:14px;line-height:1.4;color:var(--ink-2)}
#picker-fallback{padding:0 14px 8px;font-size:13.5px;color:var(--ink-2)}
.draft{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 14px 8px;min-height:50px;padding:0 14px;background:var(--chile);color:#FFF7EC;border-radius:4px;text-decoration:none;font-size:16px;font-weight:700}
.draft:hover{background:#9E0F25}
.contact-card small{display:block;padding:0 14px 12px;font-size:13.5px;line-height:1.45;color:#5F4D3C}
.next-steps{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line-dark);display:grid;gap:10px}
.next-steps li{display:grid;grid-template-columns:30px 1fr;gap:8px;font-size:clamp(15px,.98vw,18.5px);line-height:1.4;color:var(--cream-2)}
.next-steps b{font-family:var(--font-cond);font-size:15.5px;letter-spacing:.08em;color:var(--marigold);font-weight:500}
.next-steps strong{color:var(--cream)}
.contact-mini{display:flex;gap:6px 16px;flex-wrap:wrap;padding:12px 14px 2px;border-top:1px solid var(--line);font-size:14.5px;color:#4A3A30}
.contact-mini a{text-decoration:none;border-bottom:1px solid rgba(91,72,56,.35)}
.close-line{grid-column:1/-1;margin-top:clamp(14px,2vw,24px);padding-top:12px;border-top:1px solid var(--line-dark);font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;color:var(--cream-2);text-align:center}

/* ---------- Index overlay ---------- */
.index{position:fixed;inset:0;z-index:60;background:#0C0807;color:var(--cream);overflow-y:auto;padding:clamp(20px,3vw,48px)}
.index[hidden]{display:none}
.index-panel{width:min(100%,1240px);margin:0 auto}
.index-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(16px,2vw,28px);border-bottom:1px solid var(--line-dark);padding-bottom:14px}
.index-head .kicker{margin-bottom:4px;color:var(--marigold)}
.index-head h2{font-size:clamp(34px,3vw,52px)}
.index-close{min-height:42px;padding:0 18px;border:1px solid var(--cream);border-radius:5px;background:transparent;color:var(--cream);font-size:14px;font-weight:700}
.index-close:hover{background:rgba(255,255,255,.1)}
.index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.2vw,16px)}
.index-grid button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:0 12px;text-align:left;background:rgba(255,255,255,.04);border:1px solid var(--line-dark);border-radius:7px;padding:10px;color:var(--cream)}
.index-grid button:hover{border-color:var(--marigold);background:rgba(233,168,62,.08)}
.idx-num{font-family:var(--font-cond);font-size:13px;letter-spacing:.12em;color:var(--marigold);align-self:start}
.idx-thumb{grid-column:1/-1;display:block;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:#2A1C16;margin-bottom:7px;order:-1}
.idx-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center}
.idx-thumb-logo{background:#FFFDF8;display:grid;place-items:center;padding:16px}
.idx-thumb-logo img{object-fit:contain;height:100%}
.idx-thumb-word{display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(18px,1.6vw,24px);color:var(--marigold);background:linear-gradient(135deg,#33211A,#17100D);border:1px solid var(--line-dark)}
.idx-thumb-face img{object-position:center 20%}
.idx-title{font-size:15px;font-weight:700;line-height:1.3;grid-column:2;align-self:center}
.index-note{margin-top:20px;font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-2);text-align:center}

/* ---------- Bottom nav ---------- */
.nav{
  position:fixed;inset:auto 0 0 0;height:var(--nav-h);z-index:45;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:0 var(--gutter);background:var(--chrome-bg);color:var(--chrome-fg);
  border-top:1px solid var(--chrome-line);
}
.nav-meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.62;white-space:nowrap}
.nav-center{display:flex;align-items:center;gap:10px}
.nav-btn{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 16px;border:1px solid currentColor;border-radius:5px;background:transparent;color:inherit;font-size:14px;font-weight:700}
.nav-btn:hover:not(.nav-next){background:rgba(255,255,255,.09)}
body.theme-paper .nav-btn:hover:not(.nav-next){background:rgba(33,22,16,.07)}
.nav-btn .icon{font-size:16px}
.nav-next,.theme-paper .nav-next,.theme-dark .nav-next{background:var(--chile);color:#FFF7EC;border-color:var(--chile)}
.nav-next:hover,.theme-paper .nav-next:hover,.theme-dark .nav-next:hover{background:#9E0F25;color:#FFF7EC}
.nav-count{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.1em;min-width:58px;text-align:center}
.nav-tools{display:flex;align-items:center;gap:8px}
.nav-tool{min-height:38px;padding:0 12px;border:1px solid currentColor;border-radius:5px;background:transparent;color:inherit;font-size:13.5px;font-weight:700;letter-spacing:.02em;opacity:.9}
.nav-tool:hover{opacity:1;background:rgba(255,255,255,.08)}
body.theme-paper .nav-tool:hover{background:rgba(33,22,16,.06)}

.launch-checks{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:clamp(18px,2.4vw,34px) 0 0;padding:0}
.launch-checks li{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);border:1px solid var(--line-dark);border-radius:999px;padding:6px 12px;background:rgba(255,255,255,.03)}
.launch-checks .icon{color:var(--marigold);margin-right:8px;font-size:1.15em;stroke-width:2.4}
.tier-note{display:flex;flex-wrap:wrap;gap:10px 28px;margin:clamp(16px,2vw,26px) 0 0;padding-top:14px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.tier-note span::before{content:'·';color:var(--chile);margin-right:8px;font-weight:700}
.system .wrap,.roadmap .wrap,.engagement .wrap,.proof .wrap{min-height:calc(100svh - var(--chrome-h) - var(--nav-h) - var(--pad-top) - var(--pad-bottom));display:flex;flex-direction:column}
.system .takeaway{margin-top:auto}
.roadmap .need-strip,.engagement .need-strip{margin-top:14px}
/* Whole-composition centering: every inner block (kicker, heading, lead, body,
   cards, notes) sits in one group centered between the fixed masthead and the
   fixed bottom navigation. Auto margins collapse to zero when the group is
   taller than the stage, which then flows naturally from the top. */
.stage-center{margin:auto 0;width:100%}

/* ---------- Transitions ---------- */
.slide.leaving{display:block!important;z-index:12;pointer-events:none;animation:leaveNext .4s cubic-bezier(.55,.06,.68,.19) both}
.slide.leaving.back{animation-name:leavePrev}
.slide.entering{z-index:13;animation:enterNext .46s cubic-bezier(.16,1,.3,1) both}
.slide.entering.back{animation-name:enterPrev}
@keyframes leaveNext{from{opacity:1;transform:translateX(0) scale(1)}to{opacity:.12;transform:translateX(-4.5%) scale(.985)}}
@keyframes enterNext{from{opacity:.2;transform:translateX(4.5%)}to{opacity:1;transform:translateX(0)}}
@keyframes leavePrev{from{opacity:1;transform:translateX(0) scale(1)}to{opacity:.12;transform:translateX(4.5%) scale(.985)}}
@keyframes enterPrev{from{opacity:.2;transform:translateX(-4.5%)}to{opacity:1;transform:translateX(0)}}
.seam{position:fixed;top:0;bottom:0;width:2px;z-index:34;pointer-events:none;background:linear-gradient(180deg,transparent,var(--marigold),var(--chile),transparent);box-shadow:0 0 22px rgba(233,168,62,.55);opacity:0}
.seam.on{animation:seamSweep .62s cubic-bezier(.4,0,.2,1) both}
@keyframes seamSweep{0%{opacity:0;left:100%}10%{opacity:.9}90%{opacity:.9}100%{opacity:0;left:-2px}}

/* ---------- Responsive ---------- */
@media (min-width:1280px){
  .findings{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,min-content);grid-auto-flow:column;column-gap:clamp(18px,2vw,32px)}
  .findings::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line)}
  .findings li{padding:10px 0}
  .findings li:nth-child(4){border-top:none;padding-top:0}
  .findings li:nth-child(4),.findings li:nth-child(5){padding-left:clamp(16px,1.7vw,26px)}
}
@media (max-width:1180px){
  .flagship{grid-template-columns:minmax(0,1fr) 214px}
  .phone{max-width:214px}
  .phone-screen{min-height:370px}
  .partner-contacts{grid-template-columns:1fr}
}
@media (max-width:1020px){
  :root{--gutter:clamp(20px,4vw,40px)}
  .head-grid{grid-template-columns:1fr;gap:14px;align-items:start}
  .head-grid h2{max-width:26ch}
  .audit-grid{grid-template-columns:1fr}
  .gap-grid{grid-template-columns:1fr}
  .paths{grid-template-columns:1fr 1fr}
  .flagship{grid-template-columns:1fr}
  .phone-wrap{display:none}
  .proof-grid{grid-template-columns:1fr}
  .compare{max-height:56vh}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .phases{grid-template-columns:1fr;gap:10px}
  .rail{grid-template-columns:repeat(4,1fr)}
  .tiers{grid-template-columns:1fr;gap:10px}
  .tier-for{min-height:0}
  .close-grid{grid-template-columns:1fr}
  .partner{grid-template-columns:clamp(150px,20vw,210px) 1fr}
  .partner-contacts{grid-template-columns:1fr 1fr}
  .chrome-section{display:none}
}
@media (max-width:820px){
  :root{--chrome-h:58px;--nav-h:60px}
  .cover{align-items:flex-start}
  .cover-wrap{grid-template-columns:1fr;gap:18px;min-height:0;padding-top:6px}
  .cover-copy{max-width:none}
  .cover-stage{min-height:0;margin-top:8px;order:2}
  .stage-fallback{display:block;width:min(100%,420px)}
  .cover h1{font-size:clamp(40px,9.2vw,64px)}
  .cover .lead{font-size:clamp(17px,3.5vw,20px)}
  .cover .facts{font-size:14px;gap:8px 16px}
  .micro{display:none}
  .cover-caption{display:none}
  .chrome-left{gap:8px}
  .client-lockup small{display:none}
  .chrome-count{display:none}
  .nav-meta{display:none}
  .nav-tools .nav-tool:first-child{display:none}
  .nav-center{flex:1;justify-content:center}
  .nav-tools{flex:none}
  .rail{grid-template-columns:repeat(2,1fr);gap:8px 0}
  .rail::before{display:none}
  .rail li{padding-top:22px}
  .pillars{grid-template-columns:1fr 1fr}
  .partner{grid-template-columns:clamp(130px,26vw,190px) 1fr}
}
@media (max-width:700px){
  :root{--gutter:18px;--chrome-h:56px;--nav-h:64px}
  .slide{padding-top:calc(var(--chrome-h) + 18px);padding-bottom:calc(var(--nav-h) + 22px)}
  .chrome{padding:0 16px}
  .brandcore-mark{height:17px}
  .client-lockup strong{font-size:11px;letter-spacing:.08em}
  .index-btn{min-height:34px;padding:0 10px;font-size:12px}
  .chrome-right{gap:8px}
  h1{font-size:clamp(38px,10.5vw,54px)}
  .cover h1{font-size:clamp(36px,10.4vw,52px)}
  h2{font-size:clamp(29px,7.6vw,40px)}
  .lead{font-size:clamp(17px,4.3vw,19px)}
  .kicker{font-size:11px;letter-spacing:.13em;margin-bottom:12px}
  .facts{display:grid;grid-template-columns:1fr;gap:7px}
  .cover-actions{flex-direction:column;align-items:flex-start;gap:10px}
  .cover-actions .btn{width:100%}
  .prepared{font-size:12.5px}
  .micro{max-width:none}
  .paths{grid-template-columns:1fr}
  .path li b{font-size:15px}
  .path li span{font-size:13px}
  .storefront img{aspect-ratio:16/10}
  .pillars{grid-template-columns:1fr}
  .pillar{min-height:0}
  .tiers{grid-template-columns:1fr}
  .tier{padding:18px}
  .close-grid{grid-template-columns:1fr}
  .partner{grid-template-columns:1fr;padding:18px}
  .partner-photo{width:150px;max-width:52vw}
  .partner-contacts{grid-template-columns:1fr}
  .nav{padding:0 12px;gap:8px}
  .nav-btn{padding:0 11px;font-size:12.5px;gap:5px}
  .nav-btn .icon{font-size:15px}
  .nav-count{min-width:48px;font-size:11.5px}
  .nav-tools{gap:6px}
  .nav-tool{padding:0 9px;font-size:11px;min-height:36px}
  .mockup-shell{padding:8px}
  .mockup-tabs button{padding:0 13px;font-size:12.5px;min-height:38px}
  .mockup-hint{display:none}
  .browser .browser-chrome .badge,.shot .browser-chrome .badge{display:none}
  .browser .browser-chrome .url{font-size:11px}
  .site-top{flex-wrap:wrap;gap:8px;padding:10px 12px}
  .site-logo{height:24px}
  .site-links{display:none}
  .site-call{font-size:11.5px;padding:5px 8px}
  .panel{padding:12px;min-height:0}
  .home-hero{grid-template-columns:1fr;gap:10px}
  .home-copy h3{font-size:clamp(24px,7.2vw,32px);max-width:14ch}
  .home-copy p{font-size:13.5px;max-width:38ch}
  .home-art{height:170px;order:-1}
  .home-strip{font-size:11px}
  .home-cats span,.menu-chips span{font-size:10.5px}
  .panel-head{flex-direction:column;align-items:flex-start;gap:5px}
  .panel-head h3{font-size:clamp(20px,5.6vw,26px);max-width:18ch}
  .panel-head p{font-size:11.5px}
  .menu-rows{grid-template-columns:1fr}
  .menu-row{font-size:12px}
  .visit-grid{grid-template-columns:1fr;gap:10px}
  .visit-card{min-height:140px}
  .site-foot{font-size:9.5px;padding:8px 12px}
  .concept-note{font-size:12px}
  .compare{aspect-ratio:4/3;max-height:none}
  .compare-control{font-size:9.5px;gap:6px;padding:5px 9px;bottom:8px}
  .compare-control input{width:110px}
  .compare-tag{font-size:9px;padding:3px 6px}
  .proof-list p{font-size:13px}
  .phases{grid-template-columns:1fr}
  .rail{grid-template-columns:1fr 1fr;gap:6px 0}
  .rail li{font-size:12px}
  .need-strip{font-size:12.5px}
  .takeaway{font-size:12.5px}
  .index{padding:16px}
  .index-grid{grid-template-columns:1fr 1fr;gap:8px}
  .index-head h2{font-size:30px}
  .index-note{font-size:9px}
  .time-actions{flex-direction:column}
  .time-actions button{min-height:42px}
  .contact-mini{flex-direction:column;gap:4px}
  .close-line{font-size:9.5px;line-height:1.6}
}
@media (max-width:420px){
  .index-grid{grid-template-columns:1fr}
  .idx-thumb{aspect-ratio:16/8}
  .nav-tool{display:none}
  .nav-tools .nav-tool:last-child{display:inline-block}
  .chrome-section{display:none}
  .client-lockup strong{font-size:10.5px}
  .brandcore-mark{height:15px}
  .co-x{font-size:17px}
  .cover .facts{font-size:13px}
  .partner-contacts{grid-template-columns:1fr}
}
@media (max-height:780px) and (min-width:1021px){
  :root{--chrome-h:58px;--nav-h:58px}
  .slide{padding-top:calc(var(--chrome-h) + 18px);padding-bottom:calc(var(--nav-h) + 26px)}
  .head-grid{margin-bottom:18px}
  .kicker{margin-bottom:12px}
  .cover-actions{margin-bottom:16px}
  .partner{padding:16px}
  .contact-card{padding:16px}
  .pillar{min-height:0;padding:16px}
}

@media (min-width:900px) and (max-height:950px){
  /* Spacing only. Type stays at its readable floor; short viewports scroll deliberately instead. */
  .audit .head-grid,.gap .head-grid,.frontdoor .head-grid,.proof .head-grid,.closing .head-grid{margin-bottom:14px}
  .audit .kicker,.gap .kicker,.frontdoor .kicker,.proof .kicker,.closing .kicker{margin-bottom:10px}
  .roadmap .head-grid,.engagement .head-grid{margin-bottom:14px}
  .roadmap .kicker,.engagement .kicker{margin-bottom:10px}
  .roadmap .rail{margin-bottom:16px}
  .roadmap .launch-checks{margin-top:14px}
  .engagement .tier-note{margin-top:14px}
  .findings li{padding:7px 0}
  .findings h3{margin-bottom:3px}
  .findings p{line-height:1.4}
  .src{margin-top:4px}
  .takeaway{margin-top:10px;padding:9px 14px}
  .gap .paths{gap:10px}
  .gap .path{padding:14px}
  .gap .path-count b{font-size:clamp(40px,3.4vw,60px)}
  .storefront figcaption,.name-note{padding:9px 12px}
  .panel{min-height:238px;padding:12px}
  .home-hero{min-height:clamp(170px,17.5cqw,225px)}
  .home-actions{margin-top:9px}
  .mockup-shell{padding:7px}
  .mockup-tabs{padding-bottom:4px}
  .mockup-tabs button{min-height:40px}
  .browser .browser-chrome{min-height:34px;padding:5px 9px}
  .site-top{padding:8px 11px}
  .site-foot{padding:7px 11px}
  .concept-note{margin-top:8px;line-height:1.4}
  .proof-list{gap:8px}
  .proof-list li{padding-top:8px}
  .proof-list p{line-height:1.4}
  .proof-note{margin-top:8px;padding-top:7px}
  .partner{padding:14px}
  .partner-note{margin-bottom:8px}
  .partner-contacts{padding-top:9px;gap:6px 14px}
  .partner-brand{margin-top:8px}
  .next-steps{margin-top:8px;padding-top:8px;gap:6px}
  .contact-card{padding:14px}
  .contact-card h3{font-size:clamp(24px,1.8vw,30px)}
  .card-desc{margin-bottom:8px}
  .time-disclosure summary{padding:9px 12px}
  .time-disclosure label{padding:6px 12px 3px}
  .date-field{padding:0 12px 4px}
  #status{padding:4px 12px 6px}
  .draft{margin:6px 12px 6px}
  .contact-mini{padding:8px 12px 2px}
  .close-line{margin-top:8px;padding-top:7px}
}

/* ==========================================================================
   Completion pass layer
   1. The core-service break: charge, flash, shockwave, shake, arrival.
   2. Every other Next: a string of papel picado pulled across the screen.
   3. Slide 3 step counts, mockup hero/menu filter/phone list, readability floors.
   ========================================================================== */

/* ---------- 1. Charge and break ---------- */
body.charging .cover-copy{opacity:.42;transform:translateX(-16px);transition:opacity .43s ease-in,transform .43s ease-in}
body.charging .cover .micro{opacity:0}
#boom-flash{background:radial-gradient(circle at var(--bx,72%) var(--by,46%),#FFFBEF 0%,#FBE3A6 22%,rgba(233,168,62,.7) 42%,rgba(214,61,37,.5) 60%,transparent 78%)}
@keyframes flash{0%{opacity:0}5%{opacity:1}22%{opacity:.78}100%{opacity:0}}
#boom-shock{
  position:fixed;left:var(--bx,72%);top:var(--by,46%);z-index:33;pointer-events:none;opacity:0;
  width:0;height:0;border-radius:50%;transform:translate(-50%,-50%);
  border:clamp(6px,.8vw,14px) solid rgba(255,206,120,.95);
}
#boom-shock.on{animation:shock .95s cubic-bezier(.1,.7,.2,1) both}
@keyframes shock{
  0%{opacity:1;width:0;height:0;border-color:rgba(255,251,239,.98)}
  35%{opacity:.85;border-color:rgba(255,206,120,.95)}
  100%{opacity:0;width:230vmax;height:230vmax;border-color:rgba(214,61,37,.7)}
}
.slide.entering.boom-in{animation:enterBoom 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes enterBoom{
  0%{opacity:0;transform:scale(1.07)}
  9%{opacity:1;transform:translate(-11px,7px) scale(1.045)}
  17%{transform:translate(9px,-8px) scale(1.032)}
  26%{transform:translate(-7px,5px) scale(1.022)}
  37%{transform:translate(5px,-3px) scale(1.012)}
  52%{transform:translate(-2px,1px) scale(1.004)}
  100%{opacity:1;transform:none}
}

/* ---------- 2. Papel picado sweep on every other Next ---------- */
#banner-sweep{position:fixed;left:0;top:calc(var(--chrome-h) + 10px);width:230vw;z-index:34;pointer-events:none;opacity:0;transform:translateX(100vw)}
.banner-string{display:block;height:3px;background:#CDBB9F}
.banner-flags{
  display:block;height:88px;
  background-image:linear-gradient(90deg,
    #C8283C 0 56px,transparent 56px 64px,
    #EDB04E 64px 120px,transparent 120px 128px,
    #23936B 128px 184px,transparent 184px 192px,
    #F4EBDD 192px 248px,transparent 248px 256px,
    #E0567E 256px 312px,transparent 312px 320px);
  background-size:320px 100%;background-repeat:repeat-x;
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/8px 10px repeat-x;
  mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/8px 10px repeat-x;
}
#banner-sweep.on{animation:bannerSweep .8s cubic-bezier(.5,.02,.2,1) both}
#banner-sweep.on.back{animation-name:bannerSweepBack}
@keyframes bannerSweep{0%{opacity:1;transform:translateX(100vw)}100%{opacity:1;transform:translateX(-230vw)}}
@keyframes bannerSweepBack{0%{opacity:1;transform:translateX(-230vw)}100%{opacity:1;transform:translateX(100vw)}}

/* The static sign on phone / no-WebGL sways on its chains instead of sitting dead. */
@media (prefers-reduced-motion:no-preference){
  .fallback-sign{transform-origin:50% -28px;animation:signSway 5.6s ease-in-out infinite}
}
@keyframes signSway{0%,100%{transform:rotate(-2.2deg)}50%{transform:rotate(1.7deg)}}

/* ---------- 3. Slide 3: step counts ---------- */
.path-count{display:flex;align-items:baseline;gap:.5em;margin:0 0 16px;font-family:var(--font-mono);font-size:clamp(14px,.95vw,18px);letter-spacing:.08em;text-transform:uppercase;color:var(--cream-2)}
.path-count b{font-family:var(--font-display);font-size:clamp(46px,4.2vw,80px);line-height:.9;letter-spacing:-.03em;font-weight:600;color:var(--marigold)}
.path-next .path-count b{color:#7FCBAC}

/* ---------- Mockup: hero composition, menu filter, phone list ---------- */
.concept-link{display:inline-flex;align-items:center;gap:6px}
.concept-link .icon{font-size:1.1em}
.menu-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.menu-chips button{min-height:38px;padding:0 14px;border:1px solid #DCCCB5;border-radius:999px;background:#FBF4E8;color:#4A3A30;font-size:14px;font-weight:600;letter-spacing:.01em}
.menu-chips button:hover{border-color:var(--chile);color:var(--chile-ink)}
.menu-chips button[aria-pressed="true"]{background:var(--chile);border-color:var(--chile);color:#FFF7EC}
.menu-chips button:focus-visible{outline:3px solid var(--marigold);outline-offset:2px}
.menu-row[hidden]{display:none}
.phone-menu{list-style:none;margin:12px 0 0;padding:0;width:100%;border-top:1px solid #E7DAC6}
.phone-menu li{display:flex;align-items:center;justify-content:space-between;padding:9px 2px;border-bottom:1px solid #E7DAC6;font-size:13.5px;color:#3A2B22}
.phone-menu .icon{font-size:15px;color:#8E0E22}
.idx-thumb img[src*="art-hero"]{width:165%;max-width:none;margin-left:-65%;object-position:right center}

/* ---------- System: cards use the room the slide gives them ---------- */
.system .pillars{flex:1 1 auto;grid-auto-rows:minmax(clamp(180px,21vh,250px),1fr)}

/* ---------- Short desktop / laptop: scroll deliberately, never shrink type ---------- */
@media (max-height:820px) and (min-width:1021px){
  .system .pillars{grid-auto-rows:auto}
}

/* ---------- Phone floors: nothing the visitor must read drops below 13px ---------- */
@media (max-width:700px){
  .home-hero{display:flex;flex-direction:column;min-height:0;background:#FFFDF8}
  .home-art-wrap{position:relative;inset:auto;height:184px;overflow:hidden;border-radius:6px;order:-1}
  .home-art{width:165%;max-width:none;margin-left:-65%;height:100%;object-position:right 88%}
  .home-copy{max-width:none;padding:12px 2px 2px}
  .home-copy p{font-size:15px}
  .home-strip{font-size:13.5px}
  .home-cats span{font-size:13px}
  .panel-head p{font-size:14px}
  .menu-chips button{min-height:40px;font-size:14px}
  .menu-row{font-size:13.5px}
  .menu-row b{font-size:15px}
  .site-foot{font-size:12.5px}
  .concept-note{font-size:14px}
  .browser .browser-chrome .url{font-size:12.5px}
  .mockup-tabs button{font-size:14.5px}
  .path li b{font-size:17px}
  .path li span{font-size:15px}
  .path-count b{font-size:46px}
  .compare-control{font-size:13px;gap:8px;padding:6px 11px}
  .compare-tag{font-size:13px;padding:4px 7px}
  .proof-list p{font-size:15.5px}
  .rail li{font-size:15.5px}
  .rail li span{font-size:13px}
  .site-call{font-size:13px}
  .index-btn{font-size:13px}
  .client-lockup strong{font-size:11.5px}
  .need-strip,.takeaway{font-size:15px}
  .index-note{font-size:13px}
  .close-line{font-size:13px;line-height:1.6}
  .nav-tool{font-size:13px}
  .nav-count{font-size:13px}
  .kicker{font-size:13px}
  .prepared{font-size:14px}
  .partner-photo{width:min(60vw,230px)}
  .launch-checks li{font-size:13px}
  .tier-note{font-size:13px}
  .partner-brand{font-size:13px}
  .system .pillars{grid-auto-rows:auto}
}
@media (max-width:420px){
  .partner-contacts dt{font-size:13px}
}


@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .slide.leaving,.slide.entering{animation:none!important}
}
