.journey-hero{background:#101c1a;color:#f2ede1;padding:30px 0}.journey-heading{padding-bottom:24px}.journey-heading h1{font-size:clamp(2rem,4vw,4rem);line-height:1.08;margin:12px 0}.journey-heading p{margin:10px 0}.journey-stage{position:relative;max-width:1800px;margin:auto;aspect-ratio:1672/941;overflow:hidden;background:#14121c;touch-action:pan-y}.journey-layers{position:absolute;inset:0;transform:scale(1.025) translate(var(--px,0px),var(--py,0px));transition:transform .7s ease}.journey-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.6s ease}.journey-image.dream{opacity:0}.is-dream .journey-image.dream{opacity:1}.is-dream .journey-image.normal{opacity:0}.plant-hotspots{position:absolute;inset:0}.plant-hit{position:absolute;top:10%;height:27%;width:17%;display:flex;align-items:flex-end;justify-content:center;border:1px solid transparent;border-radius:48%;text-decoration:none;color:white;min-width:44px;min-height:44px;transition:top 1s,left 1s,box-shadow 1s}.pinon-hit{left:20%}.aya-hit{left:64%}.is-dream .pinon-hit{left:22%;top:12%}.is-dream .aya-hit{left:56%;top:12%}.plant-hit span{background:#101520db;border:1px solid #c4d6e280;padding:8px 12px;border-radius:10px;font-size:14px;line-height:1.3;text-align:center}.plant-hit small{display:block;font-size:12px;color:#dde8f0}.plant-hit:hover,.plant-hit:focus-visible{outline:2px solid #d3e6ff;box-shadow:0 0 36px #a9d8ff60}.mode-label{position:absolute;bottom:12px;left:16px;background:#101520d9;padding:7px 12px;border-radius:5px;font-size:14px;pointer-events:none}.spirit-aura{position:absolute;width:25%;height:48%;top:6%;opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity 1.8s;background:radial-gradient(ellipse,#b7dcff35,transparent 65%)}.pinon-aura{left:18%}.aya-aura{left:54%;background:radial-gradient(ellipse,#8179ff35,transparent 65%)}.is-dream[data-selected=pinon] .pinon-aura,.is-dream[data-selected=aya] .aya-aura{opacity:1;animation:spirit-breathe 6s ease-in-out infinite}.journey-motes{position:absolute;inset:0;opacity:0;transition:opacity 2.5s;pointer-events:none}.is-dream .journey-motes{opacity:.65}.journey-motes i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;background:#dfedff;border-radius:50%;box-shadow:0 0 6px #8abfff;animation:mote-drift var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}.journey-controls{padding-top:18px}.journey-controls p{font-size:16px}.journey-buttons,.plant-choices,.journey-links{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.journey-buttons button,.journey-buttons a,.plant-choices button{font:inherit;font-size:14px;min-height:44px;border:1px solid #bed0cb88;background:#1b302d;color:#fff;padding:10px 16px;border-radius:6px;cursor:pointer;text-decoration:none}.journey-buttons [hidden],#journey-video[hidden]{display:none}.plant-choices button{border-color:#cfbc80}.journey-note{font-size:14px!important;max-width:840px;color:#bcc9c6}.journey-links a{font-size:14px;color:#eadab4;padding:8px 0}.journey-controls .video{max-width:850px}.is-paused *{animation-play-state:paused!important}.is-paused .journey-layers{transform:scale(1.025)}@keyframes spirit-breathe{50%{opacity:.35}}@keyframes mote-drift{to{transform:translate(12px,26px);opacity:.25}}@media(max-width:600px){.journey-hero{padding-top:20px}.plant-hit{width:26%;top:7%;height:34%}.pinon-hit{left:16%}.aya-hit{left:60%}.is-dream .pinon-hit{left:19%;top:7%}.is-dream .aya-hit{left:53%;top:7%}.plant-hit span{font-size:12px;padding:5px 7px}.plant-hit small{display:none}.mode-label{font-size:12px;bottom:5px;left:8px;padding:4px 8px}.journey-buttons{gap:8px}.journey-buttons button,.journey-buttons a{padding:9px 11px}.journey-heading{padding-bottom:16px}}@media(prefers-reduced-motion:reduce){.journey-hero *{animation:none!important;transition:none!important}.journey-layers{transform:none!important}}
.living-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.journey-motes i{width:4px;height:4px;animation-name:mote-arrive}@keyframes mote-arrive{0%{transform:translate(0,-12px) scale(.4);opacity:0}35%{opacity:.65}100%{transform:translate(18px,80px) scale(1.4);opacity:0}}
/* Image-linked people remain available in both camera views. */
.people-hotspots{position:absolute;inset:0;pointer-events:none}.person-hit{position:absolute;left:var(--left);top:var(--top);width:var(--width,13%);height:var(--height,25%);min-width:44px;min-height:44px;pointer-events:auto;border-radius:35%;display:flex;align-items:flex-end;justify-content:center;color:#fff;text-decoration:none;border:1px solid transparent;transition:border-color .25s,box-shadow .25s}.person-hit span{opacity:0;transform:translateY(5px);transition:.2s;background:#10201dee;border:1px solid #dcc58b;padding:8px 12px;border-radius:7px;text-align:center;font-size:14px;line-height:1.3;white-space:nowrap}.person-hit small{display:block;font-size:12px;margin-top:3px;color:#e2e8df}.person-hit:hover,.person-hit:focus-visible{outline:none;border-color:#e1ce9880;box-shadow:0 0 24px #dbc68e40}.person-hit:hover span,.person-hit:focus-visible span{opacity:1;transform:none}.person-diomar{--left:33%;--top:35%}.person-antonio{--left:54%;--top:38%}.person-dail{--left:82%;--top:40%}.person-female{--left:5%;--top:37%}.person-guest{--left:25%;--top:64%;--width:36%;--height:15%}.is-dream .person-diomar{--left:35%;--top:44%}.is-dream .person-antonio{--left:59%;--top:48%}.is-dream .person-dail{--left:83%;--top:46%}.is-dream .person-female{--left:5%;--top:43%}.is-dream .person-guest{--left:34%;--top:88%;--width:28%;--height:9%}.plant-hit{z-index:2}.plant-hit:hover span,.plant-hit:focus-visible span{border-color:#fff;box-shadow:0 0 16px #c6dfff55}@media(hover:none){.person-hit{border-color:#dec99655}.person-hit span{opacity:1;transform:none;font-size:12px;padding:4px 6px;white-space:normal}.person-hit small{display:none}}@media(max-width:600px){.person-hit span{font-size:12px;white-space:normal;padding:4px}.person-hit{--width:16%;--height:24%}.person-guest{--width:30%;--height:12%}.is-dream .person-guest{--height:10%;--top:84%}}
/* Immersive transition: dark fade → light bloom → blur-to-sharp reveal */
.journey-transition{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden}
.transition-dark{position:absolute;inset:0;background:#060a0f;opacity:0;transition:opacity .6s ease}
.journey-transition.phase-dark .transition-dark{opacity:1}
.transition-bloom{position:absolute;left:50%;top:50%;width:20vmin;height:20vmin;transform:translate(-50%,-50%) scale(0);border-radius:50%;background:radial-gradient(circle,#fff8e7 0%,#ffe9b8 25%,#d4a94e55 50%,transparent 70%);opacity:0;transition:transform 1.2s cubic-bezier(.2,.7,.3,1),opacity .8s ease;mix-blend-mode:screen}
.journey-transition.phase-bloom .transition-bloom{transform:translate(-50%,-50%) scale(8);opacity:.9}
.journey-transition.phase-reveal{transition:opacity 1.2s ease;opacity:0}
.journey-image.dream.revealing{filter:blur(24px) brightness(1.4);transform:scale(1.06);transition:filter 1.4s ease,transform 1.6s ease}
.is-dream .journey-image.dream.revealing{opacity:1}
/* Mouse-follow light illuminating the scene */
.journey-light{position:absolute;inset:0;z-index:5;pointer-events:none;--lx:50%;--ly:40%;background:radial-gradient(circle at var(--lx) var(--ly),#ffe9b833 0%,#d4a94e22 20%,transparent 45%);mix-blend-mode:screen;opacity:0;transition:opacity 1s ease}
.is-dream .journey-light,.journey-stage:hover .journey-light{opacity:1}
@media(prefers-reduced-motion:reduce){.journey-transition,.journey-light{display:none!important}.journey-image.dream.revealing{filter:none!important;transform:none!important}}

/* Approved homepage scene — aligned with reference interaction */
.approved-scene .journey-layers{transform:none!important}
.approved-scene .journey-image{transition:opacity .65s}
.approved-scene .scene-object{position:absolute;top:2%;height:39%;width:22%;border:1px solid #d5c59470;border-radius:4px;display:flex;align-items:flex-start;justify-content:center;color:#fff;background:transparent;cursor:pointer;text-decoration:none;padding:0;font:inherit;z-index:3}
.approved-scene .tapestry-hit{left:17%;right:auto}
.approved-scene .door-hit{left:62%;right:auto}
.approved-scene .scene-object span{background:#10201df2;border:1px solid #dbc98e;border-radius:6px;padding:8px 10px;font-size:clamp(14px,1vw,15px);line-height:1.3;margin-top:10px}
.approved-scene .person-hit{position:absolute;left:var(--left);top:var(--top);width:var(--width,13%);height:var(--height,25%);min-width:44px;min-height:44px;border:1px solid #d5c59450;border-radius:35%;display:flex;align-items:flex-end;justify-content:center;color:#fff;background:transparent;text-decoration:none;z-index:4}
.approved-scene .person-hit span{opacity:1!important;display:flex!important;transform:none!important;white-space:normal;font-size:clamp(14px,1vw,15px);padding:6px 8px;background:#10201df2;border:1px solid #dbc98e;border-radius:6px;position:static;margin-top:0}
.approved-scene .person-hit b{display:inline-block;margin-right:6px;color:#e5c987}
.approved-scene .person-diomar{--left:32%;--top:42%;--height:22%}
.approved-scene .person-antonio{--left:53%;--top:45%;--height:21%}
.approved-scene .person-dail{--left:80%;--top:45%;--height:28%}
.approved-scene .person-female{--left:3%;--top:39%;--height:34%}
.approved-scene .person-guest{--left:27%;--top:71%;--width:36%;--height:18%}
.approved-scene .plant-hit{top:4%;height:34%;width:22%;border-radius:4px;z-index:7}
.approved-scene .pinon-hit{left:17%}
.approved-scene .aya-hit{left:62%}
.approved-scene .is-dream .pinon-hit{left:22%;top:12%}
.approved-scene .is-dream .aya-hit{left:56%;top:12%}
.approved-scene [hidden]{display:none!important}
.approved-scene .scene-shortcuts{grid-column:1/-1;margin-top:16px}
.approved-scene .scene-shortcuts>div{display:flex;flex-wrap:wrap;gap:10px}
.approved-scene .scene-shortcuts a,.approved-scene .scene-shortcuts button{font:inherit;display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;color:#f5eedc;background:#243c34;border:1px solid #d2c39770;border-radius:5px;text-decoration:none;cursor:pointer}
.approved-scene .scene-shortcuts a:hover,.approved-scene .scene-shortcuts button:hover{background:#375646}
.approved-scene .scene-object:focus-visible,.approved-scene a:focus-visible,.approved-scene button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.approved-scene:not(:has(.is-dream)) .journey-motes,.approved-scene:not(:has(.is-dream)) .foreground-leaves,.approved-scene:not(:has(.is-dream)) .ambient-air,.approved-scene:not(:has(.is-dream)) .tree-shadows{display:none!important}
.approved-scene .is-dream .journey-motes{display:block!important;opacity:.65}
.approved-scene .arrival-heading h1{font-size:clamp(2.2rem,4vw,4rem);max-width:950px}
@media(max-width:800px){
  .approved-scene .person-hit span{font-size:14px;padding:4px;line-height:1.1}
  .approved-scene .person-hit b{display:none}
  .approved-scene .scene-object span{padding:4px;margin-top:4px}
  .approved-scene .scene-object{width:24%}
  .approved-scene .tapestry-hit{left:16%}
  .approved-scene .door-hit{left:62%}
  .approved-scene .person-hit{--width:17%}
  .approved-scene .person-guest{--width:36%}
  .approved-scene .scene-console{display:block}
}
