@font-face {
  font-family:Anton;
  src:url('../assets/fonts/anton.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:Inter;
  src:url('../assets/fonts/inter-regular.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:Inter;
  src:url('../assets/fonts/inter-semibold.ttf') format('truetype');
  font-weight:600 800;
  font-style:normal;
  font-display:swap
}

:root {
  --ink:#111210;
  --paper:#f2f0e8;
  --red:#ff3b20;
  --gray:#adada5;
  --line:#393a35;
  --font:Inter,Arial,sans-serif;
  --display:Anton,Impact,'Arial Narrow',sans-serif;
  --mono:'SFMono-Regular',Consolas,monospace;
  --gutter:clamp(22px,4vw,80px);
  color-scheme:dark
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:30px
}
body {
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font:400 16px/1.55 var(--font);
  -webkit-font-smoothing:antialiased
}
body.modal-open {
  overflow:hidden
}
button,input {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button {
  color:inherit;
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
img {
  display:block;
  max-width:100%;
  height:auto
}
figure,p,h1,h2,h3 {
  margin:0
}
button:disabled {
  cursor:wait;
  opacity:.65
}
a,button,input,summary {
  touch-action:manipulation
}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {
  outline:3px solid var(--red);
  outline-offset:5px
}
::selection {
  background:var(--red);
  color:var(--ink)
}
[hidden] {
  display:none!important
}
h1,h2 {
  font-family:var(--display);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.015em
}
h2 {
  font-size:clamp(48px,6.9vw,112px)
}
h3 {
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1.15
}
.section-pad {
  padding:100px var(--gutter)
}
.eyebrow,.kicker,.hero-topline,.hero-footer,.stage-note,.image-rail {
  font:400 12px/1.5 var(--mono);
  letter-spacing:.065em
}
.kicker {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:38px
}
.kicker>span:last-child {
  display:flex;
  align-items:center;
  gap:12px
}
.section-intro {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:45px;
  margin-bottom:48px
}
.section-intro>p {
  max-width:370px;
  line-height:1.7;
  padding-bottom:6px
}
.dot {
  display:inline-block;
  background:var(--red);
  width:7px;
  height:7px;
  border-radius:50%;
  margin-right:9px;
  flex:none
}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  background:var(--paper);
  color:var(--ink);
  padding:12px 20px;
  z-index:100
}
.skip-link:focus {
  top:10px
}

.site-header {
  height:86px;
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  gap:40px;
  border-bottom:1px solid var(--line);
  position:relative;
  z-index:10;
  background:var(--ink)
}
.wordmark {
  font-size:25px;
  line-height:1;
  letter-spacing:-.05em;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:8px
}
.wordmark img {
  width:27px;
  height:24px;
  object-fit:contain
}
.wordmark sup {
  font-size:11px;
  align-self:start;
  letter-spacing:0;
  margin-left:-4px;
  margin-top:1px
}
.header-note {
  white-space:nowrap;
  font:11px/1.4 var(--mono);
  letter-spacing:.07em;
  color:var(--gray)
}
#primary-nav {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:32px;
  font-size:14px
}
#primary-nav a {
  padding:12px 0
}
#primary-nav a:hover {
  color:var(--red)
}
#primary-nav .nav-cta {
  border-left:1px solid var(--line);
  padding-left:30px;
  color:var(--red)
}
.nav-cta span {
  display:inline-block;
  margin-left:22px
}
.menu-toggle {
  display:none;
  background:none;
  border:0
}


