/* study.css */
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-variable-400-700-latin-ext.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-variable-400-700-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Chivo Mono';src:url('fonts/chivo-mono-latin.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--font-sans:'DM Sans',Arial,sans-serif;--title-weight:400;--v-white:#fff;--v-surface:#f8f8f8;--v-ink:#202020;--v-muted:#5f5f5f;--v-blue:#0a3eff;--v-navy:#10296e;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s14:56px;--nav-height:72px;--section-space:104px;--hero-top:164px;--display:56px;--heading:40px;--body:13px;--lead:14px;--action:13px;--meta:12px;--motion:160ms ease-out}
*{box-sizing:border-box}html{scroll-padding-top:var(--nav-height)}body{margin:0;background:var(--v-white);color:var(--v-ink);font:400 var(--body)/1.5 var(--font-sans)}a{color:inherit}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--v-blue);outline-offset:4px}button{cursor:pointer}h1,h2,p,figure{margin:0}h1,h2{font-weight:var(--title-weight);letter-spacing:-.04em}h2{font-size:var(--heading);line-height:1.2}svg{width:var(--s6);height:var(--s6);fill:none;stroke:currentColor;stroke-width:1.5}
.study-header{position:absolute;z-index:3;inset:0 0 auto;min-height:var(--nav-height);background:var(--v-surface);display:flex;align-items:center;gap:var(--s8);padding:var(--s4) var(--s10)}.wordmark{font-size:var(--lead);font-weight:500;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}.wordmark span{color:var(--v-blue)}.study-label,.eyebrow{font:400 var(--meta)/1.5 'Chivo Mono',monospace;text-transform:uppercase;color:var(--v-muted)}.study-header nav{margin-left:auto;display:flex;align-items:center;gap:var(--s6)}.study-header nav>a{font-size:var(--action);padding:var(--s2) 0;text-decoration:none}.study-header nav>a:hover{text-decoration:underline}.study-header .small-action{background:var(--v-blue);color:var(--v-white);padding:var(--s2) var(--s4)}.small-action span{margin-left:var(--s3)}
.hero{position:relative;isolation:isolate;min-height:max(801px,100svh);padding:var(--hero-top) var(--s10) var(--s12);display:flex;flex-direction:column;justify-content:space-between;gap:var(--s14);overflow:hidden}.hero-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);pointer-events:none}.hero h1{font-size:var(--display);line-height:1.1;max-width:800px;flex:1}.hero p{font-size:var(--lead);line-height:1.4;color:var(--v-muted);width:368px;flex-shrink:0}.hero canvas{position:absolute;z-index:0;left:0;bottom:0;width:100%;height:68%;pointer-events:none}.hero-actions{position:relative;z-index:1;display:flex;gap:var(--s4);justify-content:flex-end}.action-tile{font-size:var(--action);width:262px;min-height:150px;padding:10px var(--s4);display:flex;justify-content:space-between;gap:var(--s3);align-items:flex-start;background:var(--v-blue);color:var(--v-white);text-decoration:none;transition:background-color var(--motion)}.action-tile--dark{background:var(--v-navy)}.action-tile:hover{background:var(--v-navy)}.action-tile--dark:hover{background:var(--v-blue)}.action-tile:active{transform:translateY(1px)}
.controls-section,.reference-section{padding:var(--section-space) var(--s10);scroll-margin-top:var(--s6)}.controls-section{background:var(--v-surface)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:var(--s14);align-items:start;margin-bottom:var(--s12)}.section-heading h2{margin-top:var(--s4);max-width:600px}.section-heading p{max-width:520px;color:var(--v-muted)}.section-heading p a{display:inline-block;margin-top:var(--s4);color:var(--v-blue)}.controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s8)}.controls label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4)}.controls output{color:var(--v-muted);font-variant-numeric:tabular-nums}.controls input{width:100%;height:var(--s8);margin:0;accent-color:var(--v-blue)}.control-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4)}.control-actions button{border:1px solid var(--v-ink);padding:var(--s3) var(--s4);background:transparent;color:var(--v-ink);min-height:48px}.control-actions button:first-child{background:var(--v-blue);color:var(--v-white);border-color:var(--v-blue)}.control-actions button:hover{background:var(--v-navy);color:var(--v-white)}.control-actions a{padding:var(--s3) 0}.motion-status{margin-top:var(--s6);color:var(--v-muted)}.reference-section img{width:100%;height:auto;display:block}.reference-section figcaption{font-size:var(--meta);color:var(--v-muted);margin-top:var(--s3)}
@media(max-width:1000px){:root{--display:36px;--heading:30px;--nav-height:56px;--hero-top:104px}.study-header{padding:var(--s3) var(--s4);gap:var(--s4)}.study-label{display:none}.study-header nav{gap:var(--s4)}.hero{padding:var(--hero-top) var(--s4) var(--s12);min-height:max(812px,100svh)}.hero-top{display:block}.hero h1{line-height:1.2}.hero p{font-size:var(--body);width:368px;max-width:100%;margin-top:var(--s6)}.hero-actions{justify-content:flex-start}.hero canvas{height:55%}.controls-section,.reference-section{padding:var(--s14) var(--s4)}.controls{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{gap:var(--s8)}}
@media(max-width:560px){.study-header nav>a{font-size:var(--action)}.study-header nav>a:first-child{display:none}.hero h1{font-size:var(--display)}.hero p{background:var(--v-white)}.hero-actions .action-tile{width:calc((100% - var(--s4))/2);font-size:var(--action);padding:var(--s3);min-height:150px}.action-tile svg{width:var(--s4);height:var(--s4);flex-shrink:0}.section-heading{grid-template-columns:1fr}.controls{gap:var(--s6)}.control-actions{align-items:stretch}.control-actions button{flex:1}.reference-section figcaption{font-size:var(--meta)}}
.brand-study{--brand-inset:40px;--brand-space:104px;--brand-title-gap:23px;--brand-window:64px;--brand-gap:115px;--brand-edge:39px;--brand-fade:48px;--brand-speed:37;--brand-opacity:.8;--brand-title-leading:1.5;scroll-margin-top:var(--s6)}
.brand-band{padding:var(--brand-space) var(--brand-inset);background:var(--v-surface)}
.brand-band__title{font:400 var(--body)/var(--brand-title-leading) var(--font-sans);letter-spacing:normal;text-align:center;color:var(--v-muted);margin-bottom:var(--brand-title-gap)}
.brand-band__viewport{overflow:auto;position:relative}
.brand-band__viewport:focus-visible{outline:3px solid var(--v-blue);outline-offset:var(--s1)}
.brand-band__track{display:flex;width:max-content;align-items:center}
.brand-band__logos{display:flex;align-items:center;flex-shrink:0;gap:var(--brand-gap);padding:0 var(--brand-edge);margin:0;list-style:none}
.brand-mark{flex:0 0 auto;display:flex;align-items:center;--mark-offset:0px}
.brand-mark img{display:block;object-fit:contain;height:var(--mark-height);width:auto;max-width:var(--mark-width,97px);opacity:var(--brand-opacity);filter:grayscale(1) contrast(1);transform:translateY(var(--mark-offset))}
.brand-mark--google{--mark-height:30px}.brand-mark--openai{--mark-height:25px}.brand-mark--meta{--mark-height:18px}.brand-mark--amazon{--mark-height:53px;--mark-width:78px;--mark-offset:3px}.brand-mark--palantir{--mark-height:53px;--mark-offset:-5px}.brand-mark--tesla{--mark-height:120px;--mark-width:126px}.brand-mark--scale{--mark-height:36px;--mark-width:186px;--mark-offset:-6px}
.brand-study--ready .brand-band__viewport{height:var(--brand-window);overflow:hidden;display:flex;align-items:center;mask-image:linear-gradient(90deg,transparent,#000 var(--brand-fade),#000 calc(100% - var(--brand-fade)),transparent)}
.brand-study__caption{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) var(--brand-inset);font-size:var(--meta);color:var(--v-muted);background:var(--v-white)}
.brand-band__pause{--brand-control-height:44px;--brand-control-font:var(--action);flex-shrink:0;min-height:var(--brand-control-height);background:none;border:0;padding:var(--s2);font-size:var(--brand-control-font);color:var(--v-ink)}
.brand-band__pause:hover{text-decoration:underline}.brand-band__pause[aria-pressed="true"]{color:var(--v-blue)}
@media(max-width:1000px){.brand-study{--brand-inset:16px;--brand-space:64px;--brand-title-leading:1.4}}
@media(max-width:560px){.brand-study__caption{align-items:flex-start;flex-direction:column;gap:var(--s1)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.action-tile:active{transform:none}.brand-study--ready .brand-band__viewport{height:auto;overflow:visible;mask-image:none}.brand-band__track{width:100%;transform:none!important}.brand-band__logos{width:100%;flex-wrap:wrap;justify-content:center;gap:var(--s8) var(--s12);padding:0}.brand-band__logos[aria-hidden="true"]{display:none}}

/* architecture.css */
.method-study {
  --method-inset: 40px;
  --method-space: 104px;
  --method-intro-width: 850px;
  --method-intro-gap: 10px;
  --method-content-width: 540px;
  --method-height: 513.328px;
  --method-radius: 2px;
  --method-title: 36px;
  --method-card-padding: var(--s8);
  --method-photo-tint: rgba(16, 41, 110, .70);
  --method-blue-tint: rgba(6, 37, 158, .70);
  --method-label-border: rgba(255, 255, 255, .65);
  padding: var(--method-space) var(--method-inset);
}
.method-intro {
  max-width: var(--method-intro-width);
  margin: 0 auto var(--s14);
  display: grid;
  gap: var(--method-intro-gap);
  text-align: center;
}
.method-intro__copy { display: grid; gap: var(--s6); color: var(--v-muted); }
.method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4); }
.method-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--method-height);
  border-radius: var(--method-radius);
  padding: var(--method-card-padding);
  color: var(--v-white);
  background: var(--v-navy);
  display: flex;
  align-items: flex-start;
}
.method-card__photo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.method-card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--method-photo-tint); }
.method-card--wide { grid-column: 1 / -1; align-items: center; justify-content: center; text-align: center; }
.method-card--blue { background: var(--v-blue); }
.method-card--blue::before { background: var(--method-blue-tint); }
.method-card__content { display: flex; flex-direction: column; gap: var(--s3); max-width: var(--method-content-width); width: 100%; }
.method-card--wide .method-card__content { gap: var(--s8); }
.method-card__copy { display: grid; gap: var(--s3); }
.method-card h3 { font-size: var(--method-title); font-weight: var(--title-weight); line-height: 1.1; letter-spacing: -.02em; margin: 0; }
.method-step { align-self: flex-start; border: 1px solid var(--method-label-border); padding: var(--s1) var(--s2); font-size: var(--meta); text-transform: uppercase; }
.method-card--wide .method-step { align-self: center; }
.method-card__link { align-self: center; display: inline-flex; align-items: center; gap: var(--s6); min-height: var(--s12); padding: var(--s2) var(--s4); background: var(--v-white); color: var(--v-blue); font-size: var(--action); text-decoration: none; }
.method-card__link:hover { text-decoration: underline; }
.method-card__link:focus-visible { outline-color: var(--v-white); }
.photo-credits { display: grid; gap: var(--s2); margin-top: var(--s4); color: var(--v-muted); font-size: var(--meta); scroll-margin-top: var(--s6); }
@media (max-width: 1000px) {
  .method-study { --method-inset: 16px; --method-space: 56px; --method-card-padding: var(--s6); --method-title: 28px; }
}
@media (max-width: 560px) {
  .method-study { --method-height: 440px; }
  .method-grid { grid-template-columns: minmax(0, 1fr); }
}

