/* Isolated material experiment. CSS, real backdrop sampling and original assets only. */
:root{--glass-depth:0 7px 20px #02010726,inset 0 .5px 0 #ffffff24;--lens-inset:0px}
.lens-surface>.lens-backdrop{background:#ffffff07;backdrop-filter:blur(11px) saturate(1.16) brightness(1.08);-webkit-backdrop-filter:blur(11px) saturate(1.16) brightness(1.08)}
.lens-surface::before,.button.primary.lens-surface::before{padding:1px;background:conic-gradient(from 24deg,#ffffff21 0deg,#ffffff06 68deg,#ffffff2e 130deg,#ffffff87 188deg,#ffffff0c 233deg,#ffffff08 260deg,#ffffffaf 310deg,#ffffff21 360deg);opacity:.64}
.lens-surface::after,.button.primary.lens-surface::after{inset:1px;background:linear-gradient(180deg,#ffffff0b,transparent 25%,transparent 80%,#ffffff03);box-shadow:inset 1px 1px 2px #ffffff25,inset -1px -2px 3px #02010824;opacity:1}
.hero .lens-surface::before,.header:not(.is-scrolled) .lens-surface::before{opacity:1}
.button.primary>.lens-backdrop{background:#9a6cdc22}
.hero .button.primary>.lens-backdrop,.header:not(.is-scrolled) .button.primary>.lens-backdrop{background:#9d73e72a}
.button.primary.lens-surface::before{background:conic-gradient(from 24deg,#e4caff40,#e4caff0a 68deg,#ffffff42 130deg,#e1cbff96 188deg,#d9b9ff13 240deg,#ffffffad 310deg,#e4caff40)}
.lens-surface>.lens-light{background:radial-gradient(ellipse 110px 64px at var(--shine-x,35%) var(--shine-y,10%),#ffffff2e,transparent 75%);transition:opacity .2s ease-out}
.glass-group>.lens-backdrop{background:#ffffff04;backdrop-filter:blur(4px) saturate(1.08) brightness(1.03);-webkit-backdrop-filter:blur(4px) saturate(1.08) brightness(1.03)}
.glass-group .glass-slider.lens-surface{box-shadow:0 5px 14px #01010630,inset 0 .5px 0 #ffffff20}
.glass-slider>.lens-backdrop{background:#ffffff09;backdrop-filter:blur(11px) saturate(1.18) brightness(1.12);-webkit-backdrop-filter:blur(11px) saturate(1.18) brightness(1.12)}
.glass-slider.lens-surface::before{opacity:.85;background:conic-gradient(from 25deg,#ffffff2f,#ffffff09 72deg,#ffffff47 132deg,#ffffffaf 188deg,#ffffff12 240deg,#ffffff09 266deg,#ffffffb8 310deg,#ffffff2f)}
.glass-slider.lens-surface::after{box-shadow:inset 1px 1px 2px #ffffff30,inset -1px -2px 3px #00000020}
/* Transient lift only; all hit boxes and labels remain in place. */
[data-lens-switch][data-phase=holding]>.glass-slider,[data-lens-switch][data-phase=dragging]>.glass-slider{box-shadow:0 8px 18px #01010636,inset 0 .5px 0 #ffffff28}
.button.lens-surface,.icon-button.lens-surface,.text-button.lens-surface{transition:transform .26s cubic-bezier(.2,.85,.3,1.13),box-shadow .2s ease-out}
@media(hover:hover) and (pointer:fine){
 .button.lens-surface:hover,.icon-button.lens-surface:hover{transform:translateY(-1.5px);box-shadow:0 9px 22px #03020835,inset 0 .5px 0 #ffffff26}
 .button.lens-surface:hover svg{transform:translateX(2px)}
 .button.lens-surface:active,.icon-button.lens-surface:active,.text-button.lens-surface:active{transform:scale(.975);transition-duration:.1s}
}
.button.lens-surface:active,.icon-button.lens-surface:active,.text-button.lens-surface:active{transform:scale(.975);box-shadow:0 3px 10px #03020824}
/* Graphite remains neutral. Content and modal density are not redesigned. */
.contact-section.lens-surface::before{opacity:.3}
.contact-section.lens-surface::after{background:none;box-shadow:inset 0 .5px 0 #ffffff12}
.contact-section>.lens-backdrop{background:#ffffff02;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
dialog.lens-surface::before{opacity:.68}
dialog.lens-surface::after{background:none;box-shadow:inset 1px 1px 2px #ffffff18,inset -1px -2px 3px #00000020}
.is-expanded .service-plus>.lens-backdrop{background:#9a6cdc22}
/* Header only: 3 × 44px hit boxes, 38px visible cushion, 136 × 44px shell. */
@media(max-width:700px){
 .header .languages.lens-surface{--lens-inset:3px;width:136px;height:44px;padding:0 2px;border:0;flex-shrink:0;gap:0}
 .header .languages>button{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:12.5px;line-height:1.2}
 .header .languages.lens-surface::before{inset:0}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .lens-surface>.lens-backdrop{background:#292732!important}
 .button.primary>.lens-backdrop{background:#48335e!important}
 .glass-slider>.lens-backdrop{background:#514958!important}
}
@supports not ((mask-composite:exclude) or (-webkit-mask-composite:xor)){
 .lens-surface::before,.button.primary.lens-surface::before{background:none;padding:0;border:1px solid #ffffff30}
}
@media(prefers-reduced-motion:reduce){
 .lens-surface,.lens-surface::before,.lens-surface::after,.lens-light{transition:none!important;animation:none!important}
 .button.lens-surface:hover,.button.lens-surface:active,.icon-button.lens-surface:hover,.icon-button.lens-surface:active,.text-button.lens-surface:active{transform:none}
}
/* Preserve sampled scene colours with slight tonal compression for white
   labels over the sunset. The material fill remains translucent. */
.hero .button.lens-surface>.lens-backdrop{backdrop-filter:blur(9px) saturate(1.16) contrast(.9) brightness(.68);-webkit-backdrop-filter:blur(9px) saturate(1.16) contrast(.9) brightness(.68)}
/* Release the entrance animation's compositing context after it finishes.
   Only the child samples the backdrop; the old primary rule must not add
   a second backdrop root that prevents the lens from seeing the scene. */
.hero-buttons{animation-fill-mode:backwards}
.button.primary.lens-surface{backdrop-filter:none;-webkit-backdrop-filter:none}
