/* R4: distinct lettering for refraction, water, polishing, film and the quiet closing. */
:root{--ink-paper:#f4f1e6;--ink-water:#b5ecf1;--ink-polish:#e9dfca;--ink-film:#d9d4f1}
.word-lettering{position:relative;display:inline-block;width:100%;height:auto;aspect-ratio:var(--art-ratio);vertical-align:middle;line-height:1}
.word-lettering .letter-source{position:absolute;width:1px;height:1px;inset:auto;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:1}
.letter-crop{position:absolute;display:block;inset:0;overflow:hidden;transform-origin:50% 50%}
.word-lettering .letter-art{position:absolute;display:block;max-width:none;object-fit:fill;overflow:hidden}
.plain-lettering{aspect-ratio:auto;width:auto}.plain-lettering .letter-source{position:static;width:auto;height:auto;clip-path:none;overflow:visible}
.art-error .letter-crop{display:none}.art-error .letter-source{position:static;width:auto;height:auto;clip-path:none}
header{background:linear-gradient(#021020dd,#03112270 65%,transparent);align-items:center}
nav{gap:38px;font-size:13px;letter-spacing:.06em}
nav a{padding-block:14px}.nav-cta{border-color:#b8dce8!important}
.scene-copy{max-width:none;left:6.8%;top:15%;width:47%;text-align:left}
.scene-copy h1{max-width:none;letter-spacing:0;line-height:1}
.scene-copy[data-frame="1"] .eyebrow{font-size:12px;letter-spacing:.18em;margin-bottom:24px;color:#c6e8ed}
.scene-copy h1 .hero-prefix{font-size:clamp(18px,1.6vw,29px);font-weight:400;letter-spacing:.3em;margin:0 0 13px 1.8%;color:#e1eef1}
.scene-copy h1 .hero-line{display:block;font-size:inherit;line-height:1;width:100%}
.scene-copy .hero-line .word-lettering{display:block;width:100%}
.scene-copy h1 .hero-tail{display:block;text-align:right;font-size:clamp(26px,2.75vw,52px);letter-spacing:.15em;line-height:1.6;font-weight:400;padding-right:3%;margin-top:11px;color:var(--ink-paper)}
.scene-copy .intro{font-size:12px;line-height:1.8;letter-spacing:.06em;margin:24px 0 20px;max-width:100%;text-shadow:0 1px 4px #031427}
.scene-copy .intro span+span{display:block;margin:2px 0 0}
.scene-copy .button{font-size:13px;padding:12px 23px;min-height:47px}
.scene-copy[data-frame="6"],.scene-copy[data-frame="7"],.scene-copy[data-frame="8"],.scene-copy[data-frame="9"]{left:6.8%;top:16%;width:37%;max-width:none;padding:0;text-align:left;background:none}
.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:13px;letter-spacing:.3em;margin:0 0 20px;padding-left:2px}
.scene-copy[data-frame="6"] h1,.scene-copy[data-frame="7"] h1,.scene-copy[data-frame="8"] h1,.scene-copy[data-frame="9"] h1{position:relative;display:block;font-size:inherit;line-height:1}
.course-lettering>.word-lettering{display:block;width:100%}
.scene-copy h1 .course-suffix{position:static;display:block;text-align:right;transform:none;font-size:15px;line-height:1.5;margin-top:12px;letter-spacing:.24em;padding-right:3%}
.scene-copy[data-frame="7"]{top:18%;width:32%}
.scene-copy[data-frame="7"] .sub{font-size:18px;max-width:330px;line-height:2}
.scene-copy[data-frame="8"]{width:37%;top:17%}
.scene-copy[data-frame="8"] .sub{color:#f0e4ca;font-size:clamp(18px,1.25vw,23px);letter-spacing:.1em;margin-top:29px}
.scene-copy[data-frame="8"] .detail{font-size:14px;max-width:370px;line-height:2;letter-spacing:.045em;margin-top:15px}
.scene-copy[data-frame="9"]{top:21%;width:45%}
.coat-prefix{display:block;font-size:clamp(17px,1.4vw,25px);letter-spacing:.25em;color:#ebe6fa;margin:0 0 19px 1%}
.scene-copy[data-frame="9"] .sub{font-size:clamp(15px,1.1vw,20px);letter-spacing:.065em;max-width:100%;margin-top:34px}
.scene-copy .sub{font-weight:400;line-height:1.85;letter-spacing:.065em;margin-top:25px;font-size:clamp(17px,1.2vw,22px);text-shadow:0 1px 5px #001321}
.stage-bottom{font-size:11px;letter-spacing:.16em;color:#d2e6ef}
body[data-scene="6"] .shade,body[data-scene="7"] .shade,body[data-scene="8"] .shade,body[data-scene="9"] .shade{background:linear-gradient(90deg,#02132665,transparent 65%)}
.button{font-size:14px;letter-spacing:.025em;border-radius:0}
.button.light{background:#e2f1ee;color:#0b2433;box-shadow:none;border-color:#e2f1ee}
.button.light:hover{background:#fffefa}.button.outline{border-color:#8facb6}
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #b9f2ef;outline-offset:5px}
.information{padding:120px 0 95px;background:#071b2a}
.information-art{height:800px}.information-art img{opacity:.25}
.info-inner{max-width:1580px;width:86.4%}
.information .section-head{position:relative;max-width:100%;margin-bottom:60px;padding-bottom:32px;border-bottom:1px solid #b7dce44a}
.information .section-head>.eyebrow{display:none}
.section-head .course-heading{display:block;font-size:inherit;margin:0 0 30px}
.menu-title-prefix{display:block;font-size:15px;letter-spacing:.16em;color:#badce6;margin-bottom:21px;line-height:1.8}
.menu-title-main{display:block;font-size:clamp(39px,4.8vw,78px);font-weight:400;letter-spacing:.07em;line-height:1.25;color:#f0f0e7}
.title-divider{font-size:.5em;vertical-align:.15em;margin:0 .18em;color:#8aabb6}
.section-head>p:not(.eyebrow){font-size:16px;font-weight:400;line-height:2.05;letter-spacing:.035em;max-width:820px;text-wrap:pretty}
.service-options{gap:30px}
.service{position:relative;min-width:0;padding:31px 27px 36px;gap:18px;background:linear-gradient(#0b253bcc,#081b2acc);border-top:1px solid #7ca7b3;border-bottom:1px solid #7ca7b33d;box-shadow:none}
.service:nth-of-type(2){background:linear-gradient(#202b31cc,#111e27cc);border-top-color:#b1a991}
.service:nth-of-type(3){background:linear-gradient(#24243bcc,#131e30cc);border-top-color:#a5a0ba}
.service-index{position:absolute;top:26px;right:57px;font:400 12px Zen,Noto,sans-serif;color:#c0d5d9;letter-spacing:.14em}
.service .service-name{display:block;font-size:17px;line-height:1.3;letter-spacing:.25em;color:#bedee4;padding:0;margin-bottom:3px}
.service:nth-of-type(2) .service-name{color:#e9dec3}.service:nth-of-type(3) .service-name{color:#ddd7f1}
.service-art{display:block;width:94%;max-width:320px;margin:2px 0 10px;min-height:90px}
.service-art .letter-crop{inset:auto 0;top:50%;height:auto;aspect-ratio:var(--art-ratio);transform:translateY(-50%)}
.service .course{font-size:15px;line-height:1.8;letter-spacing:.08em;margin:0;color:#def0f2}
.service>span:last-child{max-width:32ch;font-size:14px;line-height:2;color:#d4e2e4;letter-spacing:.025em}
.service:has(input:checked){background:#15313d;box-shadow:inset 0 -3px #9bdee2;border-color:#bfe8ea}
.service:nth-of-type(2):has(input:checked){background:#293037;box-shadow:inset 0 -3px #e4d6b6;border-color:#e4d6b6}
.service:nth-of-type(3):has(input:checked){background:#272c40;box-shadow:inset 0 -3px #d0c8ed;border-color:#d0c8ed}
.undecided{font-size:15px;line-height:1.8;margin-top:30px;letter-spacing:.015em}
.selector-row{margin-top:38px;padding-top:36px}.selector-row legend,.store-picker{font-size:14px;letter-spacing:.05em}
.sizes{gap:10px}.sizes span{background:#071e2d;border-color:#5d8290;font-size:19px;letter-spacing:.04em}
.store-picker select{background:#071e2d;border-color:#5d8290;font-size:15px;line-height:1.7}
.price-result{gap:35px;padding:42px 0;margin-top:35px;align-items:center;border-block-color:#92b7bf66}
.price-result .price{font-size:clamp(28px,2.5vw,44px);letter-spacing:.035em;font-weight:400;line-height:1.5;margin:15px 0}
.price-result .price[data-kind="amount"]{font-size:clamp(44px,5.3vw,88px);font-weight:400;letter-spacing:-.035em;color:var(--ink-paper);line-height:1.2}
.price-unit{font-size:.3em;letter-spacing:.06em;margin-left:.32em}.price-annotation{font-size:13px;margin-left:1.4em;color:#c1d5df;letter-spacing:.015em}
.price-result .note{max-width:760px;text-wrap:pretty;line-height:1.95;font-size:13px}
#selected-label{font-size:14px;color:#afdae2;line-height:1.8;letter-spacing:.08em}
.note{font-size:13px;line-height:1.95;letter-spacing:.015em;color:#bcd0da}
.price-details summary{font-size:16px;letter-spacing:.035em}table caption{font-size:13px;letter-spacing:.08em}
th,td{padding:22px 14px}td{font-size:21px;font-weight:400}th{font-size:15px;font-weight:400}
.content-section{padding:110px 6.8%}.stores{background:#e3e9e5;color:#153342}
.stores .section-head .eyebrow{color:#466774;font-size:12px;letter-spacing:.17em}
.stores .section-head p{color:#365967}.stores .store-heading{font-size:clamp(34px,4.1vw,70px);font-weight:400;line-height:1.4;margin:0 0 23px;letter-spacing:.065em}
.store-heading span:first-child{font-size:1em;color:#173747;margin:0}.store-heading span:last-child{color:#173747;font-size:1em}
.store-grid{gap:8%;margin-top:55px}.store-grid article{border-top:1px solid #527281;gap:22px;padding-top:30px}
.store-grid .location{font-size:clamp(34px,3.3vw,53px);font-weight:400;letter-spacing:.08em;color:#315c70!important;line-height:1.3}
.store-grid h3{font-size:22px;font-weight:500;line-height:1.7;letter-spacing:.035em;color:#153747}
.store-grid p{font-size:14px;line-height:1.95;letter-spacing:.025em;color:#365361;text-wrap:pretty}
.store-grid .store-lead{color:#163e53;font-size:21px;line-height:1.8;font-weight:500;letter-spacing:.025em}
.store-grid .phone{color:#123849;font-size:clamp(26px,2.4vw,39px);font-weight:400;letter-spacing:.015em}
.store-grid dl{font-size:13px;line-height:1.8;color:#365361}.store-grid dt{color:#456a78}
.stores .note{color:#42616d}.stores .button{color:#143d51;border-color:#567989;background:transparent}
.stores .button:hover{background:#c9d9d5}.stores a:focus-visible,.stores button:focus-visible{outline-color:#1e6579}
#store-status{color:#254d62;font-size:15px;line-height:1.8}
#work{background:#061621}.work-heading{font-size:clamp(42px,4.7vw,78px);letter-spacing:.13em;font-weight:400;line-height:1.4;padding-bottom:0}
.work-heading:after{display:none}.work-grid{max-width:none;gap:5%}.work-grid a{border-top:1px solid #6d939f;padding-top:23px;gap:17px}
.work-grid span{font-size:25px;font-weight:400;line-height:1.6;letter-spacing:.035em}
.work-grid small{font-size:12px;letter-spacing:.06em;color:#aac6d2;line-height:1.9}
.work-grid img{height:390px}.work-grid a:hover img{opacity:.9}
.faq{display:grid;grid-template-columns:29% minmax(0,1fr);column-gap:6%;background:#0b2333}
.faq .section-head{grid-column:1;grid-row:1/7;margin:0}.faq-heading{font-size:clamp(27px,2.6vw,44px);font-weight:400;letter-spacing:.08em;line-height:1.7}
.faq details,.faq>.note{grid-column:2}.faq details{padding:21px 0;border-color:#6b939b73}
.faq summary{gap:24px;font-size:17px;line-height:1.8;font-weight:400;letter-spacing:.03em}
.faq summary:before{font-size:14px;min-width:26px;color:#85bfca;letter-spacing:.12em}
.faq summary:after{font-size:19px;color:#c5dedd}.faq details p{margin-left:50px;font-size:15px;line-height:2.1;max-width:760px;letter-spacing:.035em;color:#cee0e5}
.faq>.note{font-size:12px;margin-top:25px}
.ending-copy{left:9%;top:18%;width:37%;max-width:none;text-align:left}
.ending-copy h2{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;font-size:23px;letter-spacing:.09em;font-weight:400;line-height:1.8}
.ending-pre{grid-column:1/3;font-size:24px;letter-spacing:.25em;color:#dbe5e7}
.ending-copy h2 .word-lettering{display:block;grid-column:1/3;width:85%;max-width:540px;margin:6px 0}
.ending-post{grid-column:2;text-align:right;font-size:22px;color:#dfe9eb;letter-spacing:.12em}
.ending-second{grid-column:1/3;display:block;font-size:clamp(28px,2.6vw,46px);margin:5px 0 0 0;letter-spacing:.09em;color:#eef0e7;white-space:nowrap}
.consult-inner{padding-top:115px;width:45%;max-width:820px;margin-left:6.8%}
.consult-head .eyebrow{font-size:12px;letter-spacing:.16em;color:#bad8de;margin-bottom:22px}
.consult-inner .section-head h2{display:block;font-size:inherit;letter-spacing:.035em;font-weight:400;line-height:1.6}
.consult-invitation{display:block!important;font-size:clamp(44px,4.7vw,79px);font-weight:400;line-height:1.35;letter-spacing:.13em;color:#eef3e8;margin-bottom:16px}
.consult-title{display:block!important;font-size:clamp(22px,2.1vw,36px);line-height:1.7;letter-spacing:.05em;color:#c9e5e6}
.consult-head>p:not(.eyebrow){font-size:15px;line-height:2;margin-top:26px;color:#d4e5e9;letter-spacing:.04em}
.memo-card{border:0;border-block:1px solid #8baebc88;padding:29px 0;background:#082339a6}
.memo-card dl{grid-template-columns:72px 1fr;gap:22px 25px;padding:0 24px;font-size:15px}.memo-card dt{font-size:12px;letter-spacing:.14em;color:#9ec2d0;padding-top:3px}
.memo-card dd{font-size:15px;line-height:1.9;letter-spacing:.025em;color:#e5efed}
.memo-card>.note,.memo-actions{margin-inline:24px}.memo-actions{gap:20px}
.memo-actions .text-link{font-size:12px}.memo-actions .button{font-size:13px}
.consult-inner>.note{font-size:12px;line-height:2.1;margin-top:24px;letter-spacing:.025em}
dialog{max-width:740px;background:#0b2738;padding:33px;color:#eff4ef;border-color:#678d98}
.dialog-header h2{font-size:25px;font-weight:400;letter-spacing:.05em}
dialog>p{font-size:14px;line-height:1.9}textarea{font-size:15px;line-height:2;background:#051b28;border-color:#5b7e8c}
.dialog-actions .button{font-size:13px}#copy-status{font-size:13px;line-height:1.95}
footer{font-size:11px;line-height:1.9;padding:48px 6.8%;gap:13px;letter-spacing:.035em}
footer div{font-size:18px;letter-spacing:.2em;font-weight:400}
footer button{font-size:12px}
.simple-type .word-lettering,.art-error.word-lettering{width:auto!important;height:auto!important;aspect-ratio:auto!important}
.simple-type .letter-crop{display:none!important}.simple-type .word-lettering .letter-source{position:static!important;display:block!important;inset:auto;width:auto;height:auto;opacity:1;clip-path:none;overflow:visible;font-weight:400;line-height:1.25}
.simple-type .hero-line{font-size:clamp(50px,5.4vw,100px)!important}.simple-type .course-lettering{font-size:clamp(38px,4vw,72px)!important}
.simple-type .service-art{display:none!important}.simple-type .service-verb{font-size:42px}
.simple-type .ending-copy .word-lettering{font-size:clamp(64px,7vw,130px);margin-block:15px}
@media(min-width:701px) and (max-height:760px){
 .scene-copy{top:16%;width:40%}.scene-copy[data-frame="1"] .eyebrow{margin-bottom:14px}
 .scene-copy h1 .hero-prefix{font-size:19px;margin-bottom:7px}.scene-copy h1 .hero-tail{font-size:31px;margin-top:5px}
 .scene-copy .intro{margin-top:13px;margin-bottom:12px;font-size:11px}.scene-copy .button{min-height:40px;padding:9px 20px}
 .scene-copy[data-frame="6"],.scene-copy[data-frame="7"],.scene-copy[data-frame="8"]{top:19%;width:33%}.scene-copy[data-frame="9"]{top:21%;width:42%}
 .scene-copy .sub{font-size:17px;margin-top:18px}.scene-copy[data-frame="8"] .detail{font-size:13px;margin-top:10px}
 .ending-copy{top:19%;width:32%}.ending-pre{font-size:18px}.ending-second{font-size:29px}.ending-post{font-size:17px}
}
@media(min-width:701px) and (max-width:1100px){
 nav{gap:25px}.service-options{gap:16px}.service{padding:27px 20px}.service-art{min-height:63px}.service>span:last-child{font-size:13px}
 .scene-copy{width:49%;top:18%}.scene-copy .intro{font-size:11px}
 .scene-copy[data-frame="6"],.scene-copy[data-frame="7"],.scene-copy[data-frame="8"]{width:43%;top:19%}
 .scene-copy[data-frame="9"]{width:54%;top:20%}.scene-copy .sub{font-size:16px}.scene-copy[data-frame="8"] .detail{max-width:300px;font-size:13px}
 .consult-inner{width:59%}.consult-invitation{font-size:55px}.consult-title{font-size:27px}.faq{grid-template-columns:1fr}.faq .section-head{grid-column:1;grid-row:auto;margin-bottom:27px}.faq details,.faq>.note{grid-column:1}
 .store-grid{gap:6%}.store-grid .store-lead{font-size:18px}.store-grid h3{font-size:20px}
}
@media(max-width:700px){
 header{padding:14px 16px}nav{gap:10px;font-size:11px;letter-spacing:.01em}.brand img{width:115px}nav a{padding-block:10px}
 .scene-copy{left:7%;top:17%;width:86%;max-width:none}
 .scene-copy[data-frame="1"] .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:21px}
 .scene-copy h1 .hero-prefix{font-size:17px;letter-spacing:.23em;margin-bottom:11px}
 .scene-copy h1 .hero-line{display:block;width:100%}.scene-copy h1 .hero-tail{font-size:27px;letter-spacing:.11em;margin-top:12px;padding-right:3%}
 .scene-copy .intro{font-size:10px;letter-spacing:.04em;line-height:1.8;margin:15px 0 15px}.scene-copy .intro span{white-space:normal}.scene-copy .intro span+span{display:none}
 .scene-copy .button{font-size:12px;min-height:43px;padding:11px 16px}
 .scene-copy[data-frame="6"],.scene-copy[data-frame="7"],.scene-copy[data-frame="8"],.scene-copy[data-frame="9"]{left:7%;top:18%;width:86%;max-width:none;padding:0}
 .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:11px;letter-spacing:.23em;margin-bottom:23px}
 .scene-copy h1 .course-suffix{font-size:12px;letter-spacing:.2em;margin-top:10px;padding-right:3%}
 .scene-copy[data-frame="6"] h1,.scene-copy[data-frame="7"] h1,.scene-copy[data-frame="8"] h1,.scene-copy[data-frame="9"] h1{font-size:inherit}
 .scene-copy[data-frame="7"]{width:76%;top:19%}.scene-copy[data-frame="7"] .sub{font-size:14px;max-width:245px;line-height:2}
 .scene-copy[data-frame="8"]{top:20%;width:86%}.scene-copy[data-frame="8"] .sub{font-size:15px;letter-spacing:.08em;margin-top:24px}.scene-copy[data-frame="8"] .detail{font-size:12px;max-width:245px;margin-top:13px;line-height:1.9}
 .scene-copy[data-frame="9"]{top:23%;width:88%;left:6%}.scene-copy[data-frame="9"] .eyebrow{margin-bottom:25px}.coat-prefix{font-size:16px;margin-bottom:17px;letter-spacing:.2em}
 .scene-copy[data-frame="9"] .sub{font-size:14px;line-height:1.95;letter-spacing:.045em;margin-top:29px;max-width:265px}
 .scene-copy .sub{font-size:15px;line-height:1.85;margin-top:22px;max-width:260px}
 .stage-bottom{font-size:9px;letter-spacing:.05em;bottom:18px}
 .information{padding:74px 0 60px}.info-inner{width:86%}.information-art{height:650px}
 .information .section-head{margin-bottom:38px;padding-bottom:26px}.section-head .course-heading{display:block;margin-bottom:22px;line-height:1.4}
 .menu-title-prefix{font-size:11px;line-height:1.8;letter-spacing:.065em;margin-bottom:15px}.menu-title-main{font-size:42px;letter-spacing:.025em;line-height:1.3}.title-divider{display:inline!important}
 .section-head>p:not(.eyebrow){font-size:14px;line-height:2;letter-spacing:.015em}
 .service-options{gap:20px}.service{padding:26px 24px 29px;gap:15px}.service-index{right:52px;top:28px;font-size:11px}
 .service .service-name{font-size:15px;letter-spacing:.2em}.service-art{width:90%;max-width:285px;min-height:88px;margin:0 0 6px}
 .service .course{font-size:14px;letter-spacing:.045em}.service>span:last-child{font-size:13px;line-height:2;max-width:none;letter-spacing:.01em}
 .service input{right:22px;top:24px}.undecided{font-size:14px;margin-top:25px}.note{font-size:12px;line-height:1.95}
 .selector-row{margin-top:28px;padding-top:28px;gap:28px}.selector-row legend,.store-picker{font-size:13px}.sizes{gap:7px}.sizes span{font-size:17px;min-width:43px;padding:9px 10px;min-height:45px}.store-picker select{font-size:13px;padding:13px 10px}
 .price-result{padding:29px 0;gap:23px;margin-top:29px;align-items:stretch}.price-result .price{font-size:27px;line-height:1.5;margin:14px 0;letter-spacing:.025em}.price-result .price[data-kind="amount"]{font-size:59px;line-height:1.35}
 .price-unit{font-size:.3em;margin-left:.22em}.price-annotation{display:block;font-size:12px;line-height:1.7;margin:5px 0 0;letter-spacing:.01em}.price-result .note{font-size:12px;line-height:1.95}#selected-label{font-size:13px;letter-spacing:.025em}
 .price-details summary{font-size:14px}.button{font-size:13px}.content-section{padding:72px 7%}
 .stores .store-heading{font-size:32px;letter-spacing:.04em;line-height:1.5}.store-heading span:first-child,.store-heading span:last-child{display:block;font-size:1em}.stores .section-head .eyebrow{font-size:10px;letter-spacing:.08em}
 .store-grid{margin-top:36px;gap:47px}.store-grid article{gap:21px;padding-top:27px}.store-grid .location{font-size:34px}.store-grid h3{font-size:21px;line-height:1.7}.store-grid p{font-size:13px;line-height:1.95}.store-grid .store-lead{font-size:18px;line-height:1.9}.store-grid .phone{font-size:27px;letter-spacing:0}.store-grid dl{font-size:12px}.stores .note{font-size:12px}
 .work-heading{font-size:43px;letter-spacing:.09em}.work-grid{gap:35px}.work-grid a{padding-top:19px;gap:14px}.work-grid img{height:410px}.work-grid span{font-size:22px}.work-grid small{font-size:11px;line-height:1.9}
 .faq{display:block}.faq .section-head{margin-bottom:31px}.faq-heading{font-size:31px;letter-spacing:.05em}.faq details{padding:18px 0}.faq summary{gap:12px;font-size:15px;line-height:1.9;letter-spacing:.005em}.faq summary:before{font-size:11px;min-width:24px}.faq summary:after{font-size:18px}.faq details p{font-size:13px;line-height:2.1;margin-left:36px;letter-spacing:.015em}.faq>.note{font-size:11px}
 .ending-copy{left:8%;top:18%;width:84%;max-width:none}.ending-copy h2{gap:3px 9px;font-size:18px}.ending-pre{font-size:18px;letter-spacing:.2em}.ending-copy h2 .word-lettering{width:77%;max-width:290px;margin:13px 0 8px}.ending-post{font-size:16px;letter-spacing:.12em;margin-top:-5px}.ending-second{font-size:28px;letter-spacing:.085em;margin-top:9px}
 .consult-inner{width:86%;padding-top:40px;margin:auto}.consult-head .eyebrow{font-size:11px;letter-spacing:.075em;margin-bottom:21px}.consult-invitation{font-size:49px;line-height:1.45;letter-spacing:.105em;margin-bottom:8px}.consult-title{font-size:23px;letter-spacing:.02em;line-height:1.8}.consult-inner .section-head h2{font-size:inherit;line-height:1.5;letter-spacing:0}.consult-head>p:not(.eyebrow){font-size:14px;line-height:2;letter-spacing:.015em;margin-top:23px}
 .memo-card{padding:25px 0}.memo-card dl{grid-template-columns:53px minmax(0,1fr);padding-inline:17px;gap:19px 13px}.memo-card dt{font-size:11px;letter-spacing:.06em}.memo-card dd{font-size:13px;line-height:1.9;letter-spacing:.01em}.memo-card>.note,.memo-actions{margin-inline:17px}.memo-actions{gap:16px}.memo-actions .button{font-size:12px}.consult-inner>.note{font-size:11px;line-height:2}
 dialog{padding:24px 20px}.dialog-header h2{font-size:22px;letter-spacing:.025em}.dialog-header button{font-size:12px}dialog>p{font-size:13px;line-height:1.9}textarea{font-size:13px;line-height:1.95;padding:15px}#copy-status{font-size:12px;line-height:1.95}.dialog-actions{gap:13px}
 footer{padding:39px 7%;font-size:10px;gap:12px}footer div{font-size:17px;letter-spacing:.15em}footer button{font-size:11px}
 .simple-type .hero-line{font-size:43px!important}.simple-type .course-lettering{font-size:37px!important}.simple-type .ending-copy .word-lettering{font-size:85px}.simple-type .hero-tail{margin-top:23px}
}
@media(max-width:370px){
 header{padding-inline:12px}.brand img{width:100px}nav{gap:6px;font-size:10px}nav a:first-child{max-width:54px}
 .scene-copy{top:18%}.scene-copy[data-frame="1"] .eyebrow{margin-bottom:16px;font-size:9px}.scene-copy h1 .hero-prefix{font-size:15px}.scene-copy h1 .hero-tail{font-size:25px}
 .menu-title-main{font-size:37px}.consult-invitation{font-size:44px}.consult-title{font-size:21px}.store-grid .phone{font-size:25px}.service-art{min-height:74px}.ending-second{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.letter-crop{animation:none!important;transition:none!important;transform:none}html{scroll-behavior:auto}}
@media(forced-colors:active),(prefers-contrast:more){
 .letter-crop{display:none!important}.word-lettering{aspect-ratio:auto;width:auto!important;height:auto!important}.word-lettering .letter-source{position:static;width:auto;height:auto;clip-path:none;overflow:visible;opacity:1;line-height:1.4}.hero-line{font-size:clamp(44px,5vw,90px)!important}.course-lettering{font-size:clamp(35px,4vw,70px)!important}.service-art{display:none!important}.service-verb{font-size:36px}.ending-copy .word-lettering{font-size:90px}
}

/* Layout cleanup after visual review. */
.keep-word{white-space:nowrap}.status-sentence{display:block}#copy-status{line-break:strict}
fieldset{min-inline-size:0}.service-options{min-width:0}.service-art{aspect-ratio:auto;min-height:0;height:100px}
.section-head .course-heading .menu-title-prefix,.section-head .course-heading .menu-title-main{display:block}
.section-head .course-heading .title-divider{display:inline}
.consult-head h2 span:first-child:after{display:none}
.consult-head h2 .consult-invitation{font-size:clamp(44px,4.7vw,79px);color:#eef3e8;margin-right:0}
.scene-copy h1 .course-suffix{text-align:left;padding:0 0 0 4px;color:#eef4f4;text-shadow:0 2px 6px #001421}
.scene-copy[data-frame="9"]{top:13%}
.ending-copy{width:39%}.ending-copy h2{grid-template-columns:minmax(0,1fr) max-content;gap:10px 18px}
.ending-copy h2 .word-lettering{grid-column:1;width:100%;max-width:none;margin:5px 0}
.ending-post{grid-column:2;align-self:end;font-size:20px;margin-bottom:14px}
.ending-second{margin-top:17px}
.faq{counter-reset:question}.faq details{counter-increment:question}.faq summary{list-style:none;display:flex;align-items:baseline}.faq summary::-webkit-details-marker{display:none}
.faq summary:before{content:counter(question,decimal-leading-zero)}.faq summary:after{content:'＋';margin-left:auto;flex:none}.faq details[open] summary:after{content:'−'}
@media(max-width:1100px) and (min-width:701px){.service-art{height:73px}.ending-post{font-size:15px}.ending-copy{width:44%}}
@media(max-width:700px){
 .scene-copy[data-frame="1"]{top:14%}.scene-copy[data-frame="9"]{top:22%}
 .scene-copy[data-frame="7"] .sub{max-width:100%}
 .service-art{height:90px;min-height:0;width:100%;max-width:100%}
 .consult-head h2 .consult-invitation{font-size:49px;line-height:1.45;letter-spacing:.105em;color:#eef3e8}
 .ending-copy{width:84%;top:17%}.ending-copy h2{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px 12px}
 .ending-copy h2 .word-lettering{width:100%;max-width:none;margin:8px 0}.ending-post{font-size:14px;margin-bottom:13px}.ending-second{font-size:27px;margin-top:10px}
}
@media(max-width:370px){.service-art{height:72px}.consult-head h2 .consult-invitation{font-size:44px}.ending-second{font-size:24px}.ending-post{font-size:12px}}
@media(max-width:820px){
 .scene-copy[data-frame="6"] .sub{position:relative;isolation:isolate;width:max-content;max-width:100%;text-shadow:0 1px 3px #001321,0 0 6px #001321}
}