.hero { padding:24px var(--gutter) 32px; max-width:1800px; margin-inline:auto; }
.poster { position:relative; isolation:isolate; height:clamp(410px,40vw,680px); }
.poster h1 { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:space-between; margin:0; color:var(--red); font-size:clamp(148px,19.3vw,320px); line-height:.9; letter-spacing:-.035em; pointer-events:none; }
.poster h1 span { display:block; white-space:nowrap; }
.poster h1 span:first-child { margin-left:-.035em; }
.poster h1 span:last-child { align-self:flex-end; padding-right:.012em; }
.poster picture { display:block; position:absolute; inset:12.5% 0; z-index:1; overflow:hidden; }
.poster img { width:100%; height:100%; object-fit:cover; object-position:left top; transform:scale(1.18); transform-origin:left top; }
.hero-bottom { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-top:24px; }
.hero-bottom p { color:var(--paper); font-size:16px; line-height:1.7; }
.cta { background:var(--red); color:var(--ink); padding:17px 22px; min-height:58px; min-width:190px; display:inline-flex; align-items:center; justify-content:space-between; gap:30px; border:1px solid transparent; font-size:15px; font-weight:600; transition:background .18s,color .18s; }
.cta>span { font-size:24px; line-height:1; }
.cta:hover { background:var(--paper); color:var(--ink); }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid currentColor; padding:12px 0; font-size:14px; }
.text-link:hover { color:var(--red); }
.section-pad { padding:72px var(--gutter); }
.section-intro { align-items:end; margin-bottom:32px; }
.section-intro h2 { font-size:clamp(46px,5.4vw,88px); margin-top:18px; }
.section-intro>p { color:var(--gray); }
.product { background:var(--paper); color:var(--ink); color-scheme:light; }
.product .section-intro>p { color:#53544e; }
.product-image,.product-image img { display:block; width:100%; }
.product-image img { height:auto; }
.faq {
  background:var(--paper);
  color:var(--ink);
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:70px;
  color-scheme:light
}

.faq h2 {
  font-size:clamp(43px,4.6vw,74px);
  margin:27px 0
}

.faq-intro>p {
  color:#5a5b54;
  font-size:15px;
  line-height:1.8
}

.faq-list details {
  border-top:1px solid #c4c5bb
}

.faq-list details:last-child {
  border-bottom:1px solid #c4c5bb
}
summary {
  cursor:pointer;
  list-style:none
}
summary::-webkit-details-marker {
  display:none
}

.faq-list summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:23px 0;
  font-size:17px;
  line-height:1.4;
  font-weight:600
}

.faq-list summary>span {
  font-size:26px;
  font-weight:400;
  transition:transform .18s
}

.faq-list details[open] summary>span {
  transform:rotate(45deg)
}

.faq-list p {
  padding:0 28px 24px 0;
  color:#53544e;
  line-height:1.8;
  font-size:15px
}

.closing {
  background:var(--red);
  color:var(--ink);
  padding-top:40px;
  padding-bottom:48px
}

.closing .kicker {
  border-bottom:1px solid #11121066;
  padding-bottom:22px;
  margin-bottom:28px
}

.closing h2 {
  font-size:clamp(130px,23vw,400px);
  line-height:.92;
  letter-spacing:-.025em
}

.closing h2 br {
  display:none
}

.closing-bottom {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:28px;
  margin-top:40px
}

.closing-bottom>p {
  font-size:19px;
  line-height:1.6
}
.cta-dark {
  background:var(--ink);
  color:var(--paper)
}
.cta-dark:hover {
  background:var(--paper);
  color:var(--ink)
}

.closing a:focus-visible {
  outline-color:var(--ink)
}
.site-footer {
  padding:38px var(--gutter);
  display:flex;
  align-items:start;
  gap:50px
}
.site-footer>.wordmark {
  margin-top:7px
}
.site-footer p {
  font-size:12px;
  color:var(--gray);
  margin-bottom:15px
}
.site-footer nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  max-width:700px
}
.site-footer nav a,.site-footer nav button {
  font-size:12px;
  color:var(--gray);
  padding:0;
  background:none;
  border:0;
  text-align:left;
  line-height:1.7
}
.site-footer nav a:hover,.site-footer nav button:hover {
  color:var(--paper)
}
.back-top {
  font-size:12px;
  margin-left:auto;
  white-space:nowrap;
  padding-top:5px
}
.back-top>span {
  margin-left:17px
}

dialog {
  padding:0;
  border:1px solid var(--line);
  color:var(--paper);
  background:var(--ink);
  color-scheme:dark;
  max-height:calc(100dvh - 40px);
  max-width:calc(100% - 32px);
  width:600px;
  overflow:auto
}

