/* Clear, polished glass. Geometry-derived SVG filters bend the live backdrop;
   the readable foreground is outside the optical filter. */
.optical-filter-bank{position:absolute;width:0;height:0;pointer-events:none;overflow:hidden}
body{background:radial-gradient(ellipse at 12% 24%,#ddcfaf0d,transparent 34%),radial-gradient(ellipse at 86% 58%,#e9dfcc12,transparent 35%),#fdfdfc}
.optical-surface{backdrop-filter:blur(.7px) saturate(1.025);-webkit-backdrop-filter:blur(.7px) saturate(1.025)}
.optical-surface[data-optical-ready=true]{backdrop-filter:var(--optical-filter);-webkit-backdrop-filter:var(--optical-filter)}
.site-header{position:sticky;top:16px;background:#ffffff52;border:1px solid #ac946333;outline:0;box-shadow:inset 0 1px 1px #ffffffed,inset 0 -1px 1px #9f84512b,0 5px 16px #8e785609}
.art-intro,.services-list article{background:linear-gradient(135deg,#ffffff0d,#e6d7b408);border:1px solid #a6926c38;outline:0;box-shadow:inset 0 .7px 0 #fff,inset 0 -.7px 0 #9c814621,0 10px 27px #8e785608}
.art-intro:hover{background:#ffffff0b;box-shadow:inset 0 1px 0 #fff,inset 0 -1px 1px #9b7c4733,0 17px 30px #8e785612}
.site-header::before,.art-intro::before,.button::before{background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),#fff,transparent 54%);opacity:.12}
.art-intro::after{inset:3px;border-radius:22px;border-top:1px solid #ffffffa3;border-bottom:1px solid #b4976129}
.button{color:#624b29;background:linear-gradient(155deg,#fffdf315,#c9a86720);border-color:#ac925e61;outline:0;box-shadow:inset 0 1px 1px #ffffffd9,inset 0 -1px 1px #9c7c3d24,0 4px 13px #8c703c0c}
.button:hover{background:linear-gradient(155deg,#ffffff20,#c9a8672b);box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #9c7c3d38,0 7px 20px #8c703c17}
.service-header{background:#ffffff52;border-bottom:1px solid #b4a07b38;box-shadow:inset 0 -1px 0 #ffffffb8,0 4px 16px #8472520b}
.site-header>a,.site-header nav,.service-header>a,.service-header>.back-link{text-shadow:0 0 8px #ffffffbf}
.close-button,.orbit-controls button,.photo-zoom{background:#ffffff21;border-color:#b09a704a;outline:0;box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #a0875133,0 3px 8px #7962360c}
.orbit{filter:none}
.orbit-outer{inset:-13px;background:conic-gradient(from 25deg,#ffffff73,#d1b9800c 15%,#ffffff8c 27%,#c9ad6b17 42%,#ffffff73 57%,#ae8f4c20 74%,#ffffffa1 88%,#ffffff73);border:1px solid #baa4754f;backdrop-filter:none;box-shadow:0 0 0 3px #ffffffad,0 0 0 4px #ad956a24,inset 0 1px 1px white,inset 0 -2px 3px #9c7e4226,0 16px 28px #86714512}
.orbit-inner{inset:-2px;z-index:2;border:1px solid #b19a674d;border-radius:50%;background:#ffffff08;box-shadow:inset 0 1px 1px #fff;pointer-events:none;mask-image:radial-gradient(closest-side,transparent calc(100% - 32px),#000 calc(100% - 31px));-webkit-mask-image:radial-gradient(closest-side,transparent calc(100% - 32px),#000 calc(100% - 31px))}
.orbit-heart{inset:22%;z-index:3;background:linear-gradient(145deg,#ffffff12,#e9dbba0a);border:1px solid #b19a6752;box-shadow:0 0 0 2px #ffffffb0,0 0 0 3px #af95572b,inset 0 1px 1px white,inset 0 -2px 3px #a68a4d26,0 5px 12px #79613c0e}
.orbit-heart::after{inset:4px;border-top:1px solid #ffffffc2;border-bottom:1px solid #b3995b29}
.portrait-frame,.service-hero-image,.collab-image{background:#ffffff05;border:1px solid #b5a07838;outline:0;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden;box-shadow:inset 0 1px 1px #fff,0 9px 27px #80683e0c}
.portrait-frame::before,.service-hero-image::before,.collab-image::before{display:none}
.portrait-label,.service-hero-image>span:not(.optical-frame-rim){z-index:2}
.optical-frame-rim{display:block;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;margin:0!important;padding:28px!important;border-radius:inherit;pointer-events:none;z-index:1;background:#ffffff08;box-shadow:inset 0 1px 1px #ffffffcf,inset 0 -1px 1px #a38a542b;mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-clip:content-box,border-box;mask-composite:exclude;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-clip:content-box,border-box;-webkit-mask-composite:xor}
.portfolio-card{background:#ffffff08;border-color:#b5a07833;box-shadow:inset 0 1px 1px #fff,0 7px 21px #80683e07}
.portfolio-card .optical-frame-rim{padding:22px!important}
.photo-label,.photo-zoom{position:relative;z-index:2}.photo-zoom{position:absolute}
.services-list article+article{border-left-color:#a6926c38}
.collaboration{background:linear-gradient(145deg,#e6d5b014,#ffffff24 55%,#d9c3930c)}
.collab-types span{background:#ffffff29;border-color:#b8a1703d;box-shadow:inset 0 1px 0 #ffffffab}
#photo-dialog{background:#ffffff05;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-color:#ffffff40}
#photo-dialog .close-button{background:#ffffff45}
@media(max-width:700px){.site-header{top:10px}.optical-frame-rim{padding:25px!important}.portfolio-card .optical-frame-rim{padding:19px!important}.services-list article+article{border-color:#a6926c38}}
.optical-surface[data-optical-ready=true],#photo-dialog .close-button[data-optical-ready=true]{background-image:var(--optical-reflection);background-size:100% 100%;background-origin:border-box}
/* Browsers without SVG backdrop filters retain transparent glass and a
   geometry-derived reflection map, with only a small amount of diffusion. */
@supports not (backdrop-filter:url('#optical-test')){.optical-surface[data-optical-ready=true]{backdrop-filter:blur(.7px) saturate(1.025);-webkit-backdrop-filter:blur(.7px) saturate(1.025);background-image:var(--optical-reflection);background-size:100% 100%}}
