/* Hương Ly V3.7 — original reversible cinematic motion system.
   Inspired by high-level scroll/cursor interaction techniques, NOT copied from Immersive Garden.
   Progressive enhancement: HTML and navigation remain readable without JS.
   Scroll progress is an absolute function of scroll position, so up/down are symmetrical.
*/
html.ig7-scrub {
  --ig7-green:#e2ffbc;
  --ig7-forest:#043323;
  --ig7-gold:#c6b679;
  scroll-behavior:auto;
}
html.ig7-scrub .motion-controls,
html.ig7-scrub [data-motion-controls] {display:none!important;}
/* Turn off the old time-based entry animations. The new scroll values are deterministic. */
html.ig7-scrub .m32-hero .reveal,
html.ig7-scrub .m32-hero .m32-line-inner,
html.ig7-scrub .m32-hero .arch,
html.ig7-scrub .m32-hero .v3-floating-photo,
html.ig7-scrub .m32-hero .arch-line path,
html.ig7-scrub .v36-hero .reveal {
  animation:none!important;
  transition:none!important;
  opacity:1!important;
}
html.ig7-scrub .v3-hero {
  min-height:clamp(810px,115vh,1550px);
  isolation:isolate;
  position:relative;
  overflow:hidden;
}
html.ig7-scrub .v3-hero > .wrap {
  position:relative;
  z-index:2;
}
html.ig7-scrub .v3-hero::before {
  opacity:.45;
  transform:translate3d(var(--ig7-glow-x,0px),var(--ig7-glow-y,0px),0);
  transition:none!important;
}
html.ig7-scrub .v3-hero::after {
  transform:translate3d(0,var(--ig7-back-y,0px),0) rotate(var(--ig7-back-rot,0deg));
  opacity:var(--ig7-back-alpha,.4);
}
html.ig7-scrub .v3-hero .copy {
  transform:translate3d(0,var(--ig7-copy-y,0px),0);
  opacity:var(--ig7-copy-opacity,1);
  transition:none!important;
  will-change:transform;
}
html.ig7-scrub .v3-hero .m32-line-inner {
  display:block;
  transform:translate3d(0,var(--ig7-head-y,0px),0);
  filter:blur(var(--ig7-head-blur,0px));
  opacity:1;
}
html.ig7-scrub .v3-hero .v3-hero-portrait {
  transform:translate3d(var(--ig7-portrait-x,0px),var(--ig7-portrait-y,0px),0)
    scale(var(--ig7-portrait-scale,1));
  transition:none!important;
}
html.ig7-scrub .v3-hero .arch-box {
  transform:perspective(950px) rotateX(var(--ig7-arch-x,0deg))
    rotateY(var(--ig7-arch-y,0deg));
  transition:none!important;
}
html.ig7-scrub .v3-hero .v3-floating-photo {
  transform:translate3d(var(--ig7-card-x,0px),var(--ig7-card-y,0px),0)
    rotate(var(--ig7-card-rot,-6deg))!important;
  transition:none!important;
}
.ig7-scene-canvas {
  position:absolute;inset:0;
  z-index:1;width:100%;height:100%;
  pointer-events:none;opacity:.47;
  mix-blend-mode:screen;
}
html.ig7-scrub .v3-hero .wrap,
html.ig7-scrub .v3-hero .portrait {isolation:isolate;}
.ig7-side-index {
 position:fixed;z-index:33;top:50%;right:24px;
 display:flex;flex-direction:column;align-items:center;gap:11px;
 transform:translateY(-50%);pointer-events:none;
 font:600 10px/1.1 'Segoe UI',Arial,sans-serif;color:#568067;
}
.ig7-side-index::before {
 content:'';position:absolute;top:-15px;bottom:-15px;left:50%;width:1px;
 transform:translateX(-50%);
 background:linear-gradient(#becfa9,transparent);
 opacity:.5;
}
.ig7-side-index .ig7-dot {
  position:relative;width:5px;height:5px;border-radius:50%;
  background:#5e9d76;border:1px solid #dde5cf;
  transition:background .2s,width .2s,height .2s;
}
.ig7-side-index .ig7-dot.is-current{
 width:10px;height:10px;background:#d3b563;border-color:#0f5c36;
}
.ig7-side-index .ig7-percent{
 margin-top:6px;font-variant-numeric:tabular-nums;
 background:#f0f4e9;padding:3px 6px;border-radius:3px;color:#1a6749;
}

/* Global scroll-linked editorial enhancement. Never hide functional content. */
html.ig7-scrub .section .head,
html.ig7-scrub .v36-theme,
html.ig7-scrub .posts .post,
html.ig7-scrub .v36-article-cover {
  translate:0 var(--ig7-reveal-y,0px);
  opacity:var(--ig7-reveal-opacity,1);
  transition:none!important;
}
html.ig7-scrub .v36-intro .photo-frame {
  overflow:hidden;
  border-radius:2px;
  filter:drop-shadow(0 14px 36px rgba(9,57,34,.11));
}
html.ig7-scrub .v36-intro .photo-frame img {
  transform:scale(var(--ig7-intro-scale,1.05)) translate3d(0,var(--ig7-intro-y,0px),0);
  transition:none!important;
}
html.ig7-scrub .v36-intro .photo-frame::after {
 content:"";position:absolute;inset:0;
 pointer-events:none;
 border-left:2px solid rgba(206,177,97,.5);
 clip-path:inset(0 0 var(--ig7-wipe,100%) 0);
 background:linear-gradient(103deg,transparent 60%,rgba(239,249,224,.19));
}
html.ig7-scrub .m32-story {
  position:relative;
  isolation:isolate;
  background:linear-gradient(150deg,#eef3e9 0%,#f7f5e9 45%,#e4f0e3 100%);
}
html.ig7-scrub .m32-story-visual {perspective:1100px;}
html.ig7-scrub .m32-story-stage {
  transform:translate3d(0,var(--ig7-story-y,0px),0)
    perspective(1100px) rotateY(var(--ig7-story-rot,0deg))
    scale(var(--ig7-story-scale,1));
  transition:none!important;
}
html.ig7-scrub .m32-story-curtain {
  display:block!important;
  clip-path:circle(4% at 52% 46%);
  transition:none!important;
  will-change:clip-path;
}
html.ig7-scrub .m32-story-base img {
 transform:scale(var(--ig7-story-photo-scale,1.12))
    translate3d(var(--ig7-story-photo-x,0px),0,0);
 transition:none!important;
}
html.ig7-scrub .m32-story-curtain img {
  transform:scale(var(--ig7-story-inner-scale,1.18));
  transition:none!important;
}
html.ig7-scrub .m32-story-circle {
  transform:translate3d(var(--ig7-story-ring-x,0px),var(--ig7-story-ring-y,0px),0)
    rotate(var(--ig7-story-ring-rot,0deg));
  transition:none!important;
}
html.ig7-scrub .m32-story-chapter {
  opacity:var(--ig7-chapter-opacity,.75);
  translate:0 var(--ig7-chapter-y,0px);
  transition:none!important;
}
html.ig7-scrub .m32-story-chapter::before {transition:none!important;}
html.ig7-scrub .m32-story-chapter[data-m32-current="true"]::before {
  bottom:calc(100% - 100% * var(--ig7-chapter-prog,1));
}
html.ig7-scrub .m32-story-chapter h3 {color:#064b32;}
html.ig7-scrub .m32-story-chapter:not([data-m32-current="true"]) h3 {color:#3a6754;}
html.ig7-scrub .v3-map-art.m32-halo {
  perspective:1200px;
  transform:translate3d(0,var(--ig7-halo-up,0px),0)
     scale(var(--ig7-halo-scale,1));
  transition:none!important;
}
html.ig7-scrub .m32-halo .m32-halo-rings {
  transform:rotateX(var(--ig7-halo-x,0deg))
     rotateY(var(--ig7-halo-y,0deg))
     rotateZ(var(--ig7-halo-z,0deg))!important;
  transition:none!important;
}
html.ig7-scrub .m32-halo::before {
 transform:translate3d(var(--ig7-halo-glow-x,0px),var(--ig7-halo-glow-y,0px),0)!important;
 transition:none!important;
}
html.ig7-scrub .m32-halo .v3-map-core {
 transform:translate3d(0,var(--ig7-core-y,0px),0) scale(var(--ig7-core-scale,1));
 transition:none!important;
}
html.ig7-scrub .v36-cards .plate img {
  transform:scale(var(--ig7-card-scale,1.05))
       translateY(var(--ig7-card-photo-y,0px));
  transition:none!important;
}
html.ig7-scrub .v36-cards .post:hover .plate img {filter:saturate(1.12);}

/* Independent, non-blocking desktop pointer + inertial ring. */
.ig7-cursor {
 position:fixed;top:0;left:0;z-index:9999;
 width:0;height:0;pointer-events:none;
 opacity:0;transition:opacity .18s ease;
 mix-blend-mode:difference;
}
.ig7-cursor.is-visible{opacity:1;}
.ig7-cursor-dot {
 position:absolute;left:-4px;top:-4px;width:8px;height:8px;
 border-radius:50%;background:#edfbd8;
 transform:translate3d(var(--ig7-px,-100px),var(--ig7-py,-100px),0);
 box-shadow:0 0 13px rgba(242,255,220,.65);
}
.ig7-cursor-ring {
 position:absolute;left:-23px;top:-23px;width:46px;height:46px;
 border-radius:50%;border:1px solid rgba(244,255,228,.9);
 transform:translate3d(var(--ig7-rx,-100px),var(--ig7-ry,-100px),0)
   scale(var(--ig7-ring-scale,1));
 background:rgba(224,249,221,.06);
 transition:width .12s,height .12s;
}
.ig7-cursor-label {
 position:absolute;left:18px;top:-39px;
 transform:translate3d(var(--ig7-rx,-100px),var(--ig7-ry,-100px),0);
 color:#fff;font:700 10px/1.2 'Segoe UI',Arial,sans-serif;
 white-space:nowrap;letter-spacing:.11em;text-shadow:0 1px 7px #000;
 opacity:0;
}
.ig7-cursor.is-action .ig7-cursor-ring {--ig7-ring-scale:1.42;}
.ig7-cursor.is-action .ig7-cursor-label{opacity:1;}
.ig7-cursor.is-action .ig7-cursor-dot{background:#fff6d3;}

/* Inertia response to hover, no scroll-lock or click interception. */
html.ig7-scrub a,html.ig7-scrub button,html.ig7-scrub select {scroll-margin:120px;}
html.ig7-scrub .v36-theme:focus-within,
html.ig7-scrub .v36-theme:hover {background:#f5f7ea;}
html.ig7-scrub .v36-theme {border-left:1px solid #afc9a3;}
html.ig7-scrub .site-header {z-index:60;}

@media(hover:hover) and (pointer:fine) and (min-width:901px){
 html.ig7-scrub.ig7-pointer-ready {cursor:none;}
 html.ig7-scrub.ig7-pointer-ready a,
 html.ig7-scrub.ig7-pointer-ready button {cursor:none;}
 html.ig7-scrub.ig7-pointer-ready input,
 html.ig7-scrub.ig7-pointer-ready textarea,
 html.ig7-scrub.ig7-pointer-ready select {cursor:auto;}
}
@media(max-width:900px){
  .ig7-cursor,.ig7-side-index {display:none!important;}
  html.ig7-scrub .v3-hero {min-height:unset;}
  html.ig7-scrub .v3-hero .arch-box {transform:none!important;}
  html.ig7-scrub .m32-story-visual {position:relative;top:auto;}
  html.ig7-scrub .m32-story-stage {transform:translateY(var(--ig7-story-y,0px)) scale(var(--ig7-story-scale,1))!important;}
  html.ig7-scrub .m32-story-curtain {display:block!important;}
  html.ig7-scrub .m32-halo .m32-halo-rings {transform:rotateZ(var(--ig7-halo-z,0deg))!important;}
}
@media(max-width:600px) {
  html.ig7-scrub .v3-hero .copy{opacity:1!important;}
  html.ig7-scrub .v3-hero .m32-line-inner{filter:none!important;}
  html.ig7-scrub .v3-hero .v3-hero-portrait {transform:translateY(var(--ig7-portrait-y,0px)) scale(var(--ig7-portrait-scale,1));}
  .ig7-scene-canvas {opacity:.33;}
}
/* Preserve basic accessibility: reduced-motion uses lower amplitude, not entirely
   empty visuals; directional scrub stays connected to scroll. No full-screen loader. */
@media(prefers-reduced-motion:reduce){
html:not([data-hly-tier="full"]) .ig7-cursor{display:none!important;}
html:not([data-hly-tier="full"]).ig7-scrub .m32-story-curtain{display:block!important;}
html:not([data-hly-tier="full"]).ig7-scrub .reveal{animation:none!important;}
html:not([data-hly-tier="full"]).ig7-scrub .arch{animation:none!important;}
html:not([data-hly-tier="full"]).ig7-scrub .m32-halo .m32-halo-rings{
  transform:rotateZ(var(--ig7-halo-z,0deg))!important;
 }
html:not([data-hly-tier="full"]) .ig7-scene-canvas{opacity:.18;}
}
/* Non-JS fallback must show all content in the original source. */
.no-js .ig7-cursor,.no-js .ig7-side-index,.no-js .ig7-scene-canvas{display:none!important;}


/* === V3.7 original pinned cinematic passage (not a copy of an outside site). === */
.ig7-cinematic {
  height:310vh;position:relative;isolation:isolate;
  scroll-margin-top:0;
  background:#071c17;
}
.ig7-cinema-pin{
  position:sticky;top:0;height:100vh;height:100svh;
  display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 75% 37%,#276047 0%,#09271b 49%,#031811 100%);
  color:#eef9df;
}
.ig7-cinema-surface {position:absolute;inset:0;pointer-events:none;perspective:1200px;z-index:0;overflow:hidden}
.ig7-cinema-surface::before {
 content:"";position:absolute;inset:0;
 background:radial-gradient(ellipse at 62% 45%,rgba(211,237,165,.16),transparent 38%),
 linear-gradient(90deg,rgba(2,30,20,.92) 0,rgba(2,30,20,.54) 48%,rgba(2,30,20,.04) 100%);
 z-index:4;pointer-events:none;
}
.ig7-cinema-surface::after {
 content:"";position:absolute;inset:-20%;
 pointer-events:none;z-index:3;
 opacity:.45;
 background-image:repeating-radial-gradient(circle at 65% 40%,transparent 0 67px,rgba(225,255,211,.065) 68px 69px,transparent 70px 100px);
 transform:scale(var(--ig7-cinema-grain-scale,1)) rotate(var(--ig7-cinema-grain-rot,0deg));
}
.ig7-cinema-circles{
 position:absolute;left:52%;top:45%;
 width:min(74vmin,740px);aspect-ratio:1;
 transform:translate(-50%,-50%) scale(var(--ig7-cinema-ring-scale,1))
 rotate(var(--ig7-cinema-ring-rot,0deg));
 transform-origin:50%;
 z-index:1;
}
.ig7-cinema-circles i{
 position:absolute;inset:0;border:1px solid rgba(219,247,197,.2);
 border-radius:50%;transform:scaleX(.85) rotate(33deg);
}
.ig7-cinema-circles i:nth-child(2){inset:12%;border-color:rgba(218,192,115,.36);transform:scaleX(.7) rotate(-21deg)}
.ig7-cinema-circles i:nth-child(3){inset:28%;border-color:rgba(218,255,207,.4);transform:scaleX(.62) rotate(45deg)}
.ig7-cinema-camera {
 width:min(60vw,870px);height:min(86vh,830px);
 position:absolute;left:50%;top:52%;
 transform:translate(-50%,-50%) perspective(1100px)
    translate3d(var(--ig7-cinema-x,0px),var(--ig7-cinema-y,0px),0)
    scale(var(--ig7-cinema-scale,1))
    rotateY(var(--ig7-cinema-yaw,0deg))
    rotateZ(var(--ig7-cinema-roll,0deg));
 transform-style:preserve-3d;will-change:transform;
 z-index:2;
}
.ig7-cinema-layer {
 display:block;position:absolute;inset:0;margin:auto;
 width:100%;height:100%;object-fit:contain;
 transition:none!important;pointer-events:none;
 filter:drop-shadow(0 18px 40px rgba(0,0,0,.18));
}
.ig7-cinema-first {
 width:80%;height:88%;
 opacity:var(--ig7-cinema-first,1);
 transform:translate3d(-6%,2%,0) rotate(var(--ig7-cinema-one-rot,0deg));
}
.ig7-cinema-second {
 width:96%;height:85%;
 opacity:var(--ig7-cinema-second,0);
 transform:translate3d(5%,1%,0) scale(var(--ig7-cinema-two-scale,1.16));
}
.ig7-cinema-third{
 width:85%;height:100%;
 opacity:var(--ig7-cinema-third,0);
 transform:translate3d(6%,6%,0) rotate(var(--ig7-cinema-three-rot,-8deg));
}
.ig7-cinema-content{
 position:relative;z-index:7;display:grid;grid-template-rows:auto 1fr auto auto;
 min-height:100%;width:min(1200px,calc(100% - 10vw));
 pointer-events:none;
}
.ig7-cinema-heading{display:flex;align-items:center;justify-content:space-between;
 padding-block:clamp(105px,12vh,160px) 0;
 gap:18px;font:700 11px/1.3 "Segoe UI",Arial,sans-serif;letter-spacing:.16em;
 color:#b5e9a9;}
.ig7-cinema-texts{position:relative;min-height:400px;}
.ig7-cinema-text{
 position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
 pointer-events:none;
 opacity:var(--ig7-cinema-text-alpha,0);
 transform:translate3d(0,var(--ig7-cinema-text-y,0px),0);
}
.ig7-cinema-text h2 {
 max-width:16ch;font-size:clamp(49px,6vw,99px);
 font-family:Georgia,serif;font-weight:400;line-height:.98;letter-spacing:-.036em;
 color:#f6ffe9;text-shadow:0 2px 16px rgba(0,20,13,.35);
}
.ig7-cinema-text h2 em {color:#d6edb6;font-weight:400;}
.ig7-cinema-text p {max-width:44ch;font-size:clamp(14px,1.13vw,17px);
 line-height:1.7;color:#dbeddb;margin-top:24px;text-shadow:0 1px 8px #002d1d;}
.ig7-cinema-num{font:700 11px/1.3 "Segoe UI",Arial,sans-serif;
 letter-spacing:.16em;color:#bdd6a9;margin-bottom:22px;}
.ig7-cinema-meter {width:clamp(100px,12vw,210px);height:3px;background:#719981;
 margin-bottom:21px;position:relative;display:block;}
.ig7-cinema-meter i {position:absolute;inset:0 auto 0 0;
 width:var(--ig7-cinema-progress,0%);
 background:#e6d17c;box-shadow:0 0 16px rgba(240,223,149,.55);}
.ig7-cinema-caption {font:500 10px/1.3 "Segoe UI",Arial,sans-serif;
 letter-spacing:.13em;color:#c6ddbf;padding-bottom:25px;margin:0;}
html.ig7-scrub .ig7-cinema-text {transition:none!important;will-change:opacity,transform;}
@media (max-width:900px){
 .ig7-cinematic{height:275svh;}
 .ig7-cinema-pin{top:74px;height:calc(100svh - 74px);}
 .ig7-cinema-content{width:calc(100% - 36px);}
 .ig7-cinema-heading{padding-block:28px 0;font-size:9px;}
 .ig7-cinema-camera {width:95vw;height:78svh;left:60%;top:48%;}
 .ig7-cinema-circles {left:62%;top:42%;width:90vmin;}
 .ig7-cinema-surface::before{
   background:linear-gradient(0deg,rgba(2,22,15,.89) 0,rgba(2,26,18,.56) 50%,transparent 100%);
 }
 .ig7-cinema-texts{min-height:300px;display:flex;align-items:flex-end;}
 .ig7-cinema-text{justify-content:flex-end;padding-bottom:35px;}
 .ig7-cinema-text h2{font-size:clamp(44px,10vw,64px);max-width:12ch;}
 .ig7-cinema-text p {font-size:13px;max-width:31ch;}
}
@media (prefers-reduced-motion:reduce){
html:not([data-hly-tier="full"]) .ig7-cinema-camera{will-change:auto;}
html:not([data-hly-tier="full"]) .ig7-cinema-text{will-change:auto;}
}

/* Real no-JS fallback: all narrative chapters remain visible without scripting. */
.no-js .ig7-cinematic {height:auto;min-height:100vh;}
.no-js .ig7-cinema-pin {
 position:relative;top:auto;height:auto;min-height:100vh;
 overflow:visible;display:block;padding-bottom:48px;
}
.no-js .ig7-cinema-surface {z-index:0;opacity:.4;}
.no-js .ig7-cinema-surface .ig7-cinema-second,
.no-js .ig7-cinema-surface .ig7-cinema-third {display:none;}
.no-js .ig7-cinema-content {position:relative;min-height:100vh;}
.no-js .ig7-cinema-texts {display:grid;gap:clamp(40px,7vw,75px);padding-block:45px;}
.no-js .ig7-cinema-text {
 position:relative;inset:auto;transform:none;opacity:1;
 justify-content:flex-start;padding:0;max-width:70ch;
}
.no-js .ig7-cinema-text h2 {font-size:clamp(36px,5vw,70px);}
.no-js .ig7-cinema-meter,.no-js .ig7-side-index,.no-js .ig7-cinema-caption{display:none;}


/* HLY V3.7.1 — high-contrast, lazy-enabled desktop and hybrid-mouse cursor.
   Mouse movement (not pointer:fine media query) decides whether the cursor is shown.
   Keep the native text cursor in editable controls. Touch input never enables it. */
html.ig7-scrub .ig7-cursor {
  position:fixed;
  top:0;left:0;
  z-index:2147483000;
  opacity:0;
  mix-blend-mode:normal;
  filter:none;
  pointer-events:none;
  transform:translateZ(0);
  contain:layout style;
}
html.ig7-scrub .ig7-cursor.is-visible{opacity:1}
html.ig7-scrub .ig7-cursor.is-editing{opacity:0}
html.ig7-scrub .ig7-cursor-dot {
  left:-4px;top:-4px;width:8px;height:8px;
  background:#e7fbbf;
  border:2px solid #05603a;
  box-shadow:0 0 0 1px rgba(255,255,255,.8),0 0 9px rgba(0,0,0,.23);
  will-change:transform;
}
html.ig7-scrub .ig7-cursor-ring {
  left:-22px;top:-22px;width:44px;height:44px;
  border:0;
  background:transparent;
  box-shadow:none;
  --ig71-ring-scale:1;
  will-change:transform;
}
html.ig7-scrub .ig7-cursor.is-action .ig7-cursor-ring {--ig71-ring-scale:1.35}
html.ig7-scrub .ig7-cursor-label {
  color:#ebf8e3;
  padding:5px 7px;
  background:#075039;
  border:1px solid #d3b574;
  border-radius:3px;
  text-shadow:none;
  font-size:10px;
  will-change:transform;
}
@media (min-width:701px){
  html.ig7-scrub.ig71-pointer-ready,
  html.ig7-scrub.ig71-pointer-ready body,
  html.ig7-scrub.ig71-pointer-ready a,
  html.ig7-scrub.ig71-pointer-ready button,
  html.ig7-scrub.ig71-pointer-ready [role="button"],
  html.ig7-scrub.ig71-pointer-ready .ig7-cinematic,
  html.ig7-scrub.ig71-pointer-ready .m32-halo {cursor:none!important}
  html.ig7-scrub .ig7-cursor {display:block!important}
}
@media (max-width:700px){
  html.ig7-scrub .ig7-cursor {display:none!important}
}
/* A reduced-motion user still sees the standard pointer (or cursor rings on real
   desktop mouse events) while the motion amplitude remains attenuated. */
@media (prefers-reduced-motion:reduce) and (min-width:701px){
html:not([data-hly-tier="full"]).ig7-scrub .ig7-cursor{display:block!important}
}
/* Eliminate expensive full-scene blending/blur/drop-shadow filters during scroll:
   preserve the emerald/gold palette and original imagery. */
html.ig7-scrub .ig7-scene-canvas {
  mix-blend-mode:normal;
  opacity:.29;
}
html.ig7-scrub .ig7-cinema-layer {filter:none}
html.ig7-scrub .v3-hero .m32-line-inner {filter:none!important}
html.ig7-scrub .v36-intro .photo-frame {filter:none}
html.ig7-scrub .ig7-cinema-camera {will-change:transform}
html.ig7-scrub .m32-story-curtain {will-change:clip-path}
@media (prefers-reduced-motion:reduce){
html:not([data-hly-tier="full"]).ig7-scrub .ig7-scene-canvas{opacity:.11}
}

/* V3.7.2: one scroll owner; geometry corrections at their actual containing blocks. */
html.ig7-scrub .ig372-reveal {
  translate:0 var(--ig7-reveal-y,0px);
  opacity:var(--ig7-reveal-opacity,1);
  transition:none!important;
}
html.ig7-scrub .ig372-reveal:focus-within {opacity:1;translate:none;}
html.ig7-scrub .ig7-cinema-pin {
  top:var(--ig372-header,109px);
  height:calc(100svh - var(--ig372-header,109px));
}
html.ig7-scrub .ig7-cinema-heading {padding-top:clamp(24px,5vh,64px);}
html.ig7-scrub .ig7-cinema-texts {min-height:0;}
html.ig7-scrub .ig7-cinema-text {
  visibility:hidden;
  pointer-events:none;
  transition:none!important;
}
/* The surface and curtain share the same inset box. The original right-hand circle
   keeps its layout origin; only its stroke fades as the opening expands. */
html.ig7-scrub .m32-story-circle {transform:none;transition:none!important;}
html.ig7-scrub .m32-story-curtain {transition:none!important;}
/* Orthographic ring tilt keeps the rendered orbit center fixed. The core retains
   its required -50% centering; independent vertical drift is removed. */
html.ig7-scrub .v3-map-art.m32-halo {
  perspective:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:auto 1fr auto;
  gap:20px;
  padding:24px;
  --ig372-orbit-y:50%;
}
html.ig7-scrub .m32-halo .m32-halo-rings {
  inset:auto;
  left:50%;top:var(--ig372-orbit-y);
  width:86%;height:86%;
  translate:-50% -50%!important;
  transform-origin:50% 50%;
}
html.ig7-scrub .m32-halo .v3-map-core {
  left:50%;top:var(--ig372-orbit-y);
  transform:translate(-50%,-50%) scale(var(--ig7-core-scale,1));
}
html.ig7-scrub .m32-halo .v3-map-node {
  position:relative;inset:auto;
  min-width:0;width:min(100%,210px);
}
html.ig7-scrub .m32-halo .v3-map-node--health {grid-area:1/1;justify-self:start;}
html.ig7-scrub .m32-halo .v3-map-node--income {grid-area:1/2;justify-self:end;}
html.ig7-scrub .m32-halo .v3-map-node--family {grid-area:3/1;justify-self:start;}
html.ig7-scrub .m32-halo .v3-map-node--future {grid-area:3/2;justify-self:end;}
@media(max-width:900px){
  html.ig7-scrub .ig7-cinema-pin {top:var(--ig372-header,93px);height:calc(100svh - var(--ig372-header,93px));}
  html.ig7-scrub .ig7-cinema-text {padding-bottom:26px;}
  html.ig7-scrub .v3-map-art.m32-halo {
    --ig372-orbit-size:clamp(230px,58vw,280px);
    --ig372-orbit-y:calc(var(--ig372-orbit-size)/2);
    grid-template-rows:var(--ig372-orbit-size) auto auto;
    padding:0;gap:12px;
  }
  html.ig7-scrub .m32-halo .m32-halo-rings {width:var(--ig372-orbit-size);height:var(--ig372-orbit-size);}
  html.ig7-scrub .m32-halo .v3-map-node {width:100%;}
  html.ig7-scrub .m32-halo .v3-map-node--health {grid-area:2/1;}
  html.ig7-scrub .m32-halo .v3-map-node--income {grid-area:2/2;}
  html.ig7-scrub .m32-halo .v3-map-node--family {grid-area:3/1;}
  html.ig7-scrub .m32-halo .v3-map-node--future {grid-area:3/2;}
}
/* Bootstrap/script-failure fallback: all narrative text remains in normal flow.
   .ig372-ready is enabled only after the controller has initialized. */
html:not(.ig372-ready) .ig7-cinematic {height:auto;min-height:100vh;}
html:not(.ig372-ready) .ig7-cinema-pin {position:relative;top:auto;height:auto;overflow:visible;}
html:not(.ig372-ready) .ig7-cinema-content {min-height:0;padding-block:40px;}
html:not(.ig372-ready) .ig7-cinema-texts {display:grid;gap:48px;padding-block:40px;}
html:not(.ig372-ready) .ig7-cinema-text {position:relative;inset:auto;visibility:visible;opacity:1;transform:none;}

/* HLY V3.7.4: source-bound, scroll-position keyed editorial/illustration reveal.
   These properties are set once per rAF by the existing ig7 controller.
   No scroll hijacking, no timed one-shot reveal. */
html.ig7-scrub.ig374-ready .ig372-reveal {
  opacity:var(--ig7-reveal-opacity,1);
  translate:0 var(--ig7-reveal-y,0px);
  transition:none!important;
  will-change:opacity,translate;
}
html.ig7-scrub.ig374-ready .ig374-visual{
  overflow:hidden;
}
html.ig7-scrub.ig374-ready .ig374-visual>img{
  clip-path:inset(0 0 var(--ig374-mask-bottom,0%) 0);
  opacity:var(--ig374-visual-alpha,1);
  translate:0 var(--ig374-visual-y,0px);
  scale:var(--ig374-visual-scale,1);
  transition:none!important;
  will-change:clip-path,opacity,translate;
}
/* Readability and accessibility take priority over an animated effect. */
html.ig7-scrub.ig374-ready .ig372-reveal:focus-within{
  opacity:1!important;
  translate:none!important;
}
@media(prefers-reduced-motion:reduce){
html:not([data-hly-tier="full"]).ig7-scrub.ig374-ready .ig372-reveal,
html:not([data-hly-tier="full"]).ig7-scrub.ig374-ready .ig374-visual>img{
    clip-path:none!important;opacity:1!important;translate:none!important;
    scale:1!important;will-change:auto!important;
  }
}

/* V3.7.5 owner-visible correction: the Hero is also a scroll-scrubbed scene.
   Hero title/lede fade OUT on scroll down and fade IN on scroll up.
   Artwork additionally wipes its lower part; header/logo and CTA remain sharp. */
html.ig7-scrub.ig375-ready .v36-hero .copy > .reveal:not(.actions) {
  opacity:var(--ig375-hero-text-alpha,1)!important;
  transition:none!important;
  will-change:opacity;
}
html.ig7-scrub.ig375-ready .v36-hero .v3-hero-portrait {
  opacity:var(--ig375-hero-art-alpha,1)!important;
  clip-path:inset(0 0 var(--ig375-hero-art-mask,0%) 0);
  transition:none!important;
  will-change:opacity,clip-path,transform;
}
html.ig7-scrub.ig375-ready .v36-hero .copy:focus-within > .reveal:not(.actions) {
  opacity:1!important;
}
@media (prefers-reduced-motion:reduce) {
html:not([data-hly-tier="full"]).ig7-scrub.ig375-ready .v36-hero .copy > .reveal:not(.actions),
html:not([data-hly-tier="full"]).ig7-scrub.ig375-ready .v36-hero .v3-hero-portrait{
   opacity:1!important;clip-path:none!important;will-change:auto!important;
 }
}
