:root{color-scheme:dark;--bg: #050505;--surface: rgba(0, 0, 0, .62);--surface-strong: rgba(0, 0, 0, .82);--line: rgba(255, 255, 255, .18);--line-soft: rgba(255, 255, 255, .1);--text: #f4f0e8;--muted: #b9b5ad;--quiet: #77736c;--accent: #39d9ff;--accent-soft: rgba(57, 217, 255, .18);--accent-line: rgba(57, 217, 255, .48);--container: min(100% - clamp(1rem, 4vw, 4rem), 1440px);--gap: clamp(.75rem, 1.6vw, 1.25rem);--display: "Arial Narrow", "Roboto Condensed", Impact, system-ui, sans-serif;--sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--texture: url(/images/textures/scratched-metal-tile.webp);--texture-size: min(52vw, 620px) min(52vw, 620px)}:root[data-theme=light]{color-scheme:light;--bg: #ece8df;--surface: rgba(255, 255, 255, .66);--surface-strong: rgba(255, 255, 255, .9);--line: rgba(0, 0, 0, .18);--line-soft: rgba(0, 0, 0, .1);--text: #090909;--muted: #35322e;--quiet: #6c6760;--accent: #007fa3;--accent-soft: rgba(0, 127, 163, .18);--accent-line: rgba(0, 127, 163, .44)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-width:320px;background:radial-gradient(ellipse at 50% 18%,#0000000a,#0000005c 62%,#000000b8),linear-gradient(#00000038,#0000009e),var(--texture) left top / var(--texture-size) repeat fixed,var(--bg);color:var(--text);font-family:var(--sans);line-height:1.55;overflow-x:hidden}:root[data-theme=light] body{background:radial-gradient(ellipse at 50% 18%,#fff3,#ffffff85 58%,#ffffffc7),linear-gradient(#ffffffa3,#ffffffd6),var(--texture) left top / var(--texture-size) repeat fixed,var(--bg)}body:has(.nav-links.active){overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}h1,h2,h3,.logo,.btn,.kicker,.eyebrow,.back-link,.nav-links a,.nav-toggle{font-family:var(--display);letter-spacing:0;text-transform:uppercase}.container{width:min(100% - clamp(1rem,5vw,5rem),1240px);margin-inline:auto}.section{padding:clamp(2.6rem,5vw,5.2rem) 0}.kicker,.eyebrow,.card-info span,.project-meta dt,.meta-group h2{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.navbar{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid var(--line-soft);background:#000000a3;backdrop-filter:blur(18px)}:root[data-theme=light] .navbar{background:#ffffffb8}.nav-container{display:flex;align-items:center;justify-content:space-between;min-height:70px;width:var(--container);margin-inline:auto}.logo{color:var(--text);font-size:1.25rem;font-weight:900;line-height:1;text-decoration:none}.logo span{color:var(--accent)}.nav-links{display:flex;gap:clamp(1rem,3vw,2.5rem);list-style:none}.nav-links a,.back-link{color:var(--muted);font-size:.84rem;font-weight:900;text-decoration:none}.nav-links a:hover,.nav-links a:focus-visible,.back-link:hover,.back-link:focus-visible{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:.45rem}.nav-toggle{display:inline-grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--line-soft);border-radius:0;background:#00000057;color:var(--text);cursor:pointer;font-family:var(--display);font-size:.72rem;font-weight:900}:root[data-theme=light] .nav-toggle{background:#ffffff8f}.nav-toggle:hover,.nav-toggle:focus-visible{border-color:var(--accent-line);color:var(--accent)}.hamburger{display:none;width:42px;height:42px;place-items:center;gap:5px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.hamburger .bar{width:20px;height:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.hamburger.active .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.home-hero{min-height:clamp(240px,28svh,360px);display:grid;align-items:center;padding:calc(70px + clamp(.8rem,2.4vw,1.7rem)) 0 clamp(.55rem,1.5vw,1.15rem)}.hero-layout{display:block}.hero-panel{display:grid;gap:clamp(.65rem,1.2vw,.95rem);max-width:780px;border:1px solid var(--line);background:linear-gradient(90deg,#000000bd,#00000057),#00000075;box-shadow:0 18px 70px #0000005c;padding:clamp(.85rem,2.1vw,1.55rem)}:root[data-theme=light] .hero-panel,:root[data-theme=light] .client-card,:root[data-theme=light] .project-card,:root[data-theme=light] .project-meta,:root[data-theme=light] .gallery-item,:root[data-theme=light] .related-card,:root[data-theme=light] .contact-form,:root[data-theme=light] .legal-content{background:#ffffffa8}:root[data-theme=light] .client-logo-mark img,:root[data-theme=light] .client-hero-logo-bg{filter:grayscale(1) invert(1) contrast(1.18) brightness(.98)}:root[data-theme=light] .client-card:hover .client-logo-mark img,:root[data-theme=light] .client-card:focus-visible .client-logo-mark img{filter:grayscale(1) invert(1) contrast(1.25) brightness(1.05)}:root[data-theme=light] .client-card-label,:root[data-theme=light] .client-work-grid .card-info,:root[data-theme=light] .gallery-item figcaption,:root[data-theme=light] .related-card span{color:#f4f0e8}:root[data-theme=light] .client-work-grid .card-info h3{color:#f4f0e8}:root[data-theme=light] .btn{color:#f8fdff}:root[data-theme=light] .btn-secondary{background:#ffffff70;color:var(--accent)}:root[data-theme=light] .tag-list span{background:#ffffffa3;color:var(--accent)}.hero-copy{display:grid;gap:.75rem}.hero-copy h1{max-width:15ch;font-size:clamp(2.35rem,4.7vw,4.25rem);line-height:.88;text-shadow:0 2px 0 #000}.hero-copy p{max-width:680px;color:var(--muted);font-size:clamp(.95rem,1.4vw,1.08rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}.portfolio-section{border-bottom:1px solid var(--line-soft);background:#0003}.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1rem)}.client-card{position:relative;min-height:clamp(190px,24vw,300px);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:linear-gradient(90deg,#000000b8,#0000005c),#00000075;color:var(--text);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.client-card:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.08),transparent 58%),linear-gradient(180deg,rgba(255,255,255,.04),transparent 48%,rgba(0,0,0,.28));opacity:.75;pointer-events:none}.client-logo-mark{position:relative;z-index:1;display:grid;place-items:center;width:100%;min-height:100%;padding:clamp(1.35rem,4vw,3rem)}.client-logo-mark img{width:min(72%,310px);max-height:clamp(62px,10vw,122px);object-fit:contain;opacity:.88;filter:grayscale(1) contrast(1.12) brightness(1.08);transition:transform .26s ease,opacity .26s ease,filter .26s ease}.client-card-label{position:absolute;inset:auto 0 0;z-index:2;display:grid;place-items:center;min-height:52px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.9));color:var(--accent);font-family:var(--display);font-size:clamp(1rem,2vw,1.25rem);font-weight:900;letter-spacing:.04em;opacity:0;text-transform:uppercase;transform:translateY(14px);transition:opacity .18s ease,transform .18s ease}.client-card:hover,.client-card:focus-visible{border-color:var(--accent-line);background:linear-gradient(90deg,#000000b8,#0000006b),#0000008f;box-shadow:0 0 0 1px #39d9ff1a,0 18px 70px #39d9ff1a;transform:translateY(-3px)}.client-card:hover .client-logo-mark img,.client-card:focus-visible .client-logo-mark img{filter:grayscale(1) contrast(1.2) brightness(1.22);opacity:1;transform:scale(1.04)}.client-card:hover .client-card-label,.client-card:focus-visible .client-card-label{opacity:1;transform:translateY(0)}.project-card{display:grid;min-width:0;overflow:hidden;border:1px solid var(--line);background:#0000007a;color:var(--text);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.project-card:hover,.project-card:focus-visible{border-color:#ffffff6b;background:#000000c2;transform:translateY(-3px)}.card-image{aspect-ratio:4 / 4.6;overflow:hidden;background:#050505}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .32s ease,filter .32s ease}.project-card:hover img,.project-card:focus-visible img{filter:contrast(1.08) saturate(1.06);transform:scale(1.035)}.card-info{display:grid;gap:.35rem;min-height:126px;border-top:1px solid var(--line-soft);padding:.9rem}.card-info h3{font-size:clamp(1.05rem,2.2vw,1.55rem);line-height:.98}.card-info p{color:var(--muted);font-size:.9rem}.statement-section{border-bottom:1px solid var(--line-soft);background:#00000038;padding:clamp(1.35rem,2.4vw,2.55rem) 0}.statement-layout,.contact-layout,.detail-layout{display:grid;gap:clamp(.85rem,2.1vw,2.15rem)}.statement-content{display:grid;gap:.75rem}.statement-portrait{border:1px solid var(--line-soft);background:#0000007a;overflow:hidden}.statement-portrait img{width:100%;height:100%;min-height:220px;max-height:340px;object-fit:cover;object-position:58% 40%;opacity:.76;filter:contrast(1.1)}.statement-layout h2,.contact-layout h2{max-width:12ch;font-family:var(--display);font-size:clamp(1.7rem,3.4vw,3.35rem);line-height:.88;text-transform:uppercase}.contact-footer{border-top:1px solid var(--line-soft);background:linear-gradient(180deg,#00000024,#0000009e),#0000003d;padding:clamp(.85rem,2vw,1.55rem) 0 0}:root[data-theme=light] .contact-footer{background:linear-gradient(180deg,#ffffff29,#ffffffb8),#ffffff61}.contact-footer .contact-layout{align-items:start;padding-bottom:clamp(.85rem,2vw,1.45rem)}.contact-footer h2{max-width:14ch;font-size:clamp(1.2rem,2vw,1.85rem);line-height:.9}.contact-footer p:not(.kicker){max-width:360px;font-size:.82rem}.footer-contact-copy{display:grid;gap:.35rem}.statement-layout p:not(.kicker),.contact-layout p,.lead,.project-meta li{color:var(--muted)}.statement-layout p:not(.kicker),.contact-layout p{max-width:720px;font-size:clamp(.94rem,1.2vw,1rem)}.contact-form{display:grid;gap:.45rem;border:1px solid var(--line-soft);background:#00000047;padding:.65rem}.contact-form label{display:grid;gap:.25rem;color:var(--muted);font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line-soft);border-radius:0;background:#000000ad;color:var(--text);font-size:.85rem;padding:.48rem .6rem}:root[data-theme=light] .contact-form input,:root[data-theme=light] .contact-form textarea{background:#ffffffb8;color:var(--text)}.contact-form textarea{min-height:66px;resize:vertical}.contact-footer .btn{min-height:34px;font-size:.82rem;padding:.48rem .75rem}.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line-soft);color:var(--quiet);font-family:var(--display);font-size:.72rem;font-weight:900;padding:.65rem 0;text-transform:uppercase}.footer-meta span span{color:var(--accent)}.footer-meta nav{display:flex;gap:1rem}.footer-meta a{color:var(--muted);text-decoration:none}.footer-meta a:hover,.footer-meta a:focus-visible{color:var(--accent)}.contact-form input:focus,.contact-form textarea:focus{border-color:#ffffff6b;outline:2px solid rgba(255,255,255,.08)}.hidden-field{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--accent-line);border-radius:0;background:linear-gradient(180deg,#72e7ff,var(--accent));color:#031014;cursor:pointer;font-family:var(--display);font-weight:900;text-transform:uppercase;text-decoration:none;padding:.85rem 1.1rem}.btn:hover,.btn:focus-visible{background:#8beaff;box-shadow:0 0 34px #39d9ff33}.btn-secondary{background:#00000073;color:var(--accent)}.btn-secondary:hover,.btn-secondary:focus-visible{background:#ffffff1f}.detail-hero{position:relative;min-height:clamp(420px,58vh,680px);display:grid;align-items:end;overflow:hidden;padding:calc(70px + clamp(2rem,6vw,6rem)) 0 clamp(2rem,5vw,4rem)}.client-hero{position:relative;min-height:clamp(320px,46vh,540px);display:grid;align-items:center;overflow:hidden;padding:calc(70px + clamp(1.3rem,4vw,3.6rem)) 0 clamp(1.5rem,4vw,3rem)}.client-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 18%,var(--accent-soft),transparent 28rem),linear-gradient(90deg,#000000c7,#0000004d),#0000007a}.client-hero-logo-bg{position:absolute;top:50%;right:clamp(1rem,7vw,8rem);z-index:0;width:min(54vw,720px);max-height:72%;object-fit:contain;opacity:.26;filter:grayscale(1) contrast(1.25) drop-shadow(0 28px 54px rgba(0,0,0,.75));transform:translateY(-50%)}.client-hero-inner{position:relative;z-index:1;display:grid;justify-items:start;gap:.85rem}.client-hero-copy{display:grid;gap:.85rem}.client-hero h1{max-width:10ch;font-size:clamp(2.8rem,7vw,6.5rem);line-height:.82}.client-hero p:not(.eyebrow){max-width:760px;color:var(--muted);font-size:clamp(1rem,2vw,1.22rem)}.client-work-section{background:#0003;padding-top:clamp(1rem,3vw,2rem)}.client-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.45rem,1vw,.75rem)}.client-work-grid .project-card{position:relative;min-height:0;background:#00000047}.client-work-grid .card-image{aspect-ratio:4 / 5}.client-work-grid .card-info{position:absolute;inset:auto 0 0;min-height:0;gap:.18rem;border-top:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));padding:2.2rem .65rem .65rem}.client-work-grid .card-info span{font-size:.58rem}.client-work-grid .card-info h3{font-size:clamp(.9rem,1.6vw,1.2rem)}.client-work-grid .card-info p{display:none}.detail-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000001f,#000000e6),linear-gradient(90deg,rgba(0,0,0,.8),transparent 58%)}.detail-hero-inner{position:relative;z-index:1;display:grid;gap:.85rem}.detail-hero h1{max-width:920px;font-size:clamp(3rem,8vw,7.2rem);line-height:.84}.detail-hero p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:clamp(1rem,2vw,1.22rem)}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem}.tag-list span{border:1px solid var(--accent-line);background:#00000073;color:var(--accent);font-size:.75rem;font-weight:900;padding:.32rem .55rem;text-transform:uppercase}.lead p+p{margin-top:1rem}.project-meta,.gallery-item,.related-card{border:1px solid var(--line);background:#0000009e}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.55rem,1.2vw,.9rem);margin-top:clamp(1rem,2.5vw,1.6rem)}.gallery-item{position:relative;aspect-ratio:1 / 1;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));color:var(--muted);font-size:.76rem;padding:1.7rem .65rem .55rem}.project-meta{align-self:start;display:grid;gap:1.5rem;padding:1rem}.project-meta dl,.meta-group,.project-meta ul{display:grid;gap:.85rem}.project-meta dl div{border-bottom:1px solid var(--line-soft);padding-bottom:.85rem}.project-meta dd{font-weight:800}.project-meta ul{list-style:none}.project-meta li:before{content:"/";color:var(--text);margin-right:.45rem}.related-section{padding-top:0}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--gap);margin-top:1rem}.related-card{position:relative;aspect-ratio:1 / 1;overflow:hidden;text-decoration:none}.related-card img{width:100%;height:100%;object-fit:cover}.related-card span{position:absolute;inset:auto 0 0;display:block;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));color:#f4f0e8;padding:1.9rem .75rem .75rem;font-weight:900}.legal-page{min-height:100vh;padding-top:70px}.legal-layout{display:grid;gap:clamp(1rem,3vw,2rem)}.legal-content{max-width:760px;border:1px solid var(--line-soft);background:#0000006b;padding:clamp(1rem,3vw,1.6rem)}.legal-content h1{max-width:12ch;font-size:clamp(2rem,5vw,4rem);line-height:.86}.legal-content h2{margin-top:1.25rem;font-size:1rem}.legal-content p{margin-top:.45rem;color:var(--muted)}.legal-muted{color:var(--quiet);font-size:.9rem}@media(min-width:820px){.client-grid,.client-work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.statement-layout,.contact-layout{grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);align-items:start}.contact-footer .contact-layout{grid-template-columns:minmax(220px,.7fr) minmax(0,1fr)}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}.contact-message{grid-column:span 2}.detail-layout{grid-template-columns:minmax(0,1fr) 320px}}@supports (animation-timeline: scroll()){.detail-hero-media{animation:hero-drift linear both;animation-timeline:scroll();animation-range:0 720px}.client-hero-logo-bg{animation:logo-drift linear both;animation-timeline:scroll();animation-range:0 620px}.statement-portrait img{animation:portrait-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes hero-drift{0%{transform:scale(1.02) translateY(-1.2rem)}to{transform:scale(1.08) translateY(2.2rem)}}@keyframes logo-drift{0%{transform:translateY(-52%) scale(.98)}to{transform:translateY(-45%) scale(1.08)}}@keyframes portrait-drift{0%{object-position:58% 35%}to{object-position:58% 48%}}}@media(max-width:760px){.hamburger{display:grid}.nav-container{gap:.75rem}.nav-actions{margin-left:auto}.nav-links{position:fixed;inset:70px 0 auto;display:grid;min-height:calc(100vh - 70px);place-content:center;gap:1.8rem;background:linear-gradient(#000000db,#000000f0),var(--texture) left top / 420px 420px repeat;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.nav-links.active{opacity:1;pointer-events:auto;visibility:visible}.nav-links a{font-size:1.8rem}.home-hero{min-height:auto;padding-top:calc(70px + .85rem);padding-bottom:.8rem}.hero-panel{padding:.9rem}.hero-copy h1{font-size:clamp(2rem,9.6vw,3.5rem)}.hero-actions .btn{flex:1 1 180px}.client-card{min-height:160px}.client-logo-mark{padding:1rem}.client-logo-mark img{width:min(82%,260px);max-height:78px}.client-hero{min-height:auto;padding-top:calc(70px + 1.2rem)}.client-hero-logo-bg{top:46%;right:-10vw;width:min(92vw,520px);max-height:62%;opacity:.18}.statement-portrait img{min-height:180px;max-height:230px}.card-info{min-height:96px;padding:.7rem}.card-info p{display:none}}@media(max-width:560px){.section{padding:2.4rem 0}.project-gallery{gap:.65rem}.client-grid,.client-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.card-image{aspect-ratio:1 / 1.12}.card-info span{font-size:.6rem}.card-info h3{font-size:clamp(.92rem,5.4vw,1.18rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
