:root{color-scheme:light dark;--ink:#313443;--mint:#46eda4;--bg:#fff;--fg:#313443;--secondary:#505463;--line:#d5d6da;--tile-dark:#313443;--contact-bg:#313443;--contact-fg:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
button:focus-visible,a:focus-visible{outline:3px solid var(--mint);outline-offset:5px}
.skip-link{position:absolute;top:-100px;left:16px;z-index:50;padding:10px;background:var(--mint);color:var(--ink)}
.skip-link:focus{top:16px}
.wrap{width:min(100% - 68px,1440px);margin-inline:auto}
.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}
.brand{display:block;width:220px;line-height:0}
.brand img{display:block;width:100%;height:auto}
.site-header nav{display:flex;align-items:center;gap:28px;font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.site-header nav a{transition:color .2s ease}
.site-header nav a:hover{color:var(--mint)}
.site-header nav .nav-contact{border:1px solid currentColor;padding:13px 17px}
.hero{height:min(710px,calc(100svh - 96px));min-height:620px;position:relative;isolation:isolate;overflow:hidden}
.hero-content{padding-top:51px;position:relative;z-index:5}
.eyebrow{font-size:.75rem;font-weight:800;line-height:1.25;text-transform:uppercase;letter-spacing:.18em;margin:0;color:#16885a}
h1,h2,h3,p{margin-top:0}
.hero h1{margin:25px 0 0;font-size:clamp(4.2rem,10.6vw,9.2rem);line-height:.8;letter-spacing:-.105em;text-transform:uppercase;font-weight:900}
.hero h1 span{display:block;white-space:nowrap;overflow:hidden}
.hero h1 b{display:inline-block;font-weight:inherit;transform:translateY(112%);animation:rise .9s cubic-bezier(.16,1,.3,1) .65s forwards}
.hero h1 span:nth-child(2) b{animation-delay:.83s}
.hero h1 span:nth-child(3) b{animation-delay:1.01s}
.hero h1 .outline{color:transparent;-webkit-text-stroke:1.3px var(--fg)}
.hero h1 em{color:var(--mint);font-style:normal}
.hero-bottom{display:flex;align-items:end;gap:35px;max-width:810px;margin-top:33px;opacity:0;transform:translateY(20px);animation:enter .7s ease 1.5s forwards}
.hero-bottom p{max-width:440px;margin:0;font-size:1.0625rem;line-height:1.5;color:var(--secondary)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:52px;padding:0 21px;background:var(--mint);color:var(--ink);font-size:.8125rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;transition:transform .22s ease,box-shadow .22s ease}
.button:hover{transform:translateY(-5px);box-shadow:7px 7px 0 rgba(70,237,164,.3)}
.pixel-grid{display:grid;grid-template-columns:repeat(3,clamp(52px,7.2vw,91px));grid-template-rows:repeat(3,clamp(52px,7.2vw,91px));gap:clamp(9px,1vw,14px);border:0;background:transparent;padding:0;color:inherit;cursor:pointer}
.pixel-grid span{display:block;border-radius:12%;background:var(--mint);opacity:0;transform:translate(var(--start-x),var(--start-y)) rotate(var(--start-r)) scale(.2);animation:assemble .72s cubic-bezier(.16,1,.3,1) var(--delay) forwards}
.pixel-grid span:nth-child(even){background:var(--tile-dark)}
.hero-grid{position:absolute;z-index:8;top:105px;right:5%;transform:rotate(-8deg)}
.pixel-grid span:nth-child(1){--dx:-80px;--dy:-85px;--spin:-70deg;--start-x:-130px;--start-y:-55px;--start-r:-80deg;--delay:.04s}
.pixel-grid span:nth-child(2){--dx:0px;--dy:-110px;--spin:100deg;--start-x:30px;--start-y:-65px;--start-r:60deg;--delay:.1s}
.pixel-grid span:nth-child(3){--dx:85px;--dy:-80px;--spin:90deg;--start-x:130px;--start-y:-50px;--start-r:75deg;--delay:.16s}
.pixel-grid span:nth-child(4){--dx:-110px;--dy:0px;--spin:-110deg;--start-x:-200px;--start-y:20px;--start-r:-80deg;--delay:.22s}
.pixel-grid span:nth-child(5){--dx:0px;--dy:0px;--spin:180deg;--start-x:0px;--start-y:105px;--start-r:180deg;--delay:.28s}
.pixel-grid span:nth-child(6){--dx:110px;--dy:0px;--spin:110deg;--start-x:200px;--start-y:30px;--start-r:80deg;--delay:.34s}
.pixel-grid span:nth-child(7){--dx:-80px;--dy:85px;--spin:-80deg;--start-x:-175px;--start-y:170px;--start-r:-70deg;--delay:.4s}
.pixel-grid span:nth-child(8){--dx:0px;--dy:110px;--spin:100deg;--start-x:40px;--start-y:190px;--start-r:80deg;--delay:.46s}
.pixel-grid span:nth-child(9){--dx:85px;--dy:85px;--spin:130deg;--start-x:180px;--start-y:160px;--start-r:110deg;--delay:.52s}
.pixel-grid:hover span,.pixel-grid.is-playing span{animation:burst .85s cubic-bezier(.2,.8,.2,1) var(--delay) both}
.ticker{position:absolute;left:0;right:0;bottom:0;border-top:1px solid var(--fg);border-bottom:1px solid var(--fg);padding:13px 0;overflow:hidden;white-space:nowrap;font-size:.8125rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.ticker-track{display:flex;width:max-content;animation:marquee 34s linear infinite}
.ticker-copy{display:block;flex:none;white-space:nowrap}
.ticker i{display:inline-block;width:8px;height:8px;margin:0 15px 1px;background:var(--mint)}
.services{padding-top:120px;padding-bottom:135px;display:grid;grid-template-columns:minmax(250px,.8fr) 1.2fr;gap:8vw}
.section-head h2{font-size:clamp(3rem,5vw,5rem);line-height:.94;letter-spacing:-.075em;margin:24px 0 0}
.service-list{border-top:1px solid var(--line)}
.service{display:grid;grid-template-columns:52px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:28px 0}
.service-number{font-size:.8rem;font-weight:900;color:#16885a;padding-top:7px}
.service h3{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.1;letter-spacing:-.045em;margin:0 0 10px}
.service p{max-width:580px;font-size:1rem;line-height:1.55;color:var(--secondary);margin:0}
.contact{background:var(--contact-bg);color:var(--contact-fg)}
.contact-inner{display:flex;align-items:end;justify-content:space-between;gap:45px;padding-block:105px}
.contact .eyebrow{color:var(--mint)}
.contact h2{font-size:clamp(4rem,8vw,8rem);line-height:.82;letter-spacing:-.09em;text-transform:uppercase;margin:27px 0 22px}
.contact p:not(.eyebrow){font-size:1.0625rem;line-height:1.55;max-width:530px;margin:0;color:#e4e7e6}
.contact-inner>a{font-size:clamp(1.2rem,2.8vw,2.6rem);font-weight:900;letter-spacing:-.045em;border-bottom:3px solid var(--mint);padding-bottom:10px;white-space:nowrap;transition:color .2s ease}
.contact-inner>a:hover{color:var(--mint)}
.site-footer{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.site-footer nav{display:flex;gap:25px}
.site-footer a:hover{text-decoration:underline}
@keyframes assemble{to{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
@keyframes rise{to{transform:translateY(0)}}
@keyframes enter{to{opacity:1;transform:translateY(0)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes burst{0%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}38%,61%{opacity:1;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.65)}100%{opacity:1;transform:translate(0,0) rotate(360deg) scale(1)}}
@media(prefers-color-scheme:dark){:root{--bg:#313443;--fg:#fff;--secondary:#e3e7e5;--line:#737987;--tile-dark:#fff;--contact-bg:#252833;--contact-fg:#fff}.eyebrow,.service-number{color:var(--mint)}.ticker{color:var(--mint)}}
@media(max-width:900px){.hero-grid{right:-45px;opacity:.5}.services{grid-template-columns:1fr;gap:65px}.contact-inner{display:block}.contact-inner>a{display:inline-block;margin-top:45px}}
@media(max-width:700px){.wrap{width:min(100% - 40px,1440px)}.site-header{height:74px}.brand{width:160px}.site-header nav a:first-child{display:none}.site-header nav{font-size:.625rem}.site-header nav .nav-contact{padding:10px}.hero{height:auto;min-height:0}.hero-content{padding-top:90px;padding-bottom:68px}.hero h1{font-size:clamp(3.3rem,12.8vw,5.7rem);line-height:.84}.hero h1 span+span{margin-top:9px}.hero-grid{top:85px;right:-17px;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(3,36px);gap:7px;opacity:.38}.hero-grid span:nth-child(-n+3){--start-y:-35px}.hero-bottom{display:block;margin-top:31px;max-width:350px}.hero-bottom p{font-size:1rem}.hero-bottom .button{margin-top:24px}.ticker{position:relative}.services{padding-top:90px;padding-bottom:100px;gap:45px}.contact-inner{padding-block:90px}.site-footer{padding-block:25px;align-items:start;flex-direction:column}}
@media(max-width:380px){.hero h1{font-size:3.25rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pixel-grid span{opacity:1;transform:none}.hero h1 b,.hero-bottom{opacity:1;transform:none}}
.legal{max-width:820px;padding-top:105px;padding-bottom:130px;min-height:calc(100vh - 186px)}
.legal h1{font-size:clamp(3.5rem,8vw,6rem);line-height:.95;letter-spacing:-.08em;margin:23px 0 65px}
.legal h2{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em;margin:38px 0 13px}
.legal p{font-size:1rem;line-height:1.65;color:var(--secondary)}
.legal .eyebrow{font-size:.75rem;color:#16885a}
.legal a:not(.button){text-decoration:underline;text-decoration-color:var(--mint);text-decoration-thickness:2px;text-underline-offset:4px}
.legal-date{font-size:.875rem!important}
@media(prefers-color-scheme:dark){.legal .eyebrow{color:var(--mint)}}
@media(max-width:700px){.legal{padding-top:75px;padding-bottom:100px}.legal h1{margin-bottom:45px}}
