/* Structure follows native page scroll; the bounded lifestyle rail is defined in product-refinement.css. */
.craft-atmosphere { position:absolute; inset:-5%; background:radial-gradient(ellipse at 72% 49%, #8b9d6752, transparent 46%), radial-gradient(ellipse at 15% 12%, #46654150, transparent 52%); pointer-events:none; }
.craft-opening, .craft-details { position:relative; margin:12vh 8.4vw 4vh; }
.craft-opening-note, .layer-description { font-size:clamp(14px,1.12vw,19px); line-height:2; color:#eeeadeb8; letter-spacing:.035em; }
.motion-text-button { display:inline-flex; align-items:center; gap:3vw; background:none; border:0; border-bottom:1px solid #d9cbac70; color:#d9cbac; padding:1.5vh 0; font:12px "Moments Sans", var(--sans); letter-spacing:.08em; cursor:pointer; }
.craft-whole { position:relative; width:55vw; margin:0 auto; outline:0; }
.whole-object { transform:none; }
.craft-whole .patch-surface { width:100%; display:block; overflow:visible; transition:transform 700ms cubic-bezier(.2,.7,.2,1), filter 700ms; }
.craft-whole:hover .patch-surface, .craft-whole:focus-visible .patch-surface { transform:scale(1.045); filter:brightness(1.055) drop-shadow(0 18px 35px #d6e7ae22); }
.craft-whole:focus-visible { outline:1px solid #d9cbac80; outline-offset:8px; }
.craft-layer-detail { margin:5vh 0; max-width:35em; }
.craft-layer-detail h3 { font:400 clamp(35px,3.7vw,64px)/1.5 "Moments Serif",var(--serif); letter-spacing:.03em; margin:0 0 2.4vh; }
.layer-counter { display:block; font:12px Georgia,serif; letter-spacing:.2em; margin-bottom:2vh; color:#d8bc89; }
.craft-layer-detail .heat-timing { max-width:30vw; margin-top:3vh; }
.craft-exploded { display:none; }
.layer-navigation { position:relative; display:flex; gap:1.4vw; margin:3vh 8.4vw; }
.layer-navigation button { padding:0 0 1.2vh; flex:1; max-width:54px; border:0; border-bottom:1px solid #d9cbac55; background:none; color:#eddfc4; font:12px Georgia,serif; cursor:pointer; }
.layer-navigation button span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.layer-navigation button[aria-current=step] { color:#fff1cb; border-color:#e7c989; border-bottom-width:2px; }
.layer-navigation button:focus-visible, .motion-text-button:focus-visible, .ritual-navigation button:focus-visible { outline:1px solid #e7c989; outline-offset:6px; }
.craft-disclaimer { font-size:10px; letter-spacing:.05em; opacity:.4; text-align:center; margin:4vh 0 10vh; }
.ritual-heading-block { position:relative; padding:18vh 8.4vw 5vh; }
.ritual-heading-block h2 { font-size:clamp(34px,3.4vw,59px); line-height:1.45; }
.ritual-heading-block > p:last-child { color:#f3f0e6aa; font-size:clamp(13px,1vw,17px); line-height:1.9; letter-spacing:.035em; }
.ritual-gallery { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:2vw; margin:0 8vw 14vh; }
.ritual-window { position:relative; overflow:hidden; background:#203024; aspect-ratio:4/3; box-shadow:0 22px 60px #0003; }
.ritual-window img { display:block; width:100%; height:100%; object-fit:cover; object-position:65% center; }
.ritual-window[data-ritual-window="0"] img { object-position:65% 12%; }
.ritual-window[data-ritual-window="2"] img { object-position:65% 25%; }
.ritual-window::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#04140dcc,transparent 65%); }
.ritual-window-hit { position:absolute; z-index:3; inset:0; width:100%; height:100%; cursor:pointer; background:none; border:0; }
.ritual-window-hit:focus-visible { outline:1px solid #f4d6a0; outline-offset:-7px; }
.ritual-window-caption { position:absolute; z-index:2; left:6%; bottom:7%; pointer-events:none; }
.ritual-window-caption > span { font-size:12px; letter-spacing:.12em; color:#eadbbd; }
.ritual-window-caption h3 { font:400 clamp(19px,2.3vw,38px)/1.7 "Moments Serif",var(--serif); letter-spacing:.045em; margin:1.7vh 0 0; }
.ritual-navigation { display:none; }
:root:not(.motion-enabled) .craft-chapter, :root:not(.motion-enabled) .ritual-chapter { height:auto; min-height:100vh; padding-bottom:8vh; }
:root:not(.motion-enabled) .layer-navigation, :root:not(.motion-enabled) .motion-text-button, :root:not(.motion-enabled) .ritual-window-hit { display:none; }
/* Fixed stage choreography. All motion is a deterministic function of scroll. */
.motion-enabled .story:has(.ritual-chapter) { height:1725vh; }
.motion-enabled .craft-opening { position:absolute; left:8.4vw; top:30vh; width:41vw; margin:0; z-index:3; opacity:calc(var(--craft-copy-opacity) * var(--craft-intro,1)); transform:translateY(calc((1 - var(--craft-intro,1)) * -20px)); }
.motion-enabled .craft-opening h2 { font-size:clamp(37px,3.8vw,65px); }
.motion-enabled .craft-atmosphere { filter:blur(var(--craft-bg-blur,0px)); transform:scale(var(--craft-bg-scale,1)); opacity:var(--craft-bg-opacity,1); }
.motion-enabled .craft-whole { position:absolute; z-index:2; left:51vw; top:53vh; width:min(45vw,70vh); margin:0; transform:translate(var(--whole-x,0vw),var(--whole-y,0vh)) translateY(-50%) scale(var(--whole-scale,1)); transform-origin:50% 50%; opacity:var(--whole-opacity,1); }

.motion-enabled .craft-details { position:absolute; z-index:3; left:8.4vw; top:27vh; width:36vw; margin:0; opacity:var(--craft-copy-opacity); }
.motion-enabled .craft-layer-detail { position:absolute; top:0; margin:0; width:100%; opacity:var(--detail-opacity,0); transform:translateY(var(--detail-y,12px)); pointer-events:none; }
.motion-enabled .craft-exploded { display:block; position:absolute; inset:0; pointer-events:none; opacity:var(--exploded-opacity,0); }
.motion-enabled .layer-slice { position:absolute; left:51vw; top:var(--slice-y,50vh); width:42vw; transform:translate(var(--slice-x,0vw),-50%) scale(var(--slice-scale,1)); transform-origin:center; opacity:var(--slice-opacity,.3); filter:blur(var(--slice-blur,0px)) brightness(var(--slice-brightness,1)); }
.layer-slice svg { width:100%; height:auto; display:block; overflow:visible; }
.motion-enabled .layer-navigation { position:absolute; z-index:4; left:8.4vw; bottom:13vh; width:26vw; margin:0; opacity:calc(var(--exploded-opacity,0) * var(--craft-copy-opacity)); }
.motion-enabled .craft-disclaimer { position:absolute; bottom:11vh; left:51vw; width:42vw; margin:0; opacity:calc(var(--exploded-opacity,0) * .4); }
.motion-enabled .ritual-chapter { background:radial-gradient(ellipse at 50% 60%,#2c402b,#102017 75%); }
.motion-enabled .ritual-heading-block { position:absolute; z-index:2; top:20vh; left:8.4vw; padding:0; transform:translateY(calc(var(--gallery-focus,0) * -3vh)); opacity:var(--ritual-copy-opacity); }
.motion-enabled .ritual-heading-block .product-eyebrow { margin-bottom:1vh; }
.motion-enabled .ritual-heading-block h2 { font-size:clamp(30px,3.4vw,59px); transform-origin:left center; transform:scale(calc(1 - var(--gallery-focus,0) * .19)); }
.motion-enabled .ritual-heading-block > p:last-child { opacity:calc(1 - var(--gallery-focus,0)); margin-top:1.3vh; }
.motion-enabled .ritual-gallery { position:absolute; inset:0; display:block; margin:0; }
.motion-enabled .ritual-window { position:absolute; left:var(--window-x); top:var(--window-y); width:var(--window-w); height:var(--window-h); aspect-ratio:auto; opacity:var(--window-opacity,1); z-index:var(--window-z,1); transform:translateY(var(--window-lift,0px)); }
.motion-enabled .ritual-window img { filter:brightness(var(--window-light,1)); }
.motion-enabled .ritual-window-caption { opacity:var(--window-caption,1); }
.motion-enabled .ritual-window-caption h3 { opacity:var(--window-focus,0); max-height:calc(var(--window-focus,0) * 20vh); }
.motion-enabled .ritual-navigation { position:absolute; z-index:5; left:8.4vw; bottom:10.5vh; display:flex; gap:2.5vw; opacity:var(--ritual-copy-opacity); }
.ritual-navigation button { padding:1vh 0; border:0; border-bottom:1px solid #f3f0e633; color:#f3f0e699; background:none; font:12px "Moments Sans",var(--sans); letter-spacing:.05em; cursor:pointer; }
.ritual-navigation button[aria-current=step] { color:#edcfa0; border-color:#edcfa0; }
@media (max-aspect-ratio:4/3) {
  .motion-enabled .craft-whole { top:53vh; }
  .motion-enabled .craft-details { top:31vh; }
  .motion-enabled .craft-opening { top:34vh; }
}
@media (prefers-reduced-motion:reduce) {
  .craft-chapter, .ritual-chapter { height:auto; min-height:100vh; padding-bottom:8vh; }
  .craft-whole { width:48vw; }
  .layer-navigation, .motion-text-button { display:none; }
  .ritual-gallery { grid-template-columns:1fr; }
  .ritual-window { aspect-ratio:16/9; }
  .site-header { position:absolute; }
}

/* Product pixels alone remain visible; no tinted rectangular photo background. */
.outer-material .patch-surface { aspect-ratio:780 / 205; height:auto; }
.skin-material svg { filter:grayscale(1) brightness(1.12); }
