:root{--ink:#f4f5f4;--muted:#b5bdb8;--green:#63c43c;--green-dark:#63c43c;--paper:#121615;--soft:#1a201d;--line:#38423c;--radius:4px;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green-dark);outline-offset:5px}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-weight:650}h1{font-size:clamp(3.4rem,7.1vw,7rem);line-height:1.02;letter-spacing:-.065em;margin-bottom:28px}h1 em{font-style:normal;color:var(--green-dark)}h2{font-size:clamp(2.3rem,4.1vw,4.25rem);line-height:1.08;letter-spacing:-.05em;margin-bottom:26px}h3{line-height:1.2;letter-spacing:-.025em}p{margin-bottom:20px}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.eyebrow{display:block;color:var(--green-dark);font-size:.875rem;line-height:1.4;font-weight:650;letter-spacing:.075em;text-transform:uppercase;margin-bottom:18px}
.header{position:sticky;top:0;z-index:20;background:rgba(12,16,14,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid #2e3731}.header .wrap{display:flex;align-items:center;gap:22px;min-height:78px}.brand{flex-shrink:0;display:block}.brand img{width:150px;height:auto}.header nav{display:flex;align-items:center;gap:6px;margin-left:auto}.header nav a{font-size:.875rem;font-weight:550;text-decoration:none;white-space:nowrap;padding:8px 9px;border-radius:3px;color:#d5dcd7;transition:background .18s}.header nav a:hover{background:#222b25}.header nav a[aria-current=page]{background:#253029;color:#fff}.header-cta{background:var(--green);padding:11px 16px;border-radius:4px;white-space:nowrap;text-decoration:none;color:#14220e;font-size:.875rem;font-weight:650}.header-cta:hover{background:#78cf54}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 25px;border-radius:4px;background:var(--green);color:#14220e;text-decoration:none;font-size:1rem;font-weight:600;border:1px solid transparent;transition:background .18s,transform .18s}.button:hover{background:#78cf54;transform:translateY(-1px)}.button-secondary{background:#222b25;color:var(--ink);border-color:transparent}.button-secondary:hover{background:#2e3b32}.actions{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero{background:#121615;padding:80px 0 72px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:46px;text-align:center}.hero-copy{max-width:920px;margin-inline:auto}.hero h1{margin:18px 0 26px}.hero p{font-size:1.2rem;line-height:1.6;color:var(--muted);max-width:690px;margin:0 auto}.hero .actions{justify-content:center;margin-top:30px}.hero-visual{margin:0 auto;width:100%;max-width:950px;overflow:hidden;border-radius:var(--radius);background:var(--soft)}.hero-visual img{width:100%;height:auto;max-height:470px;object-fit:contain;background:#ececeb}.visual-note{padding:20px 26px;background:#1a201d;text-align:left;display:flex;justify-content:space-between;gap:20px;align-items:center}.visual-note span{font-size:.9rem;color:var(--muted)}.visual-note strong{font-size:1rem;font-weight:600}.strip{background:#1a201d}.strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:27px 0}.strip strong{font-size:1rem;font-weight:600}.strip p{margin:0;color:var(--muted);font-size:.95rem}.strip a{color:var(--green-dark);text-decoration:none;font-weight:600;white-space:nowrap}
.section{padding:108px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-head h2{margin-bottom:0;max-width:720px}.section-head p{color:var(--muted);max-width:385px;margin-bottom:0}.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service{padding:32px 25px;background:var(--soft);border-radius:var(--radius);min-height:270px}.service .number{color:var(--green-dark);font-size:.875rem;font-weight:600}.service h3{font-size:1.4rem;margin:34px 0 15px}.service p{color:var(--muted);font-size:1rem;margin:0}.work,.tinted{background:var(--soft)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.work-image{border-radius:var(--radius);overflow:hidden;background:#e8e8e7;display:flex;align-items:center;justify-content:center}.work-image img{width:100%;height:480px;object-fit:contain}.work-copy{background:#121615;border-radius:var(--radius);padding:48px;display:flex;flex-direction:column;justify-content:space-between}.work-copy h3{font-size:clamp(2rem,3.3vw,3.3rem);letter-spacing:-.045em;line-height:1.1;margin-bottom:25px}.work-copy p{color:var(--muted)}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.tags span{font-size:.875rem;color:#c5cfc7;border-radius:3px;padding:7px 11px;background:var(--soft)}.photo-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.photo-card{border-radius:var(--radius);overflow:hidden;background:#121615}.photo-card img{width:100%;height:325px;object-fit:contain;background:#e8e8e7}.photo-card div{padding:27px 30px}.photo-card strong{font-size:1.15rem;font-weight:600}.photo-card p{color:var(--muted);margin:8px 0 0;font-size:1rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-grid p{font-size:1.1rem;color:var(--muted)}.about-points{border-top:1px solid var(--line)}.about-points div{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--line);font-weight:550}.about-points span{color:var(--green-dark)}
.contact{padding:100px 0;background:#0d120f;color:white}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:85px}.contact .eyebrow{color:var(--green)}.contact p{font-size:1.1rem;color:#b5bdb8;max-width:640px}.contact-details{align-self:end;border-top:1px solid #49494f;padding-top:26px}.contact-details a{display:block;font-size:1.2rem;margin-bottom:12px;text-decoration:none;overflow-wrap:anywhere}.contact-details small{display:block;margin-top:28px;font-size:.9375rem;color:#b5bdb8}.footer{background:#1a201d;color:#b5bdb8;padding:28px 0;font-size:.875rem}.footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer a{text-decoration:none;margin-left:22px}.footer a:hover{color:var(--green-dark)}
.page-hero{padding:82px 0 65px;background:#121615}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:44px;text-align:center;justify-items:center}.page-hero-grid>div{max-width:900px}.page-hero h1{font-size:clamp(3rem,6.3vw,6rem);margin-bottom:26px}.page-hero p{max-width:720px;margin:0 auto 30px;font-size:1.2rem;color:var(--muted)}.page-hero img{width:100%;max-width:960px;height:410px;object-fit:contain;border-radius:var(--radius);background:#ececeb}.subnav{background:var(--soft);border-block:1px solid var(--line)}.subnav .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:15px 34px;padding:21px 0}.subnav a{text-decoration:none;font-size:.95rem;font-weight:600;color:#d5dcd7}.subnav a:hover{color:var(--green-dark)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.feature{padding:45px;background:var(--soft);border-radius:var(--radius);scroll-margin-top:100px}.tinted .feature{background:#121615}.feature h2{font-size:clamp(1.9rem,3vw,2.8rem)}.feature p,.feature li{color:var(--muted)}.feature ul{padding-left:20px;margin:25px 0 0}.feature li{margin-bottom:8px}.feature a{display:inline-block;margin-top:25px;color:var(--green-dark);font-weight:600;text-decoration:none}.feature a:hover{text-decoration:underline}.split{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.split img{width:100%;height:470px;object-fit:contain;background:#ececeb;border-radius:var(--radius)}.split.reverse img{order:2}.split p{font-size:1.1rem;color:var(--muted)}.detail-list{border-top:1px solid var(--line);margin-top:40px}.detail-list div{display:grid;grid-template-columns:190px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}.detail-list strong{font-size:1.1rem;font-weight:600}.detail-list p{margin:0;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.step{padding:30px 26px;border-radius:var(--radius);background:var(--soft)}.step b{font-size:.875rem;color:var(--green-dark);font-weight:600}.step h3{font-size:1.4rem;margin:30px 0 16px}.step p{margin:0;color:var(--muted)}.section-tight{padding:76px 0}.callout{background:#0d120f;color:white;border-radius:var(--radius);padding:60px;display:flex;align-items:center;justify-content:space-between;gap:45px}.callout .eyebrow{color:var(--green)}.callout h2{font-size:clamp(2rem,3.5vw,3.5rem);margin-bottom:16px}.callout p{max-width:640px;color:#b5bdb8;margin:0}.callout .button{flex-shrink:0}.contact-card{background:var(--soft);padding:45px;border-radius:var(--radius)}.contact-card h2{font-size:2.4rem}.contact-card p{color:var(--muted)}.contact-card a{color:var(--green-dark);font-weight:600;text-decoration:none;overflow-wrap:anywhere}.contact-card .button{color:#14220e}.smallnote{font-size:.9375rem}.faq h2{margin-bottom:35px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{font-weight:600;font-size:1.125rem;cursor:pointer;padding-right:25px;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;font-size:1.3rem;color:var(--green-dark)}.faq details[open] summary:after{content:'−'}.faq p{color:var(--muted);margin:18px 0 0;max-width:800px}
.reference-intro{text-align:center;padding:85px 0 45px}.reference-intro h1{font-size:clamp(3.2rem,6vw,6rem);margin-bottom:25px}.reference-intro p{color:var(--muted);font-size:1.2rem;max-width:670px;margin-inline:auto}.reference-section{padding:25px 0 90px}.reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.reference-logo{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:26px;padding:33px 22px 24px;min-height:235px;background:var(--soft);border-radius:4px;text-decoration:none}.reference-logo img{width:auto;height:115px;max-width:100%;object-fit:contain}.reference-logo span{color:var(--muted);font-size:.9rem;text-align:center;line-height:1.4}.reference-logo:is(a):hover{background:#e8ebe8}.reference-partners .reference-grid{grid-template-columns:1fr 1fr;max-width:880px;margin-inline:auto}.reference-partners .section-head{justify-content:center;text-align:center}.reference-partners .reference-logo{background:#121615;min-height:250px}.reference-partners .reference-logo img{height:135px}.legal{max-width:860px;margin-inline:auto;padding:90px 32px}.legal h1{font-size:clamp(3rem,6vw,5rem)}.legal h2{font-size:1.5rem;letter-spacing:-.02em;margin-top:45px}.legal a{color:var(--green-dark)}
@media(max-width:1250px){.header .wrap{min-height:72px}.menu-toggle{display:block;margin-left:auto;border:0;background:#222b25;color:var(--ink);padding:10px 16px;border-radius:4px;min-height:44px;cursor:pointer}.header-cta{display:none}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:rgba(16,21,18,.99);border-bottom:1px solid var(--line);padding:20px 32px;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100dvh - 72px);overflow-y:auto}.header nav.open{display:flex}.header nav a{font-size:1rem;min-height:44px;padding:10px 16px}.header nav a[aria-current=page]{background:#222b25}}
@media(max-width:950px){.hero{padding:62px 0 56px}.hero-grid{gap:35px}.services,.steps{grid-template-columns:1fr 1fr}.work-grid,.about-grid,.contact-grid,.split{grid-template-columns:1fr;gap:35px}.split.reverse img{order:0}.split img,.work-image img{height:auto;max-height:none}.about-points{margin-top:8px}.section-head{display:block}.section-head p{max-width:680px;margin-top:22px}.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.callout{display:block;padding:44px}.callout .button{margin-top:30px}.page-hero{padding:60px 0 45px}.page-hero img{height:auto;max-height:500px}.split{gap:35px}.hero-visual img{max-height:none}.strip .wrap{flex-wrap:wrap;gap:8px 25px}.strip strong{width:100%}}
@media(max-width:620px){.wrap{width:calc(100% - 36px)}.header .wrap{gap:14px;min-height:68px}.brand img{width:137px}.header nav{top:68px;max-height:calc(100dvh - 68px);padding:16px 18px}.hero{padding:42px 0 35px}.hero-grid{gap:30px}.hero h1{font-size:clamp(2.9rem,12vw,4.5rem);letter-spacing:-.055em;margin:17px 0 22px}.hero p,.page-hero p{font-size:1.0625rem;line-height:1.6}.hero .eyebrow{font-size:.8rem}.hero .actions{margin-top:25px;gap:10px}.hero .button{padding:12px 17px;font-size:.9375rem;flex:1 1 145px}.hero-visual{border-radius:4px}.visual-note{display:block;padding:18px;text-align:left}.visual-note span{display:block;margin-bottom:5px}.visual-note strong{font-size:.9375rem}.section{padding:65px 0}h2{font-size:clamp(2.1rem,9vw,2.9rem);line-height:1.12;letter-spacing:-.045em}.section-head{margin-bottom:28px}.section-head p{margin-top:18px}.services,.feature-grid,.photo-row,.steps{grid-template-columns:1fr;gap:16px}.service{padding:29px;min-height:0}.service h3{margin:22px 0 12px}.photo-card img{height:auto}.work-copy{padding:32px}.work-copy h3{font-size:2.25rem}.photo-card div{padding:24px}.about-grid p,.split p{font-size:1.0625rem}.contact{padding:65px 0}.contact-details a{font-size:1.1rem}.footer .wrap{display:block}.footer a{display:inline-block;margin:15px 19px 0 0}.page-hero{padding:42px 0 35px}.page-hero-grid{gap:32px}.page-hero h1{font-size:clamp(2.7rem,11vw,4rem);letter-spacing:-.05em}.page-hero img{height:auto;max-height:none;border-radius:4px}.subnav .wrap{gap:12px 22px;justify-content:flex-start;padding:18px 0}.feature,.contact-card{padding:30px}.feature h2{font-size:2.1rem}.detail-list{margin-top:28px}.detail-list div{grid-template-columns:1fr;gap:8px;padding:22px 0}.step{padding:30px}.step h3{margin-top:22px}.section-tight{padding:50px 0}.callout{padding:31px}.callout h2{font-size:2.25rem}.callout .button{margin-top:25px}.reference-intro{padding:48px 0 25px}.reference-intro h1{font-size:clamp(2.8rem,11.5vw,4rem)}.reference-intro p{font-size:1.0625rem}.reference-section{padding:12px 0 55px}.reference-grid{grid-template-columns:1fr 1fr;gap:12px}.reference-logo{min-height:190px;padding:25px 15px 20px;gap:20px;border-radius:4px}.reference-logo img{height:85px}.reference-logo span{font-size:.875rem}.reference-partners .reference-grid{grid-template-columns:1fr}.reference-partners .reference-logo img{height:120px}.legal{padding:55px 18px}.eyebrow{margin-bottom:14px}.button{max-width:100%}.strip .wrap{padding:23px 0}.strip p{margin-top:2px}.strip a{margin-top:8px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button,.header nav a{transition:none}.button:hover{transform:none}}

/* Dark Engineering: graphic hierarchy, angular surfaces, original photography */
.header .brand{background:transparent;padding:0}.header .brand img{width:145px}.header nav a[aria-current=page]{background:transparent;color:var(--green)}.header nav a:hover{background:#222b25;color:#fff}.header-cta,.button{color:#14220e}.button-secondary{background:transparent;color:#f4f5f4;border-color:#637268}.button-secondary:hover{background:#24312a}.hero{padding:0;background:#121615;border-bottom:1px solid var(--line);overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;min-height:610px;padding-top:70px;padding-bottom:70px;align-items:center;text-align:left}.hero-copy{margin:0;max-width:none}.hero h1{font-size:clamp(3.2rem,5.4vw,5.4rem);line-height:1.03;letter-spacing:-.05em;margin:25px 0 28px;font-weight:700}.hero h1 em{display:block;color:#fff}.hero-dot{color:var(--green)}.hero .eyebrow{position:relative;padding-top:22px;color:#c2cec5;font-size:.875rem;letter-spacing:.06em}.hero .eyebrow:before{content:"";display:block;position:absolute;top:0;left:0;width:48px;height:3px;background:var(--green)}.hero p{margin:0;font-size:1.15rem;max-width:540px;line-height:1.6}.hero .actions{justify-content:flex-start;margin-top:35px}.hero-visual{width:100%;margin:0;border-radius:0;position:relative;overflow:visible;background:#dfe2df}.hero-visual:before{content:"";position:absolute;left:-30px;top:0;width:2px;height:100%;background:var(--green);transform:skew(-8deg)}.hero-visual img{height:auto;max-height:none;object-fit:contain;width:100%}.visual-note{background:#1a201d;border-top:1px solid var(--line);padding:18px 20px;display:block}.visual-note span{display:block;margin-bottom:5px;color:#a9b8ad;font-size:.875rem}.visual-note strong{color:#e2e9e4;font-size:1rem;font-weight:550}.strip{background:#171e19;border-bottom:1px solid var(--line)}.services{gap:0;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{border-radius:0;background:transparent;border-right:1px solid var(--line);padding:36px 28px;min-height:275px}.service:last-child{border-right:0}.service .number{display:block;font-size:.875rem;font-weight:600}.service .number:before{content:"";display:block;width:34px;height:2px;background:var(--green);margin-bottom:20px}.service h3{font-weight:650}.work-copy,.feature,.step,.contact-card{border:1px solid var(--line)}.photo-card{border:1px solid var(--line)}.feature a{color:var(--green)}.callout{border:1px solid var(--line);border-left:3px solid var(--green)}.section h2{font-weight:650}.page-hero{border-bottom:1px solid var(--line)}.page-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);text-align:left;align-items:center;gap:65px}.page-hero-grid>div{max-width:none}.page-hero h1{font-size:clamp(3rem,5vw,5rem);line-height:1.06}.page-hero p{margin-left:0}.page-hero img{border-radius:0;height:420px}.subnav a{color:#d5dcd7}.contact-card .button{color:#14220e}.contact-card a:not(.button){color:var(--green)}.footer{border-top:1px solid var(--line);background:#0d120f}.reference-logo{background:#fff;border-radius:4px;border:1px solid #e1e5e1}.reference-logo span{color:#535e56}.reference-partners .reference-logo{background:#fff}.reference-intro{border-bottom:1px solid var(--line)}.reference-section{padding-top:50px}.legal{color:var(--ink)}.legal a{color:var(--green)}.tinted .feature{background:#121615}.button-secondary:focus-visible{outline-color:var(--green)}.menu-toggle{border:1px solid var(--line);color:#fff}.header nav.open{background:#151d17}.faq summary:after{color:var(--green)}@media(max-width:950px){.hero-grid,.page-hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}.hero-grid{min-height:0;padding-top:52px;padding-bottom:44px}.hero h1{font-size:clamp(3rem,7.8vw,4.8rem)}.hero-visual:before{display:none}.services{gap:0}.service{border-bottom:1px solid var(--line)}.service:nth-child(2){border-right:0}.service:nth-child(3),.service:nth-child(4){border-bottom:0}.page-hero img{height:auto;max-height:none}.page-hero-grid{text-align:left;justify-items:stretch}.page-hero p{max-width:720px}.page-hero h1{max-width:850px}}@media(max-width:620px){.hero-grid{padding-top:32px;padding-bottom:0;gap:30px}.hero h1{font-size:clamp(2.8rem,11.8vw,4rem);margin:19px 0 23px}.hero .eyebrow{font-size:.8rem;padding-top:20px}.hero p{font-size:1.0625rem}.hero .actions{margin-top:25px;display:grid;grid-template-columns:1fr}.hero .button{min-height:50px;width:100%;font-size:1rem}.hero-visual{width:calc(100% + 36px);max-width:none;margin-left:-18px}.visual-note{padding:18px}.services{grid-template-columns:1fr}.service{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:30px 10px}.service:last-child{border-bottom:0!important}.service h3{margin-top:22px}.page-hero h1{font-size:clamp(2.7rem,10.7vw,3.8rem)}.page-hero-grid{gap:32px}.page-hero .button{max-width:100%}.reference-grid{gap:12px}.feature,.step,.contact-card{padding:28px}.callout{padding:30px}.header .brand{padding:0}.header .brand img{width:135px}.work-copy{padding:30px}.section-head h2{max-width:100%}}

/* Original transparent white logo, without a surrounding panel. */
.header .brand{background:transparent;border:0;padding:0}.header .brand img{width:176px;height:auto}.header .wrap{min-height:96px}@media(max-width:1250px){.header nav{top:96px;max-height:calc(100dvh - 96px)}}@media(max-width:620px){.header .brand img{width:150px}.header .wrap{min-height:84px}.header nav{top:84px;max-height:calc(100dvh - 84px)}}

.privacy p{line-height:1.75;overflow-wrap:anywhere}.privacy h2{line-height:1.35}.privacy h3{font-size:1.15rem;margin-top:28px;line-height:1.5}

/* Photography follows its intrinsic proportions at every viewport width. */
.hero-visual,.work-image{background:transparent}
.work-image{display:block;align-self:start}
.hero-visual img,.work-image img,.photo-card img,.page-hero img,.split img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}
