:root {
  --paper: #F5F3ED;
  --paper-bright: #FBFAF7;
  --white: #FFFFFF;
  --warm: #E9DCD6;
  --wheat: #D9C08D;
  --taupe: #857A7A;
  --coral: #E76F51;
  --coral-dark: #CC5A40;
  --wine: #431C1C;
  --wine-dark: #281010;
  --ink: #211B1B;
  --muted: #6F6666;
  --line: rgba(67, 28, 28, .11);
  --line-strong: rgba(67, 28, 28, .19);
  --line-dark: rgba(67, 28, 28, .27);
  --success: #2F8A57;
  --shadow-sm: 0 1px 2px rgba(43, 25, 25, .04), 0 7px 22px rgba(43, 25, 25, .05);
  --shadow-md: 0 1px 2px rgba(43, 25, 25, .05), 0 18px 44px rgba(43, 25, 25, .08);
  --shadow-lg: 0 2px 4px rgba(43, 25, 25, .04), 0 34px 90px rgba(43, 25, 25, .12);
  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  --shell: 1200px;
  --pad: clamp(20px, 4vw, 48px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body {
  margin: 0;
  overflow-x: clip;
  color: var(--ink);
  background: var(--paper-bright);
  font-family: "Satoshi", Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
img, svg, video { display: block; max-width: 100%; }
::selection { color: var(--white); background: var(--wine); }

.section-shell { width: min(var(--shell), calc(100% - (var(--pad) * 2))); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; transform: translateY(-150%); padding: 10px 14px; color: var(--white); background: var(--wine); border-radius: var(--radius-sm); }
.skip-link:focus { transform: translateY(0); }

/* Header */
.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  height: 70px;
  background: rgba(251, 250, 247, .86);
  border-bottom: 1px solid transparent;
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.site-header.is-scrolled { background: rgba(251, 250, 247, .96); border-color: var(--line); box-shadow: 0 8px 30px rgba(43, 25, 25, .035); }
.nav-shell {
  width: min(1280px, calc(100% - (var(--pad) * 2)));
  height: 70px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  margin-inline: auto;
}
.wordmark { display: inline-flex; align-items: center; gap: 9px; width: max-content; font-size: 15px; font-weight: 700; letter-spacing: -.035em; }
.wordmark i { color: var(--coral); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.brand-mark { width: 27px; height: 27px; fill: none; stroke: var(--wine); stroke-width: 1.5; }
.desktop-nav { height: 100%; display: flex; align-items: center; gap: 4px; }
.nav-group { position: relative; height: 100%; display: flex; align-items: center; }
.nav-trigger, .nav-link {
  height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 10px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: color .16s ease, background .16s ease;
}
.nav-trigger:hover, .nav-trigger[aria-expanded="true"], .nav-link:hover { color: var(--wine); background: rgba(67, 28, 28, .045); }
.nav-trigger svg { width: 12px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform .18s ease; }
.nav-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.nav-actions { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.nav-contact { color: var(--muted); font-size: 13px; font-weight: 500; transition: color .16s ease; }
.nav-contact:hover { color: var(--wine); }
.menu-toggle { display: none; }
.mobile-nav { display: none; }

.mega-menu {
  position: absolute;
  top: calc(100% - 2px);
  left: 50%;
  width: 780px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 235px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  box-shadow: var(--shadow-lg);
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
  pointer-events: none;
}
.nav-group.is-open .mega-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); pointer-events: auto; }
.mega-menu-resources { width: 700px; }
.mega-main { padding: 24px; }
.mega-label { margin: 0 0 14px; color: var(--taupe); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.mega-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.mega-card { display: grid; grid-template-columns: 38px 1fr; gap: 11px; padding: 11px; border-radius: 9px; transition: background .15s ease; }
.mega-card:hover { background: var(--paper); }
.menu-icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--wine); background: var(--paper); border: 1px solid var(--line); border-radius: 9px; }
.menu-icon svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.mega-card b, .mega-card small { display: block; }
.mega-card b { margin: 1px 0 3px; color: var(--wine); font-size: 13px; font-weight: 600; letter-spacing: -.015em; }
.mega-card small { color: var(--taupe); font-size: 11px; line-height: 1.4; }
.mega-aside { display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; color: var(--white); background: var(--wine); }
.mega-aside-wheat { color: var(--wine); background: var(--wheat); }
.mega-aside-warm { color: var(--wine); background: var(--warm); }
.aside-kicker { margin-bottom: auto; color: inherit; opacity: .65; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.mega-aside b { margin: 36px 0 8px; font-size: 17px; line-height: 1.15; letter-spacing: -.03em; }
.mega-aside p { margin: 0 0 18px; color: inherit; opacity: .72; font-size: 11px; line-height: 1.5; }
.mega-aside a { display: flex; align-items: center; justify-content: space-between; padding-top: 14px; border-top: 1px solid currentColor; font-size: 11px; font-weight: 600; }
.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.solution-grid a { min-height: 150px; display: flex; flex-direction: column; padding: 15px; background: var(--paper-bright); border: 1px solid var(--line); border-radius: 10px; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.solution-grid a:hover { transform: translateY(-2px); border-color: var(--line-dark); box-shadow: var(--shadow-sm); }
.solution-grid span { color: var(--coral); font-size: 10px; font-weight: 700; }
.solution-grid b { margin: auto 0 6px; color: var(--wine); font-size: 18px; letter-spacing: -.03em; }
.solution-grid small { color: var(--taupe); font-size: 11px; line-height: 1.4; }
.resource-list { padding: 14px; }
.resource-list > a { display: grid; grid-template-columns: 30px 1fr 20px; align-items: center; gap: 10px; padding: 14px 12px; border-radius: 9px; transition: background .15s ease; }
.resource-list > a:hover { background: var(--paper); }
.resource-number { width: 28px; height: 28px; display: grid; place-items: center; color: var(--wine); background: var(--white); border: 1px solid var(--line); border-radius: 7px; font-size: 9px; font-weight: 700; }
.resource-list b, .resource-list small { display: block; }
.resource-list b { color: var(--wine); font-size: 13px; font-weight: 600; }
.resource-list small { margin-top: 2px; color: var(--taupe); font-size: 11px; }
.resource-list i { color: var(--coral); font-style: normal; }

.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 18px; border: 1px solid transparent; border-radius: var(--radius-sm); font-size: 13px; font-weight: 600; line-height: 1; transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease; }
.button:hover { transform: translateY(-1px); }
.button-small { min-height: 36px; padding-inline: 14px; font-size: 12px; }
.button-wine { color: var(--white); background: var(--wine); box-shadow: 0 1px 2px rgba(0,0,0,.14); }
.button-wine:hover { background: var(--wine-dark); box-shadow: 0 8px 22px rgba(67,28,28,.16); }
.button-coral { color: var(--white); background: var(--coral); box-shadow: 0 1px 2px rgba(0,0,0,.1); }
.button-coral:hover { background: var(--coral-dark); box-shadow: 0 8px 22px rgba(231,111,81,.2); }
.button-ghost { color: var(--wine); background: var(--white); border-color: var(--line-strong); box-shadow: 0 1px 2px rgba(43,25,25,.03); }
.button-ghost:hover { border-color: var(--line-dark); box-shadow: var(--shadow-sm); }
.play-ring { width: 20px; height: 20px; display: grid; place-items: center; padding-left: 1px; color: var(--wine); background: var(--paper); border-radius: 50%; font-size: 7px; }

/* Hero */
.hero { position: relative; padding: clamp(76px, 8vw, 112px) 0 0; overflow: hidden; }
.hero-grid { position: absolute; inset: 0 0 auto; height: 720px; background-image: linear-gradient(rgba(67,28,28,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(67,28,28,.045) 1px, transparent 1px), radial-gradient(circle at 50% 12%, rgba(217,192,141,.34), transparent 38%), radial-gradient(circle at 22% 28%, rgba(233,220,214,.54), transparent 26%), radial-gradient(circle at 78% 30%, rgba(231,111,81,.075), transparent 25%); background-size: 48px 48px, 48px 48px, auto, auto, auto; -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 68%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0%, #000 68%, transparent 100%); pointer-events: none; }
.hero-copy { position: relative; z-index: 1; max-width: 900px; text-align: center; }
.announcement-pill { width: max-content; max-width: 100%; display: inline-flex; align-items: center; gap: 8px; margin-bottom: 28px; padding: 5px 7px 5px 9px; color: var(--taupe); background: rgba(255,255,255,.76); border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 1px 2px rgba(43,25,25,.03); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); font-size: 10px; }
.announcement-pill b { color: var(--wine); font-weight: 600; }
.announcement-pill > span:nth-of-type(2) { padding: 4px 7px; color: var(--wine); background: var(--paper); border: 1px solid var(--line); border-radius: 999px; font-weight: 600; }
.announcement-pill svg { width: 12px; fill: none; stroke: var(--wine); stroke-width: 1.4; }
.announcement-dot { width: 6px; height: 6px; background: var(--coral); border-radius: 50%; box-shadow: 0 0 0 3px rgba(231,111,81,.12); }
.hero h1 { max-width: 820px; margin: 0 auto; color: var(--wine); font-size: clamp(54px, 6.5vw, 82px); font-weight: 650; line-height: .98; letter-spacing: -.067em; }
.hero h1 span { color: var(--coral); }
.hero-copy > p { max-width: 690px; margin: 24px auto 28px; color: var(--taupe); font-size: clamp(17px, 1.7vw, 20px); line-height: 1.55; letter-spacing: -.02em; }
.hero-actions { display: flex; justify-content: center; gap: 10px; }
.product-switcher { position: relative; z-index: 2; max-width: 470px; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(56px, 7vw, 82px); padding: 5px; background: rgba(255,255,255,.86); border: 1px solid var(--line); border-radius: 12px 12px 0 0; box-shadow: 0 8px 30px rgba(43,25,25,.055); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.product-switcher button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 12px; color: var(--taupe); background: transparent; border: 0; border-radius: 8px; font-size: 11px; font-weight: 600; cursor: pointer; transition: color .15s ease, background .15s ease, box-shadow .15s ease; }
.product-switcher button[aria-selected="true"] { color: var(--wine); background: var(--paper); box-shadow: inset 0 0 0 1px var(--line); }
.switcher-icon { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 6px; }
.switcher-icon svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.product-stage-wrap { position: relative; z-index: 1; }
.product-stage-wrap::before { content: ""; position: absolute; inset: -80px -90px 20%; z-index: -1; background: radial-gradient(circle at 50% 10%, rgba(217,192,141,.5), transparent 55%), linear-gradient(180deg, rgba(233,220,214,.48), rgba(245,243,237,.1)); border: 1px solid rgba(67,28,28,.055); border-radius: 42px; }
.product-stage { position: relative; overflow: visible; background: var(--white); border: 1px solid var(--line-strong); border-radius: 14px; box-shadow: var(--shadow-lg); }
.stage-titlebar { min-height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; background: var(--white); border-bottom: 1px solid var(--line); border-radius: 14px 14px 0 0; }
.stage-brand { display: flex; align-items: center; gap: 9px; }
.stage-logo, .visual-mark { width: 28px; height: 28px; display: grid; place-items: center; color: var(--white); background: var(--wine); border-radius: 8px; font-size: 11px; font-weight: 700; }
.stage-brand b, .stage-brand small { display: block; }
.stage-brand b { color: var(--wine); font-size: 11px; }
.stage-brand small { color: var(--taupe); font-size: 8px; }
.stage-title-actions { display: flex; align-items: center; gap: 9px; }
.stage-title-actions button { width: 30px; height: 30px; display: grid; place-items: center; color: var(--taupe); background: transparent; border: 1px solid var(--line); border-radius: 8px; }
.stage-title-actions button svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.stage-avatar { width: 30px; height: 30px; display: grid; place-items: center; color: var(--wine); background: var(--wheat); border: 1px solid rgba(67,28,28,.1); border-radius: 50%; font-size: 9px; font-weight: 700; }
.stage-body { display: grid; grid-template-columns: 184px minmax(0, 1fr); min-height: 625px; }
.stage-sidebar { display: flex; flex-direction: column; padding: 18px 12px 12px; background: #FCFBF8; border-right: 1px solid var(--line); }
.sidebar-section { margin: 0 8px 9px; color: var(--taupe); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.sidebar-space { margin-top: 22px; }
.stage-sidebar > a { min-height: 36px; display: flex; align-items: center; gap: 9px; padding: 0 9px; margin-bottom: 3px; color: var(--taupe); border-radius: 7px; font-size: 10px; font-weight: 500; }
.stage-sidebar > a.is-active { color: var(--wine); background: var(--warm); font-weight: 600; }
.stage-sidebar > a svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-account { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 8px; margin-top: auto; padding: 10px 8px 0; border-top: 1px solid var(--line); }
.stage-avatar-small { width: 26px; height: 26px; font-size: 8px; }
.sidebar-account b, .sidebar-account small { display: block; }
.sidebar-account b { color: var(--wine); font-size: 8px; }
.sidebar-account small { color: var(--taupe); font-size: 7px; }
.sidebar-account > span:last-child { color: var(--taupe); font-size: 8px; }
.stage-workspace { min-width: 0; padding: 26px; background: var(--paper-bright); }
.workspace-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.workspace-eyebrow { color: var(--coral); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.workspace-head h2 { margin: 5px 0 3px; color: var(--wine); font-size: 22px; font-weight: 600; line-height: 1.2; letter-spacing: -.04em; }
.workspace-head p { margin: 0; color: var(--taupe); font-size: 10px; }
.workspace-button { min-height: 34px; display: inline-flex; align-items: center; gap: 12px; padding: 0 11px; color: var(--white); background: var(--wine); border: 0; border-radius: 7px; font-size: 9px; font-weight: 600; }
.workspace-button span { font-size: 13px; font-weight: 400; }
.workspace-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px 0 13px; }
.workspace-metrics > div { padding: 13px; background: var(--white); border: 1px solid var(--line); border-radius: 9px; }
.workspace-metrics span, .workspace-metrics b, .workspace-metrics small { display: block; }
.workspace-metrics span { color: var(--taupe); font-size: 8px; font-weight: 600; }
.workspace-metrics b { margin: 6px 0 4px; color: var(--wine); font-size: 21px; font-weight: 600; line-height: 1; letter-spacing: -.04em; }
.workspace-metrics small { color: var(--taupe); font-size: 7px; }
.workspace-metrics small i { width: 5px; height: 5px; display: inline-block; margin-right: 4px; background: var(--coral); border-radius: 50%; }
.workspace-metrics .metric-positive { color: var(--success); }
.workspace-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(235px, .45fr); gap: 12px; }
.workspace-video, .workspace-insights { overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 10px; }
.workspace-video { position: relative; min-width: 0; }
.workspace-card-head { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 13px; border-bottom: 1px solid var(--line); }
.workspace-card-head b, .workspace-card-head small { display: block; }
.workspace-card-head b { color: var(--wine); font-size: 9px; }
.workspace-card-head small { margin-top: 2px; color: var(--taupe); font-size: 7px; }
.workspace-status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 6px; color: var(--success); background: #EEF7F1; border: 1px solid #D8EBDD; border-radius: 999px; font-size: 7px; font-weight: 700; }
.workspace-status i { width: 5px; height: 5px; background: var(--success); border-radius: 50%; }
.workspace-video video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--wine-dark); }
.video-control { position: absolute; right: 13px; bottom: 13px; min-height: 31px; display: inline-flex; align-items: center; gap: 7px; padding: 0 9px; color: var(--white); background: rgba(33,27,27,.78); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); cursor: pointer; font-size: 8px; font-weight: 600; }
.play-icon { width: 0; height: 0; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 7px solid currentColor; }
.pause-icon { width: 8px; height: 9px; border-left: 2px solid currentColor; border-right: 2px solid currentColor; }
.workspace-insights { padding: 14px; }
.insight-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.insight-head span { color: var(--wine); font-size: 9px; font-weight: 600; }
.insight-head button { color: var(--taupe); background: transparent; border: 0; font-size: 8px; }
.decision-map { padding: 4px 0 11px; }
.map-row { display: grid; grid-template-columns: 23px 1fr auto; align-items: center; gap: 7px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.map-index { width: 22px; height: 22px; display: grid; place-items: center; color: var(--taupe); background: var(--paper); border-radius: 6px; font-size: 7px; font-weight: 700; }
.map-row b, .map-row small { display: block; }
.map-row b { color: var(--wine); font-size: 8px; }
.map-row small { margin-top: 1px; color: var(--taupe); font-size: 7px; line-height: 1.3; }
.map-strength { min-width: 27px; padding: 3px 4px; border-radius: 999px; font-size: 6px; font-style: normal; font-weight: 700; text-align: center; }
.map-strength.strong { color: var(--success); background: #EEF7F1; }
.map-strength.medium { color: #9A6D22; background: #FBF3E4; }
.angle-card { padding: 12px; background: var(--warm); border-radius: 8px; }
.angle-card > span { color: var(--taupe); font-size: 7px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.angle-card p { margin: 7px 0 10px; color: var(--wine); font-size: 9px; font-weight: 600; line-height: 1.45; }
.angle-card div { display: flex; flex-wrap: wrap; gap: 4px; }
.angle-card div span { padding: 3px 5px; color: var(--taupe); background: rgba(255,255,255,.65); border: 1px solid rgba(67,28,28,.08); border-radius: 5px; font-size: 6px; font-weight: 600; }
.stage-toast { position: absolute; right: 24px; bottom: -20px; width: 300px; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 9px; padding: 10px 11px; background: var(--white); border: 1px solid var(--line-strong); border-radius: 10px; box-shadow: var(--shadow-md); }
.toast-icon { width: 26px; height: 26px; display: grid; place-items: center; color: var(--white); background: var(--success); border-radius: 7px; font-size: 11px; }
.stage-toast b, .stage-toast small { display: block; }
.stage-toast b { color: var(--wine); font-size: 8px; }
.stage-toast small { margin-top: 2px; color: var(--taupe); font-size: 7px; }
.stage-toast button { color: var(--taupe); background: transparent; border: 0; font-size: 13px; }
.market-strip { min-height: 116px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding-top: 26px; }
.market-strip p { margin: 0; color: var(--taupe); font-size: 10px; }
.market-strip p:last-child { text-align: right; }
.market-strip div { display: flex; align-items: center; gap: 16px; color: var(--wine); font-size: 12px; font-weight: 600; }
.market-strip i, .footer-regions i { width: 3px; height: 3px; background: var(--coral); border-radius: 50%; }

/* Shared typography */
.section-kicker { margin: 0 0 16px; color: var(--coral); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.section-heading { max-width: 760px; margin-bottom: 48px; }
.section-heading h2, .feature-copy h2, .outcome-copy h2, .film-intro h2, .principles-head h2, .faq-head h2, .brief-copy h2 { margin: 0; color: var(--wine); font-size: clamp(38px, 4.5vw, 56px); font-weight: 600; line-height: 1.04; letter-spacing: -.055em; }
.section-heading > p:last-child { max-width: 660px; margin: 19px 0 0; color: var(--taupe); font-size: 17px; }
.text-link { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 4px; color: var(--wine); border-bottom: 1px solid var(--line-dark); font-size: 13px; font-weight: 600; }
.text-link:hover { border-color: var(--coral); }

/* Outcome */
.outcome-section { padding: clamp(100px, 11vw, 150px) 0; background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.outcome-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 100px; align-items: end; }
.outcome-copy h2 span { color: var(--coral); }
.outcome-text p { margin: 0 0 16px; color: var(--taupe); font-size: 17px; line-height: 1.65; }
.outcome-text .text-link { margin-top: 10px; }
.outcome-demo { display: grid; grid-template-columns: 320px minmax(0, 1fr); min-height: 390px; margin-top: 72px; overflow: hidden; background: var(--white); border: 1px solid var(--line-strong); border-radius: 14px; box-shadow: var(--shadow-lg); }
.outcome-link-list { padding: 16px; background: #FCFBF8; border-right: 1px solid var(--line); }
.outcome-link-list > div { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 10px; padding: 13px 10px; margin-bottom: 7px; background: var(--white); border: 1px solid var(--line); border-radius: 9px; }
.outcome-link-list > div:first-child { border-color: rgba(231,111,81,.28); box-shadow: 0 0 0 3px rgba(231,111,81,.06); }
.outcome-favicon { width: 34px; height: 34px; display: grid; place-items: center; color: var(--white); background: var(--wine); border-radius: 8px; font-size: 10px; font-weight: 700; }
.outcome-link-list b, .outcome-link-list small { display: block; }
.outcome-link-list b { color: var(--wine); font-size: 9px; }
.outcome-link-list small { margin-top: 2px; color: var(--taupe); font-size: 7px; }
.outcome-link-list em { color: var(--taupe); font-size: 7px; font-style: normal; }
.outcome-summary { padding: 24px; }
.summary-head { display: flex; align-items: center; justify-content: space-between; color: var(--wine); font-size: 10px; font-weight: 600; }
.summary-head span:last-child { color: var(--taupe); font-size: 8px; font-weight: 500; }
.summary-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 20px 0 26px; }
.summary-metrics div { padding: 13px; background: var(--paper-bright); border: 1px solid var(--line); border-radius: 8px; }
.summary-metrics span, .summary-metrics b { display: block; }
.summary-metrics span { color: var(--taupe); font-size: 8px; }
.summary-metrics b { margin-top: 5px; color: var(--wine); font-size: 20px; font-weight: 600; letter-spacing: -.04em; }
.outcome-summary svg { width: 100%; overflow: visible; }
.outcome-chart-grid { fill: none; stroke: var(--line); stroke-width: 1; }
.outcome-chart-area { fill: url(#outcomeArea); }
.outcome-chart-line { fill: none; stroke: var(--coral); stroke-width: 2; }

/* Services */
.services-overview { padding: clamp(100px, 11vw, 150px) 0; }
.service-rail { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line-strong); border-radius: 14px; background: var(--white); box-shadow: var(--shadow-sm); }
.service-rail article { min-height: 260px; display: flex; flex-direction: column; padding: 22px; border-right: 1px solid var(--line); transition: background .18s ease; }
.service-rail article:last-child { border-right: 0; }
.service-rail article:hover { background: var(--paper); }
.service-rail article > span { color: var(--coral); font-size: 10px; font-weight: 700; }
.service-rail article div { margin: auto 0 20px; }
.service-rail h3 { margin: 0 0 9px; color: var(--wine); font-size: 20px; font-weight: 600; line-height: 1.15; letter-spacing: -.035em; }
.service-rail p { margin: 0; color: var(--taupe); font-size: 13px; line-height: 1.55; }
.service-rail article > a { width: 32px; height: 32px; display: grid; place-items: center; color: var(--wine); background: var(--paper-bright); border: 1px solid var(--line); border-radius: 8px; font-size: 13px; transition: color .16s ease, background .16s ease; }
.service-rail article > a:hover { color: var(--white); background: var(--wine); }

/* Feature sections */
.feature-section, .measurement-section { padding: clamp(105px, 11vw, 150px) 0; background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.feature-section-alt { background: var(--paper-bright); }
.feature-grid { display: grid; grid-template-columns: minmax(330px, .74fr) minmax(0, 1.26fr); align-items: center; gap: clamp(50px, 7vw, 92px); }
.feature-grid-reverse { grid-template-columns: minmax(0, 1.26fr) minmax(330px, .74fr); }
.feature-grid-reverse .feature-copy { grid-column: 2; grid-row: 1; }
.feature-grid-reverse .feature-visual { grid-column: 1; grid-row: 1; }
.feature-copy > p:not(.section-kicker) { margin: 22px 0; color: var(--taupe); font-size: 16px; line-height: 1.65; }
.feature-points { display: grid; gap: 16px; margin-top: 34px; }
.feature-points div { padding-top: 15px; border-top: 1px solid var(--line); }
.feature-points b, .feature-points span { display: block; }
.feature-points b { margin-bottom: 4px; color: var(--wine); font-size: 12px; }
.feature-points span { color: var(--taupe); font-size: 12px; line-height: 1.5; }
.feature-visual { overflow: hidden; background: var(--white); border: 1px solid var(--line-strong); border-radius: 14px; box-shadow: var(--shadow-lg); }
.visual-toolbar { min-height: 57px; display: flex; align-items: center; justify-content: space-between; padding: 0 15px; border-bottom: 1px solid var(--line); }
.visual-toolbar > div { display: flex; align-items: center; gap: 9px; }
.visual-toolbar b { color: var(--wine); font-size: 10px; }
.visual-toolbar button { min-height: 30px; padding: 0 9px; color: var(--wine); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; font-size: 8px; font-weight: 600; }
.visual-chip { padding: 4px 7px; color: var(--taupe); background: var(--paper); border: 1px solid var(--line); border-radius: 999px; font-size: 7px; font-weight: 600; }
.visual-chip-green { color: var(--success); background: #EEF7F1; border-color: #D8EBDD; }
.visual-footer { min-height: 45px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 15px; color: var(--taupe); border-top: 1px solid var(--line); font-size: 7px; }
.visual-footer span:first-child { display: flex; align-items: center; gap: 6px; }
.visual-footer i { width: 5px; height: 5px; background: var(--success); border-radius: 50%; }
.architecture-canvas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 18px; background-image: linear-gradient(rgba(67,28,28,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(67,28,28,.035) 1px, transparent 1px); background-size: 30px 30px; }
.architecture-column { min-width: 0; padding: 11px; background: rgba(251,250,247,.88); border: 1px solid var(--line); border-radius: 10px; }
.column-title { display: block; margin-bottom: 9px; color: var(--taupe); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.architecture-card { min-height: 116px; display: flex; flex-direction: column; padding: 13px; margin-bottom: 8px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 3px 10px rgba(43,25,25,.035); }
.architecture-card:last-child { margin-bottom: 0; }
.architecture-card > span { color: var(--coral); font-size: 7px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.architecture-card b { margin: auto 0 5px; color: var(--wine); font-size: 11px; line-height: 1.25; }
.architecture-card small { color: var(--taupe); font-size: 7px; }
.architecture-card.card-coral { color: var(--white); background: var(--coral); border-color: var(--coral); }
.architecture-card.card-coral > span, .architecture-card.card-coral b, .architecture-card.card-coral small { color: var(--white); }
.architecture-card.card-coral small { opacity: .78; }
.architecture-card.card-wheat { background: var(--wheat); border-color: rgba(67,28,28,.08); }
.creative-layout { display: grid; grid-template-columns: 155px minmax(0, 1fr); min-height: 395px; }
.creative-layout aside { padding: 14px 10px; background: #FCFBF8; border-right: 1px solid var(--line); }
.creative-nav-label { display: block; margin: 0 8px 10px; color: var(--taupe); font-size: 7px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.creative-layout aside button { width: 100%; min-height: 34px; display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 6px; padding: 0 8px; margin-bottom: 3px; color: var(--taupe); background: transparent; border: 0; border-radius: 7px; font-size: 8px; text-align: left; }
.creative-layout aside button.is-active { color: var(--wine); background: var(--warm); font-weight: 600; }
.creative-layout aside button i { width: 6px; height: 6px; border: 1px solid currentColor; border-radius: 2px; }
.creative-layout aside button em { font-size: 7px; font-style: normal; }
.creative-main { min-width: 0; padding: 16px; }
.creative-main-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 13px; color: var(--wine); border-bottom: 1px solid var(--line); font-size: 8px; font-weight: 600; }
.creative-main-head span:last-child { color: var(--taupe); font-weight: 500; }
.variant-row { display: grid; grid-template-columns: 23px 1fr auto; align-items: center; gap: 10px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.variant-check { width: 22px; height: 22px; display: grid; place-items: center; color: var(--white); background: var(--coral); border-radius: 6px; font-size: 8px; }
.variant-row small, .variant-row b, .variant-row p { display: block; }
.variant-row small { color: var(--taupe); font-size: 7px; }
.variant-row b { margin: 3px 0 4px; color: var(--wine); font-size: 10px; }
.variant-row p { margin: 0; color: var(--taupe); font-size: 7px; }
.variant-row em { padding: 4px 6px; color: var(--wine); background: var(--paper); border: 1px solid var(--line); border-radius: 999px; font-size: 6px; font-style: normal; font-weight: 700; }

/* Films */
.film-section { padding: clamp(105px, 11vw, 150px) 0; background: var(--wine); }
.film-intro { display: grid; grid-template-columns: 1fr 420px; gap: 70px; align-items: end; margin-bottom: 48px; }
.film-intro h2 { color: var(--white); }
.film-intro > div:last-child p { margin: 0 0 9px; color: rgba(255,255,255,.68); font-size: 15px; }
.film-intro > div:last-child small { color: rgba(255,255,255,.42); font-size: 10px; }
.film-reel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.film-card { overflow: hidden; background: var(--white); border: 1px solid rgba(255,255,255,.16); border-radius: 12px; }
.film-head { min-height: 46px; display: flex; align-items: center; justify-content: space-between; padding: 0 13px; color: var(--taupe); border-bottom: 1px solid var(--line); font-size: 8px; font-weight: 600; }
.film-media { position: relative; background: var(--wine-dark); }
.film-media video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.film-copy { padding: 18px; }
.film-copy h3 { margin: 0 0 9px; color: var(--wine); font-size: 18px; font-weight: 600; line-height: 1.18; letter-spacing: -.035em; }
.film-copy p { margin: 0; color: var(--taupe); font-size: 12px; line-height: 1.55; }

/* Measurement */
.measurement-section { background: var(--paper); }
.metric-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 30px 0 0; list-style: none; }
.metric-list li { padding: 5px 8px; color: var(--taupe); background: rgba(255,255,255,.72); border: 1px solid var(--line); border-radius: 6px; font-size: 8px; font-weight: 600; }
.signal-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 16px 16px 0; }
.signal-metrics div { padding: 12px; background: var(--paper-bright); border: 1px solid var(--line); border-radius: 8px; }
.signal-metrics span, .signal-metrics b, .signal-metrics small { display: block; }
.signal-metrics span { color: var(--taupe); font-size: 7px; }
.signal-metrics b { margin: 5px 0 3px; color: var(--wine); font-size: 19px; font-weight: 600; letter-spacing: -.04em; }
.signal-metrics small { color: var(--taupe); font-size: 6px; }
.signal-chart { padding: 22px 22px 15px; }
.signal-chart-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; color: var(--wine); font-size: 8px; font-weight: 600; }
.signal-chart-head span:last-child { color: var(--taupe); font-weight: 500; }
.signal-chart svg { width: 100%; overflow: visible; }
.chart-grid { fill: none; stroke: var(--line); stroke-width: 1; }
.chart-area { fill: url(#signalArea); }
.chart-line { fill: none; stroke: var(--coral); stroke-width: 2; }
.chart-dots circle { fill: var(--white); stroke: var(--coral); stroke-width: 2; }
.chart-axis { display: flex; justify-content: space-between; color: var(--taupe); font-size: 6px; }

/* Principles and FAQ */
.principles { padding: clamp(105px, 11vw, 150px) 0; }
.principles-head { display: grid; grid-template-columns: 1fr 390px; gap: 80px; align-items: end; margin-bottom: 48px; }
.principles-head > p { margin: 0; color: var(--taupe); font-size: 15px; line-height: 1.6; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line-strong); border-radius: 14px; background: var(--white); }
.principle-card { min-height: 260px; display: flex; flex-direction: column; padding: 22px; border-right: 1px solid var(--line); }
.principle-card:last-child { border-right: 0; }
.principle-card > span { color: var(--coral); font-size: 10px; font-weight: 700; }
.principle-card h3 { margin: auto 0 9px; color: var(--wine); font-size: 20px; font-weight: 600; line-height: 1.16; letter-spacing: -.035em; }
.principle-card p { margin: 0; color: var(--taupe); font-size: 13px; line-height: 1.55; }
.policy-link { width: max-content; display: inline-flex; align-items: center; gap: 9px; margin-top: 24px; color: var(--wine); font-size: 12px; font-weight: 600; }
.policy-link:hover { color: var(--coral); }
.faq { padding: clamp(100px, 10vw, 140px) 0; border-top: 1px solid var(--line); }
.faq-head { margin-bottom: 42px; }
.faq-list { border-top: 1px solid var(--line-strong); }
.faq-list details { border-bottom: 1px solid var(--line-strong); }
.faq-list summary { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--wine); list-style: none; cursor: pointer; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { width: 28px; height: 28px; display: grid; place-items: center; color: var(--taupe); background: var(--paper); border: 1px solid var(--line); border-radius: 50%; font-size: 16px; font-weight: 400; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details > div { max-width: 760px; padding: 0 0 26px; }
.faq-list p { margin: 0; color: var(--taupe); font-size: 15px; line-height: 1.65; }

/* Brief */
.brief { padding: 0 0 clamp(100px, 11vw, 150px); }
.brief-card { display: grid; grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr); overflow: hidden; color: var(--white); background: var(--wine); border-radius: 16px; box-shadow: var(--shadow-lg); }
.brief-copy { padding: clamp(34px, 5vw, 66px); }
.brief-copy h2 { color: var(--white); }
.brief-copy > p:not(.section-kicker) { margin: 22px 0; color: rgba(255,255,255,.65); font-size: 15px; line-height: 1.65; }
.brief-copy > a { display: inline-block; padding-bottom: 4px; color: var(--wheat); border-bottom: 1px solid rgba(217,192,141,.35); font-size: 13px; font-weight: 600; }
.brief-form { padding: clamp(30px, 4vw, 48px); background: var(--paper); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.brief-form label { display: block; margin-bottom: 13px; }
.brief-form label > span { display: block; margin-bottom: 7px; color: var(--wine); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.brief-form input, .brief-form textarea { width: 100%; color: var(--wine); background: var(--white); border: 1px solid var(--line-strong); border-radius: 8px; outline: none; transition: border-color .16s ease, box-shadow .16s ease; }
.brief-form input { height: 44px; padding: 0 12px; }
.brief-form textarea { min-height: 105px; padding: 12px; resize: vertical; }
.brief-form input:focus, .brief-form textarea:focus { border-color: var(--coral); box-shadow: 0 0 0 3px rgba(231,111,81,.1); }
.form-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 5px; }
.form-foot p { max-width: 290px; margin: 0; color: var(--taupe); font-size: 8px; line-height: 1.45; }

/* Footer */
.site-footer { color: rgba(255,255,255,.72); background: var(--wine-dark); }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, .6fr); gap: 60px; padding: 70px 0 54px; }
.footer-wordmark { color: var(--white); }
.footer-wordmark .brand-mark { stroke: var(--white); }
.footer-brand > p { max-width: 290px; margin: 18px 0; color: rgba(255,255,255,.48); font-size: 12px; line-height: 1.6; }
.footer-regions { display: flex; align-items: center; gap: 11px; color: var(--wheat); font-size: 10px; font-weight: 600; }
.footer-column { display: flex; flex-direction: column; gap: 11px; }
.footer-column > span { margin-bottom: 8px; color: var(--white); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.footer-column a { color: rgba(255,255,255,.52); font-size: 11px; transition: color .15s ease; }
.footer-column a:hover { color: var(--white); }
.footer-bottom { min-height: 64px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 30px; border-top: 1px solid rgba(255,255,255,.1); }
.footer-bottom p, .footer-bottom a { margin: 0; color: rgba(255,255,255,.38); font-size: 9px; }
.footer-bottom a:hover { color: var(--white); }

/* Reveal */
.reveal { opacity: 0; transform: translateY(12px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reveal { opacity: 1; transform: none; transition: none; } * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; } }

/* Responsive */
@media (max-width: 1120px) {
  .desktop-nav { gap: 0; }
  .nav-trigger, .nav-link { padding-inline: 7px; font-size: 12px; }
  .nav-actions { gap: 10px; }
  .stage-body { grid-template-columns: 154px minmax(0,1fr); }
  .workspace-grid { grid-template-columns: minmax(0,1.35fr) minmax(210px,.65fr); }
  .feature-grid, .feature-grid-reverse { gap: 48px; }
}

@media (max-width: 960px) {
  .site-header, .nav-shell { height: 64px; }
  .nav-shell { grid-template-columns: 1fr auto; }
  .desktop-nav, .nav-actions { display: none; }
  .menu-toggle { width: 38px; height: 38px; display: grid; place-content: center; gap: 5px; padding: 0; background: var(--white); border: 1px solid var(--line); border-radius: 9px; }
  .menu-toggle > span:not(.sr-only) { width: 16px; height: 1px; background: var(--wine); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] > span:nth-of-type(2) { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:nth-of-type(3) { transform: translateY(-3px) rotate(-45deg); }
  .mobile-nav { position: fixed; inset: 64px 0 0; z-index: 99; display: block; overflow-y: auto; background: rgba(251,250,247,.98); border-top: 1px solid var(--line); }
  .mobile-nav[hidden] { display: none; }
  .mobile-nav-inner { width: min(680px, calc(100% - 40px)); margin: 0 auto; padding: 20px 0 40px; }
  .mobile-nav details, .mobile-direct { display: block; border-bottom: 1px solid var(--line); }
  .mobile-nav summary, .mobile-direct { min-height: 58px; display: flex; align-items: center; justify-content: space-between; color: var(--wine); list-style: none; font-size: 15px; font-weight: 600; }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav summary span { color: var(--coral); font-size: 18px; font-weight: 400; }
  .mobile-nav details[open] summary span { transform: rotate(45deg); }
  .mobile-nav details > div { display: grid; gap: 2px; padding: 0 0 14px; }
  .mobile-nav details a { padding: 8px 12px; color: var(--taupe); background: var(--paper); border-radius: 7px; font-size: 12px; }
  .mobile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding-top: 22px; }
  .hero { padding-top: 76px; }
  .stage-body { grid-template-columns: 1fr; }
  .stage-sidebar { display: none; }
  .stage-workspace { padding: 20px; }
  .workspace-grid { grid-template-columns: minmax(0, 1.3fr) minmax(220px, .7fr); }
  .market-strip { grid-template-columns: 1fr; gap: 10px; justify-items: center; padding: 48px 0; text-align: center; }
  .market-strip p:last-child { text-align: center; }
  .outcome-grid, .feature-grid, .feature-grid-reverse { grid-template-columns: 1fr; }
  .outcome-grid { gap: 34px; }
  .feature-grid-reverse .feature-copy, .feature-grid-reverse .feature-visual { grid-column: auto; grid-row: auto; }
  .feature-grid-reverse .feature-visual { order: 2; }
  .service-rail { grid-template-columns: 1fr 1fr; }
  .service-rail article:nth-child(2) { border-right: 0; }
  .service-rail article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .film-intro, .principles-head { grid-template-columns: 1fr; gap: 26px; }
  .footer-grid { grid-template-columns: 1.4fr repeat(3, .7fr); gap: 34px; }
}

@media (max-width: 740px) {
  :root { --pad: 20px; }
  .announcement-pill > span:nth-of-type(2), .announcement-pill svg { display: none; }
  .hero h1 { font-size: clamp(49px, 13vw, 68px); }
  .hero-actions { flex-direction: column; align-items: stretch; max-width: 330px; margin-inline: auto; }
  .product-switcher { max-width: calc(100% - 40px); }
  .product-switcher button { font-size: 10px; }
  .product-stage-wrap { width: calc(100% - 20px); }
  .product-stage-wrap::before { inset: -45px -20px 25%; border-radius: 28px; }
  .stage-workspace { padding: 14px; }
  .workspace-head { align-items: center; }
  .workspace-head p, .workspace-button { display: none; }
  .workspace-head h2 { font-size: 18px; }
  .workspace-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; margin-top: 16px; }
  .workspace-metrics > div { padding: 9px; }
  .workspace-metrics span { font-size: 6px; }
  .workspace-metrics b { font-size: 16px; }
  .workspace-metrics small { display: none; }
  .workspace-grid { grid-template-columns: 1fr; }
  .workspace-insights { display: none; }
  .stage-toast { right: 12px; bottom: -24px; width: min(290px, calc(100% - 24px)); }
  .market-strip { padding-top: 55px; }
  .outcome-demo { grid-template-columns: 1fr; }
  .outcome-link-list { border-right: 0; border-bottom: 1px solid var(--line); }
  .summary-metrics { grid-template-columns: 1fr 1fr 1fr; }
  .service-rail, .principle-grid { grid-template-columns: 1fr; }
  .service-rail article { min-height: 210px; border-right: 0; border-bottom: 1px solid var(--line); }
  .service-rail article:nth-child(2) { border-bottom: 1px solid var(--line); }
  .service-rail article:last-child { border-bottom: 0; }
  .architecture-canvas { grid-template-columns: 1fr; }
  .architecture-card { min-height: 96px; }
  .creative-layout { grid-template-columns: 1fr; }
  .creative-layout aside { display: flex; gap: 5px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .creative-nav-label { display: none; }
  .creative-layout aside button { width: auto; min-width: max-content; grid-template-columns: 8px auto auto; }
  .film-reel { grid-template-columns: 1fr; }
  .principle-card { min-height: 210px; border-right: 0; border-bottom: 1px solid var(--line); }
  .principle-card:last-child { border-bottom: 0; }
  .brief-card { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-foot { align-items: flex-start; flex-direction: column; }
  .form-foot .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
}

@media (max-width: 480px) {
  .wordmark { font-size: 14px; }
  .brand-mark { width: 25px; height: 25px; }
  .hero { padding-top: 62px; }
  .announcement-pill { margin-bottom: 22px; }
  .hero-copy > p { font-size: 16px; }
  .product-switcher { margin-top: 46px; }
  .switcher-icon { display: none; }
  .stage-title-actions button { display: none; }
  .workspace-metrics > div:nth-child(2) { display: none; }
  .workspace-metrics { grid-template-columns: 1fr 1fr; }
  .outcome-summary { padding: 18px; }
  .summary-metrics div { padding: 9px; }
  .summary-metrics span { font-size: 6px; }
  .summary-metrics b { font-size: 15px; }
  .architecture-canvas, .creative-main { padding: 12px; }
  .variant-row { grid-template-columns: 22px 1fr; }
  .variant-row em { display: none; }
  .signal-metrics { grid-template-columns: 1fr; }
  .signal-metrics div { display: grid; grid-template-columns: 1fr auto; align-items: center; }
  .signal-metrics b { grid-row: 1 / 3; grid-column: 2; }
  .signal-metrics small { grid-column: 1; }
  .mobile-actions { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
}

/* 404 */
.not-found-body { min-height: 100vh; display: grid; place-items: center; padding: 28px; color: var(--ink); background-color: var(--paper-bright); background-image: linear-gradient(rgba(67,28,28,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(67,28,28,.045) 1px, transparent 1px), radial-gradient(circle at 50% 10%, rgba(217,192,141,.34), transparent 35%); background-size: 48px 48px, 48px 48px, auto; }
.not-found-wrap { width: min(620px, 100%); padding: clamp(32px, 7vw, 70px); text-align: center; background: rgba(255,255,255,.88); border: 1px solid var(--line-strong); border-radius: 16px; box-shadow: var(--shadow-lg); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.not-found-mark { width: 46px; margin: 0 auto 28px; fill: none; stroke: var(--wine); stroke-width: 1.5; }
.not-found-code { color: var(--coral); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.not-found-wrap h1 { margin: 15px 0 14px; color: var(--wine); font-size: clamp(40px, 7vw, 64px); font-weight: 600; line-height: 1; letter-spacing: -.055em; }
.not-found-wrap p { max-width: 440px; margin: 0 auto 26px; color: var(--taupe); font-size: 15px; line-height: 1.6; }
.not-found-wrap a { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; color: var(--white); background: var(--wine); border-radius: 8px; font-size: 12px; font-weight: 600; }


/* Multi-page extensions */
.subpage main { overflow: hidden; }
.page-hero { position: relative; padding: clamp(70px, 8vw, 112px) 0 clamp(62px, 7vw, 96px); overflow: hidden; border-bottom: 1px solid var(--line); }
.page-hero-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(67,28,28,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(67,28,28,.04) 1px, transparent 1px), radial-gradient(circle at 18% 24%, rgba(217,192,141,.38), transparent 31%), radial-gradient(circle at 82% 34%, rgba(231,111,81,.08), transparent 25%); background-size: 48px 48px,48px 48px,auto,auto; -webkit-mask-image: linear-gradient(to bottom,#000,transparent 98%); mask-image: linear-gradient(to bottom,#000,transparent 98%); pointer-events:none; }
.page-hero-inner { position: relative; z-index: 1; max-width: 900px; }
.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:34px; color:var(--taupe); font-size:11px; }
.breadcrumbs a:hover { color:var(--wine); }
.breadcrumbs span[aria-current="page"] { color:var(--wine); font-weight:600; }
.page-hero h1 { max-width: 850px; margin: 13px 0 20px; color:var(--wine); font-size:clamp(44px,6.5vw,82px); font-weight:600; line-height:.98; letter-spacing:-.065em; }
.page-lead { max-width:740px; margin:0; color:var(--muted); font-size:clamp(18px,2.2vw,23px); line-height:1.55; letter-spacing:-.02em; }
.page-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.hero-note { max-width:760px; margin:18px 0 0; color:var(--taupe); font-size:11px; line-height:1.55; }
.content-section { padding: clamp(76px, 9vw, 128px) 0; }
.content-section-warm { background:var(--warm); border-top:1px solid rgba(67,28,28,.08); border-bottom:1px solid rgba(67,28,28,.08); }
.section-split { display:grid; grid-template-columns:minmax(300px,.75fr) minmax(520px,1.25fr); gap:clamp(48px,7vw,100px); align-items:center; }
.section-split-reverse { grid-template-columns:minmax(520px,1.25fr) minmax(300px,.75fr); }
.section-split-reverse .section-copy { order:2; }
.section-copy h2, .section-heading h2 { margin:10px 0 18px; color:var(--wine); font-size:clamp(34px,4.2vw,56px); font-weight:600; line-height:1.04; letter-spacing:-.055em; }
.section-copy > p:not(.section-kicker), .section-heading > p:not(.section-kicker) { color:var(--muted); font-size:17px; line-height:1.65; }
.section-copy .feature-points { margin-top:34px; }
.service-index-grid { display:grid; gap:12px; }
.service-index-grid > a { display:grid; grid-template-columns:55px 1fr 30px; gap:24px; align-items:start; padding:30px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-sm); transition:.18s ease; }
.service-index-grid > a:hover { transform:translateY(-2px); border-color:var(--line-dark); box-shadow:var(--shadow-md); }
.service-index-grid > a > span { width:42px; height:42px; display:grid; place-items:center; color:var(--coral); background:var(--paper); border:1px solid var(--line); border-radius:10px; font-size:11px; font-weight:700; }
.service-index-grid h2,.resource-index h2 { margin:3px 0 8px; color:var(--wine); font-size:30px; letter-spacing:-.045em; }
.service-index-grid p,.resource-index p { margin:0 0 12px; color:var(--muted); }
.service-index-grid div > p:first-child,.resource-index div > p:first-child { margin:0; color:var(--coral); font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.service-index-grid ul { display:flex; flex-wrap:wrap; gap:6px; margin:15px 0 0; padding:0; list-style:none; }
.service-index-grid li { padding:5px 8px; color:var(--taupe); background:var(--paper); border:1px solid var(--line); border-radius:6px; font-size:10px; }
.service-index-grid i,.resource-index i { color:var(--coral); font-size:20px; font-style:normal; }
.system-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:16px; align-items:center; margin-top:44px; }
.system-flow > div { min-height:160px; padding:22px; background:rgba(255,255,255,.58); border:1px solid rgba(67,28,28,.12); border-radius:12px; }
.system-flow span { color:var(--coral); font-size:10px; font-weight:700; }
.system-flow b,.system-flow small { display:block; }
.system-flow b { margin:42px 0 7px; color:var(--wine); font-size:20px; }
.system-flow small { color:var(--taupe); line-height:1.45; }
.system-flow > i { color:var(--coral); font-style:normal; }
.ui-panel { overflow:hidden; background:var(--white); border:1px solid var(--line-strong); border-radius:14px; box-shadow:var(--shadow-lg); }
.ui-toolbar { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 16px; border-bottom:1px solid var(--line); }
.ui-toolbar > div { display:flex; align-items:center; gap:9px; }
.ui-toolbar b { color:var(--wine); font-size:12px; }
.status-pill { display:inline-flex; align-items:center; justify-content:center; width:max-content; padding:5px 8px; border-radius:999px; font-size:8px; font-style:normal; font-weight:700; white-space:nowrap; }
.status-green { color:var(--success); background:#EEF7F1; border:1px solid #D8EBDD; }
.status-amber { color:#91651F; background:#FBF3E4; border:1px solid #EEDDBB; }
.status-red { color:#A33E31; background:#FCEDE9; border:1px solid #F2D3CC; }
.ui-tabs { display:flex; gap:4px; padding:9px 14px; background:#FCFBF8; border-bottom:1px solid var(--line); }
.ui-tabs span { padding:6px 9px; color:var(--taupe); border-radius:6px; font-size:8px; font-weight:600; }
.ui-tabs .is-active { color:var(--wine); background:var(--warm); }
.ui-body-two { display:grid; grid-template-columns:minmax(0,1fr) 210px; }
.ui-main { min-width:0; padding:16px; }
.ui-aside { display:flex; flex-direction:column; padding:20px; color:var(--wine); background:var(--wheat); border-left:1px solid var(--line); }
.ui-aside h3 { margin:38px 0 10px; font-size:23px; line-height:1.08; letter-spacing:-.04em; }
.ui-aside p { color:rgba(67,28,28,.72); font-size:11px; line-height:1.55; }
.ui-aside a { margin-top:auto; padding-top:14px; border-top:1px solid rgba(67,28,28,.24); font-size:10px; font-weight:700; }
.ui-eyebrow { font-size:8px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; opacity:.65; }
.ui-metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }
.ui-metric-grid > div { padding:13px; background:var(--paper-bright); border:1px solid var(--line); border-radius:9px; }
.ui-metric-grid span,.ui-metric-grid b,.ui-metric-grid small { display:block; }
.ui-metric-grid span { color:var(--taupe); font-size:8px; font-weight:600; }
.ui-metric-grid b { margin:7px 0 4px; color:var(--wine); font-size:20px; letter-spacing:-.04em; }
.ui-metric-grid small { color:var(--taupe); font-size:7px; }
.ui-table { overflow:hidden; border:1px solid var(--line); border-radius:9px; }
.ui-row { display:grid; grid-template-columns:1.1fr 1.6fr auto; gap:12px; align-items:center; min-height:54px; padding:10px 12px; border-bottom:1px solid var(--line); color:var(--muted); font-size:9px; }
.ui-row:last-child { border-bottom:0; }
.ui-row-head { min-height:34px; color:var(--taupe); background:var(--paper); font-size:7px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.ui-row b,.ui-row small { display:block; }
.ui-row b { color:var(--wine); font-size:9px; }
.ui-row small { color:var(--taupe); font-size:7px; }
.score-ring { width:90px; height:90px; display:grid; place-items:center; align-content:center; margin:20px auto; border:8px solid rgba(67,28,28,.14); border-top-color:var(--coral); border-radius:50%; }
.score-ring b { font-size:24px; line-height:1; }
.score-ring span { margin-top:3px; font-size:7px; }
.deliverable-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:42px; }
.deliverable-grid article,.usecase-grid article { min-height:230px; padding:24px; background:rgba(255,255,255,.64); border:1px solid rgba(67,28,28,.12); border-radius:12px; }
.deliverable-grid span { color:var(--coral); font-size:10px; font-weight:700; }
.deliverable-grid h3,.usecase-grid h3 { margin:72px 0 10px; color:var(--wine); font-size:21px; line-height:1.1; letter-spacing:-.035em; }
.deliverable-grid p,.usecase-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:42px; }
.process-grid article { min-height:220px; padding:24px; background:var(--white); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-sm); }
.process-grid span { color:var(--coral); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.process-grid h3 { margin:64px 0 10px; color:var(--wine); font-size:23px; line-height:1.1; letter-spacing:-.04em; }
.process-grid p { color:var(--muted); font-size:13px; }
.related { padding:clamp(76px,9vw,128px) 0; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:38px; }
.related-grid a { position:relative; min-height:230px; padding:24px; background:var(--paper); border:1px solid var(--line); border-radius:12px; transition:.18s ease; }
.related-grid a:hover { transform:translateY(-2px); background:var(--white); box-shadow:var(--shadow-md); }
.related-grid span { color:var(--coral); font-size:10px; font-weight:700; }
.related-grid h3 { margin:55px 0 10px; color:var(--wine); font-size:23px; letter-spacing:-.04em; }
.related-grid p { color:var(--muted); font-size:13px; }
.related-grid i { position:absolute; right:20px; bottom:18px; color:var(--coral); font-style:normal; }
.page-cta { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-top:0; margin-bottom:clamp(76px,9vw,128px); padding:clamp(36px,5vw,60px); color:var(--white); background:var(--wine); border-radius:18px; box-shadow:var(--shadow-lg); }
.page-cta h2 { max-width:720px; margin:10px 0 12px; font-size:clamp(34px,4.5vw,58px); line-height:1.02; letter-spacing:-.055em; }
.page-cta p:not(.section-kicker) { max-width:650px; margin:0; color:rgba(255,255,255,.7); font-size:15px; }
.page-cta .section-kicker { color:var(--wheat); }
.wide-table .ui-row { grid-template-columns:.8fr 1.1fr 1.4fr 1.4fr 1fr; font-size:10px; }
.state-dot { width:7px; height:7px; display:inline-block; margin-right:7px; border-radius:50%; }
.state-dot.discover { background:var(--wheat); }.state-dot.compare { background:var(--coral); }.state-dot.decide { background:var(--wine); }
.architecture-detail,.experiment-board { padding:28px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-md); }
.architecture-detail-head,.experiment-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:25px; }
.architecture-detail-head h2,.experiment-head h2 { margin:8px 0 0; color:var(--wine); font-size:34px; letter-spacing:-.05em; }
.creative-system-grid { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:18px; align-items:center; margin-top:42px; }
.creative-system-grid > div { min-height:245px; padding:24px; background:rgba(255,255,255,.62); border:1px solid rgba(67,28,28,.12); border-radius:12px; }
.creative-system-grid > i { color:var(--coral); font-style:normal; }
.creative-system-grid span { color:var(--coral); font-size:9px; font-weight:700; text-transform:uppercase; }
.creative-system-grid h3 { margin:55px 0 14px; color:var(--wine); font-size:24px; }
.creative-system-grid ul { margin:0; padding-left:18px; color:var(--muted); font-size:13px; line-height:1.8; }
.experiment-board .ui-row { grid-template-columns:1.15fr 1.8fr 1fr .7fr .7fr; }
.decision-state-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.decision-state-grid > a { position:relative; min-height:430px; display:flex; flex-direction:column; padding:28px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-sm); transition:.18s ease; }
.decision-state-grid > a:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.decision-state-grid > a > span { color:var(--coral); font-size:10px; font-weight:700; }
.decision-state-grid > a > p:first-of-type { margin:10px 0 auto; color:var(--taupe); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.decision-state-grid h2 { margin:0 0 12px; color:var(--wine); font-size:42px; letter-spacing:-.055em; }
.decision-state-grid > a > p:not(:first-of-type) { color:var(--muted); }
.decision-state-grid > a > div { margin-top:34px; padding-top:18px; border-top:1px solid var(--line); }
.decision-state-grid b,.decision-state-grid small { display:block; }
.decision-state-grid b { color:var(--wine); font-size:11px; }
.decision-state-grid small { margin-top:5px; color:var(--taupe); font-size:10px; }
.decision-state-grid i { position:absolute; right:24px; top:24px; color:var(--coral); font-style:normal; }
.state-example { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; margin-top:42px; background:rgba(67,28,28,.12); border:1px solid rgba(67,28,28,.12); border-radius:14px; }
.state-example > div { min-height:260px; padding:28px; background:rgba(255,255,255,.68); }
.state-example span { color:var(--coral); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.state-example b { display:block; margin:80px 0 10px; color:var(--wine); font-size:22px; line-height:1.25; }
.state-example p { color:var(--muted); font-size:12px; }
.territory-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:16px; background:var(--paper-bright); }
.territory-columns > div > span { display:block; margin:0 0 9px; color:var(--taupe); font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.territory-columns article { min-height:150px; margin-bottom:9px; padding:16px; background:var(--white); border:1px solid var(--line); border-radius:9px; }
.territory-columns article.accent { background:#FCEDE9; }.territory-columns article.wheat { background:#F5ECD7; }
.territory-columns b,.territory-columns p,.territory-columns small { display:block; }
.territory-columns b { color:var(--wine); font-size:12px; }.territory-columns p { color:var(--muted); font-size:9px; }.territory-columns small { margin-top:15px; color:var(--taupe); font-size:7px; }
.usecase-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:40px; }.usecase-grid h3 { margin-top:65px; }
.compare-matrix { display:grid; padding:16px; }
.compare-matrix > div { display:grid; grid-template-columns:1.2fr repeat(3,1fr); align-items:center; min-height:48px; padding:8px 10px; border-bottom:1px solid var(--line); font-size:9px; }
.compare-head { color:var(--taupe); background:var(--paper); border-radius:8px 8px 0 0; font-size:7px!important; font-weight:700; text-transform:uppercase; }
.compare-matrix b { color:var(--wine); }.compare-matrix span { color:var(--muted); }.compare-matrix .best { color:var(--success); font-weight:700; }.muted-cell { color:#aaa!important; }
.compare-note { margin:0 16px 16px; padding:18px; color:var(--wine); background:var(--warm); border-radius:9px; }
.compare-note span { font-size:8px; font-weight:700; text-transform:uppercase; opacity:.65; }.compare-note b { display:block; margin:10px 0 7px; font-size:18px; }.compare-note p { margin:0; color:var(--taupe); font-size:10px; }
.continuity-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:10px; align-items:center; padding:18px; background:var(--paper-bright); }
.continuity-flow > div { min-height:145px; padding:15px; background:var(--white); border:1px solid var(--line); border-radius:9px; }
.continuity-flow > i { color:var(--coral); font-style:normal; }.continuity-flow span,.continuity-flow b,.continuity-flow small { display:block; }.continuity-flow span { color:var(--coral); font-size:7px; font-weight:700; text-transform:uppercase; }.continuity-flow b { margin:42px 0 7px; color:var(--wine); font-size:12px; }.continuity-flow small { color:var(--taupe); font-size:8px; }
.continuity-checks { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:0 18px 18px; background:var(--paper-bright); }.continuity-checks > div { padding:12px; background:var(--white); border:1px solid var(--line); border-radius:8px; }.continuity-checks span,.continuity-checks b { display:block; }.continuity-checks > div > span { color:var(--taupe); font-size:7px; }.continuity-checks b { margin:6px 0 9px; color:var(--wine); font-size:9px; }
.resource-index { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.resource-index > a { display:grid; grid-template-columns:45px 1fr 25px; gap:18px; min-height:260px; padding:26px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-sm); transition:.18s ease; }
.resource-index > a:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }.resource-index > a > span { color:var(--coral); font-size:10px; font-weight:700; }.resource-index h2 { margin-top:65px; }
.film-page { padding:clamp(76px,9vw,128px) 0; }.film-page .film-reel { margin-top:0; }
.film-notes { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:40px; }.film-notes article { min-height:300px; padding:25px; background:rgba(255,255,255,.62); border:1px solid rgba(67,28,28,.12); border-radius:12px; }.film-notes span { color:var(--coral); font-size:9px; font-weight:700; text-transform:uppercase; }.film-notes h3 { margin:65px 0 12px; color:var(--wine); font-size:24px; }.film-notes p,.film-notes li { color:var(--muted); font-size:12px; }.film-notes ul { padding-left:18px; line-height:1.9; }
.lab-page { padding:clamp(76px,9vw,128px) 0; }.lab-intro { display:grid; grid-template-columns:1fr .7fr; gap:60px; align-items:end; margin-bottom:36px; }.lab-intro h2 { margin:8px 0 0; color:var(--wine); font-size:clamp(34px,4.2vw,56px); line-height:1.05; letter-spacing:-.055em; }.lab-intro > p { color:var(--muted); }.lab-page .product-switcher { margin-top:0; }.lab-page .product-stage-wrap { margin-bottom:20px; }
.faq-page { padding:clamp(76px,9vw,128px) 0; }.faq-page .faq-list { max-width:940px; margin:0 auto; }
.studio-grid { display:grid; grid-template-columns:1fr .8fr; gap:90px; align-items:start; }.studio-facts { overflow:hidden; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-md); }.studio-facts > div { padding:22px; border-bottom:1px solid var(--line); }.studio-facts > div:last-child { border-bottom:0; }.studio-facts span,.studio-facts b { display:block; }.studio-facts span { color:var(--taupe); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }.studio-facts b { margin-top:12px; color:var(--wine); font-size:18px; }
.brand-swatch-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:40px; }.brand-swatch-grid > div { padding:18px; background:var(--white); border:1px solid var(--line); border-radius:12px; }.brand-swatch-grid i { height:95px; display:block; margin-bottom:15px; background:var(--swatch); border:1px solid rgba(67,28,28,.1); border-radius:8px; }.brand-swatch-grid b,.brand-swatch-grid span,.brand-swatch-grid small { display:block; }.brand-swatch-grid b { color:var(--wine); }.brand-swatch-grid span { color:var(--taupe); font-size:10px; }.brand-swatch-grid small { margin-top:9px; color:var(--muted); font-size:10px; }
.contact-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; align-items:start; }.contact-details h2 { margin:10px 0 18px; color:var(--wine); font-size:48px; line-height:1.05; letter-spacing:-.055em; }.contact-email { color:var(--coral); font-size:20px; font-weight:600; }.contact-cards { display:grid; gap:10px; margin-top:36px; }.contact-cards article { padding:20px; background:var(--paper); border:1px solid var(--line); border-radius:10px; }.contact-cards span,.contact-cards b { display:block; }.contact-cards span { color:var(--taupe); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }.contact-cards b { margin:8px 0; color:var(--wine); }.contact-cards p { margin:0; color:var(--muted); font-size:12px; }
.lead-form { display:grid; gap:18px; padding:30px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-md); }.lead-form label > span { display:block; margin-bottom:7px; color:var(--wine); font-size:11px; font-weight:600; }.lead-form input,.lead-form textarea,.lead-form select { width:100%; min-height:46px; padding:11px 12px; color:var(--ink); background:var(--paper-bright); border:1px solid var(--line-strong); border-radius:8px; outline:none; }.lead-form textarea { resize:vertical; }.lead-form input:focus,.lead-form textarea:focus,.lead-form select:focus { border-color:var(--coral); box-shadow:0 0 0 3px rgba(231,111,81,.12); }.form-consent label { display:flex; align-items:flex-start; gap:9px; }.form-consent input { width:16px; min-height:16px; margin-top:2px; }.form-consent label > span { color:var(--muted); font-size:10px; font-weight:400; line-height:1.5; }
.briefing-layout { display:grid; grid-template-columns:300px 1fr; gap:50px; align-items:start; }.briefing-aside { position:sticky; top:100px; }.briefing-aside h2 { margin:10px 0 24px; color:var(--wine); font-size:34px; line-height:1.08; letter-spacing:-.05em; }.briefing-checklist { display:grid; gap:10px; }.briefing-checklist > div { display:grid; grid-template-columns:24px 1fr; gap:10px; }.briefing-checklist span { width:22px; height:22px; display:grid; place-items:center; color:var(--white); background:var(--success); border-radius:6px; font-size:9px; }.briefing-checklist p { margin:0; color:var(--muted); font-size:12px; }.briefing-checklist b { color:var(--wine); }.briefing-aside > a { display:block; margin-top:28px; color:var(--coral); font-size:12px; font-weight:700; }.campaign-form { gap:24px; }.form-section { display:grid; grid-template-columns:36px 1fr; gap:18px; padding-bottom:25px; border-bottom:1px solid var(--line); }.form-section > span { width:34px; height:34px; display:grid; place-items:center; color:var(--coral); background:var(--paper); border:1px solid var(--line); border-radius:8px; font-size:9px; font-weight:700; }.form-section h3 { margin:4px 0 18px; color:var(--wine); font-size:22px; }
.policy-section { padding:clamp(76px,9vw,128px) 0; }.policy-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:70px; align-items:start; }.policy-toc { position:sticky; top:96px; display:grid; gap:3px; padding:14px; background:var(--paper); border:1px solid var(--line); border-radius:12px; }.policy-toc > span { padding:8px 10px 12px; color:var(--taupe); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.policy-toc a { padding:9px 10px; color:var(--muted); border-radius:7px; font-size:10px; }.policy-toc a:hover { color:var(--wine); background:var(--white); }.policy-content { min-width:0; }.policy-content > section { padding:0 0 75px; margin-bottom:75px; border-bottom:1px solid var(--line); scroll-margin-top:100px; }.policy-content > section:last-child { margin-bottom:0; border-bottom:0; }.policy-content h2 { margin:9px 0 18px; color:var(--wine); font-size:clamp(34px,4vw,50px); line-height:1.05; letter-spacing:-.055em; }.policy-content p { color:var(--muted); font-size:15px; line-height:1.7; }.policy-callout { margin-top:25px; padding:24px; color:var(--white); background:var(--wine); border-radius:12px; }.policy-callout.soft { color:var(--wine); background:var(--warm); }.policy-callout b { font-size:16px; }.policy-callout p { margin:8px 0 15px; color:inherit; opacity:.75; font-size:12px; }.policy-callout a { color:var(--wheat); font-size:11px; font-weight:700; }.policy-rule-grid,.policy-category-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:30px; }.policy-rule-grid article,.policy-category-grid article { min-height:220px; padding:24px; background:var(--paper); border:1px solid var(--line); border-radius:12px; }.policy-rule-grid span,.policy-category-grid span { color:var(--coral); font-size:9px; font-weight:700; text-transform:uppercase; }.policy-rule-grid h3,.policy-category-grid h3 { margin:55px 0 10px; color:var(--wine); font-size:21px; }.policy-rule-grid p,.policy-category-grid p { margin:0; font-size:12px; }.policy-category-grid article.allowed { border-top:3px solid var(--success); }.policy-fine { margin-top:18px; font-size:11px!important; }.policy-table { display:grid; gap:9px; margin-top:28px; }.policy-tr { display:grid; grid-template-columns:180px 1fr auto; gap:20px; align-items:start; padding:20px; background:var(--paper); border:1px solid var(--line); border-radius:10px; }.policy-tr b { color:var(--wine); font-size:13px; }.policy-tr p { margin:0; font-size:12px; }.prohibited-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:28px; }.prohibited-grid span { padding:14px 16px; color:#873B31; background:#FCEDE9; border:1px solid #F2D3CC; border-radius:8px; font-size:11px; font-weight:600; }.policy-list { display:grid; gap:10px; padding:0; list-style:none; }.policy-list li { position:relative; padding:16px 18px 16px 42px; color:var(--muted); background:var(--paper); border:1px solid var(--line); border-radius:9px; font-size:13px; }.policy-list li::before { content:"✓"; position:absolute; left:16px; top:16px; color:var(--success); font-weight:700; }.policy-process { margin-top:28px; }.policy-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:30px; }.policy-meta > div { padding:16px; background:var(--paper); border:1px solid var(--line); border-radius:9px; }.policy-meta span,.policy-meta b { display:block; }.policy-meta span { color:var(--taupe); font-size:8px; text-transform:uppercase; }.policy-meta b { margin-top:8px; color:var(--wine); font-size:12px; }
.legal-page { padding:clamp(76px,9vw,128px) 0; }.legal-page article { max-width:850px; }.legal-meta { color:var(--coral)!important; font-size:11px!important; font-weight:700; text-transform:uppercase; }.legal-page h2 { margin:55px 0 12px; color:var(--wine); font-size:28px; letter-spacing:-.04em; }.legal-page p,.legal-page li { color:var(--muted); font-size:15px; line-height:1.75; }.legal-page a { color:var(--coral); font-weight:600; }
.not-found { min-height:70vh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-block:100px; }.not-found > span { color:var(--coral); font-size:12px; font-weight:700; }.not-found h1 { max-width:760px; margin:15px 0; color:var(--wine); font-size:clamp(48px,7vw,88px); line-height:.98; letter-spacing:-.065em; }.not-found p { color:var(--muted); font-size:18px; }.not-found > div { display:flex; gap:10px; margin-top:24px; }
.footer-bottom > div { display:flex; gap:14px; }
@media (max-width: 1050px) {
  .section-split,.section-split-reverse { grid-template-columns:1fr; }.section-split-reverse .section-copy { order:0; }
  .deliverable-grid,.usecase-grid { grid-template-columns:1fr 1fr; }.decision-state-grid { grid-template-columns:1fr; }.decision-state-grid > a { min-height:330px; }
  .policy-layout { grid-template-columns:1fr; }.policy-toc { position:static; grid-template-columns:1fr 1fr; }.briefing-layout { grid-template-columns:1fr; }.briefing-aside { position:static; }
}
@media (max-width: 760px) {
  .page-hero { padding-top:55px; }.page-hero h1 { font-size:46px; }.page-lead { font-size:17px; }.page-hero-actions { align-items:stretch; }.page-hero-actions .button { width:100%; }
  .service-index-grid > a { grid-template-columns:42px 1fr; padding:20px; }.service-index-grid > a > i { display:none; }.service-index-grid h2,.resource-index h2 { font-size:24px; }
  .system-flow,.creative-system-grid { grid-template-columns:1fr; }.system-flow > i,.creative-system-grid > i { transform:rotate(90deg); justify-self:center; }.system-flow > div { min-height:130px; }.system-flow b { margin-top:25px; }
  .deliverable-grid,.process-grid,.related-grid,.usecase-grid,.policy-rule-grid,.policy-category-grid,.prohibited-grid,.film-notes,.brand-swatch-grid,.policy-meta { grid-template-columns:1fr; }
  .deliverable-grid article,.usecase-grid article { min-height:190px; }.deliverable-grid h3,.usecase-grid h3 { margin-top:45px; }
  .page-cta { align-items:flex-start; flex-direction:column; padding:30px 24px; border-radius:14px; }.page-cta .button { width:100%; }
  .ui-body-two { grid-template-columns:1fr; }.ui-aside { min-height:270px; border-left:0; border-top:1px solid var(--line); }.ui-metric-grid { grid-template-columns:1fr; }.ui-row { grid-template-columns:1fr; gap:5px; }.ui-row-head { display:none; }.wide-table .ui-row,.experiment-board .ui-row { grid-template-columns:1fr; }.architecture-detail,.experiment-board { padding:18px; }.architecture-detail-head,.experiment-head { align-items:flex-start; flex-direction:column; }
  .state-example,.territory-columns { grid-template-columns:1fr; }.state-example > div { min-height:210px; }.state-example b { margin-top:45px; }
  .compare-matrix { overflow-x:auto; }.compare-matrix > div { min-width:620px; }.continuity-flow { grid-template-columns:1fr; }.continuity-flow > i { transform:rotate(90deg); justify-self:center; }.continuity-checks { grid-template-columns:1fr 1fr; }
  .resource-index { grid-template-columns:1fr; }.resource-index > a { min-height:220px; grid-template-columns:35px 1fr; }.resource-index > a > i { display:none; }.resource-index h2 { margin-top:40px; }
  .lab-intro,.studio-grid,.contact-layout { grid-template-columns:1fr; gap:35px; }.lab-page .product-switcher { max-width:calc(100% - 40px); }.lab-page .product-stage-wrap { width:calc(100% - 40px); }
  .form-row { grid-template-columns:1fr!important; }.form-section { grid-template-columns:1fr; }.form-section > span { margin-bottom:-5px; }
  .policy-toc { grid-template-columns:1fr; }.policy-tr { grid-template-columns:1fr; }.policy-content > section { padding-bottom:55px; margin-bottom:55px; }
  .footer-bottom > div { flex-wrap:wrap; }
}
