@font-face{font-family:Outfit;src:url("assets/Outfit-Variable.ttf") format("truetype");font-weight:100 900;font-display:swap}
:root{--navy:#102b3f;--ivory:#f7f5f0;--copper:#b87349;--paper:#fffdfa;--light:#bac8cf;--muted:#52616b;--dark-rule:#426071;--light-rule:#b7bfbc;--copper-text:#e3b28f;--copper-ink:#8a4d2d}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--navy);color:var(--ivory);font-family:Outfit,Arial,sans-serif;font-weight:400;font-size:17px;line-height:1.55}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-underline-offset:5px}button,a,summary{touch-action:manipulation}svg{display:block}a:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:6px}.wrap{width:min(1248px,calc(100% - 192px));margin-inline:auto}.light{background:var(--ivory);color:var(--navy)}.eyebrow{font-size:12px;line-height:1.5;font-weight:500}.eyebrow{letter-spacing:.07em}.light .eyebrow{color:var(--copper-ink)}.arrow{width:24px;height:12px;flex:none;stroke:currentColor;stroke-width:1;fill:none;transition:transform 160ms ease}.skip{position:absolute;left:24px;top:-120px;padding:12px 20px;background:var(--ivory);color:var(--navy);z-index:10;display:flex;gap:24px}.skip:focus{top:12px}.masthead{display:flex;justify-content:space-between;align-items:center;padding:28px 0 24px;gap:36px}.identity{flex:none;display:block;width:284px;max-width:100%}.identity img{display:block;width:100%;height:auto}.masthead-right{display:flex;gap:42px;align-items:center}nav{display:flex;gap:28px;align-items:center}nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:14px;position:relative}nav .arrow{display:none}nav a:after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform 160ms ease}h1{font-size:clamp(80px,7.22vw,104px);line-height:1.01;font-weight:400;letter-spacing:-.044em}h1 span{display:block;white-space:nowrap}.action{display:flex;width:fit-content;align-items:center;justify-content:space-between;gap:36px;min-height:52px;border-bottom:1px solid var(--copper);padding:10px 0;text-decoration:none;font-size:17px;line-height:1.4}.corner{position:absolute;width:42px;height:32px;pointer-events:none;border-color:var(--copper);border-style:solid;animation:corner-emphasis 400ms ease-out 1}.corner-top{top:0;left:-24px;border-width:1px 0 0 1px}.corner-bottom{bottom:0;right:-24px;border-width:0 1px 1px 0}h2{font-size:50px;line-height:1.08;font-weight:400;letter-spacing:-.035em}h3{font-weight:450;letter-spacing:-.015em;line-height:1.2}.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:30px;align-items:center;padding:25px 0;border-top:1px solid var(--light-rule)}.ledger-row:last-child{border-bottom:1px solid var(--light-rule)}.ledger-row h3{font-size:19px;max-width:19ch}.footer-grid{display:flex;justify-content:space-between;gap:40px;padding-top:32px;padding-bottom:32px;font-size:13px;color:var(--light)}footer{border-top:1px solid var(--dark-rule)}.footer-name{font-size:16px;color:var(--ivory);margin-bottom:12px}.notice{font-size:11px;margin-top:28px}.footer-links{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.footer-links .arrow{display:none}
@keyframes corner-emphasis{from{opacity:.45}to{opacity:1}}@media(hover:hover){nav a:hover:after{transform:scaleX(1)}a:hover>.arrow{transform:translateX(3px)}.action:hover{color:var(--copper-text)}}

@media(max-width:1150px){.wrap{width:calc(100% - 112px)}.masthead-right{gap:24px}nav{gap:22px}h1{font-size:8.1vw}.ledger-row{grid-template-columns:1fr;gap:16px}}
@media(max-width:820px){.wrap{width:calc(100% - 64px)}.masthead{flex-wrap:wrap;gap:16px;padding-top:24px}.masthead-right{width:100%}nav{gap:28px}h1{font-size:8.2vw}h2{font-size:40px}.ledger-row{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:30px}.corner-top{left:-14px}.corner-bottom{right:-14px}.corner{width:30px;height:26px}}
@media(max-width:560px){body{font-size:16px;line-height:1.5}.wrap{width:calc(100% - 48px)}.masthead{padding:20px 0 16px;gap:12px}.identity{width:284px}.masthead-right{width:100%}nav{gap:0;justify-content:space-between;width:100%}nav a{font-size:13px;min-height:44px}h1{font-size:clamp(46px,13.8vw,54px);line-height:1;letter-spacing:-.045em}h1 span:last-child{font-size:clamp(30px,9.45vw,39px);line-height:1.12;letter-spacing:-.04em;margin-top:8px}.corner{width:24px;height:22px}.corner-top{left:-12px}.corner-bottom{right:-12px}h2{font-size:34px;line-height:1.12;letter-spacing:-.03em}.ledger-row{grid-template-columns:1fr;gap:16px;padding:20px 0}.ledger-row h3{font-size:20px;max-width:none}.footer-grid{display:flex;flex-direction:column;gap:26px;padding:28px 0;font-size:12px}.notice{margin-top:20px}.footer-links{gap:12px}.footer-name{font-size:15px}.corner{animation:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.corner{animation:none}.ledger-row{padding:22px 0;gap:26px}.ledger-row h3{font-size:20px}.footer-links a{min-height:24px}
@media(max-width:900px){.ledger-row{display:block}.ledger-row h3{max-width:none;margin-bottom:16px}}
@media(max-width:700px){.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px}.ledger-row h3{margin:0;font-size:19px}}
@media(max-width:560px){h1{font-size:clamp(40px,12vw,48px);line-height:1.03;letter-spacing:-.035em}h1 span:last-child{font-size:clamp(30px,9.8vw,40px);font-weight:450;letter-spacing:-.035em;line-height:1.13;margin-top:4px}.ledger-row{display:block;padding:18px 0}.ledger-row h3{font-size:19px;margin-bottom:12px}.footer-grid{gap:22px;padding:24px 0}.notice{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.arrow,nav a:after{transition:none!important;transform:none!important}}

/* Exact official mark above the footer identity; account for its intrinsic clear space. */
footer .footer-mark{display:block;width:52px;height:auto;margin:0 0 12px -7.28px}

/* Refreshed site style, shared by pages whose body has the refresh class (homepage and AI engineering). Other pages are untouched. */
.refresh{--ink:#0a1a26;--sand:#e9e2d3;--sand-rule:#cbbfa8;--edge:#d6cdbd;--rule:#e3dbcd;--steel:#a9c1cf;--warm:#f5f1e8;background:var(--ink) radial-gradient(110% 70% at 85% 0%,#1b4058 0%,var(--navy) 45%,var(--ink) 100%) no-repeat top/100% 1150px}
.refresh .defs{position:absolute;width:0;height:0;overflow:hidden}
.refresh h1,.refresh h2,.refresh h3{text-wrap:balance}
.refresh h1 span{display:inline;white-space:normal;font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:inherit;margin:0}
.refresh h1 .hp-line{display:block;white-space:nowrap}
.refresh h2{font-size:clamp(36px,4.4vw,56px);line-height:1.04;letter-spacing:-.04em}
.refresh.home-page h2{font-size:clamp(34px,3.6vw,48px);line-height:1.1}
.refresh p{text-wrap:pretty}
.hp-eyebrow{font-size:14px;font-weight:500;color:var(--copper-ink);margin-bottom:14px}
.hp-lede{font-size:19px;line-height:1.55;color:var(--muted);max-width:44ch;margin-top:22px}
.hp-split-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:end}
.hp-split-head .hp-lede{margin-top:0}
.hp-button{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:4px;background:var(--copper);color:var(--ink);font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background 160ms ease}
.hp-button-quiet{background:none;color:var(--ivory);box-shadow:inset 0 0 0 1px currentColor;font-weight:400}
.refresh a:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
.refresh nav{align-items:center}
.refresh nav a.nav-action{min-height:40px;padding:0 16px;border-radius:4px;background:var(--copper);color:var(--ink);font-weight:500}
.refresh nav a.nav-action:after{display:none}
@media(hover:hover){.hp-button:hover,.refresh nav a.nav-action:hover{background:#c98458}.hp-button-quiet:hover{background:rgba(247,245,240,.08)}}

/* Hero with the illustrative task list */
.hp-hero{padding:40px 0 104px}
.hp-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr);gap:64px;align-items:center}
.hp-hero .hp-eyebrow{color:var(--copper-text);margin-bottom:26px}
.refresh h1{font-size:clamp(42px,4.9vw,68px);line-height:1;letter-spacing:-.045em}
.hp-underline{position:relative;display:inline-block!important}
.hp-underline svg{position:absolute;left:-1%;bottom:-.1em;width:102%;height:.22em;overflow:visible}
.hp-underline path{fill:none;stroke:var(--copper);stroke-width:3.2;stroke-linecap:round;stroke-dasharray:640;stroke-dashoffset:0;animation:hp-draw 1.1s ease-in-out .4s backwards}
.hp-hero-body{font-size:19px;line-height:1.55;color:var(--light);max-width:36ch;margin-top:26px}
.hp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.ledger{margin:0;min-width:0;background:rgba(7,20,30,.7);border:1px solid rgba(186,200,207,.16);border-radius:14px;padding:20px 22px 8px;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.ledger figcaption{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(186,200,207,.14);font-size:14px;font-weight:500;color:var(--light)}
.ledger-notice{color:var(--light);font-weight:400}
.ledger-rows{list-style:none;margin:0;padding:0}
.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(186,200,207,.08)}
.ledger-row:last-child{border-bottom:0}
.ledger-row b{display:block;font-weight:500;font-size:16px}
.ledger-row small{display:block;color:var(--light);font-size:13.5px;margin-top:2px}
.state{display:grid;justify-items:end;font-size:14px;white-space:nowrap}
.st{grid-area:1/1;display:inline-flex;align-items:center;gap:8px}
.s-chase{color:var(--copper-text)}.s-check{color:var(--steel)}.s-wait{color:var(--light);opacity:.85}.s-back{color:var(--light)}.s-done{color:var(--ivory)}
.pen-tick{width:22px;height:17px;flex:none;overflow:visible;fill:none;stroke:var(--copper);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* At rest only the final state shows. The animation briefly shows earlier states, once. */
.until-12,.until-24,.until-36,.between-12-24{opacity:0}
.until-12{animation:hp-show 1.2s step-end}
.until-24{animation:hp-show 2.4s step-end}
.until-36{animation:hp-show 3.6s step-end}
.between-12-24{animation:hp-show 1.2s step-end 1.2s}
.from-12{animation:hp-hide 1.2s step-end}
.from-24{animation:hp-hide 2.4s step-end}
.from-36{animation:hp-hide 3.6s step-end}
.s-done.from-12 .pen-tick path,.s-done.from-24 .pen-tick path,.s-done.from-36 .pen-tick path{stroke-dasharray:40;animation:hp-tick .5s ease-out backwards}
.s-done.from-24 .pen-tick path{animation-delay:2.4s}
.s-done.from-36 .pen-tick path{animation-delay:3.6s}
@keyframes hp-show{0%{opacity:1}100%{opacity:1}}
@keyframes hp-hide{0%{opacity:0}100%{opacity:0}}
@keyframes hp-draw{from{stroke-dashoffset:640}}
@keyframes hp-tick{from{stroke-dashoffset:40}}

/* How we work */
.hp-how{background:var(--warm);color:var(--navy);padding:96px 0}
.hp-how-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:72px;align-items:start}
.hp-responsibility{margin-top:32px;padding:4px 0 4px 20px;border-left:2px solid var(--copper);font-size:18px;line-height:1.5;max-width:44ch}
.sheet{margin:0;background:var(--paper);border:1px solid var(--edge);padding:30px 32px 26px;box-shadow:0 4px 0 #ebe3d4,0 30px 60px -30px rgba(16,43,63,.35)}
.sheet-label{font-size:14px;font-weight:500;color:var(--muted)}
.sheet h3{font-size:28px;font-weight:500;letter-spacing:-.02em;margin-top:14px}
.sheet-summary{color:var(--muted);font-size:15px;margin:4px 0 14px}
.sheet-steps{list-style:none;margin:0;padding:0}
.sheet-steps li{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--rule);font-size:15.5px}
.sheet-steps small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.sheet-steps .pen-tick{stroke:var(--copper-ink);margin-top:2px}
.sheet-foot{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:22px}
.sheet-foot p{font-size:14px;color:var(--muted);border-top:1px solid var(--navy);padding-top:8px;min-width:0}
.sheet-foot b{display:block;color:var(--navy);font-weight:500}
.stamp{width:96px;height:96px;flex:none;color:var(--copper-ink)}
.stamp g{filter:url(#ink);fill:none;stroke:currentColor}
.stamp circle{stroke-width:1.8}.stamp circle.inner{stroke-width:1}
.stamp .check{stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.stamp text{fill:currentColor;stroke:none;font-family:Outfit,Arial,sans-serif;font-weight:500;font-size:7.6px;letter-spacing:1.6px}
.sheet figcaption{font-size:13px;color:var(--muted);margin-top:18px}

/* Services */
.hp-services{background:var(--sand);color:var(--navy);padding:104px 0 112px;border-top:1px solid #d3c8b3;border-bottom:1px solid #d3c8b3}
.svc-rows{margin-top:44px;border-top:1px solid var(--sand-rule)}
.svc-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.15fr) minmax(0,1fr);gap:48px;padding:34px 0 36px;border-bottom:1px solid var(--sand-rule);align-items:start}
.svc-row h3{font-size:28px;line-height:1.12;letter-spacing:-.02em;font-weight:500;max-width:18ch}
.svc-desc{font-size:16.5px;color:var(--muted);max-width:44ch}
.svc-spec{margin:0}
.svc-spec div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid #d8cdb9;font-size:15px}
.svc-spec div:first-child{border-top:0;padding-top:2px}
.svc-spec dt{color:var(--muted)}.svc-spec dd{margin:0}
.svc-more{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:16px}
.svc-more a,.terms-action a{color:var(--copper-ink);text-underline-offset:5px;text-decoration-thickness:1px}

/* Data */
.hp-data{background:var(--navy);padding:80px 0}
.hp-data .hp-eyebrow{color:var(--copper-text)}
.hp-data .hp-lede{color:var(--light)}
.hp-data-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:72px;align-items:start}
.data-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px}
.data-points div{border-top:1px solid rgba(186,200,207,.22);padding-top:18px}
.data-points h3{font-size:19px;font-weight:500}
.data-points p{font-size:15.5px;color:var(--light);margin-top:6px;max-width:34ch}

/* Pricing */
.hp-pricing{background:var(--paper);color:var(--navy);padding:80px 0}
.terms{margin-top:56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--edge);background:var(--warm)}
.terms>div{padding:30px 32px}
.terms-excluded{border-left:1px solid var(--edge)}
.terms h3{font-size:19px;font-weight:500;margin-bottom:12px}
.terms ul{list-style:none;margin:0;padding:0}
.terms li{display:flex;gap:14px;align-items:baseline;padding:11px 0;border-top:1px solid var(--rule);font-size:16px}
.terms li:first-child{border-top:0}
.terms-included .pen-tick{width:20px;height:15px;align-self:center;stroke:var(--copper)}
.terms-excluded li{color:var(--muted)}
.terms-action{margin-top:20px;padding-top:18px;border-top:1px solid var(--copper);font-size:16px}

/* Contact */
.hp-contact{background:var(--ink);padding:104px 0 96px}
.hp-contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:72px;align-items:end}
.hp-contact h2{font-size:clamp(38px,5vw,64px);max-width:20ch}
.hp-contact .hp-lede{color:var(--light);max-width:52ch}
.hp-contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.hp-email{font-size:17px;color:var(--light);text-underline-offset:5px;text-decoration-thickness:1px}
.refresh footer{background:var(--ink)}

@media(max-width:1150px){.refresh h1{font-size:clamp(42px,5.2vw,64px)}.svc-row{gap:32px}}
@media(max-width:960px){
  .hp-hero{padding:24px 0 80px}
  .hp-hero-grid,.hp-how-grid,.hp-split-head,.hp-data-grid,.hp-contact-grid{grid-template-columns:1fr;gap:44px}
  .hp-split-head{gap:20px}
  .refresh h1{font-size:clamp(44px,8.6vw,78px)}
  .refresh h1 .hp-line{white-space:normal}
  .hp-hero-body{max-width:46ch;font-size:20px}
  .svc-row{grid-template-columns:1fr;gap:14px;padding:28px 0}.svc-row h3{max-width:none}
  .terms{grid-template-columns:1fr}.terms-excluded{border-left:0;border-top:1px solid var(--edge)}.terms>div{padding:24px 22px}
  .hp-how,.hp-services,.hp-data,.hp-pricing,.hp-contact{padding:80px 0}
}
@media(max-width:560px){
  .refresh nav a.nav-action{display:none}
  .hp-hero-body{font-size:18px}
  .refresh h2{font-size:34px;line-height:1.1}
  .hp-lede{font-size:17px}
  .ledger{padding:18px 18px 6px}
  .ledger-row{grid-template-columns:1fr;gap:6px}
  .state{justify-items:start;white-space:normal}
  .data-points{grid-template-columns:1fr;gap:24px}
  .sheet{padding:24px 20px}
  .stamp{width:80px;height:80px}
  .hp-how,.hp-services,.hp-data,.hp-pricing,.hp-contact{padding:64px 0}
}
@media(prefers-reduced-motion:reduce){.refresh .st,.refresh .pen-tick path,.hp-underline path{animation:none!important}}

/* Landing page building blocks, for the refreshed style. Reuse these on new landing pages. */
.refresh .lp-hero{padding:40px 0 0}
.refresh .lp-hero-copy{max-width:900px;padding-bottom:64px}
.refresh .lp-hero h1{font-size:clamp(44px,6.4vw,92px)}
.refresh .lp-hero h1 .hp-line{white-space:normal}
.refresh .lp-hero .hp-eyebrow{color:var(--copper-text);margin-bottom:26px}
.lp-hero-body{font-size:20px;line-height:1.55;color:var(--light);max-width:44ch;margin-top:28px}
.commit-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:40px;align-items:center;border-top:1px solid rgba(186,200,207,.18);padding:26px 0 40px}
.commit-strip-head{font-size:17px;font-weight:500}
.commit-strip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.commit-strip li{display:flex;align-items:center;gap:10px;font-size:16px}
.callout{margin-top:22px;padding-left:18px;border-left:2px solid var(--copper);font-size:18px;line-height:1.55;max-width:56ch}
.refresh .lp-how{background:var(--warm);color:var(--navy);padding:104px 0}
.lp-how-head{max-width:820px}
.refresh .lp-how-head h2{font-size:clamp(30px,3.4vw,44px);line-height:1.12}
.split-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:44px}
.split-panels .panel{padding:28px 30px;border:1px solid var(--edge);background:var(--paper)}
.split-panels .panel-dark{background:var(--navy);color:var(--ivory);border-color:var(--navy)}
.split-panels h3{font-size:22px;font-weight:500;margin-bottom:12px}
.split-panels ul{list-style:none;margin:0;padding:0}
.split-panels li{padding:11px 0;border-top:1px solid var(--rule);font-size:16.5px}
.split-panels .panel-dark li{border-color:rgba(186,200,207,.2)}
.split-panels li:first-child{border-top:0}
.svc-two .svc-row{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.svc-two .svc-desc{max-width:52ch;font-size:17px}
.svc-two .svc-rows{margin-top:36px}
.refresh .lp-pricing{background:var(--warm);color:var(--navy);padding:104px 0 112px}
.promise{font-size:22px;line-height:1.4;font-weight:500;max-width:30ch}
.lp-pricing .hp-split-head{align-items:start}
.lp-pricing .hp-lede{margin-top:16px}
.compare{width:100%;margin-top:56px;border-collapse:collapse;border-top:1px solid var(--navy);font-size:15.5px;text-align:left}
.compare caption{text-align:left;font-size:14px;font-weight:500;color:var(--muted);padding-bottom:12px}
.compare th,.compare td{padding:16px 24px 16px 0;border-bottom:1px solid var(--edge);vertical-align:top;font-weight:400}
.compare thead th{font-size:14px;font-weight:500;color:var(--muted)}
.compare tbody th{font-weight:500;width:22%}
.compare td{color:var(--muted)}
.compare .us{color:var(--navy);font-weight:500}
.compare thead .us{color:var(--copper-ink)}
.compare-note{font-size:14px;color:var(--muted);margin-top:12px}
.refresh .lp-example{background:var(--navy);padding:104px 0 112px}
.refresh .lp-example .hp-eyebrow{color:var(--copper-text)}
.lp-example-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.case-sheet{margin:0;background:var(--paper);color:var(--navy);border:1px solid var(--edge);padding:30px 32px 28px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.case-sheet-label{font-size:14px;font-weight:500;color:var(--muted)}
.case-sheet h3{font-size:26px;font-weight:500;letter-spacing:-.02em;margin:12px 0 14px}
.case-sheet dl{margin:0}
.case-sheet dl div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:13px 0;border-top:1px solid var(--rule);font-size:15.5px}
.case-sheet dt{color:var(--copper-ink);font-size:14px;font-weight:500;padding-top:1px}
.case-sheet dd{margin:0}
.case-sheet figcaption{margin-top:18px;padding-top:16px;border-top:1px solid var(--copper);font-size:18px;line-height:1.45}
.case-sheet figcaption span:first-child{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
.refresh .lp-faq{background:var(--paper);color:var(--navy);padding:96px 0 104px;border-top:1px solid var(--edge)}
.lp-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.lp-faq h3{font-size:20px;font-weight:500;padding-top:16px;border-top:1px solid var(--navy)}
.lp-faq p{font-size:16px;color:var(--muted);margin-top:10px}
@media(max-width:1200px){.commit-strip{grid-template-columns:1fr;gap:16px}}
@media(max-width:960px){
  .commit-strip ul{grid-template-columns:1fr 1fr}
  .svc-two .svc-row{grid-template-columns:1fr}
  .lp-example-grid,.lp-faq-grid{grid-template-columns:1fr;gap:36px}
  .refresh .lp-how,.refresh .lp-pricing,.refresh .lp-example,.refresh .lp-faq{padding:80px 0}
}
@media(max-width:760px){
  .split-panels{grid-template-columns:1fr}
  .compare thead{display:none}
  .compare,.compare tbody,.compare th,.compare td,.compare caption{display:block;width:auto}
  .compare{border-top:0}.compare caption{border-bottom:1px solid var(--navy)}
  .compare tr{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid var(--edge)}
  .compare th,.compare td{border:0;padding:2px 0}
  .compare tbody th{order:-2;width:auto;font-size:17px;margin-bottom:6px}
  .compare td.us{order:-1;font-size:16.5px;margin-bottom:6px}
  .compare td::before{content:attr(data-label) ": ";color:var(--muted);font-weight:400}
  .compare td.us::before{color:var(--copper-ink);font-weight:500}
}
@media(max-width:560px){
  .commit-strip ul{grid-template-columns:1fr;gap:12px}
  .lp-hero-body{font-size:18px}
  .case-sheet{padding:24px 20px}.case-sheet dl div{grid-template-columns:1fr;gap:4px}
  .refresh .lp-how,.refresh .lp-pricing,.refresh .lp-example,.refresh .lp-faq{padding:64px 0}
}

/* Pinned header on refreshed pages, so the nav stays reachable after jumping to a section. */
.refresh .masthead{position:sticky;top:0;z-index:20;padding-top:16px;padding-bottom:14px;background:rgba(10,26,38,.94);box-shadow:0 0 0 100vmax rgba(10,26,38,.94);clip-path:inset(0 -100vmax);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.refresh .identity{width:240px}
.refresh main [id]{scroll-margin-top:84px}
html:has(body.refresh){scroll-behavior:smooth}
@media(max-width:820px){.refresh .masthead{padding-top:12px;padding-bottom:6px;gap:6px}.refresh main [id]{scroll-margin-top:130px}}
@media(max-width:560px){.refresh .identity{width:190px}.refresh main [id]{scroll-margin-top:110px}}
@media(prefers-reduced-motion:reduce){html:has(body.refresh){scroll-behavior:auto}}

/* Phones keep the main header button, beside the logo. */
.refresh .masthead{position:relative}
@media(max-width:560px){
  .refresh .identity{width:min(200px,calc(100% - var(--cta-space,150px)))}
  .engineering-page{--cta-space:186px}
  .refresh nav a.nav-action{display:flex;position:absolute;top:20px;right:0;min-height:40px;padding:0 12px;font-size:13px;white-space:nowrap}
}

/* Site footer with links to every section */
.refresh footer .footer-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;padding:56px 0 44px;font-size:14px;color:var(--light)}
.refresh .footer-name{font-size:17px}
.refresh .footer-location{margin-bottom:2px}
.refresh .notice{font-size:12px;margin-top:28px}
.footer-nav{display:grid;grid-template-columns:repeat(3,auto);gap:56px;align-items:start}
.footer-nav div{display:flex;flex-direction:column;align-items:flex-start}
.footer-heading{font-size:14px;font-weight:500;color:var(--ivory);margin-bottom:6px}
.footer-nav a{display:flex;align-items:center;min-height:36px;font-size:15px;color:var(--light);text-decoration:none}
.footer-nav a[aria-current]{color:var(--ivory)}
.refresh .footer-nav{align-items:start}
@media(hover:hover){.footer-nav a:hover{color:var(--ivory)}}
@media(max-width:960px){.refresh footer .footer-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:560px){
  .refresh footer .footer-grid{padding:44px 0 36px}
  .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
  .footer-nav div:last-child{grid-column:1/-1}
  .footer-nav a{min-height:40px}
}

/* Homepage: how a handover starts */
.hp-steps{background:var(--ink);padding:80px 0 0}
.hp-steps .hp-eyebrow{color:var(--copper-text)}
.steps-row{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;counter-reset:step}
.steps-row li{counter-increment:step;border-top:1px solid rgba(186,200,207,.22);padding-top:20px}
.steps-row li:before{content:counter(step,decimal-leading-zero);display:block;color:var(--copper-text);font-size:14px;font-weight:500;margin-bottom:12px}
.steps-row h3{font-size:20px;font-weight:500}
.steps-row p{font-size:15.5px;color:var(--light);margin-top:8px;max-width:30ch}
.hp-steps+.hp-contact{padding-top:64px}
.hp-steps+.hp-contact .hp-contact-grid{border-top:1px solid rgba(186,200,207,.22);padding-top:48px}
@media(max-width:960px){
  .hp-steps{padding-top:80px}
  .steps-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
  .hp-steps+.hp-contact{padding-top:64px}
  .hp-steps+.hp-contact .hp-contact-grid{padding-top:48px}
}
@media(max-width:560px){
  .hp-steps{padding-top:64px}
  .steps-row{grid-template-columns:1fr;gap:20px;margin-top:32px}
  .hp-steps+.hp-contact{padding-top:48px}
  .hp-steps+.hp-contact .hp-contact-grid{padding-top:40px}
}

/* Homepage: pointer to the AI engineering page */
.contact-also{margin-top:28px;padding-left:16px;border-left:2px solid var(--copper);font-size:16px;color:var(--light)}
.contact-also a{color:var(--copper-text);text-underline-offset:5px;text-decoration-thickness:1px;white-space:nowrap}

/* AI engineering: the long commitment gets a wider column */
@media(min-width:961px){.commit-strip ul{grid-template-columns:repeat(3,auto) minmax(0,1fr);gap:36px}}

/* AI engineering: questions stack beside the heading, so any number fits */
@media(min-width:961px){
  .lp-faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:0 72px}
  .lp-faq-grid h2{grid-row:1/span 20}
  .lp-faq-grid>div{grid-column:2;padding-bottom:32px}
  .lp-faq-grid>div:last-child{padding-bottom:0}
  .lp-faq p{max-width:62ch}
}

/* Hero list: the sales order waits on the customer, then completes last. */
.between-12-48{opacity:0;animation:hp-show 3.6s step-end 1.2s}
.from-48{animation:hp-hide 4.8s step-end}
.s-done.from-48 .pen-tick path{stroke-dasharray:40;animation:hp-tick .5s ease-out 4.8s backwards}

/* AI engineering: the comparison opens with a question, not a label. */
.refresh .compare caption{font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.015em;color:var(--navy);padding-bottom:16px}
@media(max-width:560px){.refresh .compare caption{font-size:19px}}
/* Privacy policy */
.legal{padding:40px 0 112px}
.legal-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start}
.legal-intro{position:sticky;top:32px}
.legal .hp-eyebrow{color:var(--copper-text);margin-bottom:22px}
.legal-page.refresh h1{font-size:clamp(40px,4.4vw,60px);line-height:1.04;letter-spacing:-.045em}
.legal .hp-lede{color:var(--light);max-width:38ch;margin-top:22px}
.legal-body section{padding:28px 0;border-top:1px solid rgba(186,200,207,.22)}
.legal-body section:first-child{border-top:0;padding-top:0}
.refresh .legal-body h2{font-size:24px;line-height:1.25;letter-spacing:-.015em;font-weight:500}
.legal-body p,.legal-body li{color:var(--light);max-width:62ch}
.legal-body p{margin-top:14px}
.legal-body strong{color:var(--ivory);font-weight:500}
.legal-body ul{margin:14px 0 0;padding-left:20px}
.legal-body li{padding:4px 0}
.legal-body a{color:var(--ivory);text-decoration-thickness:1px}
.legal-updated{font-size:14px}
@media(max-width:960px){.legal{padding:24px 0 80px}.legal-grid{grid-template-columns:1fr;gap:40px}.legal-intro{position:static}}
@media(max-width:560px){.legal{padding:16px 0 64px}.legal-page.refresh h1{font-size:38px}}

