:root{
    --black:#0A0A0A; --white:#FFFFFF; --grey:#6B6B6B; --line:#0A0A0A; --line-soft:rgba(10,10,10,.14); --line-inv:rgba(255,255,255,.2);
    --serif:"Instrument Serif", Georgia, serif; --sans:"Inter", system-ui, sans-serif; --mono:"IBM Plex Mono", ui-monospace, monospace;
    --max:1240px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{margin:0;font-family:var(--sans);color:var(--black);background:var(--white);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
  a{color:inherit}
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--black);outline-offset:3px}
  .inv a:focus-visible,.inv input:focus-visible{outline-color:var(--white)}
  h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1;letter-spacing:-.01em;text-wrap:balance;font-feature-settings:"kern","liga"}
  ::selection{background:var(--black);color:var(--white)}
  .inv ::selection{background:var(--white);color:var(--black)}
  p{margin:0;text-wrap:pretty}
  html{color-scheme:light}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
  .measure{max-width:60ch}
  .mono{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
  .inv{background:var(--black);color:var(--white)}
  .inv .grey{color:rgba(255,255,255,.6)}
  .grey{color:var(--grey)}

  /* sprite: five frames stacked, shown one at a time */
  .gallop{position:relative;aspect-ratio:480/256;width:100%}
  .gallop .f,.strip svg{fill:currentColor}
  .gallop .f{position:absolute;inset:0;width:100%;height:100%;opacity:0;animation:cycle .72s steps(1,end) infinite}
  .gallop .f:nth-child(1){animation-delay:var(--o,0s)} .gallop .f:nth-child(2){animation-delay:calc(var(--o,0s) - .576s)} .gallop .f:nth-child(3){animation-delay:calc(var(--o,0s) - .432s)} .gallop .f:nth-child(4){animation-delay:calc(var(--o,0s) - .288s)} .gallop .f:nth-child(5){animation-delay:calc(var(--o,0s) - .144s)}
  .herd .gallop:nth-child(3n+2){--o:-.24s} .herd .gallop:nth-child(3n){--o:-.48s} .herd .gallop:nth-child(4n+1){--o:-.1s}
  @keyframes cycle{0%{opacity:1}20%{opacity:0}100%{opacity:0}}
  .gallop.slow .f{animation-duration:1.1s}
  .gallop.slow .f:nth-child(2){animation-delay:-.88s}.gallop.slow .f:nth-child(3){animation-delay:-.66s}.gallop.slow .f:nth-child(4){animation-delay:-.44s}.gallop.slow .f:nth-child(5){animation-delay:-.22s}
  .paused .gallop .f,.paused .lane{animation-play-state:paused}
  /* the nav horse is driven by scroll, not by a clock */
  .scrolljog .f{animation:none;opacity:0;transition:none}
  .scrolljog .f.on{opacity:1}
  @media (prefers-reduced-motion:reduce){.gallop .f{animation:none}.gallop .f:nth-child(3){opacity:1}}

  /* header */
  header{position:sticky;top:0;z-index:20;background:var(--white);border-bottom:1px solid var(--line)}
  .progress{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--black);transition:width .1s linear}
  .nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
  .brand{display:flex;align-items:center;gap:14px;text-decoration:none}
  .brand .gallop{width:54px;flex:none}
  .brand b{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.22em;text-transform:uppercase}
  .nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
  .nav ul a{text-decoration:none;font-size:14px;font-weight:500}
  .nav ul a{position:relative}
  .nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--black);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
  .nav ul a:hover::after,.nav ul a.active::after{transform:scaleX(1)}
  .cta{background:var(--black);color:var(--white);padding:10px 16px;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.02em}
  .cta:hover{background:#222}
  .menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;padding:0;position:relative;cursor:pointer;flex:none}
  .menu-btn span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--black);transition:transform .3s,top .3s}
  .menu-btn span:first-child{top:18px} .menu-btn span:last-child{top:26px}
  .menu-btn[aria-expanded="true"] span:first-child{top:22px;transform:rotate(45deg)} .menu-btn[aria-expanded="true"] span:last-child{top:22px;transform:rotate(-45deg)}
  .mobilemenu{display:none;flex-direction:column;gap:0;padding:8px clamp(20px,4vw,48px) 28px;border-top:1px solid var(--line)}
  .mobilemenu a{font-family:var(--serif);font-size:34px;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line-soft)}
  .mobilemenu .mono{margin-top:22px}
  header.open .mobilemenu{display:flex}
  @media (max-width:860px){.nav ul{display:none}.menu-btn{display:block}.nav .cta{display:none}}

  /* hero */
  .hero{border-bottom:1px solid var(--line)}
  .hero .top{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding-top:clamp(40px,7vw,110px)}
  .hero .kicker{display:flex;gap:18px;align-items:center;margin-bottom:28px}
  .hero .kicker::before{content:"";width:48px;height:1px;background:var(--black)}
  .hero h1{font-size:clamp(44px,8.6vw,138px);max-width:12ch;line-height:.92;overflow-wrap:normal}
  .hero h1 em{font-style:italic}
  .hero .meta{text-align:right;padding-bottom:10px;line-height:1.9;color:var(--grey)}
  .hero .meta b{color:var(--black);font-weight:500;display:block}
  @media (max-width:760px){.hero .top{grid-template-columns:1fr}.hero .meta{text-align:left}}

  /* the track: horizon line with the horse running on it */
  .track{position:relative;margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:clamp(200px,26vw,380px);overflow:hidden}
  .track .ground{position:absolute;left:0;right:0;bottom:22%;height:1px;background:var(--line)}
  .track .still{position:absolute;bottom:calc(22% - 1px);left:50%;height:64%;aspect-ratio:480/256;width:auto;max-width:70%;fill:var(--black);transform:translateX(-30%)}
  .track .still{animation:settle 1.2s cubic-bezier(.2,.7,.2,1) .3s both}
  @keyframes settle{from{opacity:0;transform:translateX(-36%)}to{opacity:1;transform:translateX(-30%)}}
  .track .label{position:absolute;left:clamp(20px,4vw,48px);top:16px;color:var(--grey)}
  .track .label2{position:absolute;right:clamp(20px,4vw,48px);top:16px;color:var(--grey);text-align:right}
  @media (max-width:700px){.track{height:220px}.track .label2{display:none}.track .label{font-size:11px}.track .still{height:56%;max-width:64%;transform:translateX(-46%)}.track .post{font-size:11px}}
  @media (max-width:700px){.track .still{animation-name:settleM}}
  @keyframes settleM{from{opacity:0;transform:translateX(-52%)}to{opacity:1;transform:translateX(-46%)}}
  .track .ticks{position:absolute;left:0;right:0;bottom:22%;height:8px;background-image:repeating-linear-gradient(90deg,var(--black) 0 1px,transparent 1px 10%);opacity:.5}
  .track .post{position:absolute;bottom:calc(22% + 14px);color:var(--grey)}
  .track .post.left{left:clamp(20px,4vw,48px)} .track .post.right{right:clamp(20px,4vw,48px)}
  .track .post::before{content:"";position:absolute;left:0;bottom:-14px;width:1px;height:12px;background:var(--black)}
  .track .post.right::before{left:auto;right:0}
  .hero h1 .w{display:inline-block;transform:translateY(110%);opacity:0;animation:wordUp .9s cubic-bezier(.2,.7,.1,1) forwards}
  .hero h1{clip-path:inset(-2% 0 -6% 0)}
  .hero h1 .w:nth-child(1){animation-delay:.05s}.hero h1 .w:nth-child(2){animation-delay:.1s}.hero h1 .w:nth-child(3){animation-delay:.15s}.hero h1 .w:nth-child(4){animation-delay:.2s}.hero h1 .w:nth-child(5){animation-delay:.25s}.hero h1 .w:nth-child(6){animation-delay:.3s}
  .hero h1 em .w:nth-child(1){animation-delay:.42s}.hero h1 em .w:nth-child(2){animation-delay:.5s}
  @keyframes wordUp{to{transform:none;opacity:1}}
  .hero .kicker,.hero .meta{animation:fadeIn .8s ease .6s both}
  .hero .below{animation:fadeIn .9s ease .8s both}
  @keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @media (prefers-reduced-motion:reduce){.track .still{animation:none}.hero h1 .w{animation:none;transform:none;opacity:1}.hero .kicker,.hero .meta,.hero .below{animation:none}}

  .hero .below{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(56px,7vw,96px)}
  .hero .lede{font-size:clamp(19px,1.6vw,24px);line-height:1.4;font-family:var(--serif)}
  .hero .lede strong{font-weight:400;border-bottom:1px solid var(--black)}
  .hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
  .btn{display:inline-block;padding:14px 22px;text-decoration:none;font-weight:600;font-size:15px;border:1px solid var(--black);transition:background .2s,color .2s}
  .btn.solid{background:var(--black);color:var(--white)}
  .btn.solid:hover{background:var(--white);color:var(--black)}
  .btn.line{color:var(--black)}
  .btn.line:hover{background:var(--black);color:var(--white)}
  .inv .btn.solid{background:var(--white);color:var(--black);border-color:var(--white)}
  .inv .btn.solid:hover{background:var(--black);color:var(--white)}
  .hero .side{border-left:1px solid var(--line);padding-left:clamp(20px,3vw,40px);align-self:start}
  .hero .side dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:14px 24px;font-size:15px}
  .hero .side dt{color:var(--grey)} .hero .side dd{margin:0;font-weight:500}
  @media (max-width:860px){.hero .below{grid-template-columns:1fr}.hero .side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px}}

  /* chain */
  .chain{padding:22px 0}
  .chain ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 0;justify-content:space-between;font-family:var(--serif);font-size:clamp(18px,1.6vw,24px)}
  /* chain: static when it fits, ticker when it overflows (decided by script) */
  .chain .rail{overflow:hidden}
  .chain ol.measure{flex-wrap:nowrap;width:max-content;justify-content:flex-start;gap:0 28px}
  .chain.ticker .rail{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .chain.ticker ol{flex-wrap:nowrap;justify-content:flex-start;gap:0 28px;width:max-content;animation:chainrun var(--dur,28s) linear infinite}
  .chain.ticker li{flex:none}
  .chain.ticker li:last-child svg{display:inline-block}
  @keyframes chainrun{from{transform:translateX(0)}to{transform:translateX(var(--shift,-50%))}}
  .chain.ticker.paused ol{animation-play-state:paused}
  @media (prefers-reduced-motion:reduce){.chain.ticker ol{animation:none}}
  .chain li{display:flex;align-items:center;gap:14px}
  .chain li svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;opacity:.6}
  .chain li:last-child svg{display:none}
  .chain .lbl{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;color:rgba(255,255,255,.6)}

  section{padding:clamp(72px,9vw,128px) 0}
  .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px}
  .eyebrow svg{width:16px;height:16px}
  .eyebrow .folio{opacity:.45;margin-right:6px}
  .eyebrow .folio::after{content:" /";}
  h2{font-size:clamp(40px,5.4vw,80px);max-width:18ch;line-height:.96}
  .lead{font-size:clamp(18px,1.4vw,21px);margin-top:28px;line-height:1.5}

  /* services ledger */
  .services{margin-top:56px;border-top:1px solid var(--line)}
  .service{display:grid;grid-template-columns:72px 1fr 1.6fr 40px;gap:24px;padding:32px 0;border-bottom:1px solid var(--line-soft);position:relative}
  .service .num{font-family:var(--mono);font-size:13px;padding-top:10px;color:var(--grey)}
  .service .go{width:40px;height:40px;border:1px solid var(--line-soft);border-radius:50%;display:grid;place-items:center;justify-self:end;align-self:start;transition:background .25s,border-color .25s,transform .25s}
  .service .go svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;transition:stroke .25s}
  .service:hover .go{background:var(--black);border-color:var(--black);color:var(--white);transform:translateX(4px)}
  .service:hover .num{color:var(--black)}
  .service h3{font-size:clamp(26px,2.4vw,36px)}
  .service p{color:var(--grey);max-width:56ch}
  @media (max-width:760px){.service{grid-template-columns:48px 1fr}.service p{grid-column:2}.service .go{display:none}}

  /* where you are */
  .stage{padding-top:0}
  .stages{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
  .stg{padding:34px 28px 34px 0}
  .stg + .stg{border-left:1px solid var(--line-soft);padding-left:28px}
  .stg .mono{margin-bottom:22px}
  .stg h3{font-size:clamp(28px,2.6vw,40px);margin-bottom:16px;line-height:1}
  .stg p:last-child{color:var(--grey)}
  @media (max-width:820px){.stages{grid-template-columns:1fr}.stg + .stg{border-left:0;padding-left:0;border-top:1px solid var(--line-soft)}}

  /* muybridge strip */
  .strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid currentColor}
  .strip figure{margin:0;padding:18px 14px 12px;border-right:1px solid currentColor}
  .strip figure:last-child{border-right:0}
  .strip svg{width:100%;height:auto;display:block}
  .strip figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-top:12px;opacity:.6}
  .stripwrap{padding-bottom:clamp(72px,9vw,128px)}
  .stripwrap .cap{display:flex;justify-content:space-between;gap:24px;margin-top:14px;color:var(--grey)}
  @media (max-width:700px){.strip{grid-template-columns:repeat(5,1fr)}.strip figure{padding:8px 4px}.strip figcaption{display:none}}

  /* regions */
  .shores{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
  .shore{padding:34px clamp(24px,4vw,64px) 8px 0;position:relative}
  .shore + .shore{border-left:1px solid var(--line);padding-left:clamp(24px,4vw,64px);padding-right:0}
  .shore .tag{margin-bottom:18px;color:var(--grey);display:flex;justify-content:space-between}
  .shore h3{font-size:clamp(44px,5vw,76px);margin-bottom:18px;line-height:.95}
  .shore p{color:var(--grey)}
  .shore ul{margin:26px 0 0;padding:0;list-style:none}
  .shore li{padding:12px 0;border-top:1px solid var(--line-soft);display:flex;gap:12px;align-items:baseline}
  .shore li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--black);flex:none;transform:translateY(-1px)}
  @media (max-width:820px){.shore + .shore{border-left:0;border-top:1px solid var(--line);padding-left:0}}
  @media (max-width:820px){.shores{grid-template-columns:1fr}}

  /* proof */
  .facts{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--white)}
  .fact{padding:38px 28px 38px 0;border-bottom:1px solid var(--line-inv)}
  .fact + .fact{border-left:1px solid var(--line-inv);padding-left:28px}
  .fact .big{font-family:var(--serif);font-size:clamp(64px,7.4vw,124px);line-height:.88;letter-spacing:-.02em}
  .fact p{margin-top:16px;color:rgba(255,255,255,.62);max-width:30ch}
  @media (max-width:820px){.facts{grid-template-columns:1fr}.fact + .fact{border-left:0;padding-left:0}}
  .brand-list{margin:64px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,5vw,80px)}
  .brand-list li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:24px 0;border-top:1px solid var(--line-inv);font-size:16px;color:rgba(255,255,255,.66);line-height:1.6}
  .brand-list svg{width:32px;height:32px;margin-top:2px;color:var(--white)}
  .brand-list strong{display:block;font-family:var(--serif);font-weight:400;font-size:28px;color:var(--white);margin-bottom:8px}
  @media (max-width:820px){.brand-list{grid-template-columns:1fr}}
  .creed{margin-top:72px;border-top:1px solid var(--white);padding-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
  .creed p{font-family:var(--serif);font-size:clamp(26px,2.6vw,40px);line-height:1.15}
  .creed .gallop{width:100%}
  @media (max-width:760px){.creed{grid-template-columns:1fr}}

  /* approach */
  .steps{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
  .step{padding:30px 24px 30px 0;border-right:1px solid var(--line-soft)}
  .step + .step{padding-left:24px}
  .step:last-child{border-right:0}
  .step .n{position:relative;width:60px;height:60px;margin-bottom:18px}
  .step .n svg{position:absolute;inset:0;width:100%;height:100%}
  .step .n span{position:absolute;left:0;right:0;top:15px;line-height:1;text-align:center;font-family:var(--mono);font-size:15px;font-weight:500}
  .step h3{font-size:30px;margin-bottom:10px}
  .step p{color:var(--grey);font-size:16px}
  @media (max-width:980px){.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(3){padding-left:0}.step:nth-child(3),.step:nth-child(4){border-top:1px solid var(--line-soft)}}
  @media (max-width:560px){.steps{grid-template-columns:1fr}.step{border-right:0;padding-left:0;border-top:1px solid var(--line-soft)}.step:first-child{border-top:0}}

  /* who */
  .who ul{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
  .who li{padding:16px 0;border-bottom:1px solid var(--line-soft);font-size:18px;display:flex;gap:14px;align-items:baseline}
  .who li svg{width:18px;height:18px;flex:none;transform:translateY(3px)}
  @media (max-width:760px){.who ul{grid-template-columns:1fr}}

  /* contact */
  .contact{border-top:1px solid var(--line)}
  .contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);margin-top:48px;align-items:start}
  @media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
  .field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
  .field label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
  .field input,.field select,.field textarea{font:inherit;font-size:16px;padding:12px 0;border:0;border-bottom:1px solid var(--black);border-radius:0;background:transparent;color:var(--black)}
  .field textarea{min-height:120px;resize:vertical}
  .side p + p{margin-top:16px}
  .side strong{font-weight:600;display:block}

  /* footer */
  footer{overflow:hidden;border-top:1px solid var(--line)}
  .bigmark{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--serif);font-size:clamp(88px,17.5vw,270px);line-height:.82;padding-top:clamp(48px,6vw,96px);letter-spacing:-.03em}
  .bigmark span:last-child{font-style:italic}
  @media (max-width:600px){.bigmark{flex-direction:column;align-items:flex-start;line-height:.9;font-size:26vw}}
  .herd{position:relative;height:120px;border-bottom:1px solid var(--line-inv)}
  .herd .lane{position:absolute;bottom:14px;left:0;display:flex;gap:140px;animation:herd 36s linear infinite;will-change:transform;contain:layout paint}
  .herd .gallop{width:200px;flex:none}
  .herd .g1{position:absolute;bottom:14px;left:0;right:0;height:1px;background:rgba(255,255,255,.35)}
  @keyframes herd{from{transform:translateX(-50%)}to{transform:translateX(0)}}
  @media (prefers-reduced-motion:reduce){.herd .lane{animation:none}}
  .foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 0;font-size:13px;color:rgba(255,255,255,.6)}
  .foot a{text-decoration:none;color:inherit} .foot a:hover{color:var(--white)}

  .grain{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%27240%27 height=%27240%27><filter id=%27n%27><feTurbulence type=%27fractalNoise%27 baseFrequency=%27.9%27 numOctaves=%272%27 stitchTiles=%27stitch%27/><feColorMatrix values=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0%27/></filter><rect width=%27240%27 height=%27240%27 filter=%27url(%23n)%27/></svg>")}

  @media (max-width:700px){.grain{display:none}}

  /* reveal */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

  /* multi-page */
  .mobilemenu a.active{text-decoration:underline;text-underline-offset:5px}
  .pagehead{border-bottom:1px solid var(--line);padding:clamp(56px,7vw,104px) 0 clamp(40px,5vw,72px)}
  .pagehead .kicker{display:flex;gap:18px;align-items:center;margin-bottom:26px}
  .pagehead .kicker::before{content:"";width:48px;height:1px;background:var(--black)}
  .pagehead h1{font-size:clamp(46px,7.4vw,118px);max-width:14ch;line-height:.94}
  .pagehead .lead{max-width:64ch}
  .pagehead .row{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
  .pagehead .still{height:clamp(90px,12vw,170px);aspect-ratio:480/256;width:auto;fill:var(--black)}
  @media (max-width:700px){.pagehead .row{grid-template-columns:1fr}.pagehead .still{display:none}}
  .more{display:inline-flex;align-items:center;gap:10px;margin-top:40px;text-decoration:none;font-weight:600;font-size:15px;border-bottom:1px solid var(--black);padding-bottom:4px}
  .more svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;transition:transform .25s}
  .more:hover svg{transform:translateX(4px)}
  .inv .more{border-color:var(--white)}
  .svc-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
  .svc{padding:30px 28px 30px 0;border-bottom:1px solid var(--line-soft);text-decoration:none;display:block;transition:background .2s}
  .svc:nth-child(3n+2),.svc:nth-child(3n){border-left:1px solid var(--line-soft);padding-left:28px}
  .svc .num{font-family:var(--mono);font-size:12px;color:var(--grey);letter-spacing:.1em}
  .svc h3{font-size:clamp(24px,2.1vw,32px);margin:14px 0 10px}
  .svc p{color:var(--grey);font-size:16px}
  .svc h3{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px;transition:text-decoration-color .25s}
  .svc:hover h3{text-decoration-color:var(--black)}
  @media (max-width:820px){.svc-grid{grid-template-columns:1fr}.svc:nth-child(3n+2),.svc:nth-child(3n){border-left:0;padding-left:0}}
  .stg a.more{margin-top:22px;font-size:14px}
  .principal{margin-top:72px;border-top:1px solid var(--white);padding-top:56px;display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,5vw,80px)}
  .principal .mono{color:rgba(255,255,255,.55)}
  .principal p.big{font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);line-height:1.18}
  .principal p.k{margin-top:22px;color:rgba(255,255,255,.66)}
  .principal .note{margin-top:28px;padding-top:22px;border-top:1px solid var(--line-inv);color:rgba(255,255,255,.66);font-size:15px}
  .principal .note a{color:var(--white)}
  @media (max-width:820px){.principal{grid-template-columns:1fr}}
  .ctaband{padding:clamp(72px,9vw,120px) 0;border-top:1px solid var(--line)}
  .ctaband .row{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
  .ctaband h2{max-width:22ch}
  @media (max-width:760px){.ctaband .row{grid-template-columns:1fr}}
  .cform .field input,.cform .field select,.cform .field textarea{width:100%}
  .cform button.btn{cursor:pointer;font-family:inherit}
  .cform .ok{display:none;font-family:var(--serif);font-size:26px;margin-top:8px}
  .cform.sent .ok{display:block} .cform.sent .field,.cform.sent button{display:none}
  .cform .err{display:none;color:#B00020;margin-top:12px;font-size:15px}
  .cform.failed .err{display:block}
  .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}
  .stagepage .stg{padding:40px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(24px,4vw,64px)}
  .stagepage .stg + .stg{border-left:0;padding-left:0}
  .stagepage .stg h3{font-size:clamp(34px,3.6vw,54px)}
  .stagepage .stg ul{margin:22px 0 0;padding:0;list-style:none}
  .stagepage .stg li{padding:10px 0;border-top:1px solid var(--line-soft);display:flex;gap:12px}
  .stagepage .stg li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--black);flex:none;transform:translateY(9px)}
  @media (max-width:820px){.stagepage .stg{grid-template-columns:1fr}}

  .skip{position:absolute;left:-9999px;top:8px;background:var(--black);color:var(--white);padding:10px 14px;z-index:100;font-weight:600}
  .skip:focus{left:8px}
  select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%278%27><path d=%27M1 1l5 5 5-5%27 fill=%27none%27 stroke=%27%230A0A0A%27 stroke-width=%271.5%27/></svg>");background-repeat:no-repeat;background-position:right 2px center;padding-right:24px}
  @media print{header,footer,.grain,.track,.strip,.stripwrap,.ctaband,.btn,.more,.menu-btn{display:none !important}body{font-size:12pt;color:#000}.inv{background:#fff;color:#000}.inv *{color:#000 !important;border-color:#000 !important}section{padding:24pt 0;break-inside:avoid}}

  [id]{scroll-margin-top:96px}
  .service[id],.stg[id]{scroll-margin-top:110px}

  /* phone pass */
  @media (max-width:700px){
    section{padding:56px 0}
    .hero .kicker::before{width:28px}
    .hero .kicker{gap:12px;font-size:11px}
    .hero .meta{display:none}
    .hero .top{padding-top:36px}
    .hero .below{padding-top:32px;padding-bottom:48px}
    .hero .lede{font-size:20px}
    .hero .actions .btn{flex:1 1 auto;text-align:center}
    .track{margin-top:28px}
    h2{font-size:38px}
    .lead{font-size:17px;margin-top:18px}
    .eyebrow{margin-bottom:16px}
    .svc-grid,.services,.stages,.facts,.steps,.shores,.brand-list{margin-top:36px}
    .svc{padding:22px 0}
    .svc h3{margin:10px 0 8px}
    .service{padding:24px 0}
    .stg{padding:26px 0}
    .stripwrap .cap{flex-direction:column;gap:6px}
    .strip figure{padding:10px 4px 6px}
    .fact{padding:26px 0}
    .fact .big{font-size:56px}
    .brand-list li{padding:18px 0;grid-template-columns:32px 1fr;gap:12px}
    .brand-list svg{width:24px;height:24px}
    .brand-list strong{font-size:22px}
    .creed{margin-top:48px;padding-top:36px}
    .creed p{font-size:24px}
    .creed .gallop{max-width:320px}
    .principal{margin-top:48px;padding-top:36px}
    .principal p.big{font-size:22px}
    .step{padding:22px 0}
    .step h3{font-size:26px}
    .who li{font-size:17px;padding:13px 0}
    .ctaband{padding:56px 0}
    .ctaband h2{font-size:34px}
    .pagehead{padding:36px 0 32px}
    .pagehead h1{font-size:42px}
    .pagehead .kicker::before{width:28px}
    .pagehead .kicker{gap:12px;font-size:11px}
    .contact-grid{margin-top:28px}
    .field{margin-bottom:14px}
    .bigmark{padding-top:40px}
    .herd{height:96px}
    .herd .gallop{width:150px}
    .foot{padding:22px 0;font-size:12px;gap:12px}
    .mobilemenu a{font-size:30px;padding:10px 0}
  }
  @media (max-width:420px){
    .hero h1{font-size:42px}
    .brand b{font-size:12px;letter-spacing:.18em}
    .brand .gallop{width:46px}
  }
