@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url(/static/archivo-4c98b9d490d1698e.woff2) format('woff2');
  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: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url(/static/big-shoulders-203dd8ba4ae61b19.woff2) format('woff2');
  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;
}
/* Utilities are isolated from the approved page compositions. */
.footer-utilities { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--rule); color: var(--ash); font-size: 12px; }
.footer-utilities a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-utilities a:last-child { margin-left: auto; }
.privacy-prose { max-width: 780px; padding-block: 72px; }
.privacy-prose h1 { font-size: clamp(54px, 8vw, 88px); }
.privacy-prose h2 { font-size: 32px; margin: 40px 0 16px; }
.privacy-prose p, .privacy-prose li { font-size: 16px; color: var(--secondary); }
.privacy-prose li { margin-bottom: 12px; }
.privacy-prose a { overflow-wrap: anywhere; }
.privacy-prose .privacy-date { color: var(--ash); font-size: 12px; }
.consent-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 30; background: var(--salt); color: var(--dark); border-top: 1px solid #8c8273; box-shadow: 0 -8px 32px #0002; padding: 20px max(24px, calc((100vw - 1280px) / 2)); display: flex; gap: 24px; justify-content: space-between; align-items: center; }
.consent-banner h2 { font: 600 16px/1.3 var(--body); margin: 0 0 6px; }
.consent-banner { padding-right: max(60px, calc((100vw - 1280px) / 2)); }
.consent-dismiss { position: absolute; top: 4px; right: 8px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: transparent; color: var(--dark); font: 400 26px/1 var(--body); }
.consent-dismiss:hover { background: #1412100a; }
.consent-banner p { font-size: 13px; line-height: 1.5; max-width: 620px; margin: 0; }
.consent-banner a:hover, #privacy-dialog a:hover { color: #715b32; }
.consent-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.consent-banner .consent-actions { flex-shrink: 0; }
.consent-actions button { background: transparent; border: 1px solid #756d60; padding: 12px 16px; min-height: 44px; color: var(--dark); font-size: 12px; font-weight: 500; }
.consent-actions button:hover { background: var(--dark); color: var(--salt); }
.consent-essential { position: relative; border-top: 1px solid #cfc7b8; padding: 18px 0; }
.consent-essential > span { float: right; font-size: 12px; }
.consent-essential p { font-size: 13px; margin: 6px 0 0; color: var(--rule); }
.consent-choice { display: flex; gap: 24px; align-items: center; border-top: 1px solid #cfc7b8; padding: 18px 0; cursor: pointer; }
.consent-choice > span { flex: 1; }
.consent-choice strong { display: block; font-size: 16px; }
.consent-choice span span { display: block; color: var(--rule); font-size: 13px; line-height: 1.5; margin-top: 6px; }
.consent-choice input { width: 24px; height: 24px; margin: 0; flex: 0 0 24px; accent-color: #715b32; }
#privacy-dialog .consent-actions { margin: 16px 0 22px; }
#privacy-dialog > p:last-child { font-size: 12px; margin-bottom: 0; }
body.modal-open .consent-banner { visibility: hidden; }
@media (max-width: 1100px) { .consent-banner { flex-direction: column; align-items: stretch; gap: 14px; } .consent-banner p { max-width: none; } .consent-banner > div:first-of-type { padding-right: 28px; } }
@media (max-width: 600px) { .consent-banner { padding: 18px 20px; } .consent-banner .consent-actions { display: grid; grid-template-columns: 1fr 1fr; } .consent-banner .consent-actions button:last-child { grid-column: 1 / -1; } .footer-utilities { gap: 4px 18px; } .footer-utilities a:last-child { margin-left: 0; } }
@media print { .consent-banner, .consent-status { display: none !important; } }

/* Approved homepage: identity.css */
:root {
  --dark: #141210;
  --rule: #3a352e;
  --ash: #a39b8d;
  --secondary: #d9d2c4;
  --salt: #f1ece2;
  --brass: #b89a5e;
  --light-rule: #cfc7b8;
  --body: 'Archivo', Arial, sans-serif;
  --display: 'Big Shoulders Display', 'Arial Narrow', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin: 0; background: var(--dark); color: var(--salt); font: 17px/1.65 var(--body); -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: 5px; text-decoration-thickness: 1px; }
a:hover { color: var(--brass); }
button, input, textarea, select { font: inherit; border-radius: 0; }
button, summary { cursor: pointer; }
button { color: inherit; }
[hidden] { display: none !important; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
::selection { background: var(--brass); color: var(--dark); }
h1, h2, h3 { margin: 0 0 24px; font-family: var(--display); font-weight: 800; line-height: 1; }
h1, h2 { text-wrap: balance; }
h1 { font-size: clamp(64px, 7.7vw, 112px); font-weight: 900; line-height: .97; }
h2 { font-size: clamp(42px, 5.15vw, 72px); line-height: 1.01; }
h3 { font-size: 34px; line-height: 1.08; }
p { margin: 0 0 22px; text-wrap: pretty; }
figure { margin: 0; }
ul, ol { margin-top: 0; }
section { padding: 112px 0; }
.section-small { padding: 64px 0; }
.wrap { width: min(1280px, calc(100% - 72px)); margin-inline: auto; }
.lead { font-size: clamp(20px, 1.7vw, 23px); line-height: 1.5; color: var(--salt); }
.intro-copy, .measure { max-width: 580px; }
.muted { color: var(--ash); }
.small { font-size: 13px; line-height: 1.6; }
.eyebrow, .button, .desktop-nav, .menu-toggle, .mobile-nav, .text-link, .placeholder-label {
  font-size: 11px; font-weight: 600; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase;
}
.eyebrow { color: var(--ash); margin-bottom: 24px; }
.index { font: 700 26px/1 var(--display); color: var(--ash); }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 50px; padding: 15px 22px; background: var(--brass); color: var(--dark); border: 1px solid var(--brass); text-decoration: none; transition: background .25s, color .25s; }
.button span { font-size: 22px; line-height: 1; font-weight: 400; letter-spacing: 0; }
.button:hover { color: var(--dark); background: var(--salt); border-color: var(--salt); }
.button.small { min-height: 44px; padding: 10px 16px; gap: 22px; font-size: 11px; }
.text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 44px; text-decoration: none; border: 0; border-bottom: 1px solid currentColor; background: none; padding: 8px 0; color: inherit; }
.text-link span { font-size: 22px; letter-spacing: 0; }
.text-link:hover { color: var(--brass); }
.plain-button { border: 0; padding: 10px 0; font-size: 13px; background: none; }
.plain-button:hover { color: var(--brass); }
.skip { position: absolute; top: -100px; left: 20px; z-index: 20; padding: 12px 20px; background: var(--salt); color: var(--dark); }
.skip:focus { top: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.light { background: var(--salt); color: var(--dark); }
.light .eyebrow, .light .index, .light .muted { color: var(--rule); }
.light .lead { color: var(--dark); }
.light .text-link:hover, .light a:hover { color: var(--rule); }
.light .button:hover { background: var(--dark); color: var(--salt); border-color: var(--dark); }
.ruled { border-top: 1px solid var(--rule); }

/* Navigation stays familiar over the preserved hero. */
.site-header { position: relative; z-index: 10; }
.site-header.over-hero { position: absolute; inset: 0 0 auto; }
.header-inner { min-height: 96px; display: flex; align-items: center; gap: 40px; border-bottom: 1px solid var(--rule); }
.over-hero .header-inner { border-color: rgba(241,236,226,.2); }
.wordmark { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; flex-shrink: 0; color: var(--brass); }
.wordmark img { height: 32px; width: auto; }
.wordmark > span { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; border-left: 1px solid var(--brass); padding: 6px 0 6px 12px; }
.desktop-nav { display: flex; gap: 32px; margin-left: auto; }
.desktop-nav a { text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.desktop-nav a[aria-current] { color: var(--brass); }
.nav-actions { display: flex; align-items: center; gap: 16px; }
.menu-toggle { display: none; min-height: 44px; border: 1px solid var(--rule); background: var(--dark); padding: 10px 12px; gap: 14px; align-items: center; }
.menu-toggle span { font-size: 20px; line-height: 1; }
.mobile-nav { background: var(--dark); padding-block: 20px; border-bottom: 1px solid var(--rule); }
.mobile-nav a { display: block; padding: 16px 20px; text-decoration: none; }



@media (max-width: 1100px) {
  .header-inner { gap: 28px; }
  .desktop-nav { gap: 24px; font-size: 10px; }
  .footer-bottom { flex-wrap: wrap; }
}
@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .nav-actions { margin-left: auto; }
  .menu-toggle { display: inline-flex; }
}
@media (max-width: 760px) {
  body { font-size: 16px; }
  .wrap { width: calc(100% - 40px); }
  section { padding: 64px 0; }
  .section-small { padding: 40px 0; }
  h1 { font-size: 56px; }
  h2 { font-size: 44px; }
  h3 { font-size: 30px; }
  .lead { font-size: 20px; }
  .eyebrow { font-size: 10px; margin-bottom: 20px; }
  .header-inner { min-height: 80px; gap: 16px; }
  .wordmark { gap: 8px; }
  .wordmark img { height: 24px; }
  .wordmark > span { font-size: 9px; padding-left: 8px; }
  .nav-actions { gap: 10px; }
  .button.small { font-size: 9px; gap: 12px; padding: 10px 12px; }
  .site-header .button[data-book] { justify-content: center; text-align: center; }
  .site-header .button[data-book] > span[aria-hidden="true"] { display: none; }
  .menu-toggle { font-size: 9px; gap: 8px; padding: 10px; }
}
@media (max-width: 390px) {
  .wordmark > span { display: none; }
  .header-inner { gap: 12px; }
  .nav-actions { gap: 8px; }
  .button.small { padding-inline: 10px; }
  .nav-actions .button.small { white-space: nowrap; gap: 0; font-size: 8px; letter-spacing: .07em; }
  .nav-actions .button.small span { display: none; }
  .menu-toggle { padding-inline: 8px; }
}

/* Approved homepage: protected-hero.css */
/* Preserved from the approved production hero. Navigation is shared across V1. */
.hero{position:relative;isolation:isolate;padding:0;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero-photo{position:absolute;z-index:-3;top:0;left:0;width:100%;height:72%;object-fit:cover;object-position:45% 0;filter:grayscale(1) contrast(1.06)}
.hero-fade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(20,18,16,.5) 0%,rgba(20,18,16,0) 14%,rgba(20,18,16,0) 52%,rgba(20,18,16,.45) 60%,rgba(20,18,16,.85) 66%,#141210 70%)}
.hero-copy{padding-top:clamp(460px,49vw,760px);padding-bottom:64px;text-align:center}
.hero h1{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;font-weight:900;font-size:clamp(56px,9vw,128px);line-height:.88;letter-spacing:.005em;margin:0 auto;max-width:1160px}
.hero h1 span{display:block}
@media(min-width:1600px){.hero-copy{padding-top:760px}.hero-photo{object-fit:cover}}
@media(min-width:761px){
  .hero{--hero-type:clamp(64px,min(8vw,12svh),128px);--hero-space:max(640px,100svh);min-height:var(--hero-space)}
  .hero h1{font-size:var(--hero-type)}
  .hero-copy{padding-top:calc(var(--hero-space) - var(--hero-type)*2.64 - 48px);padding-bottom:48px}
  .hero-photo{height:74%;object-position:45% 20%}
}
@media(max-width:760px){
  .hero{min-height:min(100svh,760px);justify-content:flex-start}
  .hero-photo{top:80px;height:auto;min-height:0;aspect-ratio:16/9;object-fit:cover;object-position:45% 0}
  .hero-fade{top:80px;bottom:auto;height:56.25vw;background:linear-gradient(180deg,rgba(20,18,16,0) 0%,rgba(20,18,16,0) 52%,rgba(20,18,16,.45) 76%,#141210 100%)}
  .hero h1{font-size:clamp(40px,13vw,68px);line-height:.94;max-width:580px}
  .hero h1 span{display:inline}
  .hero h1 span:not(:last-child):after{content:' '}
  .hero-copy{padding-top:calc(80px + 56.25vw + 24px);padding-bottom:48px}
}

/* Keep the first sentence at the image-to-black transition, with a 20px gap. */
.hero.dark {
  --hero-line-gap: 20px;
  --hero-anchor: calc(var(--hero-space) * .7);
  --hero-heading-tail: calc(var(--hero-type) * 1.32);
  --hero-bottom-space: max(0px, calc(var(--hero-space) - var(--hero-anchor) - var(--hero-heading-tail)));
  min-height: calc(var(--hero-anchor) + var(--hero-heading-tail) + var(--hero-line-gap) + var(--hero-bottom-space) * .6);
}
.hero .hero-copy { position: absolute; top: var(--hero-anchor); left: 0; right: 0; padding-block: 0; transform: translateY(calc(-25% + var(--hero-line-gap) / 4)); }
.hero .hero-copy h1 { display: grid; grid-template-rows: repeat(2, 1fr); row-gap: var(--hero-line-gap); }
.hero .hero-copy h1 span { display: block; align-content: center; }
@media (min-width: 761px) {
  .hero.dark { --hero-anchor: calc(var(--hero-space) * .82); }
  .hero .hero-copy h1 { max-width: 1200px; }
  .hero .hero-photo { height: calc(var(--hero-space) * .86); }
  .hero .hero-fade { height: var(--hero-space); bottom: auto; background: linear-gradient(180deg, rgba(20,18,16,.5) 0%, transparent 14%, transparent 57%, rgba(20,18,16,.25) 68%, rgba(20,18,16,.75) 76%, #141210 82%); }
}
@media (max-width: 760px) {
  .hero.dark {
    --hero-photo-height: min(75vw, 460px);
    --hero-type: clamp(40px, 13vw, 68px);
    /* Keep the cockpit visible; let the headline follow the photo at any text size. */
    min-height: 0;
    padding-top: calc(80px + var(--hero-photo-height));
    padding-bottom: 36px;
  }
  .hero .hero-photo { height: var(--hero-photo-height); aspect-ratio: auto; object-position: 45% 0; }
  .hero .hero-fade { height: var(--hero-photo-height); background: linear-gradient(180deg, transparent 0%, transparent 76%, rgba(20,18,16,.2) 85%, #141210 100%); }
  .hero .hero-copy { position: relative; top: auto; transform: none; padding-top: 12px; }
  .hero .hero-copy h1 span::after { content: none; }
}


/* Approved homepage: sections.css */
.credibility{padding:40px 0 44px;border-top:1px solid var(--rule)}
.credibility-inner{display:grid;grid-template-columns:330px minmax(0,1fr);column-gap:80px;align-items:center}
.credibility h2{font-size:34px;line-height:1.1;max-width:320px;margin:0}
.experience-brands{min-width:0}
.experience-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;min-height:32px}
.experience-label{font-size:11px;color:var(--secondary);margin:0;letter-spacing:.035em}
.brand-window{overflow-x:auto;scrollbar-width:thin}
.brand-track{display:flex;width:max-content}
.brand-marks{list-style:none;padding:0 60px 0 0;margin:0;display:flex;align-items:center;gap:60px}
.brand-marks li{flex:0 0 180px;width:180px;display:flex;align-items:center;justify-content:center;height:70px}
.brand-marks img{width:100%;height:56px;object-fit:contain;filter:grayscale(1) brightness(0) invert(92%)}
.brand-marks .contrarian{height:62px;max-width:172px}
.brand-marks .vending{max-width:180px}
.brand-marks .why{height:64px;filter:grayscale(1) contrast(1.2) brightness(1.1)}
.brand-marks .studio{height:70px}
.brand-marks .cyber{width:195px;max-width:none}
.brand-clone{display:none}
.has-motion .brand-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 64px,#000 calc(100% - 40px),transparent)}
.has-motion .brand-clone{display:flex}
.has-motion .brand-track{animation:brands-left 78s linear infinite;animation-play-state:paused}
.has-motion.is-running .brand-track{animation-play-state:running}
@keyframes brands-left{to{transform:translateX(-50%)}}
.growth-install{padding:68px 0 72px;background:var(--salt);color:var(--dark)}
.install-layout{display:grid;grid-template-columns:1.05fr 1fr;column-gap:96px;row-gap:38px;grid-template-areas:'tension tension' 'photo offer'}
.tension{grid-area:tension}
.tension h2{font-size:clamp(52px,5.4vw,78px);line-height:1.04;margin:0 0 18px;text-wrap:balance;text-align:left}
.tension p{font-size:20px;line-height:1.5;margin:0;color:var(--rule)}
.crew{grid-area:photo;align-self:start}
.crew img{width:100%;height:346px;object-fit:cover;object-position:50% 69%;filter:grayscale(1) contrast(1.05)}
.offer{grid-area:offer;align-self:start;padding-top:0}
.offer p{font-size:18px;line-height:1.6;max-width:490px;color:var(--rule);margin-bottom:18px}
.offer .offer-lead{font-size:22px;line-height:1.45;color:var(--dark);margin-bottom:18px}
.offer-lead strong{font-weight:600}
.offer-action{margin-top:25px;border-top:1px solid #c2b9a8;padding-top:22px;display:flex;align-items:center;gap:22px;justify-content:space-between;max-width:510px}
.offer .install-name{font-size:13px;line-height:1.5;color:var(--rule);margin:0;max-width:130px}
.offer .button{min-height:52px;padding-inline:22px;gap:32px;flex-shrink:0}
.offer .button:hover{background:var(--dark);color:var(--salt);border-color:var(--dark)}
.skip:focus{z-index:30}
.skip:hover{color:var(--dark)}
html{scrollbar-color:var(--ash) var(--dark)}
@media(min-width:1700px){.install-layout{column-gap:112px}}
@media(max-width:1050px){.credibility-inner{grid-template-columns:260px minmax(0,1fr);gap:36px}.credibility h2{font-size:29px}.install-layout{gap:32px 48px}.offer-action{flex-wrap:wrap}.offer .install-name{max-width:none}.crew img{height:368px}}
@media(max-width:760px){
 .credibility{padding:30px 0 32px}
 .credibility-inner{display:block}
 .credibility h2{font-size:30px;max-width:310px;margin-bottom:16px}
 .experience-meta{gap:12px;margin-bottom:10px}
 .experience-label{font-size:11px}
 .brand-marks{gap:40px;padding-right:40px}
 .brand-marks li{flex-basis:150px;width:150px;height:62px}
 .brand-marks img{height:44px}
 .brand-marks .contrarian{height:50px;max-width:144px}
 .brand-marks .vending{max-width:150px}
 .brand-marks .why{height:57px}
 .brand-marks .studio{height:62px}
 .brand-marks .cyber{width:166px}
 .has-motion .brand-window{mask-image:linear-gradient(to right,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
 .has-motion .brand-track{animation-duration:68s}
 .growth-install{padding:40px 0}
 .install-layout{grid-template-columns:1fr;grid-template-areas:'tension' 'offer' 'photo';gap:28px}
 .tension h2{font-size:50px;margin-bottom:18px;text-wrap:initial;max-width:350px}
 .tension h2 span{display:block}
 .tension p{font-size:17px;max-width:340px}
 .offer p{font-size:16px;line-height:1.65;margin-bottom:18px}
 .offer .offer-lead{font-size:20px;line-height:1.5;margin-bottom:18px}
 .offer-action{margin-top:22px;padding-top:20px;gap:16px}
 .offer .install-name{font-size:13px}
 .offer .button{width:100%;font-size:11px}
 .crew img{height:242px;object-position:50% 72%}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{transition:none!important;animation:none!important}
 .has-motion .brand-window{overflow:visible;mask-image:none}
 .has-motion .brand-track{display:block;width:100%;transform:none}
 .has-motion .brand-marks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 30px;padding:0}
 .has-motion .brand-marks li{width:auto;min-width:0}
 .has-motion .brand-marks img{max-width:100%}
 .has-motion .brand-clone{display:none}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.has-motion .brand-marks{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Approved homepage: capabilities.css */
.capabilities {
  padding: 80px 0 88px;
  background: var(--dark);
  color: var(--salt);
}
.capabilities-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.65fr);
  column-gap: 96px;
  align-items: start;
}
.capabilities-intro h2 {
  max-width: 380px;
  margin: 0 0 24px;
  font-size: clamp(48px, 4.4vw, 64px);
  line-height: 1.05;
  text-wrap: initial;
}
.capabilities-intro p {
  max-width: 290px;
  margin: 0;
  color: var(--secondary);
  font-size: 17px;
  line-height: 1.65;
}
.capabilities-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--rule);
}
.capabilities-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.38fr);
  column-gap: 38px;
  align-items: start;
  padding: 27px 0 29px;
  border-bottom: 1px solid var(--rule);
}
.capabilities-list h3 {
  margin: 0;
  font-size: 29px;
  line-height: 1.13;
  font-weight: 700;
}
.capabilities-list p {
  margin: 0;
  color: var(--secondary);
  font-size: 16px;
  line-height: 1.6;
}
.capabilities-list .capabilities-outcome h3 {
  color: var(--brass);
}
@media (max-width: 1100px) {
  .capabilities-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); column-gap: 48px; }
  .capabilities-list li { grid-template-columns: 1fr; row-gap: 10px; padding-block: 23px 25px; }
}
@media (max-width: 760px) {
  .capabilities { padding: 44px 0 48px; }
  .capabilities-layout { grid-template-columns: 1fr; row-gap: 30px; }
  .capabilities-intro h2 { max-width: 340px; font-size: 44px; line-height: 1.07; margin-bottom: 20px; }
  .capabilities-intro p { max-width: 320px; font-size: 16px; }
  .capabilities-list li { padding-block: 23px 25px; }
  .capabilities-list h3 { font-size: 28px; }
  .capabilities-list p { font-size: 16px; }
}

/* Approved homepage: brand-additions.css */
/* Official Market Disruptors lockup: frame the wordmark without changing its pixels. */
.brand-marks .market-slot {
  background: var(--dark);
  isolation: isolate;
  overflow: hidden;
}
.brand-marks .market {
  width: 236px;
  max-width: none;
  height: 36px;
  flex-shrink: 0;
  object-fit: cover;
  object-position: 50% 70%;
  filter: grayscale(1) brightness(1.6);
  mix-blend-mode: screen;
}
@media (max-width: 760px) {
  .brand-marks .market { width: 200px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .has-motion .brand-marks .market { width: 100%; max-width: 236px; }
}

/* Approved homepage: ownership-example.css */
.proof-highlights {
  --proof-columns: minmax(0, .95fr) minmax(0, 1.1fr) minmax(0, 1.3fr);
  --proof-gap: 48px;
  padding: 64px 0 48px;
  background: var(--salt);
  color: var(--dark);
}
.proof-highlights h2 {
  margin: 0 0 12px;
  font-size: clamp(52px, 4.8vw, 70px);
  line-height: 1.06;
}
.proof-intro {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--rule);
}
.proof-columns,
.proof-reel li {
  display: grid;
  grid-template-columns: var(--proof-columns);
  column-gap: var(--proof-gap);
}
.proof-columns {
  margin-top: 32px;
  padding-bottom: 12px;
  font: 500 14px/1.5 var(--body);
  color: var(--rule);
}
.proof-reel {
  list-style: none;
  margin: 0;
  padding: 0;
}
.proof-reel li {
  align-items: start;
  padding: 32px 0;
  border-top: 1px solid var(--light-rule);
}
.proof-reel li:last-child { padding-bottom: 0; }
.proof-context h3 {
  margin: 0 0 12px;
  font: 600 21px/1.3 var(--body);
  letter-spacing: -.015em;
}
.proof-problem {
  margin: 0;
  max-width: 32ch;
  font-size: 17px;
  line-height: 1.55;
  color: var(--rule);
}
.proof-number {
  margin: 0 0 12px;
  font: 800 clamp(76px, 7vw, 96px)/1 var(--display);
  letter-spacing: -.025em;
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap;
}
.proof-growth { font-size: clamp(60px, 6.2vw, 84px); }
.proof-growth-figure {
  display: flex;
  align-items: center;
  gap: 12px;
}
.proof-arrow {
  flex: 0 0 .5em;
  width: .5em;
  height: .34em;
  color: var(--rule);
}
.proof-time span { font-size: .55em; letter-spacing: -.015em; }
.proof-unit {
  max-width: 28ch;
  margin: 0;
  font: 500 16px/1.5 var(--body);
}
.proof-transformation {
  margin: 0;
  max-width: 43ch;
  font-size: 18px;
  line-height: 1.55;
  color: var(--rule);
}
.proof-disclaimer {
  margin: 32px 0 0;
  padding-top: 24px;
  border-top: 1px solid var(--light-rule);
  font-size: 16px;
  line-height: 1.55;
  color: var(--rule);
}
@media (min-width: 961px) and (max-width: 1200px) {
  .proof-highlights { --proof-gap: 32px; }
  .proof-context h3 { font-size: 20px; }
  .proof-problem { font-size: 16px; }
  .proof-transformation { font-size: 17px; }
  .proof-growth-figure { gap: 8px; }
}
@media (max-width: 960px) {
  .proof-highlights { padding: 44px 0 40px; }
  .proof-highlights h2 { font-size: 48px; margin-bottom: 12px; }
  .proof-intro { max-width: 310px; }
  .proof-columns { display: none; }
  .proof-reel { margin-top: 28px; }
  .proof-reel li { grid-template-columns: 1fr; gap: 24px; padding: 32px 0; }
  .proof-context h3 { font-size: 21px; margin-bottom: 10px; }
  .proof-problem { max-width: 52ch; font-size: 16px; }
  .proof-number { font-size: clamp(76px, 23vw, 96px); margin-bottom: 8px; }
  .proof-growth { font-size: clamp(64px, 19vw, 80px); }
  .proof-growth-figure { gap: 8px; }
  .proof-unit { max-width: 34ch; }
  .proof-transformation { max-width: 55ch; font-size: 17px; }
}
@media (prefers-reduced-motion: no-preference) {
  .proof-growth.is-in-view .proof-arrow {
    animation: proof-direction 650ms cubic-bezier(.16, 1, .3, 1) both;
  }
}
@keyframes proof-direction {
  from { transform: translateX(-8px); }
  to { transform: translateX(0); }
}

/* Approved homepage: how-we-work.css */
.how-we-work {
  padding: 80px 0;
  background: var(--dark);
  color: var(--salt);
}
.how-we-work h2 {
  max-width: 820px;
  margin: 0 0 48px;
  font-size: clamp(48px, 4.4vw, 64px);
  line-height: 1.05;
  text-wrap: balance;
}
.process-stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 56px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.process-stages > li {
  padding-top: 28px;
  border-top: 1px solid var(--rule);
}
.process-stage-heading {
  min-height: 64px;
}
.process-stages h3 {
  margin: 0;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.1;
}
.process-stages > li:last-child h3 { color: var(--brass); }
.process-stages p {
  max-width: 42ch;
  margin: 0;
  font-size: 17px;
  line-height: 1.65;
  color: var(--secondary);
}
.process-action { margin-top: 40px; }
@media (max-width: 1100px) {
  .process-stages { column-gap: 32px; }
  .process-stage-heading { min-height: 80px; }
  .process-stages h3 { font-size: 30px; }
  .process-stages p { font-size: 16px; }
}
@media (max-width: 760px) {
  .how-we-work { padding: 44px 0 48px; }
  .how-we-work h2 { max-width: 540px; font-size: 44px; line-height: 1.07; margin-bottom: 32px; }
  .process-stages { grid-template-columns: 1fr; }
  .process-stages > li { padding: 24px 0 28px; }
  .process-stages > li:last-child { padding-bottom: 0; }
  .process-stage-heading { min-height: 0; margin-bottom: 12px; }
    .process-stages h3 { font-size: 30px; }
  .process-stages p { max-width: 52ch; }
  .process-action { margin-top: 32px; }
}

/* Approved homepage: faqs.css */
.faqs {
  padding: 80px 0 88px;
  background: var(--salt);
  color: var(--dark);
}
.faq-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.65fr);
  gap: 96px;
  align-items: start;
}
.faqs h2 {
  max-width: 320px;
  margin: 0;
  font-size: clamp(48px, 4.4vw, 64px);
  line-height: 1.05;
  text-wrap: balance;
}
.faq-list { border-top: 1px solid var(--light-rule); }
.faq-list details { border-bottom: 1px solid var(--light-rule); }
.faq-list summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 28px;
  min-height: 76px;
  padding: 24px 0;
  list-style: none;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::marker { content: ''; }
.faq-list summary:hover { color: var(--rule); }
.faq-list summary:focus-visible {
  outline: 2px solid var(--dark);
  outline-offset: 5px;
}
.faq-toggle {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  align-self: center;
}
.faq-list details[open] .faq-toggle-vertical { opacity: 0; }
.faq-answer {
  max-width: 68ch;
  padding: 0 48px 28px 0;
}
.faq-answer p {
  margin: 0;
  font-size: 17px;
  line-height: 1.65;
  color: var(--rule);
}
@media (max-width: 1100px) {
  .faq-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); gap: 48px; }
}
@media (max-width: 760px) {
  .faqs { padding: 44px 0 48px; }
  .faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .faqs h2 { max-width: 320px; font-size: 44px; line-height: 1.07; }
  .faq-list summary { gap: 20px; padding: 22px 0; min-height: 72px; font-size: 19px; }
  .faq-answer { padding: 0 0 24px; }
  .faq-answer p { font-size: 16px; }
}

/* Approved homepage: closing.css */
.closing {
  padding: 96px 0 104px;
  background: var(--dark);
  color: var(--salt);
  text-align: center;
}
.closing h2 {
  max-width: 900px;
  margin: 0 auto 28px;
  font-size: clamp(56px, 6.1vw, 88px);
  line-height: 1.03;
  text-wrap: balance;
}
.closing p {
  max-width: 650px;
  margin: 0 auto 32px;
  color: var(--secondary);
  font-size: 19px;
  line-height: 1.6;
  text-wrap: balance;
}
.closing .button { min-height: 54px; }
.closing .button svg { width: 22px; height: 22px; flex: 0 0 22px; }
.closing .button:focus-visible { outline-color: var(--salt); }
@media (max-width: 760px) {
  .closing { padding: 56px 0 64px; }
  .closing h2 { max-width: 520px; margin-bottom: 24px; font-size: 48px; line-height: 1.05; }
  .closing p { max-width: 36ch; margin-bottom: 28px; font-size: 17px; }
}

/* Approved homepage: footer.css */
.site-footer { background: var(--dark); color: var(--salt); padding-bottom: 32px; }
.footer-art { position: relative; height: clamp(280px, 42vw, 620px); overflow: hidden; }
.footer-art img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 85%; }
.footer-art::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, var(--dark) 0%, transparent 20%, transparent 76%, var(--dark) 100%); }
.footer-main { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 80px; padding: 24px 0 32px; }
.footer-brand { display: inline-flex; gap: 12px; min-height: 44px; align-items: center; text-decoration: none; }
.footer-brand img { width: 116px; height: auto; }
.footer-brand span { padding-left: 12px; border-left: 1px solid var(--brass); color: var(--brass); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.footer-tagline { margin: 14px 0 0; font: 700 32px/1.15 var(--display); }
.footer-email { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; font-size: 16px; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--brass); }
.footer-location { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 24px 0 0; color: var(--secondary); font-size: 13px; line-height: 1.5; }
.footer-location svg { width: 26px; height: 26px; flex: none; color: var(--brass); }
.footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
.footer-nav a { display: flex; align-items: center; min-height: 44px; width: fit-content; padding: 9px 0; font-size: 16px; text-decoration: none; }
.site-footer a:hover { color: var(--brass); text-decoration: underline; }
.site-footer :focus-visible { outline: 2px solid var(--salt); outline-offset: 5px; }
.footer-ai-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin-top: 12px; }
.footer-ai-summary p { margin: 0; color: var(--secondary); font-size: 14px; line-height: 1.5; }
.footer-ai-links { display: flex; flex-wrap: wrap; list-style: none; gap: 4px; margin: 0; padding: 0; }
.footer-ai-links li { margin: 0; padding: 0; }
.footer-ai-links a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--salt); }
.footer-ai-links svg { display: block; width: 24px; height: 24px; }
.footer-ai-links a:hover { color: var(--brass); text-decoration: none; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 20px; border-top: 1px solid var(--rule); }
.footer-copyright { margin: 0; color: var(--ash); font-size: 13px; }
.footer-utilities { display: flex; flex-wrap: wrap; gap: 4px 28px; }
.footer-utilities a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 0; font-size: 13px; color: var(--secondary); text-decoration: none; }
.footer-utilities svg { width: 16px; height: 16px; }
.privacy-preview { max-width: 800px; padding: 48px 0 80px; }
.privacy-preview > a { display: inline-block; min-height: 44px; margin-bottom: 32px; }
.preview-privacy-status { border-block: 1px solid var(--rule); padding: 24px 0; margin-bottom: 40px; }
.preview-privacy-status h2 { font-size: 32px; line-height: 1.1; }
.preview-privacy-status p { margin: 0; color: var(--secondary); }
.privacy-preview .privacy-prose { padding: 0; }
.privacy-preview .privacy-prose h1 { font-size: clamp(48px, 6vw, 72px); line-height: 1.05; }
.privacy-preview .privacy-prose h2 { margin: 36px 0 16px; font-size: 30px; line-height: 1.15; }
.privacy-preview .privacy-prose p, .privacy-preview .privacy-prose li { font-size: 16px; line-height: 1.65; }
.privacy-preview .privacy-prose li { margin-bottom: 12px; }
.privacy-preview :focus-visible { outline-color: var(--salt); }
@media (max-width: 760px) {
  .footer-art { height: auto; aspect-ratio: 4 / 3; }
  .footer-art img { object-position: center; }
  .footer-main { grid-template-columns: 1fr; gap: 26px; padding: 16px 0 28px; }
  .footer-tagline { font-size: 30px; margin-top: 12px; }
  .footer-nav { gap: 0 20px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 12px; }
  .footer-utilities { gap: 0 24px; }
  .footer-copyright { order: 1; }
  .privacy-preview { padding-top: 24px; }
}

