/* === BlockToBlock theme (merged + tightened) ============================== */
:root{
  /* Colors (match the app) */
  --bg:#ecf0f4; --surface:#ffffff; --ink:#12222e; --muted:#828f9d;
  --accent:#2a5a6c; --accent-2:#1f3f4c; --blueprint-grid:#9fb3c820;
  --warning:#f24d42;

  /* Spacing */
  --space-1:.25rem; --space-2:.5rem; --space-3:1rem; --space-4:1.5rem; --space-6:2rem;

  /* Radius / shadows / width */
  --radius-lg:16px; --radius-xl:22px;
  --shadow:0 6px 20px rgba(0,0,0,.06);
  --shadow-md: 0 5px 18px rgba(0,0,0,.12);
  --shadow-lg: 0 10px 30px rgba(0,0,0,.15);
  --max:1120px;
  --max-header:1400px;

  /* Link colors */
  --link:#1d4ed8; --link-hover:#0f2ba8; --link-active:#0b1f7a; --link-visited:#5b21b6;
  
/* Button + focus tokens (soft-block look) */
  --btn-bg:        var(--accent);
  --btn-fg:        #fff;
  --btn-outline:   color-mix(in srgb, var(--accent) 35%, transparent);
  --btn-focus:     color-mix(in srgb, var(--accent) 35%, transparent);
  --btn-ghost-fg:  var(--accent);
  --btn-highlight: color-mix(in srgb, #fff 45%, transparent); /* bevel hint */

  /* Block/brick surface tokens */
  --block-card-radius: 22px;           /* cards/tiles */
  --block-button-radius: 14px;         /* buttons */
  --block-shadow:        0 6px 20px rgba(0,0,0,.06);
  --block-shadow-hover:  0 10px 30px rgba(0,0,0,.12);
  --block-inset:         color-mix(in srgb, #fff 42%, transparent); /* light edge */
}

/* Dark theme */
:root[data-theme="dark"]{
  --bg:#0d1c2c; --surface:#1e1e1e; --ink:#e6ecf0; --muted:#9fb3c8;
  --accent:#7ea0ae; --accent-2:#2a5a6c; --blueprint-grid:#e6ecf033;
  --link:#93c5fd; --link-hover:#bfdbfe; --link-active:#e0f2fe; --link-visited:#c4b5fd;
 /* Button + focus (dark) */
  --btn-bg:        var(--accent);
  --btn-fg:        #fff;
  --btn-outline:   color-mix(in srgb, var(--accent) 55%, transparent);
  --btn-focus:     color-mix(in srgb, var(--accent) 55%, transparent);
  --btn-ghost-fg:  var(--accent);
  --btn-highlight: color-mix(in srgb, #fff 18%, transparent);

  /* Block/brick surfaces (dark) */
  --block-shadow:        0 5px 18px rgba(0,0,0,.28);
  --block-shadow-hover:  0 10px 30px rgba(0,0,0,.38);
  --block-inset:         color-mix(in srgb, #fff 12%, transparent);
}

/* Respect system pref by default; your toggle sets data-theme override */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0d1c2c; --surface:#1e1e1e; --ink:#e6ecf0; --muted:#9fb3c8;
    --accent:#7ea0ae; --accent-2:#2a5a6c; --blueprint-grid:#e6ecf033;
  }
}

/* Base -------------------------------------------------------------------- */
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--bg); color:var(--ink);
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;
  min-height:100dvh;
}
.skip-link{
  position:fixed; left:1rem; top:1rem; z-index:2000;
  transform:translateY(-180%); padding:.7rem 1rem;
  border-radius:10px; background:var(--ink); color:var(--bg); font-weight:800;
}
.skip-link:focus{transform:translateY(0)}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--space-3)}

/* Optional blueprint backdrop */
.bg-blueprint{
  background:
    repeating-linear-gradient(0deg, var(--blueprint-grid) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, var(--blueprint-grid) 0 1px, transparent 1px 24px),
    radial-gradient(1200px 1200px at 50% -300px, rgba(42,90,108,.12), transparent 70%),
    var(--bg);
}

/* Top bar strip (if you use it) */
.topbar{
  background: linear-gradient(180deg, var(--accent-2), color-mix(in srgb, var(--accent-2) 70%, transparent));
  color: var(--ink);
  padding: .9rem 0;
}

/* === Header =============================================================== */
.site-header{
  position: sticky; top: 0; z-index: 60;
  background:var(--surface);
  border-bottom:1px solid color-mix(in srgb,var(--ink) 12%, transparent);
}

/* Make the header span the full viewport width (with safe side gutters) */
.site-header .header-inner{
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto; /* brand | nav | actions */
  align-items: center;
  gap: var(--space-3);

  /* full width, no centering cap */
  max-width: none;
  width: 100%;                 /* use 100% to avoid 100vw scrollbar issues */
  margin: 0;

  /* gutters so content doesn’t touch edges */
  padding-left: clamp(12px, 2vw, 28px);
  padding-right: clamp(12px, 2vw, 28px);
  padding-top: .75rem;
  padding-bottom: .75rem;
}
.header-inner > *{ min-width:0; }

.brand{display:flex;gap:.5rem;align-items:center;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:.2px}
.brand .logo{height:28px;width:auto;display:block}
.brand span{color:var(--ink);}

/* Desktop: left-align nav; actions sit at far right */
.nav.desktop{
  display:flex;width:100%;justify-self:stretch;align-items:center;
  justify-content:flex-start;                 /* left aligned */
  gap:clamp(.6rem,1.2vw,1.25rem);
  white-space:nowrap;
  padding:0 .25rem;
}
.nav a{ color:var(--ink); text-decoration:none; padding:.5rem .55rem; opacity:.92; }
.nav a:hover{opacity:1;text-decoration:underline}
.nav a:visited{ color: var(--ink); }
.nav a[aria-current="page"]{opacity:1;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}

/* Header actions */
.header-actions{ display:flex; gap:.75rem; align-items:center; justify-self:end; flex-wrap:nowrap; }

/* Keep store badges tidy on desktop */
.site-header .header-actions a{ display:inline-flex; align-items:center; line-height:0; }
.site-header .header-actions .store-badge{ height:28px; width:auto; display:block; }

/* Theme toggle / hamburger buttons */
/* .icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:12px;
  background:transparent; border:1px solid color-mix(in srgb,var(--ink) 20%, transparent);
  color:var(--ink); cursor:pointer;
} */
 .icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:12px;
  background:transparent; border:1px solid color-mix(in srgb,var(--ink) 20%, transparent);
  color:var(--ink); cursor:pointer;
}

.icon-btn:hover{ background:color-mix(in srgb, var(--accent) 10%, transparent) }
.icon-btn:focus{ outline:2px solid color-mix(in srgb,var(--accent) 50%, transparent); outline-offset:2px }

.hamburger{
  display:none; align-items:center; justify-content:center;
  width:44px;height:44px;border-radius:12px;background:transparent;
  border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);
  color:var(--accent);
}

/* Header: mobile behavior */
@media (max-width:900px){
  .nav.desktop{display:none}
  .header-actions picture{ display:none; }  /* hide store badges in header on phones */
  .header-actions{ gap:.5rem; }
  .hamburger{display:inline-flex}
}

/* === Drawer (mobile) ===================================================== */
.scrim{
  position:fixed; inset:0; background:rgba(0,0,0,.35);
  opacity:0; pointer-events:none; transition:opacity .2s ease; z-index:70;
}
.mobile-drawer{
  position:fixed; top:0; right:0; height:100dvh; width:min(86vw,340px);
  background:var(--surface); color:var(--ink); box-shadow:var(--shadow-lg); z-index:80;
  transform:translateX(100%); transition:transform .2s ease;
  padding:1rem; display:flex; flex-direction:column; gap:.25rem;
  border-left:1px solid rgba(0,0,0,.06);
}
.mobile-drawer a{
  padding:.65rem .55rem; border-radius:10px; border:none; background:transparent;
}
.mobile-drawer a:hover{ background:color-mix(in srgb, var(--accent) 8%, transparent) }
.mobile-drawer a[aria-current="page"]{background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:800}
.mobile-drawer .drawer-cta{margin-top:auto;color:var(--btn-fg)}

/* Hidden state is controlled by JS via [hidden] */
#scrim[hidden], #mobile-drawer[hidden]{ display:none; }

/* Open state */
body[data-nav-open="true"] .scrim{opacity:1; pointer-events:auto}
body[data-nav-open="true"] .mobile-drawer{transform:translateX(0)}
body[data-nav-open="true"] { overflow: hidden; } /* lock background scroll */

/* === Hero ================================================================ */
.hero{padding:var(--space-6) 0}
.h-title{font-size:clamp(1.6rem,2.4vw,2.25rem);line-height:1.2;margin:.5rem 0}
.h-sub{color:var(--muted);margin:.25rem 0 1rem;max-width:65ch}
.hero .store-badges{ justify-content:center; }

