/* Spatial ink: live depth mesh, three independently moving atmospheric planes. */
.depth-canvas{position:absolute;inset:0;width:100%;height:100%;display:none;pointer-events:none}
.depth-rendered .depth-canvas{display:block}
.depth-rendered .hero-video,.depth-rendered .hero-poster{opacity:0!important}
.hero-camera,.hero-media{transform:none;filter:none}
.hero-copy{top:27%;left:21%;right:4.2vw;z-index:3}
.hero-eyebrow{margin-bottom:22px}
.hero-title-depth{transform-origin:20% 50%;will-change:transform}
.hero-copy h1{font-size:clamp(110px,20vw,330px);line-height:.85;letter-spacing:-.068em}
.hero-copy .hero-eyebrow{margin-left:29vw}
.hero-caption{position:absolute;top:57%;left:50%;right:4.2vw;z-index:6}
.hero-foreground-plane{position:absolute;inset:0;z-index:4;pointer-events:none;visibility:hidden;transform-origin:24% 50%;will-change:transform}
.hero-foreground{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
/* Suppress the original moving subject beneath the independently moving PNG. */
.foreground-backplate{mask-image:linear-gradient(to right,transparent 0%,transparent 43%,#000 58%),linear-gradient(to bottom,#000 0%,#000 63%,transparent 82%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 43%,#000 58%),linear-gradient(to bottom,#000 0%,#000 63%,transparent 82%);-webkit-mask-composite:source-in}
.hero-purpose{font-size:clamp(22px,2.8vw,48px);letter-spacing:-.048em;line-height:1.02;margin-top:27px;font-weight:500}
.hero-sub{margin-top:24px}
.hero-sub p{font-size:15px;color:#42443f}
.hero-sub .micro{font-size:10px}
.depth-atmosphere,.depth-ink,.depth-mist{position:absolute;pointer-events:none}
.depth-far{z-index:1;inset:-10%;opacity:.13;transform-origin:75% 40%;background:radial-gradient(ellipse at 75% 38%,rgba(246,246,239,.7),transparent 42%),radial-gradient(ellipse at 60% 75%,rgba(238,238,232,.7),transparent 45%);filter:blur(8px)}
.depth-mid{z-index:2;inset:-12%;opacity:.09;transform-origin:50% 75%;background:radial-gradient(ellipse at 55% 60%,rgba(235,236,225,.6),transparent 31%),radial-gradient(ellipse at 12% 92%,rgba(247,247,239,.75),transparent 27%);filter:blur(12px)}
.depth-near{z-index:5;inset:-20%;opacity:0;transform-origin:20% 75%;background:radial-gradient(ellipse at 25% 75%,rgba(239,240,232,.92),rgba(239,240,232,.75) 11%,transparent 32%),radial-gradient(ellipse at 63% 52%,rgba(241,241,235,.82),transparent 25%);filter:blur(18px)}
.depth-ink{z-index:6;inset:0;opacity:0;overflow:clip}
.depth-ink i{position:absolute;display:block;border-radius:70% 20% 80% 10%;background:rgba(19,21,18,.62);will-change:transform;transform-origin:center;pointer-events:none}
.depth-mist{z-index:7;inset:-16%;mask-image:radial-gradient(ellipse 0% 0% at 76% 46%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 0% 0% at 76% 46%,#000,transparent);background:#eeeee8;filter:blur(12px);opacity:1}
.depth-near{z-index:7}.depth-ink{z-index:8}.depth-mist{z-index:9}
.hero-bridge{z-index:10;inset:31% var(--gutter) auto 34%}
.hero-footer{z-index:12}
.hero-footer .begin-link{color:var(--paper);text-shadow:0 1px 8px rgba(0,0,0,.45)}
.reduced-motion .hero-foreground-plane{display:none}
.reduced-motion .hero-copy .hero-eyebrow{margin-left:0}
.reduced-motion .hero-caption{position:relative;inset:auto;padding:0 var(--gutter) 60px;background:var(--paper)}
.reduced-motion .hero-purpose{margin-top:0}
.reduced-motion .depth-atmosphere,.reduced-motion .depth-ink,.reduced-motion .depth-mist,.reduced-motion .depth-canvas{display:none}
.reduced-motion .hero-title-depth{transform:none!important}
.reduced-motion .hero-copy h1{font-size:18vw}
.reduced-motion .hero-purpose{opacity:1!important;visibility:visible!important;transform:none!important}
@media(max-width:1000px) and (min-width:601px){.hero-copy{left:25%;top:28%}.hero-copy h1{font-size:22vw}.hero-caption{left:51%;top:56%}.hero-purpose{font-size:3.4vw}.hero-sub{flex-direction:column;align-items:start;gap:15px}.hero-bridge p{font-size:9vw}}
@media(max-width:1000px) and (min-width:601px){.hero-foreground{object-position:26% 50%}.hero-caption::before{content:"";position:absolute;inset:-40px;z-index:-1;background:radial-gradient(ellipse at 40% 35%,rgba(238,238,232,.98),rgba(238,238,232,.84) 43%,transparent 78%);filter:blur(12px)}.reduced-motion .hero-caption::before{display:none}}
@media(max-width:600px){
 .hero-copy{top:28%;bottom:auto;left:24%;right:16px}
 .hero-copy .hero-eyebrow{position:absolute;top:-26px;left:8vw;margin:0;white-space:nowrap}
 .hero-caption{top:64%;left:24px;right:24px}
 .hero-footer .begin-link{color:var(--ink);text-shadow:none}
 .hero-camera{inset:11% -25% auto;height:52%}
 .hero-foreground-plane{inset:13% -15% auto;height:48%;transform-origin:28% 50%;mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 99%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 99%)}
 .hero-foreground{object-position:10% 50%}
 .hero-copy h1{font-size:27vw;line-height:.88;letter-spacing:-.065em}
 .hero-eyebrow{font-size:8px;margin-bottom:15px}
 .hero-purpose{font-size:6.2vw;line-height:.99;margin-top:18px;letter-spacing:-.04em}
 .hero-sub{margin-top:16px;gap:10px;flex-direction:column;align-items:start}
 .hero-sub p{font-size:12px;line-height:1.45}.hero-sub .micro{font-size:8px}
 .depth-far,.depth-mid{inset:17% -10% auto;height:39%;filter:blur(6px)}
 .depth-far{background:radial-gradient(ellipse at 82% 48%,rgba(244,245,236,.7),transparent 58%)}
 .depth-mid{background:radial-gradient(ellipse at 38% 70%,rgba(245,245,236,.7),transparent 40%)}
 .depth-near{inset:12% -25% 12%;filter:blur(10px);background:radial-gradient(ellipse at 20% 55%,rgba(242,243,235,.94),rgba(242,243,235,.8) 16%,transparent 42%)}
 .depth-ink{inset:18% 0 23%}.depth-mist{filter:blur(7px)}
 .hero-bridge{inset:60% 24px auto}
 .reduced-motion .hero-copy h1{font-size:27vw}
 .reduced-motion .hero-copy{inset:auto}
 .reduced-motion .hero-copy .hero-eyebrow{position:static;margin:0 0 15px;white-space:normal}
 .reduced-motion .hero-caption{padding-bottom:35px}
}
