@font-face{font-family:RockHero;src:url('/website/assets/montserrat-latin.woff2') format('woff2');font-weight:300 600;font-style:normal;font-display:swap}
:root{--black:#050505;--ink:#242424;--grey:#6d6d6d;--line:#dedede;--paper:#f4f4f2;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;color:var(--ink);background:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.top{height:36px;min-height:36px;max-height:36px;background:#636363;position:relative;z-index:30;overflow:hidden}
.top>div{height:100%;display:flex;align-items:center}
.top>div.announcement-message{justify-content:center;max-width:none;padding:8px 35px;color:#dcdcdc;font-family:RockHero,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:300;line-height:20px;letter-spacing:normal;text-align:center;white-space:nowrap;opacity:1;transform:translateY(0);transition:opacity .35s ease,transform .35s ease}
.top>div.announcement-message.is-changing{opacity:0;transform:translateY(-7px)}
.site-header{height:50px;position:absolute;top:0;left:0;right:0;z-index:25;display:flex;align-items:center;padding:0 46px;background:rgba(0,0,0,.75);color:#fff;transition:background .35s,box-shadow .35s}
.site-header.scrolled{position:fixed;top:0;background:rgba(0,0,0,.94)}
.brand img,.footer-brand img{display:block;width:225px;filter:grayscale(1) brightness(0) invert(1)}
.site-header nav{position:absolute;left:50%;top:0;width:745px;height:50px;margin:0;display:flex;align-items:center;transform:translateX(-50%)}
.site-header nav a{display:block;margin:0 43px;color:#fff;font-family:RockHero,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-style:normal;font-weight:500;line-height:50px;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;opacity:1;transition:color .2s}
.site-header nav a:first-child{margin-left:0}.site-header nav a:last-child{margin-right:0}
.site-header nav a:hover{color:#a3a3a3}
.menu-toggle{display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;padding:10px}
.menu-toggle span{display:block;height:1px;margin:7px 0;background:#fff}
.hero{height:90vh;min-height:600px;position:relative;overflow:hidden;background:#111;color:#fff}
.hero-bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;opacity:0;transform:scale(1.05);transition:transform 20s ease-out;will-change:transform;pointer-events:none}
.hero-bg.is-active{opacity:1}
.hero:hover .hero-bg{transform:scale(1)}
.tint{position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(0,0,0,.75) 0%,rgba(0,0,0,.55) 40%,rgba(0,0,0,.15) 100%);pointer-events:none}
.hero-inner{position:relative;z-index:2;width:100%;height:100%;max-width:1170px;margin:0 auto;display:flex;align-items:center;padding:0 90px}
.hero-inner>div{max-width:780px}
.hero-inner>div{margin-left:-10px;margin-top:23px}
.hero h1{margin:0 0 20px;font-family:RockHero,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:50px;font-weight:600;line-height:normal;letter-spacing:-1px;text-transform:uppercase;text-shadow:none;white-space:pre-line;-webkit-font-smoothing:antialiased}
.hero p{margin:0;font-family:RockHero,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:22px;line-height:normal;font-weight:300;letter-spacing:-1px;text-transform:uppercase;color:#fff;white-space:pre-line;-webkit-font-smoothing:antialiased}
.hero-copy{opacity:1;transform:translateY(0);transition:opacity .55s ease,transform .55s ease}
.hero-copy.is-changing{opacity:0;transform:translateY(40px)}
.hero-dots{position:absolute;right:32px;top:50%;z-index:3;display:flex;flex-direction:column;gap:12px;transform:translateY(-50%)}
.hero-dots button{width:6px;height:6px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;opacity:.72;transition:background .25s,transform .25s}
.hero-dots button.is-active{background:#fff;transform:scale(1.35)}
.section-label,.service-copy>p,.cta>p{margin:0 0 28px;font-size:10px;letter-spacing:.2em}
.text-link{display:inline-flex;align-items:center;gap:24px;padding-bottom:8px;border-bottom:1px solid #777;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.text-link span,.cta a span{font-size:18px;transition:transform .25s}
.text-link:hover span,.cta a:hover span{transform:translateX(6px)}
.text-link.light{border-color:rgba(255,255,255,.55)}
.intro,.statement{max-width:1160px;margin:auto;padding:140px 5vw}
.intro{display:grid;grid-template-columns:1fr 2.5fr 1.25fr;gap:6vw;align-items:start}
.intro h2,.statement h2,.cta h2{margin:0;font-size:clamp(44px,5vw,76px);line-height:1.04;font-weight:300;letter-spacing:-.035em}
.intro>p:last-child,.statement>p:last-child{margin:8px 0 0;font-size:15px;line-height:1.8;color:#646464}
.services{border-top:1px solid var(--line)}
.service-card{min-height:650px;display:grid;grid-template-columns:58% 42%;border-bottom:1px solid var(--line);background:var(--paper)}
.service-card.reverse{grid-template-columns:42% 58%}
.service-card.reverse .service-image{order:2}
.service-image{position:relative;overflow:hidden;background:#ddd}
.service-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.65);transition:transform .7s ease,filter .5s}
.service-image video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.service-image:hover img{transform:scale(1.025);filter:saturate(1)}
.service-image>span{position:absolute;left:28px;top:28px;width:42px;height:42px;display:grid;place-items:center;background:rgba(0,0,0,.72);color:#fff;font-size:10px}
.service-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8vw}
.service-copy h3{margin:0 0 60px;font-size:clamp(40px,4.5vw,68px);line-height:1.05;font-weight:300;letter-spacing:-.035em}
.service-copy h3 a{color:inherit;text-decoration:none}
.statement{display:grid;grid-template-columns:1fr 2.5fr;column-gap:6vw;background:#fff}
.statement>p:last-child{grid-column:2;max-width:610px;margin-top:36px}
.cta{min-height:590px;padding:110px 8vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:#111;color:#fff}
.cta h2{font-size:clamp(58px,7.5vw,110px);margin-bottom:55px}
.cta a{display:flex;gap:28px;align-items:center;padding-bottom:10px;border-bottom:1px solid #777;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
footer{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:50px;padding:80px 6vw 45px;background:#050505;color:#9d9d9d}
footer>div{display:flex;flex-direction:column;gap:13px}
footer p{margin:0 0 10px;color:#fff;font-size:10px;letter-spacing:.16em}
footer a{font-size:12px}
footer small{grid-column:1/-1;margin-top:50px;padding-top:25px;border-top:1px solid #292929;font-size:9px;letter-spacing:.14em}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .top>div.announcement-message{padding:8px 35px;font-size:14px;line-height:20px;letter-spacing:normal}
  .site-header{height:50px;padding:0 20px}.brand img{width:185px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:50px;left:0;right:0;margin:0;padding:28px;background:#080808;flex-direction:column;align-items:flex-start;gap:24px}.site-header nav.open{display:flex}
  .hero{height:90vh;min-height:600px}.hero-inner{align-items:center}.hero h1{font-size:30px;line-height:normal;margin-bottom:10px}.hero p{font-size:15px;line-height:20px;letter-spacing:-1px}
  .intro{display:block;padding:90px 24px}.intro h2{margin:20px 0 36px}.intro>p:last-child{max-width:560px}
  .service-card,.service-card.reverse{min-height:0;display:flex;flex-direction:column}.service-card.reverse .service-image{order:0}.service-image{height:54vw;min-height:320px}.service-copy{padding:65px 24px 75px}.service-copy h3{margin-bottom:42px}
  .statement{display:block;padding:90px 24px}.statement h2{margin-top:20px}.statement>p:last-child{margin-top:34px}
  .cta{min-height:500px;padding:80px 24px}
  footer{grid-template-columns:1fr;padding:65px 24px 35px}.footer-brand{margin-bottom:20px}footer small{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-bg,.service-image img,.service-image video,.reveal{transition:none}.hero-bg{transform:none}.reveal{opacity:1;transform:none}}

/* RockDesign hero type scale and responsive breakpoints. */
@media(min-width:1000px){.hero h1{font-size:50px;margin-bottom:20px}.hero p{font-size:22px;line-height:normal}}
@media(min-width:690px) and (max-width:999.98px){.hero-inner{padding-left:40px;padding-right:40px}.hero h1{font-size:40px;margin-bottom:20px}.hero p{font-size:20px;line-height:23px}}
@media(min-width:510px) and (max-width:689.98px){.hero-inner{padding-left:40px;padding-right:40px}.hero h1{font-size:30px;margin-bottom:10px}.hero p{font-size:15px;line-height:20px}}
@media(min-width:480px) and (max-width:509.98px){.hero-inner{padding-left:20px;padding-right:20px}.hero h1{font-size:20px;margin-bottom:6px}.hero p{font-size:15px;line-height:15px}}
@media(max-width:479.98px){.hero-inner{padding-left:20px;padding-right:20px}.hero h1{font-size:16px;margin-bottom:6px}.hero p{font-size:10px;line-height:15px}}

/* Responsive titles sit over a clean loop so they stay legible at every width. */
.hero.hero--video{height:auto;min-height:0;padding-top:0;background:#111}
.hero.hero--video .hero-media{position:relative;overflow:hidden;box-sizing:content-box;aspect-ratio:30/13;padding-bottom:86px}
.hero-video{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.hero-captions{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(8,12,11,.28),transparent 62%)}
.hero-caption{position:absolute;left:clamp(24px,5.4vw,104px);right:clamp(24px,5vw,96px);bottom:clamp(70px,8.6vw,164px);opacity:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.48))}
.hero-caption:first-child{opacity:1}
.hero-caption-label{display:block;margin-bottom:22px;color:#dbe5b5;font:600 clamp(12px,1.1vw,16px)/1.35 RockHero,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.8)}
.home-page .hero-caption-title{max-width:1600px;margin:0;color:#f4f5f2;font-family:SCRDSans,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(52px,6vw,92px);font-weight:300;line-height:.98;letter-spacing:-.044em;text-transform:none;white-space:normal}
.hero-caption-title span{display:block}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-video-fallback{padding:16px}
.service-copy .walkthrough-home-description{max-width:380px;margin:-30px 0 35px;font-size:15px;line-height:1.8;letter-spacing:0;color:#626767}
@media(max-width:900px){
  .hero-media{height:clamp(490px,70vw,630px);aspect-ratio:auto}
  .hero-video{object-fit:cover;object-position:54% center}
  .hero-captions{background:linear-gradient(0deg,rgba(8,12,11,.66),rgba(8,12,11,.08) 76%,transparent)}
  .hero-caption{left:24px;right:24px;bottom:clamp(52px,7vw,90px)}
  .hero-caption-label{margin-bottom:16px;font-size:12px}
  .home-page .hero-caption-title{font-size:clamp(44px,11.5vw,66px);line-height:.99}
}
@media(max-width:600px){
  .hero-media{height:clamp(480px,125vw,580px)}
}

/* Landing-page polish: stronger hierarchy, clearer service copy and a unified brand finish. */
@font-face{font-family:SCRDSans;src:url('/website/assets/helvetica-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:SCRDSans;src:url('/website/assets/helvetica-roman.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}

.home-page{--home-ink:#202324;--home-muted:#5f6665;--home-line:#d9dcd9;--home-paper:#f2f3f0;--home-dark:#151817;font-family:SCRDSans,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;color:var(--home-ink);text-rendering:optimizeLegibility}
.home-page h2,.home-page h3{font-family:SCRDSans,"Helvetica Neue",Helvetica,Arial,sans-serif;text-wrap:balance}
.home-page p{text-wrap:pretty}
.home-page #intro,.home-page #services,.home-page #approach,.home-page #contact{scroll-margin-top:70px}
.home-page .top>div.announcement-message{font-family:RockHero,SCRDSans,Arial,sans-serif;font-size:11px;font-weight:500;letter-spacing:.07em;color:#e5e5e5}

.home-page .section-label,.home-page .service-copy>p:first-child,.home-page .cta-heading>p{font-family:RockHero,SCRDSans,Arial,sans-serif;font-size:10.5px;font-weight:600;line-height:1.5;letter-spacing:.17em;color:#69706e}
.home-page .section-label::before{content:"";display:block;width:30px;height:1px;margin-bottom:20px;background:#858b89}
.home-page .intro{position:relative;isolation:isolate;width:min(1240px,100%);max-width:none;padding:clamp(110px,10vw,158px) clamp(32px,6vw,88px);grid-template-columns:.78fr 2.1fr 1.05fr;gap:clamp(38px,5.5vw,86px);background:#171b1a;color:#f4f5f2;box-shadow:0 0 0 100vmax #171b1a;clip-path:inset(0 -100vmax)}
.home-page .intro::before{content:"";position:absolute;z-index:0;left:50%;top:0;width:100vw;height:100%;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;transform:translate3d(calc(-50% + var(--intro-grid-x,0px)),var(--intro-grid-y,0px),0);transition:transform .35s ease-out;mask-image:linear-gradient(90deg,rgba(0,0,0,.9),#000 48%,rgba(0,0,0,.66))}
.home-page .intro::after{content:"";position:absolute;z-index:0;right:-25%;top:-78%;width:65%;aspect-ratio:1;border:1px solid rgba(219,229,181,.12);border-radius:50%;background:radial-gradient(circle,rgba(192,209,139,.09),transparent 66%);pointer-events:none}
.home-page .intro-grid-glow{position:absolute;z-index:1;left:0;top:0;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(219,229,181,.16),rgba(219,229,181,.07) 36%,transparent 70%);opacity:0;transform:translate3d(var(--intro-glow-x,-500px),var(--intro-glow-y,-500px),0) translate(-50%,-50%);transition:opacity .3s ease;pointer-events:none;will-change:transform}
.home-page .intro>.section-label,.home-page .intro>h2,.home-page .intro>p:last-child{position:relative;z-index:2}
.home-page .intro .section-label{color:#aeb7b3}
.home-page .intro .section-label::before{background:#d5dfa9}
.home-page .intro h2,.home-page .statement h2{font-size:clamp(48px,5.1vw,76px);font-weight:300;line-height:.99;letter-spacing:-.044em;color:var(--home-ink)}
.home-page .intro h2{color:#f4f5f2}
.home-page .intro h2 span,.home-page .intro h2 em{font-style:normal}
.home-page .intro h2 em{color:#dbe5b5}
.home-page .intro>p:last-child{max-width:370px;margin:12px 0 0;font-size:17px;line-height:1.72;color:#c0c8c4}
.home-page .intro-blueprint{position:absolute;z-index:1;left:50%;top:0;width:100vw;height:100%;transform:translateX(-50%);pointer-events:none}
.home-page .intro-blueprint svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(205,215,210,.13);stroke-width:1;vector-effect:non-scaling-stroke}
.home-page .intro-blueprint svg .intro-trail{stroke:#dbe5b5;stroke-width:2;stroke-linecap:round;stroke-dasharray:80 920;stroke-dashoffset:0;opacity:.7;filter:drop-shadow(0 0 5px rgba(219,229,181,.72));animation:intro-trail-flow 11s linear infinite paused;animation-delay:-3s;transition:opacity .3s ease}
.home-page .intro-blueprint svg .intro-trail--two{stroke:#abd8cb;opacity:.58;animation-duration:13s;animation-delay:-8s}
.home-page .intro.is-in-view .intro-trail{animation-play-state:running}
@keyframes intro-trail-flow{to{stroke-dashoffset:-1000}}
.home-page .intro-blueprint svg circle{fill:#dbe5b5;stroke:#171b1a;stroke-width:4}
.home-page .intro-node{position:absolute;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid #454e4a;background:rgba(23,27,26,.93);box-shadow:0 10px 24px rgba(0,0,0,.18);color:#c8cecb;font:600 8.5px/1 RockHero,SCRDSans,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:opacity .45s ease,transform .55s cubic-bezier(.2,.7,.2,1),border-color .25s ease}
.home-page .intro-node b{color:#dbe5b5;font-size:8.5px}
.home-page .intro-node small{font:inherit;white-space:nowrap}
.home-page .intro-node--one{left:7%;top:36px}
.home-page .intro-node--two{left:32%;top:36px}
.home-page .intro-node--three{right:32%;bottom:36px}
.home-page .intro-node--four{right:7%;bottom:36px}
.home-page .intro:hover .intro-node{border-color:#65706a}
.home-page .intro.has-moving-glow .intro-grid-glow{opacity:1}
.home-page .intro.is-interacting .intro-trail{opacity:1}
.home-page .intro.reveal:not(.visible) .intro-node{opacity:0;transform:translateY(10px)}
.home-page .intro-node--one{transition-delay:.1s}.home-page .intro-node--two{transition-delay:.2s}.home-page .intro-node--three{transition-delay:.3s}.home-page .intro-node--four{transition-delay:.4s}

.home-page .services{border-color:var(--home-line)}
.home-page .service-card{min-height:680px;border-color:var(--home-line);background:#fff}
.home-page .service-card .service-copy{padding:clamp(58px,7vw,110px);background:var(--home-paper)}
.home-page .service-card:nth-child(even) .service-copy{background:#fff}
.home-page .service-copy>p:first-child{margin:0 0 26px}
.home-page .service-copy h3{max-width:520px;margin:0 0 28px;font-size:clamp(44px,4.35vw,66px);font-weight:300;line-height:1;letter-spacing:-.045em}
.home-page .service-copy h3 a{transition:color .25s ease}
.home-page .service-copy h3 a:hover{color:#626a68}
.home-page .service-description{max-width:420px;margin:0 0 36px;font-size:16.5px;line-height:1.72;letter-spacing:0;color:var(--home-muted)}
.home-page .service-image img{filter:saturate(.84) contrast(1.015);transition:transform .8s cubic-bezier(.2,.65,.25,1),filter .5s ease}
.home-page .service-image:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.02)}
.home-page .service-image video{filter:saturate(.84) contrast(1.015);transition:transform .8s cubic-bezier(.2,.65,.25,1),filter .5s ease}
.home-page .service-image:hover video{transform:scale(1.035);filter:saturate(1) contrast(1.02)}
.home-page .service-image>span{left:clamp(22px,2.3vw,34px);top:clamp(22px,2.3vw,34px);width:auto;height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;border:1px solid rgba(255,255,255,.24);background:rgba(13,16,15,.78);backdrop-filter:blur(7px);font:600 11px/1 RockHero,SCRDSans,Arial,sans-serif;letter-spacing:.08em}
.home-page .service-image>span small{font-size:8px;font-weight:500;color:rgba(255,255,255,.62)}
.home-page .text-link{gap:28px;padding-bottom:9px;border-color:#858b89;font:600 10.5px/1.4 RockHero,SCRDSans,Arial,sans-serif;letter-spacing:.12em;color:#2a2e2d}
.home-page .text-link span,.home-page .cta a span{font-family:SCRDSans,Arial,sans-serif;font-size:18px;font-weight:300}
.home-page .service-card .text-link{width:290px;max-width:100%;min-height:52px;justify-content:space-between;gap:18px;padding:14px 18px;border:1px solid #dbe5b5;background:#dbe5b5;color:#202824;transition:background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease}
.home-page .service-card .text-link:hover{border-color:#26312c;background:#26312c;color:#dbe5b5;box-shadow:0 9px 20px rgba(25,35,29,.14);transform:translateY(-2px)}
.home-page .service-card .text-link:active{box-shadow:none;transform:translateY(0)}

.home-page .statement{width:min(1240px,100%);max-width:none;padding:clamp(115px,10vw,160px) clamp(32px,6vw,88px);display:grid;grid-template-columns:.78fr 2.1fr 1.05fr;column-gap:clamp(38px,5.5vw,86px);background:#fff}
.home-page .statement>h2{grid-column:2}
.home-page .statement-intro{grid-column:3;max-width:380px;margin:12px 0 0;font-size:17px;line-height:1.72;color:var(--home-muted)}
.home-page .statement-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(70px,7vw,100px);border-top:1px solid var(--home-line)}
.home-page .statement-values article{min-width:0;padding:34px 36px 8px 0}
.home-page .statement-values article+article{padding-left:36px;border-left:1px solid var(--home-line)}
.home-page .statement-values span{display:block;margin-bottom:30px;font:600 10px/1 RockHero,SCRDSans,Arial,sans-serif;letter-spacing:.12em;color:#858d8a}
.home-page .statement-values h3{margin:0 0 14px;font-size:20px;font-weight:400;line-height:1.25;letter-spacing:-.015em}
.home-page .statement-values p{max-width:310px;margin:0;font-size:15px;line-height:1.65;color:var(--home-muted)}

.home-page .cta{min-height:540px;padding:clamp(90px,8vw,125px) max(6vw,calc((100vw - 1240px)/2));display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:center;gap:clamp(70px,9vw,145px);background:var(--home-dark);color:#fff}
.home-page .cta-heading>p{margin:0 0 27px;color:#aab1ae}
.home-page .cta h2{max-width:790px;margin:0;font-size:clamp(52px,5.8vw,82px);font-weight:300;line-height:.99;letter-spacing:-.046em}
.home-page .cta-details>p{max-width:470px;margin:0 0 34px;font-size:17px;line-height:1.72;color:#bec4c1}
.home-page .cta-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.home-page .cta a{display:inline-flex;align-items:center;justify-content:center;gap:24px;font:600 10.5px/1.4 RockHero,SCRDSans,Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease}
.home-page .cta .cta-primary{min-height:52px;padding:15px 20px;border:1px solid #fff;background:#fff;color:#151817}
.home-page .cta .cta-primary:hover{background:transparent;color:#fff}
.home-page .cta .cta-secondary{padding:10px 0;border-bottom:1px solid #68706d;color:#fff}
.home-page .cta .cta-secondary:hover{border-color:#fff}

.home-page .fixed-reveal.fixed-reveal--home{min-height:560px;font-family:SCRDSans,"Helvetica Neue",Arial,sans-serif}
.home-page .fixed-reveal--home::before{background:linear-gradient(110deg,rgba(7,12,13,.82),rgba(13,24,26,.48))}
.home-page .fixed-reveal--home .fixed-reveal__content{width:min(850px,calc(100% - 48px));padding:105px 0}
.home-page .fixed-reveal--home .fixed-reveal__eyebrow{margin-bottom:22px;color:rgba(255,255,255,.74);font:600 10.5px/1.5 RockHero,SCRDSans,Arial,sans-serif;letter-spacing:.17em}
.home-page .fixed-reveal--home h2{max-width:820px;margin-bottom:25px;font-family:SCRDSans,"Helvetica Neue",Arial,sans-serif;font-size:clamp(48px,5.2vw,74px);font-weight:300;line-height:1;letter-spacing:-.04em;text-transform:none}
.home-page .fixed-reveal--home p:last-child{max-width:650px;font-size:17px;line-height:1.7;letter-spacing:0;color:rgba(255,255,255,.82)}

.home-page footer{grid-template-columns:1.7fr 1fr .75fr;gap:clamp(55px,8vw,125px);padding:88px max(6vw,calc((100vw - 1240px)/2)) 42px;background:#080909;color:#949a97}
.home-page footer>div{align-items:flex-start;gap:12px}
.home-page footer .footer-intro{display:block}
.home-page .footer-brand{position:relative;width:190px;height:41px;display:block;overflow:hidden;mix-blend-mode:screen}
.home-page .footer-brand img{position:absolute;left:-42px;top:-25.4px;width:273px;height:91px;max-width:none;object-fit:fill;filter:grayscale(1) contrast(2)}
.home-page .footer-intro>p{max-width:320px;margin:30px 0 0;color:#9ca29f;font:400 15px/1.65 SCRDSans,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;text-transform:none}
.home-page footer>div:not(.footer-intro)>p{margin:0 0 14px;font:600 10px/1.4 RockHero,SCRDSans,Arial,sans-serif;letter-spacing:.16em;color:#fff}
.home-page footer a:not(.footer-brand){font-size:13.5px;line-height:1.55;color:#9ca29f;transition:color .2s ease}
.home-page footer a:not(.footer-brand):hover{color:#fff}
.home-page footer small{margin-top:60px;padding-top:26px;border-color:#292c2b;font:500 9px/1.4 RockHero,SCRDSans,Arial,sans-serif;letter-spacing:.13em;color:#777d7a}
.home-page a:focus-visible,.home-page button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.home-page main a:focus-visible{outline-color:#53615d}

@media(max-width:1100px) and (min-width:901px){
  .home-page .intro{grid-template-columns:.75fr 2fr}.home-page .intro>p:last-child{grid-column:2;max-width:560px}
  .home-page .statement{grid-template-columns:.75fr 2fr}.home-page .statement>h2{grid-column:2}.home-page .statement-intro{grid-column:2;max-width:610px;margin-top:34px}
  .home-page .service-card .service-copy{padding:56px 5.5vw}.home-page .service-description{font-size:16px}
  .home-page .cta{grid-template-columns:1.2fr .8fr;gap:60px}
}

@media(max-width:900px){
  .home-page .intro,.home-page .statement{display:block;padding:88px 24px}
  .home-page .intro::after{right:-58%;top:17%;width:115%}
  .home-page .intro-blueprint svg{stroke:rgba(205,215,210,.11)}
  .home-page .intro-node{padding:8px 10px}
  .home-page .intro-node--one{left:24px;top:24px}
  .home-page .intro-node--two{left:auto;right:24px;top:24px}
  .home-page .intro-node--three{left:24px;right:auto;bottom:24px}
  .home-page .intro-node--four{right:24px;bottom:24px}
  .home-page .intro h2,.home-page .statement h2{margin:24px 0 30px;font-size:clamp(43px,11vw,62px);line-height:1.01}
  .home-page .intro>p:last-child,.home-page .statement-intro{max-width:600px;margin:0;font-size:16.5px}
  .home-page .service-card .service-copy{padding:58px 24px 66px}
  .home-page .service-copy h3{margin-bottom:25px;font-size:clamp(42px,10.5vw,58px)}
  .home-page .service-description{max-width:560px;margin-bottom:32px;font-size:16px}
  .home-page .statement-values{grid-template-columns:1fr;margin-top:62px}
  .home-page .statement-values article,.home-page .statement-values article+article{padding:28px 0 30px;border-left:0;border-bottom:1px solid var(--home-line)}
  .home-page .statement-values span{margin-bottom:22px}
  .home-page .cta{min-height:0;padding:88px 24px;display:block}
  .home-page .cta h2{font-size:clamp(48px,12.5vw,68px)}
  .home-page .cta-details{margin-top:42px}.home-page .cta-details>p{font-size:16.5px}
  .home-page .fixed-reveal.fixed-reveal--home{min-height:490px}
  .home-page .fixed-reveal--home .fixed-reveal__content{padding:82px 0}
  .home-page .fixed-reveal--home h2{font-size:clamp(43px,11vw,60px)}
  .home-page footer{grid-template-columns:1fr;gap:44px;padding:68px 24px 34px}
  .home-page footer small{margin-top:12px}
}

@media(max-width:600px){
  .home-page .top>div.announcement-message{padding:8px 12px;font-size:9px;letter-spacing:.04em}
  .home-page .service-image{min-height:285px}
  .home-page .service-image>span{height:38px;padding:0 12px}
  .home-page .cta-actions{align-items:flex-start;flex-direction:column;gap:18px}
  .home-page .cta .cta-primary{width:100%;justify-content:space-between}
  .home-page .fixed-reveal--home p:last-child{font-size:16px}
}

@media(max-width:420px){
  .home-page .intro-node{min-width:34px;justify-content:center;padding:8px}
  .home-page .intro-node small{display:none}
}

@media(prefers-reduced-motion:reduce){
  .home-page .intro::before{transform:translateX(-50%);transition:none}
  .home-page .intro-grid-glow,.home-page .intro-blueprint svg .intro-trail{display:none}
  .home-page .intro-node{transition:none}
  .home-page .intro.reveal:not(.visible) .intro-node{opacity:1;transform:none}
  .home-page .service-card .text-link,.home-page .service-card .text-link span{transition:none}
  .home-page .service-card .text-link:hover,.home-page .service-card .text-link:hover span{transform:none}
}