/* dashboard.css */
.audit-screen {
  --screen-paper: #fff;
  --screen-surface: #f4f5f6;
  --screen-ink: #40474d;
  --screen-muted: #717982;
  --screen-teal: #229f94;
  --screen-line: #e8ebee;
  --screen-blue: #0a3eff;
  --screen-width: 948.512px;
  --screen-height: 515px;
  --screen-header: 24px;
  --screen-pad: 8px;
  --screen-gap: 8px;
  --screen-title: 12px;
  --screen-label: 10px;
  --screen-metric: 18px;
  --screen-chart: 220px;
  position: relative;
  width: var(--screen-width);
  height: var(--screen-height);
  margin: 0;
  overflow: hidden;
  color: var(--screen-ink);
  background: var(--screen-paper);
  font-family: var(--font-sans, 'DM Sans', Arial, sans-serif);
  font-size: var(--screen-label);
  line-height: 1.25;
}

.audit-screen__caption {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.audit-screen__chrome {
  height: var(--screen-header);
  padding: 0 var(--screen-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--screen-line);
}

.audit-screen__brand {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.audit-screen h4,
.audit-screen p,
.audit-screen ol {
  margin: 0;
}

.audit-screen h4 {
  font-size: var(--screen-title);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
}

.audit-screen__brand h4 {
  color: var(--screen-ink);
}

.audit-screen__brand p,
.audit-screen__demo,
.audit-screen .audit-kpi p,
.audit-screen .audit-kpi span,
.audit-screen .audit-phase p,
.audit-screen .audit-chart__heading p {
  color: var(--screen-muted);
}

.audit-screen__demo {
  font-size: var(--screen-label);
}

.audit-screen__kpis {
  padding: var(--screen-pad);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--screen-gap);
}

.audit-screen .audit-kpi {
  min-height: 56px;
  padding: 7px 8px;
  background: var(--screen-surface);
  border: 1px solid var(--screen-line);
  display: grid;
  align-content: start;
  gap: 2px;
}

.audit-screen .audit-kpi strong {
  color: var(--screen-ink);
  font-size: var(--screen-metric);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.audit-screen .audit-kpi span {
  padding-top: 3px;
  border-top: 2px solid var(--screen-teal);
  font-size: var(--screen-label);
}

.audit-screen__phases {
  padding: 0 var(--screen-pad);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--screen-gap);
}

.audit-screen .audit-phase {
  min-height: 166px;
  padding: 8px;
  background: var(--screen-paper);
  border: 1px solid var(--screen-line);
  border-top: 2px solid var(--screen-teal);
}

.audit-screen .audit-phase--accent {
  border-top-color: var(--screen-blue);
}

.audit-screen .audit-phase p {
  margin-top: 3px;
}

.audit-screen .audit-phase ol {
  margin-top: 9px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 5px;
}

.audit-screen .audit-phase li {
  min-height: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid var(--screen-line);
  color: var(--screen-ink);
}

.audit-screen .audit-phase b {
  color: var(--screen-teal);
  font-weight: 600;
  white-space: nowrap;
}

.audit-screen .audit-chart {
  height: var(--screen-chart);
  margin: var(--screen-gap) var(--screen-pad) 0;
  padding: 8px;
  background: var(--screen-surface);
  border: 1px solid var(--screen-line);
}

.audit-screen .audit-chart__heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.audit-screen .audit-chart__svg {
  stroke: none;
  width: 100%;
  height: 176px;
  margin-top: 8px;
  display: block;
}

.audit-screen .audit-chart__grid {
  fill: none;
  stroke: var(--screen-line);
  stroke-width: 1;
}

.audit-screen .audit-chart__axis {
  fill: var(--screen-muted);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.audit-screen .audit-chart__area {
  fill: color-mix(in srgb, var(--screen-teal) 13%, transparent);
}

.audit-screen .audit-chart__line {
  fill: none;
  stroke: var(--screen-teal);
  stroke-width: 2;
  stroke-linecap: round;
}

.audit-screen .audit-chart__point {
  color: var(--screen-teal);
  fill: var(--screen-paper);
  stroke: currentColor;
  stroke-width: 1.6;
}

.audit-screen .audit-chart__point--blue {
  color: var(--screen-blue);
}

.audit-screen .audit-chart__point text {
  fill: currentColor;
  stroke: none;
  font-size: 10px;
  font-weight: 600;
}

/* optimization.css */
.optimization {
  --optimization-surface: rgba(16, 41, 110, .57);
  --optimization-copy-width: 320px;
  --optimization-copy-gap: 19px;
  --optimization-screen-left: 408px;
  --optimization-screen-top: 54px;
  --optimization-screen-width: 795px;
  --optimization-screen-height: 515.328px;
  --optimization-travel: 330;
  --optimization-wire-width: 685px;
  --optimization-wire-duration: 2400;
  --optimization-wire-delay: 200;
  grid-column: 1 / -1;
  min-width: 0;
  min-height: var(--method-height);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: var(--method-radius);
  background: var(--optimization-surface);
  padding: var(--s8);
  color: var(--v-white);
  display: flex;
  align-items: center;
  scroll-margin-top: var(--s6);
}
.optimization__copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--optimization-copy-gap); max-width: var(--optimization-copy-width); }
.optimization__copy h3 { font-size: var(--method-title); font-weight: var(--title-weight); line-height: 1.1; letter-spacing: -.02em; margin: 0; }
.optimization__copy .method-card__link { align-self: flex-start; }
.optimization__wires { position: absolute; top: 0; left: 0; width: var(--optimization-wire-width); height: 100%; pointer-events: none; stroke: none; }
.optimization__wire { fill: none; stroke: url(#optimization-thread); stroke-width: 1.6; opacity: .85; }
.optimization__glint { fill: white; filter: url(#optimization-glow); }
.optimization__screen { position: absolute; z-index: 2; left: var(--optimization-screen-left); top: var(--optimization-screen-top); width: var(--optimization-screen-width); height: var(--optimization-screen-height); overflow: hidden; transform: translate3d(0,0,0); }
.optimization__screen .audit-screen { position: absolute; top: 50%; left: 0; transform-origin: top left; transform: scale(var(--screen-scale, .838157)) translateY(-50%); }
.optimization-caption { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--s3); color: var(--v-muted); font-size: var(--meta); margin-top: var(--s4); scroll-margin-top: var(--s6); }
.optimization-pause { min-height: 44px; padding: var(--s2); background: transparent; border: 0; color: var(--v-ink); font-size: var(--action); }
.optimization-pause:hover { text-decoration: underline; }
.optimization-pause[aria-pressed="true"] { color: var(--v-blue); }
@media (max-width: 1000px) {
  .optimization { padding: var(--s6); flex-direction: column; gap: var(--s4); }
  .optimization__screen { position: relative; top: auto; left: auto; width: 100%; height: auto; aspect-ratio: 1.84177; }
}
@media (prefers-reduced-motion: reduce) {
  .optimization__screen { transform: none !important; }
}

/* benefits.css */
.benefit-study {
  --benefit-inset: 40px;
  --benefit-space: 104px;
  --benefit-column-gap: 50px;
  --benefit-intro-width: 470px;
  --benefit-copy-width: 430px;
  --benefit-item-width: 353px;
  --benefit-intro-gap: 30px;
  --benefit-title: 36px;
  --benefit-height: 657px;
  --fan-width: 767px;
  --fan-height: 642px;
  --fan-right: 18px;
  --fan-bottom: -10px;
  --fan-cycle: 5000;
  --fan-base-opacity: .2;
  padding: var(--benefit-space) var(--benefit-inset);
  background: var(--v-surface);
  overflow: clip;
}
.benefit-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--benefit-column-gap); }
.benefit-intro { position: relative; min-height: var(--benefit-height); isolation: isolate; }
.benefit-intro__copy { position: relative; z-index: 1; display: grid; gap: var(--benefit-intro-gap); max-width: var(--benefit-intro-width); }
.benefit-intro__copy p { max-width: var(--benefit-copy-width); font-size: var(--lead); color: var(--v-muted); }
.wire-fan { position: absolute; right: var(--fan-right); bottom: var(--fan-bottom); width: var(--fan-width); height: var(--fan-height); fill: none; stroke: none; pointer-events: none; }
.wire-fan__paths { stroke: var(--v-blue); stroke-width: 2; fill: none; }
.wire-fan__base { opacity: var(--fan-base-opacity); }
.wire-fan__window { fill: var(--v-ink); stroke: none; }
.benefit-details { min-width: 0; }
.benefit-list { display: grid; gap: var(--s10); padding: 0; margin: 0; list-style: none; }
.benefit-item { display: grid; gap: var(--s2); max-width: var(--benefit-item-width); }
.benefit-number { color: var(--v-blue); margin-bottom: var(--s2); }
.benefit-number, .benefit-item h3 { font-size: var(--benefit-title); font-weight: var(--title-weight); line-height: 1.1; letter-spacing: -.02em; }
.benefit-item h3 { margin: 0; }
.benefit-item p { color: var(--v-muted); }
.benefit-action { display: inline-flex; align-items: center; gap: var(--s3); margin-top: var(--s14); min-height: var(--s12); padding: var(--s2) var(--s4); background: var(--v-blue); color: var(--v-white); font-size: var(--action); text-decoration: none; transition: background var(--motion); }
.benefit-action:hover { background: var(--v-navy); }
.benefit-action:active { opacity: .85; }
.benefit-action svg { width: var(--s4); height: var(--s4); }
.benefit-pause { display: block; margin-top: var(--s4); border: 0; background: transparent; color: var(--v-muted); padding: var(--s2) 0; min-height: var(--s12); font-size: var(--action); }
.benefit-pause[hidden] { display: none; }
.benefit-pause:hover { text-decoration: underline; }
.ecosystem-study { --ecosystem-space: 62px; --ecosystem-mark: 18px; --ecosystem-cell: 190px; }
.ecosystem-study .brand-band { padding-block: var(--ecosystem-space); background: var(--v-white); }
.ecosystem-mark { flex: 0 0 var(--ecosystem-cell); display: flex; align-items: center; justify-content: center; gap: var(--s3); color: var(--v-ink); font-size: var(--ecosystem-mark); letter-spacing: -.02em; white-space: nowrap; }
.ecosystem-mark img { display: block; flex: 0 0 32px; width: 32px; height: 32px; object-fit: contain; }
@media (max-width: 1000px) {
  .benefit-study { --benefit-inset: 16px; --benefit-space: 64px; --benefit-title: 28px; }
  .benefit-layout { grid-template-columns: minmax(0, 1fr); gap: var(--s12); }
  .benefit-intro { min-height: 0; }
  .benefit-intro__copy { max-width: none; }
  .benefit-intro__copy p { max-width: var(--benefit-copy-width); }
  .wire-fan, .benefit-pause { display: none; }
}

/* domains.css */
.domain-study {
  --domains-space: var(--section-space);
  --domains-inset: var(--s10);
  --domains-intro-width: 725px;
  --domains-intro-gap: var(--s6);
  --domains-grid-gap: var(--s6);
  --domains-grid-offset: var(--s14);
  --domains-note-offset: 93px;
  --domains-title: var(--heading);
  --domains-card-title: 28px;
  --domains-copy: var(--body);
  --domains-copy-color: #e2e2e2;
  --domains-mark-size: 32px;
  --domains-pixel-size: 6px;
  padding: var(--domains-space) var(--domains-inset);
  background: var(--v-navy);
  color: var(--v-white);
  scroll-margin-top: var(--s6);
}

.domain-study__intro {
  display: grid;
  gap: var(--domains-intro-gap);
  max-width: var(--domains-intro-width);
  margin: 0 auto;
  text-align: center;
}

.domain-study__intro h2 {
  margin: 0;
  font-size: var(--domains-title);
  font-weight: var(--title-weight);
  line-height: 1.2;
}

.domain-study__intro p {
  margin: 0;
  font-size: var(--lead);
  line-height: 1.4;
  color: var(--domains-copy-color);
}

.domain-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--domains-grid-gap);
  margin-top: var(--domains-grid-offset);
}