/* === Grid ================================================================ */
.grid{display:grid;gap:var(--space-3)}
.grid.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
@media (max-width:560px){
  .grid.grid-2,.grid.grid-3{grid-template-columns:1fr}
}

/* === Cards / tiles ======================================================= */
.card{
  background:var(--surface);
  border:1px solid #e5e7eb;
  border-radius:var(--block-card-radius);
  padding:var(--space-3) var(--space-4);
  box-shadow: var(--block-shadow), inset 0 1px 0 var(--block-inset);
  transition: box-shadow .16s ease, transform .14s ease;
}
.card.tile{ /* tiles lift a touch on hover */
  display:flex; flex-direction:column; gap:.35rem; align-items:flex-start;
  padding:var(--space-3) var(--space-3); min-height:140px;
}
.card.tile:hover{ box-shadow: var(--block-shadow-hover); transform: translateY(-2px); }
.card.tile:active{ transform: translateY(-1px); }

/* .card{
  background:var(--surface);
  border:1px solid #e5e7eb;
  border-radius:var(--radius-xl);
  padding:var(--space-3) var(--space-4);
  box-shadow:var(--shadow);
}
.card h3{margin:.25rem 0 .25rem;font-size:1.05rem}
.card p{margin:.25rem 0 .5rem}

.card.tile{
  display:flex; flex-direction:column; gap:.35rem; align-items:flex-start;
  padding:var(--space-3) var(--space-3); min-height:140px;
} */

/* Icon circle */
.icon-circle{
  width:40px;height:40px;border-radius:12px; display:grid;place-items:center;
  background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent);
}

/* Buttons */
/* .btn{display:inline-flex;align-items:center;gap:.5rem;
  padding:.8rem 1.2rem;border-radius:999px;border:1px solid transparent;
  background:var(--accent); color:white; font-weight:600;
}
.btn.secondary{background:transparent;border-color:color-mix(in srgb, var(--accent) 35%, transparent); color:var(--accent)}
.btn.warning{background:var(--warning)}
.btn + .btn{margin-left:.6rem} */

/* Buttons */
/* .btn{
  --_bg: var(--btn-bg);
  --_fg: var(--btn-fg);

  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:44px; padding:.85rem 1.25rem;
  border-radius:999px; border:1px solid transparent;
  background:var(--_bg); color:var(--_fg); font-weight:700;
  text-decoration:none; line-height:1;
} */
/* Final .btn (merge of both) */
.btn{
  /* existing tokens for color */
  --_bg: var(--btn-bg);
  --_fg: var(--btn-fg);

  /* keep sizing & layout from your current rule */
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:44px; padding:.85rem 1.25rem;

  /* switch to block-like shape + depth */
  border-radius: var(--block-button-radius);
  border:1px solid transparent;
  background:var(--_bg); color:var(--_fg); font-weight:700;
  text-decoration:none; line-height:1;

  /* added “soft block” effect */
  box-shadow: var(--block-shadow), inset 0 1px 0 var(--btn-highlight);
  transition: box-shadow .16s ease, transform .12s ease, filter .12s ease;
}

.btn:hover{ filter:brightness(.985); box-shadow: var(--block-shadow-hover), inset 0 1px 0 var(--btn-highlight); }
.btn:active{ transform: translateY(1px); box-shadow: var(--block-shadow), inset 0 1px 0 var(--btn-highlight); }
.btn:focus-visible{
  outline:3px solid var(--btn-focus); outline-offset:2px;
}

/* Secondary (outlined) */
.btn.secondary{
  --_bg: transparent; --_fg: var(--btn-ghost-fg);
  background:transparent; color:var(--_fg);
  border-color: var(--btn-outline);
}
.btn.secondary:hover{
  background: color-mix(in srgb, var(--accent) 9%, transparent);
}

/* Tertiary (ghost) */
.btn.tertiary{
  --_bg: transparent; --_fg: var(--btn-ghost-fg);
  background:transparent; color:var(--_fg);
  border-color: transparent;
}
.btn.tertiary:hover{
  background: color-mix(in srgb, var(--accent) 6%, transparent);
}

/* Disabled (future-proofing) */
.btn[disabled], .btn[aria-disabled="true"]{
  opacity:.55; pointer-events:none;
}



/* Store badges */
.store-badges{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.store-badge{height:48px;width:auto;display:block}
@media (max-width:560px){ .store-badge{height:42px} }

/* Images / helpers */
img.responsive{display:block;max-width:100%;height:auto;border-radius:16px;box-shadow:var(--shadow-lg)}
.spacer{height:var(--space-2)}
.kicker{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Links */
a { color: var(--link); text-decoration: underline; text-underline-offset: 2px; }
a:hover { color: var(--link-hover); }
a:active { color: var(--link-active); }
a:visited { color: var(--link-visited); }
.prose a { text-decoration-thickness: 1.5px; }


/* Ensure anchor buttons keep their intended text color (white for primary) */
a.btn,
a.btn:link,
a.btn:visited,
a.btn:hover,
a.btn:active {
  color: var(--_fg);
  text-decoration: none;
}
/* Brick pattern: stagger every other block on wider screens */
.brick-grid > * { transition: transform .16s ease; }
@media (min-width: 900px){
  .brick-grid > *:nth-child(odd){ transform: translateY(8px); }
}
/* Subtle material texture for large hero cards (opt-in) */
.surface-texture::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.04), transparent 35%),
    radial-gradient(circle at 80% 30%, rgba(0,0,0,.035), transparent 40%);
  mix-blend-mode: soft-light; opacity:.7;
}


/* Support form layout */
.form-card{ max-width: 920px; margin: 0 auto; }
.form-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; }
@media (max-width: 720px){ .form-grid{ grid-template-columns: 1fr; } }
.field{ display:flex; flex-direction:column; gap:.35rem; }
.field.full{ grid-column: 1 / -1; }
label{ font-weight:600; color: var(--ink); opacity:.9; }

