/* R5: customer reading layer. Lettering and clean scene images remain separate. */
:root{--read-ink:#f3f6f5;--read-muted:#d7e5ec;--read-ground:#082333}
header{background:linear-gradient(#031321f5,#031321cf 76%,#03132100)}
nav{font-size:1rem;font-weight:500;gap:36px;letter-spacing:.035em}
nav a{min-height:48px;display:flex;align-items:center}
.button,.scene-copy .button,.memo-actions .button,.dialog-actions .button{font-size:1rem;font-weight:500;min-height:52px;line-height:1.6;padding:13px 24px}
.button.outline{border-color:#a4c6d3}
.eyebrow,.scene-copy[data-frame="1"] .eyebrow,.scene-copy[data-frame="6"] .eyebrow,.scene-copy[data-frame="7"] .eyebrow,.scene-copy[data-frame="8"] .eyebrow,.scene-copy[data-frame="9"] .eyebrow{font-size:1rem;font-weight:500;letter-spacing:.14em;color:#d4edf2}
.scene-copy .intro{font-size:1rem;line-height:1.75;letter-spacing:.025em;margin:20px 0 17px;color:var(--read-ink);font-weight:500;text-shadow:0 1px 3px #031321}
.scene-copy h1 .course-suffix{font-size:1rem;letter-spacing:.16em;font-weight:500;margin-top:13px}
.scene-support{position:relative;margin-top:25px;padding:0;width:fit-content;max-width:min(100%,450px)}
.scene-copy .scene-support .sub,.scene-copy[data-frame="7"] .scene-support .sub,.scene-copy[data-frame="8"] .scene-support .sub,.scene-copy[data-frame="9"] .scene-support .sub{font-size:clamp(1.25rem,1.28vw,1.625rem);font-weight:500;line-height:1.8;letter-spacing:.035em;color:var(--read-ink);margin:0;max-width:none;text-shadow:0 1px 3px #03132180;position:static;width:auto}
.scene-copy[data-frame="6"] .sub:before{display:none}
.scene-copy .scene-support .detail,.scene-copy[data-frame="8"] .scene-support .detail{font-size:1.0625rem;font-weight:500;line-height:1.85;color:#e5ebec;letter-spacing:.025em;margin-top:9px;max-width:none;text-shadow:0 1px 3px #03132180}
.scene-copy[data-frame="9"] .scene-support{max-width:500px}
.stage-bottom{font-size:.875rem;letter-spacing:.08em;color:#edf4f4;bottom:24px;gap:20px;align-items:center}
.stage-bottom>span{padding:0;line-height:1.7;text-shadow:0 1px 3px #031321}
body[data-scene="1"] .shade{background:linear-gradient(90deg,#01152230,transparent 66%),linear-gradient(0deg,#03142677,transparent 46%)}
.information-art img{opacity:.15}
.menu-title-prefix{font-size:1rem;color:#c8e4ed;letter-spacing:.09em}
.section-head>p:not(.eyebrow),.consult-head>p:not(.eyebrow){font-size:1.125rem;line-height:1.95;letter-spacing:.02em;color:var(--read-muted)}
.service-options{gap:24px}.service-options legend,.selector-row legend,.store-picker{font-size:1.0625rem;font-weight:500;letter-spacing:.025em}
.service{background:#0b2538;padding:30px 27px 32px;gap:16px}
.service:nth-of-type(2){background:#172731}.service:nth-of-type(3){background:#20283b}
.service .service-name{font-size:1.125rem}.service-index{font-size:.875rem;color:#d6e7ed}
.service .course{font-size:1rem;font-weight:500;color:#ecf3f4;letter-spacing:.025em}
.service>span:last-child{font-size:1.0625rem;line-height:1.9;color:#e0ebef;letter-spacing:.015em;max-width:none}
.undecided{font-size:1rem;line-height:1.8;align-items:flex-start}.undecided input{flex:none;margin-top:6px}
.note,.price-result .note,.stores .note,.faq>.note,.consult-inner>.note{font-size:1rem;line-height:1.9;color:var(--read-muted);letter-spacing:.015em}
.store-picker select{font-size:1rem;min-height:54px;padding:14px 12px}
.sizes span{font-size:1.125rem;min-height:50px;min-width:52px}
#selected-label{font-size:1.0625rem;line-height:1.8;color:#c2e6ed;letter-spacing:.025em}
.price-result{align-items:flex-start;padding:37px 0;gap:30px}.price-result .button{margin-top:33px}
.price-result .note{max-width:810px;color:#e1ecf1}
.price-annotation{font-size:1rem;line-height:1.7;color:#d4e6ed;letter-spacing:.015em}
.price-details summary{font-size:1.125rem;font-weight:500;line-height:1.8;padding-block:12px}
table caption{font-size:1rem;color:#d6e6ed}th{font-size:1rem}td{font-size:1.3125rem}
.price-details>a{display:inline-flex;align-items:center;min-height:48px;text-decoration:underline;text-underline-offset:5px}
.stores .section-head .eyebrow{font-size:1rem;letter-spacing:.1em;color:#355663}
.stores .section-head>p:not(.eyebrow){color:#294e60}
.store-grid p{font-size:1.0625rem;line-height:1.9;color:#254957;letter-spacing:.015em}
.store-grid dl{font-size:1rem;line-height:1.85;color:#244958;grid-template-columns:90px minmax(0,1fr)}
.store-grid dt{color:#355b6a}.stores .note{color:#345764}
.store-grid .store-lead{font-size:1.375rem;line-height:1.8;color:#153d51}
.stores .button[aria-pressed="true"]{background:#153d51;color:#f1f8f7;border-color:#153d51}
#store-status{font-size:1rem;font-weight:500;line-height:1.8;min-height:1.8em;margin-top:20px;color:#1d4558}
.work-grid small{font-size:1rem;letter-spacing:.025em;line-height:1.8;color:#d2e3ed}
.work-grid a:hover span{text-decoration:underline;text-underline-offset:6px}
.faq summary{font-size:1.1875rem;line-height:1.85;letter-spacing:.015em;font-weight:500;gap:20px}
.faq summary:before{font-size:1rem;color:#bbdce5;min-width:28px}
.faq details p{font-size:1.0625rem;line-height:2;letter-spacing:.015em;color:#e0ebf0;margin-left:48px}
.faq>.note{line-height:1.9}
.ending-pre{font-size:1.5rem;font-weight:500;color:#e4f0f2;text-shadow:0 1px 5px #061c30}
.ending-post{font-size:1.375rem;font-weight:500;color:#e6f2f4;text-shadow:0 1px 6px #061c30}
.ending-second{color:#f6f6f0;text-shadow:0 2px 5px #061c30,0 0 20px #061c30}
.consult-inner{width:48%;max-width:840px}
.consult-head .eyebrow{font-size:1rem;color:#c4e5ed;letter-spacing:.09em}
.consult:after{background:linear-gradient(90deg,#05172bf5 8%,#05172bd9 49%,#05172b20 84%)}
.contact-direct{margin:0 0 36px}.contact-direct>.button{width:100%;max-width:540px}
.contact-phones{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.contact-phones a{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 0;min-height:68px}
.contact-phones span{font-size:1rem;color:#d7e8ed;line-height:1.7}
.contact-phones strong{font-family:Zen,Noto,sans-serif;font-size:clamp(1.25rem,1.5vw,1.6875rem);font-weight:500;white-space:nowrap;letter-spacing:0;color:#f4f6f2;border-bottom:1px solid #a4c8d4;padding-bottom:5px}
.memo-card{background:#092638f5;border-color:#799baa;padding:26px 0}
.memo-title{font-size:1.125rem;font-weight:500;line-height:1.8;padding:0 24px;margin-bottom:25px;color:#edf4f5}
.memo-card dl{grid-template-columns:72px minmax(0,1fr);gap:20px 22px}
.memo-card dt{font-size:1rem;line-height:1.85;letter-spacing:.03em;color:#c5e0e9;padding-top:0}
.memo-card dd{font-size:1.0625rem;line-height:1.85;letter-spacing:.015em;color:#edf4f4}
.memo-actions .text-link,.text-link{font-size:1rem;line-height:1.8;min-height:44px}
.memo-card>.note{font-size:1rem;line-height:1.9;color:#dce9ee}
.memo-actions .button{font-weight:500}.consult-inner>.note{color:#d4e3eb}
.dialog-header button,dialog>p,textarea,#copy-status,.dialog-actions .text-link{font-size:1rem;line-height:1.85}
dialog>p{color:#dbe9ef}.dialog-header button{min-height:48px;padding:8px 0;flex:none}
textarea{background:#051b28;color:#f0f6f8;line-height:1.9}#copy-status{color:#e0ecf1}
footer{font-size:.875rem;color:#c7dce8;line-height:1.9}footer button{font-size:1rem}
@media(min-width:701px) and (max-width:1200px){
 .service-options{gap:14px}.service{padding:26px 19px}.service>span:last-child{font-size:1rem}
 .scene-copy[data-frame="7"]{width:38%}.scene-support{max-width:100%}
 .consult-inner{width:62%}.contact-phones strong{font-size:1.375rem}
}
@media(min-width:701px) and (max-height:760px){
 .scene-copy[data-frame="1"]{top:15%;width:40%}.scene-copy[data-frame="1"] .eyebrow{margin-bottom:12px}
 .scene-copy .intro{font-size:1rem;margin-top:12px;margin-bottom:12px}
 .scene-copy .button{min-height:48px;padding:11px 20px}
 .scene-copy[data-frame="6"],.scene-copy[data-frame="7"],.scene-copy[data-frame="8"]{top:19%;width:35%}
 .scene-copy[data-frame="9"]{top:17%;width:44%}
 .scene-support{margin-top:20px}
 .scene-copy .scene-support .sub{font-size:1.25rem}.scene-copy .scene-support .detail{font-size:1rem}
 .ending-pre{font-size:1.25rem}.ending-post{font-size:1.125rem}
}
@media(max-width:700px){
 :root{--header:92px}header{padding:14px 16px;height:92px}.brand img{width:108px}
 nav{font-size:.875rem;gap:13px;letter-spacing:0}nav a{min-height:48px;line-height:1.5}nav a:first-child{max-width:72px}nav .nav-cta{max-width:70px;min-width:0}
 .scene-copy[data-frame="1"]{top:14%}.scene-copy[data-frame="1"] .eyebrow{font-size:.875rem;letter-spacing:.045em;margin-bottom:16px}
 .scene-copy h1 .hero-prefix{font-size:1.125rem;margin-bottom:7px}.scene-copy h1 .hero-tail{margin-top:8px;font-size:1.6875rem}
 .scene-copy .intro{font-size:1rem;margin-top:12px;margin-bottom:14px;letter-spacing:.015em}
 .scene-copy .intro span+span{display:none}.scene-copy .button{font-size:.9375rem;min-height:50px;padding:12px 17px}
 .scene-copy[data-frame="6"],.scene-copy[data-frame="7"],.scene-copy[data-frame="8"]{left:7%;top:17%;width:86%}
 .scene-copy[data-frame="9"]{top:20%;width:88%;left:6%}
 .scene-copy[data-frame="6"] .eyebrow,.scene-copy[data-frame="7"] .eyebrow,.scene-copy[data-frame="8"] .eyebrow,.scene-copy[data-frame="9"] .eyebrow{font-size:.9375rem;margin-bottom:18px;letter-spacing:.18em}
 .scene-copy h1 .course-suffix{font-size:.9375rem;margin-top:10px}
 .scene-support{margin-top:20px;max-width:100%}
 .scene-copy .scene-support .sub,.scene-copy[data-frame="7"] .scene-support .sub,.scene-copy[data-frame="8"] .scene-support .sub,.scene-copy[data-frame="9"] .scene-support .sub{font-size:1.125rem;line-height:1.8;letter-spacing:.015em}
 .scene-copy .scene-support .detail,.scene-copy[data-frame="8"] .scene-support .detail{font-size:1rem;line-height:1.85;letter-spacing:0;margin-top:8px}
 .stage-bottom{font-size:.8125rem;bottom:16px;left:5%;right:5%;gap:12px;letter-spacing:.025em}
 .menu-title-prefix{font-size:.9375rem;letter-spacing:.035em}.section-head>p:not(.eyebrow),.consult-head>p:not(.eyebrow){font-size:1rem;line-height:1.95;letter-spacing:.015em}
 .service{padding:27px 24px 29px;gap:16px}.service .service-name{font-size:1.0625rem}.service-index{font-size:.875rem}
 .service .course{font-size:1rem}.service>span:last-child{font-size:1rem;line-height:1.9}
 .note,.price-result .note,.stores .note,.faq>.note,.consult-inner>.note{font-size:1rem;line-height:1.9}
 .undecided{font-size:1rem;gap:10px}.selector-row legend,.store-picker{font-size:1rem}
 .store-picker select{font-size:1rem;max-width:100%;width:100%;white-space:normal;padding-inline:10px}
 .price-result .button{margin-top:0;align-self:stretch}.price-annotation{font-size:1rem}
 #selected-label{font-size:1rem}.price-details summary{font-size:1.0625rem}.button{font-size:1rem}
 .stores .section-head .eyebrow{font-size:.875rem;letter-spacing:.025em}.store-grid p,.store-grid dl{font-size:1rem;line-height:1.9}
 .store-grid .store-lead{font-size:1.1875rem}.store-grid dl{grid-template-columns:76px minmax(0,1fr);gap:12px}
 .work-grid small{font-size:.9375rem;line-height:1.85}.faq summary{font-size:1.0625rem;gap:13px;line-height:1.9}.faq summary:before{font-size:.875rem;min-width:24px}
 .faq details p{font-size:1rem;line-height:2;margin-left:0;padding-top:18px}.faq>.note{font-size:.9375rem}
 .ending-copy{top:17%}.ending-pre{font-size:1.1875rem}.ending-post{font-size:1rem;letter-spacing:.035em;margin-bottom:12px}.ending-second{font-size:1.6875rem}
 .consult:after{background:linear-gradient(transparent 8%,#05172b99 20%,#05172b 39%)}
 .consult-inner{width:86%;max-width:none;padding-top:40px}.consult-head .eyebrow{font-size:.9375rem;letter-spacing:.03em}
 .contact-direct>.button{max-width:none}.contact-phones{grid-template-columns:1fr;gap:10px;margin-top:19px}.contact-phones a{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.contact-phones span{font-size:.9375rem}.contact-phones strong{font-size:1.375rem}
 .memo-title{font-size:1.0625rem;padding-inline:20px;margin-bottom:23px}.memo-card dl{padding-inline:20px;grid-template-columns:53px minmax(0,1fr);gap:19px 15px}
 .memo-card dt,.memo-card dd{font-size:1rem;line-height:1.85}.memo-card dt{letter-spacing:0}.memo-card>.note,.memo-actions{margin-inline:20px}
 .memo-actions .text-link,.memo-actions .button{font-size:1rem}.consult-inner>.note{line-height:1.95}
 .dialog-header h2{font-size:1.375rem}.dialog-header button,dialog>p,dialog textarea,#copy-status,.dialog-actions .button{font-size:1rem}
 .dialog-header{gap:14px}dialog{padding:23px 18px}.dialog-actions{gap:16px}footer{font-size:.875rem}footer button{font-size:1rem}
}
@media(max-width:370px){
 header{padding-inline:12px}.brand img{width:88px}nav{font-size:.8125rem;gap:8px}nav a:first-child{max-width:66px}nav .nav-cta{max-width:65px}
 .scene-copy[data-frame="1"] .eyebrow{font-size:.8125rem}.scene-copy h1 .hero-prefix{font-size:1rem}.scene-copy h1 .hero-tail{font-size:1.5rem}
 .scene-copy .intro{font-size:.9375rem}.stage-bottom{font-size:.75rem}
 .ending-copy h2{column-gap:8px}.ending-post{font-size:.9375rem}.ending-second{font-size:1.5rem}
 .service{padding-inline:20px}.contact-phones a{align-items:flex-start;flex-direction:column;gap:6px}.store-grid .phone{font-size:1.625rem}
}
@media(forced-colors:active){.scene-support,.stage-bottom>span,.memo-card{background:Canvas;color:CanvasText;border:1px solid CanvasText}.scene-support .sub,.scene-support .detail{color:CanvasText!important}}
.store-heading span,.ending-second{white-space:normal}
.dialog-header button{white-space:nowrap}.dialog-header{flex-wrap:wrap}
#store-choice-status{font-size:1rem;font-weight:500;color:#d9ebef;line-height:1.8;margin-top:-8px}
.static-flow .film{height:auto;min-height:100svh}
header{background:#041727;border-bottom:1px solid #31526655}
.scene-copy h1 .course-suffix{width:max-content;padding:0;line-height:1.6}
.reading-expanded .film{height:auto;min-height:100svh}
.reading-expanded .stage{position:relative;min-height:var(--reading-scene-height,100svh)}
.reading-expanded .scene-copy{top:calc(var(--nav-height,100px) + 24px)}
.reading-expanded .stage-bottom{bottom:18px}
@media(prefers-reduced-motion:reduce){.film{height:auto;min-height:100svh}}
@media(max-width:700px){
 header{height:auto;min-height:92px;align-items:center;gap:12px}.brand{flex:none}.brand img{width:90px}
 nav{flex-wrap:wrap;justify-content:flex-end;column-gap:13px;row-gap:0;min-width:0}
 nav a,nav a:first-child,nav .nav-cta{max-width:none;white-space:nowrap;min-width:0}
 nav a:first-child{white-space:nowrap;max-width:none}
 .price-annotation{display:block;margin-left:0}
}
@media(max-width:370px){.brand img{width:76px}header{gap:10px}nav{column-gap:6px}}
@media(min-width:701px){.scene-copy .intro{width:fit-content}}
