:root{--bg:#faf9f6;--fg:#171717;--muted:#65655f;--line:#d5d5cf;--accent:#282828;--panel:#eeede7;--panel-alt:#e8e7e1;--glass:rgba(250,249,246,.76);--hero-wash:rgba(250,249,246,.32);--header-height:100px;color-scheme:light}
:root[data-theme=dark]{--bg:#151515;--fg:#f3f1eb;--muted:#b0afa9;--line:#41413c;--accent:#f3f1eb;--panel:#242422;--panel-alt:#2d2d29;--glass:rgba(21,21,21,.76);--hero-wash:rgba(21,21,21,.40);color-scheme:dark}
:root body,:root body.about-page{background:var(--bg);color:var(--fg);max-width:none}
:root ::selection{background:var(--fg);color:var(--bg)}
:root header,:root body.about-page header{position:fixed;inset:0 0 auto;height:var(--header-height);z-index:100;background:transparent;color:var(--fg);border-bottom:1px solid transparent;transition:background .3s,border-color .3s;gap:20px}
:root.is-scrolled header,:root.is-scrolled body.about-page header{background:var(--glass);border-color:var(--line);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}
:root body:not(.home-page) main{padding-top:var(--header-height)}
:root .hero{height:100svh;min-height:680px;padding-top:calc(var(--header-height) + 35px);background:var(--bg)}
:root .hero-type{margin-top:0}
:root .services-page .intro-bottom{border-bottom:0}
:root .services-page main>.section>.chapter-seam{display:none}
:root .services-page #service-0{border-top:0}
:root .hero .sculpture{z-index:0;contain:strict}
:root .hero::after{z-index:1}
:root .hero-type,:root .hero-bottom{z-index:2}
@media(max-width:900px),(pointer:coarse){:root .hero{height:var(--stable-hero-height,100svh)}.hero canvas{transform:translateZ(0);backface-visibility:hidden}.hero .sculpture{transform:translateZ(0)!important}}
:root .hero .sculpture{inset:0;width:100%;height:100%;background:var(--panel)}
:root .hero::after{background:linear-gradient(180deg,var(--hero-wash),var(--hero-wash) 55%,var(--bg))}
:root .hero,:root .hero h1,:root .hero h1 em,:root .hero-bottom,:root .hero-bottom p,:root .hero-bottom>span{color:var(--fg)}
:root .hero .circle-link{color:var(--fg);border-color:var(--muted)}
:root .hero .circle-link:hover{color:var(--bg);background:var(--fg)}
:root .language-picker{color:var(--fg);border-color:var(--line);margin-left:0}
.theme-toggle{width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);border-radius:50%}
.theme-toggle:hover{background:var(--panel)}
:root .transition{background:var(--bg)!important;color:var(--fg)!important}
html.page-loading{background:var(--bg)}
:root .about-waves{filter:invert(1);background:var(--bg)}
:root[data-theme=dark] .about-waves{filter:none}
:root .about-page:before{background:var(--glass)}
:root .about-page h1,:root .about-page h1 em,:root .about-page h2,:root .about-page h2 em,:root .about-page p,:root .about-page .eyebrow,:root .about-page .portrait-letters,:root .about-page .footer-word span,:root .about-page .footer-bottom .logo,:root .about-page nav a,:root .about-page nav a.current,:root .about-page .page-intro>span{color:var(--fg);text-shadow:none}
:root .about-page .muted,:root .about-page .footer-bottom,:root .about-page .info-row>span{color:var(--muted)}
:root .portrait,:root .about-page .portrait{background:var(--panel);border-color:var(--line)}
:root .about-page .skill-tags span,:root .about-page .info-row,:root .about-page footer,:root .about-page .footer-bottom{border-color:var(--line)}
:root .about-page .text-link:hover,:root .about-page .footer-contacts a:hover{color:var(--fg)}
:root .portrait-letters,:root .asterisk,:root .hello-star,:root .service-detail .service-symbol,:root .footer-word span{color:var(--fg)}
:root .case-poster,:root .type-panel{background:var(--panel-alt);color:var(--fg)}
:root .next-case{background:var(--panel);color:var(--fg)}
:root .next-case:hover{background:var(--panel-alt);color:var(--fg)}
:root .case-cover{background:var(--panel)}
:root .case-cover>span{color:#fff;text-shadow:0 2px 30px #0008}
:root .filters button.active,:root .filters button:hover,:root .toast{background:var(--fg);color:var(--bg);border-color:var(--fg)}
:root .chapter-seam{background:var(--line)}
:root .service-detail{overflow:visible;clip-path:none!important;grid-template-columns:minmax(0,1fr) 140px}
:root .service-detail .service-symbol{width:100px;height:100px;font-size:80px;justify-self:center;overflow:visible}
.service-symbol svg{display:block;overflow:visible;flex-shrink:0}
:root .about-grid .about-name{font-size:clamp(40px,5.2vw,88px);line-height:1.1;margin:0 0 32px;font-weight:500}
.about-approach{font-size:clamp(22px,2.2vw,34px);line-height:1.4;font-weight:400;margin:0 0 24px}
:root .about-page .large-copy{font-size:17px;line-height:1.8;font-weight:400;color:var(--muted);text-shadow:none;max-width:530px}
:root .about-page .skills h2{font-size:clamp(24px,3vw,44px);font-weight:400}
:root .about-page .skill-tags span{font-size:18px;font-weight:400}
@media(max-width:900px){:root{--header-height:80px}:root header{gap:12px}:root .language-picker{margin-left:auto}:root .menu-toggle{margin-left:0}:root body .mobile-menu,:root body.about-page .mobile-menu{background:var(--bg)!important;color:var(--fg)!important}:root body .mobile-menu a{color:var(--fg);border-color:var(--line)}:root.menu-open header,:root.menu-open body.about-page header{background:var(--bg)!important;color:var(--fg)!important;border-color:var(--line)}:root.menu-open header .logo,:root.menu-open .menu-toggle{color:var(--fg)!important}}
@media(max-width:600px){:root{--header-height:72px}:root header{gap:8px}.theme-toggle{width:32px;height:32px}:root .hero{height:100svh;min-height:580px;padding-top:calc(var(--header-height) + 50px)}:root .service-detail{grid-template-columns:minmax(0,1fr) 64px}:root .service-detail .service-symbol{width:54px;height:54px;font-size:42px}:root .about-grid .about-name{font-size:12vw}.about-approach{font-size:24px}:root .about-page .large-copy{font-size:16px}}
@media(max-width:380px){:root header{gap:6px}:root header .logo{font-size:18px}:root .menu-toggle{min-width:58px}:root .language-picker{padding:5px}.theme-toggle{width:30px;height:30px}}
@media(max-width:900px),(pointer:coarse){:root.is-scrolled header,:root.is-scrolled body.about-page header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:none}.project img{filter:none;transition:none}.project:hover img{transform:none;filter:none}.reveal{clip-path:none!important}.hero-type{transform:none!important;opacity:1!important}.about-waves{contain:strict}.service-detail .service-symbol{will-change:auto}}