/* Approved homepage: usability.css */
/* Functional finishing checks; approved layout and copy stay unchanged. */
.site-header .wordmark { min-height: 44px; }
.site-header .button:focus-visible,
.how-we-work .button:focus-visible { outline-color: var(--salt); }

/* Existing booking dialog styling, isolated from approved homepage composition. */
.booking-host { position: relative; min-height: 740px; }
.booking-host iframe { width: 100%; min-height: 740px; height: 780px; border: 0; display: block; background: var(--salt); }
.calendar-loading { padding: 32px; font-size: 14px; color: var(--rule); }
.calendar-help { font-size: 12px; padding: 16px 24px; border-top: 1px solid var(--light-rule); margin: 0; color: var(--rule); }
dialog { padding: 0; border: 1px solid var(--rule); border-radius: 0; color: var(--dark); background: var(--salt); max-height: calc(100svh - 32px); overscroll-behavior: contain; }
dialog::backdrop { background: rgb(20 18 16 / .85); }
.booking-dialog { width: min(1100px, calc(100% - 32px)); }
.dialog-bar { display: flex; gap: 24px; align-items: start; justify-content: space-between; padding: 24px 32px; border-bottom: 1px solid var(--light-rule); background: var(--salt); }
.dialog-bar .eyebrow { color: var(--rule); font-size: 10px; margin-bottom: 10px; }
.dialog-bar h2 { font-size: 34px; margin: 0; }
.close-button { flex-shrink: 0; min-width: 44px; min-height: 44px; background: none; border: 1px solid var(--light-rule); color: var(--dark); font-size: 28px; line-height: 1; }
.close-button:hover { background: var(--dark); color: var(--salt); }
.small-dialog { width: min(650px, calc(100% - 32px)); padding: 28px; }
.small-dialog .dialog-bar { padding: 0 0 20px; margin-bottom: 24px; }
.small-dialog > p { color: var(--rule); font-size: 15px; }

