@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(./assets/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Real Cycles optical-frame texture. The interface text remains native HTML. */
body{font-family:Manrope,"Segoe UI",Arial,sans-serif}
body{isolation:isolate}
.optical-scene{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict;background:#090a10}
.optical-scene::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 78% 43%,rgba(57,27,94,.12),transparent 70%);pointer-events:none}
.depth-droplets{position:absolute;inset:0;pointer-events:none}
.depth-drop{position:absolute;background:url('./assets/depth-water-drop.webp?v=flow-4') center/contain no-repeat;opacity:.25;animation:depth-descent var(--drop-duration) linear var(--drop-delay) infinite;animation-play-state:paused}
.optical-active:not(.optical-lite) .depth-drop{animation-play-state:running}
.depth-drop-still{animation:none!important;opacity:.12}
@keyframes depth-descent{0%{transform:translate3d(0,-24px,0);opacity:0}16%{opacity:.25}84%{opacity:.25}100%{transform:translate3d(0,140px,0);opacity:0}}
.optical-lite .depth-drop{animation:none!important;opacity:.15}.optical-lite .depth-drop:nth-child(n+5){display:none}
html.motion-disabled .depth-drop:not(.depth-drop-still){animation:depth-descent var(--drop-duration) linear var(--drop-delay) infinite!important;animation-play-state:paused!important}
.optical-pane{position:absolute;inset:0;background:url('./assets/optical-backdrop-2560.webp?v=quiet-3') center/cover no-repeat;opacity:.68}
.optical-lite .optical-pane{background-image:url('./assets/optical-backdrop-1280.webp?v=quiet-3');opacity:.62}
@media(max-width:760px){.optical-lite .optical-pane{background-image:url('./assets/optical-backdrop-mobile.webp?v=quiet-3');background-position:right center}}
.optical-surface{isolation:isolate}
.optical-surface:is(.button,.header-cta,.btn){position:relative}
.glass-optics{position:absolute;inset:0;z-index:5;border-radius:inherit;overflow:hidden;pointer-events:none}
/* Broad studio reflection: short pointer travel, no sweeping beam or lens ring. */
.optical-surface>.glass-optics>.glass-glint{inset:-40% -30%;width:auto;border-radius:50%;background:radial-gradient(ellipse at 40% 20%,rgba(230,208,255,.55),rgba(158,104,227,.18) 32%,transparent 66%);transform:translate3d(var(--glint-shift,0px),0,0);opacity:0;transition:opacity .5s ease,transform .4s var(--depth-ease)}
.optical-surface:hover>.glass-optics>.glass-glint,.optical-surface:focus-within>.glass-optics>.glass-glint{opacity:.12}
.signal-icon,.signal-arrow{transition:transform .35s var(--depth-ease),background .35s}
.signal:hover .signal-icon,.signal:focus-visible .signal-icon{transform:translateY(-2px) rotate(-3deg)}
.signal:hover .signal-arrow,.signal:focus-visible .signal-arrow{transform:translate(2px,-2px);background:rgba(164,105,255,.25)}
.subpage .glass:hover{border-color:rgba(221,187,255,.65)}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid #c5a5ff;outline-offset:3px;box-shadow:0 0 20px -7px rgba(155,84,255,.45)}
.demo-links a,.site-nav a{transition:color .25s,transform .25s}.demo-links a:hover,.site-nav a:hover{transform:translateY(-2px)}
html.motion-disabled .signal-icon,html.motion-disabled .signal-arrow,html.motion-disabled .demo-links a,html.motion-disabled .site-nav a{transform:none!important}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .signal-icon,html:not(.motion-enabled) .signal-arrow,html:not(.motion-enabled) .demo-links a,html:not(.motion-enabled) .site-nav a{transform:none!important}}
.brand{font-weight:800;letter-spacing:-.065em}
body:not(.subpage) .hero h1{font-weight:800;font-size:clamp(58px,6.1vw,92px);letter-spacing:-.072em;line-height:1.07;max-width:none;width:114%}
body:not(.subpage) .hero h1 em{color:#be95ff;text-shadow:0 0 45px rgba(146,63,255,.14)}
.hero::before{display:none}
.hero-art-video{mask-image:none;-webkit-mask-image:none;filter:none}
.hero-art{mix-blend-mode:screen}
body:not(.subpage) .hero{isolation:auto;perspective:none;background:none}
.hero-art::before,.portfolio-stage::before{display:none}
.contact{background:transparent}
.hero-art-poster{filter:none}
.glass-drop{animation:quiet-lens-turn 24s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:center}
.glass-drop-two{animation-duration:31s;animation-delay:-13s;animation-direction:alternate-reverse}
@keyframes quiet-lens-turn{from{transform:perspective(300px) translateY(2px) rotateY(-9deg) rotateZ(-4deg)}to{transform:perspective(300px) translateY(-2px) rotateY(9deg) rotateZ(4deg)}}
.hero-art-poster,.hero-art-video{height:112%;top:-6%;object-fit:contain}
.site-header{background:linear-gradient(110deg,rgba(42,26,70,.82),rgba(15,12,23,.94) 45%,rgba(39,23,68,.88));border-color:rgba(187,137,255,.42);box-shadow:inset 0 1px 0 rgba(244,216,255,.5),0 3px 0 #2c1b43,0 4px 1px #6b449d,0 20px 50px -30px #000,0 0 40px -20px rgba(135,50,255,.4)}
.site-header::before{inset:3px;border:1px solid rgba(225,190,255,.23);border-radius:inherit;background:linear-gradient(175deg,rgba(248,226,255,.09),transparent 25%,transparent 75%,rgba(168,103,255,.13))}
.site-header::after{height:1px;box-shadow:0 0 12px rgba(170,104,255,.55)}
.signal,.signal:first-child,.signal:last-child{background:#1a1229 url('./assets/wet-glass-slab.webp') center/100% 100% no-repeat;border:1px solid rgba(221,185,255,.35);box-shadow:0 3px 0 #352050,0 4px 1px rgba(190,129,255,.4),0 19px 35px -14px rgba(0,0,0,.95),0 0 35px -15px rgba(145,61,255,.38)}
.signal::before{inset:0;border:0;background:none}
.signal::after{opacity:.45;height:1px}
.signal:hover,.signal:focus-visible{background:#1a1229 url('./assets/wet-glass-slab.webp') center/100% 100% no-repeat}
.signal strong{font-weight:750;color:#fff}
.signal small{color:#ded3ed}
.signal-icon{color:#e4caff;border-color:rgba(221,188,255,.32);background:linear-gradient(145deg,rgba(163,108,255,.15),rgba(32,15,63,.55));box-shadow:inset 0 1px 0 rgba(246,214,255,.24),0 2px 0 rgba(7,3,15,.6),0 0 20px -6px rgba(147,65,255,.32)}
.signal-arrow{border-color:rgba(225,194,255,.45);background:rgba(18,10,34,.33)}
.glass-shelf{border-color:rgba(199,148,255,.65);background:linear-gradient(170deg,rgba(57,24,110,.12),rgba(135,72,220,.32) 60%,rgba(72,33,132,.62));box-shadow:inset 0 1px 2px rgba(255,229,255,.75),inset 0 -2px 6px rgba(178,104,255,.60),0 7px 0 #2d1547,0 8px 1px rgba(213,151,255,.6),0 25px 36px -8px rgba(0,0,0,.6),0 12px 35px rgba(116,37,239,.22)}
/* One consistent pose on hover: no instant restacking or rotation reset. */
.signal.depth-managed,.signal.depth-managed:hover,.signal.depth-managed:focus-visible{transform:perspective(1000px) translateY(calc(var(--rest-y) - var(--hover-progress,0)*4px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:border-color .65s ease}
.portfolio-window.depth-managed,.portfolio-window.depth-managed:hover,.portfolio-window.depth-managed:focus-visible{z-index:var(--surface-z,2);transform:perspective(1100px) translateY(calc(var(--hover-progress,0)*-7px)) rotateY(calc(var(--card-turn) + var(--tilt-y,0deg))) rotateZ(var(--card-roll)) rotateX(var(--tilt-x,0deg)) scale(calc(1 + var(--hover-progress,0)*.008));transition:border-color .65s ease}
.portfolio-banik{--surface-z:3}.portfolio-window.depth-managed:focus-visible{z-index:5}
html.motion-disabled .signal.depth-managed:hover,html.motion-disabled .signal.depth-managed:focus-visible{transform:perspective(1000px) translateY(var(--rest-y))}
html.motion-disabled .portfolio-window.depth-managed:hover,html.motion-disabled .portfolio-window.depth-managed:focus-visible{transform:perspective(1100px) rotateY(var(--card-turn)) rotateZ(var(--card-roll))}
html.motion-disabled .portfolio-window.depth-managed:hover:not(:focus-visible){z-index:var(--surface-z,2)}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .signal.depth-managed:hover{transform:perspective(1000px) translateY(var(--rest-y))}html:not(.motion-enabled) .portfolio-window.depth-managed:hover{transform:perspective(1100px) rotateY(var(--card-turn)) rotateZ(var(--card-roll));z-index:var(--surface-z,2)}html:not(.motion-enabled) .portfolio-window.depth-managed:focus-visible{z-index:5}}
.signal-icon,.signal-arrow{transition:transform .8s cubic-bezier(.22,.61,.36,1),background .7s ease}
.optical-surface.depth-managed>.glass-optics>.glass-glint{transition:opacity .8s ease;transform:translate3d(var(--glint-shift,0px),0,0)}
.site-header.optical-surface>.glass-optics>.glass-glint{background:radial-gradient(ellipse at 50% 0,rgba(230,208,255,.4),transparent 65%)}
.site-header.optical-surface:hover>.glass-optics>.glass-glint,.site-header.optical-surface:focus-within>.glass-optics>.glass-glint{opacity:.07}
.glass-shelf,.service-shelf{transform:none;border:0;border-radius:0;box-shadow:none;background:url('./assets/depth-glass-shelf.webp?v=flow-4') center bottom/100% 100% no-repeat;height:180px;bottom:4px;left:-1%;right:-1%;opacity:.86}
.glass-shelf::before,.glass-shelf::after{display:none}.service-shelf{height:82px;bottom:-32px}
@media(max-width:760px){.portfolio-stage>.glass-shelf{height:90px;bottom:-12px}.service-shelf{height:65px;bottom:-28px}.portfolio-window.depth-managed,.portfolio-window.depth-managed:hover{--card-turn:0deg;--card-roll:0deg}}
.button-primary,.header-cta,.subpage .btn:not(.ghost){background:linear-gradient(140deg,#dbc5ff,#b28af4 58%,#9563de);box-shadow:inset 0 1px 1px #fff0ff,inset 0 -2px 3px rgba(63,22,109,.33),0 3px 0 #503273,0 13px 30px -12px rgba(162,66,255,.62)}
.button-primary:hover,.header-cta:hover{background:linear-gradient(140deg,#eddfff,#c9a3ff 58%,#ad78f4)}
.portfolio-window,.contact-form,.subpage .glass{box-shadow:var(--glass-shadow),0 0 35px -22px rgba(154,69,255,.4)}
.portfolio-caption small{color:#d1bae9}
.hero-motion-toggle{border-color:rgba(190,147,255,.35);background:rgba(18,12,31,.92);backdrop-filter:none;-webkit-backdrop-filter:none}
.ads-consent-banner{border-radius:18px;border-color:rgba(186,145,243,.35);background:rgba(19,14,29,.98);box-shadow:0 18px 45px rgba(0,0,0,.45);padding:18px 20px;max-width:460px}
.ads-consent-banner p{font-size:12px;line-height:1.6}
.ads-consent-actions .btn{border-radius:10px;font-size:12px;min-height:44px}
@media(min-width:761px) and (max-width:1050px){body:not(.subpage) .hero h1{font-size:clamp(48px,6.05vw,64px);width:115%}}
@media(max-width:760px){body:not(.subpage) .hero h1{font-size:clamp(44px,8.2vw,61px);width:100%;letter-spacing:-.074em}.hero-art-poster,.hero-art-video{height:116%;top:-8%}.signal strong{font-size:17px}.site-header::before{border-image-width:11px}.ads-consent-banner{max-width:none}}
@media(max-width:430px){body:not(.subpage) .hero h1{font-size:clamp(40px,10.95vw,48px)}.hero-art{top:320px;height:283px}.hero-motion-toggle{right:4%;bottom:13px}.signal,.signal:first-child,.signal:last-child{padding-inline:22px}.hero .button{padding-inline:17px;gap:18px;font-size:13px}}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(./assets/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Local study only: two lenses, low-frequency illumination approximation. */
@keyframes depth-descent{0%{transform:translate3d(0,-30px,0);opacity:0;filter:brightness(.94)}14%{opacity:.24}32%{opacity:.34;filter:brightness(1.18)}48%{opacity:.25;filter:brightness(.94)}68%{opacity:.32;filter:brightness(1.14)}88%{opacity:.24;filter:brightness(.96)}100%{transform:translate3d(0,105vh,0);opacity:0;filter:brightness(.94)}}
.optical-lite .depth-drop:first-child{top:22%!important}.optical-lite .depth-drop:nth-child(2){top:68%!important}
@media(min-width:761px) and (max-width:1050px){body:not(.subpage) .hero-copy>p{max-width:min(340px,44vw)}}

.optical-surface:hover>.glass-optics>.glass-glint,.optical-surface:focus-within>.glass-optics>.glass-glint{opacity:.18}
.site-header.optical-surface>.glass-optics>.glass-glint{background:radial-gradient(ellipse at 50% 0,rgba(230,208,255,.55),rgba(176,131,231,.16) 38%,transparent 68%)}
.site-header.optical-surface:hover>.glass-optics>.glass-glint,.site-header.optical-surface:focus-within>.glass-optics>.glass-glint{opacity:.16}
.site-header.optical-surface.depth-managed>.glass-optics>.glass-glint{opacity:clamp(0,calc(var(--hover-progress,0)*.16),.16);transition:none}

/* A clean Cycles material plate, with all background water in real DOM layers. */
.optical-pane{background-image:url('./assets/clean-glass-1920.webp?v=local-water-1')}
.optical-lite .optical-pane{background-image:url('./assets/clean-glass-1280.webp?v=local-water-1')}
@media(max-width:760px){.optical-lite .optical-pane{background-image:url('./assets/clean-glass-mobile.webp?v=local-water-1')}}
@keyframes depth-descent{0%{transform:translate3d(0,-30px,0);opacity:0;filter:brightness(.94)}10%{transform:translate3d(0,-20px,0);opacity:.2;filter:brightness(.96)}30%{transform:translate3d(0,30vh,0);opacity:.3;filter:brightness(1.14)}42%{transform:translate3d(0,30vh,0);opacity:.27;filter:brightness(1.1)}75%{transform:translate3d(0,72vh,0);opacity:.23;filter:brightness(.97)}86%{transform:translate3d(0,72vh,0);opacity:.25;filter:brightness(1.08)}100%{transform:translate3d(0,108vh,0);opacity:0;filter:brightness(.94)}}
.optical-lite .depth-drop:nth-child(3){top:45%!important}.optical-lite .depth-drop:nth-child(4){top:82%!important}

@keyframes depth-descent{0%{transform:translate3d(0,-30px,0);opacity:0;filter:brightness(.94)}10%{transform:translate3d(0,-20px,0);opacity:calc(var(--drop-alpha)*.72);filter:brightness(.98)}30%{transform:translate3d(0,30vh,0);opacity:var(--drop-alpha);filter:brightness(1.23)}42%{transform:translate3d(0,30vh,0);opacity:calc(var(--drop-alpha)*.92);filter:brightness(1.16)}75%{transform:translate3d(0,72vh,0);opacity:calc(var(--drop-alpha)*.8);filter:brightness(1.02)}86%{transform:translate3d(0,72vh,0);opacity:calc(var(--drop-alpha)*.88);filter:brightness(1.14)}100%{transform:translate3d(0,108vh,0);opacity:0;filter:brightness(.94)}}
.depth-drop-far{z-index:0}.optical-lite .depth-drop{opacity:.15!important}

/* Keep the lens plane stable until its shared texture has decoded. */
.depth-droplets{opacity:0;transition:opacity .9s ease}
.drops-ready .depth-droplets{opacity:1}
html.motion-disabled .depth-droplets{transition:none}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .depth-droplets{transition:none}}
.hero-art[data-video-state="adapting"] .hero-art-poster{transition:none}
.icon-arrow{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.125em}
.contact-phone{display:flex;width:fit-content;max-width:100%;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:48px;margin-top:28px;font-size:clamp(23px,2vw,29px);font-weight:750;line-height:1.4;color:#f4f3f8}
.contact-phone span{font-size:13px;font-weight:600;color:#c8a8ff;text-decoration:underline;text-underline-offset:4px}
.contact-phone:hover{color:#cbb4ff}
.contact-phone:focus-visible{outline:2px solid #c5a5ff;outline-offset:5px;border-radius:4px}
.contact-phone+.contact-email{margin-top:14px}
