@font-face{font-family:Instrument;src:url('assets/fonts/instrument-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/fonts/instrument-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{color-scheme:light;--paper:#f2f1eb;--ink:#252720;--muted:#6b6d62;--line:#cecec3;--accent:#cf471c;--gutter:clamp(22px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Instrument,Arial,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.wrap{width:calc(100% - var(--gutter)*2);max-width:1512px;margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;z-index:10;padding:15px;background:var(--paper)}.skip:focus{top:12px}
.header{display:flex;align-items:center;justify-content:space-between;padding-block:30px}.wordmark{font-size:43px;line-height:1;font-weight:600;letter-spacing:-.075em;padding-block:5px}.wordmark span{color:var(--accent)}nav{display:flex;align-items:center;gap:clamp(24px,3.5vw,65px);font-size:14px}nav a{display:inline-flex;min-height:44px;align-items:center;gap:30px}nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--ink)}
.hero{padding-top:clamp(35px,5vw,84px)}.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:58px}h1{font-size:clamp(78px,10.6vw,172px);line-height:.94;font-weight:400;letter-spacing:-.073em;margin:0}h1>span{color:#74776a}.hero-note{min-width:235px;padding-bottom:4px}.hero-note p{font-size:clamp(18px,1.8vw,26px);line-height:1.45;letter-spacing:-.025em;margin:0 0 33px}
.link{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;min-height:46px;padding-block:10px;border-bottom:1px solid currentColor;font-size:14px}.link span{transition:transform 180ms ease}.link:hover{color:var(--accent)}.link:hover span{transform:translate(2px,-2px)}
.film{margin:0;position:relative;background:#343d2b;overflow:hidden}.film video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block}
#video-toggle{position:absolute;right:24px;bottom:24px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 20px;min-width:108px;min-height:46px;background:#f2f1eb;border:0;border-radius:50px;color:var(--ink);cursor:pointer;font-size:12px}#video-toggle:hover{background:#fff}.control-icon{font-size:11px;width:12px;text-align:center}
.film-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:var(--muted);padding-block:8px}.film-caption a{display:inline-flex;align-items:center;gap:20px;min-height:44px;color:var(--ink)}
.solution{padding-block:clamp(85px,10vw,170px)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:55px}.eyebrow{display:block;font-size:10px;line-height:1.5;letter-spacing:.15em;font-weight:600}.status{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.status i{width:6px;height:6px;border-radius:50%;background:var(--accent)}
h2{font-size:clamp(42px,5.7vw,90px);font-weight:400;line-height:1.07;letter-spacing:-.055em;margin:0}.solution-details{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:55px}.lead{font-size:clamp(22px,2.3vw,34px);letter-spacing:-.035em;line-height:1.35;margin:0}.body-copy{max-width:495px}.body-copy p{font-size:18px;line-height:1.65;margin:0 0 20px}.body-copy p.muted{color:var(--muted);font-size:16px}.body-copy .link{margin-top:7px}
.development{padding-block:50px 135px;border-top:1px solid var(--line)}.development-content{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:55px}.development h2{font-size:clamp(40px,4.8vw,74px)}
.contact{background:var(--ink);color:var(--paper)}.contact-inner{padding-block:75px 40px}.contact .eyebrow{color:#b4b6a9;margin-bottom:55px}.contact h2{font-size:clamp(44px,7.8vw,125px)}.contact-mail{display:inline-flex;align-items:center;justify-content:space-between;gap:clamp(30px,6vw,100px);margin-top:35px;min-height:60px;font-size:clamp(26px,4vw,60px);letter-spacing:-.045em;border-bottom:1px solid #8c9080;padding-bottom:12px}.contact-mail span{color:#f68055}.contact-mail:hover{color:#f68055}.contact-bottom{margin-top:80px;display:flex;justify-content:space-between;gap:20px;color:#b4b6a9;font-size:12px}
.footer{padding-block:30px;display:flex;justify-content:space-between;align-items:center;gap:25px}.footer .wordmark{font-size:32px}.footer>span{color:var(--muted);font-size:11px}.dev-label{text-align:right}
@media(min-width:1900px){.hero-heading{margin-bottom:75px}}
@media(max-width:900px){.hero-note{min-width:180px}.hero-note p{font-size:18px}h1{font-size:10.5vw}.hero-heading{gap:20px}.development-content{gap:6%}}
@media(max-width:640px){.header{padding-block:20px}.wordmark{font-size:36px}nav{gap:22px;font-size:12px}nav a:first-child{display:none}nav a{gap:10px}.hero{padding-top:40px}.hero-heading{display:block;margin-bottom:32px}h1{font-size:clamp(65px,14vw,90px);line-height:.98}.hero-note{margin-top:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.hero-note p{margin:0;font-size:16px}.hero-note .link{font-size:12px;gap:12px;white-space:nowrap}.film{width:calc(100% + var(--gutter)*2);margin-left:calc(var(--gutter)*-1)}#video-toggle{right:14px;bottom:14px;padding-inline:14px;min-width:90px}.film-caption{font-size:10px;gap:12px}.film-caption a{gap:8px;white-space:nowrap}.section-heading{align-items:flex-start;margin-bottom:35px}.status{font-size:10px;gap:7px}.eyebrow{font-size:9px}h2{font-size:clamp(37px,8.8vw,54px)}.solution-details,.development-content{grid-template-columns:1fr;gap:30px;margin-top:35px}.lead{font-size:25px}.body-copy p{font-size:17px}.body-copy p.muted{font-size:15px}.solution{padding-block:72px 80px}.development{padding-block:35px 80px}.development h2{font-size:44px}.contact-inner{padding-block:50px 20px}.contact .eyebrow{margin-bottom:35px}.contact h2{font-size:12vw}.contact-mail{margin-top:30px;font-size:34px}.contact-bottom{margin-top:55px;font-size:10px}.footer{gap:10px;padding-block:25px}.footer>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
