/* A home-only fabric study. The document stays readable without motion or JavaScript. */
.home .hero { isolation:isolate; }
.home header { position:sticky;top:0;z-index:30; }
.inside-journey { scroll-margin-top:-26px; }
.home .fabric { animation:none; }
.fabric-canvas { position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.4s;pointer-events:none; }
.fabric-canvas[data-ready="true"] { opacity:1; }
.fabric-shade { position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,#142e2810 15%,#102a2460 100%),linear-gradient(0deg,#203732 0%,transparent 22%);pointer-events:none; }
.home .hero-content { text-shadow:0 2px 30px #132c2855; }
.home .hero .scroll-note { z-index:2; }
.scatter-readable { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.scatter-word { display:inline-block;white-space:nowrap; }
.scatter-letter { display:inline-block;transform-origin:50% 65%; }
.scatter-enabled .hero-content { transform:translateY(var(--scatter-follow,0px)); }
.scatter-enabled .scatter-letter { --flight:clamp(0,calc((var(--scatter-progress,0) - var(--flight-delay)) * 1.65),1);transform:perspective(800px) translate3d(calc(var(--flight-x) * var(--flight)),calc(var(--flight-y) * var(--flight)),0) rotateZ(calc(var(--flight-turn) * var(--flight))) rotateY(calc(var(--flight-tilt) * var(--flight)));opacity:clamp(0,calc(1.6 - var(--flight) * 1.6),1);will-change:transform,opacity; }
.scatter-enabled .hero-content>.sanskrit { transform:translateY(calc(var(--scatter-progress,0) * -140px)) scale(calc(1 + var(--scatter-progress,0) * .25));opacity:clamp(0,calc(1 - var(--scatter-progress,0) * 2.6),1); }
.scatter-enabled .hero-content>.primary { transform:translateY(calc(var(--scatter-progress,0) * 80px));opacity:clamp(0,calc(1 - var(--scatter-progress,0) * 3),1); }
.scatter-enabled .hero-content>.primary:focus-visible { opacity:1;transform:none; }
.scatter-enabled .scroll-note { opacity:clamp(0,calc(1 - var(--scatter-progress,0) * 4),1); }
.inside-journey { --progress:0;--outside:1;--garment-scale:1;--garment-x:0px;--garment-y:0px;--garment-opacity:1;--veil:0;--part:0%;--whisper:0;--inside:0;--inside-y:28px;position:relative;background:var(--ink); }
.journey-stage { position:relative;isolation:isolate;overflow:hidden;padding:100px var(--gutter); }
.outside-copy { max-width:480px;position:relative;z-index:2; }
.outside-copy h2 { font-size:clamp(58px,7.5vw,122px);margin:22px 0; }
.outside-copy>p:not(.eyebrow) { color:#d1ddd5; }
.journey-invitation { display:block;font-size:9px;letter-spacing:.2em;color:var(--mint);margin-top:34px; }
.journey-invitation span { display:inline-block;margin-left:12px;font-size:18px; }
.journey-garment { width:min(420px,80vw);margin:40px auto 70px; }
.journey-garment .garment-crop { background:#dfe2d5;box-shadow:0 30px 80px #0c21183d;border-radius:2px; }
.journey-garment figcaption { text-align:center;font-size:8px;letter-spacing:.17em;color:var(--mint);margin-top:16px; }
.inside-copy { position:relative;text-align:center;z-index:4;padding:90px 0 25px; }
.inside-copy h2 { font-size:clamp(62px,8.7vw,140px);margin:24px 0;line-height:.93; }
.inside-copy h2 em { color:var(--chalk); }
.inside-line { font:clamp(27px,3.1vw,46px)/1.12 var(--serif);margin:25px auto 20px; }
.inside-description { font-size:13px;line-height:1.8;color:#c5d1c9;margin:0 auto 24px;max-width:490px; }
.inside-copy .text-link { font-size:21px; }
.journey-glow,.fabric-veil,.fabric-whisper,.journey-progress { display:none; }
.inside-journey.reveal-enabled { height:380svh; }
.reveal-enabled .journey-stage { position:sticky;top:54px;height:calc(100svh - 54px);min-height:480px;padding:0; }
.reveal-enabled .journey-glow { display:block;position:absolute;inset:0;background:radial-gradient(ellipse at 65% 45%,#7da79836,transparent 66%); }
.reveal-enabled .outside-copy { position:absolute;left:var(--gutter);top:50%;width:40%;transform:translateY(calc(-50% - var(--progress) * 50px));opacity:var(--outside); }
.reveal-enabled .journey-garment { position:absolute;top:50%;left:57%;width:min(33vw,440px,62svh);margin:0;transform:translate(var(--garment-x),calc(-50% + var(--garment-y))) scale(var(--garment-scale));transform-origin:50% 35%;opacity:var(--garment-opacity);will-change:transform,opacity; }
.reveal-enabled .fabric-veil { display:block;position:absolute;inset:0;z-index:3;opacity:var(--veil);pointer-events:none; }
.cloth-panel { position:absolute;inset:-6%;background:linear-gradient(115deg,#35564b40,#102e2970),url('/assets/fabric-editorial.png') center/cover;will-change:transform; }
.cloth-left { clip-path:polygon(0 0,57% 0,46% 100%,0 100%);transform:translateX(calc(0% - var(--part))) scale(1.07); }
.cloth-right { clip-path:polygon(57% 0,100% 0,100% 100%,46% 100%);transform:translateX(var(--part)) scale(1.07); }
.reveal-enabled .fabric-whisper { display:block;position:absolute;z-index:4;inset:0;align-content:center;text-align:center;font:clamp(46px,7vw,100px)/1 var(--serif);opacity:var(--whisper);pointer-events:none; }
.reveal-enabled .inside-copy { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:45px 24px 80px;opacity:var(--inside);transform:translateY(var(--inside-y));pointer-events:none; }
.reveal-enabled .inside-copy.is-current { pointer-events:auto; }
.reveal-enabled .journey-progress { display:flex;position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:5;width:min(350px,75vw);align-items:center;gap:20px;font-size:9px;letter-spacing:.12em;color:var(--mint); }
.journey-line { flex:1;height:1px;background:#b8d5c630; }
.journey-line i { display:block;height:1px;background:var(--mint);transform:scaleX(var(--progress));transform-origin:left; }
.chapter-outside { opacity:calc(1 - var(--progress) * .65); }
.chapter-inside { opacity:calc(.35 + var(--progress) * .65); }
@media(max-width:760px) {
 .home .hero h1 { font-size:clamp(54px,12.8vw,95px); }
 .reveal-enabled .journey-stage { top:70px;height:calc(100svh - 70px); }
 .inside-journey.reveal-enabled { height:330svh; }
 .reveal-enabled .outside-copy { width:calc(100% - 48px);left:24px;top:7%;transform:translateY(calc(var(--progress) * -35px));text-align:center;max-width:none; }
 .outside-copy h2 { font-size:49px;margin:10px 0; }
 .outside-copy h2 br { display:none; }
 .outside-copy>p:not(.eyebrow) { font-size:12px;line-height:1.5; }
 .outside-copy>p br { display:none; }
 .journey-invitation { margin-top:10px;font-size:8px; }
 .journey-invitation span { font-size:13px; }
 .reveal-enabled .journey-garment { width:min(52vw,29svh);left:50%;top:61%;margin-left:calc(min(52vw,29svh) / -2); }
 .journey-garment figcaption { font-size:7px;margin-top:10px; }
 .inside-copy h2 { font-size:clamp(61px,16vw,92px);margin:20px 0; }
 .inside-copy .eyebrow { font-size:8px; }
 .inside-line { font-size:29px;max-width:300px; }
 .inside-description { font-size:12px;max-width:300px; }
 .reveal-enabled .journey-progress { bottom:60px;font-size:8px; }
 .home .ambience { position:fixed;bottom:12px;left:16px;right:16px;z-index:20; }
 .home .ambience button { font-size:9px;padding:6px 9px;background:#203732dc; }
 .home footer { padding-bottom:70px; }
}
@media(max-height:620px) and (min-width:761px) {
 .outside-copy h2 { font-size:65px; }
 .inside-copy h2 { font-size:76px;margin:15px 0; }
 .inside-line { margin:15px 0;font-size:32px; }
 .inside-description { font-size:12px;margin-bottom:15px; }
}
@media(prefers-reduced-motion:reduce) {
 .fabric-canvas { display:none; }
}
