/* Surgical shared refinements; original typography, spacing and tokens remain. */
html{scrollbar-width:thin;scrollbar-color:var(--fg) var(--bg)}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--fg);border:2px solid var(--bg);border-radius:8px}
.header{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom-color:transparent;transition:background-color 300ms ease,border-color 300ms ease,backdrop-filter 300ms ease;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}
.header.scrolled{background:color-mix(in srgb,var(--bg) 84%,transparent);border-bottom-color:color-mix(in srgb,var(--line) 65%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.header nav{gap:24px}.header nav a{position:relative;padding:10px 0;transition:opacity 200ms ease}
.header nav a[aria-current=page]:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;opacity:.65}
.mobile-menu{position:fixed;z-index:99;max-height:calc(100dvh - 90px);overflow:auto;background:color-mix(in srgb,var(--bg) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.mobile-menu:not([hidden]){animation:menu-appear 220ms var(--ease-out)}
.mobile-menu a[aria-current=page]{color:var(--muted)}
@keyframes menu-appear{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.art-card{padding:0;display:block;border-color:color-mix(in srgb,var(--fg) 15%,transparent);background:var(--panel)}
.art-card>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter 500ms var(--ease-out),transform 500ms var(--ease-out)}
.hero-art a:focus-visible{outline:2px solid var(--fg);outline-offset:6px}
.service{overflow:hidden}.service-arrow{transition:transform 360ms var(--ease-out)}
.service[data-expanded=false] .service-arrow{transform:rotate(90deg)}.service[data-expanded=true] .service-arrow{transform:rotate(0)}
.final-cta .final-arrow{pointer-events:none}.final-bottom{position:relative;z-index:2}.final-bottom .contact{pointer-events:auto;position:relative}
.footer-socials{display:flex;align-items:center;gap:22px}.footer-socials a{display:grid;place-items:center;min-width:32px;min-height:44px;transition:opacity 200ms ease,transform 160ms var(--ease-out)}
.footer-socials a:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){.art-card:hover>img,.art-card:focus-visible>img{filter:grayscale(0);transform:scale(1.015)}.footer-socials a:hover{opacity:.55}.header nav a:hover{opacity:.65}::-webkit-scrollbar-thumb:hover{background:var(--muted)}}
@media(pointer:coarse){.art-card>img{filter:grayscale(0)}}
@media(max-width:1100px){.header-caption{display:none}.header nav{margin-left:auto}.header{gap:24px}}
@media(max-width:950px){.header nav,.header-contact{display:none}.header-actions{margin-left:auto}.menu-toggle{display:flex;align-items:center;gap:12px;font-size:11px;padding:10px 0}.menu-toggle span{font-size:20px;transition:transform 200ms var(--ease-out)}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}}
@media(max-width:760px){html{scroll-padding-top:calc(91px + env(safe-area-inset-top,0px))}.header{height:calc(75px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.mobile-menu{top:calc(75px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 75px - env(safe-area-inset-top,0px))}.footer-socials{margin-left:auto}.footer-top>.text-link{flex-basis:auto}.hero-kicker>:last-child{position:relative;z-index:3}.hero-art{right:5%}}
@media(prefers-reduced-motion:reduce){.mobile-menu:not([hidden]){animation:none}.art-card>img{transition:filter 150ms ease;transform:none!important}.header{transition:background-color 150ms ease,border-color 150ms ease}}
/* Hero: 10% more presence. Separate scroll and hover layers avoid transform conflicts. */
.hero-art{width:297px;height:385px;top:-75px}.hero-art .art-slot{position:absolute;inset:0 auto auto 0;width:258px;height:330px;transform-origin:50% 85%}
.art-slot-back{transform:translate(34px,-30px) rotate(14deg)}.art-slot-middle{transform:translate(-10px,-15px) rotate(-10deg)}.art-slot-front{transform:translate(8px,20px) rotate(5deg)}
.hero-art .art-card{width:258px;height:330px;transform:translate(0,0) rotate(0);transition:transform 300ms var(--ease-out)}.hero-art .art-note{top:374px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero-art:hover .art-back{transform:translate(16px,-12px) rotate(4deg)}.hero-art:hover .art-middle{transform:translate(-24px,-8px) rotate(-5deg)}.hero-art:hover .art-front{transform:translate(8px,6px) rotate(3deg)}}
.hero-art:focus-within .art-card{transition:none}.hero-art:focus-within .art-back{transform:translate(16px,-12px) rotate(4deg)}.hero-art:focus-within .art-middle{transform:translate(-24px,-8px) rotate(-5deg)}.hero-art:focus-within .art-front{transform:translate(8px,6px) rotate(3deg)}
@media(max-width:1050px){.hero-art{width:242px;top:-55px}}
@media(max-width:760px){.hero-art{top:-195px}}
@media(prefers-reduced-motion:reduce){.hero-art .art-card{transition:none}}