.domain-item {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: var(--s4);
}

.pixel-mark {
  width: var(--domains-mark-size);
  height: var(--domains-mark-size);
  color: var(--v-white);
  overflow: visible;
  stroke: none;
}

.pixel-mark rect {
  width: var(--domains-pixel-size);
  height: var(--domains-pixel-size);
  fill: currentColor;
}

.pixel-mark [data-domain-pixel] {
  transform-box: fill-box;
  transform-origin: center;
}

.domain-item h3 {
  max-width: 8.5em;
  margin: 0;
  font-size: var(--domains-card-title);
  font-weight: var(--title-weight);
  line-height: 1.12;
}

.domain-item p {
  margin: 0;
  margin-top: calc(-1 * var(--s2));
  font-size: var(--domains-copy);
  line-height: 1.5;
  color: var(--domains-copy-color);
}

.domain-study__note {
  max-width: var(--domains-intro-width);
  margin: var(--domains-note-offset) auto 0;
  font-size: var(--meta);
  line-height: 1.5;
  color: var(--domains-copy-color);
  text-align: center;
}

@media (max-width: 1000px) {
  .domain-study {
    --domains-space: 64px;
    --domains-inset: var(--s4);
    --domains-note-offset: var(--s12);
    --domains-title: var(--heading);
    --domains-card-title: 24px;
  }

  .domain-study__intro {
    margin-inline: 0;
    text-align: left;
  }

  .domain-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .domain-item h3 {
    max-width: none;
  }

  .domain-study__note {
    margin-inline: 0;
    text-align: left;
  }
}

