
:root { --ink:#0a0a0a; --paper:#f1eee7; --light:#faf9f5; --acid:#d9ff43; --gray:#92908a; --line:#d2cfc7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
main { display:flex; flex-direction:column; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
img { display:block; width:100%; }
p { font-weight:600; letter-spacing:.012em; }
span { font-weight:700; }
.topbar { height:38px; padding:0 3vw; display:flex; justify-content:space-between; align-items:center; background:var(--ink); color:#fff; font-size:11.25px; letter-spacing:.16em; text-transform:uppercase; }
.topbar-actions { display:flex; align-items:center; gap:28px; }
.topbar-phone { white-space:nowrap; }
.topbar-social { display:flex; align-items:center; gap:13px; }
.topbar-social a { width:23px; height:23px; display:grid; place-items:center; opacity:.78; transition:opacity .2s,transform .2s; }
.topbar-social a:hover { opacity:1; transform:translateY(-1px); }
.topbar-social img { width:16.25px; height:16.25px; object-fit:contain; }
.site-header { height:82px; padding:0 3vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; background:#f7f5ef; border-bottom:1px solid #d8d4cb; position:relative; z-index:20; }
.logo { width:190px; height:68px; display:flex; align-items:center; overflow:hidden; }
.logo img,.footer-logo img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.nav { display:flex; align-items:center; gap:30px; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.nav>a,.nav summary { cursor:pointer; padding:31px 0; list-style:none; white-space:nowrap; }
.nav summary::-webkit-details-marker { display:none; }
.nav summary i { font-style:normal; margin-left:4px; }
.nav-services,.nav-gallery { position:relative; }
.nav-dropdown { position:absolute; top:73px; left:50%; transform:translateX(-50%); width:310px; display:grid; grid-template-columns:1fr 1fr; background:var(--ink); color:#fff; padding:22px; gap:0; box-shadow:0 16px 50px rgba(0,0,0,.24); }
.nav-dropdown a { padding:12px 10px; border-bottom:1px solid #272727; font-size:9px; }
.nav-dropdown a:hover { color:var(--acid); }
.gallery-dropdown { width:620px; max-height:440px; overflow:auto; grid-template-columns:repeat(3,1fr); }
.header-cta { justify-self:end; padding:14px 18px; background:var(--ink); color:#fff; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; transition:.2s; }
.header-cta:hover { background:var(--acid); color:var(--ink); }
.menu-toggle { display:none; }
.hero { min-height:calc(100vh - 120px); position:relative; display:flex; align-items:flex-end; overflow:hidden; color:#fff; background:#1b1b1b url("images/hero.jpg") center 58% / cover no-repeat; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.91) 0%,rgba(0,0,0,.55) 42%,rgba(0,0,0,.08) 78%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%); }
.hero-content { position:relative; z-index:1; padding:7vw 5vw 6vw; width:min(900px,76%); }
.eyebrow,.kicker { margin:0 0 24px; color:var(--acid); font-size:10px; font-weight:900; letter-spacing:.24em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(64px,9.2vw,148px); line-height:.79; letter-spacing:-.075em; font-weight:950; text-transform:uppercase; }
h1 em { color:transparent; -webkit-text-stroke:1.5px #fff; font-style:normal; }
.hero-copy { max-width:560px; margin:34px 0 0; font-size:clamp(16px,1.4vw,21px); line-height:1.5; color:rgba(255,255,255,.78); }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:38px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:28px; padding:17px 20px; border:0; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:transform .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--acid); color:var(--ink); }
.button-primary span { font-size:18px; }
.text-link { display:inline-block; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; padding-bottom:7px; border-bottom:1px solid rgba(255,255,255,.5); }
.text-link span { margin-left:10px; }
.text-link.dark { color:var(--ink); border-color:var(--ink); }
.hero-index { position:absolute; z-index:1; top:28px; right:3vw; font:10px monospace; letter-spacing:.13em; }
.hero-note { position:absolute; z-index:1; right:3vw; bottom:44px; display:flex; flex-direction:column; gap:8px; border-left:2px solid var(--acid); padding-left:15px; text-transform:uppercase; }
.hero-note strong { font-size:11px; letter-spacing:.13em; }
.hero-note span { font-size:9px; letter-spacing:.12em; color:rgba(255,255,255,.65); }
.proof-strip { display:grid; grid-template-columns:1.4fr repeat(4,1fr); align-items:center; min-height:86px; padding:0 4vw; background:var(--acid); border-bottom:1px solid var(--ink); text-transform:uppercase; }
.proof-strip p { font-size:10px; font-weight:900; letter-spacing:.16em; }
.proof-strip span { padding:10px 2vw; border-left:1px solid rgba(0,0,0,.25); font-size:11px; font-weight:900; letter-spacing:.08em; text-align:center; }
.section { padding:120px 5vw; }
.services .kicker { color:#506600; }
.section-heading { display:grid; grid-template-columns:1.4fr .6fr; align-items:end; gap:10vw; margin-bottom:75px; }
.section-heading h2,.brands h2,.gallery-head h2,.about h2,.quote-intro h2,.split-card h2 { margin:0; font-size:clamp(48px,6.3vw,98px); line-height:.9; letter-spacing:-.065em; text-transform:uppercase; }
.section-heading>p,.brands-heading>p { font-size:16px; line-height:1.65; color:#575550; }
.service-row { display:grid; grid-template-columns:8% 32% 1fr; gap:3vw; padding:42px 0; border-top:1px solid var(--ink); scroll-margin-top:90px; }
.service-row:last-child { border-bottom:1px solid var(--ink); }
.service-number { font:12px monospace; color:#77746e; }
.service-title h3 { margin:0 0 14px; font-size:clamp(38px,4.5vw,72px); line-height:.9; letter-spacing:-.05em; text-transform:uppercase; }
.service-title p { max-width:340px; margin:0; color:#66635d; font-size:14px; line-height:1.55; }
.service-row ul,.split-card ul { columns:2; margin:0; padding:0; list-style:none; }
.service-row li,.split-card li { break-inside:avoid; padding:8px 0; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.service-row li::before,.split-card li::before { content:"+"; display:inline-block; width:18px; color:#6b6862; }
.split-services { display:grid; grid-template-columns:1fr 1fr; }
.split-card { padding:8vw 5vw; min-height:780px; display:flex; flex-direction:column; align-items:flex-start; }
.split-card h2 { max-width:720px; font-size:clamp(46px,5.5vw,82px); }
.split-card>p:not(.kicker):not(.small-copy) { max-width:640px; margin:30px 0; font-size:17px; line-height:1.65; }
.split-card ul { width:100%; margin:20px 0 40px; }
.split-card .small-copy { margin:auto 0 30px; max-width:580px; font-size:13px; line-height:1.65; color:#56544e; }
.installation { background:var(--acid); color:var(--ink); }
.installation .kicker { color:var(--ink); }
.removal { background:var(--ink); color:#fff; }
.removal>p:not(.kicker) { color:#aaa; }
.removal ul { border-top:1px solid #333; padding-top:20px; }
.removal li::before { color:var(--acid); }
.brands { background:#101010; color:#fff; }
.brands-heading { display:grid; grid-template-columns:1.4fr .6fr; align-items:end; gap:10vw; }
.brands h2 { font-size:clamp(44px,5.5vw,82px); }
.brands-heading>p { color:#aaa; }
.brand-showcase { position:relative; margin:65px 0 0; min-height:520px; padding:60px; display:grid; place-items:center; overflow:hidden; border:1px solid #383838; background:#151515 url("images/porsche-gt3-rs-wrap.jpg") center / cover no-repeat; }
.brand-showcase::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.62)),linear-gradient(0deg,rgba(0,0,0,.64),transparent); }
.brand-logos { position:relative; z-index:1; width:100%; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.brand-logo { min-height:145px; padding:24px; display:grid; place-items:center; }
.brand-logo img { width:100%; height:80px; object-fit:contain; filter:drop-shadow(0 4px 10px rgba(0,0,0,.72)); }
.brand-logo img[alt="Avery Dennison"],.brand-logo img[alt="TeckWrap"],.brand-logo img[alt="Arlon"],.brand-logo img[alt="KPMF"],.brand-logo img[alt="Inozetek"] { filter:brightness(0) invert(1) drop-shadow(0 4px 10px rgba(0,0,0,.72)); }
.brand-note { margin:20px 0 0; color:#777; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.project-spotlight { padding:120px 5vw; background:#dedbd2; color:var(--ink); }
.project-spotlight-head { display:grid; grid-template-columns:.45fr 1fr .65fr; align-items:end; gap:5vw; margin-bottom:65px; }
.project-spotlight-head .kicker { color:#4c6200; }
.project-spotlight h2 { margin:0; font-size:clamp(48px,6.3vw,98px); line-height:.9; letter-spacing:-.065em; text-transform:uppercase; }
.project-spotlight h2 em { color:transparent; font-style:normal; -webkit-text-stroke:1.2px currentColor; }
.project-spotlight-head>p:last-child { margin:0; color:#4f4d48; font-size:16px; line-height:1.7; }
.project-spotlight-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.spotlight-card { position:relative; min-height:620px; overflow:hidden; background:#222; color:#fff; }
.spotlight-card img { position:absolute; inset:0; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.04); transition:transform .55s,filter .55s; }
.spotlight-card:hover img { transform:scale(1.035); filter:saturate(1); }
.spotlight-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.08) 64%); }
.spotlight-card>div { position:absolute; z-index:1; inset:auto 0 0; padding:38px; }
.spotlight-card span { color:var(--acid); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.spotlight-card h3 { margin:10px 0 12px; font-size:clamp(30px,3.5vw,58px); line-height:.92; letter-spacing:-.045em; text-transform:uppercase; }
.spotlight-card p { max-width:500px; margin:0 0 25px; color:#d3d3d3; font-size:14px; line-height:1.65; }
.spotlight-card b { display:inline-block; padding-bottom:7px; border-bottom:1px solid var(--acid); color:var(--acid); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.gallery-section { padding:120px 3vw; background:#121212; color:#fff; }
.gallery-head { display:grid; grid-template-columns:.5fr 1.2fr .7fr; gap:5vw; align-items:end; margin:0 2vw 70px; }
.gallery-head h2 em,.about h2 em { color:transparent; font-style:normal; -webkit-text-stroke:1.2px currentColor; }
.gallery-head>p:last-child { color:#b2b2b2; line-height:1.65; font-size:15px; }
.gallery-grid { display:grid; grid-template-columns:1fr 1fr 1fr; grid-auto-rows:310px; gap:12px; }
.gallery-item { position:relative; overflow:hidden; background:#222; }
.gallery-item img { height:100%; object-fit:cover; filter:saturate(.72) contrast(1.05); transition:transform .5s, filter .5s; }
.gallery-item:hover img { transform:scale(1.035); filter:saturate(1); }
.gallery-item>div { position:absolute; inset:auto 0 0; padding:26px; background:linear-gradient(transparent,rgba(0,0,0,.85)); display:grid; grid-template-columns:1fr auto; align-items:end; }
.gallery-item span { grid-column:1; font-size:10px; color:var(--acid); letter-spacing:.14em; text-transform:uppercase; }
.gallery-item h3 { grid-column:1; margin:7px 0 0; font-size:22px; text-transform:uppercase; }
.gallery-item b { grid-column:2; grid-row:1/3; font-size:24px; }
.gallery-1 { grid-row:span 2; }.gallery-2 { grid-column:span 2; }.gallery-5 { grid-column:span 2; }
.gallery-all-link { width:fit-content; margin:38px 2vw 0 auto; display:flex; gap:18px; align-items:center; color:var(--acid); border-bottom:1px solid currentColor; padding-bottom:8px; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.gallery-all-link span { font-size:18px; }

.client-partnerships { background:radial-gradient(circle at 12% 15%,#2c382c 0,#1a211a 38%,#111611 100%); color:#fff; }
.client-partnerships .kicker { color:var(--acid); }
.client-partnerships-head { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:10vw; margin-bottom:65px; }
.client-partnerships h2 { margin:0; font-size:clamp(48px,6.3vw,98px); line-height:.9; letter-spacing:-.065em; text-transform:uppercase; }
.client-partnerships h2 em { color:transparent; font-style:normal; -webkit-text-stroke:1.2px currentColor; }
.client-partnerships-head>div:last-child>p { margin:0 0 30px; color:#cbd2ca; font-size:16px; line-height:1.7; }
.client-partnerships-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; grid-template-rows:300px 300px; gap:12px; }
.client-partnership { position:relative; overflow:hidden; background:#d8d4cb; }
.client-partnership-featured { grid-row:1/3; }
.client-partnership img { height:100%; object-fit:cover; filter:saturate(.82) contrast(1.03); transition:transform .5s,filter .5s; }
.client-partnership:hover img { transform:scale(1.035); filter:saturate(1); }
.client-partnership span { position:absolute; inset:auto 0 0; padding:50px 22px 20px; background:linear-gradient(transparent,rgba(0,0,0,.82)); color:#fff; font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }

.gallery-page { background:#101010; color:#fff; }
.gallery-page .site-header { position:sticky; top:0; color:var(--ink); }
.gallery-page .site-header .nav-dropdown { color:#fff; }
.gallery-hero { min-height:570px; padding:100px 5vw 75px; display:grid; grid-template-columns:1.35fr .65fr; gap:8vw; align-items:end; background:#101010 url("images/porsche-gt3-rs-wrap.jpg") center 42% / cover no-repeat; position:relative; }
.gallery-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.52) 58%,rgba(0,0,0,.18)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 65%); }
.gallery-hero>div { position:relative; z-index:1; }
.gallery-hero h1 { font-size:clamp(70px,9vw,142px); }
.gallery-hero-copy { max-width:430px; justify-self:end; }
.gallery-hero-copy p { margin:0 0 30px; color:#d8d8d8; font-size:17px; line-height:1.7; }
.gallery-hero-copy strong { color:var(--acid); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.category-rail { position:sticky; top:82px; z-index:10; display:flex; gap:1px; padding:0 3vw; overflow-x:auto; background:#181818; border-top:1px solid #333; border-bottom:1px solid #333; scrollbar-width:thin; }
.category-rail a { min-width:175px; padding:18px 16px; display:flex; justify-content:space-between; gap:15px; border-right:1px solid #333; font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.category-rail a:hover { background:var(--acid); color:var(--ink); }
.category-rail b { color:#777; font-family:monospace; }
.portfolio { padding:0 3vw 100px; }
.portfolio-section { padding:95px 0 20px; scroll-margin-top:135px; }
.portfolio-section>header { margin:0 2vw 42px; display:grid; grid-template-columns:.4fr 1fr auto; gap:4vw; align-items:end; border-bottom:1px solid #383838; padding-bottom:28px; }
.portfolio-section>header .kicker { margin:0; }
.portfolio-section h2,.gallery-cta h2 { margin:0; font-size:clamp(44px,6vw,88px); line-height:.88; letter-spacing:-.06em; text-transform:uppercase; }
.portfolio-section>header>span { color:#aaa; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.portfolio-grid { columns:4 260px; column-gap:12px; }
.portfolio-image { width:100%; margin:0 0 12px; padding:0; display:block; break-inside:avoid; border:0; background:#222; cursor:zoom-in; overflow:hidden; }
.portfolio-image img { width:100%; height:auto; transition:transform .35s,filter .35s; }
.portfolio-image:hover img { transform:scale(1.025); filter:brightness(1.08); }
.gallery-cta { min-height:540px; padding:90px 5vw; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; background:#242424; }
.gallery-cta .button { margin-top:40px; }
.lightbox { width:min(94vw,1400px); max-height:94vh; padding:0; border:0; background:#0b0b0b; color:#fff; overflow:visible; }
.lightbox::backdrop { background:rgba(0,0,0,.88); backdrop-filter:blur(6px); }
.lightbox img { max-height:86vh; object-fit:contain; }
.lightbox p { position:absolute; left:18px; bottom:12px; margin:0; padding:8px 10px; background:rgba(0,0,0,.72); color:var(--acid); font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.lightbox-close { position:absolute; z-index:2; top:-18px; right:-18px; width:44px; height:44px; border:1px solid #555; border-radius:50%; background:var(--acid); color:#000; font-size:28px; line-height:1; cursor:pointer; }
.react-lightbox { position:fixed; z-index:100; inset:0; padding:4vh 4vw; display:grid; place-items:center; background:rgba(0,0,0,.9); backdrop-filter:blur(6px); }
.react-lightbox img { width:auto; max-width:92vw; max-height:88vh; object-fit:contain; }
.react-lightbox p { position:absolute; left:5vw; bottom:4vh; margin:0; padding:8px 10px; background:rgba(0,0,0,.72); color:var(--acid); font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.react-lightbox .lightbox-close { top:24px; right:24px; }
.about { display:grid; grid-template-columns:1.25fr .75fr; gap:10vw; background:radial-gradient(circle at 12% 15%,#2c382c 0,#1a211a 38%,#111611 100%); color:#fff; }
.about .kicker { color:var(--acid); }
.about h2 { font-size:clamp(54px,7vw,106px); }
.about-copy { padding-top:70px; }
.about-copy>p { margin:0 0 25px; font-size:17px; line-height:1.78; color:#cbd2ca; }
.values { margin-top:60px; border-top:1px solid #3c473c; }
.values span { display:flex; gap:25px; padding:17px 0; border-bottom:1px solid #3c473c; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.values b { font-family:monospace; color:var(--acid); }
.quote-section,.employment-section { display:grid; grid-template-columns:.65fr 1.35fr; background:#1a1a1a; color:#fff; }
.employment-section { order:98; scroll-margin-top:82px; }
body:not(.employment-page) .employment-section { display:none; }
footer { order:99; }
.quote-intro { padding:110px 5vw; border-right:1px solid #343434; }
.quote-intro h2 { font-size:clamp(52px,6vw,90px); }
.quote-intro>p:not(.kicker) { margin:28px 0; color:#aaa; line-height:1.6; }
.quote-contact { margin-top:70px; display:flex; flex-direction:column; gap:12px; }
.quote-contact span { margin-bottom:8px; color:var(--acid); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.quote-contact a { font-weight:800; }
.quote-form { padding:100px 5vw; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.quote-form label,.quote-form legend { font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.quote-form input:not([type="checkbox"]):not([type="radio"]),.quote-form select,.quote-form textarea { width:100%; margin-top:10px; padding:13px 0; border:0; border-bottom:1px solid #555; border-radius:0; outline:0; background:transparent; color:#fff; font-size:14px; text-transform:none; }
.quote-form input::placeholder,.quote-form textarea::placeholder { color:#fff; opacity:.88; }
.quote-form select option { background:#1a1a1a; color:#fff; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { border-color:var(--acid); }
.quote-form fieldset { margin:55px 0; padding:0; border:0; }
.quote-form legend { margin-bottom:22px; color:var(--acid); }
.check-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#3c3c3c; border:1px solid #3c3c3c; }
.check-grid.two-column { grid-template-columns:repeat(2,1fr); }
.check-grid label { position:relative; min-height:48px; padding:14px 12px 12px 40px; background:#222; cursor:pointer; display:flex; align-items:center; line-height:1.25; }
.check-grid input { position:absolute; left:13px; width:14px; height:14px; accent-color:var(--acid); }
.check-grid label:has(input:checked) { background:#303328; color:var(--acid); }
.message-field { display:block; }
.application-questions { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.application-questions fieldset,.employment-form fieldset fieldset { margin:34px 0 0; }
.section-note { margin:0 0 18px; color:#aaa; font-size:12px; line-height:1.55; text-transform:none; }
.after-checks { margin-top:28px; }
.certification-copy { margin:0 0 26px; color:#c9c9c9; font-size:13px; line-height:1.7; text-transform:none; }
.single-check { min-height:52px; margin:0 0 24px; padding:16px 18px 16px 46px; position:relative; display:flex; align-items:center; background:#222; border:1px solid #3c3c3c; cursor:pointer; }
.single-check input { position:absolute; left:17px; width:15px; height:15px; accent-color:var(--acid); }
.single-check:has(input:checked) { background:#303328; color:var(--acid); }
.form-footer { margin-top:30px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.form-footer p { max-width:360px; margin:0; color:#777; font-size:9px; line-height:1.5; text-transform:uppercase; letter-spacing:.08em; }
.form-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.button-secondary { border:1px solid var(--acid); background:transparent; color:var(--acid); }
.button-secondary span { font-size:18px; }
.success { margin-top:25px; padding:18px; border-left:3px solid var(--acid); background:#25271f; color:#ddd; font-size:13px; line-height:1.5; }
.success b { color:var(--acid); }
.website-service { scroll-margin-top:82px; display:grid; grid-template-columns:1.08fr .92fr; background:#dedbd2; color:var(--ink); overflow:hidden; }
.website-service-intro { padding:115px 5vw; background:#dedbd2; }
.website-service .kicker { color:#4c6200; }
.website-service h2 { margin:0; font-size:clamp(54px,7vw,108px); line-height:.85; letter-spacing:-.07em; text-transform:uppercase; }
.website-service h2 em { color:transparent; -webkit-text-stroke:1.2px currentColor; font-style:normal; }
.website-service-lead { max-width:690px; margin:38px 0 0; color:#4f4d48; font-size:18px; line-height:1.75; }
.website-promises { margin-top:70px; border-top:1px solid #aaa79f; }
.website-promises span { display:flex; align-items:center; min-height:58px; border-bottom:1px solid #aaa79f; color:var(--ink); font-size:13px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.website-promises span::before { content:"+"; width:34px; color:#4c6200; font-size:20px; }
.website-service-panel { padding:110px 5vw; border-left:1px solid #aaa79f; background:#dedbd2; color:var(--ink); }
.website-service-panel .kicker { color:#4c6200; }
.website-service-panel h3 { margin:0 0 34px; max-width:620px; font-size:clamp(42px,5vw,74px); line-height:.9; letter-spacing:-.055em; text-transform:uppercase; }
.website-service-options { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-bottom:44px; border:1px solid rgba(10,10,10,.32); background:rgba(10,10,10,.32); }
.website-service-options span { min-height:58px; padding:18px; display:flex; align-items:center; background:#dedbd2; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.website-form { display:grid; gap:28px; }
.website-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.website-form label { display:block; font-size:14px; font-weight:800; line-height:1.35; }
.website-form input,.website-form select,.website-form textarea { width:100%; margin-top:9px; padding:14px; border:1px solid #313831; border-radius:0; outline:0; background:#111611; color:#fff; font:inherit; font-size:16px; font-weight:600; }
.website-form input::placeholder,.website-form textarea::placeholder { color:#fff; opacity:.88; }
.website-form select option { background:#111611; color:#fff; }
.website-form select { cursor:pointer; }
.website-form textarea { resize:vertical; }
.website-form input:focus,.website-form select:focus,.website-form textarea:focus { border-color:#fff; }
.website-form .button { width:100%; min-height:58px; background:var(--ink); color:#fff; }
.website-form .button span { font-size:18px; }
.website-form .success { margin-top:0; background:#111; color:#fff; }
.website-form .success b { color:#fff; }
footer { background:var(--acid); color:var(--ink); }
.footer-main { padding:80px 5vw; display:grid; grid-template-columns:1.4fr .8fr .6fr 1.2fr; gap:6vw; }
.footer-logo { width:260px; height:125px; display:block; overflow:hidden; }
.footer-main>div:first-child p { font-size:11px; line-height:1.75; text-transform:uppercase; letter-spacing:.1em; }
.footer-main>div { display:flex; flex-direction:column; align-items:flex-start; gap:11px; font-size:12px; }
.footer-main>div:first-child { align-items:center; text-align:center; }
.footer-main>div:first-child .footer-logo { margin-inline:auto; }
.footer-main h3 { margin:4px 0 15px; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.footer-main p { margin:0 0 8px; line-height:1.5; }
.footer-quote { border-bottom:1px solid; font-weight:900; }
.mega-cta { min-height:190px; padding:30px 5vw; display:grid; grid-template-columns:1fr auto; align-items:center; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); font-size:clamp(42px,7vw,110px); line-height:.8; font-weight:950; letter-spacing:-.065em; text-transform:uppercase; }
.mega-cta span { grid-column:1/3; font-size:9px; line-height:1; letter-spacing:.16em; }
.mega-cta b { font-size:.6em; }
.footer-bottom { min-height:55px; padding:0 5vw; display:flex; justify-content:space-between; align-items:center; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

@media (max-width:980px) {
  .nav { gap:16px; }.nav-services summary { max-width:140px; white-space:normal; line-height:1.2; }.header-cta { padding:12px; }.gallery-dropdown { width:500px; grid-template-columns:1fr 1fr; }
  .section-heading,.brands-heading,.gallery-head,.client-partnerships-head,.project-spotlight-head { grid-template-columns:1fr; gap:25px; }
  .service-row { grid-template-columns:7% 36% 1fr; }.split-card { min-height:850px; }.gallery-head .kicker { margin:0; }
  .about { gap:5vw; }.quote-section,.employment-section { grid-template-columns:1fr; }.quote-intro { border-right:0; border-bottom:1px solid #343434; }.quote-contact { margin-top:35px; }
  .footer-main { grid-template-columns:1fr 1fr; }
}

@media (max-width:700px) {
  .topbar { padding:0 4vw; font-size:10px; letter-spacing:.09em; }.topbar-phone,.header-cta { display:none; }.topbar-actions { gap:0; }.topbar-social { gap:10px; }.site-header { height:70px; display:flex; justify-content:space-between; }.logo { width:150px; height:58px; }
  .menu-toggle { display:grid; gap:6px; width:42px; height:42px; place-content:center; border:0; background:transparent; }.menu-toggle span { display:block; width:24px; height:2px; background:#111; }
  .nav { display:none; position:absolute; top:70px; left:0; right:0; padding:22px 6vw; flex-direction:column; align-items:flex-start; background:#f7f5ef; border-top:1px solid #ddd; max-height:calc(100vh - 100px); overflow:auto; }.nav.open { display:flex; }.nav>a,.nav summary { padding:7px 0; }.nav-services,.nav-gallery { width:100%; }.nav-services summary { max-width:none; }.nav-dropdown,.gallery-dropdown { position:static; transform:none; width:100%; max-height:none; margin:10px 0; grid-template-columns:1fr; box-shadow:none; }
  .hero { min-height:calc(100svh - 108px); background-position:62% center; }.hero-overlay { background:linear-gradient(90deg,rgba(0,0,0,.89),rgba(0,0,0,.22)),linear-gradient(0deg,rgba(0,0,0,.8),transparent 60%); }.hero-content { width:100%; padding:80px 6vw 52px; } h1 { font-size:clamp(56px,18vw,90px); }.hero-copy { font-size:15px; max-width:90%; }.hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }.hero-note { display:none; }
  .proof-strip { padding:18px 6vw; grid-template-columns:1fr 1fr; gap:8px; }.proof-strip p { grid-column:1/3; }.proof-strip span { padding:10px 0; border-left:0; text-align:left; }
  .section { padding:80px 6vw; }.section-heading { margin-bottom:45px; }.section-heading h2,.brands h2,.gallery-head h2,.about h2,.quote-intro h2,.split-card h2 { font-size:clamp(44px,14vw,70px); }
  .service-row { grid-template-columns:1fr; gap:20px; padding:35px 0; }.service-title h3 { font-size:44px; }.service-row ul { columns:1; }.split-services { grid-template-columns:1fr; }.split-card { min-height:0; padding:80px 6vw; }.split-card ul { columns:1; }.split-card .small-copy { margin:30px 0; }
  .brand-showcase { margin-top:45px; min-height:600px; padding:24px; }.brand-logos { grid-template-columns:1fr 1fr; gap:8px; }.brand-logo { min-height:120px; padding:18px; }.brand-logo img { height:64px; }.project-spotlight { padding:80px 4vw; }.project-spotlight-grid { grid-template-columns:1fr; gap:8px; }.spotlight-card { min-height:500px; }.spotlight-card>div { padding:28px; }.gallery-section { padding:80px 4vw; }.gallery-head { margin:0 2vw 45px; }.gallery-grid { grid-template-columns:1fr; grid-auto-rows:330px; }.gallery-1,.gallery-2,.gallery-5 { grid-row:auto; grid-column:auto; }.client-partnerships-grid { grid-template-columns:1fr 1fr; grid-template-rows:410px repeat(2,220px); gap:8px; }.client-partnership-featured { grid-column:1/3; grid-row:auto; }.client-partnerships-head { margin-bottom:40px; }
  .about { grid-template-columns:1fr; }.about-copy { padding-top:0; }.employment-section { scroll-margin-top:70px; }.quote-intro,.quote-form { padding:80px 6vw; }.field-grid,.application-questions { grid-template-columns:1fr; }.check-grid { grid-template-columns:1fr 1fr; }.form-footer { align-items:flex-start; flex-direction:column; }.form-actions,.form-footer .button { width:100%; }.form-actions { flex-direction:column; }
  .footer-main { padding:65px 6vw; grid-template-columns:1fr; text-align:center; }
  .footer-main>div { align-items:center; }
  .footer-main p { max-width:320px; }
  .mega-cta { min-height:170px; padding:25px 6vw; font-size:13vw; text-align:center; }
  .footer-bottom { padding:0 6vw; justify-content:center; text-align:center; }.footer-bottom span:last-child { display:none; }
  .gallery-hero { min-height:620px; padding:90px 6vw 60px; grid-template-columns:1fr; gap:40px; background-position:58% center; }.gallery-hero h1 { font-size:clamp(58px,18vw,90px); }.gallery-hero-copy { justify-self:start; }.category-rail { top:70px; padding:0; }.category-rail a { min-width:155px; }.portfolio { padding:0 4vw 70px; }.portfolio-section { padding-top:75px; scroll-margin-top:120px; }.portfolio-section>header { margin:0 2vw 30px; grid-template-columns:1fr; gap:12px; }.portfolio-grid { columns:2 145px; column-gap:8px; }.portfolio-image { margin-bottom:8px; }.gallery-cta { min-height:440px; padding:70px 6vw; }.lightbox-close { top:8px; right:8px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

@media (max-width:980px) {
  .website-service { grid-template-columns:1fr; }
  .website-service-panel { border-top:1px solid #aaa79f; border-left:0; }
}

@media (max-width:700px) {
  .website-service { scroll-margin-top:70px; }
  .website-service-intro,.website-service-panel { padding:80px 6vw; }
  .website-service h2 { font-size:clamp(48px,15vw,76px); }
  .website-service-lead { font-size:16px; }
  .website-promises { margin-top:45px; }
  .website-service-options,.website-fields { grid-template-columns:1fr; }
}