/* Input tokens (light/dark) */
:root{ --field-bg:#ffffff; --field-border: rgba(0,0,0,.15); --field-bg-muted: color-mix(in srgb, var(--accent) 4%, transparent); }
:root[data-theme="dark"]{ --field-bg:#151515; --field-border: rgba(255,255,255,.18); --field-bg-muted: color-mix(in srgb, var(--accent) 14%, transparent); }

input[type="text"], input[type="email"], input[type="number"], select, textarea{
  width:100%; background: var(--field-bg); color: var(--ink);
  border:1px solid var(--field-border); border-radius: var(--radius-lg);
  padding:.75rem .9rem; outline:none; box-shadow: inset 0 1px 0 rgba(0,0,0,.02);
}
textarea{ resize: vertical; min-height: 8rem; }
input:focus, select:focus, textarea:focus{
  border-color: color-mix(in srgb, var(--accent) 45%, var(--field-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}

/* Actions row */
.actions { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.actions.full { grid-column: 1 / -1; }


/* Helper text */
.muted{ color: var(--muted); font-size:.95rem; }

/* Anchor offset for in-page links */
.section[id], .hero[id], .card[id] { scroll-margin-top: 90px; }

/* === Footer ============================================================= */
.site-footer{margin:var(--space-6) 0 var(--space-3);text-align:center;color:#6b7280}
.site-footer .brandline{
  display:flex; flex-wrap:wrap; gap:.5rem .75rem; align-items:center; justify-content:center; font-size:.95rem;
}
.site-footer .brandline .logo { height: 18px; width: auto; }
.site-footer a { text-decoration: underline; }

/* === Mobile breathing room & alignments ================================ */
/* Stronger side gutters on phones */
/* .container { width: min(100% - 2rem, var(--max)); margin-inline: auto; } */
@media (max-width:480px){
  .container { width: min(100% - 2.5rem, var(--max)); }
  .card.tile { padding: 1rem 1.1rem; }
}

/* Center “Exit / Get the App” CTA rows where used */
.cta-center { display:flex; justify-content:center; }

/* Prefer parent gap over sibling margins for wrapping rows */

.btn-row, .actions{ display:flex; gap:.6rem; flex-wrap:wrap; }
@media (max-width:480px){
  .card .actions, .cta-center, .btn-row { display:flex; justify-content:center; }
}
/* .btn-row { display:flex; gap:.6rem; flex-wrap:wrap; } */

/* Optional: center CTA rows inside tiles on small screens */
/* @media (max-width:480px){
  .card .actions, .cta-center, .btn-row { display:flex; justify-content:center; }
  .card .btn { margin-inline:.25rem; }
} */

/* Tiny phones: a little more gutter */
@media (max-width:420px){
  .container { width: min(100% - 2.75rem, var(--max)); }
}

/* Guard rails (optional):
@media (max-width: 560px){
  .page > .hero,
  .page > .section,
  .page > .grid,
  .page > .card {
    padding-inline: 1rem;
  }
}
*/

/* Vertical rhythm: space between successive siblings */
.flow > * + * {
  margin-top: clamp(20px, 2.2vw, 36px);
}

/* Optional: a hair more space between large blocks on wide screens */
@media (min-width: 1200px){
  .flow > * + * { margin-top: clamp(24px, 2.4vw, 44px); }
}

/* If a page uses .flow inside .container, ensure first child has no extra gap */
.flow > :first-child { margin-top: 0; }


/* === Site-wide blueprint background ===================================== */
/* Image URL comes from base.html: --blueprint-img */
:root{
  --site-bg-opacity: .28;       /* light mode */
}
:root[data-theme="dark"]{
  --site-bg-opacity: .20;       /* a bit dimmer in dark for contrast */
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --site-bg-opacity: .20; }
}

/* Keep normal color as fallback */
body.has-blueprint-bg { background-color: var(--bg); position: relative; }

/* Render the image on a fixed layer behind everything */
body.has-blueprint-bg::before{
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;                  /* sits behind page content */
  pointer-events: none;

  background-image: var(--blueprint-img);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;

  opacity: var(--site-bg-opacity);
}

/* Make sure real content sits above the background layer */
header, main, footer, .site-header { position: relative; z-index: 1; }


/* Success page tweaks */
.success-hero{
  text-align:center;
  padding: min(10vh, 6rem) 0 14vh;   /* comfy spacing vs header/footer */
}
.success-hero .icon-circle{
  width:56px; height:56px; margin:0 auto var(--space-2);
  font-size:1.35rem;
}


/* Home hero */
.hero-home{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  align-items:center;
  gap: clamp(1rem, 4vw, 3rem);
  padding-block: clamp(2rem, 6vw, 6rem);
}
.hero-media{ display:flex; justify-content:center; }
.device-frame{
  width: min(360px, 45vw);
  aspect-ratio: 9 / 19.5;
  border-radius: 36px;
  background: #000;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  overflow: hidden;
  border: 8px solid color-mix(in srgb, var(--ink) 6%, transparent);
}
.device-video{ width:100%; height:100%; object-fit:cover; display:block; }

/* “See it in action” strip */
.devices-strip{ padding-block: clamp(1.5rem, 5vw, 3rem); }
.devices-row{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: clamp(.75rem, 2vw, 1.25rem);
  margin-top: .75rem;
}
.device-shot{
  display:block;
  width:100%;
  aspect-ratio: 9 / 19.5;
  object-fit: cover;
  background:#000;
  border-radius: 30px;
  border:8px solid color-mix(in srgb, var(--ink) 6%, transparent);
  box-shadow: var(--shadow-lg);
}

/* Mobile layout */
@media (max-width: 900px){
  .hero-home{ grid-template-columns: 1fr; text-align:center; }
  .hero-media{ order:-1; margin-bottom: .75rem; }
}


/* === Announcement banner ================================================== */
:root{
  --announce-bg: color-mix(in srgb, var(--accent) 9%, var(--surface));
  --announce-ink: var(--ink);
  --announce-border: color-mix(in srgb, var(--ink) 12%, transparent);
}
:root[data-theme="dark"]{
  --announce-bg: color-mix(in srgb, var(--accent) 18%, var(--surface));
  --announce-ink: var(--ink);
  --announce-border: color-mix(in srgb, var(--ink) 20%, transparent);
}

.announce{
  background: var(--announce-bg);
  color: var(--announce-ink);
  border-bottom: 1px solid var(--announce-border);
  position: relative;
}
.announce-inner{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem 1rem;
  padding: .6rem var(--space-3);
  flex-wrap: wrap;
  text-align: center;
}
.announce-text,
.announce-offer{
  margin: 0;
  font-size: .95rem;
}
.announce-footnote{
  font-size: .85em;
  opacity: .8;
  margin-left: .35rem;
}
.announce-ctas{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.announce-close{
  position: absolute;
  right: clamp(8px, 1.2vw, 14px);
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  width: 32px; height: 32px;
  line-height: 1;
  font-size: 1.1rem;
  color: inherit;
  cursor: pointer;
}
.announce-close:hover{
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}

@media (max-width: 560px){
  .announce-inner{ align-items: flex-start; }
  .announce-close{ top: 10px; transform: none; }
  .announce-footnote{ display: block; margin: .25rem 0 0 0; }
}

/* @media (max-width: 400px){
  .announce-ctas .btn.secondary { display: none; }
} */
/* On small screens, make banner CTAs full-width and stacked */
@media (max-width: 420px){
  .announce-ctas { width:100%; }
  .announce-ctas .btn{ flex:1 1 100%; }
}

.cookie-banner{
  position:sticky; top:0; z-index:1000;
  background: var(--surface); color: var(--ink);
  border-bottom:1px solid rgba(0,0,0,.08);
  box-shadow: 0 4px 18px rgba(0,0,0,.08);
}
:root[data-theme="dark"] .cookie-banner{
  border-bottom-color: rgba(255,255,255,.12);
}
.cookie-inner{
  max-width: var(--max-header, 1200px);
  margin: 0 auto; padding: .75rem 1rem;
  display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap;
}
.cookie-actions{ display:flex; gap:.5rem; }

/* === 2026 product-led marketing refresh ================================ */
.eyebrow{
  margin:0 0 .55rem; color:var(--accent); font-size:.78rem; line-height:1.3;
  font-weight:850; letter-spacing:.13em; text-transform:uppercase;
}
.section{padding-block:clamp(2.5rem,7vw,5.5rem)}
.section-heading{max-width:720px;margin-bottom:clamp(1.25rem,3vw,2rem)}
.section-heading h2,.audience-section h2,.final-cta h2,.team-cta h2{
  margin:.15rem 0 .65rem; font-size:clamp(1.55rem,3vw,2.45rem); line-height:1.15;
}

.home-page .hero-home{min-height:min(760px,82vh)}
.home-page .hero-copy{max-width:680px}
.home-page .h-title{font-size:clamp(2rem,4.6vw,4rem);letter-spacing:-.035em}
.hero-lede{font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65}
.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.35rem 0 1rem}
.trust-list{
  display:flex;flex-wrap:wrap;gap:.45rem 1.2rem;list-style:none;margin:0 0 1.25rem;padding:0;
  color:var(--ink);font-size:.94rem;
}
.trust-list li::before{content:"✓";margin-right:.4rem;color:var(--accent);font-weight:900}
.home-page .store-badge{height:40px}
.home-page .device-frame{width:min(330px,42vw)}

.outcome-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  margin:0 0 clamp(1rem,3vw,2rem);overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);
  border-radius:var(--radius-xl);background:color-mix(in srgb,var(--ink) 12%,transparent);
  box-shadow:var(--block-shadow);
}
.outcome-strip article{display:flex;flex-direction:column;gap:.2rem;padding:1.2rem;background:var(--surface)}
.outcome-strip strong{font-size:1.02rem}
.outcome-strip span{color:var(--muted);font-size:.9rem;line-height:1.45}

.workflow-section{scroll-margin-top:96px}
.workflow-list{counter-reset:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;list-style:none;margin:0;padding:0}
.workflow-list li{display:flex;gap:.8rem;padding:1.2rem;border-top:3px solid var(--accent);background:color-mix(in srgb,var(--surface) 90%,transparent);border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.workflow-list li>span{display:grid;place-items:center;flex:0 0 2rem;height:2rem;border-radius:50%;background:var(--accent);color:white;font-weight:900}
.workflow-list strong{display:block;margin:.1rem 0 .25rem}
.workflow-list p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}

.proof-grid{align-items:stretch}
.proof-card{min-height:210px}
.proof-card h3{margin:.9rem 0 .35rem}
.proof-card p{margin:0;color:var(--muted)}
.devices-row figure{margin:0;text-align:center}
.devices-row figcaption{margin-top:.75rem;font-weight:750}
.audience-section,.team-cta{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding-inline:clamp(1.2rem,4vw,3rem);border-radius:var(--radius-xl);
  background:color-mix(in srgb,var(--accent) 10%,var(--surface));
  border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);
}
.audience-section>div:first-child{max-width:720px}
.final-cta{text-align:center;max-width:760px;margin-inline:auto}
.final-cta p:not(.eyebrow){color:var(--muted)}

/* Teams page */
.team-hero{max-width:850px;padding-block:clamp(3rem,8vw,7rem)}
.team-hero .h-title{font-size:clamp(2rem,4.5vw,3.8rem);letter-spacing:-.035em}
.scope-note{
  display:flex;justify-content:space-between;align-items:center;gap:2rem;
  padding:1.15rem 1.3rem;border-radius:var(--radius-lg);
  border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);
  background:color-mix(in srgb,var(--accent) 10%,var(--surface));
}
.scope-note p{margin:.2rem 0 0;color:var(--muted)}
.scope-note a{flex:0 0 auto;font-weight:750}
.team-grid{align-items:stretch}
.team-grid .card{min-height:230px}
.status-chip{display:inline-flex;padding:.22rem .55rem;border-radius:999px;font-size:.75rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.status-chip.available{background:color-mix(in srgb,#159447 18%,transparent);color:color-mix(in srgb,#159447 72%,var(--ink))}
.roadmap-panel{padding-inline:clamp(1.2rem,4vw,3rem);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--block-shadow)}
.roadmap-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.roadmap-steps article{display:flex;gap:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-lg)}
.roadmap-steps article>span{display:grid;place-items:center;flex:0 0 2.2rem;height:2.2rem;border-radius:12px;background:var(--accent);color:white;font-weight:900}
.roadmap-steps h3{margin:0 0 .2rem}.roadmap-steps p{margin:0;color:var(--muted)}
.team-cta{margin-block:clamp(2.5rem,7vw,5rem)}
.team-cta p{margin:.2rem 0;color:var(--muted)}

/* Compact, dismissible chrome. Product content remains visible on mobile. */
.cookie-banner{
  position:fixed;left:50%;right:auto;bottom:.75rem;top:auto;z-index:1000;transform:translateX(-50%);
  width:min(880px,calc(100vw - 1.5rem));border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
}
.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .75rem .65rem 1rem}
.cookie-inner p{flex:1;margin:0;font-size:.84rem;line-height:1.4}
.cookie-actions{justify-content:flex-end;flex:0 0 auto}
.cookie-actions .btn{min-height:40px;padding:.65rem .95rem}
.announce-inner{min-height:48px;padding:.35rem 3rem .35rem 1rem;flex-wrap:nowrap}
.announce-text{font-size:.9rem}
.announce-ctas{align-items:center;flex-wrap:nowrap}
.announce-ctas .btn{min-height:36px;padding:.55rem .8rem;font-size:.84rem}
.announce-link{font-size:.86rem;font-weight:750;white-space:nowrap}

@media (max-width:900px){
  .home-page .hero-home{min-height:auto;text-align:left}
  .home-page .hero-media{order:0;margin:1rem 0 0}
  .home-page .hero-copy{max-width:none}
  .home-page .device-frame{width:min(310px,76vw)}
  .outcome-strip{grid-template-columns:repeat(2,1fr)}
  .workflow-list{grid-template-columns:repeat(2,1fr)}
  .audience-section,.team-cta{align-items:flex-start;flex-direction:column}
}
@media (max-width:620px){
  .section{padding-block:2.8rem}
  .home-page .h-title,.team-hero .h-title{font-size:clamp(2rem,10vw,2.8rem)}
  .hero-actions,.hero-actions .btn{width:100%}
  .trust-list{display:grid;gap:.4rem}
  .outcome-strip,.workflow-list,.roadmap-steps{grid-template-columns:1fr}
  .outcome-strip{gap:0}
  .scope-note{align-items:flex-start;flex-direction:column;gap:.75rem}
  .announce-inner{justify-content:flex-start;gap:.55rem;text-align:left;overflow:hidden}
  .announce-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .announce-link{display:none}
  .announce-ctas{margin-left:auto}
  .announce-ctas .btn{white-space:nowrap}
  .announce-close{right:4px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* How it works ------------------------------------------------------------ */
.guide-page{overflow:hidden}.guide-hero{max-width:820px;padding-bottom:1.5rem}.guide-hero .h-title{max-width:760px}
.guide-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--ink) 12%,transparent)}
.guide-proof>div{display:grid;gap:.15rem;padding:1.1rem 1.25rem;background:var(--surface)}.guide-proof strong{font-size:1.05rem}.guide-proof span{color:var(--muted);font-size:.9rem}
.guide-chooser,.guide-library{scroll-margin-top:8rem}.section-heading{max-width:760px;margin-bottom:1.25rem}.section-heading h2{margin:.15rem 0 .4rem;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.15}
.guide-tabs{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem .1rem .8rem;scrollbar-width:thin}
.guide-tab,.guide-filter{appearance:none;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;font-weight:750;white-space:nowrap;padding:.65rem 1rem}
.guide-tab:hover,.guide-filter:hover{border-color:var(--accent);transform:translateY(-1px)}.guide-tab:focus-visible,.guide-filter:focus-visible{outline:3px solid var(--btn-focus);outline-offset:2px}.guide-tab.is-active,.guide-filter.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.guide-panel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.25rem,4vw,3.5rem);margin-top:.5rem;padding:clamp(1.25rem,4vw,2.5rem);border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent) 9%,var(--surface)));border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);box-shadow:var(--shadow)}
.guide-panel[hidden]{display:none}.guide-panel-copy h3{font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.15;margin:.35rem 0 .75rem}.guide-panel-copy .btn{margin-top:.4rem}
.journey-steps{display:grid;gap:.65rem;list-style:none;padding:0;margin:0}.journey-steps li{display:flex;gap:.85rem;align-items:flex-start;padding:.85rem;border-radius:14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.journey-steps li>span{display:grid;place-items:center;flex:0 0 2rem;height:2rem;border-radius:10px;background:var(--accent);color:#fff;font-weight:900}.journey-steps strong{display:block}.journey-steps p{margin:.1rem 0 0;color:var(--muted);font-size:.93rem;line-height:1.45}
.guide-tool-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.guide-tool{display:grid;gap:.3rem;min-height:150px;padding:1rem;border-radius:18px;background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}
.guide-tool:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow-md)}.guide-tool>span{font-size:1.65rem}.guide-tool small{color:var(--muted);line-height:1.4}
.guide-library-heading{display:grid;grid-template-columns:1fr minmax(270px,.65fr);gap:1.5rem;max-width:none;align-items:end}.guide-search{display:grid;gap:.35rem;font-weight:750}.guide-search input{width:100%;min-height:48px;padding:.75rem .9rem;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.guide-search input:focus{outline:3px solid var(--btn-focus);border-color:var(--accent)}
.guide-filter-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.guide-browse{margin-left:auto;border-style:dashed}.guide-results{min-height:1.5rem;margin:.5rem 0;color:var(--muted);font-size:.92rem}.guide-accordion-list{display:grid;gap:.65rem}.guide-accordion{border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:16px;background:var(--surface);overflow:hidden}.guide-accordion[hidden]{display:none}
.guide-accordion summary{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem 1.15rem;cursor:pointer;list-style:none}.guide-accordion summary::-webkit-details-marker{display:none}.guide-accordion summary:hover{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.guide-accordion summary strong,.guide-accordion summary small{display:block}.guide-accordion summary small{margin-top:.15rem;color:var(--muted);font-weight:400;line-height:1.4}
.guide-kind{align-self:start;padding:.25rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.guide-plus{font-size:1.5rem;font-weight:400;transition:transform .18s ease}.guide-accordion[open] .guide-plus{transform:rotate(45deg)}
.guide-accordion-body{padding:0 1.15rem 1.25rem 7.8rem}.guide-accordion-body h3{margin:1rem 0 .35rem;font-size:1rem}.guide-accordion-body li+li{margin-top:.3rem}.guide-tip{margin-top:1rem;padding:.8rem 1rem;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-radius:0 10px 10px 0}.guide-tip ul{margin:.35rem 0 0}.guide-empty{padding:1rem;border:1px dashed color-mix(in srgb,var(--ink) 25%,transparent);border-radius:14px;text-align:center}
.guide-next{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:clamp(1.25rem,4vw,2.25rem);border-radius:var(--radius-xl);background:var(--accent-2);color:#fff}.guide-next h2{margin:.2rem 0}.guide-next p{margin:.25rem 0;color:color-mix(in srgb,#fff 78%,transparent)}.guide-next .eyebrow{color:#fff}.guide-next .btn.secondary{background:transparent;border-color:color-mix(in srgb,#fff 55%,transparent);color:#fff}
@media (max-width:900px){.guide-tool-grid{grid-template-columns:repeat(2,1fr)}.guide-library-heading{grid-template-columns:1fr}}
@media (max-width:700px){.guide-proof{grid-template-columns:1fr}.guide-panel{grid-template-columns:1fr;padding:1rem}.guide-tabs{margin-right:-1rem;padding-right:1rem}.guide-accordion summary{grid-template-columns:1fr auto;gap:.55rem}.guide-kind{grid-column:1/-1;width:max-content}.guide-accordion-body{padding:0 1rem 1rem}.guide-next{align-items:flex-start;flex-direction:column}}
@media (max-width:430px){.guide-tool-grid{grid-template-columns:1fr}.guide-tool{min-height:0}}

/* Blueprint v2: the drawing system carries product meaning ---------------- */
.blueprint-stage{position:relative;isolation:isolate;min-height:640px;align-items:center}
.plan-outline{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:color-mix(in srgb,var(--accent) 30%,transparent);stroke-width:2;stroke-dasharray:0;z-index:-1;overflow:visible}
.plan-outline .dimension-line,.cad-blueprint .dimension-line{stroke-width:1;stroke-dasharray:7 6}
.blueprint-device{position:relative;z-index:2;box-shadow:0 24px 60px rgba(9,30,42,.28),0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}
.plan-measure,.plan-note{position:absolute;z-index:3;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);color:var(--accent);font-size:.7rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.plan-measure{padding:.32rem .55rem;border-radius:7px}.measure-top{top:2%;left:50%;transform:translateX(-50%)}.measure-side{left:-1rem;top:48%;transform:rotate(-90deg)}
.plan-note{padding:.55rem .65rem;line-height:1.25}.note-price{right:-.5rem;top:20%}.note-offline{left:.5rem;bottom:21%}
.drawing-title-block{display:grid;grid-template-columns:auto 1fr;position:absolute;right:-1rem;bottom:0;width:230px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:var(--shadow);font-size:.64rem;letter-spacing:.04em}
.drawing-title-block>*{padding:.3rem .45rem;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.drawing-title-block span{color:var(--muted)}.drawing-title-block strong{color:var(--ink)}

.estimate-lab{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,3rem);align-items:start;padding-inline:clamp(1rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:var(--shadow)}
.lab-copy h2{font-size:clamp(1.7rem,3.3vw,2.7rem);line-height:1.12;margin:.25rem 0 .75rem}.lab-toolbar{display:grid;gap:.65rem;margin-top:1.2rem}.lab-unit-toggle,.lab-presets{display:flex;gap:.4rem;flex-wrap:wrap}.lab-unit-toggle button,.lab-presets button{appearance:none;border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);border-radius:999px;background:var(--surface);color:var(--ink);padding:.45rem .7rem;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.lab-unit-toggle button:hover,.lab-presets button:hover{border-color:var(--accent);transform:translateY(-1px)}.lab-unit-toggle button:focus-visible,.lab-presets button:focus-visible{outline:3px solid var(--btn-focus);outline-offset:2px}.lab-unit-toggle button.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.lab-controls{display:grid;gap:.75rem;margin-top:1rem}.lab-control-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;padding:.75rem;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 74%,transparent)}.lab-control-group legend{padding:0 .35rem;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lab-control-group:not(:first-child){grid-template-columns:repeat(2,minmax(0,1fr))}.lab-control-group:not(:first-child) .lab-control:first-of-type{grid-column:1/-1}.lab-control-group.price-group{grid-template-columns:1fr}.lab-control{display:grid;grid-template-columns:1fr auto;gap:.3rem;align-items:center;min-width:0}.lab-control label{font-size:.76rem;font-weight:800}.lab-direct{display:flex;align-items:center;gap:.3rem;min-width:0}.lab-direct input{width:5.3rem;min-height:34px;padding:.25rem .4rem;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:.82rem;font-variant-numeric:tabular-nums}.lab-direct small{max-width:4.6rem;color:var(--muted);font-size:.67rem;white-space:nowrap}.lab-control>input[type="range"]{grid-column:1/-1;width:100%;margin:0;accent-color:var(--accent)}
.lab-drawing{position:sticky;top:8rem;padding:clamp(2.8rem,7vw,5rem) clamp(2rem,6vw,4rem) 1.2rem;background:linear-gradient(var(--blueprint-grid) 1px,transparent 1px),linear-gradient(90deg,var(--blueprint-grid) 1px,transparent 1px),color-mix(in srgb,var(--accent-2) 94%,#0d2737);background-size:22px 22px;border-radius:18px;color:#fff;overflow:hidden}
.lab-wall{position:relative;width:var(--wall-width,78%);height:var(--wall-height,180px);margin:auto;border:8px double #d9eef6;background:repeating-linear-gradient(45deg,transparent 0 12px,rgba(255,255,255,.06) 12px 14px);transition:width .18s ease,height .18s ease}.lab-openings-layer{position:absolute;left:4%;right:4%;display:flex;justify-content:space-around;gap:3%;pointer-events:none}.lab-doors-layer{bottom:-8px;align-items:flex-end;height:92%}.lab-windows-layer{top:18%;align-items:flex-start;height:45%}.lab-opening{display:block;flex:0 1 var(--opening-width,18%);width:var(--opening-width,18%);max-width:28%;height:var(--opening-height,50%);background:color-mix(in srgb,var(--accent-2) 94%,#0d2737);border:4px solid #d9eef6;transition:width .18s ease,height .18s ease,opacity .18s ease,transform .18s ease}.lab-door{align-self:flex-end;border-bottom:0}.lab-window{align-self:flex-start}.opening-callout{position:absolute;left:50%;bottom:-2.2rem;transform:translateX(-50%);white-space:nowrap;padding:.12rem .4rem;background:var(--accent-2);color:#d9eef6;font-size:.68rem;font-weight:750;letter-spacing:.03em}
.dimension{position:absolute;color:#d9eef6;font-size:.72rem;letter-spacing:.04em}.dimension i{display:block;border-color:#d9eef6}.dimension b{position:absolute;white-space:nowrap;background:var(--accent-2);padding:0 .3rem}.dimension.horizontal{left:0;right:0;top:-38px}.dimension.horizontal i{border-top:1px solid}.dimension.horizontal b{left:50%;top:-.7rem;transform:translateX(-50%)}.dimension.vertical{top:0;bottom:0;right:-42px}.dimension.vertical i{height:100%;border-left:1px solid}.dimension.vertical b{top:50%;left:-1rem;transform:rotate(90deg) translateY(-50%);transform-origin:center}
.lab-results{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3.2rem;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.25)}.lab-results div{display:grid;gap:.15rem;padding:.75rem;background:rgba(7,28,40,.82)}.lab-results span{font-size:.7rem;color:#b8d0da}.lab-results strong{font-size:1.12rem;font-variant-numeric:tabular-nums}.lab-disclaimer{margin:.75rem 0 0;color:#b8d0da;font-size:.72rem;line-height:1.45}
.local-context{position:relative;display:grid;grid-template-columns:.55fr 1.45fr;gap:clamp(1.5rem,5vw,4rem);align-items:center}.local-context h2{font-size:clamp(1.7rem,3.3vw,2.7rem);line-height:1.12;margin:.25rem 0 .75rem}.local-context-plan{display:grid;grid-template-columns:repeat(2,1fr);aspect-ratio:1;border:2px solid var(--accent);background:color-mix(in srgb,var(--surface) 80%,transparent)}.local-context-plan span{display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);font-size:1.5rem;font-weight:900}.local-context-plan span:nth-child(2),.local-context-plan span:nth-child(3){background:repeating-linear-gradient(45deg,transparent 0 12px,color-mix(in srgb,var(--accent) 9%,transparent) 12px 14px)}

.product-stack{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;perspective:900px;margin-bottom:clamp(2rem,5vw,4rem)}.stack-layer{position:relative;display:grid;gap:.25rem;min-height:145px;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow);transform:translateY(calc(var(--stack-index,0) * 4px))}.stack-layer:nth-child(2){--stack-index:1}.stack-layer:nth-child(3){--stack-index:2}.stack-layer:nth-child(4){--stack-index:3}.stack-layer span{font-size:.7rem;color:var(--accent);font-weight:900}.stack-layer strong{font-size:1.1rem}.stack-layer small{color:var(--muted);line-height:1.45}.stack-layer::after{content:"";position:absolute;left:1rem;right:1rem;bottom:.7rem;border-bottom:1px dashed color-mix(in srgb,var(--accent) 28%,transparent)}
.product-page #exports{scroll-margin-top:8rem}.cad-direction{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}.cad-blueprint{position:relative;padding:2rem;border-radius:18px;background:linear-gradient(var(--blueprint-grid) 1px,transparent 1px),linear-gradient(90deg,var(--blueprint-grid) 1px,transparent 1px),var(--accent-2);background-size:20px 20px}.cad-blueprint svg{display:block;width:100%;fill:none;stroke:#b8d7e3;stroke-width:2}.cad-file{display:inline-flex;margin:.7rem .3rem 0 0;padding:.28rem .55rem;border:1px solid #b8d7e3;color:#fff;font-size:.72rem;font-weight:850;letter-spacing:.08em}.cad-copy h2{font-size:clamp(1.7rem,3.3vw,2.7rem);line-height:1.12;margin:.25rem 0 .75rem}.cad-phases{display:grid;gap:.6rem;list-style:none;padding:0;margin:1.25rem 0}.cad-phases li{display:grid;grid-template-columns:4rem 1fr;gap:.8rem;padding:.75rem;border-left:2px solid var(--accent);background:color-mix(in srgb,var(--surface) 82%,transparent)}.cad-phases li>span{color:var(--accent);font-size:.73rem;font-weight:900;text-transform:uppercase}.cad-phases p{margin:.1rem 0;color:var(--muted)}.cad-principle{padding:.8rem 1rem;border:1px dashed var(--accent);border-radius:10px}
.cad-review-demo{grid-column:1/-1;padding:clamp(1rem,3vw,1.8rem);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:var(--shadow)}.cad-review-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.cad-review-heading h3{margin:.2rem 0;font-size:clamp(1.25rem,2.4vw,1.8rem)}.text-button{appearance:none;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--accent);font:inherit;font-weight:800;cursor:pointer;padding:.25rem 0}.cad-review-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:1.25rem 0;background:color-mix(in srgb,var(--ink) 15%,transparent);border:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}.cad-review-flow span{padding:.65rem;background:var(--surface);color:var(--muted);font-size:.75rem;font-weight:800;text-align:center}.cad-review-flow span.is-complete{background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent)}.cad-review-workspace{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.cad-review-drawing{display:grid;place-items:center;min-height:260px;padding:1rem;background:linear-gradient(var(--blueprint-grid) 1px,transparent 1px),linear-gradient(90deg,var(--blueprint-grid) 1px,transparent 1px),var(--accent-2);background-size:20px 20px;border-radius:14px}.cad-review-drawing svg{width:100%;fill:none;stroke:#b8d7e3;stroke-width:2}.cad-review-drawing text{fill:#b8d7e3;stroke:none;font-size:14px}.cad-review-drawing .cad-candidate{stroke:#f3c65d;stroke-width:8;stroke-dasharray:12 8;opacity:.55;transition:opacity .18s ease,stroke .18s ease}.cad-review-drawing .cad-candidate.is-selected{opacity:1;stroke:#f3c65d}.cad-review-drawing .cad-candidate.is-accepted{opacity:1;stroke:#62d49b;stroke-dasharray:none}.cad-review-drawing .cad-candidate.is-rejected{opacity:.55;stroke:#ef767a}.cad-review-panel{display:flex;flex-direction:column;gap:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:14px;background:var(--surface)}.cad-review-status{min-height:3.5rem;margin:0}.cad-review-actions{display:flex;gap:.5rem;flex-wrap:wrap}.cad-review-actions .btn{min-height:42px;padding:.65rem .8rem}.cad-review-actions .btn:disabled{cursor:not-allowed;opacity:.45}.cad-boq-draft{display:grid;gap:.25rem;margin-top:auto;padding:.85rem;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.cad-boq-draft span{color:var(--accent);font-size:.7rem;font-weight:900;text-transform:uppercase}.cad-boq-draft small{color:var(--muted)}.cad-demo-disclaimer{margin:.8rem 0 0;color:var(--muted);font-size:.78rem}

.team-system{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(1.5rem,5vw,4rem);align-items:center;padding-block:clamp(3rem,7vw,5rem)}.team-system-copy h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.12;margin:.25rem 0 .75rem}.team-system-diagram{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding-bottom:7rem}.site-device,.future-hub{display:grid;gap:.2rem;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--surface);box-shadow:var(--shadow);text-align:center}.site-device span,.future-hub span{font-size:.7rem;color:var(--accent);font-weight:900;text-transform:uppercase}.site-device small,.future-hub small{color:var(--muted)}.site-device::after{content:"";position:absolute;width:1px;height:3rem;margin-top:5.7rem;background:repeating-linear-gradient(to bottom,var(--accent) 0 4px,transparent 4px 8px)}.future-hub{position:absolute;left:18%;right:18%;bottom:0;border-style:dashed;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.pilot-planner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,4vw,3rem);align-items:start;padding:clamp(1.25rem,4vw,2.5rem);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent) 8%,var(--surface)));box-shadow:var(--shadow)}.pilot-copy h2{margin:.2rem 0 .6rem;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.15}.pilot-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.25rem}.pilot-field{display:grid;gap:.35rem}.pilot-field:first-child{grid-column:1/-1}.pilot-field input,.pilot-field select{min-height:46px}.pilot-check{grid-column:1/-1;display:flex;gap:.65rem;align-items:flex-start;padding:.7rem;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:12px;background:var(--surface)}.pilot-check input{width:1.15rem;height:1.15rem;margin-top:.12rem;accent-color:var(--accent)}.pilot-output{padding:clamp(1rem,3vw,1.5rem);border-radius:16px;background:var(--accent-2);color:#fff}.pilot-output h3{font-size:1.45rem;margin:.25rem 0}.pilot-output ol{display:grid;gap:.65rem;padding-left:1.3rem}.pilot-output li{padding-left:.25rem;line-height:1.45}.pilot-note{color:#b8d0da;font-size:.78rem}.pilot-output .btn{margin-top:.5rem}

.about-hero{max-width:850px}.revision-story{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(1.5rem,5vw,4rem);align-items:start;margin-bottom:clamp(2rem,6vw,5rem);padding:clamp(1.2rem,4vw,2.5rem);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent)}.story-title-block{position:static;width:100%;align-self:start}.revision-story h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:.2rem 0 1.2rem}.revision-line{list-style:none;padding:0;margin:0}.revision-line li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;position:relative;padding:0 0 1.5rem}.revision-line li:not(:last-child)::before{content:"";position:absolute;left:1.45rem;top:2.1rem;bottom:.2rem;border-left:1px dashed var(--accent)}.revision-line li>span{display:grid;place-items:center;z-index:1;width:3rem;height:2rem;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-size:.7rem;font-weight:900;text-transform:uppercase}.revision-line p{margin:.1rem 0;color:var(--muted)}
.support-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.5rem,5vw,4rem);align-items:center}.support-plan{display:grid;gap:1px;padding:1px;background:color-mix(in srgb,var(--accent) 35%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:var(--shadow)}.support-plan div{display:grid;grid-template-columns:2.4rem 1fr;gap:.1rem .7rem;padding:.8rem;background:var(--surface)}.support-plan span{grid-row:1/3;display:grid;place-items:center;color:var(--accent);font-weight:900;border-right:1px dashed color-mix(in srgb,var(--accent) 45%,transparent)}.support-plan small{color:var(--muted)}
.plan-outline path,.cad-blueprint svg path{stroke-dasharray:1600;stroke-dashoffset:1600;transition:stroke-dashoffset 1.25s cubic-bezier(.2,.75,.3,1)}.plan-outline.is-drafted path,.cad-blueprint svg.is-drafted path{stroke-dashoffset:0}.local-context-plan{opacity:.35;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.local-context-plan.is-drafted{opacity:1;transform:none}

@media (max-width:900px){.blueprint-stage{min-height:560px}.estimate-lab,.cad-direction,.team-system,.pilot-planner,.revision-story,.support-hero{grid-template-columns:1fr}.lab-drawing{position:relative;top:auto}.product-stack{grid-template-columns:repeat(2,1fr)}.local-context{grid-template-columns:.75fr 1.25fr}.drawing-title-block{right:0}.cad-review-workspace{grid-template-columns:1fr}}
@media (max-width:620px){.blueprint-stage{min-height:540px}.plan-outline{inset:1rem}.plan-note{font-size:.58rem}.note-price{right:0}.measure-side{left:-2.2rem}.estimate-lab{padding-inline:1rem}.lab-drawing{padding:4rem 2.4rem 1rem}.lab-wall{height:var(--wall-height,130px);max-height:180px}.lab-results{grid-template-columns:1fr}.local-context{grid-template-columns:1fr}.local-context-plan{max-width:240px}.product-stack{grid-template-columns:1fr}.cad-blueprint{padding:1rem}.team-system-diagram{grid-template-columns:1fr;padding-bottom:8rem}.site-device::after{display:none}.future-hub{left:8%;right:8%}}
@media (max-width:620px){.cookie-inner{align-items:flex-start;gap:.55rem;padding:.6rem}.cookie-inner p{font-size:.76rem}.cookie-explainer{display:none}.cookie-actions{gap:.35rem}.cookie-actions .btn{min-height:36px;padding:.5rem .7rem;font-size:.76rem}.lab-control-group,.lab-control-group:not(:first-child){grid-template-columns:1fr}.lab-direct input{width:6rem}}
@media (max-width:620px){.guide-browse{margin-left:0}.pilot-form{grid-template-columns:1fr}.pilot-field:first-child{grid-column:auto}.cad-review-heading{display:grid}.cad-review-flow{grid-template-columns:1fr 1fr}.cad-review-drawing{min-height:210px}.cad-review-actions{display:grid}.cad-review-actions .btn{width:100%}}

/* Market platform pages --------------------------------------------------- */
.compact-hero{max-width:950px;padding-bottom:clamp(2rem,5vw,4rem)}.compact-hero .h-title{max-width:920px}.kicker{margin:0;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:stretch}.price-card{display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.2rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.price-card.featured{border:2px solid var(--accent);transform:translateY(-.6rem);box-shadow:var(--shadow-md)}.price-card h2{margin:0;font-size:1.45rem}.price-value{margin:.15rem 0;font-size:clamp(1.4rem,3vw,2rem);font-weight:900}.price-card ul{display:grid;gap:.55rem;margin:.25rem 0 1rem;padding-left:1.2rem;color:var(--muted)}.price-card .btn{margin-top:auto}.faq-panel{max-width:900px;margin-inline:auto}.faq-panel details{margin:.7rem 0;border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);border-radius:14px;background:var(--surface)}.faq-panel summary{padding:1rem;font-weight:850;cursor:pointer}.faq-panel details p{padding:0 1rem 1rem;margin:0;color:var(--muted)}

.calculator-workbench{display:grid;grid-template-columns:260px 1fr;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-md)}.calculator-sidebar{padding:1.25rem;background:var(--accent-2);color:#fff}.calculator-sidebar .kicker{color:#b8d7e3}.calculator-tabs{display:grid;gap:.5rem;margin:1rem 0}.calculator-tabs button{appearance:none;width:100%;padding:.8rem;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:transparent;color:#fff;font:inherit;font-weight:800;text-align:left;cursor:pointer}.calculator-tabs button:hover,.calculator-tabs button.is-active{background:#fff;color:var(--accent-2)}.calculator-privacy{font-size:.75rem;color:#b8d7e3}.calculator-main{padding:clamp(1.2rem,4vw,2.5rem)}.calculator-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.calculator-heading h2{margin:.2rem 0;font-size:clamp(1.6rem,3vw,2.3rem)}.calculator-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.2rem 0}.calculator-field{display:grid;gap:.35rem;padding:.8rem;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:12px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));font-size:.82rem}.calculator-input{display:flex;align-items:center;gap:.5rem}.calculator-input input{min-width:0;width:100%;font-size:1.05rem;font-weight:800}.calculator-input small{color:var(--muted);white-space:nowrap}.calculator-output{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);background:color-mix(in srgb,var(--accent) 28%,transparent)}.calculator-output>div{display:grid;gap:.25rem;padding:1rem;background:var(--accent-2);color:#fff}.calculator-output span{color:#b8d7e3;font-size:.72rem}.calculator-output strong{font-size:1.25rem}.calculator-assumptions{margin:1rem 0;padding:1rem;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.calculator-assumptions ul{margin:.5rem 0 0;padding-left:1.2rem}.calculator-actions{display:flex;gap:.6rem;flex-wrap:wrap}.calculator-disclaimer{color:var(--muted);font-size:.75rem}.solution-links .card{display:grid;gap:.35rem;color:var(--ink);text-decoration:none}.solution-links .card:hover{border-color:var(--accent);transform:translateY(-2px)}.solution-links .card span{color:var(--muted)}

.estimate-preview-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:clamp(1rem,4vw,3rem);align-items:start}.estimate-preview-controls{display:grid;gap:.75rem;position:sticky;top:7rem;padding:1rem;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.estimate-preview-controls label{display:grid;gap:.3rem;font-size:.8rem}.estimate-preview-controls input,.estimate-preview-controls select{min-height:42px;padding:.55rem .65rem;border-radius:9px}.estimate-document{padding:clamp(1.2rem,4vw,2.5rem);border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:#fff;color:#14222c;box-shadow:0 18px 50px rgba(8,31,44,.18)}.estimate-document>header{display:flex;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:3px solid #143f54}.estimate-brand{margin:0;color:#143f54;font-size:1.25rem;font-weight:950;letter-spacing:.08em}.estimate-number{display:grid;text-align:right}.estimate-number span,.estimate-parties span{color:#58707d;font-size:.65rem;font-weight:850;text-transform:uppercase}.estimate-parties{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0;padding:.8rem;background:#edf3f5}.estimate-parties>div{display:grid;gap:.2rem}.estimate-document table{width:100%;border-collapse:collapse;font-size:.84rem}.estimate-document th,.estimate-document td{padding:.7rem .5rem;border-bottom:1px solid #d6e0e5;text-align:left}.estimate-document th:last-child,.estimate-document td:last-child{text-align:right;white-space:nowrap}.estimate-document thead{background:#143f54;color:#fff}.estimate-document tfoot{font-size:1rem;background:#edf3f5}.estimate-notes{margin-top:1rem;padding:1rem;border:1px solid #d6e0e5}.estimate-notes ul{margin:.5rem 0 0;padding-left:1.2rem;font-size:.78rem}.estimate-document>footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:.8rem;border-top:1px solid #8fa4ae;font-size:.7rem}.estimate-preview-cta{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-top:2rem;padding:clamp(1.2rem,4vw,2rem);border-radius:18px;background:var(--accent-2);color:#fff}.estimate-preview-cta h2{margin:.2rem 0}.estimate-preview-cta p{max-width:700px;color:#c3d9e2}

.solution-index{display:grid;gap:1rem}.solution-card{display:grid;grid-template-columns:80px 1fr;gap:1rem;padding:clamp(1rem,3vw,1.6rem);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:18px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}.solution-card:hover{border-color:var(--accent);transform:translateX(4px)}.solution-card>span{display:grid;place-items:center;align-self:stretch;border-right:1px dashed var(--accent);color:var(--accent);font-size:1.2rem;font-weight:950}.solution-card h2{margin:.15rem 0;font-size:clamp(1.3rem,2.5vw,1.8rem)}.solution-card p{margin:.35rem 0;color:var(--muted)}.solution-journey{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,5vw,4rem);align-items:start;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);background:color-mix(in srgb,var(--surface) 90%,transparent)}.solution-journey h2{font-size:clamp(1.6rem,3vw,2.4rem)}.solution-journey ol{display:grid;gap:.7rem;list-style:none;padding:0;margin:0}.solution-journey li{display:grid;grid-template-columns:2.3rem 1fr;gap:.7rem;padding:.8rem;background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.solution-journey li>span{display:grid;place-items:center;width:2rem;height:2rem;background:var(--accent);color:#fff;font-weight:900}.solution-journey li p{margin:.15rem 0;color:var(--muted);font-size:.85rem}.proof-boundary{display:grid;grid-template-columns:.75fr 1fr auto;gap:1.5rem;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}.proof-boundary h2{margin:.2rem 0}.proof-boundary p{color:var(--muted)}

.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.method-grid article{padding:1.2rem;border-top:3px solid var(--accent);background:var(--surface);box-shadow:var(--shadow)}.method-grid article>span{color:var(--accent);font-size:.7rem;font-weight:900}.method-grid h2{font-size:1.2rem}.method-grid p{color:var(--muted)}.methodology-links{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.story-grid article{padding:1.25rem;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.story-grid h2{font-size:1.35rem}.story-grid dl{display:grid;gap:.8rem}.story-grid dl div{padding-top:.7rem;border-top:1px dashed color-mix(in srgb,var(--ink) 20%,transparent)}.story-grid dt{font-size:.72rem;font-weight:900;text-transform:uppercase;color:var(--accent)}.story-grid dd{margin:.25rem 0;color:var(--muted)}.research-invite{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.2rem,4vw,2rem);border-radius:18px;background:var(--accent-2);color:#fff}.research-invite h2{margin:.2rem 0}.research-invite p{color:#c3d9e2}
.roadmap-board{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}.roadmap-column{padding:1.2rem;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);background:var(--surface);box-shadow:var(--shadow)}.roadmap-column.next{border:2px solid var(--accent)}.roadmap-column h2{font-size:1.35rem}.roadmap-column ul{display:grid;gap:.65rem;padding-left:1.2rem;color:var(--muted)}.status-chip.future{background:color-mix(in srgb,var(--ink) 8%,var(--surface));color:var(--muted)}
.task-gateway-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.task-gateway-grid a{display:grid;gap:.35rem;min-height:145px;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:16px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}.task-gateway-grid a:hover{border-color:var(--accent);transform:translateY(-3px)}.task-gateway-grid span{color:var(--accent);font-size:.7rem;font-weight:900}.task-gateway-grid strong{font-size:1.05rem}.task-gateway-grid small{color:var(--muted);line-height:1.4}.home-estimate-outcome{display:grid;grid-template-columns:1fr .9fr;gap:clamp(1.5rem,5vw,4rem);align-items:center;padding:clamp(1.2rem,4vw,2.5rem);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.outcome-document-copy h2{font-size:clamp(1.65rem,3vw,2.4rem)}.outcome-document-copy li+li{margin-top:.35rem}.outcome-document-mini{display:grid;padding:1.2rem;background:#fff;color:#14222c;box-shadow:0 18px 45px rgba(8,31,44,.2);transform:rotate(1deg)}.outcome-document-mini header,.outcome-document-mini>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem;border-bottom:1px solid #d6e0e5}.outcome-document-mini header{border-bottom:3px solid #143f54;color:#143f54}.outcome-document-mini>div span{color:#58707d;font-size:.8rem}.outcome-document-mini .total{background:#edf3f5;font-size:1.05rem}.outcome-document-mini footer{padding:.8rem 0 0;color:#58707d;font-size:.7rem}.trust-system{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,5vw,4rem);align-items:start;border-top:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}.trust-system h2{font-size:clamp(1.6rem,3vw,2.35rem)}.trust-system-links{display:grid;gap:.7rem}.trust-system-links a{display:grid;gap:.2rem;padding:1rem;border-left:3px solid var(--accent);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}.trust-system-links a:hover{transform:translateX(4px)}.trust-system-links span{color:var(--muted);font-size:.85rem}
.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.market-card{display:grid;gap:.55rem;padding:1.25rem;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:18px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}.market-card:hover{border-color:var(--accent);transform:translateY(-3px)}.market-card h2{margin:.1rem 0;font-size:1.35rem}.market-card p{color:var(--muted)}.market-workflow{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.2rem,4vw,2.5rem);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);background:var(--surface)}.market-workflow h2{font-size:clamp(1.6rem,3vw,2.35rem)}.market-workflow ul{display:grid;gap:.7rem;list-style:none;padding:0}.market-workflow li{display:flex;gap:.7rem;padding:.85rem;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.market-workflow li span{color:var(--accent);font-weight:900}.update-line{display:grid;gap:0}.update-line article{display:grid;grid-template-columns:160px 1fr;gap:1.5rem;position:relative;padding:0 0 2rem}.update-line article:not(:last-child)::before{content:"";position:absolute;left:78px;top:2rem;bottom:0;border-left:1px dashed var(--accent)}.update-line time{position:relative;z-index:1;align-self:start;padding:.55rem;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-size:.75rem;font-weight:900;text-align:center}.update-line article>div{padding:1.1rem;border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);background:var(--surface);box-shadow:var(--shadow)}.update-line h2{font-size:1.4rem}.update-line p,.update-line li{color:var(--muted)}
.calculator-tabs>span{grid-column:1/-1;margin-top:.45rem;color:#b8d7e3;font-size:.62rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.calculator-tabs button{padding:.72rem .8rem}.calculator-currency{display:grid;gap:.35rem;margin-top:1rem;color:#fff;font-size:.74rem}.calculator-currency select{min-height:42px;border-color:rgba(255,255,255,.35);background:#fff;color:#14222c}.embedded-simulator{border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}

@media (max-width:900px){.pricing-grid,.method-grid,.story-grid,.roadmap-board,.market-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.calculator-workbench,.estimate-preview-layout,.solution-journey,.home-estimate-outcome,.trust-system,.market-workflow{grid-template-columns:1fr}.calculator-sidebar{display:grid;grid-template-columns:1fr auto;gap:1rem}.calculator-tabs{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.estimate-preview-controls{position:static}.proof-boundary{grid-template-columns:1fr}.estimate-preview-cta,.research-invite{align-items:flex-start;flex-direction:column}.task-gateway-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.calculator-sidebar{grid-template-columns:1fr}.calculator-tabs{grid-template-columns:1fr}.calculator-fields,.calculator-output{grid-template-columns:1fr}.estimate-parties{grid-template-columns:1fr}.estimate-document{padding:1rem;overflow-x:auto}.estimate-document table{min-width:580px}.estimate-document>header,.estimate-document>footer{display:grid}.estimate-number{text-align:left}.solution-card{grid-template-columns:48px 1fr}.solution-card>span{font-size:.9rem}.method-grid,.task-gateway-grid{grid-template-columns:1fr}.outcome-document-mini{transform:none}}
@media (max-width:620px){.update-line article{grid-template-columns:1fr}.update-line article::before{display:none}}

/* Offline workspace, hand-off and review tools -------------------------- */
.calculator-currency,.calculator-profile{display:grid;gap:.35rem;margin-top:1rem;color:#fff;font-size:.74rem}.calculator-currency select,.calculator-profile select{min-height:42px;border-color:rgba(255,255,255,.35);background:#fff;color:#14222c}.pwa-control{display:grid;gap:.45rem;margin-top:1rem;padding:.7rem;border:1px solid rgba(255,255,255,.24);border-radius:10px;font-size:.72rem}.pwa-control button{border:0;border-bottom:1px solid currentColor;background:transparent;color:#fff;font:inherit;font-weight:850;text-align:left;cursor:pointer}
.calculator-projectbar{display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,.8fr);gap:.65rem;align-items:end;margin:1rem 0}.calculator-projectbar>label{display:grid;gap:.3rem;font-size:.75rem;font-weight:800}.calculator-projectbar input{min-height:42px}.calculator-saved{position:relative}.calculator-saved>summary{min-height:42px;padding:.65rem .8rem;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:9px;cursor:pointer;font-size:.8rem;font-weight:850}.calculator-saved[open]>div{position:relative;z-index:2}.saved-project{display:grid;gap:.35rem;margin-top:.5rem;padding:.7rem;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:10px;background:var(--surface)}.saved-project small{color:var(--muted)}.saved-revisions{display:flex;gap:.35rem;flex-wrap:wrap}.saved-revisions button,.calculator-backup-actions button,.calculator-backup-actions label{padding:.4rem .55rem;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:.7rem;font-weight:750;cursor:pointer}.calculator-backup-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}.calculator-backup-actions input{position:absolute;width:1px;height:1px;opacity:0}.calculator-handoff{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:center;margin-top:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.calculator-handoff img{width:120px;height:120px;background:#fff}.calculator-handoff p{margin:.3rem 0;color:var(--muted);font-size:.8rem}
.spec-grid,.research-protocol{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.spec-grid article,.research-protocol article{padding:1.2rem;border-top:3px solid var(--accent);background:var(--surface);box-shadow:var(--shadow)}.spec-grid article>span,.research-protocol article>span{color:var(--accent);font-size:.72rem;font-weight:900}.spec-grid h2,.research-protocol h2{font-size:1.2rem}.spec-grid p,.research-protocol p{color:var(--muted)}.code-sample{margin-top:1.5rem;padding:1.2rem;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);background:var(--accent-2);color:#fff;overflow:auto}.code-sample .kicker{color:#b8d7e3}.code-sample pre{margin:1rem 0 0;white-space:pre-wrap}.scope-note{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1.5rem 0;padding:1rem;border-left:4px solid var(--accent);background:var(--surface);box-shadow:var(--shadow)}.scope-note p{margin:.3rem 0;color:var(--muted)}
.variance-workbench{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:1rem;padding:clamp(1rem,3vw,1.8rem);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-md)}.variance-controls{display:grid;grid-template-columns:1fr 150px;gap:.8rem;align-content:start}.variance-controls>label{display:grid;gap:.3rem;font-size:.76rem;font-weight:800}.variance-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;padding:1px;background:color-mix(in srgb,var(--ink) 13%,transparent)}.variance-grid>*{min-width:0;padding:.65rem;border:0;background:var(--surface)}.variance-grid strong{background:var(--accent-2);color:#fff;font-size:.78rem}.variance-controls>.btn{grid-column:1/-1;justify-self:start}.variance-output{padding:1.2rem;border-radius:15px;background:var(--accent-2);color:#fff}.variance-output h2{margin:.25rem 0 1rem}.variance-totals{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.2)}.variance-totals>div{display:grid;gap:.2rem;padding:.8rem;background:rgba(5,28,40,.7)}.variance-totals span{color:#b8d7e3;font-size:.7rem}.variance-output li,.variance-lesson{color:#d5e5eb}.download-recommendation{margin-top:1rem;padding:.8rem 1rem;border-left:4px solid var(--accent);background:var(--surface)}.store-link.is-recommended{outline:3px solid var(--accent);outline-offset:6px;border-radius:4px}.pwa-download-card{border-style:dashed}
@media print{body>*:not(main){display:none!important}main,.page,.estimate-preview-layout{display:block!important;margin:0!important;padding:0!important;max-width:none!important}.estimate-preview-layout>*:not(.estimate-document){display:none!important}.estimate-document{box-shadow:none!important;border:0!important;padding:10mm!important;overflow:visible!important}.estimate-document table{min-width:0!important}@page{size:A4;margin:8mm}}
@media (max-width:900px){.calculator-projectbar{grid-template-columns:1fr}.spec-grid,.research-protocol,.variance-workbench{grid-template-columns:1fr}}
@media (max-width:620px){.calculator-handoff{grid-template-columns:1fr}.calculator-handoff img{width:150px;height:150px}.spec-grid,.research-protocol{grid-template-columns:1fr}.scope-note{align-items:flex-start;flex-direction:column}.variance-controls{grid-template-columns:1fr}.variance-grid{grid-template-columns:minmax(80px,1fr) minmax(72px,1fr) minmax(72px,1fr)}.variance-totals{grid-template-columns:1fr}}
.variance-grid input,.variance-controls input,.variance-controls select{background:#fff;color:#14222c}
@media (max-width:420px){.announce-text{display:none}.announce-inner{justify-content:center;padding-left:3rem}.announce-ctas{margin-left:0}}
/* Optional zero-knowledge web account */
.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:1rem;align-items:start}.account-card{padding:clamp(1.2rem,3vw,2rem);background:var(--surface);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);box-shadow:0 18px 45px rgba(8,31,43,.08)}.account-form{display:grid;gap:.65rem}.account-form p{display:grid;gap:.3rem;margin:0}.account-form input{width:100%}.account-form .helptext,.account-form li{color:var(--muted);font-size:.72rem}.account-form ul{margin:.2rem 0 .5rem;padding-left:1.2rem}.account-card .hero-actions form{margin:0}@media(max-width:720px){.account-grid{grid-template-columns:1fr}}