/* finish.css */
.ecosystem-study .brand-study__caption { padding-block: var(--s1); gap: var(--s2); align-items: center; }
.ecosystem-study .brand-band__pause { --brand-control-height: 28px; padding-block: var(--s1); align-self: center; }
.integration-study { --integration-height:340px; --integration-gap:60px; --integration-radius:20px; --integration-light:#a8c6ff; --integration-dark:#17275d; --tool-size:58px; --tool-icon:28px; --tool-gap:40px; --tool-cycle:18000; position:relative; isolation:isolate; padding:var(--section-space) var(--s10); overflow:clip; }
.integration-grid { position:absolute; inset:0; width:100%; height:100%; z-index:-1; stroke:var(--v-ink); stroke-width:1; opacity:.07; mask-image:linear-gradient(#000,transparent); }
.integration-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:var(--integration-gap); padding:100px var(--s10); }
.integration-copy { display:grid; gap:20px; justify-items:start; }
.integration-copy p { color:var(--v-muted); max-width:540px; font-size:var(--lead); }
.finish-action { display:inline-flex; align-items:center; justify-content:center; gap:var(--s3); min-height:44px; padding:var(--s2) var(--s4); color:var(--v-white); background:var(--v-blue); text-decoration:none; font-size:var(--action); transition:background var(--motion); }
.finish-action:hover { background:var(--v-navy); }
.finish-action--navy { background:var(--v-navy); }.finish-action--navy:hover { background:var(--v-ink); }
.finish-action--white { background:var(--v-white); color:var(--v-blue); }.finish-action--white:hover { background:var(--v-surface); }
.integration-visual { position:relative; height:var(--integration-height); border-radius:var(--integration-radius); background:linear-gradient(var(--integration-light),var(--integration-dark)); overflow:hidden; }
.tool-definitions { position:absolute; width:0; height:0; }
.tool-columns { display:flex; justify-content:space-evenly; height:100%; padding:20px 10px; mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent); }
.tool-column { flex:1; min-width:0; height:100%; overflow:hidden; }.tool-track { display:flex; flex-direction:column; }.tool-group { display:grid; justify-items:center; gap:var(--tool-gap); padding-bottom:var(--tool-gap); }
.tool-tile { position:relative; width:var(--tool-size); height:var(--tool-size); display:grid; place-content:center; justify-items:center; gap:var(--s1); background:var(--v-white); color:var(--v-navy); border-radius:var(--s2); }
.tool-tile svg { width:var(--tool-icon); height:var(--tool-icon); }.tool-tile span { font-size:var(--meta); line-height:1; position:absolute; left:50%; transform:translateX(-50%); top:calc(100% + 6px); color:white; }
.finish-caption { display:flex; align-items:center; justify-content:space-between; gap:var(--s4); margin-top:var(--s3); color:var(--v-muted); font-size:var(--meta); }
.finish-caption button { border:0; background:none; padding:var(--s2); min-height:44px; color:inherit; }.finish-caption button:hover { text-decoration:underline; }.finish-caption button[hidden] { display:none; }
.closing-study { --closing-height:350px; --closing-title:36px; --closing-travel:40; --footer-travel:80; --closing-photo-tint:rgba(16,41,110,.78); padding:var(--s10) var(--s10) var(--s4); overflow:clip; background:var(--v-surface); }
.closing-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s4); max-width:1200px; margin:auto; }
.closing-card { position:relative; isolation:isolate; overflow:hidden; min-height:var(--closing-height); padding:var(--s6); display:flex; flex-direction:column; justify-content:space-between; gap:var(--s8); color:var(--v-white); }
.closing-card .eyebrow { color:var(--v-white); }.closing-card h2 { font-size:var(--closing-title); line-height:1.1; max-width:350px; margin-bottom:var(--s6); }
.closing-card--electric { background:var(--v-blue); }.closing-card--photo { background:var(--v-blue); }
.closing-card--photo::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--closing-photo-tint); }
.closing-card__photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.closing-card canvas { position:absolute; inset:0; width:100%; height:100%; z-index:-1; filter:invert(1); opacity:.65; }
.closing-study>.finish-caption { max-width:1200px; margin:var(--s1) auto; }
.finish-footer { max-width:1200px; margin:var(--s4) auto 0; padding:var(--s10) var(--s10) var(--s6); color:var(--v-white); background:var(--v-navy); }
.finish-footer__main { display:flex; justify-content:space-between; align-items:flex-end; gap:var(--s12); min-height:270px; }
.finish-footer__brand { display:grid; gap:var(--s4); }.finish-footer__brand .wordmark { font-size:20px; }.finish-footer__brand p { max-width:376px; }
.finish-footer nav { display:flex; gap:var(--s12); }.finish-footer ul { list-style:none; margin:0; padding:0; }.finish-footer li a { min-height:44px; display:flex; align-items:center; gap:var(--s8); padding:var(--s3); text-decoration:none; font:var(--meta)/1.5 'Chivo Mono',monospace; text-transform:uppercase; }.finish-footer li a:hover { background:rgba(255,255,255,.08); }.finish-footer li a span { opacity:.65; }.finish-footer a:focus-visible,.closing-card a:focus-visible { outline-color:white; }
.finish-footer__note { margin-top:var(--s14); padding-top:var(--s3); border-top:1px solid rgba(255,255,255,.3); font-size:var(--meta); }
@media(max-width:1000px) { .integration-study { padding:0; }.integration-panel { grid-template-columns:minmax(0,1fr); gap:20px; padding:64px var(--s4); }.integration-study>.finish-caption { margin:0 var(--s4) var(--s6); }.closing-study { --closing-title:28px; padding:var(--s6) var(--s4) var(--s4); }.finish-footer { padding:var(--s6); }.finish-footer__main { align-items:flex-start; flex-direction:column; gap:var(--s6); }.finish-footer nav { flex-wrap:wrap; } }
@media(max-width:560px) { .ecosystem-study .brand-study__caption { align-items:flex-start; }.ecosystem-study .brand-band__pause { align-self:flex-start; }.closing-cards { grid-template-columns:minmax(0,1fr); }.finish-caption { align-items:flex-start; flex-direction:column; gap:var(--s1); }.finish-footer nav { gap:0; flex-direction:column; }.tool-tile { width:48px; }.tool-tile span { font-size:var(--meta); }.integration-visual { --tool-size:48px; } }
@media(pointer:coarse) { .ecosystem-study .brand-band__pause { --brand-control-height:44px; } }
@media(prefers-reduced-motion:reduce) { .tool-track { transform:none!important; }.tool-group[aria-hidden] { display:none; }.integration-visual { height:auto; }.tool-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s3); mask-image:none; }.tool-column { overflow:visible; }.tool-group { gap:56px; padding-bottom:var(--s6); }.tool-tile span { display:block; } }

/* cases.css */
.case-study {
  --case-inset: var(--s10);
  --case-space: 104px;
  --case-card-gap: var(--s4);
  --case-header-copy: 540px;
  --case-card-padding: var(--s8);
  --case-stack-top: 110px;
  --case-stack-bottom: var(--s6);
  --case-card-column-gap: var(--s12);
  --case-surface-grey: #f4f4f4;
  padding: 0 var(--case-inset) var(--case-space);
  background: var(--v-white);
  scroll-margin-top: var(--s6);
}

.case-study__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--case-header-copy));
  gap: var(--case-card-gap);
  align-items: start;
  margin-bottom: var(--s14);
}

.case-study__header h2 {
  max-width: 680px;
}

.case-study__header p {
  margin: 0;
  color: var(--v-muted);
  font-size: var(--lead);
  line-height: 1.4;
}

.case-stack {
  display: grid;
  gap: var(--case-card-gap);
  isolation: isolate;
}

@media (prefers-reduced-motion: no-preference) {
  .case-stack[data-stack-ready] > .case-card:not(:last-child) {
    position: sticky;
    top: min(var(--case-stack-top), calc(100svh - var(--case-card-height) - var(--case-stack-bottom)));
  }
}

.case-card {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--case-card-column-gap);
  align-items: center;
  min-width: 0;
  padding: var(--case-card-padding);
  color: var(--v-ink);
  background: var(--case-surface-grey);
}

.case-card:focus-within {
  z-index: 1;
}

.case-card--navy,
.case-card--blue {
  color: var(--v-white);
}

.case-card--navy {
  background: var(--v-navy);
}

.case-card--blue {
  background: var(--v-blue);
}

.case-card__summary,
.case-card__actions {
  display: grid;
  align-content: start;
}

.case-card__summary {
  gap: var(--s3);
}

.case-card__mark {
  display: flex;
  gap: var(--s2);
}

.case-card__mark span {
  flex: 0 0 auto;
  background: currentColor;
}

.case-card__mark span {
  width: 10px;
  height: 10px;
}

.case-card__label,
.study-dialog__eyebrow {
  margin: 0;
  font: 400 var(--meta)/1.5 'Chivo Mono', monospace;
  text-transform: uppercase;
}

.case-card__label {
  opacity: .72;
}

.case-card h3 {
  margin: 0;
  font-size: 28px;
  font-weight: var(--title-weight);
  line-height: 1.12;
  letter-spacing: -.02em;
}

.case-card p {
  margin: 0;
}

.case-card__summary > p:last-child,
.capability-list {
  font-size: var(--body);
  line-height: 1.5;
}

.case-card__summary > p:last-child {
  color: color-mix(in srgb, currentColor 78%, transparent);
}

.capability-list {
  display: grid;
  align-self: center;
  gap: var(--s3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.capability-list li {
  display: grid;
  grid-template-columns: var(--s6) minmax(0, 1fr);
  gap: var(--s3);
  align-items: start;
}

.capability-list svg {
  width: var(--s6);
  height: var(--s6);
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: square;
  stroke-linejoin: miter;
  opacity: .86;
}

.case-card__actions {
  align-self: center;
  gap: 10px;
}

.case-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: var(--s2) var(--s4);
  border: 0;
  border-radius: 0;
  font-size: var(--action);
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}

.case-action--primary {
  color: var(--v-white);
  background: var(--v-blue);
}

.case-card--blue .case-action--primary {
  color: var(--v-blue);
  background: var(--v-white);
}

.case-card--navy .case-action--primary {
  color: var(--v-navy);
  background: var(--v-white);
}

.case-action--secondary {
  color: var(--v-white);
  background: var(--v-navy);
}

.case-card--navy .case-action--secondary {
  color: var(--v-white);
  background: var(--v-blue);
}

.case-card--blue .case-action--secondary {
  color: var(--v-white);
  background: var(--v-navy);
}

.case-action:hover {
  text-decoration: underline;
}

.study-dialog {
  width: min(620px, calc(100% - 32px));
  max-height: calc(100% - 32px);
  padding: 0;
  border: 0;
  color: var(--v-ink);
  background: transparent;
}

.study-dialog::backdrop {
  background: color-mix(in srgb, var(--v-navy) 46%, transparent);
}

.study-dialog__panel {
  display: grid;
  gap: var(--s4);
  padding: var(--s6);
  background: var(--v-white);
}

.study-dialog__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--s4);
}

