/* A continuous wash-to-reef journey. The bubble and copy share one projected sphere. */
:root{--journey-height:1100svh;--bubble-diameter:38vw;--bubble-center-y:50%;--sea-paper:#f1f7ed;--sea-muted:#cee4e6;--header:96px}
body{position:relative;isolation:isolate;background:transparent}
header{height:var(--header);background:linear-gradient(180deg,rgba(2,16,27,.84),rgba(2,16,27,.5) 68%,transparent);border:0;padding:18px 5.5% 24px}
header:after{content:"";position:absolute;bottom:15px;left:5.5%;right:5.5%;height:1px;background:#d0edf51f;pointer-events:none}
.brand img{width:165px}.brand img{border-radius:0}
nav{gap:34px}nav a{font-size:.9375rem;letter-spacing:.03em;white-space:nowrap}
.nav-cta{border-color:#d4edef77!important}
.reef-information{position:relative;z-index:2}
.journey-film.film{height:var(--journey-height);min-height:100svh}
.journey-stage.stage{position:fixed;inset:0;width:100%;height:100svh;min-height:0;overflow:hidden;isolation:isolate;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 25% 0,#084b65,#062136 60%,#021926)}
.journey-stage.stage:before{display:none}
.journey-stage>picture,.journey-stage .scene{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.journey-stage .scene{object-fit:cover;object-position:center;background:none;transform:none;transition:none}
.journey-stage #master-video{z-index:1}.journey-stage #master-video[hidden]{display:none}
.journey-stage #ambient-video{z-index:1;opacity:0;pointer-events:none;transition:none}.journey-stage #ambient-video[data-active="true"]{opacity:1}
#ambient-toggle[hidden]{display:none}
.journey-light{position:absolute;inset:0;z-index:2;background:#011a25;opacity:0;pointer-events:none;transition:none}
#bubble-optics{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
#scene-copy.scene-copy{position:absolute;top:calc(var(--header) + 34px);left:7.1%;width:37%;max-width:none;text-align:left;z-index:5;transform:none;color:var(--sea-paper);pointer-events:auto;will-change:opacity,transform}
#scene-copy.scene-copy h1{font-size:inherit;line-height:1.2;white-space:normal;text-shadow:none}
#scene-copy .eyebrow{font-size:.875rem;letter-spacing:.16em;margin-bottom:23px;color:#d3ebec}
#scene-copy h1 .hero-prefix{display:block;font-size:clamp(18px,1.65vw,28px);letter-spacing:.28em;margin:0 0 14px 1%;line-height:1.6;color:#e3eeee}
#scene-copy .hero-line{display:block;width:100%;max-width:none;font-size:clamp(42px,5vw,86px)}
#scene-copy .hero-line .word-lettering{width:100%;display:block}
#scene-copy h1 .hero-tail{display:block;font-size:clamp(25px,2.7vw,47px);margin:15px 0 0;line-height:1.6;letter-spacing:.13em;text-align:right}
#scene-copy .intro{font-size:1rem;letter-spacing:.02em;line-height:1.9;margin:23px 0 24px;text-shadow:0 1px 5px #04273660;color:#e4eef0}
#scene-copy .button{font-size:.9375rem;min-height:50px;padding:11px 22px;background:#edf3ebeb;border-color:#edf3ebbb;backdrop-filter:blur(8px)}
.bubble-menu{position:absolute;width:var(--bubble-diameter);height:var(--bubble-diameter);left:50%;top:var(--bubble-center-y);transform:translate(-50%,-50%);z-index:4;opacity:0;pointer-events:none;will-change:opacity,transform;display:grid;place-items:center;isolation:isolate;text-align:center}
.bubble-menu[data-visible="true"]{pointer-events:auto}
.bubble-copy{width:74%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#f3f7ed;text-shadow:0 1px 7px #06364380}
.bubble-kicker{font:500 .9375rem/1.7 Zen,Noto,sans-serif;letter-spacing:.14em;color:#d9eff0;margin:0 0 23px}
.bubble-title{width:100%;font-size:clamp(32px,3.3vw,55px);line-height:1.25;letter-spacing:.02em;margin:0;color:#f3f5e7;text-shadow:0 1px 7px #073c4566}
.bubble-title .word-lettering{display:block;width:100%;margin:0 auto}
.bubble-title .course-suffix{display:block;font-size:1rem;line-height:1.5;letter-spacing:.13em;margin-top:7px;text-shadow:0 1px 5px #02252b}
.bubble-title .coat-prefix{display:block;font-size:.9375rem;letter-spacing:.13em;margin:0 0 7px;color:#eceefa}
.bubble-title.coat-title .word-lettering{margin-block:10px 4px}
.bubble-description{font-size:clamp(1rem,1.16vw,1.1875rem);font-weight:500;line-height:1.8;letter-spacing:.035em;margin:20px 0 0;color:#f0f4ed;text-wrap:balance}
.bubble-select{display:inline-flex;align-items:center;justify-content:center;gap:16px;font-size:.9375rem;line-height:1.6;letter-spacing:.04em;min-height:46px;padding:9px 0 6px;border-bottom:1px solid #e5f6ee7a;margin:15px 0 0;color:#eef4ed}
.bubble-select:hover{border-bottom-color:#fff}.bubble-select:focus-visible{outline-offset:7px}
.bubble-menu[data-course="polish"] .bubble-kicker{color:#e5e7d6}.bubble-menu[data-course="coat"] .bubble-kicker{color:#e6e7f0}
.stage-bottom{z-index:5;left:5.5%;right:5.5%;bottom:29px;color:#e5eeeb;font-size:.8125rem;line-height:1.7;letter-spacing:.09em;pointer-events:none;justify-content:flex-end}
.stage-bottom>span{padding:0;text-shadow:0 1px 5px #001a28}
.scroll-hint{display:flex;gap:11px;align-items:center}
.scroll-hint i{width:1px;height:25px;background:linear-gradient(transparent,#f2ffff);display:block;transform-origin:top}
.journey-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#d5efec14;z-index:7;pointer-events:none}
.journey-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#c3ece7a6;transition:none}
.information,.content-section,#work,.faq,.consult,footer{background:transparent;color:#eff4ee}
.information{padding:115px 0 95px}.info-inner{width:86%;max-width:1420px}
.section-head{margin-bottom:50px}.section-head>p:not(.eyebrow),.note{color:#d2e5e6}
.information .section-head{border-bottom-color:#c8edf33d}.menu-title-prefix{color:#c7e1e3}.menu-title-main{color:#eef4e9}
.service-options{gap:28px}.service,.service:nth-of-type(2),.service:nth-of-type(3){background:transparent;border:0;border-top:1px solid #c1e5e387;border-bottom:1px solid #c1e5e32d;padding:30px 5px 34px;box-shadow:none;min-height:320px}
.service:nth-of-type(2){border-top-color:#c9c7ab87}.service:nth-of-type(3){border-top-color:#c7bedb87}
.service:has(input:checked),.service:nth-of-type(2):has(input:checked),.service:nth-of-type(3):has(input:checked){background:#bddbe90a;border-top-color:#effaf1;box-shadow:inset 0 -2px #deefea;border-bottom-color:#deefea}
.service input{right:5px;top:26px}.service-index{right:40px;top:30px}.service .service-name{font-size:1.0625rem;color:#c9edef;margin-bottom:8px}.service .service-art{max-width:320px;width:90%;height:97px;margin-block:0 6px}
.service .course{font-size:1rem;line-height:1.7;letter-spacing:.02em;color:#eff4ee}.service>span:last-child{font-size:1rem;line-height:1.9;color:#d5e6e4;max-width:38ch}
.selector-row{gap:8%;border-color:#b8dbe246}.sizes span,.store-picker select{background:#05252b55;backdrop-filter:blur(12px);border-color:#8bbabd7d}
.undecided input,.service input{accent-color:#cceee8}.sizes input:checked+span{color:#063641;background:#d6ede5;border-color:#d6ede5}
.price-result{border-color:#bfdcde44}.price-details summary{color:#edf5ee}.price-result .price,.price-result .price[data-kind="amount"]{color:#f3f4e7}
.price-result .note,#selected-condition,#memo-condition,#store-choice-status{color:#d2e5e4}
.content-section{padding:104px 7%;max-width:1620px;margin:0 auto}.content-section .section-head{max-width:1000px}
#work{border-block:1px solid #c8e6e32a}.work-grid{gap:5%}.work-grid a{border-color:#c6e2e15a}.work-grid img{height:400px;object-fit:cover;border-radius:2px}
.work-grid a:hover img{opacity:1;filter:brightness(1.07)}.work-grid small{color:#c5dedf}
.stores{color:#eff4ed;background:transparent}.stores .store-heading span,.stores .section-head .eyebrow,.stores .section-head>p:not(.eyebrow){color:#e0eee6}
.store-grid{gap:9%}.store-grid article{border-color:#b4d9d96b}.store-grid .location{color:#d4eae4!important;font-size:clamp(34px,3.4vw,56px)}
.store-grid h3,.store-grid .store-lead,.store-grid .phone,.store-grid p,.store-grid dl,.store-grid dt,.stores .note,#store-status{color:#dcebe7}
.store-grid h3{color:#f1f5e9}.store-grid .phone{font-size:clamp(26px,2.5vw,40px);letter-spacing:.02em}.stores .button{color:#ebf3ed;border-color:#b5d6d67d;background:transparent}
.stores .button:hover,.stores .button[aria-pressed="true"]{background:#dbeee5;color:#0a3540;border-color:#dbeee5}.stores a:focus-visible,.stores button:focus-visible{outline-color:#c5f7e6}
.faq{border-block:1px solid #c8e6e32a}.faq details{border-color:#b9d9db42}.faq details p,.faq>.note,.faq summary:before{color:#d0e4e1}
.consult{min-height:0;max-width:1620px;margin:0 auto;padding:115px 7% 95px}.consult:after{display:none}.consult-inner{width:100%;max-width:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);column-gap:8%;align-items:start}
.consult-head{grid-column:1;grid-row:1;margin-bottom:35px}.consult-head .eyebrow{color:#c1dedf}.consult-head h2 .consult-invitation{font-size:clamp(42px,4.5vw,72px);color:#eef4e8;line-height:1.4;letter-spacing:.08em}.consult-title{font-size:clamp(22px,2vw,33px);line-height:1.65}.consult-head>p:not(.eyebrow){color:#d2e4e1}
.contact-direct{grid-column:1;grid-row:2;margin:0 0 40px}.contact-direct>.button{width:100%;max-width:none}.contact-phones{grid-template-columns:1fr;gap:7px;margin-top:22px}.contact-phones a{flex-direction:row;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-bottom:1px solid #c3e4e431;padding:14px 0}.contact-phones strong{border:0;padding:0;font-size:1.3125rem}
.inquiry-form{grid-column:2;grid-row:1/3;margin:0;border-top:1px solid #bedede62;padding-top:24px}.inquiry-form h3{font-size:1.1875rem;line-height:1.8;font-weight:500;letter-spacing:.03em;margin-bottom:27px}
.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.inquiry-fields label{font-size:.9375rem;line-height:1.8;color:#d4e7e5;display:flex;flex-direction:column;gap:9px}.inquiry-fields .inquiry-message{grid-column:1/3}
.inquiry-fields input,.inquiry-fields textarea{width:100%;min-width:0;background:#022a3144;backdrop-filter:blur(10px);border:1px solid #99c5c470;border-radius:1px;color:#edf4ed;padding:13px 12px;font-size:1rem;line-height:1.8;min-height:52px;margin:0}
.inquiry-fields textarea{min-height:139px;resize:vertical}.inquiry-fields input::placeholder,.inquiry-fields textarea::placeholder{color:#b9cfcdaa}.inquiry-fields input:focus,.inquiry-fields textarea:focus{border-color:#ceeee4}.inquiry-fields input[type="datetime-local"]{font-size:.9375rem;color-scheme:dark}
.memo-card{grid-column:2;grid-row:3;background:transparent;padding:26px 0 0;border:0;border-top:1px solid #bfdada45}
.memo-title{padding:0;font-size:1.0625rem;margin-bottom:20px}.memo-card dl{padding:0;grid-template-columns:72px minmax(0,1fr);gap:12px 22px}.memo-card dt{color:#bcdedc}.memo-card dd{font-size:1rem;color:#eef4ee}.memo-card>.note,.memo-actions{margin-inline:0}.memo-actions{justify-content:space-between;gap:17px}.memo-actions .button{width:auto;flex:1;min-width:210px}.consult-inner>.note{grid-column:2;font-size:.9375rem;line-height:1.9;margin-top:24px;color:#c6dedd}
footer{position:relative;z-index:2;border-top:1px solid #c8e6e32a;max-width:1620px;margin:auto;padding:45px 7%}.button.light{background:#e6f1e7;color:#0a303a;border-color:#e6f1e7}.button.outline{background:transparent;border-color:#abd4d3}.button.light:hover{background:#f3f8ed}
.memo-card .text-link{font-size:.9375rem}dialog{background:#07343b;border-color:#8ac4c5;border-radius:3px}dialog textarea{background:#03262e;border-color:#719e9f;min-height:340px}dialog::backdrop{background:#011217b0;backdrop-filter:blur(8px)}
.reading-film[hidden]{display:none}.reading-film{position:relative;z-index:2}
.reading-course{min-height:100svh;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;padding:calc(var(--header) + 35px) 5% 75px;background:#0c6878}
.reading-course:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--reef-image);background-size:cover;background-position:center}
.reading-course:after{content:"";position:absolute;inset:0;z-index:-1;background:#012c3625}
.reading-course .reading-bubble{width:min(38vw,650px);aspect-ratio:1;display:grid;place-items:center;position:relative;border:1px solid #e4fbf58c;border-radius:50%;background:radial-gradient(circle at 38% 30%,#e9fff40c,#ffffff02 59%,#c7ebf111 84%,#c6f7ef22);box-shadow:inset 0 0 27px #ccf5f122,inset 0 -2px 6px #fff8,0 0 15px #bae9ff16;backdrop-filter:blur(1.5px)}
.reading-course .reading-bubble:before{content:"";position:absolute;inset:2.5%;border-radius:50%;border-top:1px solid #f8fff7a8;border-left:1px solid #e0f7ff38;transform:rotate(-22deg);pointer-events:none}
.static-flow .journey-film.film{height:100svh;min-height:100svh}.static-flow .journey-stage.stage{position:fixed}
.static-flow #scene-copy{opacity:var(--hero-opacity,1)!important;transform:none!important}.static-flow .stage-bottom,.static-flow #bubble-optics,.static-flow .bubble-menu{display:none}
.simple-type .bubble-title .word-lettering{width:auto!important;font-size:clamp(30px,3vw,49px);line-height:1.4}.simple-type .bubble-title .course-suffix{margin-top:3px}.simple-type .bubble-title .coat-prefix{margin:0}.simple-type #scene-copy .hero-line{font-size:clamp(44px,5vw,78px)!important}
@media(min-width:701px) and (max-height:760px){
 :root{--header:78px;--bubble-diameter:min(38vw,68svh)}header{padding-top:12px;padding-bottom:16px}.brand img{width:145px}header:after{bottom:9px}nav a{min-height:44px}
 #scene-copy.scene-copy{top:calc(var(--header) + 20px);width:32%}#scene-copy .eyebrow{margin-bottom:14px}#scene-copy h1 .hero-prefix{font-size:18px;margin-bottom:9px}#scene-copy h1 .hero-tail{font-size:29px;margin-top:10px}#scene-copy .intro{font-size:.9375rem;margin-block:15px 16px}#scene-copy .button{min-height:46px;padding:9px 18px}
 .bubble-kicker{margin-bottom:13px;font-size:.8125rem}.bubble-title{font-size:35px}.bubble-title .course-suffix{font-size:.9375rem;margin-top:5px}.bubble-description{font-size:1rem;margin-top:13px;line-height:1.65}.bubble-select{font-size:.875rem;min-height:42px;margin-top:9px}.stage-bottom{bottom:18px}
 .reading-course .reading-bubble{width:min(38vw,68svh)}
}
@media(min-width:701px) and (max-width:1100px){
 :root{--bubble-diameter:48vw}.bubble-copy{width:75%}.service-options{gap:20px}.service .service-art{height:74px}.service{min-height:300px}.consult-inner{column-gap:6%;grid-template-columns:1fr 1.1fr}.inquiry-fields{grid-template-columns:1fr}.inquiry-fields .inquiry-message{grid-column:1}.reading-course .reading-bubble{width:48vw}
}
@media(max-width:700px),(min-width:701px) and (max-width:1100px) and (max-aspect-ratio:11/10){
 :root{--header:86px;--bubble-diameter:76vw;--bubble-center-y:50%;--journey-height:1150svh}header{height:var(--header);min-height:0;padding:12px 5% 18px;gap:10px}header:after{left:5%;right:5%;bottom:9px}.brand img{width:90px}nav{gap:13px;flex-wrap:nowrap;justify-content:flex-end;letter-spacing:0}nav a{font-size:.8125rem;min-height:44px;padding:7px 0;white-space:nowrap;max-width:none}nav a:first-child,nav .nav-cta{max-width:none;min-width:0}
 #scene-copy.scene-copy{--hero-top:calc(var(--header) + 26px);top:var(--hero-top);left:8%;width:84%;height:auto;bottom:auto;pointer-events:none}#scene-copy .eyebrow{display:none}#scene-copy h1 .hero-prefix{font-size:1rem;letter-spacing:.23em;margin:0 0 7px}#scene-copy .hero-line{width:76%;max-width:360px;font-size:47px}#scene-copy h1 .hero-tail{font-size:1.5rem;line-height:1.6;text-align:left;padding:0;margin:7px 0 0;letter-spacing:.15em}#scene-copy .intro{position:absolute;top:calc(100svh - var(--hero-top) - 180px);left:0;right:0;font-size:.9375rem;margin:0;line-height:1.8;text-shadow:0 2px 8px #001e2ecc,0 0 10px #03263777}#scene-copy .button{position:absolute;top:calc(100svh - var(--hero-top) - 110px);bottom:auto;left:0;min-height:48px;font-size:.875rem;padding:11px 17px;margin:0;pointer-events:auto}
 .bubble-copy{width:77%}.bubble-kicker{font-size:.8125rem;letter-spacing:.08em;margin-bottom:12px}.bubble-title{font-size:1.9375rem}.bubble-title .course-suffix{font-size:.875rem;letter-spacing:.09em;margin-top:4px}.bubble-title .coat-prefix{font-size:.8125rem;margin:0 0 5px}.bubble-title.coat-title .word-lettering{margin-block:8px 2px}.bubble-description{font-size:.9375rem;line-height:1.65;letter-spacing:.01em;margin-top:13px;text-wrap:balance}.bubble-select{font-size:.8125rem;line-height:1.5;min-height:42px;margin-top:10px;gap:10px;padding-top:8px}.stage-bottom{bottom:21px;left:5%;right:5%;font-size:.6875rem;letter-spacing:.06em}.scroll-hint{gap:8px}.scroll-hint i{height:21px}
 .information{padding:79px 0 68px}.info-inner{width:86%}.section-head>p:not(.eyebrow){font-size:1rem;line-height:1.95}.menu-title-main{font-size:clamp(32px,10vw,42px);letter-spacing:.02em}.menu-title-prefix{font-size:.875rem;letter-spacing:.03em}.information .section-head{padding-bottom:28px;margin-bottom:33px}.service-options{gap:21px}.service,.service:nth-of-type(2),.service:nth-of-type(3){padding:26px 3px 28px;min-height:0;gap:15px}.service .service-art{height:84px;width:86%;max-width:300px}.service .service-name{font-size:1rem}.service .course{font-size:.9375rem}.service>span:last-child{font-size:1rem;line-height:1.9}.service input{right:3px;top:24px}.service-index{top:28px;right:38px}.selector-row{gap:26px}.store-picker select{font-size:.9375rem}.price-result .price{font-size:27px}.price-result .price[data-kind="amount"]{font-size:58px}.price-result .note,.note{font-size:.9375rem;line-height:1.9}.price-result .button{min-height:50px}.price-details summary{font-size:1rem}
 .content-section{padding:75px 7%;max-width:none}.work-grid{gap:30px}.work-grid img{height:auto;max-height:420px;aspect-ratio:4/3;object-position:center 54%}.work-grid small{font-size:.9375rem}.store-grid{gap:47px}.store-grid .phone{font-size:1.75rem}.store-grid h3{font-size:1.3125rem}.store-grid p,.store-grid dl{font-size:1rem}.store-grid .location{font-size:35px}.store-grid .store-lead{font-size:1.1875rem}.faq{display:block}.faq summary{font-size:1rem}.faq details p{font-size:1rem;margin-left:0}.faq-heading{font-size:30px}.faq>.note{font-size:.9375rem}
 .consult{padding:79px 7% 73px;min-height:0}.consult-inner{display:block;width:100%;max-width:none;padding:0}.consult-head{margin-bottom:28px}.consult-head h2 .consult-invitation{font-size:46px;line-height:1.45;letter-spacing:.065em}.consult-title{font-size:23px;line-height:1.75}.consult-head>p:not(.eyebrow){font-size:1rem;line-height:1.9;margin-top:23px}.contact-direct{margin-bottom:43px}.contact-direct>.button{font-size:.9375rem;padding-inline:16px;gap:12px;flex-wrap:nowrap}.contact-direct>.button>span{flex:none;white-space:nowrap}.contact-phones{gap:4px;margin-top:18px}.contact-phones a{flex-direction:row;gap:7px;padding:13px 0}.contact-phones span{font-size:.875rem}.contact-phones strong{font-size:1.1875rem}.inquiry-form{padding-top:24px}.inquiry-form h3{font-size:1.0625rem}.inquiry-fields{grid-template-columns:1fr;gap:21px}.inquiry-fields .inquiry-message{grid-column:1}.inquiry-fields label{font-size:.9375rem}.inquiry-fields input,.inquiry-fields textarea{font-size:1rem}.memo-card{margin-top:28px}.memo-title{font-size:1.0625rem}.memo-card dl{grid-template-columns:53px minmax(0,1fr);gap:13px 16px}.memo-card dt,.memo-card dd{font-size:.9375rem}.memo-actions .button{width:100%}.consult-inner>.note{font-size:.9375rem}
 .reading-course{padding:calc(var(--header) + 25px) 5% 65px}.reading-course:before{background-image:var(--reef-image-mobile)}.reading-course .reading-bubble{width:76vw}.reading-course .bubble-copy{width:77%}.simple-type .bubble-title .word-lettering{font-size:29px}.simple-type #scene-copy .hero-line{font-size:43px!important}
}
@media(max-width:370px){
 :root{--header:78px;--bubble-diameter:82vw}.brand img{width:76px}nav{gap:9px}nav a{font-size:.75rem}.bubble-copy{width:78%}.bubble-kicker{font-size:.75rem;margin-bottom:8px}.bubble-description{font-size:.875rem;margin-top:9px}.bubble-select{margin-top:5px;font-size:.75rem}.bubble-title .course-suffix{font-size:.8125rem}.bubble-title .coat-prefix{font-size:.75rem}.reading-course .reading-bubble{width:82vw}#scene-copy.scene-copy{--hero-top:calc(var(--header) + 17px);top:var(--hero-top)}#scene-copy .intro{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){.letter-crop{animation:none!important;transition:none!important}}
@media(forced-colors:active){#bubble-optics{display:none}.bubble-menu{border:1px solid CanvasText;border-radius:50%;background:Canvas;color:CanvasText}.reef-information{background:Canvas;color:CanvasText}.reading-bubble{background:Canvas!important}.bubble-copy,.bubble-description,.bubble-kicker{color:CanvasText;text-shadow:none}}

.journey-stage[data-ui-active="false"] #scene-copy,.journey-stage[data-ui-active="false"] .bubble-menu,.journey-stage[data-ui-active="false"] .stage-bottom,.journey-stage[data-ui-active="false"] .journey-progress{visibility:hidden;pointer-events:none}
