/* ============================================================
   KAILEY'S RESTAURANT × BRANDCORE
   A proposal system built around the real wordmark, the real
   menu and the real photography. No template swap.
   ============================================================ */

@font-face{
  font-family:"Archivo Black";
  src:url("assets/fonts/archivo-black.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Instrument Serif";
  src:url("assets/fonts/instrument-serif-regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Instrument Serif";
  src:url("assets/fonts/instrument-serif-italic.woff2") format("woff2");
  font-weight:400;font-style:italic;font-display:swap;
}
@font-face{
  font-family:"Plus Jakarta Sans";
  src:url("assets/fonts/plus-jakarta-sans-400-normal.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"JetBrains Mono";
  src:url("assets/fonts/jetbrains-mono-400-normal.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}

:root{
  --ink:#07101d;
  --ink-2:#0b1829;
  --ink-3:#122640;
  --cream:#f7f0df;
  --paper:#fbf6e8;
  --paper-2:#f1e5cf;
  --paper-3:#e7d5b7;
  --blue:#154d98;
  --blue-2:#2b6cc4;
  --blue-3:#8db6e8;
  --red:#a92a2e;
  --red-2:#ca3b3e;
  --brass:#c59443;
  --brass-2:#e6c17a;
  --muted:#6d6455;
  --muted-dark:#b9ad9a;
  --body:#3c352a;
  --body-dark:#d9cdb9;
  --line:rgba(21,77,152,.16);
  --line-dark:rgba(230,193,122,.22);

  --font-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:"Archivo Black","Arial Black",system-ui,sans-serif;
  --font-serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;

  --body-fs:clamp(16px,.72vw + 8.6px,22px);
  --small-fs:clamp(16px,.55vw + 9.4px,21px);
  --label-fs:clamp(13px,.32vw + 8.8px,15px);
  --micro-fs:clamp(12px,.26vw + 8.5px,13.8px);
  --h2-fs:clamp(38px,3.45vw + 8px,74px);
  --h3-fs:clamp(18px,.48vw + 10.5px,26px);
  --gutter:clamp(22px,3.2vw,58px);
  --top-h:68px;
  --bottom-h:62px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  font-family:var(--font-body);
  font-size:var(--body-fs);
  line-height:1.5;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.theme-light{color:var(--ink)}
img{max-width:100%;display:block}
button{font:inherit;color:inherit}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4,ol,ul,dl,dd,figure{margin:0;padding:0}
ol,ul{list-style:none}
code{font-family:var(--font-mono);font-size:.88em;background:rgba(21,77,152,.08);padding:.08em .3em;border-radius:3px}
.theme-dark code{background:rgba(230,193,122,.12);color:var(--brass-2)}
::selection{background:var(--brass-2);color:var(--ink)}

.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- chrome ---------- */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:36;background:rgba(255,255,255,.08)}
.progress i{display:block;height:100%;width:11.1%;background:linear-gradient(90deg,var(--blue-2),var(--brass-2));transition:width .45s cubic-bezier(.2,.8,.2,1)}

.chrome-top{
  position:fixed;top:0;left:0;right:0;height:calc(var(--top-h) + env(safe-area-inset-top, 0px));z-index:30;
  display:flex;align-items:center;gap:18px;
  padding:env(safe-area-inset-top, 0px) var(--gutter) 0;
  background:linear-gradient(180deg,rgba(5,12,22,.96),rgba(5,12,22,.72));
  border-bottom:1px solid rgba(230,193,122,.14);
  backdrop-filter:blur(14px);
  transition:background .3s,color .3s,border-color .3s;
}
body.theme-light .chrome-top{background:linear-gradient(180deg,rgba(251,246,232,.98),rgba(251,246,232,.86));border-bottom-color:rgba(21,77,152,.14);color:var(--ink)}
.cobrand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.bc-logo-link{display:flex;align-items:center;text-decoration:none;flex:none}
.bc-logo{height:19px;width:auto}
.bc-logo-light{display:none}
body.theme-light .bc-logo-dark{display:none}
body.theme-light .bc-logo-light{display:block}
.cobrand-x{font-family:var(--font-serif);font-size:19px;color:var(--brass-2);line-height:1;margin:0 1px}
body.theme-light .cobrand-x{color:var(--blue)}
.client-medallion{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;
  background:radial-gradient(circle at 34% 28%,#fffdf4,#efe2c8 70%,#dcc7a2);
  border:1px solid rgba(21,77,152,.28);
  box-shadow:0 2px 10px rgba(0,0,0,.28),inset 0 0 0 3px rgba(255,255,255,.45);
  overflow:hidden;
}
.client-medallion img{width:25px;height:auto}
.client-wordmark{display:flex;flex-direction:column;line-height:1;min-width:0}
.client-wordmark b{font-family:var(--font-mono);font-weight:400;font-size:11px;letter-spacing:.14em;color:var(--cream)}
body.theme-light .client-wordmark b{color:var(--ink)}
.client-wordmark small{font-family:var(--font-mono);font-size:8px;letter-spacing:.15em;color:var(--muted-dark);margin-top:4px;white-space:nowrap}
body.theme-light .client-wordmark small{color:var(--muted)}
.chrome-title{flex:0 1 auto;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-dark);text-align:center;white-space:nowrap}
body.theme-light .chrome-title{color:var(--muted)}
.chrome-right{display:flex;align-items:center;gap:14px;flex:1;justify-content:flex-end}
.index-btn{
  display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(230,193,122,.28);
  background:transparent;border-radius:999px;padding:7px 12px;cursor:pointer;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--cream);
  transition:border-color .2s,background .2s;
}
.index-btn:hover{border-color:var(--brass-2);background:rgba(230,193,122,.08)}
body.theme-light .index-btn{border-color:rgba(21,77,152,.26);color:var(--ink)}
body.theme-light .index-btn:hover{background:rgba(21,77,152,.06);border-color:var(--blue)}
.index-btn .ico{width:13px;height:13px}
.chrome-count{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--muted-dark);white-space:nowrap}
.chrome-count b{color:var(--cream);font-weight:400}
body.theme-light .chrome-count{color:var(--muted)}
body.theme-light .chrome-count b{color:var(--ink)}

.chrome-bottom{
  position:fixed;bottom:0;left:0;right:0;height:calc(var(--bottom-h) + env(safe-area-inset-bottom, 0px));z-index:30;
  display:flex;align-items:center;gap:18px;padding:0 var(--gutter) env(safe-area-inset-bottom, 0px);
  background:linear-gradient(0deg,rgba(5,12,22,.97),rgba(5,12,22,.78));
  border-top:1px solid rgba(230,193,122,.14);
  backdrop-filter:blur(14px);
  transition:background .3s,color .3s,border-color .3s;
}
body.theme-light .chrome-bottom{background:linear-gradient(0deg,rgba(251,246,232,.98),rgba(251,246,232,.9));border-top-color:rgba(21,77,152,.14);color:var(--ink)}
.prepared-mini{display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.prepared-mini img{width:27px;height:27px;border-radius:50%;object-fit:cover;border:1px solid rgba(230,193,122,.4)}
body.theme-light .prepared-mini img{border-color:rgba(21,77,152,.2)}
.prepared-mini span{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--muted-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prepared-mini b{color:var(--cream);font-weight:400}
body.theme-light .prepared-mini span{color:var(--muted)}
body.theme-light .prepared-mini b{color:var(--ink)}
.bottom-mid{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;color:var(--muted-dark);white-space:nowrap}
body.theme-light .bottom-mid{color:var(--muted)}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--brass-2);box-shadow:0 0 0 3px rgba(230,193,122,.12)}
body.theme-light .live-dot{background:var(--blue)}
.nav-controls{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}
.nav-controls button{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(230,193,122,.28);background:transparent;
  display:grid;place-items:center;cursor:pointer;color:var(--cream);
  transition:background .2s,border-color .2s,transform .2s;
}
.nav-controls button:hover{background:rgba(230,193,122,.12);border-color:var(--brass-2)}
.nav-controls button:active{transform:scale(.94)}
body.theme-light .nav-controls button{border-color:rgba(21,77,152,.24);color:var(--ink)}
body.theme-light .nav-controls button:hover{background:rgba(21,77,152,.07);border-color:var(--blue)}
.nav-controls .ico{width:17px;height:17px}
.nav-count{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--muted-dark);min-width:62px;text-align:center}
body.theme-light .nav-count{color:var(--muted)}

.rail{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:29;display:flex;flex-direction:column;gap:7px;align-items:center}
.rail button{width:8px;height:8px;border-radius:99px;border:0;background:rgba(247,240,223,.24);padding:0;cursor:pointer;transition:height .25s,background .25s}
.rail button.on{height:23px;background:var(--brass-2)}
body.theme-light .rail button{background:rgba(21,77,152,.22)}
body.theme-light .rail button.on{background:var(--blue)}

/* ---------- slides ---------- */
.deck{position:fixed;inset:0}
.slide{
  position:absolute;inset:0;overflow:hidden;
  opacity:0;visibility:hidden;pointer-events:none;z-index:1;
  background:var(--ink);color:var(--cream);
  isolation:isolate;
}
.slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.slide::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0}
.slide-dark::before{background:radial-gradient(80% 70% at 76% 24%,rgba(43,108,196,.12),transparent 60%),radial-gradient(60% 50% at 18% 84%,rgba(169,42,46,.08),transparent 70%)}
.slide-paper{background:var(--paper);color:var(--ink)}
.slide-paper::before{background:radial-gradient(70% 60% at 88% 8%,rgba(21,77,152,.06),transparent 60%),radial-gradient(50% 40% at 4% 96%,rgba(169,42,46,.05),transparent 70%)}
.slide-dark{background:var(--ink)}
.pad{
  position:relative;z-index:2;height:100%;max-width:1840px;margin:0 auto;
  display:flex;flex-direction:column;
  padding:calc(var(--top-h) + 18px + env(safe-area-inset-top, 0px)) var(--gutter) calc(var(--bottom-h) + 14px + env(safe-area-inset-bottom, 0px));
}
.slide-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:clamp(12px,1.5vh,22px);flex:none}
.theme-dark .slide-head{border-color:var(--line-dark)}
.kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:var(--label-fs);letter-spacing:.16em;text-transform:uppercase;color:var(--blue);white-space:nowrap}
.kicker i{display:block;width:16px;height:1px;background:currentColor}
.kicker.gold{color:var(--brass-2)}
.head-meta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--muted);text-align:right;white-space:nowrap}
.theme-dark .head-meta{color:var(--muted-dark)}
.meta-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;margin:0 7px;vertical-align:middle;opacity:.6}
.slide-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:8px;margin-top:auto;flex:none;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.03em;color:var(--muted);line-height:1.4}
.theme-dark .slide-foot{border-color:var(--line-dark);color:var(--muted-dark)}
.foot-page{white-space:nowrap;font-size:11px;letter-spacing:.1em;color:var(--blue)}
.theme-dark .foot-page{color:var(--brass-2)}