.study-dialog__eyebrow {
  color: var(--v-muted);
}

.study-dialog__close {
  min-height: 44px;
  border: 1px solid var(--v-ink);
  background: transparent;
  color: var(--v-ink);
  padding: var(--s2) var(--s4);
  font-size: var(--action);
}

.study-dialog__close:hover,
.study-dialog__link:hover {
  text-decoration: underline;
}

.study-dialog h3 {
  margin: 0;
  font-size: 28px;
  font-weight: var(--title-weight);
  line-height: 1.12;
  letter-spacing: -.02em;
}

.study-dialog p,
.study-dialog li {
  font-size: var(--body);
  line-height: 1.5;
}

.study-dialog p,
.study-dialog ul {
  margin: 0;
}

.study-dialog ul {
  display: grid;
  gap: var(--s2);
  padding-left: var(--s4);
}

.study-dialog__link {
  justify-self: start;
  min-height: 44px;
  padding: var(--s2) 0;
  color: var(--v-blue);
  font-size: var(--action);
}

.quote-banner {
  --quote-min-height: 440px;
  position: relative;
  isolation: isolate;
  min-height: var(--quote-min-height);
  display: grid;
  place-items: center;
  padding: 104px var(--s10);
  overflow: hidden;
  color: var(--v-white);
  background: var(--v-navy);
  scroll-margin-top: var(--s6);
}

.quote-banner img,
.quote-banner__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.quote-banner img {
  z-index: -2;
  object-fit: cover;
}

.quote-banner__overlay {
  z-index: -1;
  background: color-mix(in srgb, var(--v-navy) 78%, transparent);
}

.quote-banner__content {
  display: grid;
  gap: var(--s6);
  width: min(1190px, 100%);
  text-align: center;
}

.quote-banner__glyph {
  width: var(--s8);
  height: var(--s8);
  justify-self: center;
  color: color-mix(in srgb, var(--v-white) 78%, transparent);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.quote-banner h2 {
  margin: 0;
  max-width: 980px;
  justify-self: center;
  font-size: 36px;
  line-height: 1.3;
  letter-spacing: -.02em;
}

.quote-banner__attribution,
.quote-banner__credit {
  margin: 0 auto;
  max-width: 660px;
}

.quote-banner__attribution {
  font-size: var(--body);
  color: color-mix(in srgb, var(--v-white) 82%, transparent);
}

.quote-banner__credit {
  font-size: var(--meta);
  line-height: 1.5;
  color: color-mix(in srgb, var(--v-white) 72%, transparent);
}

.quote-banner__credit a {
  text-underline-offset: 3px;
}

@media (max-width: 1000px) {
  .case-study {
    --case-inset: var(--s4);
    --case-space: 64px;
    --case-card-padding: var(--s8);
  }

  .case-study__header,
  .case-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .case-study__header {
    gap: var(--s6);
  }

  .case-study__header p {
    font-size: var(--body);
  }

  .case-card {
    gap: var(--s6);
  }

  .quote-banner {
    --quote-min-height: 440px;
    padding: 64px var(--s4);
  }

  .quote-banner h2 {
    font-size: 28px;
  }
}

/* contact.css */
.booking-section {
  width: min(100% - 80px, 1200px);
  margin: 0 auto;
  padding-block: var(--section-space, 104px);
  color: var(--fil-ink);
  scroll-margin-top: 88px;
}

.booking-section h2 {
  max-width: 725px;
  margin: 0 auto var(--s12, 48px);
  font-size: var(--heading, 40px);
  font-weight: var(--title-weight, 400);
  line-height: 1.2;
  letter-spacing: -.04em;
  text-align: center;
}

.booking-section__calendar {
  width: 100%;
  min-height: 540px;
  overflow: auto;
}

.booking-section__fallback {
  margin: var(--s4, 16px) 0 0;
  text-align: center;
  font-size: var(--body, 13px);
  color: var(--fil-ink-muted);
}

.booking-section__fallback a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--fil-cyan-ink);
  text-underline-offset: 4px;
}

.booking-section__fallback a:focus-visible {
  outline: 3px solid var(--fil-focus);
  outline-offset: 3px;
}

@media (max-width: 1000px) {
  .booking-section { width: calc(100% - 32px); padding-block: 64px; }
}

@media (max-width: 560px) {
  .booking-section h2 { text-align: left; font-size: 32px; margin-bottom: 32px; }
  .booking-section__calendar { min-height: 600px; }
}

