:root{
  --red:#cf4747;
  --red-deep:#ae3030;
  --black:#050505;
  --ink:#131313;
  --white:#fff;
  --paper:#f4f1ec;
  --paper2:#ece8e1;
  --muted:#77736e;
  --line:rgba(0,0,0,.14);
  --heading:"Inter Tight", Arial, sans-serif;
  --sans:"DM Sans", Arial, sans-serif;
  --wrap:min(1180px, calc(100% - 48px));

  /* Scroll/reveal adjustments */
  --reveal-y:28px;
  --reveal-duration:700ms;
  --reveal-delay:0ms;
  --reveal-ease:cubic-bezier(.22,.61,.36,1);
  --reveal-trigger:10%;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.wrap{width:var(--wrap);margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px;z-index:999}.skip-link:focus{left:8px}

.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;left:0;right:0;top:0;z-index:100;background:#fff;border-bottom:1px solid #e7e3de;transition:height .25s ease,box-shadow .25s ease}
.site-header.is-scrolled{height:70px;box-shadow:0 9px 28px rgba(0,0,0,.10)}
.brand{display:flex;align-items:center;width:300px;height:72px;overflow:hidden;padding:2px 0;transition:width .25s ease,height .25s ease}
.site-header.is-scrolled .brand{width:238px;height:54px}
.brand img{width:100%;height:100%;object-fit:contain}
.site-header .nav-cta{transition:background .2s,border-color .2s,color .2s,padding .25s ease}
.site-header.is-scrolled .nav-cta{padding:8px 15px}
.site-nav{display:flex;align-items:center;gap:28px;color:#161616;font-weight:600;font-size:14px}
.site-nav a{position:relative}.site-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--red);transition:.25s}.site-nav a:hover:after{right:0}
.nav-cta{border:1px solid var(--red);background:var(--red);color:#fff;padding:11px 17px}.nav-cta:hover{background:#111;border-color:#111;color:#fff}
.menu-toggle{display:none;border:1px solid #cfcac4;background:transparent;color:#111;padding:9px 12px}

.hero{min-height:800px;height:100vh;max-height:980px;background:#050505;color:#fff;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero-media,.hero-media video,.hero-fallback,.hero-shade,.hero-grid{position:absolute;inset:0}
.hero-media video{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);opacity:.52}
.hero-fallback{background:radial-gradient(circle at 72% 30%,rgba(207,71,71,.25),transparent 28%),linear-gradient(130deg,#181818 0,#020202 58%,#17100f 100%);z-index:-1}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.54) 50%,rgba(0,0,0,.34) 100%)}
.hero-grid{opacity:.14;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:85px 85px;mask-image:linear-gradient(to bottom,transparent,black 35%,black)}
.hero-content{position:relative;z-index:3;padding-bottom:95px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:#fff;margin:0 0 18px}.eyebrow:before{content:"";width:34px;height:2px;background:var(--red);display:inline-block;vertical-align:middle;margin-right:12px}.eyebrow.dark{color:var(--ink)}
h1,h2,h3{font-family:"Inter Tight",Arial,sans-serif}
.reveal-item{opacity:0;transform:translateY(var(--reveal-y));transition:opacity var(--reveal-duration) var(--reveal-ease) var(--reveal-delay),transform var(--reveal-duration) var(--reveal-ease) var(--reveal-delay);will-change:opacity,transform}
.reveal-item.is-visible{opacity:1;transform:translateY(0)}
.hero h1{font-family:var(--heading);font-weight:400;font-size:clamp(48px,5vw,96px);line-height:1.02;letter-spacing:-.04em;max-width:80vw;margin:0 0 26px}.hero h1 em{color:var(--red);font-style:normal}
.hero-copy{max-width:710px;font-size:20px;color:rgba(255,255,255,.76);margin:0 0 34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 24px;font-size:14px;font-weight:700;border:1px solid transparent;transition:.2s}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#e05757}.button-ghost{border-color:rgba(255,255,255,.48);color:#fff;background:rgba(0,0,0,.12)}.button-ghost:hover{background:#fff;color:#111}.button-dark{background:#111;color:#fff}.button-dark:hover{background:#2c2c2c}.button.full{width:100%}
.hero-proof{margin-top:54px;border-top:1px solid rgba(255,255,255,.25);padding-top:17px;display:flex;gap:24px;flex-wrap:wrap;font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.68)}.hero-proof span:not(:last-child):after{content:"/";color:var(--red);margin-left:24px}
.hero-scroll{position:absolute;right:30px;bottom:42px;z-index:4;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:#ddd}

.flash{margin-top:26px;padding:16px 18px;border-left:4px solid}.flash-success{background:#edf6ef;border-color:#2a8d48}.flash-error{background:#f9eaea;border-color:var(--red)}
.section{padding:112px 0}.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end;margin-bottom:58px}.section-head h2,.intro h2,.checks h2,.faq h2,.contact h2{font:400 clamp(39px,5vw,70px)/1.08 var(--heading);letter-spacing:-.035em;margin:0}.section-head>p{color:rgba(255,255,255,.62);margin:0 0 8px;max-width:520px}.light-head>p{color:#625e58}

.intro{display:grid;grid-template-columns:220px 1fr;gap:80px;border-bottom:1px solid var(--line)}.section-kicker{font:400 36px/1 var(--heading);color:var(--red);padding-top:4px}.intro-copy>p:not(.eyebrow){max-width:850px;font-size:20px;color:#5c5852}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:58px;border-top:1px solid var(--line)}.trust-row div{padding:22px 16px 4px 0}.trust-row strong{font:400 26px/1 var(--heading);color:var(--red);display:block;margin-bottom:8px}.trust-row span{font-size:13px;text-transform:uppercase;letter-spacing:.1em}

.services{background:#080808;color:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}.service-card{min-height:470px;padding:38px 30px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);position:relative}.service-no{font:400 16px var(--heading);color:var(--red)}.service-card h3{font:400 32px/1.1 var(--heading);margin:70px 0 18px}.service-card p{color:#bcbcbc}.service-card ul{padding:0;margin:28px 0 0;list-style:none}.service-card li{border-top:1px solid rgba(255,255,255,.12);padding:9px 0;font-size:14px;color:#e1e1e1}.services-cta{background:var(--red);color:#fff;padding:34px;display:grid;grid-template-columns:1.15fr 1fr auto;gap:44px;align-items:center}.services-cta .service-no{color:#fff;display:block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.services-cta h3{margin:0;font:400 28px/1.15 var(--heading)}.services-cta p{margin:0;color:rgba(255,255,255,.9)}.services-cta .button{white-space:nowrap;border-color:#fff}.services-cta .button:hover{background:#fff;color:#111}

.statement{background:var(--paper2);padding:74px 0}.statement-grid{display:grid;grid-template-columns:220px 1fr;gap:80px;align-items:start}.statement-mark{font:400 80px/1 var(--heading);color:var(--red)}.statement blockquote{font:400 clamp(30px,4vw,57px)/1.25 var(--heading);margin:0;max-width:1000px}

.project-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px}.project-card{margin:0}.project-card:first-child{grid-row:span 2}.project-image{background:#161616 center/cover no-repeat;aspect-ratio:4/3;position:relative;overflow:hidden}.remote-image{background-image:linear-gradient(rgba(0,0,0,.04),rgba(0,0,0,.04)),var(--bg);image-rendering:auto;transition:filter .25s,transform .25s}.project-card:first-child .project-image{aspect-ratio:4/5}.project-card:hover .project-image{filter:contrast(1.08)}.project-meta{display:flex;justify-content:space-between;margin:14px 0 5px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#79736e}.project-card h3{font:400 27px/1.2 var(--heading);margin:0}.case-study{margin-top:74px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:220px 1fr 1fr;gap:50px}.case-number{font-size:12px;letter-spacing:.15em}.case-study h3{font:400 34px/1.2 var(--heading);margin:0}.case-study p{margin:0 0 16px;color:#5e5a55}.case-study a{font-weight:700;color:var(--red-deep)}

.reviews{background:#0a0a0a;color:#fff}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.review-card{margin:0;min-height:390px;padding:34px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}.quote-mark{font:400 60px/1 var(--heading);color:var(--red)}.review-card p{font:400 21px/1.45 var(--heading);margin:15px 0 30px}.review-card footer{margin-top:auto;color:#b9b9b9;text-transform:uppercase;letter-spacing:.12em;font-size:11px}

.checks{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.checks-copy{position:sticky;top:40px}.checks-copy>p:not(.eyebrow){font-size:18px;color:#615d57}.tick-list{list-style:none;padding:0;margin:36px 0}.tick-list li{padding:11px 0;border-top:1px solid var(--line)}.tick-list li:before{content:"+";color:var(--red);font-weight:700;margin-right:12px}.form-card,.quote-form{background:#fff;padding:36px;border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 70px rgba(29,23,17,.08)}.form-head{display:flex;justify-content:space-between;margin-bottom:26px;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.form-head strong{color:var(--red)}
label{display:block;margin-bottom:16px}label>span{display:block;margin:0 0 7px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}input,select,textarea{width:100%;border:1px solid #d5d0c9;background:#faf9f7;color:#111;padding:13px 14px;border-radius:0;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px rgba(207,71,71,.1)}textarea{resize:vertical}.field-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0}.consent input{width:auto;margin-top:4px}.consent span{font-size:12px;text-transform:none;letter-spacing:0;font-weight:500;color:#5d5954}.hp{position:absolute;left:-9999px}

.faq{background:var(--red);color:#fff}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.faq-intro{position:sticky;top:40px;align-self:start}.faq-intro p:last-child{color:rgba(255,255,255,.75);max-width:430px}.accordion{border-top:1px solid rgba(255,255,255,.4)}details{border-bottom:1px solid rgba(255,255,255,.4);padding:0}summary{list-style:none;cursor:pointer;font:400 23px/1.35 var(--heading);padding:22px 44px 22px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:0;top:19px;font:400 25px var(--sans)}details[open] summary:after{content:"–"}details p{margin:0 70px 24px 0;color:rgba(255,255,255,.82)}

.contact{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.contact-side>p:not(.eyebrow){font-size:18px;color:#615d57}.contact-links{margin-top:45px;border-top:1px solid var(--line)}.contact-links a{display:block;padding:18px 0;border-bottom:1px solid var(--line)}.contact-links span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#777}.contact-links strong{font-size:15px}.quote-form{background:#fff}

.site-footer{background:#050505;color:#fff;padding:70px 0 26px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .5fr;gap:70px}.footer-logo{width:340px;background:#fff;padding:8px;border-radius: 1em;}.footer-grid p{max-width:520px;color:#aaa}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:7px}.footer-label{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--red);margin-bottom:12px}.footer-grid a{color:#ddd;font-size:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:48px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#777;font-size:11px}.mobile-cta{display:none}

@media (max-width:950px){
  :root{--wrap:min(100% - 34px, 1180px)}
  .site-header{height:82px;padding:0 17px}.site-header.is-scrolled{height:64px}.brand{width:230px;height:56px}.site-header.is-scrolled .brand{width:190px;height:46px}.menu-toggle{display:block}.site-nav{position:absolute;top:100%;left:0;right:0;background:#fff;color:#111;display:none;flex-direction:column;align-items:stretch;padding:18px;gap:0;border-top:1px solid #e7e3de;box-shadow:0 18px 40px rgba(0,0,0,.12)}.site-nav.open{display:flex}.site-nav a{padding:12px;border-bottom:1px solid #ece8e2}.nav-cta{margin-top:10px;text-align:center;color:#fff;border-bottom:0!important}
  .hero{min-height:760px}.hero-content{padding-bottom:85px}.hero-scroll{display:none}
  .section{padding:80px 0}.section-head,.intro,.statement-grid,.checks,.faq-grid,.contact{grid-template-columns:1fr;gap:35px}.intro{gap:28px}.section-kicker{font-size:27px}.service-grid{grid-template-columns:1fr 1fr}.services-cta{grid-template-columns:1fr;gap:18px}.review-grid{grid-template-columns:1fr}.review-card{min-height:auto}.checks-copy,.faq-intro{position:static}.case-study{grid-template-columns:1fr;gap:18px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media (max-width:640px){
  :root{--wrap:calc(100% - 28px)}
  body{padding-bottom:58px}.site-header{padding:0 14px}.brand{width: 220px;height: 70px;}
  .hero{min-height:calc(100svh - 82px);height:auto;max-height:none;align-items:stretch}.hero-content{min-height:calc(100svh - 82px);padding-top:clamp(100px,16vh,150px);padding-bottom:72px;display:flex;flex-direction:column;justify-content:flex-end}.hero h1{font-size:29px}.hero-copy{font-size:17px}.hero-actions{display:grid}.hero-proof{gap:8px 18px}.hero-proof span:not(:last-child):after{display:none}
  .section{padding:68px 0}.section-head{margin-bottom:36px}.section-head h2,.intro h2,.checks h2,.faq h2,.contact h2{font-size:39px}.trust-row{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-card h3{margin-top:42px}.services-cta{padding:28px 24px}.project-grid{grid-template-columns:1fr}.project-card:first-child{grid-row:auto}.project-card:first-child .project-image,.project-image{aspect-ratio:4/3}.review-card p{font-size:19px}.field-grid.two{grid-template-columns:1fr;gap:0}.form-card,.quote-form{padding:24px 18px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-logo{width:100%;max-width:320px}.footer-bottom{flex-direction:column}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#050505;border-top:1px solid #333}.mobile-cta a{padding:16px;text-align:center;color:#fff;font-size:13px;font-weight:700}.mobile-cta a:last-child{background:var(--red)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media video{display:none}.reveal-item{opacity:1;transform:none;transition:none}}
