:root{--green:#1efa90;--black:#000;--panel:#1f1f1f;--gutter:clamp(22px,4vw,90px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1{font-size:clamp(48px,6.15vw,94px);line-height:1;letter-spacing:0}.wrap{width:calc(100% - var(--gutter)*2);max-width:1700px;margin-inline:auto}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;padding:12px 20px;background:var(--green);color:#000}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--green);outline-offset:5px}[hidden]{display:none!important}
.site-header{position:absolute;z-index:10;inset:0 0 auto}.header-inner{min-height:110px;display:flex;justify-content:space-between;align-items:flex-start;padding-top:10px}.brand{position:relative;display:flex;align-items:center;gap:8px;padding-bottom:38px;white-space:nowrap}.brand img{width:60px;height:55px;object-fit:contain}.brand>span{font-size:24px;font-weight:700;line-height:1.1}.brand small{position:absolute;left:0;top:69px;font-size:14px;line-height:22px;font-weight:400;color:#d8d8d8}#main-nav{display:flex;gap:64px;align-items:center;padding-top:18px}#main-nav a{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:1.5px;line-height:2;padding-bottom:3px}#main-nav a:hover,#main-nav a[aria-current=page]{border-bottom:1px solid #b4b4b4}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:700px;padding:clamp(235px,25vw,340px) 0 28px}.hero-background{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-background img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-background:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.76)}.hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;align-items:start}.hero-copy{grid-column:span 3;max-width:760px}.eyebrow{color:var(--green);font-size:14px;margin-bottom:28px}.hero h1{margin-bottom:28px}.hero-description{font-size:14px;line-height:1.65;max-width:730px;color:#eee}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 28px;border:1px solid transparent;border-radius:0;font-size:15px;letter-spacing:.02em;line-height:1.4;transition:background .2s,color .2s,transform .2s}.button-light{background:#fff;color:#111}.button-light:hover{background:var(--green);color:#000}.hero-button{min-width:265px;margin-top:48px}.button-dark{background:#1f2120;color:#fff;font-weight:600}.button-dark:hover{background:#fff;color:#111}.offer{min-width:0;text-align:center}.offer-card{text-align:left;background:var(--green);color:#070d08}.offer-card>img{width:100%;aspect-ratio:1.76;object-fit:cover;height:auto}.offer-card p{padding:15px 16px 35px;font-size:16px;font-weight:700;line-height:1.55}.offer>.button{margin-top:26px;min-height:46px;padding:11px 26px}
.portfolio{padding-top:24px;padding-bottom:20px}.portfolio>h2{font-size:14px;line-height:1.4;margin-bottom:30px}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:50px 30px}.project-card{display:block;min-width:0;background:var(--panel)}.project-image{overflow:hidden;aspect-ratio:4/3;background:#1a1a1a}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .3s}.project-card:hover .project-image img{transform:scale(1.035);filter:brightness(1.08)}.project-caption{padding:16px 14px;min-height:76px}.project-caption p{font-size:14px;line-height:1.55;color:#aaa}.project-caption h3{font-size:14px;line-height:1.6;color:#eee}.site-footer{padding:10px var(--gutter) 40px;background:#000}.footer-inner{width:200px;max-width:100%;margin:0 auto}.signoff{margin-bottom:27px;font-size:15px;line-height:1.6}.footer-inner h2{font-size:14px;color:#999;margin-bottom:24px}.footer-inner>a{display:block;font-size:15px;margin-top:14px;overflow-wrap:anywhere}.footer-inner>a:hover{color:var(--green)}
.contact-intro{position:relative;isolation:isolate;padding-top:180px;text-align:center;padding-bottom:140px;overflow:hidden}.contact-lights{position:absolute;inset:0;z-index:-2}.contact-lights img{width:100%;height:100%;object-fit:cover;opacity:1}.contact-lights:after{content:'';position:absolute;inset:0;background:#0002}.intro-copy h1{margin-bottom:28px}.intro-copy>p{max-width:1000px;margin:auto;font-size:22px;line-height:1.6}.wave{position:absolute;bottom:0;left:0;width:100%;height:clamp(50px,6vw,110px);color:#fff;overflow:visible}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:72px;padding-bottom:70px;align-items:stretch}.contact-photo{min-height:700px;overflow:hidden}.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.contact-form{min-width:0;color:var(--green)}.contact-form fieldset{margin:0 0 26px;padding:0;border:0;min-width:0}.contact-form legend{padding:0;margin-bottom:14px;font-size:15px}.contact-form .field{margin-bottom:26px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block;font-size:15px}.contact-form label>span:not(.check-label span){font-size:13px}.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #e5e5e5;border-radius:0;box-shadow:none;min-height:44px;padding:10px 12px;background:#fafafa;color:#111;font-size:16px;line-height:1.45}.contact-form textarea{min-height:160px;resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}.contact-form .check-label{display:flex;gap:12px;align-items:center;margin-bottom:16px;line-height:1.5;cursor:pointer}.contact-form .check-label span{font-size:14px}.contact-form input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:var(--green)}.contact-form .newsletter{margin-top:10px;margin-bottom:0}.services-field .check-label:last-child{margin-bottom:0}.contact-form .button{min-width:160px}.form-status{font-size:14px;line-height:1.5;margin-top:18px;color:var(--green)}.form-status:empty{display:none}.message-page{padding-top:200px;padding-bottom:120px;min-height:65vh}.message-page h1{max-width:1000px;margin-bottom:25px}.message-page>p{max-width:640px;font-size:19px;line-height:1.6}.message-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:36px}.text-link:hover{color:var(--green)}
/* Progressive enhancement: no hidden content unless an observer is available. */
.reveal{--reveal-delay:0ms}.motion-ready .reveal.is-waiting{opacity:0;transform:translateY(24px)}.motion-ready .reveal.is-visible{animation:reveal-in 850ms cubic-bezier(.2,.7,.2,1) var(--reveal-delay) both}@keyframes reveal-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero-copy{max-width:1050px}.hero-description{max-width:850px}.hero{padding-top:350px}.offer-card p{padding:20px 24px 36px;font-size:18px}}
@media(max-width:1050px){.hero{padding-top:230px}.hero-grid{gap:24px;grid-template-columns:minmax(0,1fr) 245px}.hero-copy{grid-column:1;max-width:none}.hero h1{font-size:clamp(44px,6vw,66px)}.hero-description{max-width:550px}.project-grid{gap:34px 24px;grid-template-columns:repeat(3,minmax(0,1fr))}.contact-section{gap:5vw}.intro-copy>p{font-size:20px}}
@media(max-width:767px){.header-inner{min-height:106px;padding-top:14px}.brand img{width:50px;height:46px}.brand>span{font-size:21px}.brand small{top:58px;font-size:12px}.menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #ffffff80;background:#0008;color:#fff;padding:9px 12px;font-size:12px;line-height:1;margin-top:10px}.menu-toggle span{font-size:16px}#main-nav{display:none;position:absolute;top:106px;left:0;right:0;background:#080808;padding:24px var(--gutter);border-top:1px solid #333;border-bottom:1px solid #333;flex-direction:column;align-items:flex-start;gap:16px}#main-nav.is-open{display:flex}#main-nav a{font-size:13px}.hero{padding-top:200px;padding-bottom:40px;min-height:0}.hero-grid{display:block}.hero h1{font-size:clamp(40px,8.7vw,66px);margin-bottom:22px}.hero-background img{object-position:62% center}.hero-background:after{background:rgba(0,0,0,.76)}.eyebrow{margin-bottom:22px}.hero-description{font-size:15px;line-height:1.65;max-width:570px}.hero-button{margin-top:30px;min-width:220px}.offer{margin:46px 0 0;max-width:420px}.offer-card{display:grid;grid-template-columns:1fr 1.1fr;align-items:stretch}.offer-card>img{height:100%;aspect-ratio:auto;object-fit:cover}.offer-card p{font-size:14px;padding:20px 16px;line-height:1.55}.offer>.button{margin-top:18px;min-width:160px}.portfolio{padding-top:30px;padding-bottom:36px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.project-caption{padding:12px;min-height:90px}.project-caption p,.project-caption h3{font-size:13px}.portfolio>h2{font-size:16px;margin-bottom:24px}.site-footer{padding-top:30px;padding-bottom:45px}.footer-inner{width:100%;margin:0}.signoff{margin-bottom:24px}.footer-inner h2{margin-bottom:18px}.contact-intro{padding-top:160px;padding-bottom:105px}.contact-intro h1{font-size:clamp(42px,10vw,62px);line-height:1.04}.intro-copy>p{font-size:18px;line-height:1.55}.contact-section{grid-template-columns:1fr;gap:34px;padding-top:40px;padding-bottom:40px}.contact-photo{min-height:0;max-height:340px;aspect-ratio:1.4}.contact-photo img{object-position:center}.field-row{gap:14px}.message-page{padding-top:170px;padding-bottom:75px}.message-page h1{font-size:48px}.motion-ready .reveal.is-visible{animation-delay:0ms}}
@media(max-width:370px){.project-grid{grid-template-columns:1fr}.project-caption{min-height:0}.offer-card{grid-template-columns:1fr}.offer-card>img{height:auto;aspect-ratio:1.76}.field-row{grid-template-columns:1fr;gap:20px}.brand>span{font-size:19px}.menu-toggle{padding:8px}.hero h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal.is-waiting,.motion-ready .reveal.is-visible{opacity:1!important;transform:none!important}}