.site-footer .footer-utilities { margin-top: 0; padding-top: 0; border-top: 0; }
.site-footer .footer-utilities a:last-child { margin-left: 0; }
@media (max-width: 760px) {
  .booking-host, .booking-host iframe { min-height: 850px; }
  .booking-host iframe { height: 960px; }
  .calendar-help { padding: 16px; font-size: 11px; }
  .dialog-bar { padding: 20px; gap: 12px; }
  .dialog-bar h2 { font-size: 28px; }
  .booking-dialog { width: calc(100% - 16px); max-height: calc(100svh - 16px); }
  .small-dialog { padding: 24px 20px; }
}

/* Give the aircraft and cockpit more room before the headline and fade. */
@media (min-width:761px) {
  .hero.dark { --hero-space:max(760px, 100svh); --hero-anchor:calc(var(--hero-space) * .80); }
  .hero .hero-photo { height:calc(var(--hero-space) * .98); object-position:50% 50%; }
  .hero .hero-fade { height:var(--hero-space); background:linear-gradient(180deg, rgb(20 18 16 / .5) 0%, transparent 14%, transparent 68%, rgb(20 18 16 / .35) 78%, rgb(20 18 16 / .85) 88%, #141210 98%); }
  /* Retain the headline's original anchor while letting its new supporting copy flow below it. */
  .hero .hero-copy { position:relative; top:auto; transform:none; padding-top:calc(var(--hero-anchor) - var(--hero-type) * .44); padding-bottom:40px; }
}
@media (max-width:760px) {
  .hero.dark { --hero-photo-height:min(90vw, 540px); }
  .hero .hero-photo { object-position:50% 0; }
  .hero .hero-fade { background:linear-gradient(180deg, transparent 0%, transparent 86%, rgb(20 18 16 / .2) 92%, #141210 100%); }
}
.hero .hero-support { max-width:68ch; margin:28px auto 0; font:400 18px/1.6 var(--body); color:var(--salt); text-wrap:pretty; }
@media (max-width:760px) {
  .hero .hero-support { margin-top:24px; font-size:17px; line-height:1.55; }
}
.capabilities-intro .button { margin-top:28px; }
.capabilities-intro .button:focus-visible { outline-color:var(--salt); }


/* Outcome-led section in the established Piper Ops visual system. */
.outcomes-install { padding:80px 0 76px; }
.outcomes-layout { display:flex; flex-direction:column; align-items:center; }
.outcomes-heading { width:100%; text-align:center; }
.outcomes-heading h2 { font:800 clamp(50px,5.4vw,72px)/1.04 var(--display); margin:0 0 24px; text-wrap:balance; }
.outcomes-heading p { max-width:69ch; margin:0 auto; font:400 18px/1.6 var(--body); color:var(--rule); text-wrap:pretty; }
.outcomes-heading p + p { margin-top:20px; }
.outcomes-grid { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; margin:48px 0 0; padding:36px 0 0; list-style:none; border-top:1px solid var(--light-rule); }
.outcomes-grid::before { content:''; position:absolute; top:-1px; left:0; width:100%; height:1px; background:var(--brass); transform-origin:left; }
.business-outcome { min-width:0; padding:0 36px; }
.business-outcome:first-child { padding-left:0; }
.business-outcome:last-child { padding-right:0; }
.business-outcome + .business-outcome { border-left:1px solid var(--light-rule); }
.business-outcome h3 { max-width:14ch; margin:0 0 18px; font:700 clamp(36px,3.3vw,44px)/1.08 var(--display); text-wrap:balance; }
.business-outcome p { max-width:34ch; margin:0; font:400 17px/1.6 var(--body); color:var(--rule); text-wrap:pretty; }
.outcomes-action { margin-top:40px; min-height:52px; padding-inline:24px; gap:32px; font-size:12px; color:var(--dark); border-color:var(--dark); }
.outcomes-action svg { display:block; width:22px; height:22px; }
.outcomes-action:hover { color:var(--salt); background:var(--dark); border-color:var(--dark); }
.outcomes-action:focus-visible { outline:2px solid var(--dark); outline-offset:5px; }
.outcomes-install ::selection { color:var(--salt); background:var(--rule); }
@media(min-width:761px) {
 .business-outcome { text-align:center; }
 .business-outcome:first-child { padding-left:36px; }
 .business-outcome:last-child { padding-right:36px; }
 .business-outcome h3,.business-outcome p { margin-inline:auto; }
}
@media(max-width:900px) and (min-width:761px) {
 .business-outcome,.business-outcome:first-child,.business-outcome:last-child { padding-inline:24px; }
 .business-outcome h3 { font-size:36px; }
}
@media(max-width:760px) {
 .outcomes-install { padding:44px 0 48px; }
 .outcomes-heading { text-align:left; }
 .outcomes-heading h2 { font-size:48px; margin-bottom:20px; }
 .outcomes-heading h2 span { display:block; }
 .outcomes-heading p { font-size:17px; line-height:1.55; }
 .outcomes-grid { grid-template-columns:1fr; margin-top:30px; padding-top:26px; }
 .business-outcome { padding:0 0 24px; }
 .business-outcome + .business-outcome { border-left:0; border-top:1px solid var(--light-rule); padding:24px 0; }
 .business-outcome:last-child { padding-bottom:0; }
 .business-outcome h3 { max-width:none; font-size:32px; line-height:1.1; margin-bottom:10px; text-wrap:pretty; }
 .business-outcome p { max-width:40ch; font-size:16px; line-height:1.55; }
 .outcomes-action { align-self:flex-start; margin-top:30px; }
}
@media(max-width:360px) {
 .outcomes-heading h2 { font-size:42px; }
 .business-outcome h3 { font-size:30px; }
}
@media(prefers-reduced-motion:no-preference) {
 .outcomes-grid.is-playing::before { animation:outcomes-connect 1100ms cubic-bezier(.16,1,.3,1) both; }
 .outcomes-grid.is-paused::before { animation-play-state:paused; }
}
@keyframes outcomes-connect { from { transform:scaleX(0); } to { transform:scaleX(1); } }

/* Scoped below the hero: approved hero markup, imagery and styles are untouched. */
.gap-story { padding:80px 0; }
.gap-story-intro { display:grid; grid-template-columns: .85fr 1.15fr; gap:80px; }
.gap-story-intro h2 { font-size:clamp(44px,4.4vw,64px); line-height:1.05; }
.gap-story-intro p { max-width:65ch; color:var(--rule); font-size:18px; line-height:1.65; }
.gap-visual { max-width:840px; margin:40px auto 0; text-align:center; }
.founder-seat strong,.operator-seat strong { display:block; font:700 34px/1.15 var(--display); }
.founder-seat span { display:block; margin-top:8px; font-size:15px; color:var(--rule); }
.gap-connection { width:1px; height:28px; margin:16px auto 0; background:var(--light-rule); }
.operator-space { position:relative; border-block:1px dashed #8c8273; padding:24px 0; }
.gap-label { position:absolute; left:0; top:50%; transform:translateY(-50%); max-width:10ch; font-size:13px; text-align:left; color:var(--rule); }
.operator-seat { width: min(100%,440px); margin:auto; background:var(--dark); color:var(--salt); padding:24px 20px; border:1px solid var(--brass); }
.operator-seat strong { color:var(--brass); }
.operator-seat span { display:block; margin-top:10px; font-size:14px; }
.team-branches { height:32px; width:66.666%; margin:auto; border-bottom:1px solid #8c8273; position:relative; }
.team-branches:before { content:''; position:absolute; width:1px; height:100%; background:#8c8273; left:50%; }
.team-seats { display:grid; grid-template-columns:repeat(3,1fr); }
.team-seats > div { position:relative; padding:22px 8px 0; }
.team-seats > div:before { content:''; position:absolute; width:1px; height:14px; background:#8c8273; top:0; left:50%; }
.team-seats strong { font:700 28px/1.2 var(--display); }
.gap-visual figcaption { color:var(--rule); font-size:15px; margin-top:24px; }
.gap-action { margin-top:28px; text-align:center; }
.gap-action .text-link:hover { color:var(--rule); }
.diagnosis-story { padding:80px 0; }
.diagnosis-intro { display:grid; grid-template-columns:1.15fr 1fr; gap:72px; align-items:end; margin-bottom:40px; }
.diagnosis-intro h2 { max-width:18ch; margin:0; font-size:clamp(42px,4.4vw,60px); line-height:1.08; }
.diagnosis-intro p { max-width:44ch; margin:0; color:var(--secondary); }
.diagnosis-story table { width:100%; border-collapse:collapse; text-align:left; }
.diagnosis-story thead th { font:600 12px/1.5 var(--body); color:var(--brass); padding:0 24px 16px 0; }
.diagnosis-story th:first-child { width:38%; }
.diagnosis-story tbody tr { border-top:1px solid var(--rule); }
.diagnosis-story tbody th { padding:28px 48px 28px 0; font:700 30px/1.2 var(--display); vertical-align:top; }
.diagnosis-story td { padding:28px 0; color:var(--secondary); vertical-align:top; }
.mobile-label { display:none; }
.diagnosis-end { border-top:1px solid var(--rule); padding-top:28px; display:flex; gap:48px; align-items:center; justify-content:space-between; }
.diagnosis-end p { margin:0; max-width:50ch; color:var(--secondary); }
.diagnosis-end a { flex-shrink:0; }
.closing .closing-fit { font-size:13px; line-height:1.6; max-width:60ch; margin:24px auto 0; color:var(--secondary); }
@media(max-width:760px) {
 .gap-story,.diagnosis-story { padding:48px 0; }
 .gap-story-intro,.diagnosis-intro { grid-template-columns:1fr; gap:20px; }
 .gap-story-intro h2,.diagnosis-intro h2 { font-size:44px; margin:0; }
 .gap-story-intro p { font-size:17px; }
 .gap-visual { margin-top:28px; }
 .gap-label { position:static; transform:none; display:block; max-width:none; text-align:center; margin-bottom:14px; }
 .operator-space { padding:18px 0; }
 .operator-seat { max-width:320px; padding:22px 12px; }
 .operator-seat strong { font-size:32px; }
 .operator-seat span { font-size:12px; }
 .team-seats strong { font-size:24px; }
 .gap-visual figcaption { font-size:14px; }
 .diagnosis-intro { margin-bottom:28px; }
 .diagnosis-story table,.diagnosis-story tbody,.diagnosis-story tr,.diagnosis-story th,.diagnosis-story td { display:block; width:100%; }
 .diagnosis-story thead { display:none; }
 .diagnosis-story tbody tr { padding:24px 0; }
 .diagnosis-story tbody th:first-child { width:100%; padding:0 0 16px; font-size:28px; }
 .diagnosis-story td { padding:0; font-size:16px; }
 .mobile-label { display:block; color:var(--brass); font:600 11px/1.5 var(--body); margin-bottom:8px; }
 .diagnosis-end { display:block; }
 .diagnosis-end p { margin-bottom:16px; }
}

/* A literal break between direction and execution, then the connection Piper supplies. */
.gap-story { background:var(--dark); color:var(--salt); }
.gap-story-intro p { color:var(--secondary); }
.gap-action .text-link:hover { color:var(--brass); }
.gap-comparison { margin:48px 0 0; }
.gap-state { padding:32px 0; border-top:1px solid var(--rule); }
.gap-state h3 { font:600 15px/1.4 var(--body); margin:0 0 28px; color:var(--secondary); }
.gap-track { display:grid; grid-template-columns:1fr 1.5fr 1fr; align-items:center; gap:28px; }
.gap-endpoint { font:700 32px/1.1 var(--display); text-align:center; }
.gap-break { min-height:106px; display:flex; align-items:center; justify-content:center; position:relative; }
.gap-break:before,.gap-break:after { content:''; position:absolute; top:50%; width:13%; height:1px; background:var(--ash); }
.gap-break:before { left:0; }
.gap-break:after { right:0; }
.gap-break span { color:var(--secondary); max-width:20ch; text-align:center; font-size:15px; }
.gap-bridge { min-height:106px; position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:14px 20px; border-block:1px solid var(--brass); }
.gap-bridge:before,.gap-bridge:after { content:''; position:absolute; top:50%; height:1px; width:28px; background:var(--brass); }
.gap-bridge:before { right:100%; }
.gap-bridge:after { left:100%; }
.gap-bridge strong { font:700 34px/1.1 var(--display); color:var(--brass); }
.gap-bridge span { font-size:14px; color:var(--secondary); margin-top:12px; }
.gap-state p { margin:24px 0 0; text-align:center; color:var(--secondary); font-size:16px; }
.gap-state-filled h3 { color:var(--brass); }
.diagnosis-intro { display:block; text-align:center; margin-bottom:44px; }
.diagnosis-intro h2 { max-width:none; width:100%; text-wrap:balance; }
.diagnosis-intro p { max-width:65ch; margin:24px auto 0; }
.diagnosis-end { display:flex; justify-content:center; padding-top:28px; }
@media(max-width:760px) {
 .gap-comparison { margin-top:28px; }
 .gap-state { padding:28px 0; }
 .gap-state h3 { margin-bottom:24px; }
 .gap-track { grid-template-columns:1fr; gap:0; }
 .gap-endpoint { font-size:28px; }
 .gap-break { min-height:144px; }
 .gap-break:before,.gap-break:after { width:1px; height:24px; left:50%; right:auto; top:auto; }
 .gap-break:before { top:12px; }
 .gap-break:after { bottom:12px; }
 .gap-break span { font-size:14px; max-width:none; }
 .gap-bridge { margin:30px 0; min-height:112px; }
 .gap-bridge:before,.gap-bridge:after { width:1px; height:30px; left:50%; right:auto; }
 .gap-bridge:before { bottom:100%; top:auto; }
 .gap-bridge:after { top:100%; }
 .gap-state p { font-size:15px; max-width:35ch; margin:24px auto 0; }
 .diagnosis-intro h2 { font-size:44px; }
 .diagnosis-intro p { margin-top:20px; }
}

/* Approved circular-system concept; deliberately scoped to the second section. */
.operator-system { background:var(--dark); color:var(--salt); padding:80px 0 64px; }
.system-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:64px; }
.system-intro { padding-bottom:48px; }
.system-intro h2 { font:800 clamp(56px,6.2vw,88px)/1.05 var(--display); margin:0 0 32px; text-wrap:initial; }
.system-recognition { max-width:32ch; font-size:22px; line-height:1.5; margin:0 0 24px; }
.system-ownership { max-width:34ch; font-size:18px; line-height:1.6; color:var(--secondary); margin:0; }
.system-figure { min-width:0; text-align:center; }
.system-figure h3 { font:700 clamp(30px,3.1vw,42px)/1.12 var(--display); margin:0 0 26px; }
.system-label { font:500 12px/1.5 var(--body); letter-spacing:.16em; text-transform:uppercase; margin:0 0 18px; color:var(--secondary); }
.system-wheel { position:relative; width:min(100%,480px); aspect-ratio:1; margin:auto; }
.system-geometry { display:block; width:100%; height:100%; overflow:visible; }
.system-ring,.system-divisions { stroke:var(--salt); stroke-width:1.5; vector-effect:non-scaling-stroke; }
.system-divisions { stroke-opacity:.8; }
.system-trace { stroke:var(--brass); stroke-width:3; vector-effect:non-scaling-stroke; stroke-dasharray:100; stroke-dashoffset:100; opacity:0; }
.system-capabilities { padding:0; margin:0; list-style:none; }
.system-capability { position:absolute; transform:translate(-50%,-50%); width:36%; font:700 clamp(22px,2.1vw,30px)/1.13 var(--display); }
.system-intelligence { top:26%; left:25%; }
.system-strategy { top:26%; left:75%; }
.system-people { top:74%; left:75%; }
.system-cadence { top:74%; left:25%; }
.system-operator { position:absolute; inset:31%; display:grid; place-content:center; background:var(--brass); color:var(--dark); border-radius:50%; font:800 clamp(30px,2.7vw,38px)/1.08 var(--display); }
.system-stem { position:relative; height:48px; width:1px; background:var(--brass); margin:0 auto 12px; }
.system-signal { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--salt); top:0; left:-2px; opacity:0; }
.system-outcome strong { display:block; color:var(--brass); font:700 36px/1.1 var(--display); }
.system-outcome > span { display:block; margin-top:12px; font:400 17px/1.5 var(--body); }
.system-action { display:flex; justify-content:flex-start; margin-top:32px; }
.system-action .button,.diagnosis-end .button { min-height:52px; min-width:220px; justify-content:center; gap:28px; font-size:12px; }
.system-action .button svg,.diagnosis-end .button svg { flex-shrink:0; }
.system-action .button:hover,.diagnosis-end .button:hover { background:var(--salt); color:var(--dark); border-color:var(--salt); }
.system-action .button:focus-visible,.diagnosis-end .button:focus-visible { outline-color:var(--salt); }
.system-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* The How It Works motion language: one visible signal, brief arrival, then rest.
   Labels and structure remain fully visible before, during and without motion. */
@media (prefers-reduced-motion:no-preference) {
  .system-figure.is-playing .system-trace { animation:system-connect 2600ms cubic-bezier(.22,1,.36,1) both; }
  .system-figure.is-playing .system-signal { animation:system-travel 600ms 2500ms cubic-bezier(.22,1,.36,1) both; }
  .system-figure.is-playing .system-outcome strong { animation:system-arrival 1000ms 3000ms ease-in-out both; }
  .system-figure.is-paused .system-trace,
  .system-figure.is-paused .system-signal,
  .system-figure.is-paused .system-outcome strong { animation-play-state:paused; }
}
@keyframes system-connect {
  0% { stroke-dashoffset:100; opacity:0; }
  10% { opacity:1; }
  85% { stroke-dashoffset:0; opacity:1; }
  100% { stroke-dashoffset:0; opacity:0; }
}
@keyframes system-travel {
  0% { transform:translateY(0); opacity:0; }
  15% { opacity:1; }
  85% { opacity:1; }
  100% { transform:translateY(46px); opacity:0; }
}
@keyframes system-arrival {
  0%,100% { color:var(--brass); }
  45% { color:var(--salt); }
}
@media(max-width:1000px) and (min-width:761px) {
  .system-layout { gap:36px; }
  .system-intro h2 { font-size:56px; }
  .system-recognition { font-size:20px; }
  .system-ownership { font-size:17px; }
  .system-capability { font-size:22px; }
  .system-operator { font-size:29px; }
}
@media(max-width:760px) {
  .operator-system { padding:48px 0; }
  .system-layout { grid-template-columns:1fr; gap:40px; }
  .system-intro { padding:0; }
  .system-intro h2 { font-size:clamp(46px,12.8vw,60px); margin-bottom:24px; }
  .system-recognition { max-width:34ch; font-size:19px; line-height:1.5; margin-bottom:18px; }
  .system-ownership { max-width:35ch; font-size:16px; line-height:1.55; }
  .system-figure h3 { font-size:30px; margin-bottom:20px; }
  .system-label { margin-bottom:16px; }
  .system-wheel { width:min(100%,420px); }
  .system-capability { font-size:clamp(19px,5.8vw,26px); }
  .system-operator { font-size:clamp(26px,7.7vw,34px); }
  .system-outcome strong { font-size:30px; }
  .system-outcome > span { font-size:16px; margin-top:10px; }
  .system-action { margin-top:32px; }
}
@media(prefers-reduced-motion:reduce) {
  .system-trace,.system-signal { display:none; }
  .system-figure * { animation:none !important; }
}
@media print {
  .system-trace,.system-signal { display:none; }
  .system-figure * { animation:none !important; }
}

/* Local homepage refinement: preserve the approved content and hero geometry. */
.credibility { border-bottom: 1px solid var(--rule); }
.credibility-heading h2 { margin-bottom: 12px; }
.credibility-inner { align-items: center; }
.site-header .desktop-nav { font-size: 12px; }
.site-header .button.small { font-size: 12px; }

@media (max-width: 900px) {
  html { scroll-padding-top: 116px; }
  .site-header.over-hero { position: fixed; background: var(--dark); }
  .site-header .mobile-nav { max-height: calc(100dvh - 96px); overflow-y: auto; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 100px; }
  .site-header .header-inner { min-height: 80px; gap: 12px; }
  .site-header .nav-actions { gap: 8px; }
  .site-header .button.small,
  .site-header .menu-toggle {
    font-size: 12px;
    letter-spacing: .025em;
    min-height: 44px;
    padding: 10px;
    white-space: nowrap;
  }
  .site-header .menu-toggle { gap: 6px; }
  .site-header .mobile-nav { max-height: calc(100dvh - 80px); }

  .credibility-heading { margin-bottom: 20px; }

  .experience-brands .brand-window {
    overflow-x: auto;
    overflow-y: hidden;
    mask-image: none;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: var(--ash) var(--dark);
  }
  .experience-brands .brand-window:focus-visible {
    outline: 2px solid var(--brass);
    outline-offset: 4px;
  }
  .experience-brands .brand-track {
    display: flex;
    width: 100%;
    animation: none;
    transform: none;
  }
  /* Two complete logos and a visible part of the next invite a swipe. */
  .experience-brands .brand-marks { display: flex; flex: 0 0 100%; min-width: 0; gap: 24px; padding-right: 0; }
  .experience-brands .brand-marks li {
    width: calc((100% - 48px) / 2.4);
    min-width: 0;
    flex: 0 0 calc((100% - 48px) / 2.4);
    scroll-snap-align: start;
  }
  .experience-brands .brand-marks img { max-width: 100%; }
  .experience-brands .brand-clone { display: none; }
}

@media (max-width: 480px) {
  .site-header .wordmark > span { display: none; }
}

@media (max-width: 390px) {
  .site-header .header-inner { width: calc(100% - 32px); gap: 8px; }
  .site-header .menu-toggle span { display: none; }
}

@media (max-width: 360px) {
  .site-header .header-inner { width: calc(100% - 24px); gap: 6px; }
  .site-header .nav-actions { gap: 6px; }
  .site-header .wordmark img { height: 20px; }
  .site-header .button.small,
  .site-header .menu-toggle { padding-inline: 8px; letter-spacing: 0; }
  .site-header .menu-toggle span { display: none; }
}
