:root {
  --black:#0b0b0b;
  --charcoal:#171717;
  --ink:#242424;
  --mid:#686868;
  --line:#dedede;
  --paper:#f6f6f3;
  --white:#fff;
  --max:1240px;
  --heading:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --body:"Inter",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(var(--max),calc(100% - 56px));margin-inline:auto;position:relative;z-index:2}

.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - var(--max))/2));position:fixed;top:0;left:0;right:0;z-index:50;color:#fff;background:linear-gradient(to bottom,rgba(0,0,0,.74),rgba(0,0,0,0));transition:.25s ease}
.site-header.scrolled{height:70px;background:rgba(12,12,12,.97);box-shadow:0 10px 40px rgba(0,0,0,.16)}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:47px;filter:invert(1)}
.brand-word{font-family:var(--heading);font-weight:800;font-size:27px;letter-spacing:.06em}
.nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}
.nav a:not(.nav-cta){opacity:.84;transition:.2s}.nav a:hover{opacity:1}
.nav-cta{border:1px solid rgba(255,255,255,.7);padding:12px 17px;text-transform:uppercase;letter-spacing:.09em;font-size:11px}
.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px 0}

.hero{min-height:820px;height:100vh;max-height:980px;position:relative;background:#111;color:#fff;display:flex;align-items:center;overflow:hidden}
.hero-image{position:absolute;inset:0;background:url('assets/hero.jpg') center/cover no-repeat;transform:scale(1.08);filter:grayscale(1) contrast(1.07)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 46%,rgba(0,0,0,.26) 72%,rgba(0,0,0,.48) 100%),linear-gradient(0deg,rgba(0,0,0,.55) 0%,transparent 36%)}
.topo{position:absolute;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='250' viewBox='0 0 340 250'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cpath d='M-15 96C22 53 75 48 119 68s75 17 105-9 89-32 132 8'/%3E%3Cpath d='M-18 112C20 69 76 64 120 84s74 17 106-10 89-30 131 10'/%3E%3Cpath d='M-18 128C25 86 77 81 121 100s72 18 105-8 90-31 134 11'/%3E%3Cpath d='M-15 144C27 104 79 98 122 116s73 18 104-7 91-30 136 12'/%3E%3Cpath d='M37 7c25 17 35 35 28 56S40 97 18 102'/%3E%3Cpath d='M56 0c25 22 32 43 23 65s-25 32-48 38'/%3E%3C/g%3E%3C/svg%3E")}
.topo-light{opacity:.08}.topo-dark{opacity:.08}
.hero-content{padding-top:40px}
.eyebrow,.kicker{font-family:var(--heading);font-weight:700;letter-spacing:.18em;font-size:14px;text-transform:uppercase}
.eyebrow{margin-bottom:22px;color:#ddd}
.hero h1{font-family:var(--heading);font-size:clamp(72px,9vw,138px);letter-spacing:-.025em;line-height:.78;margin:0;text-transform:uppercase;max-width:900px}
.hero h1 span{font-weight:500}
.hero-copy{font-size:19px;max-width:650px;color:#ddd;margin:32px 0}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:16px 20px;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;border:1px solid transparent;transition:.2s;cursor:pointer}
.btn-light{background:#fff;color:#111}.btn-light:hover{background:#eee;transform:translateY(-2px)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-dark{background:#111;color:#fff;width:100%;margin-top:4px}.btn-dark:hover{background:#292929}
.hero-proof{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.38);backdrop-filter:blur(10px);padding-left:max(28px,calc((100vw - var(--max))/2));padding-right:max(28px,calc((100vw - var(--max))/2))}
.hero-proof div{padding:23px 28px;border-right:1px solid rgba(255,255,255,.18)}.hero-proof div:first-child{padding-left:0}.hero-proof div:last-child{border-right:0}
.hero-proof strong{font-family:var(--heading);display:block;font-size:20px;letter-spacing:.08em}.hero-proof span{font-size:12px;color:#ccc}

.section{padding:110px 0;position:relative;overflow:hidden}
.section-number{font-family:var(--heading);display:inline-flex;border:1px solid #aaa;min-width:48px;height:36px;align-items:center;justify-content:center;font-weight:700;font-size:18px;margin-bottom:22px}.section-number.light{border-color:#777;color:#fff}
.kicker{margin:0 0 12px;color:#636363}.light-text{color:#a7a7a7}
h2{font-family:var(--heading);font-size:clamp(48px,5vw,76px);line-height:.96;letter-spacing:-.015em;text-transform:uppercase;margin:0}
.split-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;margin-bottom:60px}.intro{font-size:18px;color:#666;max-width:560px;margin:0 0 6px}

.services{background:var(--paper)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ccc;border-left:1px solid #ccc}
.service-card{min-height:220px;padding:32px;border-right:1px solid #ccc;border-bottom:1px solid #ccc;background:rgba(255,255,255,.4);transition:.25s}
.service-card:hover{background:#fff;transform:translateY(-4px);box-shadow:0 14px 35px rgba(0,0,0,.06);z-index:2}
.service-icon{font-family:var(--heading);font-size:33px;display:block;height:45px}.service-icon.contour{font-size:40px;line-height:.8}
.service-card h3{font-family:var(--heading);font-size:26px;text-transform:uppercase;margin:17px 0 9px}.service-card p{color:#6c6c6c;font-size:14px;margin:0}

.production{background:#111;color:#fff;padding:130px 0}
.production-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px}
.production-copy h2{font-size:86px}.lead{font-size:20px;color:#e3e3e3}.production-copy>p:not(.kicker):not(.lead){color:#aaa;max-width:580px}
.production-quote{border-left:2px solid #fff;padding:12px 0 12px 22px;font-family:var(--heading);font-size:24px;text-transform:uppercase;letter-spacing:.03em;margin:28px 0}
.text-link{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #777;padding-bottom:6px}.text-link span{margin-left:18px}
.unit-diagram{width:min(600px,100%);aspect-ratio:1;position:relative;margin:auto}
.unit-core{position:absolute;width:190px;height:190px;border-radius:50%;background:#fff;color:#111;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:3;box-shadow:0 0 0 12px #1f1f1f,0 0 0 13px #555}
.unit-core img{width:88px;margin-bottom:8px}.unit-core span{font-family:var(--heading);font-weight:800;line-height:.9;font-size:23px}
.unit-node{position:absolute;width:140px;height:140px;border:1px solid #666;border-radius:50%;background:#161616;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;font-size:12px;line-height:1.15;text-transform:uppercase;letter-spacing:.04em}
.node-icon{font-size:30px;margin-bottom:8px}.node-1{left:10%;top:3%}.node-2{right:10%;top:3%}.node-3{left:0;top:38%}.node-4{right:0;top:38%}.node-5{left:10%;bottom:3%}.node-6{right:10%;bottom:3%}
.unit-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}.unit-lines line{stroke:#555;stroke-width:1.2}

.relationship{background:#fff}.centered{text-align:center;max-width:900px;margin:0 auto 70px}.centered h2{font-size:68px}
.relationship-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;margin-bottom:70px}
.flow-card{padding:28px 22px;border:1px solid #ccc;background:#fafafa}.flow-card.featured{background:#111;color:#fff;border-color:#111}.flow-card span{font-family:var(--heading);font-size:14px;color:#888}.flow-card h3{font-family:var(--heading);text-transform:uppercase;font-size:23px;margin:6px 0}.flow-card p{font-size:13px;color:#6a6a6a;margin:0}.flow-card.featured p{color:#bfbfbf}.flow-arrow{display:flex;align-items:center;padding:0 10px;font-size:24px;color:#aaa}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #ddd;border-left:1px solid #ddd}.why-item{display:flex;gap:16px;padding:28px;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.why-item>span{width:30px;height:30px;min-width:30px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:14px}.why-item strong{font-family:var(--heading);text-transform:uppercase;font-size:20px}.why-item p{font-size:13px;color:#777;margin:4px 0 0}

.serve{padding:58px 0;background:#f3f3f1;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.serve .kicker{text-align:center}.serve-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:27px;font-family:var(--heading);text-transform:uppercase;font-weight:700;font-size:17px}.serve-row i{display:block;width:4px;height:4px;background:#111;border-radius:50%;flex:0 0 auto}

.about{background:#111;color:#fff}.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:100px}.about-mark{aspect-ratio:1;display:grid;place-items:center;border:1px solid #444;position:relative}.about-mark:before,.about-mark:after{content:"";position:absolute;background:#444}.about-mark:before{width:100%;height:1px}.about-mark:after{height:100%;width:1px}.about-mark img{filter:invert(1);width:70%;position:relative;z-index:2}.about-copy p{color:#aaa;max-width:680px}.about-copy .lead{color:#e4e4e4}.brand-lockup-text{border-top:1px solid #444;margin-top:34px;padding-top:26px;display:flex;flex-direction:column}.brand-lockup-text strong{font-family:var(--heading);font-size:54px;line-height:.9;letter-spacing:.05em}.brand-lockup-text span{font-family:var(--heading);font-size:24px;text-transform:uppercase;letter-spacing:.06em;margin-top:10px}.brand-lockup-text small{font-size:11px;letter-spacing:.16em;margin-top:7px;color:#aaa}

.contact{background:#d8d8d3;color:#111;padding:125px 0}.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:85px;align-items:start}.contact h2{font-size:76px}.contact-copy>p:not(.kicker){font-size:17px;max-width:520px;color:#5b5b5b}.contact-links{margin-top:38px;border-top:1px solid #aaa}.contact-links a{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #aaa;font-weight:600}.contact-links span{font-family:var(--heading);font-size:13px;letter-spacing:.12em;color:#666}
.quote-form{background:#fff;padding:36px;box-shadow:0 20px 70px rgba(0,0,0,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin-bottom:16px}.quote-form input,.quote-form textarea,.quote-form select{width:100%;border:0;border-bottom:1px solid #aaa;padding:11px 2px;background:transparent;outline:none;text-transform:none;letter-spacing:0;font-weight:400;color:#222;margin-top:3px}.quote-form textarea{border:1px solid #bbb;padding:12px;resize:vertical}.quote-form input:focus,.quote-form select:focus{border-bottom-color:#111}.quote-form textarea:focus{border-color:#111}.form-note{font-size:10px;color:#777;margin:10px 0 0}

.footer{background:#090909;color:#fff;padding:46px 0 25px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand img{filter:invert(1);width:55px}.footer-brand div{display:flex;flex-direction:column}.footer-brand strong{font-family:var(--heading);font-size:31px;letter-spacing:.05em;line-height:1}.footer-brand span{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}.footer-contact{display:flex;justify-content:flex-end;gap:25px;font-size:12px;color:#bbb}.footer-contact a:hover{color:#fff}.footer-bottom{grid-column:1/-1;border-top:1px solid #282828;padding-top:20px;color:#666;font-size:10px}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease, transform .65s ease}.reveal.visible{opacity:1;transform:none}

@media (max-width: 980px){
  .nav{position:fixed;top:70px;left:0;right:0;background:#111;display:none;flex-direction:column;align-items:stretch;padding:20px 28px 30px;gap:0}.nav.open{display:flex}.nav a{padding:14px 0;border-bottom:1px solid #292929}.nav-cta{border:0!important;margin-top:10px;background:#fff;color:#111;padding:14px!important;text-align:center}.menu-toggle{display:block}
  .hero{min-height:760px}.hero-proof{grid-template-columns:1fr}.hero-proof div{display:none}.hero-proof div:first-child{display:block;padding:18px 0;border:0}.hero-content{padding-bottom:75px}.hero h1{font-size:88px}
  .split-heading,.production-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:50px}.production-copy h2{font-size:72px}.about-mark{max-width:520px}.contact-grid{gap:45px}
  .service-grid,.why-grid{grid-template-columns:repeat(2,1fr)}.relationship-flow{grid-template-columns:1fr 1fr;gap:12px}.flow-arrow{display:none}.serve-row{flex-wrap:wrap;justify-content:center}.serve-row i{display:none}.serve-row span{margin:4px 14px}.footer-contact{flex-wrap:wrap}
}

@media (max-width: 640px){
  .container{width:min(100% - 34px,var(--max))}.site-header{padding:0 17px}.brand-word{font-size:22px}.brand-mark{width:38px}
  .hero{min-height:720px}.hero h1{font-size:64px}.hero-copy{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.eyebrow{font-size:11px}.section{padding:78px 0}h2{font-size:48px}.split-heading{gap:30px;margin-bottom:38px}.intro{font-size:16px}
  .service-grid,.why-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:26px}.production{padding:85px 0}.production-copy h2{font-size:58px}.unit-diagram{transform:scale(.92);margin:-15px auto}.unit-node{width:112px;height:112px;font-size:10px}.node-icon{font-size:23px}.unit-core{width:145px;height:145px}.unit-core img{width:65px}.unit-core span{font-size:19px}.centered h2{font-size:47px}.relationship-flow{grid-template-columns:1fr}.flow-card{padding:24px}.serve-row{font-size:15px}.about-grid{gap:40px}.brand-lockup-text strong{font-size:44px}.brand-lockup-text span{font-size:19px}.contact h2{font-size:55px}.form-row{grid-template-columns:1fr}.quote-form{padding:25px}.footer-grid{grid-template-columns:1fr}.footer-contact{justify-content:flex-start;flex-direction:column;gap:8px}
}

/* Netlify Forms */
.hp-field{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important}
.quote-form button:disabled{opacity:.65;cursor:wait}
.form-status{min-height:20px;margin:14px 0 0;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:none}
.form-status.success{color:#1f6b36}
.form-status.error{color:#9a1f1f}


/* SEO / capability pages */
.page-header{background:rgba(12,12,12,.95)}
.subhero{min-height:690px;padding:155px 0 90px;position:relative;background:#111;color:#fff;display:flex;align-items:center;overflow:hidden}
.subhero .hero-image{transform:scale(1.03);filter:grayscale(1) contrast(1.08)}
.subhero-content{position:relative;z-index:3}
.breadcrumb{display:flex;gap:10px;align-items:center;color:#b7b7b7;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:42px}.breadcrumb a:hover{color:#fff}
.subhero h1{font-family:var(--heading);font-size:clamp(68px,8vw,124px);letter-spacing:-.025em;line-height:.82;margin:0;text-transform:uppercase;max-width:1000px}.subhero h1 span{font-weight:500}
.subhero-content>p{font-size:19px;max-width:680px;color:#ddd;margin:30px 0}
.detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}.detail-lead{font-size:20px;line-height:1.65;margin-top:0;color:#3d3d3d}.detail-grid>div:last-child>p:not(.detail-lead){color:#696969}
.capability-intro{background:#fff}.capability-list{background:var(--paper)}
.cap-list{list-style:none;margin:0;padding:0;border-top:1px solid #bbb}.cap-list li{padding:19px 0;border-bottom:1px solid #ccc;font-family:var(--heading);font-size:24px;text-transform:uppercase;letter-spacing:.02em}.cap-list li:before{content:'→';font-family:var(--body);font-size:15px;margin-right:18px;color:#777}
.process{background:#111;color:#fff}.process h2{margin-bottom:55px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #444;border-left:1px solid #444}.process-step{padding:38px;border-right:1px solid #444;border-bottom:1px solid #444;min-height:245px}.process-step>span{font-family:var(--heading);color:#777;font-size:15px}.process-step h3{font-family:var(--heading);font-size:29px;text-transform:uppercase;margin:45px 0 10px}.process-step p{color:#aaa;font-size:14px}
.fit-section{background:#fff}.dark-link{color:#111;border-color:#777;display:inline-block;margin-top:18px}
.related{background:#ecece8;padding-top:75px;padding-bottom:75px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.related-card{background:#fff;border:1px solid #d1d1cd;padding:27px;display:flex;flex-direction:column;min-height:170px;transition:.2s}.related-card:hover{transform:translateY(-4px);box-shadow:0 15px 40px rgba(0,0,0,.07)}.related-card span{font-size:10px;letter-spacing:.12em;color:#777}.related-card strong{font-family:var(--heading);font-size:27px;text-transform:uppercase;margin-top:16px}.related-card i{font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:auto;color:#666}
.service-cta{position:relative;overflow:hidden;background:#111;color:#fff;padding:105px 0}.service-cta h2{font-size:clamp(58px,7vw,95px)}.service-cta p:not(.kicker){color:#aaa;font-size:18px;max-width:650px}.service-cta .hero-actions{margin-top:28px}
.regional-capability{background:#e5e5e0}.regional-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.regional-grid .intro{margin-bottom:28px}
.card-link{display:block;margin-top:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#727272}
.footer-services{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 22px;border-top:1px solid #282828;padding-top:20px}.footer-services a{font-size:10px;color:#777;text-transform:uppercase;letter-spacing:.07em}.footer-services a:hover{color:#fff}
.production-page{padding-top:120px}.production-page .production-copy h2{font-size:78px}
.thank-you-page{min-height:100vh;background:#111;color:#fff;display:grid;place-items:center;padding:40px 20px;position:relative;overflow:hidden}.thank-you-card{width:min(760px,100%);text-align:center;position:relative;z-index:2}.thank-you-logo{width:92px;margin:0 auto 24px;filter:brightness(0) invert(1)}.thank-you-card h1{font-family:var(--heading);font-size:clamp(3.4rem,8vw,6.6rem);line-height:.88;margin:0 0 22px}.thank-you-card p{color:#ccc}.thank-you-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:980px){.detail-grid,.regional-grid{grid-template-columns:1fr;gap:38px}.process-grid,.related-grid{grid-template-columns:1fr}.subhero{min-height:620px;padding-top:130px}.footer-services{gap:12px 18px}}
@media(max-width:640px){.subhero h1{font-size:62px}.subhero-content>p{font-size:16px}.cap-list li{font-size:20px}.process-step{min-height:auto}.service-cta{padding:78px 0}.footer-services{display:grid;grid-template-columns:1fr 1fr}}