dialog::backdrop {
  background:rgba(5,7,6,.82);
  backdrop-filter:blur(6px)
}
.dialog-body {
  padding:42px;
  position:relative
}
.dialog-close {
  border:0;
  background:none;
  display:flex;
  align-items:center;
  gap:13px;
  font-size:12px;
  position:absolute;
  right:20px;
  top:17px;
  padding:8px;
  z-index:1
}
.dialog-close span {
  font-size:25px;
  line-height:1
}
.dialog-body>.eyebrow {
  display:block;
  margin:12px 0 24px;
  color:var(--gray)
}
.dialog-body h2 {
  font-size:65px;
  line-height:1.05;
  margin-bottom:18px
}
.dialog-body>p {
  color:var(--gray);
  font-size:15px
}
#waitlistForm {
  margin-top:26px
}
.field-label {
  display:block;
  font-size:14px;
  margin-bottom:8px;
  font-weight:600
}
#waitlistForm input:not([type=checkbox]) {
  width:100%;
  padding:13px 15px;
  min-height:52px;
  border:1px solid #696b62;
  background:#1c1e1a;
  color:var(--paper);
  border-radius:0;
  font-size:16px
}
#waitlistForm input::placeholder {
  color:#adada5
}
.optional-fields {
  margin:19px 0 26px;
  border-bottom:1px solid var(--line);
  padding-bottom:17px
}
.optional-fields summary {
  font-size:14px;
  display:flex;
  justify-content:flex-start;
  gap:8px;
  padding:10px 12px;
  border:1px solid #696b62;
  background:#1c1e1a
}
.optional-fields summary:hover {
  background:#262923;
  border-color:var(--gray)
}
.optional-fields summary:after {
  content:'+';
  font-size:18px
}
.optional-fields[open] summary:after {
  content:'−'
}
.optional-fields summary span {
  color:var(--gray);
  margin-left:0
}
.optional-fields>div {
  padding-top:20px
}
.optional-fields .field-label:not(:first-child) {
  margin-top:15px
}
.check-label {
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:12px;
  font-size:13px;
  line-height:1.6;
  margin-bottom:18px
}
.check-label input {
  accent-color:var(--red);
  width:18px;
  height:18px;
  flex:none;
  margin:1px 0 0
}
.collection-notice {
  font-size:12px;
  line-height:1.7;
  color:var(--gray);
  margin:20px 0
}
.collection-notice a {
  text-decoration:underline;
  text-underline-offset:3px
}
.submit-cta {
  width:100%;
  margin-top:2px
}
.submit-cta:hover {
  background:var(--paper);
  color:var(--ink)
}
#successMessage:not(:empty) {
  margin-top:18px;
  padding:13px;
  border-left:3px solid #65b891;
  background:#1d3229;
  color:#e0f1e6;
  font-size:14px
}
#successMessage[data-state=error]:not(:empty) {
  border-color:#ff806b;
  background:#35211c;
  color:#ffddd4
}
html:not(.enhanced) #waitlistDialog {
  display:block;
  position:static;
  margin:30px auto
}
html:not(.enhanced) .image-open {
  cursor:default
}
html:not(.enhanced) .zoom-label {
  display:none
}
#imageDialog {
  width:1350px;
  background:var(--ink);
  color:var(--paper);
  color-scheme:dark
}
.image-dialog-body {
  padding:65px 20px 20px;
  position:relative
}
#expandedImage {
  width:100%;
  object-fit:contain;
  max-height:75dvh
}
#imageCaption {
  font-size:14px;
  color:var(--gray);
  margin-top:18px
}