h2{font-family:var(--font-display);font-weight:400;font-size:var(--h2-fs);line-height:.94;letter-spacing:-.045em;color:var(--ink)}
.theme-dark h2{color:var(--cream)}
h2 em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.015em;color:var(--blue);line-height:.9}
.theme-dark h2 em{color:var(--brass-2)}
h3{font-family:var(--font-body);font-weight:400;font-size:var(--h3-fs);line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.theme-dark h3{color:var(--cream)}
p{color:var(--body);font-size:var(--body-fs);line-height:1.5}
.theme-dark p{color:var(--body-dark)}
.btn{display:inline-flex;align-items:center;gap:9px;border-radius:999px;border:1px solid transparent;padding:12px 20px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s,border-color .2s;text-decoration:none;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn .ico{width:14px;height:14px}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-primary:hover{background:#0f417f;border-color:#0f417f}
.btn-ghost{background:transparent;color:var(--cream);border-color:rgba(247,240,223,.34)}
.btn-ghost:hover{border-color:var(--brass-2);background:rgba(230,193,122,.08)}
body.theme-light .btn-ghost{color:var(--ink);border-color:rgba(21,77,152,.3)}
body.theme-light .btn-ghost:hover{background:rgba(21,77,152,.06);border-color:var(--blue)}
.theme-dark .btn-primary{background:var(--brass-2);color:#171006;border-color:var(--brass-2)}
.theme-dark .btn-primary:hover{background:#f0d294;border-color:#f0d294}

/* ---------- cover ---------- */
.slide-cover{background:#040b15}
.cover-stage{position:absolute;inset:0;z-index:0;overflow:hidden}
.cover-glow{
  position:absolute;inset:-10%;
  background:
    radial-gradient(48% 52% at 68% 43%,rgba(43,108,196,.28),transparent 66%),
    radial-gradient(30% 34% at 77% 30%,rgba(230,193,122,.15),transparent 70%),
    radial-gradient(42% 46% at 22% 72%,rgba(169,42,46,.09),transparent 68%),
    linear-gradient(110deg,#040b15 0%,#071322 48%,#050d18 100%);
}
.cover-grid-lines{
  position:absolute;inset:0;opacity:.14;
  background-image:linear-gradient(rgba(141,182,232,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(141,182,232,.2) 1px,transparent 1px);
  background-size:84px 84px;
  mask-image:radial-gradient(60% 60% at 68% 46%,#000 0%,transparent 74%);
  -webkit-mask-image:radial-gradient(60% 60% at 68% 46%,#000 0%,transparent 74%);
}
.cover-halo{
  position:absolute;width:56vw;height:56vw;right:4vw;top:50%;transform:translateY(-50%);
  border:1px solid rgba(230,193,122,.16);border-radius:50%;
  box-shadow:0 0 0 40px rgba(230,193,122,.025),0 0 0 120px rgba(43,108,196,.035);
}
.cover-halo::after{content:"";position:absolute;inset:7%;border:1px dashed rgba(141,182,232,.16);border-radius:50%}
.cover-layout{
  position:relative;z-index:3;height:100%;max-width:1840px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,50%) minmax(0,50%);
  padding:calc(var(--top-h) + 24px + env(safe-area-inset-top, 0px)) var(--gutter) calc(var(--bottom-h) + 64px + env(safe-area-inset-bottom, 0px));
}
.cover-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-right:2.5vw}
.cover-collab{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--muted-dark);margin-bottom:clamp(16px,2.2vh,26px)}
.cover-collab i{font-family:var(--font-serif);font-style:normal;font-size:16px;color:var(--brass-2);line-height:1}
.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--brass-2);margin-bottom:10px}
.eyebrow span{opacity:.6;margin:0 3px}
.cover-title{font-family:var(--font-display);font-size:clamp(54px,6vw,112px);line-height:.84;letter-spacing:-.055em;color:var(--cream);margin:0 0 clamp(14px,2vh,22px)}
.cover-title span{display:block}
.cover-title em{display:block;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:.6em;line-height:.94;letter-spacing:-.015em;color:var(--brass-2);margin-top:.08em}
.cover-lead{max-width:33ch;font-size:var(--body-fs);line-height:1.48;color:var(--body-dark);margin-bottom:clamp(16px,2.2vh,26px)}
.cover-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:clamp(16px,2.4vh,28px)}
.cover-facts{display:flex;flex-wrap:wrap;gap:9px 18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--muted-dark);margin-bottom:clamp(14px,2vh,22px)}
.cover-facts li{display:flex;align-items:center;gap:6px;white-space:nowrap}
.cover-facts .ico{width:12px;height:12px;color:var(--brass-2)}
.facts-dot{width:4px;height:4px;border-radius:50%;background:var(--brass-2);margin:0 2px}
.cover-byline{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:10px;line-height:1.5;letter-spacing:.02em;color:var(--muted-dark)}
.cover-byline img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid rgba(230,193,122,.4)}
.cover-byline b{color:var(--cream);font-weight:400}
.cover-scene{position:relative;min-width:0;min-height:0}
#logo-scene{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .5s ease;z-index:2}
.cover-scene.webgl #logo-scene{opacity:1}
.cover-scene.webgl .plate-fallback{opacity:0;visibility:hidden}
.plate-fallback{position:absolute;inset:0;display:grid;place-items:center;z-index:1;transition:opacity .4s ease,visibility .4s}
.pf-halo{position:absolute;width:76%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(230,193,122,.26);box-shadow:0 0 0 22px rgba(230,193,122,.03),0 0 90px rgba(43,108,196,.24)}
.pf-disc{
  position:relative;width:min(78%,560px);aspect-ratio:1;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 36% 28%,#fffdf5 0%,#f8eed9 38%,#ead8b8 70%,#d8bf98 100%);
  border:7px solid #174f9c;
  box-shadow:inset 0 0 0 2px #e6c17a,inset 0 0 0 16px rgba(255,255,255,.32),0 30px 60px rgba(0,0,0,.5);
  transform:rotate(-7deg);
}
.pf-disc::before{content:"";position:absolute;inset:7%;border:1px solid rgba(21,77,152,.42);border-radius:50%}
.pf-disc::after{content:"";position:absolute;inset:3.5%;border:1px dashed rgba(21,77,152,.35);border-radius:50%}
.pf-disc img{width:62%;height:auto;position:relative;z-index:2;filter:drop-shadow(0 2px 0 rgba(255,255,255,.4))}
.pf-cuisine{position:relative;z-index:2;font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;color:var(--blue);margin-top:6%}
.pf-city{position:relative;z-index:2;font-family:var(--font-mono);font-size:7px;letter-spacing:.2em;color:rgba(21,77,152,.66);margin-top:5px}
.pf-steam{position:absolute;width:70px;height:180px;border-radius:50%;background:radial-gradient(ellipse at 50% 70%,rgba(255,244,220,.18),transparent 66%);filter:blur(7px);animation:steam 7s ease-in-out infinite}
.pf-s1{right:22%;top:8%;transform:rotate(12deg)}
.pf-s2{left:18%;bottom:10%;animation-delay:-3s;transform:rotate(-9deg)}
.scene-caption{position:absolute;left:4%;right:4%;bottom:0;z-index:4;display:flex;justify-content:space-between;gap:14px;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;color:rgba(185,173,154,.72);border-top:1px solid rgba(230,193,122,.16);padding-top:8px}
.scene-cue{display:inline-flex;align-items:center;gap:7px;color:var(--brass-2)}
.scene-cue i{width:5px;height:5px;border-radius:50%;background:var(--brass-2);animation:pulse 2.4s infinite}
.cover-scene.no-webgl .scene-cue,body.reduced-motion .scene-cue{display:none}
.cover-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:calc(var(--bottom-h) + 14px + env(safe-area-inset-bottom, 0px));z-index:4;display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;color:rgba(185,173,154,.72)}
.cover-foot-mid{display:flex;align-items:center;gap:10px;color:var(--brass-2)}
.cover-foot-mid i{display:block;width:26px;height:1px;background:rgba(230,193,122,.3)}

@keyframes steam{0%,100%{transform:translateY(10px) scale(.9);opacity:.35}50%{transform:translateY(-24px) scale(1.15);opacity:.7}}
@keyframes pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}

