@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root { --paper:#f0eee8; --ink:#171918; --muted:#666a65; --line:#c8c9c0; --acid:#d8f563; --orange:#f26b3a; --dark:#1d2828; --max:1320px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Space Grotesk', sans-serif; line-height:1.5; }
a { color:inherit; }
.skip-link { position:absolute; left:16px; top:-100px; padding:10px 14px; background:var(--acid); z-index:20; }
.skip-link:focus { top:16px; }
.site-header { width:min(var(--max), calc(100% - 64px)); margin:0 auto; padding:25px 0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; gap:10px; align-items:center; text-decoration:none; text-transform:uppercase; font-size:11px; line-height:1.1; letter-spacing:.08em; }.brand-icon { display:inline-flex; width:34px; height:34px; }.brand-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--ink); border-radius:50%; font-size:20px; font-weight:600; letter-spacing:0; }
.site-header nav { display:flex; gap:28px; align-items:center; font-size:12px; }
.site-header nav a:not(.button) { text-decoration:none; }
.site-header nav a:not(.button):hover, .text-link:hover, .arrow-link:hover { text-decoration:underline; text-underline-offset:4px; }
.button { display:inline-flex; gap:18px; align-items:center; justify-content:center; border:1px solid var(--ink); padding:14px 18px; background:var(--acid); color:var(--ink); text-decoration:none; text-transform:uppercase; font-size:11px; font-weight:600; letter-spacing:.05em; transition:transform .2s, background .2s; }
.button:hover { transform:translate(-3px,-3px); box-shadow:4px 4px 0 var(--ink); }
.button-small { padding:10px 13px; }
.button-dark { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.button-dark:hover { background:var(--orange); color:var(--ink); }
.section-grid, .band, .band-dark { width:min(var(--max), calc(100% - 64px)); margin:0 auto; }
.section-grid { display:grid; grid-template-columns:repeat(12, 1fr); gap:24px; }
.hero { min-height:680px; padding:72px 0 90px; align-items:center; }
.hero-copy { grid-column:1 / span 7; }
.eyebrow, .section-label, .art-index, .art-caption, .art-coordinate, .gallery-heading span, .service-number, .method-steps span, .hero-facts dt, .network-tags, .client-list { font-family:'DM Mono', monospace; text-transform:uppercase; font-size:10px; letter-spacing:.08em; }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 26px; color:var(--muted); }
.signal-dot { display:inline-block; width:8px; height:8px; background:var(--orange); border-radius:50%; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { letter-spacing:-.04em; }
h1 { max-width:850px; margin-bottom:28px; font-size:clamp(46px, 6.2vw, 92px); line-height:.98; font-weight:500; }
.hero-lede { max-width:650px; margin-bottom:34px; font-size:18px; line-height:1.45; }
.hero-actions { display:flex; gap:25px; align-items:center; }
.text-link, .arrow-link { font-size:12px; text-underline-offset:4px; }
.hero-facts { display:flex; gap:30px; max-width:650px; margin:68px 0 0; padding-top:18px; border-top:1px solid var(--line); }
.hero-facts div { display:flex; gap:10px; }
.hero-facts dt { color:var(--orange); }
.hero-facts dd { margin:0; font-size:11px; line-height:1.25; max-width:130px; }
.hero-art { grid-column:9 / -1; position:relative; min-height:450px; background:var(--dark); overflow:hidden; }.hero-art > img { display:block; width:100%; height:100%; min-height:450px; object-fit:cover; filter:saturate(.75) contrast(1.08); }
.hero-art::before { content:''; position:absolute; inset:0; opacity:.25; background:linear-gradient(90deg, transparent 49.5%, var(--acid) 49.5%, var(--acid) 50.5%, transparent 50.5%), linear-gradient(0deg, transparent 49.5%, var(--acid) 49.5%, var(--acid) 50.5%, transparent 50.5%); background-size:42px 42px; }
.art-frame { position:absolute; inset:14% 12%; border:1px solid var(--acid); display:flex; align-items:flex-end; justify-content:space-between; padding:15px; color:var(--acid); }
.art-note { position:absolute; z-index:1; top:32px; left:28px; color:var(--acid); font:10px/1.4 'DM Mono',monospace; }
.art-note strong { display:block; margin-top:9px; font:500 20px/1.05 'Space Grotesk',sans-serif; letter-spacing:-.04em; }
.art-index, .art-caption { position:relative; z-index:1; }
.art-caption { text-align:right; }
.crosshair { position:absolute; width:12px; height:12px; border:1px solid var(--acid); }
.crosshair-top { top:-6px; left:-6px; }.crosshair-bottom { right:-6px; bottom:-6px; }
.art-coordinate { position:absolute; right:15px; top:15px; color:var(--acid); writing-mode:vertical-rl; }
.band { max-width:none; padding:100px max(32px, calc((100% - var(--max)) / 2)); background:#deded6; }
.section-label { color:var(--orange); padding-top:4px; }
.intro { display:grid; grid-template-columns:repeat(12,1fr); gap:24px; }
.intro .section-label { grid-column:1 / span 2; }.intro-content { grid-column:4 / span 8; display:grid; grid-template-columns:1fr 1fr; gap:60px; }.intro h2, .section-heading h2, .sectors h2, .network h2 { margin-bottom:0; font-size:clamp(34px,4vw,58px); line-height:1.02; font-weight:500; }.intro-content p { font-size:16px; }.intro-content p + p { margin-top:18px; }
.arrow-link { display:inline-flex; gap:16px; margin-top:14px; text-decoration:none; font-weight:600; }
.services { padding:120px 0; }.section-heading { grid-column:1 / span 4; }.section-heading h2 { margin:18px 0 22px; }.section-heading > p { max-width:340px; color:var(--muted); }.service-list { grid-column:6 / -1; border-top:1px solid var(--line); }.service-item { display:grid; grid-template-columns:40px 1fr 20px; gap:22px; padding:22px 0; border-bottom:1px solid var(--line); }.service-item h3 { margin:0 0 8px; font-size:21px; font-weight:500; }.service-item p { margin:0; max-width:600px; color:var(--muted); font-size:14px; }.service-number { color:var(--orange); }.service-arrow { font-size:20px; }.services-cta { grid-column:6 / span 3; margin-top:34px; }
.band-dark { max-width:none; padding:100px max(32px, calc((100% - var(--max)) / 2)); background:var(--dark); color:var(--paper); display:grid; grid-template-columns:2fr 10fr; gap:24px; }.band-dark .section-label { color:var(--acid); }.method-intro { display:flex; justify-content:space-between; gap:40px; align-items:end; }.method-intro h2 { max-width:650px; margin:0; font-size:clamp(34px,4vw,56px); line-height:1.02; font-weight:500; }.method-intro p { max-width:260px; margin:0; color:#aeb4ad; }.method-steps { grid-column:2; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:70px 0 0; padding:0; list-style:none; background:#48504c; border:1px solid #48504c; }.method-steps li { min-height:150px; padding:20px; background:var(--dark); }.method-steps span { color:var(--acid); }.method-steps h3 { margin:35px 0 5px; font-size:18px; font-weight:500; }.method-steps p { margin:0; color:#aeb4ad; font-size:13px; }
.projects { padding:120px 0; }.gallery-block { grid-column:6 / -1; }.gallery-block + .gallery-block { margin-top:45px; }.gallery-heading { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid var(--ink); padding-bottom:12px; }.gallery-heading h3 { margin:0; font-size:24px; font-weight:500; }.empty-state { min-height:170px; margin:0; padding:42px 30px; border:1px dashed #aaa; color:var(--muted); font-size:14px; }.gallery-block + .gallery-block .empty-state { min-height:130px; }.projects > .arrow-link { grid-column:6 / -1; margin-top:20px; }
.carousel { position:relative; display:grid; grid-template-columns:36px minmax(0, 1fr) 36px; align-items:center; gap:10px; margin-top:18px; }.carousel-arrow { width:36px; height:36px; border:1px solid var(--ink); background:transparent; cursor:pointer; font-size:20px; }.carousel-arrow:hover:not(:disabled), .carousel-arrow:focus-visible { background:var(--acid); }.carousel-arrow:disabled { opacity:.25; cursor:default; }.photo-gallery { display:flex; gap:18px; min-width:0; overflow:hidden; }.photo-card { flex:0 0 100%; min-width:0; margin:0; }.photo-card + .photo-card { flex-basis:30%; margin-left:-30%; opacity:.42; position:relative; z-index:1; -webkit-mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.75) 45%, transparent 100%); mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.75) 45%, transparent 100%); }.photo-trigger, .video-trigger { position:relative; display:block; width:100%; padding:0; overflow:hidden; border:0; background:var(--dark); cursor:pointer; }.photo-trigger img, .video-trigger img { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; transition:transform .35s; }.photo-trigger:hover img, .video-trigger:hover img { transform:scale(1.03); }.photo-trigger:focus-visible, .video-trigger:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }.video-gallery { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; min-width:0; }.video-card { min-width:0; margin:0; }.video-trigger img { aspect-ratio:16 / 9; }.video-trigger span { position:absolute; left:50%; top:50%; display:grid; place-items:center; width:48px; height:48px; transform:translate(-50%,-50%); border:1px solid var(--acid); border-radius:50%; background:rgba(23,25,24,.8); color:var(--acid); font-size:16px; }.video-card h4 { margin:12px 0 4px; font-size:16px; font-weight:500; }.video-card p { margin:0; color:var(--muted); font-size:12px; }
.sectors { display:grid; grid-template-columns:2fr 10fr; gap:24px; }.sectors-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; }.sector-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }.sector-grid span { padding:15px 0; border-bottom:1px solid var(--line); font-size:14px; }.sector-grid span:nth-child(odd) { margin-right:20px; }.sector-grid span:nth-child(even) { padding-left:20px; border-left:1px solid var(--line); }
.network { padding:120px 0; }.network-copy { grid-column:6 / -1; max-width:670px; }.network-copy p { font-size:19px; }.network-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }.network-tags span { padding:8px 10px; border:1px solid var(--line); }.portrait-list { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:34px; }.portrait-card { min-width:0; text-decoration:none; }.portrait-card img { display:block; width:160px; height:160px; max-width:100%; margin:auto; border-radius:50%; object-fit:cover; filter:grayscale(1); }.portrait-card strong { display:block; margin-top:9px; text-align:center; font-size:13px; }.trust { display:grid; grid-template-columns:2fr 10fr; gap:24px; background:var(--orange); }.trust .section-label { color:var(--ink); }.trust-content { display:grid; grid-template-columns:1fr; gap:30px; }.trust h2 { margin:0; font-size:clamp(34px,4vw,56px); line-height:1.02; font-weight:500; }.client-list { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ink); border-left:1px solid var(--ink); }.client-logo { display:grid; place-items:center; min-height:160px; padding:18px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); }.client-list img { display:block; width:145px; height:80px; max-width:100%; object-fit:contain; filter:grayscale(1) contrast(1.4); }
.contact { padding:120px 0; }.contact-intro { grid-column:1 / span 5; }.contact-intro h2 { margin:18px 0 22px; font-size:clamp(38px,4.3vw,61px); line-height:1.01; font-weight:500; }.contact-intro > p:not(.location-note) { color:var(--muted); max-width:410px; }.location-note { margin-top:55px; font-size:13px; }.location-note span { color:var(--orange); font-size:20px; margin-right:8px; }.quote-form { grid-column:7 / -1; align-self:start; border-top:1px solid var(--ink); }.form-row { display:grid; grid-template-columns:170px minmax(0, 1fr); align-items:center; min-height:60px; border-bottom:1px solid var(--line); }.form-row-message { align-items:start; padding-top:19px; }.form-row label { font-size:12px; font-weight:600; }.form-row label span { color:var(--orange); }.form-row input, .form-row textarea { width:100%; min-width:0; border:0; padding:10px 0; background:transparent; color:var(--ink); font:14px 'Space Grotesk',sans-serif; outline:none; }.form-row textarea { resize:vertical; min-height:180px; }.form-row input:focus, .form-row textarea:focus { box-shadow:0 1px 0 var(--ink); }.quote-form .button { margin-top:25px; }.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.site-footer { width:min(var(--max), calc(100% - 64px)); padding:25px 0 35px; margin:0 auto; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; font-size:11px; }.site-footer p { margin:0; color:var(--muted); }.social-links { display:flex; gap:18px; }.social-links a { font-size:16px; text-decoration:none; }.social-links a:hover { color:var(--orange); }.lightbox { width:min(90vw,1000px); padding:10px; border:0; background:var(--dark); }.lightbox::backdrop { background:rgba(0,0,0,.8); }.lightbox img { display:block; width:100%; height:auto; }.lightbox-close { position:absolute; top:-38px; right:0; border:0; background:transparent; color:white; font-size:30px; cursor:pointer; }
@media (max-width:900px) { .site-header nav a:not(:last-child) { display:none; }.hero-copy { grid-column:1 / span 8; }.hero-art { grid-column:9 / -1; }.intro-content { grid-column:3 / -1; }.section-heading { grid-column:1 / span 5; }.service-list,.gallery-block,.projects > .arrow-link,.network-copy,.quote-form { grid-column:6 / -1; }.sectors-layout { gap:30px; }.method-intro { display:block; }.method-intro p { margin-top:25px; }.band-dark,.sectors,.trust { grid-template-columns:1fr 5fr; } }
@media (max-width:650px) { .site-header,.section-grid,.site-footer { width:calc(100% - 36px); }.site-header { padding:18px 0; }.site-header nav .button { padding:9px; font-size:9px; }.hero { display:flex; flex-direction:column; align-items:stretch; padding:55px 0 70px; }.hero-copy,.hero-art,.intro-content,.section-heading,.service-list,.gallery-block,.projects > .arrow-link,.network-copy,.quote-form { grid-column:auto; }.hero-art { min-height:330px; order:2; }.hero-art > img { min-height:330px; }.hero-facts { gap:12px; margin-top:45px; }.hero-facts dd { font-size:10px; }.hero-actions { flex-wrap:wrap; }.intro,.services,.projects,.network,.contact { padding:75px 0; }.intro { display:block; }.intro-content { display:block; margin-top:35px; }.band,.band-dark { padding:75px 18px; width:100%; }.band-dark,.sectors,.trust { display:block; }.band-dark .section-label,.sectors .section-label,.trust .section-label { margin-bottom:32px; }.method-steps { grid-template-columns:1fr 1fr; margin-top:50px; }.sectors-layout { display:block; }.sector-grid { margin-top:35px; }.service-item { grid-template-columns:32px 1fr 15px; gap:10px; }.service-item h3 { font-size:18px; }.service-item p { font-size:13px; }.portrait-list { grid-template-columns:repeat(2, 1fr); }.client-list { grid-template-columns:repeat(2,1fr); }.form-row { grid-template-columns:1fr; padding:12px 0; }.form-row label { margin-bottom:4px; }.site-footer { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.social-links { grid-column:1 / -1; order:3; }.site-footer p:last-child { text-align:right; } }
@media (max-width:650px) { .photo-gallery, .video-gallery { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button { transition:none; }.button:hover { transform:none; box-shadow:none; } }
.projects > .section-heading { grid-column:1 / -1; display:grid; grid-template-columns:repeat(12, 1fr); gap:24px; }.projects > .section-heading .section-label { grid-column:1 / span 2; }.projects > .section-heading h2, .projects > .section-heading p { grid-column:4 / span 8; }.projects .gallery-block { grid-column:1 / -1; }.projects > .arrow-link { grid-column:1 / -1; }
.photo-gallery { display:flex; gap:18px; overflow:hidden; }.photo-card { flex:0 0 calc((100% - 18px) / 2); min-width:0; }.photo-card:nth-child(3) { flex-basis:30%; margin-left:-30%; opacity:.42; position:relative; z-index:1; -webkit-mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.75) 45%, transparent 100%); mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.75) 45%, transparent 100%); }.video-gallery { grid-template-columns:repeat(2, minmax(0, 1fr)); }.video-trigger img { aspect-ratio:16 / 9; height:auto; }.portrait-card small { display:block; margin-top:3px; color:var(--muted); font:10px 'DM Mono', monospace; text-align:center; text-transform:uppercase; }.lightbox { position:relative; width:min(94vw,1200px); min-height:80vh; padding:55px 70px; border:0; background:var(--dark); }.lightbox img { display:block; width:100%; height:min(75vh,800px); object-fit:contain; }.lightbox-close { position:absolute; top:12px; right:16px; z-index:2; border:0; background:transparent; color:white; font-size:30px; cursor:pointer; }.lightbox-arrow { position:absolute; top:50%; z-index:2; width:42px; height:42px; transform:translateY(-50%); border:1px solid var(--acid); background:rgba(29,40,40,.85); color:var(--acid); font-size:22px; cursor:pointer; }.lightbox-arrow:disabled { opacity:.25; cursor:default; }.lightbox-prev { left:16px; }.lightbox-next { right:16px; }
@media (max-width:650px) { .projects > .section-heading { display:block; }.projects > .section-heading h2, .projects > .section-heading p { margin-left:0; }.photo-card { flex-basis:100%; }.photo-card:nth-child(3) { flex-basis:30%; margin-left:-30%; }.lightbox { width:100vw; min-height:70vh; padding:50px 48px; }.lightbox-arrow { width:34px; height:34px; }.lightbox-prev { left:8px; }.lightbox-next { right:8px; } }
.carousel-viewport { min-width:0; overflow:hidden; }.carousel-track { display:flex; align-items:stretch; gap:18px; min-width:100%; transform:translateX(var(--carousel-translate, 0px)); transition:transform .45s cubic-bezier(.22,.61,.36,1); will-change:transform; }.carousel-track .photo-card, .carousel-track .video-card { flex:0 0 var(--carousel-card-width); min-width:0; margin:0; }.carousel-track-photos, .carousel-track-videos { --carousel-card-width:calc((100% - 18px) / 2.25); }.carousel-track-portraits { --carousel-card-width:calc((100% - 36px) / 3.25); }.carousel-track .photo-card:nth-child(3) { margin-left:0; opacity:.42; -webkit-mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.72) 42%, transparent 100%); mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.72) 42%, transparent 100%); }.carousel-track .photo-card:nth-child(n + 4) { opacity:1; mask-image:none; }.carousel-track .video-card { display:flex; flex-direction:column; }.carousel-track .video-trigger, .carousel-track .video-player { display:block; width:100%; aspect-ratio:16 / 9; height:auto; min-height:0; flex:0 0 auto; }.carousel-track .video-card h4 { min-height:24px; }.carousel-track .video-card p { min-height:36px; }.carousel-track-portraits .portrait-card { flex:0 0 var(--carousel-card-width); }.carousel-track-portraits .portrait-card img { width:160px; height:160px; max-width:100%; margin:auto; }
@media (max-width:650px) { .carousel-track-photos, .carousel-track-videos { --carousel-card-width:calc((100% - 0px) / 1.25); }.carousel-track-portraits { --carousel-card-width:calc((100% - 0px) / 1.25); }.carousel-track .photo-card:nth-child(3) { opacity:.42; } }
@media (prefers-reduced-motion:reduce) { .carousel-track { transition:none; } }
.portrait-list { display:grid !important; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:22px; overflow:visible; transform:none !important; }.portrait-card { display:block; min-width:0; }.portrait-card img { width:160px; height:160px; max-width:100%; margin:auto; }.carousel-viewport { min-width:0; overflow:hidden; }.carousel-track-photos, .carousel-track-videos { --carousel-card-width:calc((100% - 36px) / 2.35); }.carousel-track-photos .photo-card, .carousel-track-videos .video-card { flex:0 0 var(--carousel-card-width); }.carousel-track-photos .photo-card:nth-child(3) { opacity:.45; -webkit-mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.72) 45%, transparent 100%); mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.72) 45%, transparent 100%); }.carousel-track-videos .video-card { opacity:1; }.carousel-track-videos .video-trigger, .carousel-track-videos .video-player { width:100%; aspect-ratio:16 / 9; height:auto; }.lightbox[open] { position:fixed; inset:50% auto auto 50%; transform:translate(-50%, -50%); margin:0; max-height:90vh; overflow:auto; }
@media (max-width:650px) { .portrait-list { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; }.carousel-track-photos, .carousel-track-videos { --carousel-card-width:calc((100% - 18px) / 1.15); } }
.carousel { overflow:visible; }.photo-gallery, .video-gallery { display:flex; align-items:stretch; gap:18px; min-width:0; overflow:hidden; }.photo-card, .video-card { flex:0 0 calc((100% - 18px) / 2); min-width:0; }.photo-card:nth-child(3) { flex-basis:30%; margin-left:-30%; opacity:.42; position:relative; z-index:1; -webkit-mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.72) 42%, transparent 100%); mask-image:linear-gradient(90deg, #000 0%, rgba(0,0,0,.72) 42%, transparent 100%); }.video-card { display:flex; flex-direction:column; }.video-trigger, .video-player { display:block; width:100%; aspect-ratio:16 / 9; height:auto; min-height:0; border:0; }.video-player { background:var(--dark); }.video-card h4, .video-card p { flex:0 0 auto; }.video-card h4 { min-height:24px; }.video-card p { min-height:36px; }.carousel-arrow { position:relative; z-index:3; flex:0 0 36px; }
@media (max-width:650px) { .photo-card, .video-card { flex-basis:100%; }.photo-card:nth-child(3) { flex-basis:30%; margin-left:-30%; } }
.carousel-viewport { position:relative; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; scroll-behavior:smooth; }.carousel-viewport::-webkit-scrollbar { display:none; }.carousel-track { width:max-content; min-width:100%; transform:none !important; transition:none; }.carousel-track-photos, .carousel-track-videos { --carousel-card-width:calc((100% - 36px) / 2.35); }.carousel-track-photos .photo-card, .carousel-track-videos .video-card { flex:0 0 var(--carousel-card-width); }.carousel-track-photos .photo-card:nth-child(3) { opacity:1; mask-image:none; }.carousel-viewport::after { content:''; position:absolute; z-index:2; top:0; right:0; bottom:0; width:7%; pointer-events:none; background:linear-gradient(90deg, transparent, var(--paper)); opacity:.75; }.video-player { flex:0 0 auto; width:100%; aspect-ratio:16 / 9; }.portrait-list { transform:none !important; }
@media (max-width:650px) { .carousel-track-photos, .carousel-track-videos { --carousel-card-width:calc((100vw - 72px) / 1.15); }.carousel-viewport::after { width:12%; } }
.intro-content { grid-column:3 / -1; display:block; }.intro-content h2 { max-width:760px; margin:0 0 32px; }.intro-content > div { width:100%; padding:32px 36px; background:var(--paper); border:1px solid var(--line); }.intro-content > div p { max-width:900px; }.carousel-viewport { scroll-snap-type:x mandatory; }.carousel-track .photo-card, .carousel-track .video-card { flex:0 0 clamp(300px, 42vw, 640px); scroll-snap-align:center; }.carousel-track .photo-card { opacity:.52; transform:scale(.88); transition:opacity .35s, transform .35s; }.carousel-track .photo-card.is-active { opacity:1; transform:scale(1); }.carousel-track .video-card { flex:0 0 clamp(300px, 42vw, 640px); }.carousel-track .video-card.is-active { opacity:1; }
@media (max-width:650px) { .intro-content { grid-column:auto; }.intro-content > div { padding:24px; }.carousel-track .photo-card, .carousel-track .video-card { flex-basis:calc(100vw - 80px); } }
.hero-actions .button, .hero-actions .text-link { font-size:15px; }.hero-actions .button { padding:16px 22px; }.hero-actions .text-link { font-weight:600; }.carousel-viewport { position:relative; }.carousel-viewport::after { right:0; left:auto; width:10%; pointer-events:none; }.carousel-track-videos .video-card { flex-basis:100%; }.carousel-track-videos { width:100%; }.carousel-track-videos .video-trigger, .carousel-track-videos .video-player { width:100%; aspect-ratio:16 / 9; }.video-card h4, .video-card p { display:none; }.client-logo { padding:6px; min-height:160px; }.client-list img { width:100%; height:100%; max-width:100%; max-height:148px; object-fit:contain; }
.network { padding-bottom:80px; }.projects { margin-top:0; }.site-footer p { white-space:nowrap; }
.carousel-viewport::after { display:none !important; content:none !important; }.carousel-track-photos .photo-trigger img { aspect-ratio:1.111 / 1; height:auto; object-fit:cover; }.lightbox[open] { background:var(--acid); border:2px solid var(--ink); box-shadow:0 0 0 1px var(--ink), 0 18px 70px rgba(0,0,0,.45); }.lightbox-arrow { border-color:var(--ink); background:var(--acid); color:var(--ink); }.lightbox-close { color:var(--ink); }
.carousel-track-photos { width:max-content !important; }.carousel-track-videos { width:max-content !important; }.carousel-track-photos .photo-card, .carousel-track-photos .photo-card.is-active, .carousel-track-photos .photo-card:nth-child(3) { opacity:1 !important; transform:none !important; -webkit-mask-image:none !important; mask-image:none !important; }.carousel-track-videos .video-card { flex:0 0 clamp(300px, 42vw, 640px) !important; opacity:1 !important; }.carousel-track-videos .video-trigger, .carousel-track-videos .video-player { width:100%; aspect-ratio:16 / 9; object-fit:cover; }
@media (max-width:650px) { .carousel-track-videos .video-card { flex-basis:calc(100vw - 72px) !important; } }
