@font-face{font-family:Montserrat;src:url('./assets/montserrat-medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
:root{font-family:Montserrat,Arial,sans-serif;font-weight:500;color:#fff;background:#062d33;font-synthesis:none;--teal:#06888a;--mint:#a8e3d8;--gold:#f5db9e;--ink:#284345}
*{box-sizing:border-box}body{margin:0;min-height:100svh;overflow-x:hidden;background:radial-gradient(ellipse at 72% 44%,#0b4d50 0,transparent 49%),#062d33}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #f5db9e;outline-offset:5px}button:disabled{opacity:.55;cursor:wait}img{max-width:100%;display:block}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hidden{display:none!important}
.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5.8vw;position:relative;z-index:3}.brand{display:block;width:126px}.edition{font-size:10px;letter-spacing:.2em;color:#9cc9c8;display:flex;gap:22px;align-items:center}.edition b{font-size:14px;font-weight:500;color:#fff;letter-spacing:.05em}.text-button{background:none;color:inherit;font-size:12px;padding:12px 0;display:inline-flex;gap:14px;align-items:center;justify-content:center}.card-link{color:#d6e8e6}.text-button:hover{color:var(--gold)}.text-button span{font-size:19px}
.welcome{max-width:1440px;min-height:calc(100svh - 174px);margin:0 auto;display:grid;grid-template-columns:1.03fr 1fr;gap:5vw;align-items:center;padding:30px 6.2vw 62px;position:relative;z-index:1}.intro{padding-bottom:10px}.eyebrow{font-size:9px;letter-spacing:.23em;line-height:1.7;color:#b9dbd6}.tiny-spark{font-size:19px;vertical-align:middle;color:#f5db9e;margin-right:12px;line-height:1}h1{font-weight:500;letter-spacing:-.055em;font-size:clamp(38px,4.25vw,65px);line-height:1.12;margin:24px 0 25px}.intro-copy{font-size:14px;color:#bbd5d3;line-height:1.85;margin:0 0 31px}.welcome-actions{display:flex;gap:11px;flex-wrap:wrap}.button{min-height:51px;padding:15px 22px;border-radius:7px;display:inline-flex;gap:12px;align-items:center;justify-content:center;font-size:11px;line-height:1.6;font-weight:500;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button svg{width:17px;height:17px}.primary{background:#eaf7f0;color:#123f43;box-shadow:0 3px 20px #0001}.primary:hover{background:white;box-shadow:0 6px 30px #b7e6d91f}.secondary{background:transparent;border:1px solid #678f8e;color:white}.secondary:hover{background:#ffffff0d}.camera-note{font-size:10px;line-height:1.8;color:#8db3b3;margin:18px 0 37px}.intro-footnote{display:flex;align-items:center;gap:15px;font-size:8px;letter-spacing:.12em;color:#769e9e}.footnote-line{width:34px;height:1px;background:#5c8686}.hero-visual{position:relative;display:flex;align-items:center;flex-direction:column;perspective:1300px}.hero-card{position:relative;width:min(100%,500px);transform:rotateX(5deg) rotateY(-9deg) rotateZ(2deg);box-shadow:18px 24px 54px #00191c80,2px 1px 0 #43a5a6;transition:transform 1.2s;overflow:hidden}.hero-card img{width:100%;height:auto}.hero-card:hover{transform:rotateX(0) rotateY(-3deg) rotateZ(0)}.card-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(127deg,#ffffff0a,transparent 47%)}.card-aura{position:absolute;top:12%;left:7%;width:90%;height:90%;background:radial-gradient(ellipse,#65b9ab1c,transparent 65%);filter:blur(30px)}.visual-caption{font-size:10px;letter-spacing:.04em;color:#a3cbc5;margin-top:31px;display:flex;align-items:center;gap:10px}.glow-dot{width:4px;height:4px;border-radius:50%;background:#ffe7af;box-shadow:0 0 11px 3px #ffe3a375}.site-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:19px 5.8vw 23px;color:#79a3a2;font-size:9px;letter-spacing:.025em}.ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden}.ambient i{position:absolute;width:2px;height:2px;background:#efd6a8;border-radius:50%;box-shadow:0 0 12px 3px #e4d09130;opacity:.5;animation:twinkle 8s infinite alternate}.ambient i:nth-child(1){left:49%;top:24%;animation-delay:-2s}.ambient i:nth-child(2){left:88%;top:21%;animation-delay:-4s}.ambient i:nth-child(3){left:54%;top:73%;animation-delay:-6s}.ambient i:nth-child(4){left:91%;top:78%;animation-delay:-3s}.ambient i:nth-child(5){left:25%;top:10%;opacity:.2}@keyframes twinkle{0%,30%{opacity:.08;transform:translateY(2px)}70%,100%{opacity:.6;transform:translateY(-3px)}}
.experience{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 43%,#12565a,#052b31 70%);z-index:10;display:flex;flex-direction:column;align-items:center;overflow:hidden;padding:0 20px env(safe-area-inset-bottom)}.experience-top{position:absolute;z-index:5;top:max(20px,env(safe-area-inset-top));left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.round-button{background:#183e45b3;backdrop-filter:blur(8px);border:1px solid #ffffff24;width:42px;height:42px;border-radius:50%;color:white;display:flex;align-items:center;justify-content:center;font-size:29px}.round-button:hover{background:#2e575d}.round-button svg{width:19px;height:19px}.experience-title{color:#abc7c6;font-size:9px;letter-spacing:.2em}.experience-tools{display:flex;align-items:center;gap:12px}.sound-button{padding:10px 12px;color:#ddedeb;border:1px solid #ffffff24;border-radius:25px;background:#173d44b3;font-size:10px}.preview-stage{width:100%;display:flex;align-items:center;justify-content:center;flex:1;padding:84px 0 168px;min-height:0}.story-card{position:relative;aspect-ratio:1;width:min(61svh,590px,90vw);box-shadow:0 18px 90px #00171e77;border:1px solid #ffffff1f}.story-card canvas{width:100%;height:100%;display:block}.year-hotspot{position:absolute;left:78%;top:80%;width:15%;height:13%;border-radius:14px;background:transparent;animation:yearpulse 2.5s infinite}.year-hotspot:focus-visible{outline-offset:0}.year-hotspot:after{content:'';position:absolute;inset:0;border:1px solid #ffe7b66b;border-radius:14px}@keyframes yearpulse{50%{box-shadow:0 0 25px #ffe7b61a}}
.story-caption{position:absolute;left:16px;right:16px;bottom:98px;text-align:center;z-index:5;pointer-events:none}.chapter-label{font-size:8px;letter-spacing:.26em;color:#b4d1c7}.story-caption h2{font-size:clamp(17px,2.1vw,23px);font-weight:500;line-height:1.4;letter-spacing:-.025em;margin:9px 0 0}.story-bottom{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:16px;right:16px;display:flex;align-items:center;flex-direction:column;gap:10px;z-index:5}.chapter-track{display:flex;gap:7px;max-width:240px;width:100%;height:2px}.chapter-track span{flex:1;background:#ffffff25;position:relative;overflow:hidden}.chapter-track span:after{content:'';position:absolute;inset:0;background:#d1e9dc;transform:scaleX(var(--progress,0));transform-origin:left;transition:transform .15s}.story-bottom .button{min-height:44px;padding:10px 22px}.story-bottom .text-button{padding:5px;color:#e4edec}.tracking-note{font-size:10px;text-shadow:0 1px 4px #000;margin:2px 0 0}.experience.ar-mode{background:#000;padding:0}.ar-stage{position:absolute;inset:0;overflow:hidden}.ar-stage canvas,.ar-stage video{position:absolute!important}.ar-mode .experience-top{padding:8px;border-radius:40px;background:#062d3355}.ar-mode .experience-title{color:white}.ar-mode .story-caption{background:linear-gradient(0deg,#001d25a6,transparent);padding:16px 10px 32px;bottom:64px;text-shadow:0 1px 6px #000}.ar-mode .story-bottom{bottom:max(24px,env(safe-area-inset-bottom));text-shadow:0 1px 6px #000}.scan-guide{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;background:#00252b35}.viewfinder{position:relative;width:min(66vw,360px);aspect-ratio:1;margin-top:-55px}.viewfinder i{position:absolute;width:30px;height:30px;border-color:#d0efe4;border-style:solid;border-width:0;opacity:.8}.viewfinder i:nth-child(1){top:0;left:0;border-top-width:2px;border-left-width:2px;border-radius:10px 0 0 0}.viewfinder i:nth-child(2){top:0;right:0;border-top-width:2px;border-right-width:2px;border-radius:0 10px 0 0}.viewfinder i:nth-child(3){bottom:0;right:0;border-bottom-width:2px;border-right-width:2px;border-radius:0 0 10px 0}.viewfinder i:nth-child(4){bottom:0;left:0;border-bottom-width:2px;border-left-width:2px;border-radius:0 0 0 10px}.scan-instructions{position:absolute;bottom:120px;text-align:center;max-width:340px;padding:18px;background:#062d33c7;border-radius:14px;backdrop-filter:blur(8px)}.scan-instructions h2{font-size:17px;font-weight:500}.scan-instructions p{font-size:11px;color:#c4ded8;line-height:1.7;margin-bottom:0}.loader{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid #ffffff44;border-top-color:#fff;animation:spin 1.2s linear infinite}.scan-guide.ready .loader{display:none}@keyframes spin{to{transform:rotate(360deg)}}.lost-target{position:absolute;z-index:6;top:100px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:13px 20px;background:#052f35e0;border:1px solid #b8d5cf44;border-radius:10px;font-size:12px;line-height:1.7;text-align:center}.lost-target small{display:block;color:#a5c9c5;font-size:10px}
.ending{position:relative;z-index:2;min-height:calc(100svh - 174px);padding:38px 20px 50px;text-align:center;background:#f8f9f3;color:var(--ink);display:flex;flex-direction:column;align-items:center}.ending-spark{color:#b6a26f;font-size:34px;margin-bottom:20px;animation:arrive 2s both}.ending .eyebrow{color:#72918a}.ending h1{font-size:clamp(29px,3.9vw,52px);margin:20px 0;letter-spacing:-.045em}.ending>p{font-size:14px;line-height:1.85;color:#5a716e;margin:0}.ending-brand{display:flex;align-items:center;justify-content:center;gap:21px;margin-top:38px;position:relative}.ending-brand svg{position:absolute;width:158px;height:35px;right:calc(100% + 22px);stroke:var(--teal);stroke-width:.9}.ending-brand svg circle{fill:var(--teal);stroke:none}.ending-brand img{width:150px}.brand-slogan{font-size:9px;color:#5e7771;display:block;margin-top:15px}.ending-actions{display:flex;align-items:center;flex-direction:column;gap:8px;margin-top:36px}.teal{background:var(--teal);color:white}.teal:hover{background:#067779}.light{background:#e9f2ed;color:var(--ink)}.ending .text-button{color:#55766d}.ending .ending-back{font-size:10px;color:#7a948d;margin-top:15px}@keyframes arrive{from{opacity:0;transform:translateY(15px) scale(.85)}to{opacity:1;transform:none}}body.finished{background:#f8f9f3}body.finished .site-header{background:#062d33}body.finished .site-footer{color:#7a948d;background:#f8f9f3}body.finished .ambient{display:none}
.card-dialog{width:min(1050px,95vw);max-height:93svh;border:0;border-radius:15px;background:#f4f7f5;color:#294445;padding:28px;box-shadow:0 20px 90px #001b2488}.card-dialog::backdrop{background:#001c26bf;backdrop-filter:blur(9px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-header .eyebrow{color:#72968d;font-size:8px}.dialog-header h2{font-weight:500;font-size:24px;letter-spacing:-.035em;margin:8px 0 0}.dialog-header .round-button{background:#e6efea;color:#315b55;border:none;flex-shrink:0}.dialog-intro{font-size:11px;line-height:1.8;color:#5e7972;margin:17px 0 20px;max-width:580px}.card-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card-pair figure{margin:0;min-width:0}.card-pair img{width:100%;box-shadow:0 3px 12px #00000008}.card-pair figcaption{font-size:8px;letter-spacing:.15em;color:#6d8b81;margin-top:10px}.dialog-downloads{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:23px}.dialog-downloads .button{font-size:10px;min-height:43px;padding:11px 17px}.dialog-downloads .text-button{margin-left:auto;color:#4e776a;font-size:10px}.dialog-note{font-size:9px;line-height:1.7;color:#7a8e86;margin:18px 0 0}.notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:50;width:min(90vw,420px);padding:16px 21px;border:1px solid #ffffff33;border-radius:10px;background:#173f45;box-shadow:0 10px 40px #0004;color:#e2efeb;font-size:12px;line-height:1.7}.noscript{position:fixed;bottom:20px;background:#fff;color:#133b40;padding:20px;z-index:100}
@media(min-width:1500px){.welcome{padding-left:5vw;padding-right:5vw}.hero-card{width:550px}}
@media(max-width:1000px) and (min-width:761px){.welcome{gap:3vw;padding-left:5vw;padding-right:5vw}.welcome-actions{flex-direction:column;align-items:flex-start}.button{min-width:215px}h1{font-size:43px}.intro-copy{font-size:12px}.camera-note{margin-bottom:23px}.hero-card{transform:rotateY(-6deg) rotateZ(2deg)}}
@media(max-width:760px){.site-header{height:80px;padding:0 22px}.brand{width:99px}.edition{font-size:8px;letter-spacing:.13em;gap:8px}.edition b{font-size:12px}.card-link{display:none}.welcome{display:flex;flex-direction:column-reverse;gap:0;min-height:auto;padding:25px 25px 28px}.hero-visual{width:100%;max-width:375px}.hero-card{width:76%;transform:rotateX(4deg) rotateY(-7deg) rotateZ(2deg);box-shadow:12px 17px 40px #00191c80}.visual-caption{font-size:8px;margin-top:23px}.intro{padding:33px 0 0;text-align:center;width:100%;max-width:460px}.eyebrow{font-size:8px;letter-spacing:.17em}.tiny-spark{font-size:15px;margin-right:9px}h1{font-size:clamp(33px,8.6vw,48px);line-height:1.12;margin:17px 0 19px;letter-spacing:-.05em}.intro-copy{font-size:11px;line-height:1.85;margin-bottom:23px}.welcome-actions{flex-direction:column;align-items:stretch;gap:9px;padding:0 8px}.button{font-size:12px;min-height:50px}.camera-note{font-size:9px;margin:15px 0 25px}.desktop-break{display:none}.intro-footnote{justify-content:center;font-size:7px;gap:12px}.site-footer{font-size:8px;padding:18px 24px 20px}.experience{padding:0 12px}.experience-top{left:15px;right:15px;top:max(15px,env(safe-area-inset-top))}.experience-title{font-size:7px;letter-spacing:.15em}.round-button{width:38px;height:38px}.experience-tools{gap:7px}.sound-button{font-size:9px;padding:9px 10px}.preview-stage{padding:77px 0 180px}.story-card{width:min(90vw,58svh);max-width:540px}.story-caption{bottom:118px}.story-caption h2{font-size:18px;max-width:310px;margin:9px auto 0}.chapter-label{font-size:8px}.story-bottom{bottom:max(35px,env(safe-area-inset-bottom))}.chapter-track{max-width:200px}.story-bottom .button{font-size:11px}.ending{min-height:calc(100svh - 135px);padding-top:50px}.ending h1{font-size:33px}.ending>p{font-size:12px;max-width:315px}.ending-brand svg{width:85px;right:calc(100% + 15px)}.ending-brand img{width:135px}.brand-slogan{font-size:8px}.ending-actions .text-button{font-size:10px}.card-dialog{padding:20px;border-radius:12px}.dialog-header h2{font-size:21px}.dialog-intro{font-size:10px}.card-pair{gap:12px}.card-pair figcaption{font-size:6px;letter-spacing:.07em}.dialog-downloads{gap:8px}.dialog-downloads .button{width:100%}.dialog-downloads .text-button{margin:auto}.dialog-note{font-size:8px}.lost-target{font-size:10px;top:85px}.scan-instructions{bottom:135px;max-width:300px}.scan-instructions h2{font-size:16px}.ar-mode .story-caption{bottom:78px}.ar-mode .experience-top{left:10px;right:10px}.ar-mode .experience-title{display:none}}
@media(max-height:620px) and (orientation:landscape){.experience-top{top:12px}.preview-stage{padding:65px 0 95px}.story-card{width:min(65svh,360px)}.story-caption{bottom:50px}.story-caption h2{font-size:14px;margin-top:3px}.chapter-label{font-size:7px}.story-bottom{bottom:15px}.story-bottom:has(#enter-year:not(.hidden)){bottom:10px;right:25px;left:auto}.story-bottom:has(#enter-year:not(.hidden)) .chapter-track{display:none}.viewfinder{width:37svh}.scan-instructions{bottom:70px;padding:9px 15px}.scan-instructions h2{font-size:13px;margin:3px}.scan-instructions p{font-size:9px}.story-bottom .button{min-height:35px;padding:7px 13px}.ending{padding-top:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-card{transform:none}.card-aura{filter:none}}
/* The story focuses on the seasonal path; the complete print design stays in View card. */
.story-card{aspect-ratio:148/96;width:min(94vw,calc((100svh - 270px)*1.541667),1000px);max-width:1000px;border-color:#ffffff12;box-shadow:0 24px 90px #00171e55}
.year-hotspot{left:77.027%;top:71.875%;width:16.892%;height:16.667%}
@media(max-width:760px){.story-card{width:min(94vw,calc((100svh - 300px)*1.541667));max-width:none}.experience-title{font-size:6px;letter-spacing:.11em}}
@media(max-height:620px) and (orientation:landscape){.story-card{width:min(86vw,calc((100svh - 180px)*1.541667));max-width:1000px}}

/* The next action is the primary visual message after a QR scan. */
.intro h1{font-size:clamp(25px,2.35vw,32px);line-height:1.2;letter-spacing:-.04em;margin:14px 0 12px;color:#d7e9e5}
.intro-copy{font-size:16px;line-height:1.6;margin-bottom:24px;color:#b9d2ce}
.camera-onboarding{width:100%;max-width:530px;padding:24px;border:1px solid #d5ece2;border-radius:20px;background:#edf8f1;box-shadow:0 16px 45px #001b2430;text-align:left;color:#0b4144}
.onboarding-progress{display:flex;align-items:center;gap:11px;font-size:14px;line-height:1.5;color:#365c5b;margin:0 0 17px}
.onboarding-progress p{margin:0}
.onboarding-number{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#087c7e;color:#fff;font-size:19px;line-height:1}
.onboarding-step h2{font-size:clamp(32px,2.7vw,36px);font-weight:500;line-height:1.18;letter-spacing:-.035em;color:#0b4144;margin:0 0 12px;scroll-margin-top:24px}
.onboarding-step p{font-size:17px;line-height:1.55;color:#315655;margin:0 0 22px}
.onboarding-step strong{font-weight:500;color:#0b4144;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#6ca8a1}
.onboarding-step .button{width:100%;white-space:normal}
.onboarding-step .primary{background:#006f72;color:#fff;box-shadow:0 4px 12px #00595c16;min-height:56px}
.onboarding-step .primary:hover{background:#005f62;box-shadow:0 7px 18px #00595c26}
.camera-onboarding button:focus-visible{outline-color:#006f72;outline-offset:4px}
.onboarding-step .onboarding-back{display:flex;gap:8px;font-size:16px;min-height:44px;padding:8px 0;margin:10px 0 -6px;color:#315655}
.onboarding-step .onboarding-back:hover{color:#006f72}
.onboarding-back svg{width:18px;height:18px}
.onboarding-alternative{width:100%;max-width:530px;margin-top:12px}
.onboarding-alternative .button{width:100%;border-color:#739793;color:#d7e9e4}
.intro,.hero-visual,.camera-onboarding,.onboarding-step{min-width:0}
.button{font-size:16px;min-height:54px;padding:14px 20px}
.button svg{width:20px;height:20px;flex-shrink:0}
.text-button{font-size:14px;min-height:44px}
.camera-note{font-size:14px;line-height:1.6;color:#c3ddd7;margin:14px 0 24px}
.camera-offline-note{font-size:14px;line-height:1.6;color:#c3ddd7;margin:12px 0 22px}
.visual-caption{font-size:12px;line-height:1.6;text-align:center}
.site-footer{font-size:12px}
.intro-footnote{font-size:10px;color:#adcac5}
.round-button{width:44px;height:44px;flex-shrink:0}
.sound-button{font-size:16px;min-height:44px;padding:10px 14px;white-space:nowrap}
.experience-title{font-size:11px}
.chapter-label{font-size:12px;letter-spacing:.15em}
.story-caption{bottom:132px}
.story-caption h2{font-size:21px;line-height:1.4}
.story-bottom .button{font-size:16px;min-height:50px;padding:11px 20px}
.story-bottom .text-button{font-size:16px;min-height:44px}
.tracking-note{font-size:14px;line-height:1.5;max-width:340px;text-align:center}
.scan-instructions{max-width:390px;padding:18px 21px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);background:#062d33eb}
.scan-instructions h2{font-size:22px;line-height:1.35;margin:8px 0}
.scan-instructions p{font-size:16px;line-height:1.6;color:#eef8f3;margin-top:10px}
.lost-target{font-size:16px;line-height:1.5;padding:15px 20px}
.lost-target small{font-size:14px;margin-top:5px}
.ar-mode .story-caption{bottom:124px}
.ending>p{font-size:16px;line-height:1.7;max-width:600px}
.brand-slogan{font-size:12px}
.ending .ending-back{font-size:14px}
.dialog-intro{font-size:15px;line-height:1.6;max-width:720px}
.card-pair figcaption{font-size:11px;letter-spacing:.09em}
.dialog-downloads .button,.dialog-downloads .text-button{font-size:14px}
.dialog-note{font-size:13px}
.notice{font-size:15px}
@media(max-width:760px){
 .site-header{height:66px}.edition{font-size:10px}
 .welcome{padding:8px 20px 20px}.hero-visual{width:clamp(120px,34vw,145px);max-width:145px}.hero-card{width:100%}
 .visual-caption,.intro>.eyebrow,.intro-footnote{display:none}
 .intro{padding-top:10px;max-width:460px}.intro h1{font-size:21px;line-height:1.22;margin:12px 0 9px}
 .intro-copy{font-size:15px;line-height:1.5;margin-bottom:20px}.intro-copy-extra{display:none}
 .camera-onboarding{padding:20px 18px;border-radius:17px}.onboarding-progress{margin-bottom:15px}
 .onboarding-step h2{font-size:30px;line-height:1.18}.onboarding-step p{font-size:16px;line-height:1.5;margin-bottom:20px}
 .onboarding-alternative{margin-top:10px}.onboarding-back{font-size:16px}
 .welcome-actions{padding:0;gap:10px}.button{font-size:16px;min-height:54px}
 .camera-note{font-size:14px;margin:14px 0 8px}.camera-offline-note{font-size:14px}
 .site-footer{font-size:11px;gap:18px}.experience-title{display:none}
 .experience-top{left:14px;right:14px}.experience-tools{gap:9px}
 .story-caption{bottom:132px}.story-caption h2{font-size:21px;max-width:350px}.chapter-label{font-size:11px}
 .scan-instructions{bottom:135px;max-width:350px}.viewfinder{position:absolute;top:18%;margin-top:0;width:min(70vw,38svh)}
 .lost-target{font-size:16px;top:86px}.lost-target small{font-size:14px}
 .ar-mode .story-caption{bottom:124px}.ending>p{font-size:16px;max-width:350px}
 .brand-slogan{font-size:12px}.ending-actions .text-button{font-size:14px}
 .card-pair{grid-template-columns:1fr;gap:22px}.dialog-intro{font-size:15px}.card-pair figcaption{font-size:11px}
 .dialog-note{font-size:13px}.dialog-downloads .text-button{font-size:14px}
}
@media(max-height:620px) and (orientation:landscape){
 .experience-title{display:none}.story-caption{bottom:60px}.story-caption h2{font-size:16px}.chapter-label{font-size:10px}
 .story-bottom .button{font-size:14px;min-height:44px}.ar-mode .story-caption{bottom:104px}
 .scan-guide .viewfinder{position:absolute;left:12%;top:25%;width:38svh;margin:0}
 .scan-instructions{left:auto;right:5%;top:23%;bottom:auto;transform:none;width:44%;padding:13px 16px}
 .scan-instructions h2{font-size:18px}.scan-instructions p{font-size:14px;line-height:1.5}
}

/* Keep the camera frame separate from its readable third-step instructions. */
.scan-guide{padding:82px 20px 112px;gap:16px;justify-content:center}
.scan-guide .viewfinder{position:relative;inset:auto;width:min(68vw,280px,max(100px,calc(100svh - 410px)));margin:0;flex:0 0 auto}
.scan-guide .scan-instructions{position:relative;inset:auto;transform:none;flex:0 0 auto;width:100%;max-width:390px;margin:0;padding:18px 20px}
.scan-progress{display:flex;align-items:center;justify-content:center;gap:10px;min-height:21px;color:#c3ddd7;font-size:14px;line-height:1.5}
.scan-guide .scan-instructions h2{font-size:22px;line-height:1.35;margin:8px 0}
.scan-guide .scan-instructions p{font-size:16px;line-height:1.5;margin:10px 0 0}
.scan-guide.error .viewfinder,.scan-guide.error .scan-progress{display:none}
@media(max-height:620px) and (orientation:landscape){
 .scan-guide{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-content:center;align-items:center;gap:20px;padding:72px 5vw 82px}
 .scan-guide .viewfinder{width:min(32vw,calc(100svh - 180px));justify-self:center}
 .scan-guide .scan-instructions{padding:12px 16px;justify-self:center}
 .scan-guide .scan-instructions h2{font-size:22px;line-height:1.25}
 .scan-guide .scan-instructions p{font-size:16px;line-height:1.45;margin-top:8px}
 .scan-guide.error{display:flex}
}

/* Initial upload: the final reverse/QR follows the confirmed production URL. */
.card-dialog .card-pair{grid-template-columns:minmax(0,1fr);max-width:520px;margin-inline:auto}