/* ---------- audit ---------- */
.audit-head{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(20px,3vw,54px);align-items:end;margin-bottom:clamp(10px,1.4vh,18px);flex:none}
.audit-head h2{font-size:clamp(36px,3.5vw + 2px,66px)}
.audit-intro{display:flex;align-items:flex-end;gap:18px;justify-content:space-between}
.audit-intro p{max-width:37ch;font-size:clamp(15px,.35vw + 8.8px,17px);line-height:1.45}
.audit-count{display:flex;flex-direction:column;line-height:1;flex:none;border-left:1px solid var(--line);padding-left:14px}
.audit-count b{font-family:var(--font-display);font-size:34px;letter-spacing:-.04em;color:var(--blue)}
.audit-count span{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;color:var(--muted);margin-top:5px;text-transform:uppercase}
.audit-grid{display:grid;grid-template-columns:minmax(170px,23%) minmax(0,1fr);gap:clamp(16px,2.2vw,34px);flex:1;min-height:0;align-items:start}
.audit-phone{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-width:0;position:relative}
.phone-shell{position:relative;border-radius:26px;border:6px solid #101a2c;background:#101a2c;box-shadow:0 18px 40px rgba(10,20,35,.18);overflow:hidden}
.audit-shell{width:min(100%,215px);height:min(46vh,400px);flex:none}
.audit-shell img{width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:20px}
.phone-notch{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:62px;height:15px;background:#101a2c;border-radius:0 0 9px 9px;z-index:3}
.audit-shell .phone-notch{display:none}
.pin{position:absolute;z-index:4;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-family:var(--font-mono);font-size:10px;box-shadow:0 0 0 3px rgba(255,255,255,.72)}
.p1{top:26%;right:9%}
.p2{bottom:29%;left:8%}
.audit-phone figcaption{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;color:var(--muted);margin-top:9px;white-space:nowrap}
.cap-dot{width:5px;height:5px;border-radius:50%;background:var(--red)}
.audit-tag{width:100%;max-width:250px;font-family:var(--font-mono);font-size:10.5px;line-height:1.35;color:var(--muted);border-left:2px solid rgba(169,42,46,.55);padding:3px 0 3px 8px;margin-top:6px}
.audit-tag b{color:var(--ink);font-weight:400}
.findings-wrap{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;gap:8px}
.findings{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;gap:0 clamp(14px,1.8vw,26px);min-height:0;align-content:start}
.finding{position:relative;display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;align-content:start;gap:3px 8px;padding:10px 0 12px;border-top:1px solid var(--line)}
.f-num{font-family:var(--font-mono);font-size:9.5px;color:var(--red);letter-spacing:.04em;padding-top:5px}
.f-copy{min-width:0}
.f-head{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.f-head h3{font-size:clamp(17px,.7vw + 7px,22px);line-height:1.14;letter-spacing:-.015em;color:var(--ink);font-weight:500;font-family:var(--font-body)}
.finding p{font-size:clamp(16px,.75vw + 6px,20px);line-height:1.38;margin-top:4px;color:var(--body)}
.sev{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.1em;padding:4px 6px;border-radius:2px;white-space:nowrap;color:#fff;flex:none;margin-top:2px}
.sev.critical{background:var(--red)}
.sev.high{background:#8a5a12}
.sev.medium{background:#5a6570}
.f-tag{grid-column:2;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.audit-summary{margin-top:auto;display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;flex-wrap:wrap}
.audit-summary div{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.audit-summary b{font-family:var(--font-display);font-size:clamp(19px,1.2vw + 9px,28px);line-height:1;letter-spacing:-.03em;color:var(--blue)}
.audit-summary span{font-family:var(--font-mono);font-size:10.5px;line-height:1.2;color:var(--muted)}
.audit-summary p{margin-left:auto;font-family:var(--font-serif);font-style:italic;font-size:clamp(16px,1.1vw + 7px,24px);line-height:1.1;color:var(--red);white-space:nowrap}

/* ---------- gap ---------- */
.gap-head{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(22px,3.6vw,64px);align-items:end;margin-bottom:clamp(12px,1.8vh,20px);flex:none}
.gap-head h2{font-size:clamp(40px,4.2vw + 2px,78px)}
.gap-head p{max-width:42ch;font-size:var(--small-fs);line-height:1.48;color:var(--body-dark)}
.gap-body{display:grid;grid-template-columns:minmax(240px,37%) minmax(0,1fr);gap:clamp(16px,2.4vw,34px);flex:1;min-height:0}
.search-scene{position:relative;min-height:0;border-radius:3px;overflow:hidden;background:#142033}
.search-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 50%;filter:saturate(.88) contrast(1.04)}
.search-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,16,29,.05) 20%,rgba(7,16,29,.82) 100%)}
.search-card{position:absolute;left:13px;right:13px;bottom:13px;z-index:2;background:var(--paper);border-radius:3px;padding:11px 12px 9px;box-shadow:0 16px 30px rgba(0,0,0,.35)}
.search-kicker{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:7px}
.search-kicker .ico{width:10px;height:10px;color:var(--blue)}
.search-result{display:grid;grid-template-columns:44px 1fr;gap:9px;align-items:center}
.search-result img{width:44px;height:44px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}
.search-result b{display:block;font-family:var(--font-body);font-weight:500;font-size:12.5px;letter-spacing:-.01em;color:var(--ink);line-height:1.2}
.search-result small{display:block;font-family:var(--font-mono);font-size:8px;letter-spacing:.02em;color:var(--muted);margin-top:2px}
.search-missing{display:block;font-family:var(--font-mono);font-size:8px;letter-spacing:.02em;color:var(--red);margin-top:4px}
.search-caption{display:block;font-family:var(--font-mono);font-size:7.5px;line-height:1.35;color:var(--muted);margin-top:7px}
.gap-flows{display:grid;grid-template-columns:1fr 22px 1fr;gap:8px;min-width:0;min-height:0}
.flow-col{display:flex;flex-direction:column;justify-content:center;gap:0;min-width:0}
.flow-label{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--brass-2);border-bottom:1px solid var(--line-dark);padding-bottom:6px;margin-bottom:6px;white-space:nowrap}
.flow-label .ico{width:1.25em;height:1.25em;flex:none}
.flow-old .flow-label{color:var(--muted-dark)}
.flow-step{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;padding:6px 0;border-bottom:1px solid rgba(230,193,122,.09)}
.flow-step>span{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:8px;border:1px solid rgba(185,173,154,.3);color:var(--muted-dark);margin-top:1px}
.flow-new .flow-step>span{border-color:rgba(230,193,122,.42);color:var(--brass-2)}
.flow-step b{display:block;font-family:var(--font-body);font-weight:400;font-size:clamp(14px,.4vw + 8.2px,16.5px);line-height:1.22;color:var(--cream)}
.flow-old .flow-step b{color:#cfc3b0}
.flow-step small{display:block;font-size:clamp(11.5px,.25vw + 7.7px,13.5px);line-height:1.3;color:var(--muted-dark);margin-top:1px}
.flow-divider{display:grid;place-items:center}
.flow-divider span{font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;color:var(--muted-dark);border:1px solid rgba(230,193,122,.2);width:20px;height:20px;border-radius:50%;display:grid;place-items:center}
.flow-outcome{margin-top:8px;border-left:2px solid var(--brass-2);padding:6px 0 6px 9px;background:rgba(230,193,122,.06)}
.flow-outcome span{font-family:var(--font-mono);font-size:7.5px;letter-spacing:.12em;color:var(--brass-2)}
.flow-outcome b{display:block;font-weight:400;font-size:clamp(14px,.4vw + 8.4px,17px);line-height:1.25;color:var(--cream);margin-top:2px}
.gap-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border-top:1px solid var(--line-dark);margin-top:9px;padding-top:8px;flex:none}
.gap-stats b{display:block;font-family:var(--font-display);font-size:clamp(22px,1.6vw + 10px,34px);line-height:1;letter-spacing:-.04em;color:var(--brass-2)}
.gap-stats span{display:block;font-family:var(--font-mono);font-size:10.5px;line-height:1.3;color:var(--muted-dark);margin-top:4px}

/* ---------- flagship ---------- */
.flagship-head{display:grid;grid-template-columns:1fr .78fr;gap:clamp(20px,3.2vw,54px);align-items:end;margin-bottom:clamp(10px,1.4vh,16px);flex:none}
.flagship-head h2{font-size:clamp(36px,3.4vw + 2px,64px)}
.flagship-intro p{max-width:44ch;font-size:var(--small-fs);line-height:1.45;margin-bottom:7px}
.live-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:8px;letter-spacing:.12em;color:var(--blue);border:1px solid rgba(21,77,152,.24);border-radius:999px;padding:4px 9px;white-space:nowrap}
.live-badge i{width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px rgba(169,42,46,.1);animation:pulse 2s infinite}
.theme-dark .live-badge{color:var(--brass-2);border-color:rgba(230,193,122,.28)}
.theme-dark .live-badge i{background:var(--brass-2);box-shadow:0 0 0 3px rgba(230,193,122,.1)}
.flagship-grid{display:grid;grid-template-columns:minmax(170px,15%) minmax(0,1fr) minmax(112px,11%);gap:clamp(8px,1vw,16px);flex:1;min-height:0}
.flagship-notes{display:flex;flex-direction:column;min-width:0;padding-top:3px}
.fnote{display:grid;grid-template-columns:20px 1fr;gap:5px;border-top:1px solid var(--line);padding:7px 0 8px}
.fnote>span{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.04em;color:var(--red);padding-top:2px}
.fnote b{display:block;font-size:clamp(12.5px,.36vw + 7.7px,15px);line-height:1.2;font-weight:500;color:var(--ink)}
.fnote p{font-size:clamp(11px,.24vw + 7.6px,13.5px);line-height:1.35;color:var(--muted);margin-top:2px}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:8px}
.chips span{font-family:var(--font-mono);font-size:7px;letter-spacing:.07em;color:var(--muted);border:1px solid var(--line);padding:3px 5px;border-radius:2px;white-space:nowrap}
.concept-open-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:7px;border:1px solid rgba(21,77,152,.3);background:transparent;color:var(--blue);border-radius:999px;padding:8px 10px;font-family:var(--font-mono);font-size:8px;letter-spacing:.08em;cursor:pointer;white-space:nowrap;transition:background .2s}
.concept-open-btn:hover{background:rgba(21,77,152,.06)}
.concept-open-btn .ico{width:11px;height:11px}
.flagship-browser-slot{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center}
.browser{
  position:relative;display:flex;flex-direction:column;min-height:0;height:100%;
  background:#fffdf6;border:1px solid rgba(16,32,54,.18);border-radius:7px;overflow:hidden;
  box-shadow:0 22px 52px rgba(18,35,59,.2),0 2px 0 rgba(255,255,255,.6) inset;
  color:var(--ink);
}
.browser-top{display:flex;align-items:center;gap:9px;height:36px;padding:0 12px;background:#f2ead9;border-bottom:1px solid rgba(16,32,54,.12);flex:none}
.bdots{display:flex;gap:3px;flex:none}
.bdots i{width:5px;height:5px;border-radius:50%;background:#c7bca6}
.bdots i:nth-child(1){background:#b55a4e}.bdots i:nth-child(2){background:#c49b4a}.bdots i:nth-child(3){background:#6f9b62}
.burl{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.02em;color:var(--muted);background:#fffdf6;border:1px solid rgba(16,32,54,.1);border-radius:3px;padding:3px 7px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.burl .ico{width:10px;height:10px;color:var(--blue)}
.browser-tabs{display:flex;gap:2px;margin-left:auto;flex:none}
.btab{border:0;background:transparent;padding:4px 9px;border-radius:3px;font-family:var(--font-mono);font-size:9px;letter-spacing:.03em;color:var(--muted);cursor:pointer}
.btab.active{background:var(--blue);color:#fff}
.btab:not(.active):hover{background:rgba(21,77,152,.08)}
.browser-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(21,77,152,.28) transparent;background:#fffdf6}
.site-view{display:none}
.site-view.active{display:block}
.mini-nav{display:flex;align-items:center;gap:9px;padding:8px 12px;border-bottom:1px solid rgba(16,32,54,.1);background:#fffdf6}
.mini-brand{display:flex;align-items:center;gap:7px;min-width:0}
.mini-brand img{width:64px;height:auto}
.mini-brand span{display:flex;flex-direction:column;line-height:1;border-left:1px solid rgba(16,32,54,.16);padding-left:7px}
.mini-brand b{font-family:var(--font-mono);font-size:7.5px;letter-spacing:.1em;font-weight:400;color:var(--blue)}
.mini-brand small{font-family:var(--font-mono);font-size:5px;letter-spacing:.08em;color:var(--muted);margin-top:3px;white-space:nowrap}
.mini-links{display:flex;gap:12px;margin-left:8px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.03em;color:var(--muted);white-space:nowrap}
.mini-links .on{color:var(--blue);border-bottom:1px solid var(--blue);padding-bottom:2px}
.mini-call{display:inline-flex;align-items:center;gap:4px;margin-left:auto;background:var(--red);color:#fff;border-radius:3px;padding:6px 9px;font-family:var(--font-mono);font-size:7.5px;letter-spacing:.03em;text-decoration:none;white-space:nowrap}
.mini-call .ico{width:9px;height:9px}
.mini-hero{display:grid;grid-template-columns:39% 1fr;height:176px;min-height:0;background:#f9f1df;border-bottom:1px solid rgba(16,32,54,.08)}
.mini-hero-photo{position:relative;overflow:hidden;height:100%;background:#fff}
.mini-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.mini-hero-copy{padding:13px 16px 10px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.mini-over{font-family:var(--font-mono);font-size:6.5px;letter-spacing:.13em;color:var(--red);margin-bottom:4px}
.mini-hero-copy b{font-family:var(--font-display);font-size:clamp(20px,1.6vw + 9px,34px);line-height:.84;letter-spacing:-.04em;color:var(--blue)}
.mini-hero-copy b em{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:.92em;letter-spacing:-.01em;color:var(--red)}
.mini-hero-copy p{font-size:10.5px;line-height:1.35;color:var(--muted);margin:6px 0 8px;max-width:34ch}
.mini-btns{display:flex;gap:5px;flex-wrap:wrap}
.mini-primary,.mini-ghost{display:inline-flex;align-items:center;justify-content:center;border-radius:2px;padding:6px 9px;font-family:var(--font-mono);font-size:7.5px;letter-spacing:.05em;text-decoration:none;white-space:nowrap}
.mini-primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}
.mini-ghost{background:transparent;color:var(--blue);border:1px solid rgba(21,77,152,.36)}
.mini-primary.wide{display:flex;width:100%;padding:8px 10px;font-size:8px}
.mini-groups{display:flex;gap:3px;padding:8px 12px;border-bottom:1px solid rgba(16,32,54,.09);overflow-x:auto;scrollbar-width:none;background:#fffdf6}
.mini-groups::-webkit-scrollbar{display:none}
.mini-chip{border:1px solid rgba(21,77,152,.22);background:transparent;border-radius:999px;padding:5px 8px;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.03em;color:var(--blue);cursor:pointer;white-space:nowrap}
.mini-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}
.mini-menu{display:grid;grid-template-columns:1fr 34%;height:190px;min-height:0;background:#fffdf6}
.mini-list{max-height:165px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(21,77,152,.24) transparent;padding:2px 0}
.mini-item{display:grid;grid-template-columns:1fr auto 24px;gap:8px;align-items:center;padding:7px 12px;border-bottom:1px solid rgba(16,32,54,.07)}
.mini-item b{display:block;font-size:11.5px;line-height:1.15;font-weight:500;color:var(--ink)}
.mini-item small{display:block;font-size:8px;line-height:1.25;color:var(--muted);margin-top:1px}
.mini-item>span{font-family:var(--font-mono);font-size:9.5px;color:var(--blue);white-space:nowrap}
.add-btn{width:20px;height:20px;border-radius:50%;border:1px solid rgba(21,77,152,.3);background:#fff;color:var(--blue);display:grid;place-items:center;cursor:pointer;padding:0}
.add-btn:hover{background:var(--blue);color:#fff}
.add-btn .ico{width:10px;height:10px}
.mini-sheet{border-left:1px solid rgba(16,32,54,.1);padding:9px;display:flex;flex-direction:column;background:#faf3e4}
.sheet-kicker{font-family:var(--font-mono);font-size:8px;letter-spacing:.12em;color:var(--red)}
.sheet-items{flex:1;min-height:0;margin-top:4px;overflow-y:auto;scrollbar-width:thin}
.sheet-empty{font-size:9.5px;line-height:1.35;color:var(--muted)}
.sheet-empty b{color:var(--red)}
.sheet-row{display:flex;justify-content:space-between;gap:4px;font-family:var(--font-mono);font-size:8.5px;line-height:1.3;padding:2px 0;border-bottom:1px solid rgba(16,32,54,.08);color:var(--ink)}
.sheet-row b{font-weight:400;color:var(--blue)}
.sheet-actions{display:flex;gap:4px;margin-top:6px;align-items:center}
.sheet-clear{border:0;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:7.5px;text-decoration:underline;cursor:pointer;padding:0}
.sheet-call{display:flex;align-items:center;justify-content:center;gap:3px;flex:1;background:var(--red);color:#fff;border-radius:2px;padding:6px 3px;font-family:var(--font-mono);font-size:8px;text-decoration:none;white-space:nowrap}
.sheet-call .ico{width:8px;height:8px}
.sheet-note{display:block;font-family:var(--font-mono);font-size:6.5px;line-height:1.3;color:var(--muted);margin-top:4px}
.mini-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;border-top:1px solid rgba(16,32,54,.1);font-family:var(--font-mono);font-size:6.5px;letter-spacing:.02em;color:var(--muted)}
.mini-foot a{display:inline-flex;align-items:center;gap:3px;color:var(--blue);text-decoration:none}
.mini-foot .ico{width:8px;height:8px}

.mini-breakfast{display:grid;grid-template-columns:42% 1fr;min-height:270px;background:#f9f1df}
.mini-breakfast-photo{position:relative;background:#fff;overflow:hidden}
.mini-breakfast-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.photo-tag{position:absolute;left:8px;bottom:8px;background:var(--red);color:#fff;font-family:var(--font-mono);font-size:5px;letter-spacing:.1em;padding:3px 5px}
.mini-breakfast-copy{padding:13px 14px;display:flex;flex-direction:column;justify-content:center}
.mini-breakfast-copy b{font-family:var(--font-display);font-size:clamp(18px,1.6vw + 8px,32px);line-height:.9;letter-spacing:-.04em;color:var(--blue);margin-bottom:8px}
.mini-breakfast-copy b em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--red);font-size:.92em}
.mini-bf-list{border-top:1px solid rgba(16,32,54,.12);margin-bottom:8px}
.mini-bf-list>div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid rgba(16,32,54,.09)}
.mini-bf-list span{font-size:7.5px;line-height:1.2;color:var(--ink)}
.mini-bf-list small{display:block;font-size:5.5px;color:var(--muted);margin-top:1px}
.mini-bf-list i{font-family:var(--font-mono);font-size:6.5px;color:var(--blue);font-style:normal;white-space:nowrap}
.mini-disclaimer{font-family:var(--font-mono);font-size:4.5px;line-height:1.3;color:var(--muted);margin-top:4px}

.mini-visit{display:grid;grid-template-columns:1.1fr .9fr;gap:10px;padding:13px;min-height:270px;background:#f9f1df}
.visit-card{background:#fffdf6;border:1px solid rgba(16,32,54,.1);padding:12px}
.visit-card b{display:block;font-family:var(--font-body);font-weight:500;font-size:13px;line-height:1.25;letter-spacing:-.01em;color:var(--blue);margin-top:3px}
.visit-card p{font-size:7px;line-height:1.35;color:var(--muted);margin:4px 0 8px}
.visit-actions{display:flex;gap:4px;margin-bottom:8px}
.visit-actions .mini-primary,.visit-actions .mini-ghost{font-size:6px}
.visit-hours{border-top:1px solid rgba(16,32,54,.12);padding-top:7px}
.visit-hours span{font-family:var(--font-mono);font-size:5px;letter-spacing:.1em;color:var(--red)}
.visit-hours b{display:block;font-size:9px;font-weight:500;color:var(--ink);margin-top:2px}
.visit-hours small{display:block;font-size:5.5px;line-height:1.3;color:var(--muted);margin-top:2px}
.visit-side{display:flex;flex-direction:column;gap:7px;min-width:0}
.visit-map{position:relative;flex:1;min-height:150px;background:#e8dec8;border:1px solid rgba(16,32,54,.1);overflow:hidden}
.map-road{position:absolute;background:#fffdf6;box-shadow:0 0 0 1px rgba(16,32,54,.05)}
.r1{left:-10%;right:-10%;top:38%;height:12px;transform:rotate(-8deg)}
.r2{left:20%;top:-10%;bottom:-10%;width:9px;transform:rotate(17deg)}
.r3{left:-10%;right:-10%;top:70%;height:5px;transform:rotate(4deg)}
.map-pin{position:absolute;left:52%;top:44%;transform:translate(-50%,-50%);width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;box-shadow:0 0 0 5px rgba(169,42,46,.16)}
.map-pin .ico{width:13px;height:13px}
.map-label{position:absolute;left:8px;bottom:7px;font-family:var(--font-mono);font-size:5px;letter-spacing:.08em;color:var(--muted)}
.visit-note{font-family:var(--font-mono);font-size:4.5px;line-height:1.3;color:var(--muted)}

.concept-mobile-card{display:none}
.concept-phone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:7px}
.cp-shell{width:100%;max-width:172px;background:#101a2c;border:5px solid #101a2c;border-radius:19px;overflow:hidden;box-shadow:0 16px 32px rgba(18,35,59,.22);position:relative}
.cp-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:38px;height:8px;background:#101a2c;border-radius:0 0 6px 6px;z-index:3}
.cp-top{display:flex;align-items:center;justify-content:space-between;padding:7px 7px 5px;background:#fffdf6}
.cp-top img{width:43px;height:auto}
.cp-top span{font-family:var(--font-mono);font-size:4.5px;letter-spacing:.1em;color:var(--muted)}
.cp-photo{height:84px;background:#fff;overflow:hidden}
.cp-photo img{width:100%;height:100%;object-fit:cover}
.cp-body{background:#f9f1df;padding:8px 8px 10px}
.cp-body small{display:block;font-family:var(--font-mono);font-size:4px;letter-spacing:.1em;color:var(--red)}
.cp-body b{display:block;font-family:var(--font-display);font-size:12px;line-height:.95;letter-spacing:-.03em;color:var(--blue);margin:3px 0 6px}
.cp-btn{display:block;text-align:center;background:var(--red);color:#fff;border-radius:2px;padding:4px;font-family:var(--font-mono);font-size:4.5px;margin-bottom:4px}
.cp-sub{display:block;text-align:center;font-family:var(--font-mono);font-size:4px;color:var(--muted)}
.cp-caption{font-family:var(--font-mono);font-size:6.5px;letter-spacing:.08em;color:var(--muted);white-space:nowrap}
.flagship-note{font-family:var(--font-mono);font-size:8px;line-height:1.35;color:var(--muted);margin-top:6px;flex:none}

/* concept modal */
.concept-backdrop{position:fixed;inset:0;z-index:74;background:rgba(3,9,17,.78);backdrop-filter:blur(7px)}
body.concept-open .concept-backdrop{display:block}
body.concept-open{overflow:hidden}
body.concept-open .concept-browser{
  position:fixed;z-index:80;inset:3.2vh 3.4vw;display:flex;width:auto;height:auto;max-width:1500px;margin:0 auto;
  border-radius:8px;box-shadow:0 40px 100px rgba(0,0,0,.55);
  --ui:clamp(14px,.55vw + 8px,18px);
}
body.concept-open .concept-browser .browser-top{height:46px;padding:0 16px;gap:12px}
body.concept-open .concept-browser .burl{font-size:11px;padding:6px 11px}
body.concept-open .concept-browser .btab{font-size:11px;padding:8px 13px}
body.concept-open .concept-browser .mini-nav{padding:12px 18px}
body.concept-open .concept-browser .mini-brand img{width:84px}
body.concept-open .concept-browser .mini-brand b{font-size:9px}
body.concept-open .concept-browser .mini-brand small{font-size:6.5px}
body.concept-open .concept-browser .mini-links{font-size:10px;gap:16px}
body.concept-open .concept-browser .mini-call{font-size:10px;padding:8px 12px}
body.concept-open .concept-browser .mini-hero{height:min(34vh,300px);min-height:230px;grid-template-columns:38% 1fr}
body.concept-open .concept-browser .mini-hero-copy{padding:20px 24px}
body.concept-open .concept-browser .mini-over{font-size:8px}
body.concept-open .concept-browser .mini-hero-copy b{font-size:clamp(30px,3vw,54px)}
body.concept-open .concept-browser .mini-hero-copy p{font-size:14px;max-width:42ch;margin:8px 0 11px}
body.concept-open .concept-browser .mini-primary,body.concept-open .concept-browser .mini-ghost{font-size:10px;padding:8px 13px}
body.concept-open .concept-browser .mini-groups{padding:10px 18px;gap:5px}
body.concept-open .concept-browser .mini-chip{font-size:10px;padding:6px 10px}
body.concept-open .concept-browser .mini-menu{grid-template-columns:1fr 34%;height:auto;min-height:0}
body.concept-open .concept-browser .mini-list{max-height:none}
body.concept-open .concept-browser .mini-list{max-height:230px}
body.concept-open .concept-browser .mini-item{padding:9px 18px;grid-template-columns:1fr auto 30px}
body.concept-open .concept-browser .mini-item b{font-size:12px}
body.concept-open .concept-browser .mini-item small{font-size:9px}
body.concept-open .concept-browser .mini-item>span{font-size:10px}
body.concept-open .concept-browser .add-btn{width:24px;height:24px}
body.concept-open .concept-browser .mini-sheet{padding:15px}
body.concept-open .concept-browser .sheet-kicker{font-size:8px}
body.concept-open .concept-browser .sheet-empty{font-size:10px}
body.concept-open .concept-browser .sheet-row{font-size:9px;padding:4px 0}
body.concept-open .concept-browser .sheet-clear{font-size:8px}
body.concept-open .concept-browser .sheet-call{font-size:8px;padding:7px}
body.concept-open .concept-browser .sheet-note{font-size:7px}
body.concept-open .concept-browser .mini-foot{font-size:8px;padding:10px 18px}
body.concept-open .concept-browser .mini-breakfast{min-height:420px}
body.concept-open .concept-browser .mini-breakfast-copy{padding:24px}
body.concept-open .concept-browser .mini-breakfast-copy b{font-size:clamp(30px,3vw,44px)}
body.concept-open .concept-browser .mini-bf-list>div{padding:9px 0}
body.concept-open .concept-browser .mini-bf-list span{font-size:11px}
body.concept-open .concept-browser .mini-bf-list small{font-size:8px}
body.concept-open .concept-browser .mini-bf-list i{font-size:10px}
body.concept-open .concept-browser .mini-disclaimer{font-size:7px}
body.concept-open .concept-browser .mini-visit{padding:22px;gap:16px;min-height:420px}
body.concept-open .concept-browser .visit-card{padding:20px}
body.concept-open .concept-browser .visit-card b{font-size:20px}
body.concept-open .concept-browser .visit-card p{font-size:11px}
body.concept-open .concept-browser .visit-hours b{font-size:14px}
body.concept-open .concept-browser .visit-hours small{font-size:9px}
body.concept-open .concept-browser .visit-hours span{font-size:7px}
body.concept-open .concept-browser .visit-actions .mini-primary,body.concept-open .concept-browser .visit-actions .mini-ghost{font-size:9px;padding:8px 12px}
body.concept-open .concept-browser .visit-note{font-size:7px}
body.concept-open .concept-browser .map-label{font-size:7px}
.concept-close{display:none;width:34px;height:34px;border-radius:50%;border:1px solid rgba(21,77,152,.3);background:#fffdf6;color:var(--ink);place-items:center;cursor:pointer;flex:none;margin-left:5px}
.concept-close .ico{width:16px;height:16px}
body.concept-open .concept-close{display:grid}

/* ---------- system ---------- */
.system-head{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(22px,3.6vw,64px);align-items:end;margin-bottom:clamp(10px,1.5vh,18px);flex:none}
.system-head h2{font-size:clamp(38px,3.7vw + 2px,70px)}
.system-head p{max-width:44ch;font-size:var(--small-fs);line-height:1.45;color:var(--body-dark)}
.system-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);gap:clamp(18px,2.4vw,40px);flex:1;min-height:0}
.system-list{display:grid;grid-template-columns:1fr 1fr;gap:clamp(7px,1vw,12px);align-content:space-between;min-height:0}
.system-list li{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:start;border:1px solid var(--line-dark);background:rgba(247,240,223,.022);padding:clamp(10px,1.1vw,15px)}
.sys-num{font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;color:var(--brass-2);padding-top:4px}
.system-list h3{font-size:clamp(16px,.55vw + 9px,21px);font-weight:500;line-height:1.15;color:var(--cream)}
.system-list p{font-size:clamp(13px,.4vw + 8.2px,16px);line-height:1.38;color:var(--body-dark);margin-top:3px;max-width:64ch}
.sys-tag{font-family:var(--font-mono);font-size:7.5px;letter-spacing:.09em;color:var(--muted-dark);border:1px solid rgba(230,193,122,.2);padding:3px 5px;white-space:nowrap;margin-top:2px}
.system-photo{position:relative;min-height:0;margin:0;overflow:hidden;border:1px solid rgba(230,193,122,.18)}
.system-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.05)}
.system-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,16,29,.02) 35%,rgba(7,16,29,.86) 100%)}
.system-photo figcaption{position:absolute;left:14px;right:14px;bottom:13px;z-index:2;font-family:var(--font-mono);font-size:7.5px;line-height:1.4;color:rgba(247,240,223,.72)}
.system-photo figcaption span{display:block;color:var(--brass-2);font-size:8.5px;letter-spacing:.12em;margin-bottom:3px}
.system-photo-tag{position:absolute;left:14px;top:14px;z-index:2;font-family:var(--font-mono);font-size:8px;line-height:1.4;letter-spacing:.08em;color:var(--cream);background:rgba(7,16,29,.64);border-left:2px solid var(--brass-2);padding:6px 8px}

/* ---------- proof ---------- */
.proof-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(22px,3.2vw,56px);flex:1;min-height:0;align-items:center}
.proof-copy h2{font-size:clamp(38px,3.7vw + 2px,68px);margin-bottom:clamp(10px,1.6vh,18px)}
.proof-copy>p{font-size:var(--small-fs);line-height:1.5;max-width:36ch}
.proof-points{margin:clamp(12px,1.8vh,22px) 0;border-top:1px solid var(--line)}
.proof-points>div{display:grid;grid-template-columns:25px 1fr;gap:6px;border-bottom:1px solid var(--line);padding:7px 0}
.proof-points span{font-family:var(--font-mono);font-size:8px;color:var(--red);padding-top:3px}
.proof-points p{font-size:clamp(13px,.28vw + 8.9px,16px);line-height:1.38;color:var(--body)}
.proof-points b{font-weight:500;color:var(--ink)}
.case-badge{display:inline-block;font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);padding:5px 8px}
.compare-wrap{min-width:0}
.compare-head{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}
.compare-head span{display:flex;align-items:center;gap:5px}
.compare-head i{width:5px;height:5px;border-radius:50%;background:var(--red)}
.compare{position:relative;aspect-ratio:16/9;max-height:calc(100vh - 330px);min-height:280px;overflow:hidden;background:#e8ddc8;border:1px solid rgba(21,77,152,.18);box-shadow:0 18px 40px rgba(18,35,59,.16)}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;pointer-events:none}
.compare-after{position:absolute;inset:0}
.compare-before{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 calc(100% - var(--pos,48%)) 0 0)}
.compare-line{position:absolute;top:0;bottom:0;left:var(--pos,48%);width:1px;background:var(--brass-2);z-index:3;box-shadow:0 0 14px rgba(230,193,122,.55)}
.compare-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--paper);border:1px solid rgba(21,77,152,.28);display:flex;align-items:center;justify-content:center;gap:0;color:var(--blue);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.compare-handle .ico{width:10px;height:10px;margin:0 -1px}
.compare-tag{position:absolute;top:8px;z-index:2;font-family:var(--font-mono);font-size:7.5px;letter-spacing:.1em;background:rgba(7,16,29,.72);color:var(--cream);padding:3px 6px}
.tag-before{left:8px}
.tag-after{right:8px}
.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5;margin:0}
.compare-note{font-family:var(--font-mono);font-size:8px;line-height:1.4;color:var(--muted);margin-top:6px}

/* ---------- roadmap ---------- */
.roadmap-head{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(22px,3.6vw,64px);align-items:end;margin-bottom:clamp(10px,1.5vh,18px);flex:none}
.roadmap-head h2{font-size:clamp(34px,3.2vw + 2px,62px)}
.roadmap-head p{max-width:42ch;font-size:var(--small-fs);line-height:1.45;color:var(--body-dark)}
.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.2vw,18px);flex:1;min-height:0}
.phase-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line-dark);background:rgba(247,240,223,.018);padding:clamp(13px,1.5vw,22px);min-height:0}
.phase-card.featured{background:linear-gradient(160deg,rgba(230,193,122,.1),rgba(43,108,196,.08));border-color:rgba(230,193,122,.34)}
.phase-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.phase-num{font-family:var(--font-display);font-size:clamp(28px,2vw + 10px,42px);line-height:.8;letter-spacing:-.04em;color:var(--brass-2)}
.phase-days{font-family:var(--font-mono);font-size:8px;letter-spacing:.11em;color:var(--muted-dark);border:1px solid rgba(230,193,122,.22);padding:3px 5px;white-space:nowrap}
.phase-card h3{font-size:clamp(18px,.55vw + 10px,24px);margin-bottom:5px;font-weight:500}
.phase-card p{font-size:clamp(12.5px,.3vw + 8.4px,15px);line-height:1.4;color:var(--body-dark)}
.phase-card ul{margin:9px 0 10px;border-top:1px solid var(--line-dark)}
.phase-card li{display:flex;gap:6px;align-items:flex-start;padding:4px 0;border-bottom:1px solid rgba(230,193,122,.09);font-size:clamp(11px,.22vw + 8.2px,13.5px);line-height:1.3;color:var(--body-dark)}
.phase-card li .ico{width:10px;height:10px;color:var(--brass-2);margin-top:2px}
.phase-owner{font-family:var(--font-mono);font-size:7px;letter-spacing:.08em;color:var(--muted-dark);margin-top:auto}
.launch-chip{position:absolute;right:12px;bottom:12px;font-family:var(--font-mono);font-size:6.5px;letter-spacing:.06em;color:var(--brass-2);border:1px solid rgba(230,193,122,.24);padding:3px 5px;background:rgba(7,16,29,.4)}
.supply-bar{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line-dark);margin-top:8px;padding-top:8px;font-family:var(--font-mono);font-size:8.5px;line-height:1.4;color:var(--muted-dark);flex:none}
.supply-bar b{color:var(--cream);font-weight:400}

/* ---------- engagement ---------- */
.engagement-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(22px,3.6vw,64px);align-items:end;margin-bottom:clamp(10px,1.5vh,18px);flex:none}
.engagement-head h2{font-size:clamp(38px,3.7vw + 2px,70px)}
.engagement-head p{max-width:42ch;font-size:var(--small-fs);line-height:1.45}
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.2vw,18px);flex:1;min-height:0}
.tier-card{display:flex;flex-direction:column;border:1px solid var(--line);padding:clamp(14px,1.6vw,24px);background:rgba(255,255,255,.36);min-height:0}
.tier-card.recommended{background:var(--blue);color:var(--cream);border-color:var(--blue);box-shadow:0 18px 38px rgba(21,77,152,.22)}
.tier-kicker{font-family:var(--font-mono);font-size:8px;letter-spacing:.12em;color:var(--red);margin-bottom:7px}
.tier-card.recommended .tier-kicker{color:var(--brass-2)}
.tier-card h3{font-size:clamp(22px,1.2vw + 12px,32px);font-weight:500;margin-bottom:3px}
.tier-card.recommended h3{color:#fff}
.tier-for{font-size:clamp(12px,.3vw + 8.2px,15px);line-height:1.35;color:var(--muted);margin-bottom:9px}
.tier-card.recommended .tier-for{color:rgba(255,255,255,.78)}
.tier-card ul{border-top:1px solid var(--line);margin-bottom:10px}
.tier-card.recommended ul{border-color:rgba(255,255,255,.24)}
.tier-card li{position:relative;padding:5px 0 5px 13px;border-bottom:1px solid var(--line);font-size:clamp(11.5px,.24vw + 8.2px,14px);line-height:1.35;color:var(--body)}
.tier-card.recommended li{border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.9)}
.tier-card li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:1px;background:var(--blue)}
.tier-card.recommended li::before{background:var(--brass-2)}
.tier-foot{font-family:var(--font-mono);font-size:7px;letter-spacing:.08em;color:var(--muted);margin-top:auto}
.tier-card.recommended .tier-foot{color:var(--brass-2)}
.engagement-note{display:flex;align-items:center;gap:clamp(12px,2vw,28px);border-top:1px solid var(--line);margin-top:8px;padding-top:9px;flex:none}
.engagement-note>span{font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;color:var(--red);white-space:nowrap}
.engagement-note p{flex:1;font-size:clamp(12px,.25vw + 8.3px,14px);line-height:1.35;color:var(--muted);max-width:72ch}
.engagement-note .btn{padding:9px 14px}

/* ---------- close ---------- */
.close-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(20px,2.8vw,44px);flex:1;min-height:0;align-items:center}
.close-copy h2{font-size:clamp(36px,3.5vw + 2px,66px);margin-bottom:clamp(8px,1.2vh,14px)}
.close-lead{font-size:var(--small-fs);line-height:1.45;max-width:44ch;color:var(--body-dark);margin-bottom:clamp(10px,1.6vh,16px)}
.partner-card{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:center;border:1px solid rgba(230,193,122,.22);background:rgba(247,240,223,.035);padding:clamp(14px,1.5vw,20px)}
.partner-portrait-wrap{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid rgba(230,193,122,.4);background:#0e1a2b}
.partner-portrait{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.partner-kicker{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;color:var(--brass-2)}
.partner-name{font-family:var(--font-display);font-size:clamp(26px,1.7vw + 11px,38px);line-height:.95;letter-spacing:-.03em;color:var(--cream);margin:4px 0}
.partner-role{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--muted-dark)}
.partner-message{font-size:clamp(13px,.3vw + 8.4px,15.5px);line-height:1.4;color:var(--body-dark);margin-top:7px;max-width:38ch}
.partner-contacts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid rgba(230,193,122,.16);padding-top:9px;margin-top:1px}
.partner-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(230,193,122,.26);border-radius:999px;padding:7px 11px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.02em;color:var(--cream);text-decoration:none;white-space:nowrap;transition:border-color .2s,background .2s}
.partner-pill:hover{border-color:var(--brass-2);background:rgba(230,193,122,.08)}
.partner-pill .ico{width:12px;height:12px;color:var(--brass-2)}
.partner-signoff{grid-column:1/-1;display:flex;align-items:center;gap:10px;border-top:1px solid rgba(230,193,122,.16);padding-top:8px}
.partner-signoff img{height:17px;width:auto}
.partner-signoff span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.03em;color:var(--muted-dark)}
.scheduler-col{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}
.request-card{border:1px solid rgba(230,193,122,.26);background:rgba(247,240,223,.055);padding:clamp(14px,1.6vw,22px);box-shadow:0 18px 40px rgba(0,0,0,.2)}
.request-card .kicker{color:var(--brass-2)}
.request-card h3{font-family:var(--font-display);font-size:clamp(26px,1.6vw + 12px,38px);line-height:.95;letter-spacing:-.04em;color:var(--cream);margin:5px 0 4px}
.request-card>p{font-size:clamp(13px,.3vw + 8.4px,15px);line-height:1.4;color:var(--body-dark)}
.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}
.suggestions button{border:1px solid rgba(230,193,122,.28);background:transparent;color:var(--cream);border-radius:3px;padding:8px 7px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.02em;cursor:pointer;transition:background .2s,border-color .2s}
.suggestions button:hover{background:rgba(230,193,122,.12);border-color:var(--brass-2)}
.picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.picker-col{min-width:0}
.picker-col label{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.05em;color:var(--muted-dark);margin-bottom:4px}
.date-control{display:flex;align-items:stretch;border:1px solid rgba(230,193,122,.26);border-radius:3px;background:rgba(5,12,22,.4);overflow:hidden}
.date-control input{flex:1;min-width:0;background:transparent;border:0;color:var(--cream);font-family:var(--font-mono);font-size:12px;padding:8px 7px;color-scheme:dark}
.date-control input:focus{outline:1px solid var(--brass-2);outline-offset:-1px}
.date-control button{width:30px;border:0;border-left:1px solid rgba(230,193,122,.2);background:transparent;color:var(--brass-2);display:grid;place-items:center;cursor:pointer}
.date-control .ico{width:13px;height:13px}
.picker-help{font-family:var(--font-mono);font-size:8.5px;color:var(--brass-2);line-height:1.3;margin-top:5px}
.contact-cta{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--brass-2);color:#171006;border-radius:3px;padding:11px 12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-decoration:none;margin-top:9px;transition:background .2s}
.contact-cta:hover{background:#f0d294}
.contact-cta .ico{width:13px;height:13px}
.request-note{display:block;font-family:var(--font-mono);font-size:8.5px;line-height:1.4;color:var(--muted-dark);margin-top:7px}
.close-note{display:flex;flex-wrap:wrap;gap:4px 12px;font-family:var(--font-mono);font-size:9px;line-height:1.4;color:var(--muted-dark);padding:0 2px}
.close-note span{white-space:nowrap}

/* ---------- index overlay ---------- */
.index-overlay{position:fixed;inset:0;z-index:70;background:rgba(3,9,17,.93);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top, 0px)) 24px calc(24px + env(safe-area-inset-bottom, 0px))}
.index-overlay.open{opacity:1;visibility:visible}
.index-panel{width:min(1120px,100%);max-height:88vh;overflow-y:auto;border:1px solid rgba(230,193,122,.2);background:#081321;padding:clamp(18px,2.5vw,36px);box-shadow:0 40px 100px rgba(0,0,0,.5)}
.index-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(230,193,122,.18);padding-bottom:10px}
.index-head .kicker{color:var(--brass-2)}
.index-close{width:34px;height:34px;border-radius:50%;border:1px solid rgba(230,193,122,.28);background:transparent;color:var(--cream);display:grid;place-items:center;cursor:pointer}
.index-close .ico{width:15px;height:15px}
.index-panel h2{font-family:var(--font-display);font-size:clamp(28px,3vw,48px);line-height:.95;letter-spacing:-.04em;color:var(--cream);margin:16px 0 22px}
.index-panel h2 em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--brass-2)}
.index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.index-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;border:1px solid rgba(230,193,122,.16);background:linear-gradient(145deg,rgba(43,108,196,.1),rgba(5,12,22,.2));padding:14px;cursor:pointer;transition:border-color .2s,background .2s;color:var(--cream)}
.index-card:hover{border-color:var(--brass-2);background:linear-gradient(145deg,rgba(43,108,196,.18),rgba(5,12,22,.3))}
.index-card .ic-num{font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;color:var(--brass-2)}
.index-card b{font-family:var(--font-body);font-weight:400;font-size:15px;line-height:1.2;color:var(--cream)}
.index-card small{font-family:var(--font-mono);font-size:7.5px;line-height:1.35;color:var(--muted-dark)}
.index-card.current{border-color:var(--blue-3);box-shadow:0 0 0 1px rgba(141,182,232,.16) inset}
.index-note{font-family:var(--font-mono);font-size:8px;line-height:1.5;color:var(--muted-dark);margin-top:16px}

