.site-header{height:116px}
.site-header .brand{position:relative;flex-direction:row;align-items:center;gap:16px;min-width:0;color:rgba(255,255,255,.94)}
.site-header .brand-icon{display:block;width:58px;height:57px;object-fit:contain;flex:none}
.brand-type{display:flex;flex-direction:column;gap:6px;width:max-content;white-space:nowrap}
.site-header .brand-bubble{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;flex:none;transition:background .2s,box-shadow .2s}
.site-header .brand-bubble .brand-icon{width:46px;height:46px;object-fit:contain;filter:invert(1);opacity:.94}
.brand:hover .brand-bubble{background:linear-gradient(135deg,#ffffffd9,#ffffff66);box-shadow:inset 0 1px 0 #fff,0 8px 28px #0000001a}
.site-header .brand-type{gap:7px;text-shadow:0 1px 12px #00000026}
.site-header .brand-name{font-family:Inter,-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;font-size:27px;line-height:1.1;letter-spacing:-.035em;font-weight:500}
.site-header .brand-sub{font-size:10px;line-height:1.3;letter-spacing:.14em;font-weight:400;margin:0;color:rgba(255,255,255,.76)}
.site-header .desktop-nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:99px}
.menu-toggle.more-toggle{display:flex!important;align-items:center;justify-content:center;width:54px;height:54px;flex:none;padding:0;border-radius:99px;margin-left:auto;color:var(--ink)}
.more-toggle svg{width:24px;height:24px;fill:currentColor}
.site-header .more-nav{position:absolute;inset:auto;top:100px;right:var(--pad);left:auto;width:254px;padding:10px;border-radius:25px;flex-direction:column;gap:3px;background:rgba(249,246,244,.9);box-shadow:inset 0 1px 0 #fff,0 18px 50px #231d1726}
.site-header .more-nav:not([hidden]){display:flex!important}
.site-header .more-nav[hidden]{display:none!important}
.more-nav a{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-radius:17px;font-size:14px}
.more-nav a:hover,.more-nav a[aria-current=page]{background:rgba(255,255,255,.75)}
.more-nav a span{opacity:.5}
.home-hero .hero-backdrops{position:absolute;inset:0;z-index:-3;overflow:hidden}
.home-hero .hero-backdrops .hero-image{position:absolute;inset:0;width:100%;height:100%;opacity:0;object-fit:cover;object-position:var(--scene-position,center);transition:opacity var(--photo-fade,2.6s) ease-in-out;filter:none;z-index:0}
.home-hero .hero-backdrops .hero-image.is-current{opacity:1;z-index:1}
.home-hero .hero-backdrops .hero-image.is-entering{opacity:1;z-index:2}
.background-controls{position:fixed;z-index:65;right:var(--pad);bottom:24px;display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:99px;color:#43382f}
.background-controls button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:50%;padding:0;background:transparent;color:inherit}
.background-controls button:hover{background:#fff7}
.background-controls .scene-choice:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35}
.background-controls .scene-choice[aria-pressed=true]:before{opacity:1}
.background-controls svg{width:13px;height:13px;fill:currentColor}
.window-open .background-controls{bottom:4px;height:24px;padding:0 5px}
.window-open .background-controls button{height:22px;width:23px}
.window-open .background-controls .scene-choice{display:none}
.portfolio{padding:30px 34px 35px}
.portfolio-heading{padding:0 14px 12px}
.portfolio-heading h2{font-size:clamp(30px,3.4vw,46px);margin-bottom:14px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portfolio-grid figure{margin:0;overflow:hidden;border-radius:18px}
.portfolio-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}
.about-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:42px;padding:0 48px 40px;align-items:start}
.about-portrait{margin:0;overflow:hidden;border-radius:22px}
.about-portrait img{display:block;width:100%;height:auto;aspect-ratio:1080/1623}
.window-body .about-layout .reading{padding:0;margin:0;max-width:none}
.window-body .contact-band.about-contact{margin:8px 48px 42px;padding:40px;gap:32px;border:1px solid rgba(255,255,255,.85);border-radius:26px;color:rgba(0,0,0,.76);background:linear-gradient(125deg,rgba(255,255,255,.7),rgba(238,228,215,.48));box-shadow:inset 0 1px 0 #fff,0 10px 30px #4c3d2f0d;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.about-contact:before{background:radial-gradient(ellipse at 10% 0%,#ffffff80,transparent 70%)}
.window-body .contact-band.about-contact h2{font-size:clamp(30px,3.2vw,42px);line-height:1.08;letter-spacing:-.045em;margin:0 0 18px}
.window-body .contact-band.about-contact p{font-size:14px;line-height:1.7;color:rgba(0,0,0,.58);margin:0}
.window-body .about-contact .button{flex:none;gap:18px;padding:8px 8px 8px 21px;border:1px solid #ffffff40;background:rgba(0,0,0,.68);color:#fff;box-shadow:inset 0 1px 0 #ffffff21,0 6px 18px #00000012}
.about-contact .button span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#ffffff20;font-size:16px}
.about-contact .button:hover{background:rgba(0,0,0,.77)}
@media(max-width:760px){.window-body .contact-band.about-contact{flex-direction:column;align-items:flex-start;margin:2px 24px 28px;padding:28px;gap:26px}.window-body .contact-band.about-contact h2{font-size:32px}.window-body .contact-band.about-contact p br{display:none}}
@media(max-width:760px){.about-layout{grid-template-columns:1fr;gap:28px;padding:0 24px 32px}.about-portrait{border-radius:20px}}
@media(max-width:760px){
 .window-body .about-page{display:grid;grid-template-columns:minmax(0,1fr)}
 .about-page>.page-intro{grid-area:1/1}
 .window-body .about-page .about-layout{display:contents}
 .window-body .about-page .about-layout .reading{grid-area:2/1;padding:0 24px 30px;margin:0}
 .about-page .about-portrait{grid-area:3/1;margin:0 16px 28px;border-radius:24px}
 .window-body .about-page .contact-band.about-contact{grid-area:3/1;align-self:end;position:relative;z-index:1;margin:0 16px 28px;padding:24px;gap:18px;border:0;border-top:1px solid #ffffff70;border-radius:0 0 24px 24px;background:linear-gradient(125deg,rgba(255,255,255,.48),rgba(243,235,224,.32));box-shadow:inset 0 1px 0 #ffffff40;backdrop-filter:blur(20px) saturate(85%);-webkit-backdrop-filter:blur(20px) saturate(85%)}
 .window-body .about-page .about-contact:before{display:none}
 .window-body .about-page .about-contact h2{font-size:27px;line-height:1.1;margin-bottom:12px}
 .window-body .about-page .about-contact p{font-size:13px;line-height:1.55;color:rgba(0,0,0,.76)}
 .window-body .about-page .about-contact .button{align-self:stretch;justify-content:space-between}
}
@media(max-width:360px){.window-body .about-page .contact-band.about-contact{padding:20px;gap:16px}.window-body .about-page .about-contact h2{font-size:26px}}
@media(min-width:961px) and (max-width:1150px){.site-header .brand-icon{width:49px;height:48px}.site-header .brand{gap:10px}.site-header .brand-name{font-size:24px}.site-header .brand-sub{font-size:10px}.site-header .desktop-nav{left:61%}}
@media(max-width:960px){
 .site-header{height:88px;padding:20px 20px}
 .site-header .brand-icon{width:46px;height:46px}
 .site-header .brand-type{display:none}
 .site-header .brand-bubble{width:50px;height:50px}
 .site-header .brand-bubble .brand-icon{width:36px;height:36px}
 .mobile-dock{top:20px;bottom:auto;left:50%;transform:translateX(-50%);width:184px;height:50px;border-radius:99px;padding:5px;gap:2px;background:linear-gradient(130deg,#ffffffc4,#ffffff78)}
 .mobile-dock a{height:40px;border-radius:99px;flex:1}
 .mobile-dock svg{width:21px;height:21px}
 .dock-dot{bottom:2px}
 .menu-toggle.more-toggle{position:fixed;top:20px;right:20px;bottom:auto;width:50px;height:50px;border-radius:99px}
 .site-header .more-nav{top:82px;right:20px;width:250px}
 .hero-bottom{bottom:30px}
 .content-window{bottom:24px;max-height:calc(100svh - 137px)}
 .background-controls,.window-open .background-controls{right:20px;bottom:8px;height:26px;padding:2px 5px}
 .background-controls .scene-choice{display:none}
 .background-controls button,.window-open .background-controls button{height:22px;width:24px}
}
@media(max-width:600px){
 .site-header{padding:19px 16px;height:86px}
 .window-open .site-header:before{content:'';position:absolute;inset:0 0 -16px;z-index:-1;pointer-events:none;background:linear-gradient(#f8f5f2ed,#f8f5f2c9 67%,#f8f5f200)}
 .site-header .brand-icon{width:44px;height:44px}
 .mobile-dock{top:18px;width:172px;height:50px;border-radius:99px;padding:5px}
 .menu-toggle.more-toggle{top:18px;right:16px;width:46px;height:50px}
 .site-header .more-nav{top:80px;right:16px;width:246px;border-radius:24px}
 .content-window{inset:0;transform:none;margin:0;width:100%;height:100svh;max-height:none;border:0;border-radius:0;box-shadow:none;animation:none;background:linear-gradient(135deg,rgba(250,250,246,.94),rgba(246,242,239,.86));backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}
 .window-bar{display:none}
 .window-body{padding-top:103px;padding-bottom:26px}
 .window-body .page-intro{padding-top:24px}
 .window-shade{display:none}
 .home-hero{padding-top:128px;min-height:100svh}
 .hero-bottom{bottom:35px}
 .home-hero .hero-backdrops .hero-image{object-position:var(--scene-mobile-position,center)}
 .background-controls,.window-open .background-controls{right:16px;bottom:7px}
 .portfolio{padding:20px 16px 30px}
 .portfolio-heading{padding:0 8px 8px}
 .portfolio-grid{gap:10px;grid-template-columns:1fr}
 .portfolio-grid figure{border-radius:16px}
}
@media(max-width:350px){.mobile-dock{width:154px}.site-header{padding-left:12px}.menu-toggle.more-toggle{right:12px;width:42px}.site-header .brand-icon{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.home-hero .hero-backdrops .hero-image{transition:none}}
@media(prefers-reduced-motion:reduce){.brand-type{transition:none}}

/* Desktop windows follow their content, capped by the available viewport. */
@media(min-width:601px){.content-window{bottom:auto;height:auto}.content-window .window-body{flex:0 1 auto}}