/* Homepage: the problem we solve */
.hp-pain{padding:24px 0 112px}
.hp-pain .hp-eyebrow{color:var(--copper-text)}
.hp-pain .hp-lede{color:var(--light)}
.pain-points{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.pain-points li{border-top:1px solid var(--copper);padding-top:20px}
.pain-points h3{font-size:20px;font-weight:500;max-width:18ch}
.pain-points p{font-size:15.5px;color:var(--light);margin-top:8px;max-width:30ch}
.pain-turn{margin-top:48px;font-size:17px;color:var(--ivory)}
.pain-turn a{color:var(--copper-text);margin-left:6px}

/* Homepage: the free first week */
.pilot{margin-top:48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px 56px;padding:40px;border:1px solid var(--copper);border-radius:4px;background:rgba(16,43,63,.55)}
.pilot-tag{font-size:14px;font-weight:500;color:var(--copper-text);margin-bottom:12px}
.pilot h3{font-size:30px;font-weight:400;letter-spacing:-.025em;max-width:18ch}
.pilot-copy>p:last-child{font-size:16px;color:var(--light);margin-top:14px;max-width:44ch}
.pilot-terms{margin:0;display:grid;gap:0}
.pilot-terms div{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:20px;padding:14px 0;border-top:1px solid rgba(186,200,207,.22)}
.pilot-terms div:first-child{border-top:0;padding-top:0}
.pilot-terms dt{font-size:15px;font-weight:500;color:var(--ivory)}
.pilot-terms dd{margin:0;font-size:15.5px;color:var(--light)}
.pilot-action{grid-column:1;justify-self:start}
@media(max-width:960px){
  .hp-pain{padding:8px 0 80px}
  .pain-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
  .pilot{grid-template-columns:1fr;padding:32px 28px;margin-top:48px}
}
@media(max-width:560px){
  .hp-pain{padding:0 0 64px}
  .pain-points{grid-template-columns:1fr;gap:20px;margin-top:32px}
  .pain-turn{margin-top:32px}
  .pain-turn a{display:inline-block;margin:6px 0 0}
  .pilot{padding:24px 20px;margin-top:44px}
  .pilot h3{font-size:24px}
  .pilot-terms div{grid-template-columns:1fr;gap:4px}
}

/* Small reassurance line under a button, and the "Why Third Relay" section. */
.hp-reassure{margin-top:16px;font-size:15px;color:var(--light)}
.hp-why{background:var(--ink);padding:80px 0}
.hp-why .hp-eyebrow{color:var(--copper-text)}
.hp-why .hp-lede{color:var(--light)}
@media(max-width:960px){.hp-why{padding:80px 0}}
@media(max-width:560px){.hp-why{padding:64px 0}}

/* Homepage spacing for shared section styles. */
@media(min-width:961px){
  .home-page .hp-hero,.home-page .hp-pain{padding-bottom:80px}
  .home-page .hp-services{padding:80px 0}
  .home-page .pain-points{margin-top:40px}
  .home-page .hp-contact{padding-bottom:80px}
}

/* Homepage founder credibility and the recurring ownership process. */
.home-page .hp-credibility{padding:0 0 64px}
.home-page .hp-credibility-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:64px;padding-top:32px;border-top:1px solid var(--dark-rule);align-items:start}
.home-page .hp-credibility-identity{display:flex;align-items:center;gap:24px}
.home-page .hp-credibility-identity img{display:block;width:96px;height:96px;flex:none}
.home-page .hp-credibility h2{font-size:30px;line-height:1.15;letter-spacing:-.025em;max-width:15ch}
.home-page .hp-credibility-copy{font-size:17px;line-height:1.6;color:var(--light);max-width:62ch}
.home-page .hp-credibility-copy p+p{margin-top:16px}
.home-page .hp-credibility-copy a{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--copper-text);text-decoration-thickness:1px}
.home-page .hp-ownership-steps{list-style:none;counter-reset:ownership;margin:32px 0 0;padding:0}
.home-page .hp-ownership-steps li{counter-increment:ownership;position:relative;padding:20px 0 20px 32px;border-top:1px solid var(--edge)}
.home-page .hp-ownership-steps li:before{content:counter(ownership);position:absolute;top:22px;left:0;color:var(--copper-ink);font-size:15px;font-weight:500}
.home-page .hp-ownership-steps h3{font-size:22px;font-weight:500}
.home-page .hp-ownership-steps p{font-size:17px;line-height:1.55;color:var(--muted);margin-top:8px;max-width:46ch}
.home-page .hp-responsibility{margin-top:12px;padding:20px 0 0;border-left:0;border-top:1px solid var(--copper)}
@media(max-width:960px){
  .home-page .hp-credibility-grid{grid-template-columns:1fr;gap:24px}
  .home-page .hp-credibility h2{max-width:20ch}
}
@media(max-width:560px){
  .home-page .hp-credibility{padding-bottom:56px}
  .home-page .hp-credibility-identity{gap:16px}
  .home-page .hp-credibility-identity img{width:72px;height:72px}
  .home-page .hp-credibility h2{font-size:26px}
  .home-page .hp-credibility-copy{font-size:16px}
  .home-page .hp-ownership-steps{margin-top:24px}
  .home-page .hp-ownership-steps li{padding-left:28px}
}