/* ---------- transition fx ---------- */
.flash{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:0;background:radial-gradient(60% 60% at 66% 46%,#fffdf2 0%,rgba(230,193,122,.92) 24%,rgba(21,77,152,.55) 58%,rgba(5,12,22,0) 100%)}
.flash.on{animation:flashBurst .54s cubic-bezier(.1,.7,.2,1) forwards}
@keyframes flashBurst{0%{opacity:.92}16%{opacity:.55}42%{opacity:.18}100%{opacity:0}}
.shock-ring{position:fixed;z-index:59;left:50%;top:50%;width:60px;height:60px;border-radius:50%;border:2px solid rgba(230,193,122,.65);pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.3)}
.shock-ring.on{animation:shockOut .58s cubic-bezier(.1,.7,.2,1) forwards}
@keyframes shockOut{0%{opacity:.8;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(7)}}
.fx-canvas{position:fixed;inset:0;z-index:58;pointer-events:none;display:block;width:100%;height:100%;opacity:0;transition:opacity .12s}
.fx-canvas.on{opacity:1}
body.booming .deck{animation:deckShake .52s cubic-bezier(.36,.07,.19,.97)}
@keyframes deckShake{0%,100%{transform:translate(0,0)}12%{transform:translate(-7px,4px)}26%{transform:translate(6px,-5px)}42%{transform:translate(-4px,3px)}60%{transform:translate(3px,-2px)}78%{transform:translate(-1px,1px)}}
.seam{position:fixed;inset:0;z-index:45;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent 0%,rgba(230,193,122,0) 35%,rgba(230,193,122,.75) 49%,rgba(141,182,232,.4) 51%,rgba(169,42,46,.2) 54%,transparent 70%)}
.seam.to-right{animation:seamRight .52s ease-out}
.seam.to-left{animation:seamLeft .52s ease-out}
@keyframes seamRight{0%{opacity:0;transform:translateX(-100%)}18%{opacity:1}100%{opacity:0;transform:translateX(100%)}}
@keyframes seamLeft{0%{opacity:0;transform:translateX(100%)}18%{opacity:1}100%{opacity:0;transform:translateX(-100%)}}
.slide.incoming{animation:landIn .48s cubic-bezier(.18,.72,.2,1)}
@keyframes landIn{0%{opacity:.45;transform:translate3d(calc(var(--dir,1) * 38px),0,0) scale(.996)}100%{opacity:1;transform:none}}
.toast{position:fixed;left:50%;bottom:calc(var(--bottom-h) + 14px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%) translateY(8px);z-index:90;background:var(--paper);color:var(--ink);border:1px solid rgba(21,77,152,.2);border-radius:3px;padding:8px 12px;font-family:var(--font-mono);font-size:10px;line-height:1.35;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;max-width:min(420px,90vw);text-align:center;box-shadow:0 10px 26px rgba(0,0,0,.3)}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