/* Quiet supporting sections leave the opening and closing statements room. */
.faq { border-top:1px solid #c4c5bb; }
.faq h2 { font-size:clamp(42px,4.6vw,70px); }
.faq-list p { font-size:16px; }
.faq-waitlist-link { font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.closing { padding-top:46px; padding-bottom:40px; }
.closing h2 { font-size:clamp(80px,16vw,280px); line-height:1; }
.closing h2 span { display:block; }
.closing h2 span:last-child { text-align:right; }
.closing-bottom { margin-top:28px; }
.closing-bottom>p { font-size:17px; }
.cta-dark { background:var(--ink); color:var(--paper); }
#waitlistDialog[open] { display:flex; flex-direction:column; overflow:hidden; }
#waitlistDialog .dialog-body { overflow-y:auto; min-height:0; padding:30px 32px 16px; }
#waitlistDialog .dialog-body>.eyebrow { margin:4px 0 18px; }
#waitlistDialog .dialog-body h2 { font-size:42px; margin-bottom:12px; }
#waitlistForm { margin-top:18px; }
#waitlistForm input:not([type=checkbox]) { min-height:44px; padding:10px 12px; }
#waitlistForm>input + .check-label { margin-top:18px; }
.optional-fields { margin:12px 0 16px; padding-bottom:12px; }
.optional-fields summary { min-height:44px; align-items:center; }
.collection-notice { margin:14px 0; }
.waitlist-footer { flex:none; padding:12px 32px max(16px,env(safe-area-inset-bottom)); background:var(--ink); border-top:1px solid var(--line); }
.waitlist-footer .submit-cta { margin:0; }
.screenshot-zoom-controls { display:none; }
@media(max-width:1100px) {
 .header-note { display:none; }
 #primary-nav { gap:24px; }
 .hero-bottom { gap:24px; }
 .section-intro { gap:30px; }
 .faq { gap:40px; }
}
@media(max-width:1023px) {
 .product-image.zoom-window { height:clamp(160px,38vw,280px); overflow:auto; background:#171918; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
 .product-image.zoom-window:not(.is-zoomed) { height:auto; overflow:hidden; }
 .product-image.zoom-window img { width:calc(100% * var(--screenshot-scale,1)); max-width:none; height:auto; user-select:none; }
 .zoom-window.is-zoomed { cursor:grab; }
 .zoom-window.is-dragging { cursor:grabbing; }
 .screenshot-zoom-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; }
 .screenshot-zoom-toggle { background:none; border:0; padding:10px 0; min-height:44px; color:#53544e; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
 .screenshot-zoom-hint { font-size:12px; color:#53544e; }
 .hero-bottom { align-items:start; }
}
@media(max-width:767px) {
 .site-header { height:68px; gap:18px; }
 .site-header .wordmark { font-size:22px; }
 .enhanced .menu-toggle { display:flex; margin-left:auto; gap:20px; align-items:center; min-height:44px; }
 .menu-toggle span { font-size:23px; }
 .enhanced #primary-nav { display:none; position:absolute; left:0; right:0; top:68px; background:var(--ink); padding:12px var(--gutter) 20px; border-bottom:1px solid var(--line); }
 .enhanced #primary-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 #primary-nav { gap:12px; flex-wrap:wrap; font-size:12px; }
 #primary-nav .nav-cta { border-left:0; padding-left:0; }
 #primary-nav a { padding:13px 0; }
 .hero { padding-top:20px; padding-bottom:28px; }
 .poster { height:88vw; min-height:320px; max-height:560px; }
 .poster h1 { font-size:23.2vw; line-height:.92; }
 .poster picture { inset:12.5% 0; }
 .poster img { object-position:47% 0%; transform:none; }
 .hero-bottom { flex-direction:column; gap:20px; margin-top:20px; }
 .hero-bottom p { font-size:16px; }
 .section-pad { padding:46px var(--gutter); }
 .section-intro { display:block; margin-bottom:24px; }
 .section-intro h2 { font-size:clamp(40px,10.5vw,64px); margin-top:16px; }
 .section-intro>p { max-width:none; margin-top:18px; font-size:16px; }
 .faq { display:block; }
 .faq-intro { margin-bottom:24px; }
 .faq h2 { font-size:44px; margin:16px 0; }
 .faq-list summary { font-size:16px; padding:19px 0; }
 .faq-list p { padding-right:0; }
 .closing h2 { font-size:21vw; }
 .closing-bottom { flex-direction:column; align-items:stretch; gap:22px; margin-top:24px; }
 .closing-bottom>p { font-size:16px; }
 .closing .cta { width:100%; }
 .site-footer { padding:28px var(--gutter); flex-wrap:wrap; gap:24px; }
 .site-footer>div { order:3; width:100%; }
 .site-footer nav { gap:0 20px; }
 .site-footer nav a,.site-footer nav button,.back-top { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
 dialog { max-height:calc(100dvh - 24px); max-width:calc(100% - 24px); }
 #waitlistDialog .dialog-body { padding:28px 24px 16px; }
 #waitlistDialog .dialog-body h2 { font-size:34px; }
 .waitlist-footer { padding-left:24px; padding-right:24px; }
 .dialog-close { top:8px; right:10px; }
 .check-label,.collection-notice { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
}
body .shotro-consent { font-family:var(--font); }
body .shotro-consent__panel,body .shotro-consent button { border-radius:0; }
body .shotro-consent h2 { font-family:var(--font); }

/* Native vertical scrolling drives the horizontal production sequence. */
.workflow-viewport { overflow:hidden; }
.workflow-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; margin-top:28px; }
.workflow-scroll-hint { font:11px var(--mono); letter-spacing:.06em; color:var(--gray); }
.workflow-scroll-hint>span { margin-left:12px; }
.workflow-skip { margin-left:auto; font-size:12px; border-bottom:1px solid var(--line); padding:7px 0; }
.workflow-skip:hover { color:var(--red); }
.workflow-progress { width:100%; height:2px; background:var(--line); }
.workflow-progress>span { display:block; width:100%; height:100%; background:var(--red); transform-origin:left; transform:scaleX(.2); }
.workflow-sequence.is-pinned { position:relative; }
.workflow-sequence.is-pinned>.workflow-sequence-frame { position:sticky; top:0; }
.workflow.is-pinned { position:relative; }
.is-pinned>.workflow-sticky { height:auto; padding:48px var(--gutter) 64px; display:flex; flex-direction:column; justify-content:flex-start; }
.workflow.is-pinned .kicker { margin-bottom:20px; }
.workflow.is-pinned .section-intro { margin-bottom:24px; }
.workflow.is-pinned .section-intro h2 { font-size:clamp(48px,4.8vw,88px); }
.workflow.is-pinned .workflow-tabs { margin-top:0; }
.workflow.is-pinned .workflow-viewport { flex-shrink:0; }
.workflow-panels.is-pinned { display:flex; column-gap:24px; width:100%; will-change:transform; }
.workflow-panels.is-pinned .workflow-panel { flex:0 0 100%; min-width:0; padding:25px 0 0; min-height:390px; }
.workflow.is-pinned .stage-image { min-height:0; height:350px; }
.workflow.is-pinned .stage-image img { max-height:310px; }
.workflow.is-pinned #stage-world .stage-image img { height:310px; object-fit:cover; }
.workflow-panel:focus-visible { outline:2px solid var(--red); outline-offset:-2px; }
.workflow.is-pinned .script-sheet { min-height:350px; padding:25px 36px; font-size:13px; }
.workflow.is-pinned .script-sheet .slugline { margin-top:22px; }
.workflow.is-pinned .script-direction { margin:20px 0 26px; }
.workflow.is-pinned .stage-copy h3 { font-size:clamp(36px,3.4vw,58px); }
.workflow.is-pinned .workflow-footer { margin-top:16px; gap:12px; }
.workflow {
  border-bottom:1px solid var(--line)
}

.workflow .section-intro h2 {
  font-size:clamp(46px,5.7vw,94px)
}

.workflow .section-intro>p {
  color:var(--gray);
  max-width:360px
}

.workflow-tabs {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin-top:48px;
  border-bottom:1px solid var(--line)
}

.workflow-tabs button {
  background:transparent;
  color:var(--gray);
  border:0;
  border-top:1px solid var(--line);
  border-right:1px solid var(--line);
  padding:20px 22px;
  display:flex;
  align-items:center;
  gap:14px;
  font-size:16px;
  text-align:left
}

.workflow-tabs button:first-child {
  border-left:1px solid var(--line)
}

.workflow-tabs button>span {
  font:12px var(--mono)
}

.workflow-tabs b {
  margin-left:auto;
  opacity:0;
  font-weight:400
}

.workflow-tabs button[aria-selected=true] {
  background:var(--red);
  color:var(--ink);
  border-color:var(--red)
}

.workflow-tabs button[aria-selected=true] b {
  opacity:1
}

.workflow-tabs button:hover:not([aria-selected=true]) {
  background:#252622;
  color:var(--paper)
}

.workflow-panel {
  display:grid;
  grid-template-columns:.85fr 1.4fr;
  gap:60px;
  padding:42px 0 0;
  align-items:center;
  min-height:460px
}

.workflow-panel+.workflow-panel {
  border-top:1px solid var(--line);
  margin-top:40px
}

.workflow-panels.is-tabbed .workflow-panel {
  border:0;
  margin:0
}
.stage-copy h3 {
  font-size:clamp(32px,3.6vw,58px);
  margin:20px 0
}
.stage-copy>p {
  color:var(--gray);
  max-width:390px;
  font-size:16px;
  line-height:1.7
}
.stage-note {
  display:block;
  color:var(--gray);
  margin-top:30px;
  font-size:11px;
  line-height:1.8
}
.script-sheet {
  background:var(--paper);
  color:var(--ink);
  font:14px/1.7 var(--mono);
  padding:32px 45px;
  min-height:390px;
  position:relative
}
.script-top {
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding-bottom:24px;
  border-bottom:1px solid #cfcdc3;
  font-size:11px
}
.script-sheet>p {
  max-width:500px;
  margin-top:20px
}
.script-sheet .slugline {
  font-weight:700;
  margin-top:36px
}
.script-direction {
  border-left:2px solid var(--red);
  padding-left:15px;
  margin:24px 0 35px
}
.script-direction>span {
  font-size:11px;
  color:#60615a
}
.script-page {
  position:absolute;
  bottom:18px;
  right:25px;
  font-size:11px
}
.stage-image {
  background:#050505;
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.stage-image img {
  width:100%;
  height:auto;
  max-height:410px;
  object-fit:contain
}
/* Restore cinematic pacing: workspace on cream, process on ink, one audience invitation. */
.workflow { background:var(--ink); color:var(--paper); }
.workflow .section-intro h2 { text-transform:uppercase; }
.workflow .kicker { font-size:11px; }
.workflow .stage-copy h3 { font-family:var(--font); }
.workflow .stage-image { min-width:0; }
.audience { padding:40px 16px 16px; background:var(--ink); }
.audience-card { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:space-between; min-height:480px; padding:42px; overflow:hidden; color:var(--paper); }
.audience-card>img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:left center; }
.audience-card::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.40) 55%,rgba(0,0,0,.2)); }
.audience-type { font:500 13px/1.5 var(--font); letter-spacing:.04em; }
.audience-content { max-width:740px; }
.audience-content h2 { font-size:clamp(62px,7.5vw,120px); line-height:1; margin:32px 0 20px; }
.audience-content h2 span { display:block; }
.audience-content h2 span:first-child { color:var(--red); }
.audience-cta { display:flex; justify-content:space-between; align-items:center; max-width:420px; border-top:1px solid #ffffff66; padding-top:18px; font-size:15px; font-weight:600; }
.audience-cta>span { font-size:24px; }
.audience-card:focus-visible { outline:3px solid var(--paper); outline-offset:-8px; }
@media(max-width:1100px) {
 .workflow-panel { gap:35px; min-height:420px; }
 .workflow-tabs button { padding:18px 15px; gap:10px; }
 .script-sheet { padding:24px 30px; }
}
@media(min-width:768px) and (max-width:1023px) {
 .workflow-panel { grid-template-columns:1fr; gap:28px; }
 .stage-copy>p { max-width:640px; }
 .stage-image { min-height:0; }
 .workflow-tabs button { padding:18px 12px; gap:8px; font-size:15px; }
}
@media(max-width:767px) {
 .hero-bottom { align-items:stretch; gap:18px; }
 .hero-bottom br { display:none; }
 .hero-bottom .cta { align-self:start; min-width:190px; }
 .workflow .section-intro h2 { font-size:clamp(40px,10.5vw,64px); }
 .workflow-panel { display:flex; flex-direction:column; align-items:stretch; gap:22px; padding-top:24px; min-height:0; }
 .workflow-panel+.workflow-panel { padding-top:30px; margin-top:30px; }
 .stage-copy h3 { font-size:32px; margin:12px 0; }
 .stage-copy h3 br { display:none; }
 .stage-copy>p { max-width:none; font-size:16px; }
 .script-sheet { padding:24px; min-height:330px; font-size:12px; line-height:1.8; }
 .script-top { font-size:10px; }
 .script-sheet .slugline { margin-top:24px; }
 .stage-image { min-height:0; }
 .workflow-progress { display:none; }
 .audience { padding:24px 10px 10px; }
 .audience-card { min-height:440px; padding:26px; }
 .audience-card>img { object-position:left center; }
 .audience-content h2 { font-size:clamp(40px,12vw,78px); }
 .audience-type { font-size:11px; }
}

.crew-summary,.continuity-note { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:40px; padding-top:30px; margin-top:32px; border-top:1px solid #c4c5bb; }
.continuity-note h3 { font-family:var(--display); font-weight:400; font-size:clamp(30px,2.6vw,42px); line-height:1.05; letter-spacing:-.015em; }
.crew-summary p,.continuity-note p { color:#53544e; font-size:16px; }
.continuity-note { grid-template-columns:minmax(170px,.7fr) minmax(120px,.5fr) minmax(0,2.2fr); align-items:center; gap:24px; }
.continuity-visual { min-width:0; }
.continuity-visual-crop { overflow:hidden; background:#202124; }
.continuity-visual img { display:block; width:100%; height:auto; }
@media(max-width:1023px) { .continuity-note { grid-template-columns:1fr 1fr; gap:18px; } .continuity-note>p { grid-column:1/-1; } .continuity-visual { width:50%; } }
@media(max-width:767px) { .crew-summary,.continuity-note { grid-template-columns:1fr; gap:14px; margin-top:24px; padding-top:24px; } }

.department-detail { margin-top:24px; }
.department-detail figcaption { margin-top:12px; font-size:13px; color:#53544e; }

/* Department overview precedes the interface it explains. */
.crew-departments { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; margin:24px 0 0; }
.crew-departments dt { font-weight:600; font-size:20px; letter-spacing:-.025em; }
.crew-departments dd { margin:8px 0 0; font-size:14px; line-height:1.5; color:#5c5d55; }
.faq-waitlist-link { color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.faq-waitlist-link:hover { text-decoration-thickness:2px; }
@media(max-width:767px) {
 .crew-departments { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; }
 .crew-departments dt { font-size:19px; }
 .crew-departments dd { margin-top:3px; }
}

/* Match every homepage section to the hero’s centered content edges. */
:root { --page-inset:max(var(--gutter),calc((100% - 1800px) / 2 + var(--gutter))); }
.site-header, .section-pad, .site-footer, .is-pinned>.workflow-sticky {
 padding-left:var(--page-inset);
 padding-right:var(--page-inset);
}
.audience { padding-inline:var(--page-inset); }

#product-title, .crew-summary h3 { text-transform:uppercase; }
.crew-summary h3 { font-family:var(--display); font-weight:400; line-height:1.05; letter-spacing:-.015em; font-size:clamp(36px,3.6vw,58px); }

@media(max-width:767px) { #product-title { font-size:clamp(32px,9vw,64px); } }

@media(min-width:768px) and (max-width:1023px) {
 .product .section-intro { display:block; }
 .product .section-intro>p { max-width:none; margin-top:18px; }
}

/* Readable labels for the five connected departments in the process. */
.process-departments { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; padding:18px 16px; color:var(--paper); font:500 16px/1.5 var(--font); text-align:center; }
@media(max-width:767px) { .process-departments { grid-template-columns:repeat(2,minmax(0,1fr)); text-align:left; gap:10px 16px; } }
