:root{--pad: clamp(16px, 3vw, 28px);--bg: #f7f3ed;--bg2: #efe8de;--surface: rgba(255, 255, 255, .92);--glass: rgba(255, 255, 255, .72);--dialog: rgba(255, 255, 255, .92);--menu: rgba(255, 255, 255, .88);--sectionAlt: rgba(20, 12, 6, .03);--text: rgba(20, 12, 6, .92);--muted: rgba(20, 12, 6, .72);--accent: #182618;--accent2: #182618;--heroArt: url(/work/hero-light.svg);--border: rgba(20, 12, 6, .14);--borderSoft: rgba(20, 12, 6, .1);--hairline: rgba(20, 12, 6, .08);--chip: rgba(20, 12, 6, .06);--chipHover: rgba(20, 12, 6, .09);--panel: rgba(255, 255, 255, .74);--panel2: rgba(255, 255, 255, .68);color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg: #0d0b08;--bg2: #060504;--surface: rgba(20, 16, 12, .92);--glass: rgba(10, 8, 6, .58);--dialog: rgba(10, 8, 6, .86);--menu: rgba(10, 8, 6, .92);--sectionAlt: rgba(255, 255, 255, .03);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .72);--accent: #e5dba2;--heroArt: url(/work/hero.svg);--border: rgba(255, 255, 255, .14);--borderSoft: rgba(255, 255, 255, .1);--hairline: rgba(255, 255, 255, .08);--chip: rgba(255, 255, 255, .06);--chipHover: rgba(255, 255, 255, .09);--panel: rgba(255, 255, 255, .04);--panel2: rgba(255, 255, 255, .035);color-scheme:dark}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--text);background:var(--bg)}*{box-sizing:border-box}img{max-width:100%;height:auto}a{color:inherit}button{font:inherit}.app{min-height:100vh;background:radial-gradient(1200px 600px at 20% 10%,color-mix(in oklab,var(--accent),transparent 86%),transparent 55%),radial-gradient(900px 500px at 85% 0%,color-mix(in oklab,var(--accent2),transparent 82%),transparent 50%),linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}.container{width:min(1120px,calc(100% - 2 * var(--pad)));margin:0 auto}.skipLink{position:absolute;left:12px;top:12px;padding:10px 12px;border-radius:10px;background:var(--surface);color:var(--text);transform:translateY(-200%);transition:transform .16s ease;z-index:50}.skipLink:focus{transform:translateY(0)}.header{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in oklab,var(--bg),transparent 35%);border-bottom:1px solid var(--hairline)}.headerInner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:12px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brandMark{width:72px;height:72px;display:grid;place-items:center;border-radius:12px;font-weight:800;letter-spacing:.02em}.brandText{font-weight:700;letter-spacing:.01em}.themeToggle{border:1px solid var(--border);background:var(--chip);color:var(--text);height:40px;padding:0 12px;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:800}.themeToggle:hover{background:var(--chipHover)}.themeToggleSvg{width:18px;height:18px;opacity:.9}.themeToggleText{font-size:.92rem}.navToggle{display:none;border:1px solid var(--border);background:var(--chip);width:44px;height:40px;border-radius:12px;color:var(--text)}.navToggleBars{display:block;width:18px;height:12px;margin:0 auto;position:relative}.navToggleBars:before,.navToggleBars:after,.navToggleBars{background:transparent}.navToggleBars:before,.navToggleBars:after{content:"";position:absolute;left:0;width:18px;height:2px;background:color-mix(in oklab,var(--text),transparent 10%);border-radius:2px}.navToggleBars:before{top:0}.navToggleBars:after{bottom:0}.nav{display:flex;align-items:center;gap:14px}.navLink{color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 10px;border-radius:12px}.navLink:hover{background:var(--chip);color:var(--text)}.navCta{text-decoration:none;padding:10px 14px;border-radius:14px;background:var(--accent);color:#fff;font-weight:800;letter-spacing:.01em}.navCta:hover{filter:brightness(1.03)}.hero{padding:clamp(28px,4.5vw,48px) 0 clamp(48px,8vw,88px);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:-20%;background:radial-gradient(600px 380px at var(--heroGlowX, 50%) var(--heroGlowY, 20%),color-mix(in oklab,var(--accent),transparent 74%),transparent 60%),radial-gradient(700px 420px at 20% 85%,color-mix(in oklab,var(--accent2),transparent 80%),transparent 55%),var(--heroArt);background-size:auto,auto,960px;background-repeat:no-repeat;background-position:center,center,65% 40%;opacity:.7;transform:translateY(-2%);pointer-events:none}.heroInner{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(18px,4vw,44px);align-items:center;position:relative}.heroCopy{padding:10px 0}.kicker{color:var(--muted);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.86rem;margin:0 0 10px}.heroTitle{margin:0;font-size:clamp(2.25rem,5vw,3.6rem);line-height:1.02;letter-spacing:-.02em}.heroLead{margin:14px 0 0;font-size:clamp(1.05rem,1.7vw,1.2rem);color:var(--muted);max-width:56ch}.heroActions{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}.buttonIcon{width:18px;height:18px;opacity:.92}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface);text-decoration:none;font-weight:700;color:var(--text);box-shadow:0 14px 34px #0000001f;transform:translateY(0);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.button:hover{transform:translateY(-1px);box-shadow:0 18px 44px #00000029}.button.primary{border:none;background:var(--accent);color:#fff}.button.primary:hover{filter:brightness(1.04)}:root[data-theme=dark] .button.primary,:root[data-theme=dark] .navCta,:root[data-theme=dark] .mobileBarButton.primary{color:#140c06f2}.heroHint{margin-top:16px;color:color-mix(in oklab,var(--muted),white 10%);font-size:.98rem}.heroPitch{margin:10px 0 0;color:color-mix(in oklab,var(--text),transparent 18%);font-weight:650}.heroPitch a{color:color-mix(in oklab,var(--accent),white 12%);text-decoration:none;font-weight:900}.heroPitch a:hover{text-decoration:underline}.heroVisual{display:grid;gap:16px}.heroCard{border-radius:18px;padding:18px 18px 16px;background:var(--glass);border:1px solid var(--borderSoft);box-shadow:0 20px 50px #00000059}.heroCardTitle{margin:0;font-weight:800}.heroCardText{margin:10px 0;color:var(--muted)}.heroCardLink{text-decoration:none;font-weight:800;color:color-mix(in oklab,var(--accent),white 12%)}.heroTileGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.heroTile{appearance:none;-webkit-appearance:none;padding:0;cursor:pointer;border-radius:18px;aspect-ratio:16 / 11;border:1px solid var(--borderSoft);background-color:var(--panel2);box-shadow:none;overflow:hidden;position:relative}.heroTile:focus-visible{outline:3px solid color-mix(in oklab,var(--accent),transparent 35%);outline-offset:3px}.heroTileImg{width:100%;height:100%;object-fit:cover;display:block}.section{padding:clamp(56px,8vw,96px) 0}.section.alt{background:var(--sectionAlt);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.sectionHeader{max-width:72ch}.sectionHeader h2{margin:0;font-size:clamp(1.7rem,3.5vw,2.25rem);letter-spacing:-.02em}.sectionHeader p{margin:12px 0 0;color:var(--muted);font-size:1.05rem}.featureGrid{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature{border:1px solid var(--borderSoft);background:var(--panel);border-radius:18px;padding:18px}.feature h3{margin:0;font-size:1.05rem}.feature p{margin:10px 0 0;color:var(--muted)}.cardGrid{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid var(--borderSoft);background:var(--panel2);border-radius:18px;padding:18px}.card h3{margin:0;font-size:1.08rem}.card p{margin:10px 0 0;color:var(--muted)}.gallery{margin-top:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.galleryItem{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--borderSoft);background:var(--panel2);box-shadow:none;appearance:none;-webkit-appearance:none;padding:0;cursor:pointer;text-align:left}.galleryItem:focus-visible{outline:3px solid color-mix(in oklab,var(--accent2),transparent 35%);outline-offset:3px}.galleryImg{width:100%;height:100%;object-fit:cover;aspect-ratio:1 / 1;display:block;background:var(--panel2);transform:scale(1.02);transition:transform .26s ease,filter .26s ease;filter:saturate(1.05)}.galleryImg.is-swapping{animation:galleryImageSwapIn .25s ease both}.galleryItem:hover .galleryImg{transform:scale(1.06);filter:saturate(1.12)}.galleryMeta{position:absolute;inset:auto 10px 10px;padding:10px 12px;display:grid;gap:2px;color:var(--text);border-radius:16px;border:1px solid var(--border);background:color-mix(in oklab,var(--menu),transparent 12%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.galleryTitle{font-weight:800}.galleryCountMobile{display:none}.galleryHint{color:var(--muted);font-size:.86rem}@keyframes galleryImageSwapIn{0%{opacity:0;transform:scale(1.08);filter:saturate(.9)}to{opacity:1;transform:scale(1.02);filter:saturate(1.05)}}.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}.lightboxBackdrop{position:absolute;inset:0;background:#000000b8;border:none}.lightboxInner{position:relative;width:min(980px,100%);border-radius:22px;border:1px solid var(--border);background:var(--dialog);box-shadow:0 30px 90px #0009;overflow:hidden}.lightboxTop{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 0 18px;gap:10px}.lightboxKicker{margin:0;color:var(--muted);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.lightboxHeading{margin:4px 0 0;font-weight:900}.iconButton{border:1px solid var(--border);background:var(--chipHover);color:var(--text);border-radius:14px;width:42px;height:42px;cursor:pointer}.iconButton:hover{background:color-mix(in oklab,var(--chipHover),var(--text) 6%)}.lightboxStage{position:relative;padding:14px 14px 16px}.navArrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:color-mix(in oklab,var(--menu),transparent 25%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.navArrow:first-of-type{left:14px}.navArrow:last-of-type{right:14px}.lightboxFigure{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--borderSoft);background:var(--panel);display:grid}.lightboxImage{width:100%;height:min(70vh,560px);object-fit:contain;display:block;background:color-mix(in oklab,var(--bg2),var(--text) 3%)}.lightboxCaption{padding:10px 12px;color:color-mix(in oklab,var(--text),transparent 18%);font-size:.95rem}.lightboxPreviewViewport{--previewFadeWidth: 18px;--previewEdgeSpace: 18px;position:relative;height:116px;padding:0 0 14px;overflow:hidden}.lightboxPreviewViewport:before,.lightboxPreviewViewport:after{content:"";position:absolute;top:0;bottom:14px;width:var(--previewFadeWidth);pointer-events:none;z-index:1}.lightboxPreviewViewport:before{left:0;background:linear-gradient(to right,var(--dialog),transparent)}.lightboxPreviewViewport:after{right:0;background:linear-gradient(to left,var(--dialog),transparent)}.lightboxPreviewRail{min-height:fit-content;width:100%;overflow-x:auto}.lightboxPreviewTrack{display:flex;align-items:stretch;justify-content:center;gap:10px;width:max-content;min-width:100%;padding-inline:var(--previewEdgeSpace)}.lightboxPreviewGroup{display:grid;gap:5px;width:max-content;flex:0 0 auto;justify-items:center;border:1px solid var(--borderSoft);background:var(--panel);border-radius:12px;padding:6px}.lightboxPreviewGroup.is-active{box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--accent),transparent 16%)}.lightboxPreviewGroupTitle{display:block;width:max-content;max-width:100%;font-size:.7rem;font-weight:800;color:var(--muted);text-align:center;white-space:nowrap}.lightboxPreviewThumbs{display:flex;gap:6px;align-items:center;justify-content:center;width:max-content;flex-wrap:nowrap}.lightboxPreviewThumb{width:62px;border:1px solid var(--borderSoft);border-radius:8px;padding:0;overflow:hidden;cursor:pointer;background:var(--panel2)}.lightboxPreviewThumb:hover{border-color:color-mix(in oklab,var(--accent),transparent 42%);border-width:3px}.lightboxPreviewThumb.is-active{width:80px}.lightboxPreviewImage{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.popup{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:16px}.popupBackdrop{position:absolute;inset:0;background:#0000009e;border:none}.popupInner{position:relative;width:min(620px,100%);border-radius:22px;border:1px solid var(--border);background:var(--dialog);box-shadow:0 30px 90px #0000008c;overflow:hidden}.popupTop{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 0 18px;gap:10px}.popupKicker{margin:0;color:var(--muted);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.popupHeading{margin:4px 0 0;font-weight:900}.popupText{margin:12px 18px 0;color:color-mix(in oklab,var(--text),transparent 12%)}.popupActions{display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px 18px}@media(max-width:960px){.navArrow:first-of-type{left:10px}.navArrow:last-of-type{right:10px}.lightboxImage{height:min(66vh,520px)}.lightboxPreviewViewport{--previewFadeWidth: 14px;--previewEdgeSpace: 14px;height:102px;padding:0 0 10px}.lightboxPreviewViewport:before,.lightboxPreviewViewport:after{bottom:10px}.lightboxPreviewTrack{gap:8px}.lightboxPreviewGroup{width:max-content;padding:5px}.lightboxPreviewThumb{width:54px}}.contactGrid{margin-top:28px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.contactTop{display:inline-flex;align-items:center;gap:10px}.contactIcon{width:20px;height:20px;opacity:.9;color:color-mix(in oklab,var(--accent2),var(--text) 25%)}.contactCard{border-radius:18px;border:1px solid var(--borderSoft);background:var(--panel);padding:18px;text-decoration:none;color:var(--text);min-height:128px;display:grid;align-content:start;gap:8px;box-shadow:0 16px 40px #0000000f;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.contactCard:hover{background:color-mix(in oklab,var(--panel),var(--text) 3%);transform:translateY(-1px);box-shadow:0 20px 56px #00000014}.contactCard.subtle{background:var(--panel2);box-shadow:none}.contactLabel{margin:0;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.contactValue{margin:0;font-weight:900;font-size:1.08rem}.contactHint{margin:0;color:var(--muted);font-size:.95rem}.legalGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.legalCard{border-radius:18px;border:1px solid var(--borderSoft);background:var(--panel2);padding:18px}.legalCard h2{margin:0;font-size:1.5rem}.legalCard h3{margin:18px 0 8px;font-size:1.05rem}.legalCard p{margin:0;color:var(--muted)}.legalCard a{color:color-mix(in oklab,var(--accent),white 10%)}.legalNote{margin-top:12px!important;color:var(--muted)!important}.legalNote code{color:var(--text)}.footer{padding:28px 0;border-top:1px solid var(--hairline);background:color-mix(in oklab,var(--bg2),transparent 55%)}.footerInner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.footerBrand{margin:0;font-weight:900}.footerMeta{margin:6px 0 0;color:var(--muted)}.footerRight{display:inline-flex;gap:14px}.footerRight a{color:var(--muted);text-decoration:none;font-weight:700}.footerRight a:hover{color:var(--text)}[data-reveal]{opacity:0;transform:var(--revealTransform, translateY(18px));transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none;transition:none}.galleryImg,.galleryItem:hover .galleryImg{transform:none;transition:none}.galleryImg.is-swapping{animation:none}.button,.contactCard{transform:none;transition:none}}@media(max-width:960px){.app{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.heroInner{grid-template-columns:1fr}.heroVisual{order:-1}.featureGrid,.cardGrid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.galleryTitle{display:inline-flex;align-items:baseline;gap:6px}.galleryCountMobile{display:inline;font-size:.86rem;color:var(--muted);font-weight:700}.galleryHint{display:none}.contactGrid,.legalGrid{grid-template-columns:1fr}.navToggle{display:inline-flex;align-items:center;justify-content:center}.nav{position:absolute;left:0;right:0;top:100%;padding:14px;background:var(--menu);border-bottom:1px solid var(--hairline);display:none;flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.navLink{padding:12px}.navCta{text-align:center}.nav .themeToggle{width:100%;justify-content:center}}.mobileBar{display:none}@media(max-width:960px){.mobileBar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:clamp(6px,2.2vw,10px);padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));background:var(--menu);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--hairline)}.mobileBarButton{flex:1 1 0%;min-width:0;text-align:center;text-decoration:none;padding:11px 10px;border-radius:16px;border:1px solid var(--border);background:var(--chip);color:var(--text);font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:clamp(.82rem,2.9vw,.98rem);line-height:1.1;white-space:nowrap}.mobileBarButton.primary{border:none;background:var(--accent);color:#fff}.mobileBarIcon{width:18px;height:18px;opacity:.95}}@media(max-width:360px){.mobileBarButton{padding:10px 8px;flex-direction:column;gap:6px}.mobileBarIcon{width:20px;height:20px}}
