/* Phase 2 — Public immersive index rebuild. Loaded after the sitewide immersive layer. */
:root{
  --ol-phase2-green:#123529;
  --ol-phase2-green-2:#071810;
  --ol-phase2-gold:#c6a24a;
  --ol-phase2-ivory:#fff8e8;
  --ol-phase2-sand:#f4e8d0;
  --ol-phase2-ink:#10251b;
  --ol-phase2-border:rgba(255,248,232,.17);
  --ol-phase2-shadow:0 34px 120px rgba(3,13,8,.34);
}
#ol-living-story-hero.ol-index-story-canvas{
  min-height:100svh;
  align-items:center;
  padding-top:clamp(8rem,12vw,12rem);
  padding-bottom:clamp(4rem,8vw,7rem);
  background:var(--ol-phase2-green-2);
}
#ol-living-story-hero .ol-hero-atmos-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-5;
  filter:saturate(1.05) contrast(1.04) brightness(.78);
  transform:scale(1.02);
}
#ol-living-story-hero .ol-topographic-layer{
  position:absolute;inset:-8%;z-index:-4;opacity:.27;
  background:
    radial-gradient(circle at 22% 22%,rgba(198,162,74,.22),transparent 26%),
    repeating-radial-gradient(circle at 52% 46%,rgba(255,248,232,.13) 0 1px,transparent 1px 18px);
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 55%,transparent 100%);
}
#ol-living-story-hero .ol-route-trace-canvas{position:absolute;inset:0;z-index:-3;width:100%;height:100%;opacity:.8;mix-blend-mode:screen;}
#ol-living-story-hero .ol-hero-light-movement{position:absolute;inset:-20% -10%;z-index:-2;background:linear-gradient(115deg,transparent 10%,rgba(255,226,151,.13) 45%,transparent 72%);animation:olPhase2LightSweep 12s cubic-bezier(.22,1,.36,1) infinite alternate;}
#ol-living-story-hero .ol-hero-vignette{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 76% 18%,rgba(198,162,74,.20),transparent 23%),linear-gradient(90deg,rgba(5,16,11,.96),rgba(12,36,25,.78) 48%,rgba(8,24,16,.38)),linear-gradient(180deg,rgba(4,10,7,.08),rgba(4,10,7,.86));}
@keyframes olPhase2LightSweep{from{transform:translateX(-8%) rotate(-2deg);opacity:.55}to{transform:translateX(8%) rotate(2deg);opacity:.9}}
.ol-story-canvas-grid{align-items:center;}
.ol-story-canvas-copy h1{font-size:clamp(3.3rem,8.8vw,9.4rem);line-height:.84;letter-spacing:-.075em;max-width:1000px;}
.ol-story-canvas-copy .lh-hero-lede{max-width:760px;color:rgba(255,248,232,.78);font-size:clamp(1rem,1.35vw,1.22rem);}
.ol-story-canvas-actions .ix-btn{min-height:48px;}
.ol-story-cue-rail{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.25rem;max-width:800px;}
.ol-story-cue-rail a{display:inline-flex;align-items:center;gap:.48rem;min-height:40px;padding:.35rem .72rem;border:1px solid rgba(255,248,232,.16);border-radius:999px;background:rgba(255,248,232,.09);color:rgba(255,248,232,.82);font-size:.76rem;font-weight:900;letter-spacing:.06em;text-decoration:none;backdrop-filter:blur(12px);}
.ol-story-cue-rail a span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(198,162,74,.24);color:#ffeab1;font-size:.68rem;}
.ol-story-signal-panel{position:relative;border:1px solid rgba(255,248,232,.18);border-radius:32px;background:linear-gradient(145deg,rgba(255,248,232,.13),rgba(255,248,232,.045));box-shadow:var(--ol-phase2-shadow);backdrop-filter:blur(22px) saturate(1.08);padding:clamp(1.1rem,2vw,1.55rem);color:var(--ol-phase2-ivory);overflow:hidden;}
.ol-story-signal-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(198,162,74,.25),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.10),transparent 55%);pointer-events:none;}
.ol-story-signal-panel>*{position:relative;z-index:2;}
.ol-story-signal-panel h2{font-family:var(--ol-font-display,Georgia,serif);font-size:clamp(2rem,3vw,3.15rem);line-height:.95;margin:.35rem 0 .75rem;}
.ol-story-signal-panel p{color:rgba(255,248,232,.72);line-height:1.7;}
.ol-route-signal-line{position:relative;height:92px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);margin:1rem 0;overflow:hidden;}
.ol-route-signal-line::before{content:"";position:absolute;left:7%;right:7%;top:50%;height:2px;background:linear-gradient(90deg,rgba(198,162,74,.25),rgba(255,234,177,.9),rgba(198,162,74,.18));transform:translateY(-50%);}
.ol-route-signal-line span{position:absolute;top:50%;width:14px;height:14px;border-radius:999px;background:var(--ol-phase2-gold);box-shadow:0 0 0 9px rgba(198,162,74,.18);transform:translateY(-50%);}
.ol-route-signal-line span:nth-child(1){left:8%;}.ol-route-signal-line span:nth-child(2){left:48%;}.ol-route-signal-line span:nth-child(3){right:8%;}
.ol-story-signal-panel dl{display:grid;gap:.55rem;margin:0 0 1rem;}
.ol-story-signal-panel dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.10);padding-top:.55rem;}
.ol-story-signal-panel dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,248,232,.56);font-weight:950;}
.ol-story-signal-panel dd{margin:0;text-align:right;color:#ffeab1;font-weight:900;}
.ol-route-pulse-section{position:relative;background:#071810;color:var(--ol-phase2-ivory);padding:clamp(5rem,9vw,8rem) 0;overflow:hidden;}
.ol-route-pulse-section .ol-immersive-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.34;filter:saturate(1.05) contrast(1.08) brightness(.65);}
.ol-route-pulse-section .ol-immersive-bg-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(5,17,12,.95),rgba(5,17,12,.72) 48%,rgba(5,17,12,.92));z-index:1;}
.ol-route-pulse-section .ol-immersive-grain{position:absolute;inset:0;z-index:2;opacity:.08;background-image:radial-gradient(circle at 25% 25%,#fff 0 1px,transparent 1px);background-size:7px 7px;mix-blend-mode:soft-light;}
.ol-route-pulse-inner{position:relative;z-index:3;}
.ol-route-pulse-layout{display:grid;grid-template-columns:minmax(290px,.42fr) minmax(0,1fr);gap:1.2rem;align-items:start;}
.ol-mood-console{display:grid;gap:.65rem;position:sticky;top:calc(var(--ol19-header-height,82px) + 1rem);}
.ol-mood-chip{display:grid;grid-template-columns:42px 1fr;gap:.55rem;align-items:center;width:100%;min-height:74px;text-align:left;border:1px solid rgba(255,248,232,.14);border-radius:22px;background:rgba(255,248,232,.075);color:var(--ol-phase2-ivory);padding:.75rem;cursor:pointer;backdrop-filter:blur(14px);transition:transform .32s ease,border-color .32s ease,background .32s ease;}
.ol-mood-chip:hover,.ol-mood-chip:focus-visible,.ol-mood-chip.is-active{transform:translateY(-2px);border-color:rgba(198,162,74,.58);background:rgba(198,162,74,.18);}
.ol-mood-chip span{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:rgba(255,248,232,.11);color:#ffeab1;font-weight:950;}
.ol-mood-chip strong{font-family:var(--ol-font-display,Georgia,serif);font-size:1.35rem;line-height:1;}
.ol-mood-chip em{grid-column:2;display:block;font-style:normal;color:rgba(255,248,232,.66);font-size:.85rem;line-height:1.35;}
.ol-route-pulse-board{display:grid;gap:1rem;}
.ol-route-pulse-map{position:relative;height:160px;border:1px solid rgba(255,248,232,.12);border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));overflow:hidden;}
.ol-route-pulse-map svg{position:absolute;inset:0;width:100%;height:100%;fill:none;}.ol-route-pulse-map path{stroke:#ffeab1;stroke-width:3;stroke-dasharray:8 12;animation:olPhase2RouteDash 5.5s linear infinite;filter:drop-shadow(0 0 14px rgba(198,162,74,.45));}.ol-route-pulse-map span{position:absolute;width:15px;height:15px;border-radius:999px;background:var(--ol-phase2-gold);box-shadow:0 0 0 11px rgba(198,162,74,.14);}
@keyframes olPhase2RouteDash{to{stroke-dashoffset:-110}}
.ol-route-recommendations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.ol-phase2-recommendation-card,.ol-phase2-serenity-card{border:1px solid rgba(31,58,45,.12);border-radius:28px;background:rgba(255,248,232,.94);color:var(--ol-phase2-ink);box-shadow:0 24px 80px rgba(0,0,0,.16);overflow:hidden;transition:transform .38s ease,box-shadow .38s ease;}
.ol-phase2-recommendation-card:hover,.ol-phase2-serenity-card:hover{transform:translateY(-5px);box-shadow:0 34px 100px rgba(0,0,0,.22);}
.ol-phase2-card-media{display:block;position:relative;min-height:210px;background:linear-gradient(180deg,rgba(7,24,16,.05),rgba(7,24,16,.75)),var(--ol-phase2-card-image) center/cover no-repeat;text-decoration:none;}
.ol-phase2-card-media span{position:absolute;left:1rem;top:1rem;border-radius:999px;background:var(--ol-phase2-gold);color:#10251b;padding:.5rem .72rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:950;}
.ol-phase2-card-body{padding:1rem;}.ol-phase2-card-body h3{font-family:var(--ol-font-display,Georgia,serif);font-size:1.65rem;line-height:1.02;margin:.2rem 0 .45rem;color:var(--ol-phase2-green);}.ol-phase2-card-body p{color:rgba(16,37,27,.72);line-height:1.6;}
.ol-phase2-route-line{border-top:1px solid rgba(31,58,45,.12);border-bottom:1px solid rgba(31,58,45,.12);padding:.58rem 0;margin:.75rem 0;color:var(--ol-phase2-green);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em;}
.ol-living-route-storyboard{position:relative;background:var(--ol-phase2-sand);padding:clamp(5rem,9vw,8rem) 0 0;color:var(--ol-phase2-ink);overflow:hidden;}
.ol-storyboard-atmosphere{position:absolute;inset:0;background:radial-gradient(circle at 18% 15%,rgba(198,162,74,.20),transparent 28%),radial-gradient(circle at 82% 45%,rgba(31,58,45,.12),transparent 30%),linear-gradient(180deg,#fbf3e4,#f4e8d0);}
.ol-storyboard-inner{position:relative;z-index:2;}
.ol-storyboard-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);gap:1.1rem;align-items:start;}
.ol-storyboard-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.ol-storyboard-card{position:relative;min-height:360px;border:1px solid rgba(31,58,45,.12);border-radius:32px;background:linear-gradient(180deg,rgba(7,24,16,.02),rgba(7,24,16,.84)),var(--ol-phase2-card-image) center/cover no-repeat;color:var(--ol-phase2-ivory);box-shadow:0 26px 90px rgba(31,58,45,.18);overflow:hidden;padding:1rem;display:flex;align-items:flex-end;}
.ol-storyboard-index{position:absolute;left:1rem;top:1rem;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:rgba(255,248,232,.16);border:1px solid rgba(255,248,232,.20);font-weight:950;color:#ffeab1;backdrop-filter:blur(14px);}
.ol-storyboard-card h3{font-family:var(--ol-font-display,Georgia,serif);font-size:2rem;line-height:1;margin:.25rem 0 .45rem;}.ol-storyboard-card p{color:rgba(255,248,232,.74);line-height:1.6;}.ol-storyboard-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0;}.ol-storyboard-meta span{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);border-radius:999px;padding:.42rem .6rem;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;}
.ol-storyboard-side{display:grid;gap:1rem;position:sticky;top:calc(var(--ol19-header-height,82px) + 1rem);}.ol-storyboard-preview,.ol-storyboard-stays{border:1px solid rgba(31,58,45,.12);border-radius:30px;background:rgba(255,255,255,.64);box-shadow:0 24px 80px rgba(31,58,45,.12);padding:1rem;backdrop-filter:blur(16px);}.ol-storyboard-preview h3{font-family:var(--ol-font-display,Georgia,serif);font-size:2rem;line-height:1;color:var(--ol-phase2-green);}.ol-storyboard-mini-steps{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:var(--ol-phase2-green);}.ol-storyboard-mini-steps i{height:1px;min-width:32px;flex:1;background:linear-gradient(90deg,var(--ol-phase2-gold),rgba(31,58,45,.16));}
.ol-storyboard-stays{display:grid;gap:.85rem;}.ol-storyboard-stays .ol-phase2-serenity-card{box-shadow:none;background:#fffaf0;}.ol-storyboard-stays .ol-phase2-card-media{min-height:145px;}.ol-storyboard-stays .ol-phase2-card-body h3{font-size:1.35rem;}
.ol-route-transition-belt{position:relative;z-index:3;margin-top:clamp(3rem,7vw,5rem);display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:92px;background:linear-gradient(90deg,#071810,#123529 48%,#071810);color:rgba(255,248,232,.76);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:950;}.ol-route-transition-belt i{height:1px;width:min(20vw,220px);background:linear-gradient(90deg,transparent,var(--ol-phase2-gold),transparent);}.ol-route-transition-belt strong{font-family:var(--ol-font-display,Georgia,serif);font-size:clamp(1.15rem,2vw,1.6rem);text-transform:none;letter-spacing:-.02em;color:#ffeab1;}
@media(max-width:1100px){.ol-story-canvas-grid,.ol-route-pulse-layout,.ol-storyboard-layout{grid-template-columns:1fr;}.ol-mood-console,.ol-storyboard-side{position:relative;top:auto;}.ol-mood-console{grid-template-columns:repeat(2,minmax(0,1fr));}.ol-route-recommendations{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){#ol-living-story-hero.ol-index-story-canvas{min-height:auto;padding:7rem 1rem 4rem;}.ol-story-canvas-copy h1{font-size:clamp(3rem,16vw,4.7rem);}.ol-story-signal-panel{border-radius:24px;}.ol-story-cue-rail a{width:100%;}.ol-mood-console,.ol-route-recommendations,.ol-storyboard-track{grid-template-columns:1fr;}.ol-mood-chip{min-height:72px;}.ol-route-pulse-map{height:112px;}.ol-phase2-card-media{min-height:190px;}.ol-storyboard-card{min-height:330px;}.ol-route-transition-belt{display:grid;text-align:center;padding:1.3rem 1rem;}.ol-route-transition-belt i{width:100%;}.ol-hero-atmos-video{display:none;}}
@media(prefers-reduced-motion:reduce){#ol-living-story-hero .ol-hero-light-movement,.ol-route-pulse-map path{animation:none!important}.ol-route-trace-canvas{display:none!important}.ol-hero-atmos-video,.ol-immersive-bg-video{display:none!important}}

/* Phase 9 carry-forward homepage correction: Storyboard is now first after hero, Safari Mood/Pulse removed, belt stabilized. */
#ol-safari-mood-route-pulse{display:none!important;}
#ol-living-route-storyboard{padding-top:clamp(5.5rem,9vw,8.5rem)!important;}
#ol-living-route-storyboard .ix-head{margin-bottom:clamp(1.25rem,3vw,2.5rem);}
.ol-storyboard-card,.ol-phase2-card-media{isolation:isolate;background-image:linear-gradient(180deg,rgba(7,24,16,.04),rgba(7,24,16,.86)),var(--ol-phase2-card-image)!important;}
.ol-storyboard-card .ol-p9-slide-layer,.ol-phase2-card-media .ol-p9-slide-layer{position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.045);filter:saturate(1.08) contrast(1.04);transition:opacity 1.25s cubic-bezier(.22,1,.36,1),transform 5.8s cubic-bezier(.22,1,.36,1),filter 1.25s ease;will-change:opacity,transform;}
.ol-storyboard-card .ol-p9-slide-layer.is-active,.ol-phase2-card-media .ol-p9-slide-layer.is-active{opacity:1;transform:scale(1.105);filter:saturate(1.14) contrast(1.08);}
.ol-storyboard-card::before,.ol-phase2-card-media::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--ol-card-x,60%) var(--ol-card-y,30%),rgba(255,231,165,.18),transparent 28%),linear-gradient(180deg,rgba(6,20,14,.05),rgba(6,20,14,.84));pointer-events:none;}
.ol-storyboard-card>*,.ol-phase2-card-media>*{position:relative;z-index:2;}
.ol-storyboard-card.is-in-view{transform:translateY(-4px);box-shadow:0 34px 110px rgba(31,58,45,.24);}
.ol-route-transition-belt{margin-top:0!important;min-height:clamp(86px,12vw,138px)!important;padding:1.1rem clamp(1rem,4vw,3rem)!important;overflow:hidden!important;isolation:isolate!important;}
.ol-route-transition-belt::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(198,162,74,.10),transparent);transform:translateX(-100%);animation:olPhase9BeltLight 8s cubic-bezier(.22,1,.36,1) infinite;}
.ol-route-transition-belt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(246,218,151,.55),transparent);}
.ol-route-transition-belt span,.ol-route-transition-belt strong,.ol-route-transition-belt i{position:relative;z-index:2;}
@keyframes olPhase9BeltLight{0%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}
@media(max-width:720px){#ol-living-route-storyboard{padding-top:4.5rem!important}.ol-route-transition-belt{display:grid!important;grid-template-columns:1fr!important;gap:.6rem!important;text-align:center!important}.ol-route-transition-belt i{width:100%!important}.ol-storyboard-side{position:relative!important;top:auto!important}}
@media(prefers-reduced-motion:reduce){.ol-storyboard-card .ol-p9-slide-layer,.ol-phase2-card-media .ol-p9-slide-layer{transition:none!important;transform:none!important}.ol-route-transition-belt::before{animation:none!important}}