body.reduced-motion .slide.incoming,body.reduced-motion .flash.on,body.reduced-motion .shock-ring.on,body.reduced-motion .seam,body.reduced-motion .fx-canvas{animation:none!important;display:none!important}
body.reduced-motion .deck{animation:none!important}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1250px){
  .chrome-title{display:none}
  .flagship-grid{grid-template-columns:180px minmax(0,1fr) 130px}
  .flagship-notes .chips{display:none}
  .cp-shell{max-width:130px}
}
@media (max-height:820px) and (min-width:901px){
  .flagship-grid{grid-template-columns:160px minmax(0,1fr) 96px}
  .concept-phone{display:flex}
  .cp-shell{max-width:96px;border-width:4px;border-radius:14px}
  .cp-photo{height:58px}
  .cp-body b{font-size:10px}
  .cp-caption{display:none}
  .mini-hero{height:132px}
  .mini-menu{height:140px}
  .mini-list{max-height:132px}
  .mini-nav{padding:7px 11px}
  .mini-groups{padding:6px 11px}
  .mini-foot{padding:5px 11px}
  .mini-hero-copy{padding:9px 13px 7px}
  .mini-hero-copy p{font-size:9px;margin:4px 0 6px}
  .mini-hero-copy b{font-size:clamp(18px,1.5vw + 7px,27px)}
  .mini-sheet{padding:7px}
  .sheet-note{display:none}
  .audit-head h2{font-size:44px}
  .audit-intro p{font-size:14px}
  .finding{padding:5px 0 7px}
  .finding p{font-size:16px;line-height:1.3}
  .f-head h3{font-size:16.5px}
  .f-tag{font-size:10px;margin-top:2px}
  .audit-summary{padding:5px 0}
  .audit-summary b{font-size:20px}
  .audit-summary span{font-size:9px}
  .audit-summary p{font-size:16px}
}
@media (max-width:1080px){
  .audit-head,.gap-head,.flagship-head,.system-head,.roadmap-head,.engagement-head{grid-template-columns:1fr;gap:10px}
  .audit-head h2,.gap-head h2,.flagship-head h2,.system-head h2,.roadmap-head h2,.engagement-head h2{font-size:clamp(32px,4.4vw,58px)}
  .audit-intro,.flagship-intro{justify-content:flex-start}
  .audit-count{display:none}
  .audit-grid{grid-template-columns:180px minmax(0,1fr)}
  .flagship-grid{grid-template-columns:175px minmax(0,1fr)}
  .concept-phone{display:none}
  .proof-grid{grid-template-columns:1fr;gap:14px;align-content:center}
  .proof-copy h2{font-size:clamp(32px,4vw,52px)}
  .proof-copy>p{max-width:60ch}
  .proof-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:0}
  .proof-points>div{border-top:1px solid var(--line);border-bottom:0}
  .compare{max-height:none}
  .close-grid{grid-template-columns:1fr 340px}
  .partner-card{grid-template-columns:120px 1fr}
}
@media (max-width:900px){
  :root{--top-h:58px;--bottom-h:62px}
  body{font-size:clamp(16px,.9vw + 10px,18px)}
  .chrome-top{padding:0 16px;background:var(--ink);backdrop-filter:none;border-bottom-color:rgba(230,193,122,.16)}
  body.theme-light .chrome-top{background:var(--paper);backdrop-filter:none}
  .cobrand{gap:8px}
  .bc-logo{height:16px}
  .client-medallion{width:30px;height:30px}
  .client-medallion img{width:22px}
  .client-wordmark small{font-size:7px}
  .chrome-right{gap:8px}
  .index-btn span{display:none}
  .index-btn{padding:8px;border-radius:50%}
  .index-btn .ico{width:15px;height:15px}
  .chrome-count{font-size:10px}
  .chrome-bottom{background:var(--ink);backdrop-filter:none;padding:0 16px;gap:8px}
  body.theme-light .chrome-bottom{background:var(--paper)}
  .prepared-mini,.bottom-mid{display:none}
  .nav-controls{flex:1;justify-content:space-between;gap:4px}
  .nav-controls button{width:44px;height:44px}
  .nav-count{font-size:10px;min-width:52px}
  .rail{display:none}

  .slide{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .pad{height:auto;min-height:100%;padding:calc(var(--top-h) + 16px + env(safe-area-inset-top, 0px)) 18px calc(var(--bottom-h) + 26px + env(safe-area-inset-bottom, 0px));max-width:none}
  .slide-head{flex-wrap:wrap;gap:4px;margin-bottom:14px}
  .head-meta{font-size:8.5px;text-align:left;white-space:normal}
  .kicker{font-size:11px;letter-spacing:.13em}
  h2{font-size:clamp(34px,8.2vw,50px)}
  p{font-size:16px}
  .slide-foot{font-size:9px;gap:10px;flex-wrap:wrap}
  .foot-page{font-size:9.5px}

  .cover-layout{display:flex;flex-direction:column;height:auto;min-height:100%;padding:calc(var(--top-h) + 20px + env(safe-area-inset-top, 0px)) 20px calc(var(--bottom-h) + 30px + env(safe-area-inset-bottom, 0px))}
  .cover-copy{padding:0;justify-content:flex-start}
  .cover-collab{font-size:8.5px;margin-bottom:18px}
  .eyebrow{font-size:9px}
  .cover-title{font-size:clamp(48px,13.2vw,74px);margin-bottom:16px}
  .cover-title em{font-size:.56em}
  .cover-lead{font-size:16px;max-width:37ch;margin-bottom:18px}
  .cover-actions{gap:8px;margin-bottom:18px}
  .btn{font-size:10px;padding:11px 15px}
  .cover-facts{font-size:10px;gap:7px 13px;margin-bottom:16px}
  .cover-byline{font-size:9px}
  .cover-byline img{width:30px;height:30px}
  .cover-scene{height:clamp(270px,62vw,360px);margin-top:10px;flex:none}
  .scene-caption{left:0;right:0;bottom:0;font-size:7px;gap:7px}
  .scene-caption span:nth-child(2){display:none}
  .pf-disc{width:min(78%,310px)}
  .cover-halo{width:82vw;height:82vw;right:-8vw}
  .cover-grid-lines{background-size:54px 54px}
  .cover-foot{display:none}
  .scene-cue{display:none}

  .audit-head h2,.gap-head h2,.flagship-head h2,.system-head h2,.roadmap-head h2,.engagement-head h2,.close-copy h2{font-size:clamp(32px,8vw,48px)}
  .audit-head,.gap-head,.flagship-head,.system-head,.roadmap-head,.engagement-head{gap:9px;margin-bottom:13px}
  .audit-intro p,.gap-head p,.flagship-intro p,.system-head p,.roadmap-head p,.engagement-head p{font-size:14px;max-width:none}
  .audit-grid{grid-template-columns:1fr;gap:12px}
  .audit-phone{flex-direction:row;justify-content:flex-start;align-items:flex-start;gap:12px;order:1;margin-top:4px}
  .audit-shell{width:116px;height:220px;flex:none}
  .findings-wrap{order:2}
  .audit-summary{display:none}
  .audit-phone figcaption{position:absolute;left:128px;top:0;white-space:normal}
  .audit-tag{max-width:200px;font-size:8.5px;margin-top:0}
  .audit-phone .audit-tag:nth-of-type(2){display:none}
  .findings{grid-template-columns:1fr;order:1}
  .finding{padding:8px 0}
  .f-head h3{font-size:17px}
  .finding p{font-size:16px}
  .sev{font-size:7.5px}
  .f-tag{font-size:9.5px}
  .audit-tag{font-size:10px}

  .gap-body{grid-template-columns:1fr;gap:12px}
  .search-scene{height:245px;flex:none}
  .gap-flows{grid-template-columns:1fr 1fr;gap:8px}
  .flow-label{font-size:8px;white-space:normal;line-height:1.25}
  .flow-step b{font-size:13px}
  .flow-step small{font-size:11px}
  .flow-divider{display:none}
  .gap-stats{grid-template-columns:1fr 1fr;gap:8px}
  .gap-stats b{font-size:24px}
  .gap-stats span{font-size:8px}

  .flagship-grid{grid-template-columns:1fr;gap:12px}
  .flagship-notes{order:2}
  .flagship-browser-slot{order:1;min-height:0}
  .concept-browser{display:none}
  .concept-mobile-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;border:1px solid var(--line);background:#fffdf6;padding:14px}
  .concept-mobile-card b{font-family:var(--font-display);font-size:22px;line-height:1;letter-spacing:-.03em;color:var(--blue)}
  .concept-mobile-card p{font-size:13px;line-height:1.4;color:var(--muted)}
  .concept-mobile-card .btn{font-size:9px;padding:9px 12px}
  .flagship-notes .chips{display:flex;margin-top:4px}
  .fnote{border-top:1px solid var(--line);padding:7px 0}
  .fnote b{font-size:13px}
  .fnote p{font-size:11px}
  .concept-open-btn{display:none}
  .flagship-note{font-size:8px}

  .concept-phone{display:none}
  .system-body{grid-template-columns:1fr;gap:12px}
  .system-list{grid-template-columns:1fr;align-content:start;gap:7px}
  .system-photo{height:220px;min-height:0}
  .system-list li{grid-template-columns:24px 1fr;padding:7px 0}
  .sys-tag{display:none}
  .system-list h3{font-size:16px}
  .system-list p{font-size:13px}
  .proof-grid{gap:12px}
  .proof-points{grid-template-columns:1fr;gap:0}
  .proof-points>div{border-bottom:1px solid var(--line)}
  .proof-copy>p{font-size:14px}
  .compare{min-height:0;aspect-ratio:16/10}
  .compare-head{font-size:7px}
  .roadmap .phase-grid{grid-template-columns:1fr;gap:8px}
  .phase-grid{grid-template-columns:1fr;gap:8px}
  .phase-card{padding:12px}
  .phase-card p{font-size:12px}
  .phase-card ul{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
  .phase-card li{font-size:12px;border-bottom:0;padding:2px 0}
  .supply-bar{flex-direction:column;gap:4px;font-size:8px}
  .tier-grid{grid-template-columns:1fr;gap:8px}
  .tier-card{padding:12px}
  .tier-card ul{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
  .tier-card li{font-size:12px;border-bottom:0;padding:2px 0 2px 11px}
  .tier-card li::before{top:8px}
  .engagement-note{flex-direction:column;align-items:flex-start;gap:6px}
  .engagement-note p{font-size:11px}
  .engagement-note .btn{width:100%;justify-content:center}

  .close-grid{grid-template-columns:1fr;gap:12px}
  .close-copy h2{font-size:clamp(32px,8vw,46px)}
  .close-lead{font-size:14px;margin-bottom:10px}
  .partner-card{grid-template-columns:100px 1fr;gap:12px;padding:12px}
  .partner-message{font-size:11px}
  .partner-contacts{gap:4px}
  .partner-pill{font-size:8.5px;padding:6px 8px}
  .partner-name{font-size:24px}
  .partner-role{font-size:8.5px}
  .request-card{padding:14px}
  .request-card>p{font-size:12px}
  .suggestions button{font-size:8.5px}
  .picker-grid{grid-template-columns:1fr 1fr}
  .date-control input{font-size:11px}
  .contact-cta{font-size:10px}
  .close-note{font-size:8.5px;gap:3px 9px}

  .flagship-note{margin-top:8px}
  .audit-shell{height:210px}
}

@media (max-width:380px){
  .cover-layout{padding-bottom:calc(var(--bottom-h) + 18px)}
  .cover-scene{height:210px;margin-top:4px}
  .pf-disc{width:min(76%,206px);border-width:6px}
  .cover-title{font-size:clamp(40px,12vw,52px)}
  .cover-lead{font-size:15px;line-height:1.42}
  .cover-actions .btn{padding:10px 12px;font-size:9px}
  .cover-byline{margin-top:0}
}
@media (max-width:520px){
  .client-wordmark small{display:none}
  .client-medallion{width:28px;height:28px}
  .cover-title{font-size:clamp(44px,12.8vw,62px)}
  .cover-facts li:nth-child(3){display:none}
  .audit-phone{flex-direction:column;gap:6px}
  .audit-phone figcaption{position:static;left:auto;top:auto;white-space:nowrap}
  .audit-tag{max-width:100%}
  .audit-tag:nth-of-type(2){display:none}  .gap-flows{grid-template-columns:1fr}
  .flow-divider{display:none}
  .phase-card ul{grid-template-columns:1fr}
  .tier-card ul{grid-template-columns:1fr}
  .partner-card{grid-template-columns:82px 1fr}
  .partner-portrait-wrap{width:82px}
  .partner-name{font-size:21px}
  .picker-grid{grid-template-columns:1fr}
  .suggestions{grid-template-columns:1fr}
  .close-note span:nth-child(3){display:none}
  .system-photo{height:170px}
  .compare{aspect-ratio:4/3}
  .index-grid{grid-template-columns:1fr 1fr}
  .index-panel h2{font-size:26px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

@media (min-width:1700px){
  .mini-nav{padding:11px 16px;gap:12px}
  .mini-brand img{width:84px}
  .mini-brand b{font-size:9px}
  .mini-brand small{font-size:6.5px}
  .mini-links{font-size:11px;gap:15px}
  .mini-call{font-size:9.5px;padding:8px 12px}
  .mini-call .ico{width:11px;height:11px}
  .mini-hero{height:220px}
  .mini-hero-copy{padding:18px 22px 14px}
  .mini-over{font-size:8px}
  .mini-hero-copy b{font-size:38px}
  .mini-hero-copy p{font-size:12.5px;margin:9px 0 12px;max-width:38ch}
  .mini-primary,.mini-ghost{font-size:9px;padding:8px 12px}
  .mini-groups{padding:10px 16px;gap:5px}
  .mini-chip{font-size:10px;padding:7px 10px}
  .mini-menu{height:230px;grid-template-columns:1fr 35%}
  .mini-list{max-height:220px}
  .mini-item{padding:9px 16px;grid-template-columns:1fr auto 27px}
  .mini-item b{font-size:14px}
  .mini-item small{font-size:9.5px}
  .mini-item>span{font-size:11px}
  .add-btn{width:24px;height:24px}
  .mini-sheet{padding:14px}
  .sheet-kicker{font-size:9px}
  .sheet-empty{font-size:11px}
  .sheet-row{font-size:10px;padding:3px 0}
  .sheet-clear{font-size:8.5px}
  .sheet-call{font-size:9px;padding:8px}
  .sheet-note{font-size:8px}
  .mini-foot{font-size:8px;padding:9px 16px}
  .cp-shell{max-width:190px}
  .cp-photo{height:112px}
  .cp-body b{font-size:17px}
  .cp-body small{font-size:5.5px}
  .cp-btn{font-size:6.5px;padding:5px}
  .cp-top img{width:58px}
  .cp-top span{font-size:6px}
  .fnote b{font-size:16px}
  .fnote p{font-size:14px}
  .chips span{font-size:8px}
  .concept-open-btn{font-size:9px;padding:9px 12px}
  .flagship-note{font-size:10px}
  .f-tag{font-size:11px}
  .finding{padding:13px 0 15px}
  .finding p{font-size:22px;line-height:1.42}
  .f-head h3{font-size:23px}
  .findings{align-content:space-between;flex:1}
  .audit-summary b{font-size:30px}
  .audit-summary span{font-size:12px}
  .audit-summary p{font-size:26px}
  .audit-tag{font-size:11.5px}
  .audit-phone figcaption{font-size:10.5px}
  .partner-pill{font-size:12px;padding:8px 13px}
  .partner-message{font-size:16px}
  .partner-role{font-size:11px}
  .request-card>p{font-size:16px}
  .suggestions button{font-size:11px}
  .picker-col label{font-size:10px}
  .date-control input{font-size:14px}
  .contact-cta{font-size:12.5px}
  .request-note{font-size:9.5px}
}

@media (min-width:1700px) and (max-height:980px){
  .mini-hero{height:185px}
  .mini-menu{height:200px}
  .mini-list{max-height:190px}
  .cp-shell{max-width:165px}
}

/* concept open overrides on phones */
@media (max-width:900px){
  body.concept-open .concept-browser{inset:env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px);border-radius:0;max-width:none}
  body.concept-open .concept-browser .browser-top{height:auto;min-height:48px;flex-wrap:wrap;padding:7px 9px;gap:5px}
  body.concept-open .concept-browser .burl{order:2;font-size:9px;padding:4px 6px}
  body.concept-open .concept-browser .browser-tabs{order:3;margin-left:0;width:100%;justify-content:flex-start}
  body.concept-open .concept-browser .btab{font-size:11px;padding:8px 12px}
  body.concept-open .concept-browser .concept-close{order:1;width:34px;height:34px}
  body.concept-open .concept-browser .mini-nav{padding:9px 10px;flex-wrap:wrap;gap:6px}
  body.concept-open .concept-browser .mini-brand img{width:64px}
  body.concept-open .concept-browser .mini-brand b{font-size:8px}
  body.concept-open .concept-browser .mini-brand small{font-size:5.5px}
  body.concept-open .concept-browser .mini-links{font-size:9px;gap:10px;margin-left:0;order:3;width:100%}
  body.concept-open .concept-browser .mini-call{font-size:8px;padding:6px 8px;margin-left:auto}
  body.concept-open .concept-browser .mini-hero{grid-template-columns:1fr;height:auto;min-height:0}
  body.concept-open .concept-browser .mini-hero-photo{height:160px}
  body.concept-open .concept-browser .mini-hero-copy{padding:16px}
  body.concept-open .concept-browser .mini-groups{padding:8px 10px}
  body.concept-open .concept-browser .mini-chip{font-size:8px;padding:5px 8px}
  body.concept-open .concept-browser .mini-menu{grid-template-columns:1fr;height:auto;min-height:0}
  body.concept-open .concept-browser .mini-list{max-height:none}
  body.concept-open .concept-browser .mini-item{padding:9px 10px}
  body.concept-open .concept-browser .add-btn{width:30px;height:30px}
  body.concept-open .concept-browser .mini-chip{font-size:9px;padding:7px 10px}
  body.concept-open .concept-browser .mini-item b{font-size:12px}
  body.concept-open .concept-browser .mini-item small{font-size:8.5px}
  body.concept-open .concept-browser .mini-item>span{font-size:9px}
  body.concept-open .concept-browser .mini-sheet{border-left:0;border-top:1px solid rgba(16,32,54,.12);padding:10px}
  body.concept-open .concept-browser .sheet-empty{font-size:10px}
  body.concept-open .concept-browser .sheet-row{font-size:9px}
  body.concept-open .concept-browser .sheet-call{font-size:9px;padding:8px}
  body.concept-open .concept-browser .mini-foot{font-size:7px;padding:8px 10px;flex-wrap:wrap;gap:4px}
  body.concept-open .concept-browser .mini-breakfast{grid-template-columns:1fr;min-height:0}
  body.concept-open .concept-browser .mini-breakfast-photo{height:160px}
  body.concept-open .concept-browser .mini-breakfast-copy{padding:14px}
  body.concept-open .concept-browser .mini-breakfast-copy b{font-size:30px}
  body.concept-open .concept-browser .mini-bf-list span{font-size:10px}
  body.concept-open .concept-browser .mini-bf-list i{font-size:9px}
  body.concept-open .concept-browser .mini-disclaimer{font-size:6.5px}
  body.concept-open .concept-browser .mini-visit{grid-template-columns:1fr;padding:12px;gap:9px;min-height:0}
  body.concept-open .concept-browser .visit-card{padding:12px}
  body.concept-open .concept-browser .visit-card b{font-size:16px}
  body.concept-open .concept-browser .visit-card p{font-size:9px}
  body.concept-open .concept-browser .visit-hours b{font-size:12px}
  body.concept-open .concept-browser .visit-hours small{font-size:7px}
  body.concept-open .concept-browser .visit-map{min-height:130px}
  body.concept-open .concept-browser .visit-note{font-size:6px}
}

/* ============================================================
   COMPLETION PASS (2026-10-31)
   Readable floors, cards that use their space, comal-heat transitions.
   Desktop rules are scoped to >=901px; phone/tablet get their own block below.
   ============================================================ */

/* heat: charge-up before the cover break, and the sweep between slides */
.cover-glow{transition:filter .34s ease}
.cover-halo{transition:border-color .34s ease,box-shadow .34s ease}
body.charging .cover-glow{filter:brightness(1.55) saturate(1.25)}
body.charging .cover-halo{border-color:rgba(255,160,74,.6);box-shadow:0 0 0 40px rgba(255,160,74,.05),0 0 0 120px rgba(202,59,62,.05)}
.seam{background:linear-gradient(90deg,transparent 0%,rgba(255,236,206,0) 30%,rgba(255,236,206,.34) 44%,rgba(255,160,74,.82) 50%,rgba(202,59,62,.34) 54%,rgba(21,77,152,.16) 62%,transparent 74%)}

@media (min-width:901px){
  /* chrome */
  .chrome-title{font-size:var(--micro-fs)}
  .client-wordmark b{font-size:13px}
  .client-wordmark small{font-size:10.5px}
  .index-btn{font-size:12px}
  .chrome-count{font-size:13px}
  .prepared-mini span{font-size:12.5px}
  .bottom-mid{font-size:11.5px}
  .nav-count{font-size:12.5px}
  .head-meta{font-size:var(--micro-fs)}
  .slide-foot{font-size:var(--micro-fs)}
  .foot-page{font-size:13px}
  .btn{font-size:13px}

  /* cover */
  .cover-collab,.eyebrow{font-size:var(--micro-fs)}
  .cover-facts{font-size:13px}
  .cover-byline{font-size:12.5px}
  .scene-caption{font-size:11.5px}
  .cover-foot{font-size:11.5px}
  .pf-cuisine{font-size:12px}
  .pf-city{font-size:10px}

  /* audit */
  .audit-count span{font-size:12px}
  .f-num{font-size:12px}
  .sev{font-size:11px;padding:4px 7px}
  .f-tag{font-size:12.5px}
  .audit-phone figcaption{font-size:11.5px}
  .audit-tag{font-size:12.5px}
  .audit-summary span{font-size:12.5px}
  .pin{font-size:12px;width:24px;height:24px}

  /* gap */
  .gap-head h2{font-size:clamp(40px,3.6vw + 2px,70px)}
  .search-kicker{font-size:11.5px}
  .search-result{grid-template-columns:52px 1fr}
  .search-result img{width:52px;height:52px}
  .search-result b{font-size:15.5px}
  .search-result small{font-size:11.5px}
  .search-missing{font-size:11.5px}
  .search-caption{font-size:11px}
  .flow-label{font-size:12.5px}
  .flow-label .ico{width:15px;height:15px}
  .flow-step{padding:5px 0;grid-template-columns:26px 1fr}
  .flow-step>span{font-size:11px;width:22px;height:22px}
  .flow-step b{font-size:clamp(15px,.4vw + 9.5px,18.5px)}
  .flow-step small{font-size:clamp(12.5px,.28vw + 8.6px,14.5px)}
  .flow-divider span{font-size:11px;width:26px;height:26px}
  .flow-outcome span{font-size:11.5px}
  .flow-outcome b{font-size:clamp(15px,.45vw + 9.5px,20px)}
  .gap-stats span{font-size:13px}

  /* flagship: readable notes and a stage UI with no sub-8px type */
  .live-badge{font-size:11px}
  .fnote>span{font-size:11px}
  .fnote b{font-size:clamp(14px,.4vw + 9px,17px)}
  .fnote p{font-size:clamp(13px,.3vw + 8.8px,15.5px)}
  .chips span{font-size:10.5px}
  .concept-open-btn{font-size:12px;padding:10px 12px}
  .concept-open-btn .ico{width:13px;height:13px}
  .flagship-note{font-size:11.5px}
  .burl{font-size:10.5px}
  .btab{font-size:11px;padding:5px 10px}
  .mini-brand b{font-size:9.5px}
  .mini-brand small{font-size:7.5px}
  .mini-links{font-size:10.5px}
  .mini-call{font-size:9.5px}
  .mini-over{font-size:9px}
  .mini-hero-copy p{font-size:11.5px}
  .mini-primary,.mini-ghost{font-size:9.5px}
  .mini-primary.wide{font-size:10px}
  .mini-chip{font-size:10px;padding:5px 9px}
  .mini-item b{font-size:13px}
  .mini-item small{font-size:10px}
  .mini-item>span{font-size:11px}
  .sheet-kicker{font-size:9.5px}
  .sheet-empty{font-size:11px}
  .sheet-row{font-size:10px}
  .sheet-clear{font-size:9.5px}
  .sheet-call{font-size:10px}
  .sheet-note{font-size:8.5px}
  .mini-foot{font-size:9px}
  .photo-tag{font-size:8px}
  .mini-bf-list span{font-size:10px}
  .mini-bf-list small{font-size:8.5px}
  .mini-bf-list i{font-size:9.5px}
  .mini-disclaimer{font-size:8.5px}
  .visit-card p{font-size:10px}
  .visit-hours span{font-size:8.5px}
  .visit-hours b{font-size:11px}
  .visit-hours small{font-size:9px}
  .visit-actions .mini-primary,.visit-actions .mini-ghost{font-size:9px}
  .visit-note{font-size:8.5px}
  .map-label{font-size:8px}
  .cp-top span{font-size:7.5px}
  .cp-body small{font-size:7.5px}
  .cp-btn{font-size:8px;padding:5px}
  .cp-sub{font-size:7.5px}
  .cp-caption{font-size:10px}

  /* system: six cards that use the page, not tiny text in empty boxes */
  .system-body{grid-template-columns:minmax(0,2.15fr) minmax(220px,.75fr)}
  .system-list{grid-template-rows:repeat(3,minmax(0,1fr));align-content:stretch}
  .system-list li{grid-template-columns:30px 1fr;align-content:center;padding:clamp(12px,1.3vw,24px)}
  .sys-num{font-size:13px;padding-top:6px}
  .system-list h3{font-size:clamp(20px,.95vw + 9px,30px)}
  .system-list p{font-size:clamp(16px,.55vw + 9px,20.5px);line-height:1.38;margin-top:5px}
  .sys-tag{grid-column:2;justify-self:start;margin-top:8px;font-size:11.5px;padding:4px 8px;color:var(--brass-2);border-color:rgba(230,193,122,.34)}
  .system-photo figcaption{font-size:12px}
  .system-photo figcaption span{font-size:12.5px}
  .system-photo-tag{font-size:12px}

  /* proof */
  .proof-points span{font-size:12px}
  .proof-points p{font-size:clamp(15px,.4vw + 9.5px,18.5px)}
  .case-badge{font-size:11.5px}
  .compare-head{font-size:11.5px}
  .compare-tag{font-size:11px;padding:4px 8px}
  .compare-note{font-size:12px}

  /* roadmap: type that fills the cards; the block centres instead of stretching empty */
  .phase-grid{grid-auto-rows:auto;align-content:center}
  .phase-card{padding:clamp(18px,1.9vw,34px)}
  .phase-num{font-size:clamp(40px,2.6vw + 14px,68px)}
  .phase-days{font-size:12.5px;padding:5px 8px}
  .phase-card h3{font-size:clamp(22px,1vw + 9.5px,32px);margin-bottom:8px}
  .phase-card p{font-size:clamp(16px,.5vw + 9px,20px)}
  .phase-card ul{margin:14px 0 16px}
  .phase-card li{font-size:clamp(15px,.4vw + 9.4px,18.5px);padding:8px 0;gap:9px}
  .phase-card li .ico{width:15px;height:15px;margin-top:4px}
  .phase-owner{font-size:12.5px;margin-top:10px}
  .launch-chip{font-size:11.5px;padding:5px 8px;right:clamp(14px,1.6vw,28px);bottom:clamp(14px,1.6vw,28px)}
  .supply-bar{font-size:var(--micro-fs);margin-top:12px}

  /* engagement */
  .tier-grid{grid-auto-rows:auto;align-content:center}
  .tier-card{padding:clamp(18px,2vw,34px)}
  .tier-kicker{font-size:12.5px;margin-bottom:10px}
  .tier-card h3{font-size:clamp(26px,1.2vw + 12px,40px);margin-bottom:6px}
  .tier-for{font-size:clamp(15px,.4vw + 9.4px,18.5px);margin-bottom:14px}
  .tier-card ul{margin-bottom:18px}
  .tier-card li{font-size:clamp(15px,.4vw + 9.4px,18.5px);padding:9px 0 9px 18px}
  .tier-card li::before{top:20px;width:8px}
  .tier-foot{font-size:12.5px;margin-top:6px}
  .engagement-note>span{font-size:12.5px}
  .engagement-note p{font-size:clamp(14px,.35vw + 9px,17px)}
  .engagement-note .btn{font-size:13px;padding:12px 18px}

  /* close: the portrait leads, contact controls are real reading size */
  .partner-card{grid-template-columns:clamp(150px,11.5vw,230px) 1fr}
  .partner-kicker{font-size:12.5px}
  .partner-name{font-size:clamp(28px,1.8vw + 12px,44px)}
  .partner-role{font-size:13.5px}
  .partner-message{font-size:clamp(15px,.45vw + 9px,19px)}
  .partner-pill{font-size:13px;padding:9px 14px}
  .partner-signoff span{font-size:12.5px}
  .partner-signoff img{height:20px}
  .close-lead{font-size:clamp(16px,.5vw + 9.4px,20px)}
  .request-card .kicker{font-size:12.5px}
  .request-card>p{font-size:clamp(15px,.4vw + 9.4px,18.5px)}
  .suggestions button{font-size:13px;padding:11px 8px}
  .picker-col label{font-size:12.5px}
  .date-control input{font-size:15px;padding:10px 8px}
  .date-control button{width:38px}
  .picker-help{font-size:12px}
  .contact-cta{font-size:14px;padding:14px 14px}
  .request-note{font-size:12px}
  .close-note{font-size:12px}

  /* index overlay */
  .index-card small{font-size:12px}
  .index-card .ic-num{font-size:12px}
  .index-note{font-size:12px}
}

/* short laptop screens (1366x768 class): keep the type, trade spacing */
@media (max-height:820px) and (min-width:901px){
  .sys-tag{display:none}
  .system-list li{padding:11px 14px}
  .system-list p{margin-top:3px}
  .phase-card{padding:16px 20px}
  .phase-card ul{margin:10px 0 10px}
  .phase-card li{padding:5px 0}
  .tier-card{padding:16px 20px}
  .tier-card li{padding:6px 0 6px 16px}
  .tier-card li::before{top:15px}
  .tier-for{margin-bottom:9px}
  .tier-card ul{margin-bottom:10px}
  .f-tag{font-size:12px;margin-top:1px}
  .audit-summary{padding:4px 0}
  .partner-card{grid-template-columns:140px 1fr;gap:14px}
}

/* ---------- phones and tablets: no 5-9px copy anywhere the viewer must read ---------- */
@media (max-width:900px){
  .cover-collab{font-size:11px}
  .eyebrow{font-size:11.5px}
  .cover-facts{font-size:12px}
  .cover-byline{font-size:12px}
  .scene-caption{font-size:10.5px}
  .pf-cuisine{font-size:11px}
  .pf-city{font-size:9.5px}
  .head-meta{font-size:11.5px}
  .slide-foot{font-size:11.5px}
  .foot-page{font-size:11.5px}
  .btn{font-size:12.5px}
  .client-wordmark b{font-size:12px}
  .chrome-count,.nav-count{font-size:12px}
  .audit-tag{font-size:12px}
  .audit-phone figcaption{font-size:11px}
  .f-tag{font-size:11.5px}
  .sev{font-size:10px}
  .f-num{font-size:11.5px}
  .flow-label{font-size:11px}
  .flow-label .ico{width:13px;height:13px}
  .flow-step b{font-size:15px}
  .flow-step small{font-size:13px}
  .gap-stats span{font-size:11.5px}
  .search-kicker,.search-result small,.search-missing{font-size:11px}
  .search-result b{font-size:14.5px}
  .search-caption{font-size:10.5px}
  .concept-mobile-card p{font-size:15px}
  .concept-mobile-card .btn{font-size:12px}
  .fnote b{font-size:15px}
  .fnote p{font-size:13.5px}
  .chips span{font-size:10.5px}
  .live-badge{font-size:10.5px}
  .flagship-note{font-size:11px}
  .system-list h3{font-size:18px}
  .system-list p{font-size:15px}
  .system-photo figcaption{font-size:11px}
  .system-photo-tag{font-size:11px}
  .proof-points p{font-size:15px}
  .compare-head{font-size:10.5px}
  .compare-note{font-size:11px}
  .case-badge{font-size:11px}
  .compare-tag{font-size:10.5px}
  .phase-card p{font-size:14.5px}
  .phase-card li{font-size:14px}
  .phase-days{font-size:11px}
  .phase-owner{font-size:11px}
  .launch-chip{font-size:10.5px;position:static;display:inline-block;margin-top:8px}
  .supply-bar{font-size:11.5px}
  .tier-kicker,.tier-foot{font-size:11px}
  .tier-for{font-size:14.5px}
  .tier-card li{font-size:14px}
  .engagement-note>span{font-size:11px}
  .engagement-note p{font-size:13.5px}
  .partner-kicker{font-size:11px}
  .partner-message{font-size:14px}
  .partner-pill{font-size:12px;padding:8px 10px}
  .partner-role{font-size:12px}
  .partner-signoff span{font-size:11px}
  .close-lead{font-size:15px}
  .request-card>p{font-size:14.5px}
  .suggestions button{font-size:12px;padding:10px 7px}
  .picker-col label{font-size:11.5px}
  .date-control input{font-size:14px}
  .picker-help{font-size:11.5px}
  .contact-cta{font-size:13px}
  .request-note{font-size:11.5px}
  .close-note{font-size:11.5px}
  .index-card small,.index-card .ic-num,.index-note{font-size:11px}
  .toast{font-size:12px}
  /* the readable concept detail view (modal) on phones/tablets */
  body.concept-open .concept-browser .burl{font-size:10.5px}
  body.concept-open .concept-browser .btab{font-size:12px}
  body.concept-open .concept-browser .mini-brand b{font-size:10px}
  body.concept-open .concept-browser .mini-brand small{font-size:8px}
  body.concept-open .concept-browser .mini-links{font-size:11px}
  body.concept-open .concept-browser .mini-call{font-size:10px}
  body.concept-open .concept-browser .mini-over{font-size:10px}
  body.concept-open .concept-browser .mini-hero-copy p{font-size:14px}
  body.concept-open .concept-browser .mini-primary,body.concept-open .concept-browser .mini-ghost{font-size:11.5px;padding:10px 14px}
  body.concept-open .concept-browser .mini-chip{font-size:11.5px;padding:8px 12px}
  body.concept-open .concept-browser .mini-item b{font-size:14.5px}
  body.concept-open .concept-browser .mini-item small{font-size:11.5px}
  body.concept-open .concept-browser .mini-item>span{font-size:12px}
  body.concept-open .concept-browser .sheet-kicker{font-size:11px}
  body.concept-open .concept-browser .sheet-empty{font-size:12.5px}
  body.concept-open .concept-browser .sheet-row{font-size:12px}
  body.concept-open .concept-browser .sheet-clear{font-size:11px}
  body.concept-open .concept-browser .sheet-call{font-size:12px;padding:10px}
  body.concept-open .concept-browser .sheet-note{font-size:10.5px}
  body.concept-open .concept-browser .mini-foot{font-size:10.5px}
  body.concept-open .concept-browser .photo-tag{font-size:9px}
  body.concept-open .concept-browser .mini-bf-list span{font-size:12.5px}
  body.concept-open .concept-browser .mini-bf-list small{font-size:10.5px}
  body.concept-open .concept-browser .mini-bf-list i{font-size:11.5px}
  body.concept-open .concept-browser .mini-disclaimer{font-size:10px}
  body.concept-open .concept-browser .visit-card b{font-size:18px}
  body.concept-open .concept-browser .visit-card p{font-size:12.5px}
  body.concept-open .concept-browser .visit-hours span{font-size:10px}
  body.concept-open .concept-browser .visit-hours b{font-size:14px}
  body.concept-open .concept-browser .visit-hours small{font-size:11px}
  body.concept-open .concept-browser .visit-actions .mini-primary,body.concept-open .concept-browser .visit-actions .mini-ghost{font-size:11px}
  body.concept-open .concept-browser .visit-note{font-size:10px}
  body.concept-open .concept-browser .map-label{font-size:9px}
}

/* ---------- concept detail modal on desktop and laptop: the readable product view ---------- */
@media (min-width:901px){
  body.concept-open .concept-browser .burl{font-size:12.5px}
  body.concept-open .concept-browser .btab{font-size:13px;padding:9px 15px}
  body.concept-open .concept-browser .mini-brand b{font-size:11.5px}
  body.concept-open .concept-browser .mini-brand small{font-size:9px}
  body.concept-open .concept-browser .mini-links{font-size:12.5px}
  body.concept-open .concept-browser .mini-call{font-size:12px}
  body.concept-open .concept-browser .mini-over{font-size:11px}
  body.concept-open .concept-browser .mini-hero-copy p{font-size:16px}
  body.concept-open .concept-browser .mini-primary,body.concept-open .concept-browser .mini-ghost{font-size:12.5px;padding:10px 16px}
  body.concept-open .concept-browser .mini-chip{font-size:12.5px;padding:7px 13px}
  body.concept-open .concept-browser .mini-item b{font-size:16px}
  body.concept-open .concept-browser .mini-item small{font-size:12.5px}
  body.concept-open .concept-browser .mini-item>span{font-size:13.5px}
  body.concept-open .concept-browser .add-btn{width:30px;height:30px}
  body.concept-open .concept-browser .mini-item{grid-template-columns:1fr auto 34px}
  body.concept-open .concept-browser .mini-list{max-height:320px}
  body.concept-open .concept-browser .sheet-kicker{font-size:12px}
  body.concept-open .concept-browser .sheet-empty{font-size:14px}
  body.concept-open .concept-browser .sheet-row{font-size:13px;padding:5px 0}
  body.concept-open .concept-browser .sheet-clear{font-size:12px}
  body.concept-open .concept-browser .sheet-call{font-size:13px;padding:11px}
  body.concept-open .concept-browser .sheet-note{font-size:11.5px}
  body.concept-open .concept-browser .mini-foot{font-size:12px}
  body.concept-open .concept-browser .photo-tag{font-size:10.5px}
  body.concept-open .concept-browser .mini-breakfast-copy b{font-size:clamp(30px,3vw,46px)}
  body.concept-open .concept-browser .mini-bf-list span{font-size:15px}
  body.concept-open .concept-browser .mini-bf-list small{font-size:12px}
  body.concept-open .concept-browser .mini-bf-list i{font-size:13.5px}
  body.concept-open .concept-browser .mini-disclaimer{font-size:11.5px}
  body.concept-open .concept-browser .visit-card b{font-size:24px}
  body.concept-open .concept-browser .visit-card p{font-size:14.5px}
  body.concept-open .concept-browser .visit-hours span{font-size:11px}
  body.concept-open .concept-browser .visit-hours b{font-size:17px}
  body.concept-open .concept-browser .visit-hours small{font-size:12.5px}
  body.concept-open .concept-browser .visit-actions .mini-primary,body.concept-open .concept-browser .visit-actions .mini-ghost{font-size:12px;padding:10px 14px}
  body.concept-open .concept-browser .visit-note{font-size:11.5px}
  body.concept-open .concept-browser .map-label{font-size:10.5px}
}

/* ============================================================
   G5 WHOLE-COMPOSITION CENTERING (2026-11-02)
   Slides 07/08: one .stage holds the kicker, heading, lead, cards
   and notes; it centers as a single unit between the fixed global
   chrome and the slide footer. Auto margins collapse to zero for
   tall content, where reachable natural top flow is used.
   ============================================================ */
@media (min-width:901px){
  .slide .stage{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .theme-dark .slide .stage{scrollbar-color:rgba(230,193,122,.28) transparent}
  .theme-light .slide .stage{scrollbar-color:rgba(21,77,152,.28) transparent}
  .slide .stage>:first-child{margin-top:auto}
  .slide .stage>:last-child{margin-bottom:auto}
  /* cards take natural heights; the grid no longer stretches into the stage */
  .slide-roadmap .stage .phase-grid,
  .slide-engagement .stage .tier-grid{flex:0 0 auto;min-height:0;grid-auto-rows:auto}
}
