:root{color-scheme:dark;--bg:#101513;--panel:#1b2521;--surface:#22312b;--line:#34433c;--text:#f2f6f3;--muted:#a9b7b0;--accent:#54e3b0;--ink:#0d1914;--mono:ui-monospace,Consolas,monospace;--width:1232px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none} button{font:inherit} p,h1,h2,h3,figure{margin:0} ul,ol{margin:0;padding:0;list-style:none} img{display:block;max-width:100%;height:auto} svg{width:20px;height:20px;flex:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px} [hidden]{display:none!important} ::selection{background:var(--accent);color:var(--ink)}
.container{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;top:12px;left:12px;z-index:10;background:var(--accent);color:var(--ink);padding:10px 16px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{border-bottom:1px solid var(--line);position:relative;z-index:2;background:var(--bg)}.header-inner{min-height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;font-weight:850;letter-spacing:.12em;font-size:23px;line-height:1}.brand span{color:var(--accent);margin-left:-9px}.nav{display:flex;align-items:center;gap:32px;font-size:.87rem;font-weight:600;color:#c7d3cc}.nav a{position:relative}.nav a:not(.button):hover,.nav a[aria-current=page]{color:var(--text)}.nav a[aria-current=page]::after{content:"";position:absolute;bottom:-10px;left:0;width:15px;height:2px;background:var(--accent)}.header-hire{justify-self:end}.mobile-hire,.menu-toggle{display:none!important}
.button{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:51px;padding:11px 20px;border:1px solid transparent;border-radius:7px;font-weight:750;font-size:.89rem;line-height:1.25;transition:background-color .18s,border-color .18s,color .18s;white-space:nowrap;width:max-content;max-width:100%}.button svg{width:17px;height:17px}.button.primary{background:var(--accent);color:var(--ink)}.button.primary:hover{background:#7deec5}.button.secondary{border-color:#4b6157;background:#1b2521}.button.secondary:hover{border-color:var(--accent);color:#a0f2d4}.button.compact{min-height:42px;padding:8px 14px}.button.unavailable{border-color:var(--line);color:var(--muted);white-space:normal}
.hero{overflow:hidden;background:radial-gradient(ellipse at 74% 48%,#142a20 0,transparent 50%)}.hero-inner{min-height:635px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-copy{padding-block:73px;z-index:1;position:relative;width:max-content;max-width:116%}.eyebrow{font:650 .71rem/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px}.eyebrow>span{display:block;width:8px;height:8px;background:var(--accent);transform:rotate(-14deg);flex:none}.hero h1,.page-intro h1,.error-page h1{font-size:clamp(3.4rem,6.2vw,6rem);font-weight:850;line-height:.99;letter-spacing:-.077em;margin:24px 0}.hero h1 em,h1 em{color:var(--accent);font-style:normal}.hero-copy>p:not(.eyebrow){max-width:430px;color:#bdc9c2;font-size:1.08rem;line-height:1.65}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-art{width:112%;position:relative;align-self:center;justify-self:center}.hero-art img{width:100%;height:auto}.hero-art figcaption{position:absolute;bottom:5.7%;left:11%;right:9%;display:flex;justify-content:space-between;border-top:1px solid #436a58;padding-top:12px;font:600 .62rem/1.4 var(--mono);letter-spacing:.12em;color:#a5c8b8}.hero-art i{display:inline-block;width:6px;height:6px;background:var(--accent);margin-right:5px}
.capability-band{background:#1b2521;border-block:1px solid var(--line)}.capability-band .container{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;min-height:77px}.band-label,.index{font:650 .69rem/1.4 var(--mono);letter-spacing:.11em;color:var(--accent)}.capability-band ul{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;height:100%}.capability-band li{display:flex;align-items:center;justify-content:center;gap:9px;border-left:1px solid var(--line);height:100%;font-size:.87rem;font-weight:650;color:#d2ddd6}.capability-band svg{color:var(--accent);width:18px;height:18px}
.section{padding-block:86px}.section-head{margin-bottom:30px}.section-head h2,.closing h2{font-size:clamp(2.25rem,4.35vw,4.05rem);line-height:1.04;letter-spacing:-.062em;margin-top:12px;font-weight:800}.lede{color:var(--muted);max-width:60ch;margin-top:15px;font-size:1.05rem}.section-action{margin-top:26px}.with-action{display:flex;align-items:end;justify-content:space-between;gap:20px}.panel{border-block:1px solid var(--line);background:var(--panel)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,100px)}.split .section-head{margin-bottom:0}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service-grid.detailed{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.project{border:1px solid var(--line);border-radius:9px;background:var(--panel)}.service-card{padding:22px;transition:border-color .18s}.service-card:hover{border-color:#589f82}.card-top{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:31px}.card-icon{display:grid;place-items:center;width:44px;height:44px;background:#1b352a;border:1px solid #3a6653;color:var(--accent);border-radius:7px}.service-card h2,.service-card h3,.value-list h3,.steps h3,.project h3{font-size:1.14rem;line-height:1.3}.service-card p,.value-list p,.steps p,.project p{color:var(--muted);margin-top:9px;font-size:.92rem}.service-card .examples{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:#cdd8d1}.value-list article{border-top:1px solid var(--line);display:grid;grid-template-columns:32px 1fr;gap:12px;padding-block:19px}.value-list article:last-child{border-bottom:1px solid var(--line)}.value-list .index{padding-top:4px}
.empty{border:1px solid #2e5645;border-radius:10px;background:radial-gradient(ellipse at 100% 50%,#1a3228,transparent 75%),var(--panel);padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;overflow:hidden}.empty h2,.empty h3{font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.1;letter-spacing:-.042em;margin-top:12px}.empty p:not(.eyebrow){color:#becdc5;margin-top:12px;max-width:52ch}.empty-icon{width:100px;height:100px;display:grid;place-items:center;border:1px solid #3a6653;border-radius:12px;color:var(--accent);transform:rotate(-10deg);background:#172b23}.empty-icon svg{width:46px;height:46px}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.project{overflow:hidden}.project>div{padding:20px}.project img{width:100%;aspect-ratio:16/9;object-fit:cover}.project a{color:var(--accent);display:inline-flex;gap:7px;align-items:center;margin-top:12px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:30px}.steps li{padding-top:17px;border-top:1px solid #365f4e}.steps h3{margin-top:14px}.faq details{border-top:1px solid var(--line);padding-block:16px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-weight:730;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--accent);font:600 1.25rem/1.2 var(--mono)}.faq details[open] summary::after{content:"−"}.faq details p{color:var(--muted);margin-top:12px}
.closing{border:1px solid #3a6955;border-radius:12px;background:linear-gradient(110deg,#14251e,#1b3b2e);padding:clamp(25px,5vw,57px);display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:85px}.closing p:not(.eyebrow){margin-top:12px;color:#c9dbd1}.footer{background:#131a17;border-top:1px solid var(--line);padding-top:42px}.footer-main{display:flex;align-items:start;justify-content:space-between;gap:28px;padding-bottom:33px}.footer-main p{color:var(--muted);font-size:.87rem;margin-top:9px}.footer nav{display:flex;gap:17px;flex-wrap:wrap;font-size:.87rem;color:#c6d2cb}.footer nav a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;padding-block:17px;color:var(--muted);font-size:.77rem}
.page-intro{padding-block:90px 65px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 82% 15%,#1d4032,transparent 50%),var(--bg)}.page-intro h1{font-size:clamp(3.3rem,8vw,7rem);max-width:950px}.error-page{padding-block:100px;min-height:60vh}
@media(max-width:1060px){.hero-inner{min-height:540px}.container{width:calc(100% - 64px)}.nav{gap:24px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding-block:67px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.header-inner{display:flex;flex-wrap:wrap;justify-content:space-between;min-height:66px;gap:0}.header-hire{display:none}.menu-toggle:not([hidden]){display:flex!important;align-items:center;gap:10px;padding:8px 12px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:5px}.menu-icon{width:15px;height:11px;border-block:1px solid currentColor}.nav{display:flex;align-items:start;flex-direction:column;width:100%;gap:0;padding-bottom:18px}.nav a:not(.button){padding:8px 0;width:100%}.nav a[aria-current=page]::after{bottom:5px}.nav .mobile-hire{display:inline-flex!important;margin-top:8px}.menu-toggle[aria-expanded=false]:not([hidden])+.nav{display:none}.hero-inner{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:63px 0 0;width:auto;max-width:100%}.hero h1{font-size:clamp(3rem,10vw,5.1rem);margin-block:19px}.hero-art{width:min(110%,510px);margin-top:-9px}.hero-art figcaption{bottom:6%}.desktop-break{display:none}.capability-band .container{display:block;padding-block:17px}.capability-band ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.capability-band li{justify-content:start;border-left:0;font-size:.78rem}.section{padding-block:54px}.split{grid-template-columns:1fr;gap:24px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.closing{margin-bottom:54px;align-items:start;flex-direction:column}.footer-main{flex-wrap:wrap}.footer-main nav{width:100%;order:1}.page-intro{padding-block:61px 46px}}
@media(max-width:410px){.container{width:calc(100% - 32px)}.service-grid,.service-grid.detailed{grid-template-columns:1fr}.empty{grid-template-columns:1fr}.empty-icon{display:none}.with-action{align-items:start;flex-direction:column}.button{padding-inline:13px}.hero-copy>p:not(.eyebrow){font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.service-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.service-gallery a{display:block;border:1px solid var(--line);border-radius:6px;background:var(--bg);overflow:hidden}
.service-gallery a:hover{border-color:var(--accent)}
.service-gallery img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#0b100e}
.service-gallery a>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;font-size:.81rem;font-weight:650}
.service-gallery svg{width:15px;height:15px;color:var(--accent)}
.gallery-heading{font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.05em;margin-top:10px}
.gallery-credit{margin-top:9px;color:var(--muted);font-size:.92rem}
@media(max-width:600px){.service-grid.detailed{grid-template-columns:1fr}}
@media(max-width:440px){.service-gallery{grid-template-columns:1fr}}

@keyframes rise-in {
  from { opacity: .55; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-art-in {
  from { opacity: .5; transform: translateY(16px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-copy > *, .page-intro .container > * {
    animation: rise-in .48s cubic-bezier(.2,.65,.3,1) both;
  }
  .hero-copy > h1, .page-intro h1 { animation-delay: 65ms; }
  .hero-copy > p:not(.eyebrow), .page-intro .lede { animation-delay: 130ms; }
  .hero-copy > .actions { animation-delay: 195ms; }
  .hero-art { animation: hero-art-in .8s cubic-bezier(.2,.65,.3,1) both; }
  .motion-reveal { animation: rise-in .42s cubic-bezier(.2,.65,.3,1) both; }
  .faq details[open] > p { animation: rise-in .24s ease-out both; }
}

@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  .menu-toggle[aria-expanded="true"] + .nav { animation: rise-in .22s ease-out both; }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .button, .service-card, .service-gallery a { transition: background-color .18s, border-color .18s, color .18s, translate .18s; }
  .button:not(.unavailable):hover, .service-card:hover, .service-gallery a:hover { translate: 0 -2px; }
}