.discovery-form {
  --discovery-space: var(--section-space, 104px);
  --discovery-inset: var(--s10, 40px);
  --discovery-intro-width: 725px;
  --discovery-intro-gap: var(--s6, 24px);
  --discovery-panel-width: 640px;
  --discovery-routes-width: 1200px;
  --discovery-panel-offset: var(--s14, 56px);
  --discovery-gap: var(--s4, 16px);
  --discovery-label-gap: var(--s2, 8px);
  --discovery-panel-radius: 16px;
  --discovery-panel-padding: var(--s6, 24px);
  --discovery-panel: #202020;
  --discovery-field: #242424;
  --discovery-border: #454545;
  --discovery-copy: #d7d7d7;
  padding: var(--discovery-space) var(--discovery-inset);
  background: var(--v-white, #fff);
  color: var(--v-ink, #202020);
  scroll-margin-top: var(--s6, 24px);
}

.discovery-form__intro,
.faq-grid__intro {
  display: grid;
  gap: var(--discovery-intro-gap, var(--s6, 24px));
  max-width: var(--discovery-intro-width, 725px);
  margin: 0 auto;
  text-align: center;
}

.discovery-form__intro h2,
.faq-grid__intro h2 {
  margin: 0;
  font-size: var(--heading, 40px);
  font-weight: var(--title-weight, 400);
  line-height: 1.2;
  letter-spacing: -.04em;
}

.discovery-form__intro p,
.faq-grid__intro p {
  margin: 0;
  font-size: var(--lead, 14px);
  line-height: 1.4;
  color: var(--v-muted, #5f5f5f);
}

.discovery-form__panel {
  display: grid;
  gap: var(--discovery-gap);
  width: min(100%, var(--discovery-panel-width));
  margin: var(--discovery-panel-offset) auto 0;
  padding: var(--discovery-panel-padding);
  border: 0;
  border-radius: var(--discovery-panel-radius);
  background: var(--discovery-panel);
  color: var(--v-white, #fff);
}

.discovery-form__routes {
  display: grid;
  grid-template-columns: minmax(0, var(--discovery-panel-width)) minmax(0, 1fr);
  gap: var(--discovery-gap);
  width: min(100%, var(--discovery-routes-width));
  margin: var(--discovery-panel-offset) auto 0;
}

.discovery-form__routes .discovery-form__panel {
  width: 100%;
  margin: 0;
}

.discovery-form__booking {
  display: grid;
  align-content: space-between;
  gap: var(--s8, 32px);
  min-width: 0;
  padding: var(--discovery-panel-padding);
  border-radius: var(--discovery-panel-radius);
  background: var(--v-surface, #f8f8f8);
}

.discovery-form__booking > div {
  display: grid;
  gap: var(--s4, 16px);
}

.discovery-form__booking h3 {
  margin: 0;
  font-size: var(--heading, 40px);
  font-weight: var(--title-weight, 400);
  line-height: 1.2;
  letter-spacing: -.04em;
}

.discovery-form__booking p {
  margin: 0;
  color: var(--v-muted, #5f5f5f);
  font-size: var(--body, 13px);
  line-height: 1.5;
}

.discovery-form__booking-action {
  display: inline-flex;
  width: max-content;
  min-height: var(--s12, 48px);
  align-items: center;
  justify-content: center;
  padding: var(--s2, 8px) var(--s4, 16px);
  background: var(--v-blue, #0a3eff);
  color: var(--v-white, #fff);
  font-size: var(--action, 13px);
  text-decoration: none;
  transition: background-color var(--motion, 160ms ease-out);
}

.discovery-form__booking-action:hover {
  background: var(--v-navy, #10296e);
}

.discovery-form__booking .discovery-form__booking-note {
  font-size: var(--meta, 12px);
}

.discovery-form__booking-unavailable {
  padding-top: var(--s4, 16px);
  border-top: 1px solid var(--fil-rule, #dbdcdc);
}

.discovery-form__notice {
  margin: 0;
  font-size: var(--meta, 12px);
  line-height: 1.5;
  color: var(--discovery-copy);
}

.discovery-form__fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--discovery-gap);
}

.discovery-field {
  display: grid;
  gap: var(--discovery-label-gap);
  min-width: 0;
  font-size: var(--body, 13px);
  line-height: 1.5;
}

.discovery-field--wide {
  grid-column: 1 / -1;
}

.discovery-field span {
  color: var(--discovery-copy);
}

.discovery-field input,
.discovery-field select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--discovery-border);
  border-radius: 0;
  background: var(--discovery-field);
  color: var(--v-white, #fff);
  padding: 0 var(--s3, 12px);
  font: inherit;
}

.discovery-field select {
  appearance: auto;
}

.discovery-field input:user-invalid,
.discovery-field select:user-invalid {
  border-color: var(--v-blue, #0a3eff);
}

.discovery-field input:focus-visible,
.discovery-field select:focus-visible,
.faq-item summary:focus-visible {
  outline: 3px solid var(--v-blue, #0a3eff);
  outline-offset: 3px;
}

.discovery-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s3, 12px);
  align-items: center;
}

.discovery-form__submit,
.discovery-form__reset {
  min-height: 44px;
  border: 0;
  padding: var(--s2, 8px) var(--s4, 16px);
  font-size: var(--action, 13px);
  color: var(--v-white, #fff);
  background: var(--v-blue, #0a3eff);
  transition: background-color var(--motion, 160ms ease-out);
}

.discovery-form__submit:disabled {
  cursor: not-allowed;
  opacity: .52;
}

.discovery-form__reset {
  color: var(--v-white, #fff);
  background: transparent;
  border: 1px solid var(--discovery-border);
}

.discovery-form__submit:hover,
.discovery-form__reset:hover {
  background: var(--v-navy, #10296e);
}

.discovery-form__status {
  min-height: 0;
  color: var(--discovery-copy);
  font-size: var(--body, 13px);
  line-height: 1.5;
}

.discovery-form__status[hidden] {
  display: none;
}

.discovery-form__status p {
  margin: 0;
}

.discovery-form__status strong {
  color: var(--v-white, #fff);
  font-weight: 400;
}

.faq-grid {
  --faq-space-start: var(--s12, 48px);
  --faq-space-end: var(--section-space, 104px);
  --faq-inset: var(--s10, 40px);
  --faq-intro-width: 725px;
  --faq-intro-gap: var(--s6, 24px);
  --faq-grid-offset: var(--s14, 56px);
  --faq-row: 56px;
  --faq-row-bg: var(--v-surface, #f8f8f8);
  --faq-open-bg: #dedede;
  padding: var(--faq-space-start) var(--faq-inset) var(--faq-space-end);
  background: var(--v-white, #fff);
  color: var(--v-ink, #202020);
  scroll-margin-top: var(--s6, 24px);
}

.faq-grid__columns {
  display: grid;
  align-items: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s1, 4px);
  margin-top: var(--faq-grid-offset);
}

.faq-grid__group {
  display: grid;
  gap: var(--s1, 4px);
  min-width: 0;
}

.faq-item {
  background: var(--faq-row-bg);
  transition: background-color var(--motion, 160ms ease-out);
}

.faq-item[open] {
  background: var(--faq-open-bg);
}

.faq-item summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--s6, 24px);
  gap: var(--s4, 16px);
  align-items: center;
  min-height: var(--faq-row);
  padding: var(--s2, 8px) var(--s4, 16px);
  font-size: var(--body, 13px);
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: var(--s6, 24px);
  height: var(--s6, 24px);
  color: var(--v-ink, #202020);
  font-size: 20px;
  line-height: 1;
}

.faq-item[open] summary::after {
  content: "-";
}

.faq-item p {
  margin: 0;
  padding: 0 var(--s10, 40px) var(--s4, 16px);
  color: var(--v-muted, #5f5f5f);
  font-size: var(--body, 13px);
  line-height: 1.5;
  opacity: 0;
  transform: translateY(4px);
  animation: faq-reveal var(--motion, 160ms ease-out) forwards;
}

.faq-grid__action {
  display: flex;
  width: max-content;
  min-height: var(--s12, 48px);
  align-items: center;
  justify-content: center;
  margin: var(--s14, 56px) auto 0;
  padding: var(--s2, 8px) var(--s4, 16px);
  background: var(--v-blue, #0a3eff);
  color: var(--v-white, #fff);
  font-size: var(--action, 13px);
  text-decoration: none;
  transition: background-color var(--motion, 160ms ease-out);
}

.faq-grid__action:hover {
  background: var(--v-navy, #10296e);
}

@keyframes faq-reveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1000px) {
  .discovery-form {
    --discovery-space: 64px;
    --discovery-inset: var(--s4, 16px);
    --discovery-panel-padding: 20px;
  }

  .discovery-form__routes {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-grid {
    --faq-space-start: 0;
    --faq-space-end: 64px;
    --faq-inset: var(--s4, 16px);
  }

  .discovery-form__intro,
  .faq-grid__intro {
    margin-inline: 0;
    text-align: left;
  }

  .faq-grid__columns {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-grid__action {
    margin-inline: 0;
  }
}

@media (max-width: 560px) {
  .discovery-form__actions {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .discovery-form__submit,
  .discovery-form__reset,
  .discovery-form__booking-action,
  .faq-grid__action,
  .faq-item {
    transition: none;
  }

  .faq-item p {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* fil-audit-tokens.css */
/* FIL AUDIT — Operator / Cyan Field
   Values sampled from the approved artboard
   (design/operator-notation-explorations/05-cyan-registration-mark.png)
   and the machined ALL IN chip renders. Every ink/surface pair below is
   contrast-checked; ratios are stated where they constrain usage. */

:root {
  /* ── Surfaces ─────────────────────────────────────────────────────── */
  --fil-paper: #FEFEFD;        /* primary canvas — warm off-white */
  --fil-paper-warm: #F5F5F3;   /* light neutral fill, header and secondary surfaces */
  --fil-petrol: #082630;       /* dark section + hero surface */
  --fil-petrol-deep: #061B26;  /* deepest surface, also the headline ink */

  /* ── Ink ──────────────────────────────────────────────────────────── */
  --fil-ink: #061B26;          /* headlines, primary text — 17.2:1 on paper */
  --fil-ink-muted: #4B5B67;    /* subheads, body secondary —  6.9:1 on paper */
  --fil-ink-quiet: #657079;    /* mono metadata, footnotes —  4.9:1 on paper */
  --fil-ink-inverse: #FDFCFA;  /* text on petrol — 15.4:1 */

  /* ── Line ─────────────────────────────────────────────────────────── */
  --fil-rule: #DBDCDC;         /* registration grid, hairlines */
  --fil-rule-strong: #C8CBCB;  /* section dividers (derived) */

  /* ── Signal ───────────────────────────────────────────────────────── */
  --fil-cyan: #00D9E6;         /* glacier cyan: marks, diamonds, fills.
                                  1.72:1 on paper — NEVER small text on paper.
                                  9.07:1 on petrol — safe as text on dark. */
  --fil-cyan-ink: #007C95;     /* accessible cyan for links and small text on paper */
  --fil-cyan-bold: #006D91;    /* dark, saturated alternative fill; use light ink */
  --fil-cyan-overlay: #00617A; /* cyan-leaning dark photo tint; use light ink */
  --fil-cyan-deep: #1F5262;    /* deeper cyan trial for method cards */
  --fil-cyan-soft: #C5E8EA;    /* soft cyan surface / selection */

  /* ── Tension (scarce) ─────────────────────────────────────────────── */
  --fil-red: #A32024;          /* index tick, "all in" only — 7.3:1 on paper */

  /* ── Focus ────────────────────────────────────────────────────────── */
  --fil-focus: #007C95;
  --fil-focus-width: 3px;
  --fil-focus-offset: 2px;

  /* ── Type families ────────────────────────────────────────────────── */
  --fil-font-display: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
  --fil-font-body: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  --fil-font-mono: 'DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --fil-weight-regular: 400;
  --fil-weight-semibold: 600;
  --fil-weight-bold: 700;

  /* ── Type scale ───────────────────────────────────────────────────── */
  --fil-size-display: clamp(2.75rem, 6vw, 4.5rem);
  --fil-size-h1: clamp(2.25rem, 4.5vw, 3.25rem);
  --fil-size-h2: clamp(1.75rem, 3vw, 2.25rem);
  --fil-size-h3: 1.375rem;
  --fil-size-lead: 1.25rem;
  --fil-size-body: 1rem;
  --fil-size-small: 0.875rem;
  --fil-size-label: 0.8125rem;  /* mono operator labels */

  --fil-leading-display: 0.97;
  --fil-leading-heading: 1.08;
  --fil-leading-body: 1.55;
  --fil-tracking-display: -0.035em;
  --fil-tracking-label: 0.12em;

  /* ── Spacing (4px base) ───────────────────────────────────────────── */
  --fil-space-1: 4px;
  --fil-space-2: 8px;
  --fil-space-3: 12px;
  --fil-space-4: 16px;
  --fil-space-6: 24px;
  --fil-space-8: 32px;
  --fil-space-12: 48px;
  --fil-space-16: 64px;
  --fil-space-24: 96px;
  --fil-space-32: 128px;

  /* ── Layout ───────────────────────────────────────────────────────── */
  --fil-container: 1160px;
  --fil-gutter-mobile: 24px;
  --fil-gutter-tablet: 48px;
  --fil-gutter-desktop: 72px;
  --fil-header-default: 72px;
  --fil-header-compact: 56px;

  /* ── Notation ─────────────────────────────────────────────────────── */
  --fil-mark-size: 9px;        /* registration diamond edge */
  --fil-suit-size: 0.7em;      /* inline ♦ / ♠ punctuation */
}

/* fil-audit-theme.css */
:root {
  --v-white: var(--fil-paper);
  --v-surface: var(--fil-paper-warm);
  --v-ink: var(--fil-ink);
  --v-muted: var(--fil-ink-muted);
  --v-blue: var(--fil-cyan-ink);
  --v-navy: var(--fil-petrol);
  --fil-photo-tint: color-mix(in srgb, var(--fil-cyan-overlay) 82%, transparent);
  --fil-domain-surface: var(--fil-petrol);
  --fil-registration-width: 160px;
  --fil-art-height: 208px;
  --fil-content-width: 1200px;
}
@media (min-width: 1280px) {
  .study-header, .hero, .method-study, .benefit-study, .domain-study,
  .integration-study, .case-study, .quote-banner, .discovery-form,
  .faq-grid, .closing-study, .controls-section, .reference-section,
  .brand-study__caption {
    padding-inline: max(var(--s10), calc((100% - var(--fil-content-width)) / 2));
  }
  .hero .fil-registration {
    right: max(var(--s10), calc((100% - var(--fil-content-width)) / 2));
  }
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
::selection { background: var(--fil-cyan-soft); color: var(--fil-ink); }
.study-header .small-action { background: var(--fil-petrol); }
.hero-actions .action-tile:not(.action-tile--dark) { background: var(--fil-cyan); color: var(--fil-petrol-deep); }
.hero-actions .action-tile:not(.action-tile--dark):hover { background: var(--fil-cyan-soft); }
.method-study {
  --method-photo-tint: color-mix(in srgb, var(--fil-cyan-deep) 82%, transparent);
  --method-blue-tint: var(--method-photo-tint);
}
.method-card { color: var(--fil-ink-inverse); }
.method-card--blue { background: var(--fil-cyan-deep); }
.method-card__link:focus-visible { outline-color: var(--fil-ink-inverse); }
.method-card--blue::before { background: none; }
.optimization { --optimization-surface: var(--fil-petrol); }
.wire-fan__paths { stroke: var(--fil-cyan-ink); stroke-width: 1; }
.domain-study { --domains-copy-color: var(--fil-ink-inverse); background: var(--fil-domain-surface); color: var(--fil-ink-inverse); }
.domain-study .pixel-mark { color: inherit; }
.integration-study { --integration-light: var(--fil-cyan-ink); --integration-dark: var(--fil-petrol); }
.case-study { --case-surface-grey: var(--fil-paper-warm); }
.case-card--blue { background: var(--fil-cyan); }
.case-card--navy :focus-visible,
.case-card--blue :focus-visible,
.optimization :focus-visible,
.discovery-form form :focus-visible { outline-color: var(--fil-cyan-soft); }
.closing-study { --closing-photo-tint: var(--fil-photo-tint); }
.closing-card--photo, .closing-card--photo .eyebrow,
.quote-banner, .quote-banner__glyph { color: var(--fil-ink-inverse); }
.quote-banner__overlay { background: var(--fil-photo-tint); }
.closing-card--photo a:focus-visible { outline-color: var(--fil-ink-inverse); }
.audit-screen {
  --screen-paper: var(--fil-paper);
  --screen-surface: var(--fil-paper-warm);
  --screen-ink: var(--fil-ink);
  --screen-muted: var(--fil-ink-muted);
  --screen-teal: var(--fil-cyan-ink);
  --screen-line: var(--fil-rule);
  --screen-blue: var(--fil-cyan-ink);
}
.discovery-form {
  --discovery-panel: var(--fil-petrol);
  --discovery-field: var(--fil-petrol-deep);
  --discovery-border: color-mix(in srgb, var(--fil-cyan-soft) 55%, transparent);
  --discovery-copy: var(--fil-cyan-soft);
}
.discovery-form input:focus, .discovery-form select:focus { border-color: var(--fil-cyan); outline-color: var(--fil-cyan); }
.faq-grid { --faq-open-bg: var(--fil-cyan-soft); }
.closing-card--electric { background: var(--fil-cyan-bold); }
.fil-registration {
  position: absolute; top: calc(var(--nav-height) + var(--s8)); right: var(--s10);
  width: var(--fil-registration-width); height: var(--s8); pointer-events: none;
}
.fil-registration::before, .fil-registration::after { content: ''; position: absolute; background: var(--fil-rule); }
.fil-registration::before { top: 50%; width: 100%; height: 1px; }
.fil-registration::after { top: 0; left: 75%; height: 100%; width: 1px; }
.fil-registration span { position: absolute; top: 50%; left: 75%; width: var(--fil-mark-size); height: var(--fil-mark-size); background: var(--fil-cyan); transform: translate(-50%,-50%) rotate(45deg); z-index: 1; }
.fil-retrieval { display: block; width: 100%; height: var(--fil-art-height); margin-top: var(--s6); fill: none; stroke: var(--fil-cyan-soft); stroke-width: 1.5; }
.fil-retrieval__signal { stroke: var(--fil-cyan); stroke-width: 3; }
.fil-retrieval__mark { fill: var(--fil-cyan); stroke: none; }
@media (max-width: 1000px) { .fil-registration { right: var(--s4); top: calc(var(--nav-height) + var(--s2)); } }

/* site-adaptation.css */
:root { --action: 15px; }
@media screen and (prefers-reduced-motion: no-preference) {
  .text-reveal { opacity: var(--text-reveal, 1); }
  .text-reveal:focus-within { opacity: 1; }
}
.sr-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 10; background: var(--fil-paper); color: var(--fil-ink); padding: var(--s3); }
.hero-pause { position: absolute; bottom: var(--s12); left: var(--s10); z-index: 2; min-height: 44px; border: 0; background: var(--fil-paper); color: var(--fil-ink-muted); padding: var(--s2); font-size: var(--meta); }
.brand-mark--word { font-size: 24px; font-weight: 500; letter-spacing: -.04em; color: var(--fil-ink); opacity: var(--brand-opacity); }
.brand-study__caption { justify-content: flex-end; }
.discovery-field textarea { width: 100%; min-height: 64px; border: 1px solid var(--discovery-border); border-radius: 0; background: var(--discovery-field); color: var(--v-white); padding: var(--s2) var(--s3); font: inherit; resize: vertical; }
.discovery-field textarea:focus-visible { outline: 3px solid var(--fil-cyan); outline-offset: 3px; }
.discovery-form__status a { display: inline-flex; align-items: center; min-height: 44px; color: var(--fil-cyan-soft); }
@media (min-width: 1280px) { .hero-pause { left: max(var(--s10), calc((100% - var(--fil-content-width)) / 2)); } }
@media (max-width: 1000px) { .hero-pause { bottom: 4px; left: var(--s4); } }

.hero { justify-content: flex-start; gap: 0; padding-top: clamp(240px, 32svh, 420px); padding-bottom: 72px; }
.hero-top { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 64px; text-align: left; }
.hero h1 { max-width: 760px; font-size: 72px; line-height: .98; }
.hero p { width: 360px; margin: 0; font-size: 18px; line-height: 1.5; }
.hero-actions { justify-content: flex-end; margin-top: clamp(120px, 22svh, 290px); }
.hero .fil-registration { display: none; }
.hero canvas { height: 68%; mask-image: linear-gradient(transparent 20%, #000 65%); }
.case-card { padding-block: 44px; }
.tool-logo { display: block; width: var(--tool-icon); height: var(--tool-icon); object-fit: contain; }
.tool-logo--wide { width: calc(var(--tool-size) - var(--s2)); }
.tool-tile span { width: 92px; text-align: center; font-size: 11px; line-height: 1.15; }
.closing-study { --closing-travel: 180; --footer-travel: 100; --closing-duration: 650; }

.study-header .small-action,
.hero-actions .action-tile:not(.action-tile--dark),
.action-tile,
.method-card__link,
.benefit-action,
.finish-action,
.case-action,
.case-card--navy .case-action--primary,
.case-card--navy .case-action--secondary,
.case-card--blue .case-action--primary,
.case-card--blue .case-action--secondary,
.faq-grid__action,
.study-dialog__close,
.discovery-form__booking-action,
.discovery-form__submit,
.discovery-form__reset {
  --fil-button-bg: var(--fil-cyan);
  --fil-button-fg: var(--fil-petrol-deep);
  --fil-button-hover-bg: var(--fil-petrol);
  --fil-button-hover-fg: var(--fil-ink-inverse);
  --fil-button-border: transparent;
  --fil-button-hover-border: transparent;
  border-color: var(--fil-button-border);
  background-color: var(--fil-button-bg);
  background-image: linear-gradient(to bottom, var(--fil-button-hover-bg) 0 50%, var(--fil-button-bg) 50% 100%);
  background-position: 0 100%;
  background-size: 100% 200%;
  color: var(--fil-button-fg);
  transition: background-position 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}
.study-header .small-action:hover,
.study-header .small-action:focus-visible,
.hero-actions .action-tile:not(.action-tile--dark):hover,
.hero-actions .action-tile:not(.action-tile--dark):focus-visible,
.action-tile:hover,
.action-tile:focus-visible,
.method-card__link:hover,
.method-card__link:focus-visible,
.benefit-action:hover,
.benefit-action:focus-visible,
.finish-action:hover,
.finish-action:focus-visible,
.case-action:hover,
.case-action:focus-visible,
.faq-grid__action:hover,
.faq-grid__action:focus-visible,
.study-dialog__close:hover,
.study-dialog__close:focus-visible,
.discovery-form__booking-action:hover,
.discovery-form__booking-action:focus-visible,
.discovery-form__submit:hover:not(:disabled),
.discovery-form__submit:focus-visible:not(:disabled),
.discovery-form__reset:hover:not(:disabled),
.discovery-form__reset:focus-visible:not(:disabled) {
  border-color: var(--fil-button-hover-border);
  background-image: linear-gradient(to bottom, var(--fil-button-hover-bg) 0 50%, var(--fil-button-bg) 50% 100%);
  background-position: 0 0;
  background-size: 100% 200%;
  color: var(--fil-button-hover-fg);
  text-decoration: none;
}
.study-header .small-action:active,
.action-tile:active,
.method-card__link:active,
.benefit-action:active,
.finish-action:active,
.case-action:active,
.faq-grid__action:active,
.study-dialog__close:active,
.discovery-form__booking-action:active,
.discovery-form__submit:active:not(:disabled),
.discovery-form__reset:active:not(:disabled) { transform: translateY(1px); }

.action-tile--dark,
.finish-action--navy,
.case-action--secondary {
  --fil-button-bg: var(--fil-petrol);
  --fil-button-fg: var(--fil-ink-inverse);
  --fil-button-hover-bg: var(--fil-paper-warm);
  --fil-button-hover-fg: var(--fil-ink);
}
.client-study .brand-band { background: var(--fil-paper-warm); }
.client-study .brand-band__title { color: var(--fil-ink-muted); }
.client-study .brand-mark--client img { filter: none; opacity: .86; }
.client-study .brand-mark--evolon img { filter: brightness(0); }
.quote-banner .quote-banner__overlay { background: color-mix(in srgb, var(--fil-petrol) 88%, transparent); }
.closing-card--electric { background: var(--fil-petrol); color: var(--fil-ink-inverse); }
.closing-card--photo { --closing-photo-tint: color-mix(in srgb, var(--fil-petrol) 88%, transparent); }
.closing-card--electric .finish-action--navy {
  --fil-button-bg: var(--fil-cyan);
  --fil-button-fg: var(--fil-petrol-deep);
  --fil-button-hover-bg: var(--fil-paper-warm);
  --fil-button-hover-fg: var(--fil-ink);
}
.finish-footer { background: var(--fil-petrol); color: var(--fil-ink-inverse); }
.method-card__link,
.finish-action--white,
.case-card--navy .case-action--primary {
  --fil-button-bg: var(--fil-paper);
  --fil-button-fg: var(--fil-petrol);
  --fil-button-hover-bg: var(--fil-cyan);
  --fil-button-hover-fg: var(--fil-petrol-deep);
}
.case-card--navy .case-action--secondary {
  --fil-button-bg: var(--fil-cyan);
  --fil-button-fg: var(--fil-petrol-deep);
  --fil-button-hover-bg: var(--fil-paper);
  --fil-button-hover-fg: var(--fil-petrol);
}
.case-card--blue .case-action--primary {
  --fil-button-bg: var(--fil-petrol);
  --fil-button-fg: var(--fil-ink-inverse);
  --fil-button-hover-bg: #000;
  --fil-button-hover-fg: var(--fil-ink-inverse);
}
.case-card--blue .case-action--secondary {
  --fil-button-bg: var(--fil-paper);
  --fil-button-fg: var(--fil-petrol);
  --fil-button-hover-bg: var(--fil-petrol);
  --fil-button-hover-fg: var(--fil-ink-inverse);
}
.study-dialog__close,
.discovery-form__reset {
  --fil-button-bg: transparent;
  --fil-button-fg: var(--fil-ink);
  --fil-button-hover-bg: var(--fil-cyan);
  --fil-button-hover-fg: var(--fil-petrol-deep);
  --fil-button-border: currentColor;
  --fil-button-hover-border: var(--fil-cyan);
}
.discovery-form__reset {
  --fil-button-fg: var(--fil-ink-inverse);
  --fil-button-border: var(--discovery-border);
}
.discovery-form__submit:disabled {
  background-image: none;
  background-color: var(--fil-button-bg);
  transform: none;
  transition: none;
}

.study-header { font-family: var(--fil-font-mono); }
.language-switch { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 4px 6px; border: 1px solid currentColor; color: inherit; text-decoration: none; font-size: 12px; line-height: 1; }
.language-switch:focus-visible { outline: 2px solid var(--fil-cyan); outline-offset: 3px; }
.report-rail > .language-switch { align-self: flex-start; margin: 16px 24px; }
.study-header nav { gap: 32px; }
.study-header nav > a { font-size: 14px; letter-spacing: .055em; text-transform: uppercase; }
.study-header .small-action { --fil-button-bg: var(--fil-cyan); --fil-button-fg: var(--fil-petrol-deep); }

.case-card--blue { background: var(--fil-cyan); color: var(--fil-petrol-deep); }
.closing-card--electric .eyebrow { color: var(--fil-ink-inverse); }
.case-card--blue .case-card__summary > p:last-child { color: var(--fil-petrol-deep); }
.case-card--blue :focus-visible { outline-color: var(--fil-petrol-deep); }
.closing-card--electric :focus-visible { outline-color: var(--fil-ink-inverse); }
.client-study { --brand-space: 80px; --brand-window: 72px; --brand-gap: 72px; }
.brand-mark--client img { width: 160px; height: 64px; max-width: none; transform: none; object-fit: contain; }
.brand-mark--sncf img { width: 88px; }
.brand-mark--batribox img { width: 180px; }

@media (max-width: 1000px) {
  .client-study { --brand-space: 48px; }
  .study-header nav { gap: 16px; }
  .study-header nav > a { font-size: 12px; }
  .hero { justify-content: space-between; gap: var(--s10); padding-top: calc(var(--nav-height) + 72px); }
  .hero-top { display: flex; flex-direction: column; gap: var(--s6); text-align: left; }
  .hero h1 { font-size: 48px; line-height: 1.05; }
  .hero p { width: min(620px, 100%); font-size: var(--lead); line-height: 1.4; }
  .hero-actions { justify-content: flex-start; margin-top: 0; }
  .case-card { padding-block: var(--s8); }
  .closing-study { --closing-travel: 64; --footer-travel: 48; }
}
@media (max-width: 560px) {
  .study-header { gap: 12px; }
  .study-header nav { gap: 12px; }
  .study-header nav > a { font-size: 11px; letter-spacing: .035em; }
  .client-study { --brand-gap: 40px; }
  .brand-mark--client img { width: 128px; height: 56px; }
  .brand-mark--sncf img { width: 72px; }
  .brand-mark--batribox img { width: 160px; }
  .hero { padding-top: calc(var(--nav-height) + 72px); padding-bottom: var(--s12); }
  .hero h1 { font-size: 36px; line-height: 1.2; }
  .hero p { background: transparent; }
  /* Homepage only: the supplied mobile reference balances air above and below. */
  #accueil.hero { padding-top: clamp(160px, 24svh, 240px); padding-bottom: clamp(72px, 15svh, 144px); gap: var(--s14); }
  #accueil .hero-top, #accueil .hero-actions { width: 100%; max-width: 440px; margin-inline: auto; }
  .tool-tile span { width: 76px; font-size: 10px; }
}
@media (max-width: 360px) {
  .study-header, .study-header nav { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .study-header .small-action,
  .action-tile,
  .method-card__link,
  .benefit-action,
  .finish-action,
  .case-action,
  .faq-grid__action,
  .study-dialog__close,
  .discovery-form__booking-action,
  .discovery-form__submit,
  .discovery-form__reset { transition: none; }
}

.brand-mark--mewe img { width: 64px; }
.brand-mark--evolon img { width: 200px; filter: brightness(0); }
@media (max-width: 560px) {
  .brand-mark--mewe img { width: 56px; }
  .brand-mark--evolon img { width: 160px; }
}
