:root { font-family: Georgia, 'Times New Roman', serif; color: #123e3a; background: #f5efe4; font-synthesis: none; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow: hidden; background: #f4eadb; }
body.home-scroll { overflow-x: hidden; overflow-y: auto; }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid #bd6537; outline-offset: 4px; }
button[disabled] { cursor: default; opacity: .35; }
a { color: inherit; }
.app-shell { min-height: 100dvh; }
.atlas { position: fixed; inset: 0; overflow: hidden; background: #dbe2d1; visibility: visible; opacity: 1; transition: opacity .38s ease, visibility .38s ease; }
.atlas-viewport { position:absolute; inset:0; overflow:hidden; cursor:grab; touch-action:none; outline-offset:-5px; }
.is-dragging .atlas-viewport { cursor:grabbing; }
.mural-track { position:absolute; top:0; left:0; transform-origin:top left; will-change:transform; }
.mural-tile { position:absolute; top:0; display:block; max-width:none; object-fit:fill; user-select:none; -webkit-user-drag:none; }
.atlas-vignette { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(18,36,32,.19),transparent 22%,transparent 63%,rgba(18,40,38,.26) 100%); }
.seed-on-atlas { position:absolute; z-index:6; width:clamp(58px,7.2vh,104px); height:auto; max-height:18vh; filter: drop-shadow(2px 9px 8px rgba(61,42,23,.21)); pointer-events:none; will-change:left,top,transform; }
.seed-on-atlas.seed-observe { animation: seed-attend .52s ease-out 1; }
@keyframes seed-attend { 0%{filter:drop-shadow(2px 9px 8px rgba(61,42,23,.21))} 45%{filter:drop-shadow(0 0 22px rgba(230,164,89,.5))} 100%{filter:drop-shadow(2px 9px 8px rgba(61,42,23,.21))} }
.seed-glimmer { display:none; }
.atlas-topbar { position: absolute; inset: 0 0 auto; padding: 14px clamp(20px,3.8vw,60px); display:flex; align-items:flex-start; justify-content:space-between; z-index:12; pointer-events:none; }
.atlas-topbar > * { pointer-events:auto; }
.atlas-brand { display:flex; align-items:center; gap:9px; }
.atlas-brand img { width:61px; height:61px; object-fit:contain; filter:drop-shadow(0 1px 7px rgba(255,253,245,.9)); }
.atlas-topline { display:flex; flex-direction:column; gap:4px; color:#0b3c3b; text-shadow:0 1px 8px #fff8ec; }
.atlas-topline strong {font-size:17px; font-weight:500; line-height:1.03;}
.atlas-topline span {font-family:Arial, sans-serif; font-size:10px; letter-spacing:.08em; }
.atlas-top-actions { display:flex; align-items:center; gap:12px; }
.atlas-small-tag { font: 10px Arial,sans-serif; letter-spacing:.18em; background:rgba(251,246,234,.77); padding:12px 15px; border-radius:30px; white-space:nowrap; }
.skip-button { background:#053e3e; color:#fff8ed; border:0; border-radius:40px; padding:11px 18px; font:12px Arial,sans-serif; letter-spacing:.035em; box-shadow:0 4px 15px #123e3a24; }
.skip-button:hover {background:#8a3d2a;}
.skip-button[hidden] {display:none;}
.atlas-overlay-text { position:absolute; z-index:7; left:clamp(22px,5vw,74px); bottom:155px; width:min(420px,40vw); color:#0a3b3c; text-shadow:0 1px 9px #fff8e9,0 0 20px #fff8e9; pointer-events:none; transition: opacity .3s ease; }
.is-autoplay .atlas-overlay-text { opacity: .85; }
.scene-eyebrow {font:600 10px Arial,sans-serif;letter-spacing:.2em;color:#92482d;margin-bottom:8px;}
.scene-title {font-size:clamp(19px,2.35vw,33px);line-height:1.07;letter-spacing:-.025em;max-width:370px;}
.scene-cue {font:12px Arial,sans-serif; letter-spacing:.03em;margin-top:8px;color:#51533c;}
.atlas-hint {position:absolute;top:91px;right:clamp(20px,3.8vw,60px);z-index:6;font:10px Arial,sans-serif;letter-spacing:.09em;color:#204e4c;background:rgba(250,245,235,.74);padding:8px 11px;border-radius:30px;pointer-events:none;}
.is-autoplay .atlas-hint { opacity:0; }
.atlas-dock {position:absolute;z-index:20;left:50%;bottom:max(16px, env(safe-area-inset-bottom));transform:translateX(-50%);height:77px;width:min(870px,calc(100vw - 36px));display:flex;align-items:center;gap:16px;border:1px solid rgba(128,107,81,.18);border-radius:24px;background:rgba(251,247,237,.94);box-shadow:0 10px 42px rgba(37,49,42,.23);padding:10px 12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.origin-button {color:#2c5250;border:0;background:transparent;display:flex;gap:5px;align-items:center;padding:12px 10px;min-width:94px;border-radius:14px;font:12px Arial,sans-serif;}
.origin-button:hover,.timeline-arrows button:hover:not(:disabled) {background:rgba(3,67,61,.08);}
.origin-symbol {font:29px Georgia,serif;line-height:1;}
.timeline-center {min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;gap:11px;height:100%;}
.timeline-heading {display:flex;align-items:baseline;justify-content:space-between;gap:10px;white-space:nowrap;overflow:hidden;}
.timeline-heading > div {display:flex;align-items:baseline;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:15px;}
.timeline-heading #timeline-name {overflow:hidden;text-overflow:ellipsis;}
.timeline-index {font:600 11px Arial,sans-serif;color:#b45a34;}
.timeline-period {font:10px Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8b5c43;letter-spacing:.035em;}
.timeline-rail {position:relative;height:23px;margin:0 9px;}
.timeline-base {position:absolute;top:8px;left:0;right:0;height:2px;background:#cabda7;pointer-events:none;}
#timeline-fill {height:2px;width:0;background:#be5d36;}
#timeline-range {position:absolute;inset:-3px 0 -2px;width:100%;height:26px;margin:0;appearance:none;background:transparent;cursor:ew-resize;z-index:2;outline-offset:3px;}
#timeline-range::-webkit-slider-thumb {appearance:none;width:7px;height:22px;border:2px solid #a14a2c;border-radius:7px;background:#fff9ed;box-shadow:0 1px 4px #6547;}
#timeline-range::-moz-range-thumb {width:7px;height:19px;border:2px solid #a14a2c;border-radius:7px;background:#fff9ed;}
.timeline-markers {position:absolute;inset:0;pointer-events:none;}
.timeline-dot {position:absolute;top:0;transform:translateX(-50%);width:32px;height:27px;display:grid;place-items:center;padding:0;border:0;background:transparent;pointer-events:auto;z-index:3;}
.dot-core {display:block;width:8px;height:8px;border-radius:50%;background:#ad8667;border:2px solid #fff9ef;box-shadow:0 0 0 1px #987159;transition:transform .2s ease,background .2s;}
.timeline-dot.is-current .dot-core,.timeline-dot:hover .dot-core {background:#b15033;transform:scale(1.55);}
.dot-date {position:absolute;bottom:23px;left:50%;transform:translateX(-50%);min-width:max-content;padding:5px 7px;border-radius:7px;background:#f6edde;box-shadow:0 2px 10px rgba(31,34,25,.08);font:10px Arial,sans-serif;color:#713e2b;opacity:0;pointer-events:none;transition:opacity .15s;}
.timeline-dot:hover .dot-date,.timeline-dot:focus-visible .dot-date {opacity:1;}
.timeline-arrows {display:flex;gap:3px;border-left:1px solid rgba(75,80,65,.17);padding-left:10px;}
.timeline-arrows button {border:0;background:transparent;border-radius:12px;height:44px;width:43px;color:#154a48;font-size:24px;}
.atlas-status {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;}

/* The reveal is independent of the painted panoramas. The seed and the official logo are independent images. */
.reveal-stage {position:fixed;inset:0;z-index:30;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;background:#f4eddf;display:grid;place-items:center;transition:opacity .22s ease;}
.reveal-sky {position:absolute;inset:0;background:radial-gradient(ellipse at 45% 54%,#fff9ef 0%,#f3e6d4 54%,#d4decf 115%);}
.reveal-memory-field {position:absolute;inset:0;display:grid;place-items:center;}
.reveal-memory-card {width:clamp(95px,13vw,190px);aspect-ratio:1;position:absolute;overflow:hidden;border-radius:49% 51% 43% 57% / 55% 43% 57% 45%;box-shadow:0 5px 22px #5b4b3325;transform:rotate(calc(var(--angle) + 90deg)) translateX(min(28vw,270px)) rotate(calc(-1 * var(--angle)));opacity:0;animation:memories-merge 1.06s ease-in-out both;animation-delay:calc(var(--i) * 25ms);}
.reveal-memory-card img {width:100%;height:100%;object-fit:cover;}
@keyframes memories-merge {0%{opacity:0;filter:blur(3px);transform:rotate(var(--angle)) translateX(min(30vw,320px)) rotate(calc(-1 * var(--angle))) scale(.65)}23%{opacity:.9;filter:blur(0);transform:rotate(var(--angle)) translateX(min(25vw,250px)) rotate(calc(-1 * var(--angle))) scale(1)}70%{opacity:.85;}95%,100%{opacity:0;transform:rotate(var(--angle)) translateX(7px) rotate(calc(-1 * var(--angle))) scale(.15);}}
.reveal-lines {position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;}
.reveal-lines i {position:absolute;width:min(48vw,560px);height:2px;background:linear-gradient(90deg,transparent,#b75d32,transparent);transform:rotate(calc(var(--dir) * 1deg));animation:lines-merge 1.06s ease-in both;opacity:0;}
.reveal-lines i:nth-child(1){--dir:0}.reveal-lines i:nth-child(2){--dir:35;background:linear-gradient(90deg,transparent,#155449,transparent)}.reveal-lines i:nth-child(3){--dir:70}.reveal-lines i:nth-child(4){--dir:115;background:linear-gradient(90deg,transparent,#843b45,transparent)}.reveal-lines i:nth-child(5){--dir:147}
@keyframes lines-merge {0%{opacity:0;transform:rotate(calc(var(--dir)*1deg)) scaleX(1.3)}32%{opacity:.68}90%,100%{opacity:0;transform:rotate(calc(var(--dir)*1deg)) scaleX(.02)}}
.reveal-seed {position:absolute;width:clamp(105px,15vw,215px);max-height:43vh;object-fit:contain;filter:drop-shadow(0 9px 9px #5f4b322c);animation:reveal-seed-move 1.06s both;}
@keyframes reveal-seed-move {0%{opacity:.9;transform:rotate(-17deg) translate(2vw,10vh) scale(.83)}35%{opacity:1;transform:rotate(0deg) translate(0,0) scale(1)}75%{opacity:1;transform:translate(0,0) scale(1.04)}100%{opacity:0;transform:translate(24vw,6vh) scale(.62)}}
.reveal-logo {position:absolute;width:clamp(150px,19vw,240px);max-height:40vh;object-fit:contain;opacity:0;animation:reveal-brand 1.06s ease-out both;}
@keyframes reveal-brand {0%,71%{opacity:0;transform:translateY(22px) scale(.92)}97%,100%{opacity:1;transform:translateY(0) scale(1)}}
.reveal-caption {position:absolute;bottom:12vh;color:#7b4233;font-size:clamp(15px,2vw,23px);font-style:italic;opacity:0;animation:caption-in 1.06s both;}
@keyframes caption-in {0%,48%{opacity:0}70%,100%{opacity:1}}
.reveal-skip {position:absolute;right:30px;top:20px;border:0;background:transparent;color:#124845;font:12px Arial,sans-serif;pointer-events:auto;z-index:3;}
.mode-reveal .reveal-stage {opacity:1;visibility:visible;}
.mode-reveal .atlas {opacity:0;visibility:hidden;pointer-events:none;}

/* Living, responsive inauguration page. No logo reconstruction, only official PNGs. */
.home {position:relative;min-height:100dvh;display:none;opacity:0;background:#faf5eb;color:#0c3e3b;}
.mode-home .home {display:block;opacity:1;animation:home-enter .55s ease both;}
.mode-home .atlas,.mode-home .reveal-stage {display:none;}
@keyframes home-enter {0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
.home-header {position:relative;z-index:10;max-width:1240px;padding:24px 34px 0;margin:auto;display:flex;justify-content:space-between;align-items:center;}
.home-header img {display:block;width:88px;height:88px;object-fit:contain;}
.home-header-actions {display:flex;align-items:center;gap:22px;}
.text-button {border:0;background:transparent;color:#245b50;font:13px Arial,sans-serif;padding:10px 4px;}
.text-button:hover {text-decoration:underline;}
.header-agenda {font:13px Arial,sans-serif;text-decoration:none;color:#fdf7eb;background:#0a4642;padding:12px 18px;border-radius:40px;}
.home-hero {min-height:690px;position:relative;max-width:1250px;margin:auto;padding:6px 30px 70px;text-align:center;overflow:hidden;}
.overline {display:block;color:#a2583d;letter-spacing:.18em;font:600 11px Arial,sans-serif;margin-bottom:16px;}
.home-hero h1 {font-weight:400;font-size:clamp(42px,6.1vw,84px);letter-spacing:-.045em;line-height:1.02;margin:0 auto 15px;max-width:900px;}
.home-hero h1 em {font-weight:400;color:#833d32;}
.home-subtitle {margin:0 auto 10px;max-width:540px;line-height:1.55;color:#6d614d;font-size:clamp(14px,1.5vw,18px);}
.hero-emblem {position:relative;width:min(520px,95vw);height:clamp(250px,34vw,330px);margin:0 auto;display:grid;place-items:center;}
.hero-emblem>img {position:relative;z-index:3;height:min(264px,33vw);max-height:85%;width:auto;filter:drop-shadow(0 14px 10px #714b3023);animation:seed-breathe 6s ease-in-out infinite;}
@keyframes seed-breathe {0%,100%{transform:translateY(1px) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
.hero-line {position:absolute;left:50%;top:51%;width:390px;height:130px;border:1.5px solid #ba6b3b86;border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg);}
.hero-line-2 {width:470px;height:154px;border-color:#31675370;transform:translate(-50%,-50%) rotate(32deg);}
.hero-line-3 {width:260px;height:240px;border-color:#993b4575;transform:translate(-50%,-50%) rotate(77deg);}
.hero-memory {position:absolute;width:95px;height:95px;background-position:center;background-size:cover;opacity:.82;border-radius:70% 30% 54% 46% / 39% 62% 38% 61%;filter:drop-shadow(0 2px 6px #816b4f31);}
.hero-memory-1{left:7%;top:1%}.hero-memory-2{right:7%;top:5%;transform:rotate(25deg)}.hero-memory-3{left:1%;bottom:3%;transform:rotate(-15deg)}.hero-memory-4{right:1%;bottom:1%;transform:rotate(20deg)}
.heritage-pillars {display:flex;gap:clamp(8px,3vw,35px);justify-content:center;align-items:center;flex-wrap:wrap;margin:8px auto 16px;color:#9b6547;max-width:880px;font:12px Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;}
.heritage-pillars span+span:before {content:'·';padding-right:clamp(8px,3vw,35px);color:#b99a74;}
.hero-conclusion {font-size:clamp(20px,2.5vw,27px);color:#923c34;font-style:italic;margin:0 0 26px;}
.primary-cta {display:inline-flex;align-items:center;gap:25px;background:#074b45;color:#fff9ec;padding:17px 25px;border-radius:40px;text-decoration:none;font:14px Arial,sans-serif;letter-spacing:.045em;box-shadow:0 9px 22px #12463b2b;}
.primary-cta:hover,.header-agenda:hover {background:#9c4930;}
.opening {position:relative;padding:75px max(26px,calc((100vw - 1100px)/2)) 105px;background:linear-gradient(180deg,#f5eadc,#f6f0e6);scroll-margin-top:0;}
.opening-intro {text-align:center;margin:0 auto 36px;}
.opening-intro h2 {font-weight:400;font-size:clamp(38px,4.5vw,64px);line-height:1.1;letter-spacing:-.035em;margin:0 0 12px;}
.opening-intro p {font-size:17px;color:#766652;margin:0;}
.experience-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.experience {border:1px solid rgba(105,87,68,.14);text-align:left;border-radius:24px;padding:26px 26px 22px;min-height:240px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .25s,box-shadow .25s;border-color .25s;box-shadow:0 7px 22px #704e2b0b;}
.experience:hover,.experience[aria-pressed="true"] {transform:translateY(-3px);box-shadow:0 13px 28px #704e2b22;}
.experience-sentir {background:#e9dccd;color:#8f452e;}.experience-saber {background:#e8d2d0;color:#8e363a;}.experience-compartir {background:#f2ddc8;color:#965228;}
.experience-icon {font-size:33px;line-height:1;height:43px;}
.experience-name {font-size:clamp(28px,3vw,39px);margin-top:15px;}
.experience-subtitle {font:12px Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;margin:9px 0 auto;}
.experience-join {font:12px Arial,sans-serif;margin-top:22px;}
.program-section {margin-top:55px;scroll-margin-top:22px;}
.program-head {display:flex;justify-content:space-between;align-items:center;gap:20px;}
.program-head h3 {font-size:30px;font-weight:400;margin:0;}
.program-disclaimer {font:13px Arial,sans-serif;color:#877863;margin:8px 0 20px;line-height:1.5;}
.program-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.program-card {min-height:136px;background:#fff9f1;border:1px solid #dfd1bf;border-radius:16px;padding:22px 19px;}
.program-type {font:600 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#bb6740;}
.program-card h4 {font-size:20px;font-weight:400;margin:9px 0 7px;}
.program-card p {font:13px Arial,sans-serif;color:#776954;line-height:1.45;margin:0;}
.home-footer {padding:30px max(26px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;color:#756e5d;font:12px Arial,sans-serif;background:#eee3d5;}
.home-footer div {display:flex;gap:20px;flex-wrap:wrap;}
.home-footer button {border:0;background:none;color:#21544b;padding:9px 0;font:12px Arial,sans-serif;}
.home-footer button:hover {text-decoration:underline;}
@media(max-width:800px) {
 .atlas-topbar {padding:12px 15px;}.atlas-brand img {width:54px;height:54px;}.atlas-topline strong {font-size:15px;}.atlas-topline span {font-size:9px;}
 .atlas-small-tag {display:none;}.atlas-hint {top:81px;right:12px;font-size:9px;max-width:190px;}
 .atlas-overlay-text {left:18px;bottom:130px;width:65vw;}.scene-title {font-size:22px;}.scene-cue {font-size:11px;}
 .atlas-dock {bottom:max(10px,env(safe-area-inset-bottom));width:calc(100vw - 18px);gap:5px;height:75px;padding:8px 5px;border-radius:17px;}
 .origin-button {min-width:44px;flex-direction:column;gap:0;font-size:9px;padding:6px 3px;}
 .origin-symbol {font-size:22px;}
 .timeline-heading > div {font-size:13px;}.timeline-period{display:none;}.timeline-arrows {padding-left:3px;gap:0;}.timeline-arrows button {width:35px;height:40px;}
 .skip-button {font-size:11px;padding:11px 12px;}
 .seed-on-atlas {width:clamp(55px,12vw,82px);}
 .home-header {padding:18px 18px 0;}.home-header img {width:72px;height:72px;}.home-header-actions {gap:9px;}.home-header-actions .text-button {font-size:11px;}
 .home-hero {padding:18px 16px 62px;min-height:620px;}.home-subtitle {font-size:15px;}
 .hero-emblem {height:280px;}.hero-emblem>img {height:208px;}.hero-line {width:250px;height:110px;}.hero-line-2{width:315px;height:128px;}.hero-line-3{width:185px;height:185px;}.hero-memory{width:62px;height:62px;}
 .heritage-pillars{gap:8px;font-size:10px;}.heritage-pillars span+span:before{padding-right:8px;}
 .opening {padding:62px 20px 80px;}.program-grid{grid-template-columns:repeat(2,1fr);}.home-footer {flex-direction:column;align-items:flex-start;}
}
@media(max-width:580px) {
 .atlas-topline span {display:none;}.atlas-topline strong {font-size:13px;}.atlas-brand img {width:46px;height:46px;}
 .atlas-hint {display:none;}.atlas-overlay-text {bottom:120px;width:72vw;}.scene-title {font-size:20px;}
 .home-hero h1 {font-size:clamp(36px,9vw,52px);}.home-header-actions .text-button {font-size:10px;}
 .header-agenda {font-size:11px;padding:11px 13px;}.home-subtitle{line-height:1.46;}
 .heritage-pillars {max-width:300px;line-height:1.8;}
 .experience-grid{grid-template-columns:1fr;}.experience {min-height:162px;padding:18px 23px;}.experience-name{font-size:31px;margin-top:4px;}.experience-icon{font-size:27px;height:30px;}.experience-join{margin-top:9px;}
 .program-grid{grid-template-columns:1fr;}.program-card{min-height:110px;}
 .home-header {padding-top:8px;}.reveal-caption{bottom:17vh;text-align:center;padding:0 20px;}
}
@media (prefers-reduced-motion:reduce) {
 *, *::before, *::after {animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* Readability refinements after desktop/mobile browser tests. */
.home-hero:focus { outline: none; }
.timeline-active-date { display: none; font: 11px Arial,sans-serif; color:#af5a39; white-space:nowrap; }
.atlas-overlay-text { background: linear-gradient(90deg,rgba(249,243,226,.52),rgba(249,243,226,0)); border-radius:10px; padding:8px 10px; margin-left:-10px; }
@media(max-width:800px){
  .timeline-active-date {display:block;max-width:106px;overflow:hidden;text-overflow:ellipsis;}
  .atlas-overlay-text { bottom:155px; }
}
@media(max-width:490px){
  .timeline-active-date { max-width:88px;font-size:10px; }
  .atlas-overlay-text { bottom:148px; }
}

/* Atlas v0.6 — original panoramas intact, the chapter 6 seam is a deliberate right-frame edge. */
.seed-on-atlas { width:clamp(42px,5.8vh,78px); max-height:14vh; }
.mode-reveal .atlas { display:block;opacity:1;visibility:visible;pointer-events:none; }
.mode-reveal .atlas-topbar,.mode-reveal .atlas-dock,.mode-reveal .atlas-overlay-text,.mode-reveal .atlas-hint {opacity:0;visibility:hidden;}
.mode-reveal .atlas-vignette {opacity:0;}
.mode-reveal .seed-on-atlas {opacity:0;}
.reveal-stage {background:transparent;transition:opacity .32s ease;}
.reveal-sky {inset:0;background:radial-gradient(ellipse at 48% 50%,rgba(252,247,237,.30),rgba(248,241,227,.07) 63%,transparent 100%);}
.mode-reveal .reveal-sky {animation:light-into-revelation 4.6s ease both;}
@keyframes light-into-revelation {0%{opacity:0}25%{opacity:.16}65%{opacity:.72}100%{opacity:1}}
.reveal-memory-card {
  width:clamp(94px,11vw,172px);height:auto;aspect-ratio:1;
  border-radius:48% 52% 46% 54% / 54% 43% 57% 46%;
  box-shadow:0 5px 22px rgba(64,63,46,.13);animation:none;
}
.mode-reveal .reveal-memory-card {animation:history-converges-v06 4.6s ease-in-out both;animation-delay:calc(var(--i) * 80ms);}
@keyframes history-converges-v06 {
  0% {opacity:0;filter:blur(5px);transform:rotate(var(--angle)) translateX(min(52vw,570px)) rotate(calc(-1 * var(--angle))) scale(.58)}
  24% {opacity:.94;filter:none;transform:rotate(var(--angle)) translateX(min(30vw,305px)) rotate(calc(-1 * var(--angle))) scale(1)}
  50% {opacity:1;transform:rotate(var(--angle)) translateX(min(26vw,255px)) rotate(calc(-1 * var(--angle))) scale(.96)}
  80% {opacity:.82;transform:rotate(var(--angle)) translateX(54px) rotate(calc(-1 * var(--angle))) scale(.45)}
  100% {opacity:0;transform:rotate(var(--angle)) translateX(0) rotate(calc(-1 * var(--angle))) scale(.05)}
}
.reveal-lines i {animation:none;}
.mode-reveal .reveal-lines i {animation:heritage-lines-v06 4.6s ease both;}
@keyframes heritage-lines-v06 {0%,10%{opacity:0;transform:rotate(calc(var(--dir)*1deg)) scaleX(1.7)}34%{opacity:.38}80%{opacity:.3}100%{opacity:0;transform:rotate(calc(var(--dir)*1deg)) scaleX(.12)}}
.reveal-seed {
  left:49%;top:51%;width:clamp(86px,11vw,150px);max-height:30vh;
  opacity:1;animation:none;transform:translate(-50%,-50%);
}
.mode-reveal .reveal-seed {animation:seed-guides-revelation-v06 4.6s ease-in-out both;}
@keyframes seed-guides-revelation-v06 {
  0%{opacity:1;transform:translate(-50%,-50%) rotate(0deg) scale(.85)}
  27%{opacity:1;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}
  60%{opacity:1;transform:translate(-50%,-50%) rotate(8deg) scale(1.05)}
  86%{opacity:1;transform:translate(calc(-50% - 10vw),-50%) rotate(0deg) scale(.90)}
  100%{opacity:1;transform:translate(calc(-50% - 10vw),-50%) rotate(0deg) scale(.88)}
}
.reveal-logo {
  right:11%;top:50%;transform:translateY(-50%);
  width:clamp(240px,34vw,500px);max-width:66vw;max-height:none;
  object-fit:contain;opacity:0;animation:none;filter:drop-shadow(0 3px 12px rgba(255,252,245,.7));
}
.mode-reveal .reveal-logo {animation:official-logo-arrives-v06 4.6s ease both;}
@keyframes official-logo-arrives-v06 {
  0%,69%{opacity:0;transform:translateY(calc(-50% + 13px)) scale(.94)}
  88%,100%{opacity:1;transform:translateY(-50%) scale(1)}
}
.reveal-caption {bottom:12vh;color:#6e4835;opacity:0;animation:none;letter-spacing:.02em;}
.mode-reveal .reveal-caption {animation:heritage-caption-v06 4.6s ease both;}
@keyframes heritage-caption-v06 {0%,70%{opacity:0}86%,100%{opacity:1}}
.home-header img {width:176px;height:76px;object-fit:cover;object-position:center;}
.home-horizontal-logo {display:block;margin:0 auto 5px;width:min(420px,73vw);height:126px;object-fit:cover;object-position:center;}
.home-hero {padding-top:4px;}
@media (max-width:800px) {
  .seed-on-atlas {width:clamp(42px,9vw,64px)}
  .home-header img {width:134px;height:56px;object-fit:cover;}
  .home-horizontal-logo{width:min(365px,76vw);height:108px;}
  .reveal-seed {width:clamp(72px,15vw,112px);}
  .reveal-logo {right:4vw;width:min(67vw,405px);}
}
@media (max-width:580px) {
  .home-header img {width:115px;height:48px;}
  .home-horizontal-logo {height:82px;}
  .reveal-logo {top:44%;right:3vw;width:70vw;}
  .reveal-seed {left:40%;top:55%;width:78px;}
  .reveal-caption {bottom:18vh;padding:0 25px;text-align:center;}
  .reveal-memory-card {width:clamp(72px,18vw,108px);}
}
/* v0.6 final QA: keep all official wordmark ink and its tagline visible. */
.home-horizontal-logo {height:clamp(115px,12vw,164px);}
.reveal-chapter-label {
  position:absolute;top:13vh;left:50%;width:min(980px,88vw);
  text-align:center;transform:translateX(-50%);z-index:3;
  color:#507469;font:600 clamp(10px,1.06vw,14px)/1.6 Arial,sans-serif;
  letter-spacing:.16em;opacity:0;pointer-events:none;
}
.mode-reveal .reveal-chapter-label{animation:reveal-historic-terms-v06 4.6s ease both;}
@keyframes reveal-historic-terms-v06 {0%,8%{opacity:0}22%,53%{opacity:.92}74%,100%{opacity:0}}
@media(max-width:580px) {
  .home-horizontal-logo{height:clamp(110px,29vw,140px);}
  .reveal-chapter-label {top:16vh;letter-spacing:.06em;font-size:10px;}
}

/* ─────────── Atlas vivo v0.7 · continuity and responsive narrative ─────────── */
.atlas-viewport { background:#efe9db; }
.seed-on-atlas {
  height:auto; width:auto; max-height:none; max-width:none;
  transform-origin:50% 48%; opacity:1;
  filter: drop-shadow(0 5px 5px rgba(63,45,31,.15));
}
.atlas-overlay-text {
  top:clamp(112px,16.8vh,167px); bottom:auto;
  left:clamp(20px,5vw,72px);width:min(410px,36vw);
  padding:15px 18px; margin:0; border-radius:13px;
  background:linear-gradient(95deg,rgba(255,250,239,.92),rgba(255,250,239,.77));
  box-shadow:0 6px 24px rgba(65,63,53,.10);
  border:1px solid rgba(131,103,75,.12);
  text-shadow:none; backdrop-filter:blur(4px);
  color:#083f40;
}
.scene-title {font-size:clamp(20px,2.1vw,30px);line-height:1.16;letter-spacing:-.02em;}
.scene-eyebrow {font-weight:700;color:#a34f32;letter-spacing:.14em;}
.scene-cue {font-size:12px;line-height:1.48;color:#4c6154;}
.is-autoplay .atlas-overlay-text {opacity:1;}
.app-shell[data-chapter="1"] .atlas-overlay-text {left:47%;top:17%;}
.app-shell[data-chapter="2"] .atlas-overlay-text {left:50%;top:16%;}
.app-shell[data-chapter="3"] .atlas-overlay-text {left:4.5%;top:15%;}
.app-shell[data-chapter="4"] .atlas-overlay-text {left:4.5%;top:15%;}
.app-shell[data-chapter="5"] .atlas-overlay-text {left:5%;top:15%;}
.app-shell[data-chapter="6"] .atlas-overlay-text {left:5%;top:15%;}
.app-shell[data-chapter="7"] .atlas-overlay-text {left:4.5%;top:17%;}
.app-shell[data-chapter="8"] .atlas-overlay-text {left:52%;top:15%;}
.mode-reveal .atlas {display:block;opacity:1;visibility:visible;pointer-events:none;}
.mode-reveal .atlas-topbar,.mode-reveal .atlas-dock,.mode-reveal .atlas-overlay-text,.mode-reveal .atlas-hint {opacity:0;visibility:hidden;}
.mode-reveal .atlas-vignette,.mode-reveal .seed-on-atlas{opacity:0;}
.reveal-stage {opacity:0;visibility:hidden;pointer-events:none;background:transparent;z-index:29;}
.mode-reveal .reveal-stage {opacity:1;visibility:visible;}
.reveal-sky {position:absolute;inset:0;background:radial-gradient(ellipse at var(--arrival-x) var(--arrival-y),rgba(254,248,224,.36),transparent 52%);animation:none;opacity:0;}
.mode-reveal .reveal-sky {animation:arrivalLight 4.2s ease both;}
@keyframes arrivalLight {0%,10%{opacity:0}58%{opacity:.56}100%{opacity:.2}}
.reveal-memory-field,.reveal-lines {position:absolute;inset:auto;left:var(--arrival-x);top:var(--arrival-y);width:0;height:0;display:block;pointer-events:none;}
.reveal-memory-card {position:absolute;left:0;top:0;width:clamp(80px,10vw,148px);height:auto;aspect-ratio:1;animation:none!important;opacity:0;}
.mode-reveal .reveal-memory-card {animation:orbitIntoFruit 4.2s cubic-bezier(.2,.4,.25,1) both!important;animation-delay:calc(var(--i) * 80ms)!important;}
@keyframes orbitIntoFruit {
  0%{opacity:0;filter:blur(6px);transform:rotate(var(--angle)) translateX(min(42vw,360px)) rotate(calc(-1 * var(--angle))) scale(.62)}
  19%{opacity:.90;filter:none;transform:rotate(var(--angle)) translateX(min(27vw,230px)) rotate(calc(-1 * var(--angle))) scale(.9)}
  51%{opacity:.88;transform:rotate(var(--angle)) translateX(min(19vw,156px)) rotate(calc(-1 * var(--angle))) scale(.75)}
  78%{opacity:.75;transform:rotate(var(--angle)) translateX(30px) rotate(calc(-1 * var(--angle))) scale(.29)}
  100%{opacity:0;transform:rotate(var(--angle)) translateX(0) rotate(calc(-1 * var(--angle))) scale(.01)}
}
.reveal-lines i{position:absolute;left:-130px;top:-1px;width:260px;height:2px;opacity:0;animation:none!important;}
.mode-reveal .reveal-lines i {animation:arrivalThreads 4.2s ease-in-out both!important;}
@keyframes arrivalThreads {0%,12%{opacity:0;transform:rotate(calc(var(--dir)*1deg)) scaleX(1.8)}35%{opacity:.55}75%{opacity:.25}100%{opacity:0;transform:rotate(calc(var(--dir)*1deg)) scaleX(.05)}}
.reveal-seed {
  position:absolute;left:var(--arrival-x);top:var(--arrival-y);
  width:auto;height:var(--arrival-h);max-width:none;max-height:none;
  opacity:1;transform:translate(-50%,-50%);animation:none!important;
  filter:drop-shadow(0 4px 8px rgba(108,76,43,.2));
}
.mode-reveal .reveal-seed {animation:seedBecomesDrawing 4.2s ease-in-out both!important;}
@keyframes seedBecomesDrawing {
  0%{opacity:1;transform:translate(-50%,-50%) rotate(-4deg) scale(1)}
  40%{opacity:1;transform:translate(-50%,-50%) rotate(6deg) scale(1.035)}
  68%{opacity:.92;transform:translate(-50%,-50%) rotate(0deg) scale(1)}
  86%{opacity:.18;transform:translate(-50%,-50%) scale(1.01)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1)}
}
.reveal-story {position:absolute;left:clamp(20px,4vw,66px);bottom:clamp(115px,13vh,175px);width:min(440px,39vw);max-height:50vh;text-align:left;color:#0a4340;pointer-events:none;opacity:0;}
.mode-reveal .reveal-story {animation:arrivalStory 4.2s ease both;}
@keyframes arrivalStory {0%,48%{opacity:0;transform:translateY(17px)}66%,100%{opacity:1;transform:translateY(0)}}
.reveal-overline {font:700 10px Arial,sans-serif;letter-spacing:.19em;color:#9a4c30;}
.reveal-caption {position:static;margin:10px 0 8px;transform:none;opacity:1;animation:none!important;width:auto;text-align:left;font-size:clamp(18px,2.35vw,29px);line-height:1.16;text-shadow:0 1px 12px #fff8ee;}
.reveal-caption strong {color:#8f3f32;font-weight:400;}
.reveal-logo {position:static;transform:none;display:block;margin:9px 0 0;object-fit:contain;width:clamp(70px,8vw,100px);height:auto;max-width:none;max-height:none;opacity:1;animation:none!important;}
.reveal-skip {z-index:35;right:24px;top:20px;border:1px solid #d3c8b2;background:rgba(255,249,236,.9);border-radius:40px;padding:10px 16px;}

/* Shared exact painted crop behind both the last frame of the Atlas and the homepage. */
.mode-home .atlas {display:block;visibility:hidden;pointer-events:none;opacity:0;}
.mode-home .reveal-stage {display:none;}
.home {background:#f9f2e6;}
.home-hero-stage {
  position:relative;height:100dvh;min-height:580px;overflow:hidden;
  background:#f6ecdb;isolation:isolate;
}
.home-shared-art {
  position:absolute;left:var(--home-art-left);top:0;
  width:var(--home-art-width);height:var(--home-art-height);
  max-width:none;object-fit:fill;pointer-events:none;user-select:none;
}
.home-art-wash {position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(251,245,229,.18),rgba(251,245,229,.02) 55%,transparent 82%);}
.home-header {position:absolute;z-index:3;top:0;left:0;right:0;max-width:none;margin:0;padding:clamp(18px,3vw,36px) clamp(18px,4vw,56px);display:flex;align-items:flex-start;justify-content:space-between;}
.home-header img {display:block;width:clamp(72px,7.5vw,113px);height:auto;filter:drop-shadow(0 4px 12px rgba(255,246,228,.7));}
.home-header-actions {display:flex;align-items:center;gap:12px;}
.home-header-actions .text-button {border-radius:22px;padding:12px 15px;background:rgba(250,244,234,.88);backdrop-filter:blur(5px);font:600 12px Arial,sans-serif;}
.home-header-actions .header-agenda {font-weight:600;box-shadow:0 6px 18px #12504c2b;}
.home-invitation {
  position:absolute;z-index:2;left:clamp(20px,4.5vw,70px);bottom:clamp(42px,9vh,90px);
  width:min(480px,40vw);padding:clamp(24px,3vw,38px);border-radius:22px;
  background:rgba(255,251,241,.88);border:1px solid rgba(133,98,66,.2);
  box-shadow:0 12px 48px rgba(73,57,38,.13);backdrop-filter:blur(10px);
}
.home-invite-kicker {font:700 10px Arial,sans-serif;letter-spacing:.19em;color:#ad5832;}
.home-invitation h1 {font-size:clamp(37px,4vw,61px);font-weight:400;line-height:.97;margin:16px 0 15px;letter-spacing:-.045em;color:#003e3e;}
.home-invitation h1 em {color:#a04c33;font-style:normal;}
.home-invitation p {font-size:clamp(14px,1.16vw,17px);line-height:1.48;margin:0 0 21px;color:#5f5a4c;}
.home-invitation strong {color:#0e4f47;font-weight:700;}
.home-primary-cta {display:inline-flex;align-items:center;gap:20px;border-radius:30px;background:#054843;color:#fff9ed;font:600 13px Arial,sans-serif;letter-spacing:.02em;padding:15px 20px;text-decoration:none;box-shadow:0 7px 19px #0e4a3c27;}
.home-primary-cta:hover {background:#a34e32;}
.home-invite-caption {display:block;margin-top:18px;color:#a25f42;font:italic 14px Georgia,serif;}
.home-arrival-note {position:absolute;right:34px;bottom:23px;color:#987b60;font:italic 13px Georgia,serif;}
.mode-home .home-hero-stage .home-invitation {animation:inviteArrives .85s ease-out both;}
@keyframes inviteArrives {from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.opening {padding-top:clamp(65px,9vw,110px);}
.opening-intro h2 {max-width:800px;margin:0 auto 12px;}
.program-disclaimer {color:#6d665b;}

@media(max-width:800px){
  .atlas-overlay-text,.app-shell[data-chapter] .atlas-overlay-text {
    top:clamp(88px,12vh,122px);bottom:auto;left:14px;width:min(340px,76vw);
    padding:11px 13px;margin:0;
    background:rgba(255,251,242,.92);box-shadow:0 4px 16px rgba(36,46,36,.1);
  }
  .app-shell[data-chapter="1"] .atlas-overlay-text {left:36%;width:60vw;}
  .app-shell[data-chapter="8"] .atlas-overlay-text {left:17px;width:74vw;}
  .scene-title {font-size:clamp(18px,4.8vw,23px);line-height:1.13;}
  .scene-eyebrow {font-size:9px;margin-bottom:5px;}
  .scene-cue {font-size:10.5px;margin-top:5px;}
  .home-hero-stage{min-height:600px;}
  .home-header{padding:17px 16px;}
  .home-header img{width:76px;}
  .home-header-actions .text-button{font-size:11px;padding:10px 11px;}
  .home-invitation{left:18px;bottom:27px;width:min(390px,80vw);padding:21px 22px;}
  .home-invitation h1{font-size:clamp(34px,6vw,46px);}
  .home-arrival-note{display:none;}
  .reveal-story{left:18px;bottom:112px;width:70vw;}
  .reveal-caption{font-size:clamp(17px,4vw,24px);}
}
@media(max-width:580px){
  .atlas-overlay-text,.app-shell[data-chapter] .atlas-overlay-text {top:clamp(89px,12vh,111px);width:75vw;left:12px;}
  .app-shell[data-chapter="1"] .atlas-overlay-text {left:31%;width:65vw;}
  .home-header img {width:64px;}
  .home-header-actions .text-button {max-width:116px;font-size:10px;line-height:1.1;}
  .home-invitation {
    left:10px;right:10px;bottom:12px;width:auto;
    border-radius:16px;padding:15px 18px 13px;
    background:rgba(255,249,239,.94);
  }
  .home-invite-kicker {font-size:9px;}
  .home-invitation h1 {font-size:clamp(31px,7vw,40px);margin:8px 0;}
  .home-invitation p {font-size:12px;line-height:1.3;margin-bottom:11px;}
  .home-primary-cta {font-size:12px;padding:11px 15px;}
  .home-invite-caption {display:none;}
  .reveal-story {left:14px;bottom:95px;width:min(250px,65vw);background:rgba(255,249,238,.73);border-radius:12px;padding:10px;}
  .reveal-caption {font-size:17px;}
  .reveal-overline{font-size:8px;}
  .reveal-logo {width:66px;}
}

@media(max-width:580px){
  /* Avoid duplicating the brand over the approved poster on very narrow screens. */
  .home-header>img{display:none;}
}

/* ─────── v0.8: precise history frames, quieter character, focused finale ─────── */
/* Only the very first and the very last encounter animate; intermediate stops stay still. */
.seed-on-atlas {transition:none;filter:drop-shadow(0 3px 5px rgba(49,36,23,.14));}
.seed-on-atlas.seed-observe {animation:none !important;}
/* The placards occupy the sky, leaving the gathering, cocoa and boat unobscured. */
.app-shell[data-chapter="4"] .atlas-overlay-text,
.app-shell[data-chapter="6"] .atlas-overlay-text,
.app-shell[data-chapter="7"] .atlas-overlay-text {left:16%;top:14%;}
.app-shell[data-chapter="2"] .atlas-overlay-text {left:50%;top:13%;}
.app-shell[data-chapter="3"] .atlas-overlay-text,
.app-shell[data-chapter="5"] .atlas-overlay-text {top:13%;}
.app-shell[data-chapter="8"] .atlas-overlay-text {top:13%;}

/* Memory fragments are held on an illustrated, quiet part of the final panorama. */
.convergence-field {position:absolute;inset:0;z-index:7;visibility:hidden;opacity:0;pointer-events:none;}
.is-converging .convergence-field {visibility:visible;opacity:1;}
.convergence-memory {position:absolute;left:var(--conv-x);top:var(--conv-y);
  width:clamp(78px,10.8vw,140px);aspect-ratio:1;opacity:0;
  transform:translate(-50%,-50%);will-change:transform,opacity;
}
.convergence-memory img {width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 22%,rgba(0,0,0,.85) 43%,transparent 76%);
  mask-image:radial-gradient(ellipse at center,#000 22%,rgba(0,0,0,.85) 43%,transparent 76%);
  filter:drop-shadow(0 3px 9px rgba(91,67,41,.24));}
.is-converging .convergence-memory {animation:memoryIntoProtagonist 3.65s cubic-bezier(.21,.55,.38,1) both;animation-delay:calc(var(--i) * 66ms);}
@keyframes memoryIntoProtagonist {
  0% {opacity:0;transform:translate(calc(-50% + var(--start-x)),calc(-50% + var(--start-y))) scale(.62);}
  20% {opacity:.92;transform:translate(calc(-50% + var(--sx82)),calc(-50% + var(--sy82))) scale(.94);}
  60% {opacity:.85;transform:translate(calc(-50% + var(--sx42)),calc(-50% + var(--sy42))) scale(.77);}
  88% {opacity:.57;transform:translate(-50%,-50%) scale(.28);}
  100% {opacity:0;transform:translate(-50%,-50%) scale(.02);}
}
.convergence-threads {position:absolute;left:var(--conv-x);top:var(--conv-y);width:0;height:0;}
.convergence-threads i {position:absolute;left:-155px;top:-1px;width:310px;height:2px;opacity:0;
  background:linear-gradient(90deg,transparent,#b5724d88 24%,#b5724daa 50%,transparent 76%);}
.convergence-threads i:nth-child(1){--a:-38deg}
.convergence-threads i:nth-child(2){--a:8deg;background:linear-gradient(90deg,transparent,#276d5388,transparent)}
.convergence-threads i:nth-child(3){--a:61deg}
.convergence-threads i:nth-child(4){--a:115deg;background:linear-gradient(90deg,transparent,#953d4477,transparent)}
.convergence-threads i:nth-child(5){--a:155deg}
.convergence-threads i:nth-child(6){--a:205deg;background:linear-gradient(90deg,transparent,#276d5377,transparent)}
.is-converging .convergence-threads i {animation:threadIntoSeed 3.65s ease-in-out both;}
@keyframes threadIntoSeed {
  0%,10%{opacity:0;transform:rotate(var(--a)) scaleX(1.45)}
  25%{opacity:.6}
  70%{opacity:.45;transform:rotate(var(--a)) scaleX(.55)}
  100%{opacity:0;transform:rotate(var(--a)) scaleX(.015)}
}
.convergence-copy {position:absolute;left:var(--conv-x);top:calc(var(--conv-y) - clamp(175px,28vh,240px));
  transform:translateX(-50%);width:min(580px,75vw);margin:0;text-align:center;
  color:#4d7568;font:600 clamp(10px,1.17vw,14px)/1.9 Arial,sans-serif;
  letter-spacing:.12em;text-shadow:0 2px 12px #fffaf0;opacity:0;}
.convergence-copy strong {display:block;font:normal clamp(22px,2.6vw,35px)/1.15 Georgia,serif;
  color:#8e4638;letter-spacing:0;}
.is-converging .convergence-copy {animation:convergenceWords 3.8s ease both;}
@keyframes convergenceWords {0%,12%{opacity:0;transform:translate(-50%,10px)}27%,71%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
.is-revealing .atlas-dock,.is-revealing .atlas-overlay-text,.is-revealing .atlas-hint {
  opacity:0;visibility:hidden;pointer-events:none;}
.is-revealing .atlas-topbar .atlas-brand,.is-revealing .atlas-small-tag{opacity:0;}
.is-revealing .seed-on-atlas {z-index:10;}
.is-revealing .atlas-vignette {opacity:0;}
@media(max-width:800px){
  /* Give the companion room to sit LEFT of sky caption instead of in the drawing. */
  .app-shell[data-chapter="2"] .atlas-overlay-text,
  .app-shell[data-chapter="4"] .atlas-overlay-text,
  .app-shell[data-chapter="6"] .atlas-overlay-text,
  .app-shell[data-chapter="7"] .atlas-overlay-text,
  .app-shell[data-chapter="8"] .atlas-overlay-text {
    left:108px;top:clamp(100px,12vh,126px);width:calc(100vw - 122px);
  }
  .app-shell[data-chapter="3"] .atlas-overlay-text,
  .app-shell[data-chapter="5"] .atlas-overlay-text {
    left:13px;top:clamp(100px,12vh,126px);width:min(310px,75vw);
  }
  .convergence-memory {width:clamp(61px,16vw,96px);}
  .convergence-copy {width:min(340px,90vw);font-size:10px;letter-spacing:.02em;}
  .convergence-copy strong {font-size:24px;}
}
@media(max-width:580px){
  .app-shell[data-chapter="2"] .atlas-overlay-text,
  .app-shell[data-chapter="4"] .atlas-overlay-text,
  .app-shell[data-chapter="6"] .atlas-overlay-text,
  .app-shell[data-chapter="7"] .atlas-overlay-text,
  .app-shell[data-chapter="8"] .atlas-overlay-text {
    left:105px;top:clamp(93px,11.5vh,114px);width:calc(100vw - 113px);
    padding:10px 12px;
  }
  .convergence-copy {top:calc(var(--conv-y) - 200px);}
}

/* ───────── v0.9 · restrained companion, editable inauguration hero ───────── */
/* The official horizontal logo is its own image, never a generated wordmark. */
.atlas-brand img {
  display:block;width:clamp(150px,17vw,214px);height:72px;
  object-fit:cover;object-position:center;
  filter:drop-shadow(0 2px 10px rgba(255,251,240,.85));
}
.atlas-topbar {padding-top:10px;}
/* The scene's original pod remains behind our visible protagonist at time zero. */
.seed-on-atlas {filter:drop-shadow(0 2px 5px rgba(70,41,30,.14));}

/* On Hito 8 the character lands to the RIGHT of the sky caption. */
.app-shell[data-chapter="8"] .atlas-overlay-text {
  left:46%;width:min(420px,37vw);top:13%;
}
/* Convergence copy follows rather than obscures the character and memories. */
.convergence-copy {
  top:calc(var(--conv-y) + clamp(100px,13vh,144px));
  left:var(--conv-x);width:min(570px,76vw);
  padding:10px 17px 12px;margin:0;
  border-radius:16px;
  background:linear-gradient(90deg,transparent,rgba(255,250,238,.85) 17%,rgba(255,250,238,.85) 83%,transparent);
  font:500 clamp(12px,1.22vw,15px)/1.35 Arial,sans-serif;
  color:#8c654f;letter-spacing:.015em;
  text-align:center;pointer-events:none;
}
.convergence-copy strong {
  display:block;font:400 clamp(24px,2.5vw,35px)/1.13 Georgia,serif;
  color:#844337;letter-spacing:-.01em;margin-bottom:7px;
}
.convergence-copy span {display:block;}

/* The new 2225x1282 ending is an illustration; the invitation is real HTML. */
.home-header img {
  width:clamp(152px,17vw,218px);height:78px;
  object-fit:cover;object-position:center;
  filter:drop-shadow(0 2px 9px rgba(255,249,237,.9));
}
.home-header {padding-top:9px;}
.home-header-actions .header-agenda {display:none;}
.home-heading {
  position:absolute;z-index:3;
  left:var(--home-head-x);top:clamp(97px,11vh,142px);
  transform:translateX(-50%);width:min(610px,66vw);
  text-align:center;text-shadow:0 1px 14px rgba(255,249,237,.95);
  pointer-events:none;
}
.home-heading h1 {
  margin:0;color:#073f40;font:400 clamp(34px,3.65vw,59px)/1.02 Georgia,serif;
  letter-spacing:-.035em;
}
.home-heading p {
  margin:10px 0 0;color:#a34a2b;
  font:400 clamp(15px,1.4vw,21px)/1.22 Georgia,serif;
  letter-spacing:.025em;
}
.home-invitation {
  position:absolute;z-index:3;left:var(--home-card-x);
  bottom:clamp(16px,2.3vh,30px);transform:translateX(-50%);
  width:min(435px,calc(100vw - 40px));
  padding:16px 20px 17px;text-align:center;border-radius:17px;
  background:rgba(255,250,240,.88);border:1px solid rgba(154,116,82,.24);
  box-shadow:0 8px 24px rgba(79,59,38,.09);backdrop-filter:blur(7px);
}
.home-invitation p {font-size:clamp(12px,1vw,14px);line-height:1.43;margin:0 0 12px;}
.home-primary-cta {padding:12px 19px;font-size:12px;letter-spacing:.01em;}
.home-arrival-note {display:none;}
.mode-home .home-hero-stage .home-invitation {animation:v09card .75s ease both;}
.mode-home .home-hero-stage .home-heading {animation:v09head .75s ease both;}
@keyframes v09head {from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes v09card {from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}

@media(max-width:800px) {
  .atlas-brand img {width:151px;height:57px;}
  .atlas-topbar {padding:7px 12px;}
  .app-shell[data-chapter="8"] .atlas-overlay-text {
    left:12px;top:clamp(101px,12vh,124px);width:min(61vw,265px);
  }
  .home-header img {width:148px;height:59px;}
  .home-header {padding:9px 12px;}
  .home-heading {top:clamp(110px,14vh,142px);width:min(470px,85vw);}
  .home-heading h1 {font-size:clamp(28px,5vw,42px);}
  .home-heading p {font-size:clamp(14px,3vw,19px);margin-top:6px;}
  .home-invitation {bottom:18px;width:min(370px,calc(100vw - 24px));padding:15px 17px;}
  .home-invitation p {font-size:12.5px;line-height:1.42;}
  .convergence-copy {width:min(380px,90vw);padding:9px 13px;}
  .convergence-copy strong {font-size:clamp(20px,5.8vw,28px);}
}
@media(max-width:580px) {
  .home-header>img {display:block;} /* logo is no longer baked into the artwork */
  .atlas-brand img {width:139px;height:54px;}
  .home-header img {width:139px;height:54px;}
  .home-heading {top:clamp(106px,13vh,132px);width:min(340px,86vw);}
  .home-heading h1 {font-size:clamp(28px,7.7vw,36px);line-height:1.05;}
  .home-heading p {font-size:15px;margin-top:6px;}
  .home-invitation {bottom:10px;width:min(333px,calc(100vw - 20px));padding:12px 13px 13px;}
  .home-invitation p {font-size:11.6px;line-height:1.31;margin-bottom:9px;}
  .home-primary-cta {font-size:11.2px;padding:10px 15px;}
  .convergence-copy {top:calc(var(--conv-y) + 108px);width:min(344px,92vw);}
  .convergence-copy strong {font-size:23px;}
  .convergence-copy span {font-size:11px;letter-spacing:0;}
}

/* Final readability refinement: pale field behind the horizontal identity on dark foliage. */
.atlas-brand {background:rgba(255,249,238,.77);padding:0 9px;border-radius:11px;backdrop-filter:blur(4px);box-shadow:0 3px 12px rgba(48,45,34,.08);}
@media(max-width:580px){.atlas-brand{padding:0 5px;border-radius:9px;}}


/* v0.10 refinement — fluid opening motion and integrated title lockup */
.atlas-brand {background:rgba(255,249,238,.56);padding:1px 7px;border-radius:10px;backdrop-filter:blur(3px);box-shadow:0 2px 10px rgba(48,45,34,.05);}
.atlas-brand img {display:block;width:clamp(118px,13vw,158px);height:auto;object-fit:contain;opacity:.9;filter:drop-shadow(0 2px 8px rgba(255,251,240,.75));}
.home-header {position:absolute;z-index:5;top:0;left:0;right:0;max-width:none;justify-content:flex-start;padding:clamp(14px,2.6vw,26px) clamp(14px,3vw,34px);}
.home-header-actions {display:flex;justify-content:flex-start;gap:12px;}
.home-header-actions .text-button {border-radius:999px;padding:11px 15px;background:rgba(250,244,234,.84);backdrop-filter:blur(5px);font:600 12px Arial,sans-serif;color:#295f54;box-shadow:0 4px 16px rgba(41,64,51,.06);}
.home-heading {top:clamp(88px,10vh,130px);width:min(470px,80vw);}
.home-heading h1 {display:flex;flex-direction:column;align-items:center;gap:10px;margin:0;}
.home-title-text {display:block;color:#114f4b;font:400 clamp(31px,3.35vw,54px)/1.02 Georgia,serif;letter-spacing:-.03em;}
.home-title-logo {display:block;width:clamp(150px,18vw,245px);height:auto;filter:drop-shadow(0 2px 12px rgba(255,249,238,.82));}
.home-heading p {margin:8px 0 0;color:#a65a3d;font:400 clamp(15px,1.36vw,20px)/1.22 Georgia,serif;}
.home-invitation {width:min(368px,calc(100vw - 34px));padding:14px 18px 15px;bottom:clamp(18px,2.4vh,32px);}
.home-invitation p {font-size:clamp(12px,1vw,14px);line-height:1.4;margin:0 0 11px;}
@media(max-width:800px){
  .atlas-brand img{width:134px;}
  .home-header{padding:14px 14px;}
  .home-heading{top:clamp(100px,13vh,136px);width:min(332px,84vw);}
  .home-title-text{font-size:clamp(27px,6.4vw,39px);}
  .home-title-logo{width:clamp(132px,33vw,205px);}
  .home-heading p{font-size:clamp(14px,3.1vw,18px);margin-top:4px;}
  .home-invitation{width:min(307px,calc(100vw - 20px));padding:12px 14px 13px;bottom:12px;}
}


/* v0.11 — Approved official wordmark, original raster scale, fluid seed & editorial hierarchy. */
.atlas-brand{background:none;padding:0;border-radius:0;backdrop-filter:none;box-shadow:none;}
.atlas-brand img{width:clamp(150px,17vw,214px);height:72px;object-fit:cover;object-position:center;opacity:1;filter:drop-shadow(0 2px 10px rgba(255,251,240,.86));}
.atlas-topbar{padding-top:10px;}

/* Title and logo form one named unit, with a brand-provided cacao emblem (not a new logo). */
.home-heading{top:clamp(46px,6.7vh,86px);width:min(480px,76vw);}
.home-heading h1{display:flex;flex-direction:column;align-items:center;gap:3px;margin:0;}
.home-title-text{color:#0b4a45;font:400 clamp(29px,3vw,44px)/1.06 Georgia,serif;letter-spacing:-.03em;}
.home-brand-divider{height:15px;display:flex;align-items:center;justify-content:center;gap:10px;width:70%;margin:2px 0 0;}
.home-brand-divider i{width:26%;height:1px;background:#9b5350;opacity:.68;}
.home-brand-divider img{object-fit:contain;width:27px;height:14px;filter:sepia(.45) saturate(1.15);opacity:.75;}
.home-title-logo{width:clamp(135px,13vw,188px);height:auto;object-fit:contain;filter:drop-shadow(0 1px 8px rgba(255,248,234,.8));}
.home-heading p{margin:20px 0 0;font:400 clamp(15px,1.45vw,19px)/1.25 Georgia,serif;color:#935143;letter-spacing:.01em;}
/* The return button belongs to the panorama, above the pyramid rather than the headline. */
.home-header{left:max(16px,calc(var(--home-head-x) - 290px));top:clamp(195px,27vh,263px);right:auto;padding:0;z-index:4;}
.home-header-actions .text-button{white-space:nowrap;max-width:none;line-height:1.1;padding:10px 14px;font:600 12px Arial,sans-serif;}
/* More of the approved illustration is left visible around the short invitation. */
.home-invitation{width:min(305px,calc(100vw - 52px));padding:13px 15px 15px;bottom:clamp(14px,2.5vh,30px);}
.home-invitation p{font-size:13px;line-height:1.38;margin:0 0 10px;}
@media(max-width:800px){
  .atlas-brand img{width:151px;height:57px;}
  .home-heading{top:clamp(41px,6.2vh,70px);width:min(360px,92vw);}
  .home-title-text{font-size:clamp(26px,5.95vw,31px);white-space:nowrap;letter-spacing:-.042em;}
  .home-title-logo{width:clamp(130px,33vw,158px);}
  .home-heading p{font-size:15px;margin-top:18px;}
  .home-header{top:clamp(208px,26vh,245px);left:14px;right:auto;padding:0;}
  .home-header-actions .text-button{font-size:11px;white-space:nowrap;max-width:none;line-height:1;}
  .home-invitation{width:min(279px,calc(100vw - 64px));padding:12px 13px 13px;bottom:12px;}
  .home-invitation p{font-size:12px;line-height:1.35;margin-bottom:9px;}
}
@media(max-width:580px){
 .atlas-brand img{width:139px;height:54px;}
 .home-brand-divider{margin-top:3px;}
 .home-title-text{font-size:clamp(24px,6.2vw,29px);}
 .home-heading p{margin-top:19px;}
}


/* Botón Explorar historia: esquina superior izquierda */

.home-hero-stage .home-header {
  position: absolute;
  top: 16px;
  left: 16px;
  right: auto;
  padding: 0;
  z-index: 10;
}

/* Ajuste para móviles */
@media (max-width: 800px) {
  .home-hero-stage .home-header {
    top: 14px;
    left: 14px;
  }

  /* Evita que el botón se encime con el título */
  .home-hero-stage .home-heading {
    top: clamp(65px, 9vh, 90px);
  }
}
