:root{color-scheme:dark;--navy:#101827;--brand:#d64632;--accent-text:#ff937e;--ink:#f6f7fa;--mono:'Courier New',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--navy);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--accent-text);outline-offset:5px}.wrap{max-width:1440px;padding:0 clamp(26px,5.6vw,88px);margin:auto}.nav,.foot,.actions,.button,.text-link,.logo,.eyebrow,.sectionhead,.cardtop,.cardbutton{display:flex;align-items:center}header{background:var(--navy);border-bottom:1px solid #293245}.nav{height:78px;gap:42px}.logo{font-size:26px;font-weight:700;letter-spacing:-.045em;gap:9px;color:var(--brand)}.logo-icon{font-family:var(--mono);font-size:.86em;letter-spacing:-.15em;line-height:1}.nav nav{margin-left:auto;display:flex;gap:33px;font-size:14px}.nav nav a:hover,.text-link:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.button{justify-content:center;gap:24px;border:1px solid transparent;border-radius:5px;padding:16px 20px;font-size:14px;font-weight:600;width:fit-content;transition:background .2s,transform .2s}.button svg{width:17px;height:17px}.button:hover{transform:translateY(-2px)}.dark,.primary{background:var(--brand);color:white}.dark:hover,.primary:hover{background:#bd3929}.navcta{font-size:13px;padding:12px 17px}.mobile-toggle{display:none}.hero{background-color:var(--navy);background-image:radial-gradient(circle,#d6463236 1px,transparent 1.1px);background-size:40px 40px;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px;min-height:clamp(530px,42.6vw,650px);padding-top:32px;padding-bottom:32px}.pitch{position:relative;z-index:1}.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:1.25px;font-size:10px;font-weight:600}.eyebrow{gap:10px;margin:0 0 24px}.signal{width:8px;height:8px;background:var(--brand);outline:1px solid var(--brand);box-shadow:0 0 0 4px #d6463226;border-radius:50%}h1,h2,h3,p,figure{margin:0}h1{font-size:clamp(68px,7.36vw,111px);line-height:.95;font-weight:550;letter-spacing:-.082em}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.082em}.intro{font-size:clamp(16px,1.35vw,20px);color:#b9c1ce;line-height:1.5;max-width:430px;margin-top:24px}.actions{gap:26px;margin-top:30px}.text-link{gap:10px;font-size:14px;font-weight:600}.text-link svg{width:15px}.hero figure{position:relative;max-width:610px;width:100%;justify-self:end}.artboard{position:relative}.assembly-art svg{width:100%;height:auto;display:block}.corner{position:absolute;width:9px;height:9px}.corner:before,.corner:after{content:'';position:absolute;background:#718097}.corner:before{height:1px;width:9px;top:4px}.corner:after{width:1px;height:9px;left:4px}.tl,.tr{top:6%}.bl,.br{bottom:7%}.tl,.bl{left:7%}.tr,.br{right:5%}figcaption{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);white-space:nowrap;color:#b0bac8;font-size:9px!important}figcaption span{border-right:1px solid #5b687b;padding-right:8px;margin-right:6px}.services,.contact{color:var(--ink);background:#0c1320}.services,.lightsection,.about,.contact{padding:clamp(55px,5.1vw,80px) 0}.services .eyebrow,.contact .eyebrow{color:var(--accent-text)}.dash{width:19px;height:2px;background:currentColor}.sectionhead{align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.sectionhead .eyebrow,.split .eyebrow{margin-bottom:15px}h2{font-size:clamp(40px,4.1vw,64px);line-height:1.03;letter-spacing:-.065em;font-weight:500}.sectionhead>p,.contactcopy{color:#b9c1ce;line-height:1.5}.sectionhead>p{max-width:260px;font-size:15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:start}.card{border:1px solid #344055;background:#172132;border-radius:6px;padding:24px}.cardtop{justify-content:space-between;margin-bottom:26px}.cardtop>.mono{color:#a3afbf}.iconbox{display:grid;place-items:center;background:#332329;color:var(--accent-text);border:1px solid #684039;border-radius:7px;width:46px;height:46px}h3{font-size:clamp(23px,2vw,30px);font-weight:500;letter-spacing:-.045em}.card p{color:#c0c8d4;font-size:15px;line-height:1.55;margin-top:9px;max-width:32ch}.cardbutton,.receipt button{color:var(--accent-text);background:none;border:0;padding:0;gap:8px;font-size:13px;margin-top:23px}.cardbutton:hover{text-decoration:underline}.card p.expanded{border-top:1px solid #394459;padding-top:16px;max-width:none}.lightsection{background:var(--navy)}.split{display:grid;grid-template-columns:1fr 1.12fr;gap:7%}.step{border-top:1px solid #354156}.step:last-child{border-bottom:1px solid #354156}.step button{display:flex;align-items:center;text-align:left;gap:20px;padding:19px 0;border:0;background:none;color:var(--ink);width:100%;font-size:23px;letter-spacing:-.04em}.step button span{color:#aab6c7}.step button svg{margin-left:auto;width:18px}.step p,.aboutcopy p{line-height:1.6;color:#bfcbda}.step p{margin:0 0 24px 38px;font-size:15px;max-width:56ch}.about{background:#192335}.aboutcopy{font-size:clamp(23px,2.3vw,33px);letter-spacing:-.045em}.aboutcopy p{font-size:17px;margin-top:16px;letter-spacing:0}.contactcopy{margin-top:22px;max-width:345px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}form label{display:block;font-size:13px;margin-bottom:17px;color:#dbe0e8}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #536074;color:#f6f7fa;background:#182233;border-radius:4px;padding:12px;outline-color:var(--accent-text)}textarea{resize:vertical}.receipt{align-self:center}.receipt>svg{color:var(--accent-text)}.receipt h3,.receipt p{margin-top:12px}.receipt button{display:flex;align-items:center}.foot{justify-content:space-between;gap:20px;min-height:90px}.foot>span,.foot>a:last-child{font-size:12px}.foot .logo{font-size:24px}
@media(max-width:800px){.nav{height:68px;gap:20px}.nav nav{gap:18px}.hero-layout{min-height:460px}.intro{font-size:16px}.actions{gap:14px}.card{padding:16px}.sectionhead>p{max-width:210px}h1{font-size:clamp(58px,8.5vw,80px)}}
@media(max-width:650px){.wrap{padding-left:22px;padding-right:22px}.nav{gap:12px}.logo{font-size:26px}.navcta{margin-left:auto;font-size:12px;gap:9px;padding:9px 12px}.mobile-toggle{display:flex;background:none;border:0;color:var(--ink);padding:3px}.nav nav{display:none}.nav nav.open{position:absolute;z-index:5;top:68px;left:0;right:0;display:flex;flex-direction:column;gap:0;background:var(--navy);padding:8px 22px;box-shadow:0 8px 10px #0001}.nav nav.open a{padding:13px}.hero-layout{grid-template-columns:1fr;padding-top:47px;padding-bottom:16px;gap:8px}.eyebrow{margin-bottom:20px}h1{font-size:clamp(68px,15.3vw,93px)}.intro{max-width:365px;margin-top:21px}.actions{margin-top:23px;gap:22px}.hero figure{width:min(100%,420px);justify-self:center}.hero figure .assembly-art svg{height:285px}.corner.tl,.corner.tr{top:10%}.sectionhead{align-items:start;flex-direction:column;gap:13px}.sectionhead>p{max-width:100%}.cards,.split{grid-template-columns:1fr}.cards{gap:12px}.card{padding:21px}.cardtop{margin-bottom:21px}.split{gap:30px}.foot{flex-wrap:wrap;gap:16px;padding-top:22px;padding-bottom:22px}.foot>span{order:3;flex-basis:100%}.fields{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.assembly-control {
  position: absolute;
  bottom: 8%;
  right: 7%;
  width: 32px;
  height: 32px;
  display: none;
  align-items: center;
  justify-content: center;
  border: 1px solid #455166;
  border-radius: 50%;
  background: var(--navy);
  color: #c0c8d4;
}
.assembly-control:hover { color: white; border-color: var(--accent-text); }

@media (prefers-reduced-motion: no-preference) {
  .assembly-control { display: flex; }
  .assembly-cover { --open-y: -26px; --closed-y: 64px; }
  .assembly-core { --open-y: -8px; --closed-y: 28px; }
  .assembly-base { --open-y: 6px; --closed-y: -5px; }
  .assembly-cover, .assembly-core, .assembly-base {
    animation: assemble 7.6s cubic-bezier(.45, 0, .25, 1) infinite;
  }
  .assembly-guides {
    animation: hide-guides 7.6s ease-in-out infinite;
  }
  .assembly[data-paused="true"] svg g { animation-play-state: paused; }
}
@keyframes assemble {
  0%, 100% { transform: translateY(0); }
  19%, 29% { transform: translateY(var(--open-y)); }
  61%, 73% { transform: translateY(var(--closed-y)); }
}
@keyframes hide-guides {
  0%, 29%, 100% { opacity: 1; }
  57%, 77% { opacity: 0; }
}

.languages { display: flex; gap: 10px; font-size: 12px; flex-shrink: 0; }
.languages a { color: #a3afbf; padding: 6px 0; border-bottom: 1px solid transparent; }
.languages a[aria-current] { color: var(--accent-text); border-color: currentColor; }
.nav { gap: 24px; }
.hero h1 { font-size: clamp(57px, 6.35vw, 95px); letter-spacing: -.065em; }
.hero h1 em { letter-spacing: -.065em; }
.hero h1, h2, h3 { overflow-wrap: break-word; }
.hero-layout > *, .split > *, .cards > * { min-width: 0; }
.actions { flex-wrap: wrap; gap: 18px; }
.cards { align-items: stretch; }
.card { display: flex; flex-direction: column; }
.card .cardbutton { margin-top: auto; padding-top: 24px; }
.card p { margin-bottom: 8px; }
.card h3 a:hover { color: var(--accent-text); }
.sectionhead h2 { max-width: 650px; }
.sectionhead > p { max-width: 310px; }
.step p { margin-left: 0; }
.button:disabled { opacity: .65; cursor: wait; }
.form-error { margin-bottom: 18px; color: var(--accent-text); }
.service-hero { padding: 36px 0 70px; }
.back-link { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; color: #b9c1ce; margin-bottom: 58px; }
.back-link:hover { color: var(--accent-text); }
.service-hero h1 { max-width: 1050px; font-size: clamp(42px, 5.1vw, 78px); line-height: 1.06; }
.service-hero .intro { max-width: 640px; margin: 24px 0 30px; }
.detail-copy { font-size: 19px; line-height: 1.65; color: #c0c8d4; }
.deliverables ul { list-style: none; margin: 0; padding: 0; }
.deliverables li { display: flex; align-items: flex-start; gap: 14px; line-height: 1.6; padding: 17px 0; border-bottom: 1px solid #354156; }
.deliverables li:first-child { padding-top: 0; }
.deliverables li svg { flex-shrink: 0; margin-top: 4px; color: var(--accent-text); }
.measures-title { margin-top: 30px; font-size: 22px; }
.measures { padding-left: 20px; color: #c0c8d4; line-height: 1.8; }
.related { padding-top: 50px; padding-bottom: 50px; }
.related > div { display: grid; grid-template-columns: 1fr 1fr; column-gap: 35px; margin-top: 22px; }
.related a { display: flex; gap: 16px; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid #354156; font-size: 15px; }
.related a:hover { color: var(--accent-text); }
.related svg { flex-shrink: 0; }
@media(max-width:1000px) {
  .nav { gap: 18px; }
  .nav nav { gap: 20px; }
  .navcta { gap: 8px; padding: 11px 12px; }
  .logo { font-size: 24px; }
  .cards { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:760px) {
  .navcta { display: none; }
  .languages { margin-left: auto; }
  .nav nav { margin-left: auto; }
  .hero h1 { font-size: clamp(52px, 8vw, 65px); }
}
@media(max-width:650px) {
  .nav { height: 68px; gap: 17px; }
  .hero h1 { font-size: clamp(48px, 12vw, 74px); }
  .hero-layout { padding-top: 43px; }
  .cards, .related > div { grid-template-columns: 1fr; }
  .service-hero { padding-top: 26px; padding-bottom: 45px; }
  .service-hero h1 { font-size: clamp(36px, 9vw, 54px); }
  .service-hero .eyebrow { line-height: 1.5; }
  .back-link { margin-bottom: 40px; }
  .detail-copy { font-size: 17px; }
}

.service-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(24px, 4vw, 60px);
  align-items: center;
}
.service-hero-grid > * { min-width: 0; }
.service-hero-grid h1 {
  font-size: clamp(38px, 4vw, 60px);
  letter-spacing: -.055em;
}
.service-pitch .eyebrow { line-height: 1.6; }
.service-pitch .signal { flex-shrink: 0; }
.service-illustration {
  overflow: hidden;
  border: 1px solid #293245;
  border-radius: 12px;
  background: var(--navy);
}
.service-illustration img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
}
@media(max-width:850px) {
  .service-hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .service-hero-grid h1 { max-width: 750px; font-size: clamp(36px, 6.5vw, 55px); }
  .service-illustration { width: 100%; max-width: 750px; }
}

[hidden] { display: none !important; }
.icon-on { display: none; }
.icon-off, .icon-on { line-height: 0; }
[aria-expanded="true"] > .icon-on, [data-paused="true"] .icon-on { display: inline-block; }
[aria-expanded="true"] > .icon-off, [data-paused="true"] .icon-off { display: none; }
.step button > span { margin-left: auto; }
.form-error a { text-decoration: underline; }