/* Copper buttons: light text on a deeper copper so labels are easy to read (5.6:1). */
.hp-button:not(.hp-button-quiet),.refresh nav a.nav-action{background:#9a5733;color:#fff}
@media(hover:hover){.hp-button:not(.hp-button-quiet):hover,.refresh nav a.nav-action:hover{background:#a5623b}}

/* Site-wide structural system (all .refresh pages): solid backgrounds, 1px
   rules instead of elevation, square corners, heavier headings and instant
   colour-inversion hovers. Page stylesheets add only page-specific rules. */
.refresh{background:var(--ink)}
.refresh h1{font-weight:600;line-height:.98}
.refresh h2,.refresh h3,.refresh h4,.refresh legend{font-weight:600}
.refresh :is(.sheet,.svc-row,.data-points,.terms,.split-panels,.case-sheet,.lp-faq,.steps-row,.pain-points,.pilot) h3,.refresh .legal-body h2,.refresh .commit-strip-head{font-weight:600}
.refresh .hp-eyebrow{font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.12em;text-transform:uppercase}

/* Header: solid fill and a hairline rule, no blur or translucency. */
.refresh .masthead{background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--dark-rule)}
.refresh nav a:after,.refresh .arrow{transition:none}
.refresh a:hover>.arrow{transform:none}

/* Buttons: square, solid border, immediate inversion. The hover takes the
   surrounding text colour, so it reads on both dark and light sections. */
.refresh .hp-button,.refresh nav a.nav-action{border-radius:0;border:1px solid var(--copper);font-weight:600;transition:none}
.refresh .hp-button-quiet{border-color:currentColor;box-shadow:none;background:none;color:var(--ivory)}
@media(hover:hover){
  .refresh .hp-button:hover,.refresh nav a.nav-action:hover{background:transparent;color:inherit;border-color:var(--copper)}
  .refresh .hp-button-quiet:hover{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
  .refresh main a:not(.hp-button):hover{text-decoration-thickness:2px}
}

/* Crisp solid rules in place of translucent ones. */
.refresh :is(.commit-strip,.steps-row li,.legal-body section,.data-points div,.pilot-terms div){border-top-color:var(--dark-rule)}
.refresh .split-panels .panel-dark li{border-color:var(--dark-rule)}
.refresh .hp-steps+.hp-contact .hp-contact-grid{border-top-color:var(--dark-rule)}

/* Panels and sheets: a shared border system with no shadows. */
.refresh .split-panels{gap:0;border:1px solid var(--navy)}
.refresh .split-panels .panel{border:0}
.refresh .case-sheet,.refresh .sheet{box-shadow:none;border-top:3px solid var(--copper)}
.refresh .ledger{border-radius:0;box-shadow:none;background:var(--navy);border-color:var(--dark-rule)}
.refresh .ledger figcaption,.refresh .ledger-row{border-bottom-color:var(--dark-rule)}
.refresh .pilot{border-radius:0;background:var(--navy)}

/* Denser section rhythm. */
.refresh .lp-hero-copy{padding-bottom:48px}
.refresh .lp-hero .hp-eyebrow,.refresh .legal .hp-eyebrow{margin-bottom:16px}
.refresh .lp-hero-body{margin-top:20px}
.refresh .commit-strip{padding:20px 0 28px}
.refresh :is(.lp-how,.lp-pricing,.lp-example,.lp-faq,.hp-contact){padding:56px 0}
.refresh .split-panels,.refresh .compare{margin-top:28px}
.refresh .legal{padding:32px 0 64px}
.refresh .legal-body section{padding:20px 0}
.refresh .legal-body section:first-child{padding-top:0}
.refresh .hp-contact h2{line-height:1.02}

/* Footer: thin rule above, tight multi-column layout. */
.refresh footer{border-top:1px solid var(--dark-rule)}
.refresh footer .footer-grid{padding:36px 0 32px;gap:40px}
.refresh .footer-nav{gap:48px}
.refresh .footer-heading{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.refresh .notice{margin-top:20px}

@media(max-width:760px){.refresh .split-panels .panel-dark{border-top:1px solid var(--navy)}}
@media(max-width:560px){
  .refresh :is(.lp-how,.lp-pricing,.lp-example,.lp-faq,.hp-contact){padding:40px 0}
  .refresh .legal{padding:16px 0 48px}
  .refresh footer .footer-grid{padding:28px 0 24px}
}

/* Phone header: full-size logo and readable menu links. */
@media(max-width:560px){
  .refresh .masthead{padding-top:14px;padding-bottom:4px;gap:8px}
  .engineering-page{--cta-space:128px}
  .refresh .identity{width:min(210px,calc(100% - var(--cta-space,150px)))}
  .refresh nav a{font-size:15px}
  .refresh nav a.nav-action{top:16px;min-height:42px;padding:0 12px;font-size:13px}
}
