/* One continuous glass canvas, shared by every section. */
body { isolation:isolate; background:#811c30; }
#toolkit,#work,#videos,#services,#about { scroll-margin-top:32px; }
.liquid-backdrop {
  position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none;
  background:radial-gradient(ellipse at 8% 15%,#bc4153 0,transparent 56%),
    radial-gradient(ellipse at 93% 90%,#b72e49 0,transparent 57%),
    linear-gradient(125deg,#811c30,#681328 62%,#95263b);
  contain:strict;
}
.liquid-glow {
  position:absolute; inset:-15%;
  background:radial-gradient(ellipse 35% 50% at 70% 37%,#ffb2bb30,transparent 78%),
    radial-gradient(ellipse 45% 25% at 20% 70%,#ff7f9422,transparent 80%);
  animation:glass-light 22s ease-in-out infinite alternate;
}
.glass-ribbon {
  position:absolute; width:85vw; height:145vh; min-height:900px;
  border-radius:46%; border:1px solid #ffd9df25;
  background:linear-gradient(120deg,#fff1f115,transparent 35%,#ffffff02 64%,#ffd1dc16 84%,#fff4f233);
  box-shadow:inset 3px 2px 7px #ffe8ec37,inset -8px -3px 22px #ffb7c224,
    7px 5px 28px #3c08131b;
  transform:rotate(-28deg); animation:glass-drift 28s ease-in-out infinite alternate;
}
.ribbon-one { left:49%; top:-75%; }
.ribbon-two {
  width:105vw; height:130vh; left:-50%; top:60%; opacity:.6;
  transform:rotate(-28deg); animation-direction:alternate-reverse; animation-delay:-12s;
}
@keyframes glass-light { to { transform:translate3d(-4%,4%,0) scale(1.07); } }
@keyframes glass-drift { to { transform:translate3d(3%,3%,0) rotate(-22deg); } }

/* Bright edges and a diffuse reflection make translucent surfaces read as glass. */
.glass {
  background:linear-gradient(120deg,#fff8f329,#ffffff0b 42%,#ffc9d219);
  border-color:#ffe5e34d;
  box-shadow:inset 0 1px 1px #fff6ed80,inset 0 -1px 1px #ffffff18,0 18px 45px #350a1826;
}
.glass:before {
  background:radial-gradient(ellipse at var(--light-x,35%) var(--light-y,0%),#fff8f325,transparent 60%),
    linear-gradient(115deg,transparent 20%,#fff8f209 45%,#fff8f216 49%,transparent 70%);
}
.toolkit-dock,.site-header nav,.glass-tag {
  backdrop-filter:blur(14px) saturate(1.35); -webkit-backdrop-filter:blur(14px) saturate(1.35);
}
.hero-shell,.services { background:transparent; }
.hero-description,.hero-bottom,.motion-toggle { color:#f0cdd3; }
h1>span { color:#ffc6cf; }

/* Entrance motion is attached only when JavaScript and the observer are ready. */
.js-motion .motion-enter {
  opacity:0; translate:0 22px;
  transition:opacity .75s var(--ease),translate .85s var(--ease);
  transition-delay:var(--enter-delay,0ms);
}
.js-motion .motion-enter.in-view { opacity:1; translate:0 0; }
.js-motion .reveal { transition-duration:.75s; }
.js-motion .work-card.reveal.in-view .work-image>img { animation:art-settle 1.2s var(--ease) both; }
@keyframes art-settle { from { scale:1.06; } to { scale:1; } }
.hero-mark { transition:translate 1s var(--ease),rotate 1s var(--ease); }
.hero-mark>img,.craft-monogram { animation:mark-orbit 10s ease-in-out infinite; }
.craft-monogram { animation-duration:12s; animation-delay:-4s; }
@keyframes mark-orbit {
  0%,100% { transform:translate3d(0,0,0) rotateX(3deg) rotateY(-9deg) rotateZ(-4deg); }
  50% { transform:translate3d(0,-16px,0) rotateX(-3deg) rotateY(10deg) rotateZ(3deg); }
}
.brand-icon,.signature>span,.button>span,.service-link>span,.avatar,.quote-mark {
  transition:transform .5s var(--ease);
}
.site-header nav a:after {
  content:''; position:absolute; left:30%; right:30%; bottom:4px; height:1px;
  background:#ffe1e3; transform:scaleX(0); transition:transform .3s var(--ease);
}
.work-image { transition:box-shadow .5s,border-color .5s; }
.work-open { transition:transform .4s var(--ease),background .3s; }
.video-play-icon { transition:scale .4s var(--ease),background .3s; }
.service-card,.testimonial-card,.video-card,.cta-inner {
  transition:translate .45s var(--ease),box-shadow .45s,border-color .45s;
}
.js-motion :is(.service-card,.testimonial-card,.video-card,.cta-inner).reveal {
  transition-property:opacity,transform,translate,box-shadow,border-color;
  transition-duration:.75s,.5s,.45s,.45s,.45s;
}
.service-tags>span,.about-disciplines>span {
  transition:background .3s,border-color .3s,translate .3s var(--ease);
}
.tool img { transition:transform .5s cubic-bezier(.2,.8,.25,1.3),filter .4s; }
@media(hover:hover) and (pointer:fine) {
  .site-header nav a:is(:hover,:focus-visible):after { transform:scaleX(1); }
  .brand:hover .brand-icon { transform:rotateY(25deg) rotateZ(-7deg); }
  .about-label:hover .signature>span { transform:translate(5px,-5px); }
  .button:hover>span,.service-link:hover>span { transform:translate(3px,-3px); }
  .work-card:hover .work-image { border-color:#ffece78c; box-shadow:0 24px 50px #31091850; }
  .work-card:hover .work-image>img { transform:scale(1.04); }
  .work-card:hover .work-open { transform:rotate(8deg) scale(1.08); }
  .video-cover:hover .video-play-icon { scale:1.1; }
  .video-card:hover,.testimonial-card:hover { translate:0 -6px; border-color:#ffece78c; }
  .testimonial-card:hover .avatar { transform:scale(1.08) rotate(-4deg); }
  .testimonial-card:hover .quote-mark { transform:translateY(-4px) rotate(-8deg); }
  .service-tags>span:hover,.about-disciplines>span:hover { background:#ffffff16; border-color:#ffe8e682; translate:0 -2px; }
  .tool:hover img { transform:translateY(-8px) rotate(-7deg) scale(1.14); filter:drop-shadow(0 10px 10px #25071655); }
}
.button:active,.work-card:active { scale:.985; }
.work-card:focus-visible .work-open { background:#fff; }
.video-cover:focus-visible .video-play-icon { outline:2px solid #fff; outline-offset:5px; }
dialog[open] { animation:dialog-enter .3s var(--ease); }
dialog[open]::backdrop { animation:backdrop-enter .3s ease; }
@keyframes dialog-enter { from { opacity:0; transform:translateY(18px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes backdrop-enter { from { opacity:0; } to { opacity:1; } }
@media(max-width:650px) {
  .glass-ribbon { width:140vw; min-height:780px; }
  .ribbon-one { left:39%; top:-57%; }
  .ribbon-two { width:165vw; left:-90%; top:69%; }
  .toolkit-dock { backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
  .js-motion .motion-enter { translate:0 15px; }
}
/* Pause controls also disable pointer motion, keeping all content visible. */
.motion-paused { scroll-behavior:auto; }
.motion-paused *,.motion-paused *:before,.motion-paused *:after {
  animation-play-state:paused!important; transition:none!important;
}
.motion-paused .motion-enter,.motion-paused .reveal { opacity:1; translate:none; }
.motion-paused .hero-mark,.motion-paused .service-card,.motion-paused .cta-inner {
  transform:none!important; translate:none!important; rotate:none!important;
}
.motion-paused .work-image>img { animation:none!important; }
.motion-paused :is(.tool img,.avatar,.quote-mark,.brand-icon,.signature>span,.button,.button>span,.service-link>span,.work-open,.video-cover>img) { transform:none!important; }
.motion-paused :is(.testimonial-card,.video-card,.service-tags>span,.about-disciplines>span) { translate:none!important; }
.motion-paused dialog[open],.motion-paused dialog[open]::backdrop { animation:none!important; }
.page-inactive *,.page-inactive *:before,.page-inactive *:after { animation-play-state:paused!important; }
@media(prefers-reduced-motion:reduce) {
  html:not(.motion-opt-in) .motion-enter { opacity:1; translate:none; }
  html:not(.motion-opt-in) :is(.hero-mark,.service-card,.cta-inner) { transform:none!important; translate:none!important; rotate:none!important; }
  html:not(.motion-opt-in) :is(.testimonial-card,.video-card,.service-tags>span,.about-disciplines>span) { translate:none!important; }
  html:not(.motion-opt-in) :is(.work-image>img,.tool img,.button,.button>span,.avatar,.quote-mark,.video-cover>img) { transform:none!important; }
}
