:root{--night: #0E0F0D;--char: #161713;--char-2: #1F201B;--bone: #F1ECE1;--bone-2: #E6E0D2;--paper: #FBF9F3;--stone: #9A9488;--stone-d: #6A6457;--green: #2C6A50;--green-d: #1F4F3B;--green-l: #7FB79B;--ink: #1A1A15;--ink-2: #45433B;--line: #DBD4C5;--line-d: rgba(241,236,225,.14);--scrim: rgba(14,15,13,.55);--maxw: 1280px;--gutter: clamp(20px, 5vw, 64px);--display: "Archivo", "Helvetica Neue", system-ui, sans-serif;--sans: "Inter", system-ui, -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--bone);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}a{color:var(--green-d);text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--green);color:var(--bone)}:focus-visible{outline:2px solid var(--green-l);outline-offset:3px}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-weight:600;letter-spacing:.24em;text-transform:uppercase;font-size:12px;color:var(--green-d)}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.eyebrow.on-dark{color:var(--green-l)}.display-xl{font-size:clamp(40px,8vw,104px);line-height:.94;letter-spacing:-.03em;text-transform:uppercase}.display-lg{font-size:clamp(32px,5.2vw,66px);line-height:.98;letter-spacing:-.025em;text-transform:uppercase}.accent{color:var(--green)}.on-dark .accent,.accent.light{color:var(--green-l)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;border-radius:2px;font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.btn svg{width:16px;height:16px}.btn-primary{background:var(--green);color:var(--bone)}.btn-primary:hover{background:var(--green-d)}.btn-dark{background:var(--night);color:var(--bone)}.btn-dark:hover{background:var(--char-2)}.btn-ghost{border-color:var(--ink);color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--bone)}.btn-line{border-color:#f1ece173;color:var(--bone)}.btn-line:hover{background:var(--bone);color:var(--night);border-color:var(--bone)}.btn-row{display:flex;gap:14px;flex-wrap:wrap}.arrow-link{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-d)}.arrow-link.on-dark{color:var(--bone)}.arrow-link .ar{transition:transform .2s ease}.arrow-link:hover .ar{transform:translate(6px)}.brand{display:inline-flex;align-items:center;gap:11px;line-height:1}.brand .mk{width:30px;height:30px;border:1.5px solid currentColor;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:15px;color:var(--ink)}.brand .wm{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.brand.on-dark .mk,.brand.on-dark .wm{color:var(--bone)}.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s ease,border-color .3s ease,padding .3s ease;border-bottom:1px solid transparent}.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:var(--maxw);margin:0 auto;padding:20px var(--gutter);transition:padding .3s ease}.nav .brand .mk,.nav .brand .wm{color:var(--bone)}.nav-links{display:flex;gap:30px;align-items:center}.nav-links a{font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--bone);opacity:.82;transition:opacity .15s}.nav-links a:hover{opacity:1}.nav-cta{display:flex;align-items:center;gap:18px}.nav-call{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.06em;color:var(--bone);display:inline-flex;align-items:center;gap:8px}.nav-call svg{width:15px;height:15px}.nav.scrolled{background:#0e0f0deb;backdrop-filter:blur(10px);border-bottom-color:var(--line-d)}.nav.scrolled .nav-in{padding-top:13px;padding-bottom:13px}.nav-toggle,.nav-toggle-label,.nav-menu{display:none}@media (max-width: 940px){.nav-links,.nav-call{display:none}.nav-toggle-label{display:inline-flex;align-items:center;cursor:pointer;color:var(--bone);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:8px}.nav-menu{position:fixed;inset:0;z-index:49;background:var(--night);display:none;flex-direction:column;justify-content:center;gap:6px;padding:var(--gutter)}.nav-toggle:checked~.nav-menu{display:flex}.nav-menu a{font-family:var(--display);font-weight:700;font-size:30px;text-transform:uppercase;color:var(--bone);padding:10px 0;letter-spacing:-.01em}.nav-menu .m-call{font-family:var(--sans);font-size:15px;color:var(--green-l);letter-spacing:.04em;margin-top:20px;text-transform:none}}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;background:var(--night);overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0e0f0d8c,#0e0f0d26,#0e0f0d40 60%,#0e0f0deb),linear-gradient(90deg,#0e0f0db3,#0e0f0d1a 55%)}.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter) clamp(48px,8vh,96px)}.hero .eyebrow{color:var(--green-l);margin-bottom:26px}.hero h1{color:var(--bone);max-width:18ch;text-shadow:0 2px 30px rgba(14,15,13,.45)}.hero .sub{font-size:clamp(16px,1.5vw,20px);line-height:1.55;color:#f1ece1db;margin-top:28px;max-width:46ch}.hero .btn-row{margin-top:38px}.hero-strip{display:flex;flex-wrap:wrap;gap:14px 40px;margin-top:44px;padding-top:26px;border-top:1px solid var(--line-d)}.hero-strip .it{font-family:var(--sans);font-size:13px;letter-spacing:.06em;color:#f1ece1b3;display:inline-flex;align-items:center;gap:10px;text-transform:uppercase}.hero-strip .it b{font-family:var(--display);font-weight:700;font-size:20px;color:var(--bone);letter-spacing:-.01em}.section{padding:clamp(72px,11vh,150px) 0}.section.dark{background:var(--night);color:var(--bone)}.section.dark h2,.section.dark h3{color:var(--bone)}.section.bone2{background:var(--bone-2)}.lead{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(40px,6vw,72px)}.lead .l-head h2{margin-top:22px}.lead .l-text{color:var(--ink-2);font-size:clamp(16px,1.4vw,19px);line-height:1.6}.section.dark .lead .l-text{color:#f1ece1c7}@media (max-width: 820px){.lead{grid-template-columns:1fr;gap:18px;align-items:start}}.svc-list{border-top:1px solid var(--line)}.section.dark .svc-list{border-top-color:var(--line-d)}.svc-row{display:grid;grid-template-columns:56px 1fr auto;gap:28px;align-items:center;padding:30px 8px;border-bottom:1px solid var(--line);color:var(--ink);position:relative;transition:padding-left .25s ease,background .25s ease}.section.dark .svc-row{border-bottom-color:var(--line-d);color:var(--bone)}.svc-row:hover{padding-left:22px}.svc-row .ic{color:var(--green)}.section.dark .svc-row .ic{color:var(--green-l)}.svc-row .ic svg{width:30px;height:30px}.svc-row .meta h3{font-size:clamp(22px,2.6vw,32px);text-transform:uppercase;letter-spacing:-.01em}.svc-row .meta p{color:var(--ink-2);font-size:15px;margin-top:6px;max-width:60ch}.section.dark .svc-row .meta p{color:#f1ece1b3}.svc-row .go{color:var(--green-d);display:inline-flex}.section.dark .svc-row .go{color:var(--green-l)}.svc-row .go svg{width:26px;height:26px;transition:transform .25s ease}.svc-row:hover .go svg{transform:translate(4px,-4px)}@media (max-width: 720px){.svc-row{grid-template-columns:1fr auto;gap:16px;padding:24px 4px}.svc-row .ic{display:none}.svc-row:hover{padding-left:4px}}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.work-tile{position:relative;overflow:hidden;background:var(--char);display:block;aspect-ratio:3 / 2;grid-column:span 6}.work-tile.big{grid-column:span 8;aspect-ratio:16 / 9}.work-tile.small{grid-column:span 4;aspect-ratio:3 / 4}.work-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.work-tile:hover img{transform:scale(1.05)}.work-tile .noimg{position:absolute;inset:0;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#1b1c17 0 22px,#191a15 22px 44px);color:#f1ece152;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.work-tile .ov{position:absolute;inset:0;background:linear-gradient(to top,#0e0f0dd9,#0e0f0d00 55%)}.work-tile .cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,3vw,32px);z-index:2}.work-tile .cap .s{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--green-l)}.work-tile .cap .t{font-family:var(--display);font-weight:700;font-size:clamp(18px,2vw,24px);text-transform:uppercase;color:var(--bone);margin-top:7px;letter-spacing:-.01em}.work-tile .cap .d{font-size:14px;line-height:1.5;color:#f1ece1d1;margin-top:8px;max-width:48ch;opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .3s ease,margin .3s ease}.work-tile:hover .cap .d{opacity:1;max-height:100px;margin-top:10px}@media (max-width: 820px){.work-grid{grid-template-columns:1fr}.work-tile,.work-tile.big,.work-tile.small{grid-column:1 / -1!important;aspect-ratio:3 / 2!important}.work-tile .cap .d{opacity:1;max-height:100px;margin-top:10px}}.band{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden;background:var(--night)}.band-bg{position:absolute;inset:0}.band-bg img{width:100%;height:100%;object-fit:cover}.band-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0e0f0de6,#0e0f0d8c 45%,#0e0f0d33)}.band-inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:80px var(--gutter);width:100%}.band-inner .card{max-width:40ch}.band-inner h2{color:var(--bone);margin-top:22px}.band-inner p{color:#f1ece1d6;font-size:17px;line-height:1.6;margin-top:18px}.band-inner .btn-row{margin-top:30px}.ticks{display:grid;gap:14px;margin-top:26px}.ticks li{list-style:none;display:flex;gap:14px;align-items:flex-start;font-size:16px;color:#f1ece1e6}.ticks li:before{content:"";flex:none;width:20px;height:20px;margin-top:2px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237FB79B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat}.ticks.on-light li{color:var(--ink-2)}.ticks.on-light li:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%232C6A50' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-d)}.review{padding:clamp(28px,3vw,40px) clamp(24px,2.4vw,34px);border-bottom:1px solid var(--line-d);border-right:1px solid var(--line-d)}.review:last-child{border-right:none}.review .stars{color:var(--green-l);letter-spacing:3px;font-size:14px;margin-bottom:20px}.review blockquote{font-family:var(--display);font-weight:600;font-size:clamp(18px,1.7vw,22px);line-height:1.35;color:var(--bone);letter-spacing:-.01em}.review .who{margin-top:24px;font-family:var(--sans);font-weight:600;font-size:14px;color:var(--bone)}.review .who span{display:block;font-weight:400;color:var(--stone);font-size:13px;margin-top:2px;letter-spacing:.04em}@media (max-width: 820px){.reviews{grid-template-columns:1fr}.review{border-right:none}}.area-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,72px);align-items:center}.area-list{display:flex;flex-wrap:wrap;gap:10px 10px}.area-list a{font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:.02em;color:var(--bone);border:1px solid var(--line-d);padding:11px 18px;border-radius:2px;transition:border-color .15s,color .15s,background .15s}.area-list a:hover{border-color:var(--green-l);color:var(--night);background:var(--green-l)}@media (max-width: 820px){.area-wrap{grid-template-columns:1fr;gap:30px}}.cta{position:relative;background:var(--green-d);color:var(--bone);text-align:center;padding:clamp(72px,11vh,140px) var(--gutter)}.cta h2{color:var(--bone)}.cta p{color:#f1ece1d9;font-size:18px;margin:20px auto 0;max-width:44ch}.cta .btn-row{justify-content:center;margin-top:36px}.page-head{position:relative;background:var(--night);color:var(--bone);padding:calc(96px + 6vh) var(--gutter) clamp(56px,9vh,104px);overflow:hidden}.page-head.has-img .ph-bg{position:absolute;inset:0}.page-head.has-img .ph-bg img{width:100%;height:100%;object-fit:cover}.page-head.has-img .ph-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0e0f0db3,#0e0f0ddb)}.page-head .ph-in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto}.page-head .crumb{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#f1ece199;margin-bottom:22px}.page-head .crumb a{color:var(--green-l)}.page-head h1{color:var(--bone);max-width:18ch}.page-head p{color:#f1ece1d6;font-size:clamp(17px,1.6vw,20px);margin-top:22px;max-width:50ch}.prose{max-width:64ch}.prose p{font-size:17px;color:var(--ink-2);margin-bottom:22px;line-height:1.7}.prose h2{font-size:clamp(24px,3vw,34px);text-transform:uppercase;margin:48px 0 18px}.prose h3{font-size:21px;margin:30px 0 10px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,5vw,72px);align-items:start}.form-card{background:var(--paper);border:1px solid var(--line);padding:clamp(26px,3vw,40px)}.form label{display:block;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:20px 0 8px}.form label:first-of-type{margin-top:0}.form input,.form textarea,.form select{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:2px;font-family:var(--sans);font-size:15px;background:var(--bone);color:var(--ink);transition:border-color .15s,background .15s}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--green);background:#fff;outline:none}.form textarea{min-height:130px;resize:vertical}.form .btn{margin-top:26px;width:100%}.form .hp{position:absolute;left:-9999px}.form-note{font-size:12.5px;color:var(--stone-d);margin-top:16px;text-align:center}.contact-aside .big-call{font-family:var(--display);font-weight:700;font-size:clamp(26px,3.4vw,40px);color:var(--ink);letter-spacing:-.02em}.contact-aside .row{display:grid;gap:4px;padding:20px 0;border-bottom:1px solid var(--line)}.contact-aside .row:last-child{border-bottom:none}.contact-aside .row .k{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-d)}.contact-aside .row .v,.contact-aside .row a{font-size:16px;color:var(--ink);font-weight:500}.contact-aside .row a{color:var(--green-d)}.callbar{display:none}@media (max-width: 720px){.callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:45}.callbar a{padding:16px;text-align:center;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px}.callbar svg{width:16px;height:16px}.callbar .c1{background:var(--green);color:var(--bone)}.callbar .c2{background:var(--night);color:var(--bone)}body{padding-bottom:52px}.nav .nav-cta .btn-primary{display:none}}.footer{background:var(--night);color:#f1ece1b3;padding:clamp(64px,9vh,120px) 0 28px;overflow:hidden}.footer-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;padding-bottom:clamp(40px,6vh,72px);border-bottom:1px solid var(--line-d)}.footer-cta h2{color:var(--bone)}.footer-cta-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.footer-cta .big-num{font-family:var(--display);font-weight:700;font-size:clamp(24px,3vw,34px);color:var(--bone);letter-spacing:-.02em}.footer-cta .big-num:hover{color:var(--green-l)}.footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:40px;padding-top:clamp(40px,6vh,72px)}.footer h4{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--green-l);margin-bottom:20px;font-weight:600}.footer a,.footer p{color:#f1ece1b3;display:block;margin-bottom:12px;font-size:14.5px}.footer a:hover{color:var(--bone)}.footer .brand.on-dark{margin-bottom:4px}.footer .blurb{margin-top:20px;max-width:32ch;line-height:1.65}.footer .sline{color:var(--green-l);margin-top:14px;font-weight:500}.footer .all-areas{color:var(--green-l);margin-top:4px}.footer .fine{font-size:13px;opacity:.7;margin-bottom:6px}.footer-mark{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1;text-align:center;font-size:clamp(54px,15vw,230px);color:transparent;-webkit-text-stroke:1px rgba(241,236,225,.12);margin:clamp(40px,7vh,90px) 0 clamp(28px,4vh,52px);user-select:none;white-space:nowrap}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:24px;border-top:1px solid var(--line-d);font-size:12.5px;letter-spacing:.04em;color:#f1ece173}.footer-bottom span{color:#f1ece173}.footer-bottom a{display:inline;color:#f1ece199}.footer-bottom a:hover{color:var(--bone)}@media (max-width: 820px){.footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-cta,.footer-cta-right{align-items:flex-start}}@media (max-width: 460px){.footer-top{grid-template-columns:1fr}}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none;transition:none}.work-tile img,.btn,.svc-row{transition:none}}
