/* Approved mobile app layer. Original desktop layout retained. Live support remains in support.js. */
:root{--app-green:#103c2b;--app-accent:#d8ee74;--app-paper:#f6f6ee;--app-muted:#66776b;--app-nav-height:78px;--app-vh:100dvh;--app-vtop:0px}
.app-welcome,.app-quick,.app-bottom-nav{display:none}.demo-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d8ee74;margin-right:5px}.app-desktop-ai{position:fixed;z-index:45;right:24px;bottom:24px;display:flex;align-items:center;gap:10px;border:0;border-radius:50px;padding:14px 20px;background:var(--app-green);color:white;font:700 13px Montserrat,Arial,sans-serif;box-shadow:0 8px 26px #071f1930;min-height:52px}.app-desktop-ai svg{width:24px;height:24px;color:var(--app-accent)}.app-desktop-ai small{font-size:9px;color:var(--app-accent);border:1px solid #ffffff40;border-radius:4px;padding:2px 5px}
.app-dialog{padding:0;border:0;background:#f6f6ee;color:#103c2b;width:min(520px,calc(100vw - 32px));max-width:none;border-radius:24px;box-shadow:0 24px 100px #001b1655;font:14px/1.6 Montserrat,Arial,sans-serif;overflow:hidden;overscroll-behavior:contain}.app-dialog::backdrop{background:#021c17a6;backdrop-filter:blur(5px)}.app-dialog[open]{display:flex;flex-direction:column}.app-ai-dialog{height:min(740px,calc(var(--app-vh) - 36px));max-height:calc(var(--app-vh) - 36px);position:fixed;top:var(--app-vtop);bottom:0;margin:auto}.app-dialog-header{height:auto;min-height:86px;padding:18px 20px;display:flex;gap:12px;flex:none;background:#103c2b;color:#fff;justify-content:flex-start}.app-dialog-header h2{margin:0;font-size:20px;line-height:1.4;letter-spacing:-.5px}.app-dialog-header p{font-size:10px;letter-spacing:.2px;margin:2px 0 0;color:#c6d6ca}.app-assistant-mark{width:44px;height:44px;display:grid;place-items:center;background:#d8ee74;color:#103c2b;border-radius:15px;flex:none}.app-assistant-mark svg{width:26px;height:26px}.app-close{width:44px;height:44px;flex:none;min-height:44px;border-radius:50%;border:1px solid #ffffff30;background:#ffffff0d;color:white;font:28px/1 Arial;display:grid;place-items:center;margin-left:auto}.app-ai-notice{margin:0;padding:12px 20px;background:#edf0df;color:#53604a;font-size:11px;line-height:1.6;flex:none}.app-ai-notice strong{color:#33543a;font-size:11px}.app-chat-log{flex:1;min-height:0;overflow:auto;padding:22px 20px;overscroll-behavior:contain;scrollbar-width:thin}.app-chat-welcome{text-align:center;padding:22px 8px 14px}.app-chat-welcome>span{display:grid;place-items:center;margin:0 auto 18px;width:60px;height:60px;border-radius:22px;background:#e7ecd8;color:#47733d}.app-chat-welcome svg{width:32px;height:32px}.app-chat-welcome h3{font-size:25px;line-height:1.28;letter-spacing:-.8px;margin:0 0 12px}.app-chat-welcome p{font-size:12px;color:#66776b;max-width:300px;margin:0 auto 20px}.app-chat-welcome small{font-size:10px;color:#66776b}.app-message{padding:13px 16px;border:1px solid #dbe1d2;background:#fffdf6;border-radius:16px 16px 16px 4px;margin:0 12% 16px 0;overflow-wrap:anywhere;white-space:pre-line;font-size:13px;line-height:1.7}.app-message strong{display:block;font-size:9px;letter-spacing:.7px;margin-bottom:6px;color:#607b60}.app-message[data-speaker=user]{margin:0 0 16px 12%;border:0;border-radius:16px 16px 4px 16px;background:#103c2b;color:white}.app-message[data-speaker=user] strong{color:#d8ee74}.app-message a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;font-weight:700;font-size:12px;margin-top:4px}.app-suggestions{display:flex;gap:7px;padding:8px 16px 10px;overflow-x:auto;flex:none;scrollbar-width:thin}.app-suggestions button{flex:none;min-height:44px;background:#fffdf6;border:1px solid #d2dbca;color:#284a31;border-radius:24px;padding:9px 13px;font:600 11px Montserrat,Arial,sans-serif}.app-chat-form{flex:none;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid #dbe1d2;background:#f6f6ee}.app-chat-form>div{display:flex;align-items:stretch;gap:8px}.app-chat-form textarea{font:16px/1.45 Montserrat,Arial,sans-serif;min-width:0;flex:1;border:1px solid #ccd5c7;border-radius:16px;background:white;color:#103c2b;padding:13px 14px;height:50px;min-height:50px;resize:none}.app-chat-form textarea::placeholder{font-size:12px}.app-chat-form button[type=submit]{width:50px;min-height:50px;border:0;border-radius:16px;color:#103c2b;background:#d8ee74;font-size:27px;font-weight:600}.app-chat-form>p{margin:4px 0 0;font-size:9px;color:#66776b;display:flex;align-items:center;justify-content:space-between;gap:8px}.app-chat-form #app-chat-reset{min-height:44px;border:0;background:transparent;font:600 10px Montserrat,Arial,sans-serif;color:#35593b;padding:5px 0;white-space:nowrap}.app-dialog a:focus-visible,.app-dialog button:focus-visible,.app-dialog textarea:focus-visible{outline:3px solid #f3974e;outline-offset:2px}.app-more-dialog{max-height:calc(100dvh - 40px)}.app-more-links{overflow:auto;min-height:0;padding:10px 20px}.app-more-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:70px;border-bottom:1px solid #dae0d2;font-size:22px}.app-more-links b{display:block;font-size:13px}.app-more-links small{display:block;font-size:10px;color:#6b7c6b;margin-top:3px}.app-more-foot{font-size:10px;color:#66776b;padding:5px 20px 20px;margin:0}.app-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.app-modal-open{overflow:hidden}
@media(max-width:800px){
 html{scroll-padding-top:90px;scroll-padding-bottom:110px}body{padding-bottom:calc(var(--app-nav-height) + env(safe-area-inset-bottom) + 24px);background:#f6f6ee}section[id],div[id]{scroll-margin-top:90px}body>.site-status{font-size:8px;letter-spacing:1px;padding:5px 10px;min-height:25px;background:#103c2b}body>header{position:sticky;top:0;z-index:40;height:70px;padding:0 20px;background:#f6f6eef5;backdrop-filter:blur(14px);border-bottom:1px solid #dce1d4;gap:12px}body>header .brand b,body>header .brand em{font-size:25px}body>header .brand span{font-size:7px;letter-spacing:1px;margin-top:6px}body>header .navcta{font-size:9px;line-height:1.5;border:1px solid #c7d1bd;border-radius:25px;padding:10px 12px;min-height:44px;display:flex;align-items:center;max-width:150px}.wrap{width:calc(100% - 40px)}
 .app-bottom-nav{display:grid;grid-template-columns:1fr 1fr 1.22fr 1fr 1fr;gap:0;position:fixed;z-index:50;bottom:0;left:0;right:0;min-height:var(--app-nav-height);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fffffff5;border-top:1px solid #dce3d4;box-shadow:0 -6px 30px #103c2b0a;backdrop-filter:blur(16px);align-items:end}.app-bottom-nav>a,.app-bottom-nav>button{background:transparent;border:0;color:#788476;font:600 9px/1.35 Montserrat,Arial,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:60px;min-width:0;padding:5px 2px;border-radius:12px}.app-bottom-nav svg{width:23px;height:23px;flex:none}.app-bottom-nav [aria-current=page]{color:#103c2b;background:#f0f4e8}.app-bottom-nav [aria-current=page] svg{stroke-width:2.2}.app-bottom-nav .app-ai-button{color:#103c2b;font-weight:800;padding-top:0;position:relative;gap:5px}.app-ai-orb{display:grid;place-items:center;width:60px;height:54px;border-radius:20px;background:#d8ee74;box-shadow:0 4px 16px #557d1e22;border:4px solid white;margin-top:-25px}.app-bottom-nav .app-ai-orb svg{width:28px;height:28px}.app-desktop-ai{display:none}
 .app-welcome{display:flex;justify-content:space-between;align-items:center;padding:23px 0 19px}.app-welcome p{font-size:8px;letter-spacing:1.6px;font-weight:700;color:#77846c;margin:0 0 5px}.app-welcome h2{font-size:23px;line-height:1.2;letter-spacing:-.9px;margin:0}.app-season-badge{font-size:7px;line-height:1.4;letter-spacing:1px;text-align:center;border:1px solid #cbd5bd;border-radius:12px;padding:6px 10px;color:#5b744e}.app-season-badge b{font-size:16px;letter-spacing:-.7px}
 .hero{margin:0 20px;border-radius:22px;min-height:440px;height:440px;padding:0;display:block;isolation:isolate;box-shadow:0 6px 25px #163b2020}.heroimage{background:url('assets/portrait.webp') center 32%/cover no-repeat;filter:none;inset:0;transform:none;z-index:-2}.heroshade{background:linear-gradient(0deg,#061e17 0%,#061e17de 17%,#061e1775 40%,#061e1700 70%);z-index:-1}.hero-frame{display:none}.herotext{position:absolute;bottom:0;left:0;width:100%;padding:24px}.hero .eyebrow{font-size:7px;letter-spacing:1.7px;line-height:1.5;margin:0 0 11px;color:#e6eacb}.hero h1{font-size:35px;line-height:1.05;letter-spacing:-1.9px;margin:0 0 11px;max-width:360px}.hero .intro{font-size:10px;line-height:1.7;margin:0;color:#dce6d6}.hero .actions{margin:17px 0 0;gap:12px}.hero .actions .button{min-height:44px;padding:12px 16px;font-size:10px;border-radius:12px;gap:22px}.hero .actions .textlink{font-size:9px;min-height:44px;display:flex;align-items:center;border:0;max-width:85px;line-height:1.6}.hero .herofacts{display:none}.colors{height:4px;margin:14px 36px 0;border-radius:10px;overflow:hidden}.app-quick{display:block;padding:21px 0 27px}.app-quick>a{display:flex;align-items:center;gap:13px;background:#e9eedc;border:1px solid #d6dfc5;border-radius:16px;padding:15px}.app-quick-icon{display:grid;place-items:center;width:48px;height:54px;border-radius:12px;background:#103c2b;color:#d8ee74;flex:none}.app-quick-icon svg{width:25px;height:25px}.app-quick small{display:block;font-size:7px;letter-spacing:1px;font-weight:700;color:#62754e}.app-quick strong{display:block;font-size:23px;line-height:1.25;letter-spacing:-.7px}.app-quick em{display:block;font-style:normal;font-size:9px;color:#547047;margin-top:3px}.app-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.app-quick-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:1px solid #d9dfd0;border-radius:12px;font-size:9px;font-weight:600}
 /* Reorder only on phone: planning first, stories further down. All source content remains. */
 #main{display:flex;flex-direction:column}#main>.app-welcome{order:0}#main>.hero{order:1}#main>.colors{order:2}#main>.app-quick{order:3}#main>.chapters{order:4}#main>.registration-timeline{order:5}#main>.plan-compare{order:6}#main>.pricing-scene{order:7}#main>.passport{order:8}#main>.statement{order:9}#main>.moments{order:10}#main>.photo-ribbon{order:11}#main>.rules-section{order:12}#main>.faq-section{order:13}#main>.closing{order:14}
 .chapter-restored{padding:30px 0;border-radius:24px 24px 0 0}.chapter-restored .chapter-shell{width:calc(100% - 40px);margin:auto}.chapter-restored .section-meta{margin-bottom:17px;font-size:8px;letter-spacing:1px}.chapter-restored .section-heading{margin-bottom:24px}.chapter-restored h2{font-size:29px;letter-spacing:-1.1px;line-height:1.12}.chapter-restored .section-heading>p{font-size:11px;margin-top:12px}.chapter-restored .chapter-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chapter-restored .chapter{border:1px solid #365840;border-radius:16px;overflow:hidden;padding-top:14px;background:#143d2c}.chapter-restored .chapter-no{font-size:7px;padding:0 14px}.chapter-restored .chapter-art{height:72px}.chapter-restored .chapter-symbol{width:47px;height:47px}.chapter-restored h3{font-size:12px;line-height:1.4;min-height:35px;padding:0 14px;margin:7px 0}.chapter-restored .chapter-mood{font-size:9px;padding:0 14px;margin:0 0 9px}.chapter-restored .chapter-date{font-size:24px;margin:0 14px;padding-bottom:10px}.chapter-restored .chapter-info-link,.chapter-restored .chapter-link{font-size:9px;margin:0 14px;padding:11px 0;min-height:44px}.chapter-restored .chapter-link{padding-top:0;padding-bottom:12px}.chapter-restored .chapter-note{font-size:10px;line-height:1.7}
 .registration-timeline{padding:35px 0}.registration-heading h2{font-size:27px}.registration-heading .eyebrow{font-size:7px}.registration-heading>p{font-size:11px}.registration-scroll{margin-right:-20px;padding-right:20px;scroll-padding-left:2px}.registration-milestones{grid-template-columns:repeat(5,245px);min-width:1225px;gap:0}.registration-card{border-radius:14px;min-height:252px}.registration-card h3{font-size:23px}.registration-date time{font-size:29px}.registration-keyword{font-size:10px;min-height:28px}.registration-scroll-hint{font-size:10px}
 .plan-compare{padding:36px 0}.sectionhead h2,.passport-heading h2,.rules-section h2,.faq-section h2{font-size:28px;letter-spacing:-1px}.sectionhead{margin-bottom:22px}.sectionhead .eyebrow{font-size:8px}.sectionhead>p{font-size:11px}.compare-basis{font-size:12px;margin-top:18px}.compare-cards{gap:12px}.compare-card{border-radius:18px;padding:23px}.compare-card h3{font-size:24px}.compare-price{font-size:29px}.compare-card .button{border-radius:11px;min-height:44px}.compare-table-scroll{border-radius:12px}.passsection{padding:35px 0}.passlayout{gap:14px}.config{border-radius:18px;padding:16px}.tabs{gap:6px}.tabs button{min-height:46px;border-radius:11px;font-size:10px}.choice{gap:10px}.choice label{font-size:12px;min-width:120px}.choice select{min-height:44px;font-size:14px;border-radius:10px}.summary{border-radius:18px;padding:24px}.summary .total{font-size:33px}.summary .button{min-height:48px;border-radius:12px}.summary small{font-size:11px}.price-scroll{border-radius:12px}.price-scroll button{min-height:44px}#singlefilters select{font-size:14px;min-height:46px;border-radius:10px}
 .passport{padding:24px;border-radius:20px;margin-top:30px;margin-bottom:25px}.passport-heading{gap:16px}.passport-heading h2{font-size:27px}.passport-feature{gap:18px}.passport figure{border-radius:12px}.passport-eligibility{border-radius:12px;padding:13px 15px}.passport-journey{gap:14px}.passport-story h3{font-size:22px}.statement{padding:35px 0 22px}.statement h2{font-size:29px}.moments{padding-bottom:30px}.moments figure,.photo-ribbon figure{border-radius:16px;border:0}.photo-ribbon{margin-bottom:30px}.rules-section,.faq-section{padding:35px 0}.details-grid,.faq-grid{gap:18px}summary{min-height:44px;display:block}.accordion-body{font-size:12px}.closing{height:350px;border-radius:22px 22px 0 0}.closing h2{font-size:50px}.closing .button{border-radius:12px;min-height:44px}footer{padding:30px 0 25px;gap:16px}footer p,footer .source-note{font-size:10px;line-height:1.8}footer a{min-height:44px;display:inline-flex;align-items:center}
 .chapter-hero{padding:32px 0;border-radius:0 0 24px 24px}.chapter-hero h1{font-size:35px;line-height:1.1;letter-spacing:-1.5px}.chapter-hero p{font-size:12px}.detail-tabs{scroll-padding-left:0;gap:7px}.detail-tabs button{border-radius:12px;min-height:48px}.chapter-summary{border-radius:18px}.chapter-summary select{min-height:46px;font-size:14px}.race-panel>h2{font-size:28px}.race-panel h3{font-size:21px}.race-panel .race-toc{padding:15px;border-radius:14px}.race-toc a{min-height:44px;display:inline-flex;align-items:center}.provisional{border-radius:14px;padding:18px;font-size:12px}
 .app-ai-dialog{width:100vw;height:var(--app-vh);max-height:var(--app-vh);border-radius:0;left:0;right:0;top:var(--app-vtop);bottom:auto;margin:0}.app-dialog-header{padding:max(14px,env(safe-area-inset-top)) 18px 14px;min-height:82px}.app-chat-log{padding:18px}.app-chat-welcome{padding-top:25px}.app-more-dialog{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;max-height:calc(100dvh - 80px);margin:0;border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom)}.app-more-dialog .app-dialog-header{padding-top:22px}.app-more-foot{padding-bottom:18px}
}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}body>header{padding:0 16px}.hero{margin:0 16px;height:420px;min-height:420px}.herotext{padding:20px}.hero h1{font-size:31px}.app-welcome h2{font-size:20px}.chapter-restored .chapter-shell{width:calc(100% - 32px)}.chapter-restored h3{font-size:11px;padding:0 10px}.chapter-restored .chapter-date,.chapter-restored .chapter-info-link,.chapter-restored .chapter-link{margin:0 10px}.app-bottom-nav>a,.app-bottom-nav>button{font-size:8px}.app-ai-orb{width:56px}.app-dialog-header h2{font-size:18px}}
@media(max-height:540px){.app-chat-welcome{padding:4px}.app-chat-welcome>span,.app-chat-welcome small{display:none}.app-chat-welcome h3{font-size:19px}.app-dialog-header{min-height:64px;padding:10px 16px}.app-ai-notice{padding:6px 16px;font-size:10px}.app-ai-notice br{display:none}.app-suggestions{padding-top:4px;padding-bottom:4px}.app-chat-form{padding-top:6px}.app-chat-form>p>span{display:none}.app-chat-form>p{justify-content:flex-end}.app-chat-form #app-chat-reset{min-height:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:800px){.chapter-restored h3 a{display:flex;align-items:center;min-height:44px}.chapter-restored .chapter-art-link{display:block;min-height:44px}}
/* Bridge the approved visual language to the genuine support component. */
.das-support{--support-line:#ccd7c6}.das-support-launcher{border-radius:50px!important;background:#103c2b;color:#fff;border:0;padding:14px 20px;gap:12px}.das-support-launcher .das-support-mark{color:#d8ee74}.das-support-launcher:hover{background:#1c5338}.das-support-dialog{background:#f6f6ee;color:#103c2b;border:0;border-radius:24px;width:min(600px,calc(var(--support-viewport-width) - 40px));box-shadow:0 24px 90px #001b1655}.das-support-dialog::backdrop{background:#021c17a6;backdrop-filter:blur(5px)}.das-support-header{background:#103c2b;border:0;min-height:82px;padding:18px 20px}.das-support-header h2{font-size:20px}.das-support-close{border-radius:50%!important;border-color:#ffffff35;background:#ffffff0a}.das-support-body{padding:12px 18px 16px;gap:6px}.das-support-disclaimer{color:#53644e;background:#e9eedc;padding:9px 12px;border-radius:12px;font-size:11px}.das-support-privacy{color:#506449}.das-support-privacy summary{color:#103c2b;min-height:44px}.das-support-state{color:#62765b;font-size:11px}.das-support-log{background:#f6f6ee;scrollbar-color:#9caf91 #f6f6ee;padding:16px 3px;min-height:0}.das-support-empty{color:#537049;font-size:14px;padding:16px 9px}.das-support-message{background:#fffdf6;border:1px solid #dbe1d2;border-radius:16px 16px 16px 4px;padding:14px 16px;margin-right:8%}.das-support-message[data-role="user"]{background:#103c2b;color:#fff;border:0;border-radius:16px 16px 4px 16px;margin-right:0;margin-left:10%}.das-support-message[data-role="user"] .das-support-speaker{color:#d8ee74}.das-support-speaker{color:#4a7047}.das-support-message-text{font-size:14px}.das-support-answer-links a{color:#32643e}.das-support-links a{border-radius:10px;min-height:44px}.das-support-links a:hover{background:#e5eddc}.das-support-reset,.das-support-input-help,.das-support-contact,.das-support-processing{color:#526c4a}.das-support-form{border-color:#dbe1d2;padding-top:10px}.das-support-form textarea{border-radius:14px!important;background:#fff;border-color:#cbd6c2;min-height:54px}.das-support-send{border-radius:14px!important;background:#d8ee74}.das-support-send:hover:not(:disabled){background:#c7e56c}.das-support-retry{color:#2b613b;border-radius:10px!important;min-height:44px}.das-support-help-content{font-size:12px;line-height:1.75}
@media(max-width:800px){.das-support-launcher{display:none!important}.das-support{--support-modal-gap:0px;--support-modal-top-gap:0px;--support-modal-bottom-gap:0px}.das-support-dialog{left:var(--support-viewport-left);top:var(--support-viewport-top);transform:none;width:var(--support-viewport-width);max-width:100vw;height:var(--support-viewport-height);max-height:var(--support-viewport-height);border-radius:0;margin:0}.das-support-header{padding:max(14px,env(safe-area-inset-top)) 18px 14px;min-height:82px}.das-support-body{padding:10px 16px max(12px,env(safe-area-inset-bottom));gap:5px}.das-support-dialog .das-support-form textarea,.das-support-dialog .das-support-send{min-height:54px}.das-support-dialog .das-support-close{min-height:44px;min-width:44px}.das-support[data-compact="true"] .das-support-header{min-height:54px}.das-support[data-compact="true"] .das-support-dialog .das-support-form textarea,.das-support[data-compact="true"] .das-support-dialog .das-support-send{min-height:46px}.das-support[data-compact="true"] .das-support-disclaimer{padding:5px 9px}.das-support .das-support-links{display:flex}}
