@charset "UTF-8";
:root{--ink:#39364d;--muted:#777386;--purple:#7864ac;--purple-dark:#665394;--lavender:#f0edf8;--line:#e9e5ef;--sage:#edf2ed;--paper:#fdfcfe;--frame:1160px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;background:var(--paper);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button svg,a svg{pointer-events:none}svg{height:24px;width:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(var(--frame),calc(100% - 96px));margin-inline:auto}.section-space{margin-top:106px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550}h2{font-size:34px;letter-spacing:-1px;line-height:1.55}h3{font-size:22px;line-height:1.6}p{color:var(--muted)}a,button{transition:background .2s,color .2s,transform .2s,box-shadow .2s}button:active,.button:active{transform:translateY(1px)}:focus-visible{outline:3px solid #9b8ac7;outline-offset:5px}button:disabled{cursor:default}[hidden]{display:none!important}.skip-link{position:fixed;z-index:1000;top:-100px;left:20px;background:white;padding:12px}.skip-link:focus{top:15px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(251,250,254,.89);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.header-inner{display:flex;align-items:center;min-height:92px;gap:30px}.brand{display:inline-flex;gap:12px;align-items:center;flex-shrink:0}.brand-symbol{width:46px;height:46px;border-radius:17px 17px 17px 5px;background:#ebe5f5;display:grid;place-items:center;color:#8974b1;transform:rotate(-5deg)}.brand-symbol svg{width:30px;height:30px;transform:rotate(5deg);stroke-width:1.3}.brand strong{display:block;font-size:21px;font-weight:600;line-height:1.4;letter-spacing:1px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#91879e;margin-top:4px}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:34px}.desktop-nav a{font-size:14px;position:relative;padding:9px 0;color:#777080;white-space:nowrap}.desktop-nav a.active,.desktop-nav a:hover{color:var(--purple)}.desktop-nav a.active:after{content:"";display:block;width:18px;height:3px;background:#ad9bcb;border-radius:2px;position:absolute;bottom:1px;left:calc(50% - 9px)}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:12px 24px;border-radius:999px;border:0;font-size:14px;white-space:nowrap;line-height:1.5}.button svg{width:18px;height:18px}.button-primary{background:var(--purple);color:#fff}.button-primary:hover{background:var(--purple-dark);box-shadow:0 6px 15px #7864ac25;transform:translateY(-2px)}.button-header{font-size:13px;min-height:42px;background:#ebe5f6;color:var(--purple-dark);padding:10px 20px;margin-left:6px}.button-header:hover{background:#ded5ee}.button-header svg{width:17px;height:17px}.button-outline{border:1px solid #d8cfe7;color:#74648f;background:transparent}.button-outline:hover{background:#f0eaf8}.button-text{background:transparent;color:var(--purple);padding-inline:8px}.button-text:hover svg{transform:translateX(4px)}.button svg{transition:transform .2s}.mobile-menu-button{display:none;border:0;background:transparent;padding:10px}.mobile-menu{display:none}.bottom-nav{display:none}
.hero{background:linear-gradient(115deg,#f4f1fa 2%,#eeeffb 50%,#eeecf8 100%);position:relative;overflow:hidden}.hero-inner{min-height:570px;display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:12px;position:relative}.hero-copy{padding:45px 0 58px;position:relative;z-index:2}.hero-intro{font-size:12px;letter-spacing:2px;color:#9385aa;display:flex;align-items:center;gap:10px;margin-bottom:22px}.hero-intro>span{height:6px;width:6px;display:block;border-radius:50%;background:#a18bb8}h1{font-size:clamp(44px,4.1vw,59px);line-height:1.47;letter-spacing:-2px;font-weight:500}h1>span{color:#82709f}.hero-description{font-size:15px;line-height:2.1;margin-top:23px;color:#8a8098}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:30px}.hero-values{display:flex;gap:24px;align-items:center;margin-top:25px;color:#938b9d;font-size:11px}.hero-values span{display:flex;align-items:center;gap:5px}.hero-values svg{width:14px;height:14px;color:#9f92ad}.hero-visual{position:relative;height:480px;display:flex;align-items:center;min-width:0}.hero-art{width:calc(100% + 116px);max-width:none;position:absolute;left:-40px;overflow:hidden;border-radius:24px;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent)}.hero-art img{width:100%;height:auto;opacity:.94}.floating-note{position:absolute;right:3px;top:49px;background:rgba(255,255,255,.82);display:flex;align-items:center;gap:13px;padding:15px 22px;border-radius:18px;box-shadow:0 14px 35px #8073990a;transform:rotate(3deg);font-size:11px;color:#9a8eaa;line-height:1.7;animation:note-arrive .9s var(--ease) both}.floating-note strong{font-size:13px;color:#7e6b96;font-weight:500}.note-flower{font-size:35px;font-family:serif;color:#a295bf;line-height:1}.visual-caption{position:absolute;bottom:16px;right:50px;font-size:11px;color:#9b8dac;letter-spacing:2px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;color:#a398b1;font-size:10px}.hero-bottom a{display:flex;align-items:center;gap:11px}.scroll-line{height:1px;width:27px;background:#b3a5c4}.preview-tag{letter-spacing:1px;opacity:.8}
.check-in-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:60px;align-items:center;margin-top:64px}.check-in-copy{position:relative;padding-left:46px}.section-mark{position:absolute;top:6px;left:0;color:#b5a3d2}.section-mark svg{width:26px;height:26px}.check-in-copy h2{font-size:25px;line-height:1.55;letter-spacing:0}.check-in-copy p{font-size:12px;color:#97909e;margin-top:12px}.check-in-interaction{min-width:0}.mood-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mood-option{position:relative;background:#f7f5fa;border:1px solid transparent;border-radius:18px;text-align:left;padding:19px 15px 21px;min-width:0;min-height:110px}.mood-option>span{display:block;font-size:14px;font-weight:500}.mood-option small{font-size:10px;color:#a49bad;display:block;margin-top:3px}.mood-option svg{width:22px;height:22px;position:absolute;bottom:14px;right:14px;color:#b4a4cc;opacity:.9}.mood-option:nth-child(2){background:#fcf5f2}.mood-option:nth-child(3){background:#f1f5f2}.mood-option:nth-child(4){background:#f2f3fa}.mood-option[aria-pressed=true]{background:#eee8f8;border-color:#cfc0e6}.mood-option:hover{transform:translateY(-3px);border-color:#dbd0ea}.mood-response{display:flex;gap:8px;align-items:center;font-size:11px;padding:16px 4px 0;color:#9b90a6;min-height:42px}.response-dot{height:4px;width:4px;flex:0 0 4px;border-radius:50%;background:#b9a5d0}.mood-response button{margin-left:auto;border:0;background:transparent;color:#a18cb8;padding:0 0 0 8px;display:grid;place-items:center}.mood-response svg{width:17px;height:17px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:33px}.section-kicker{font-size:11px;letter-spacing:1px;color:#aaa0b5;margin-bottom:10px}.section-heading>p{font-size:12px;line-height:1.9;text-align:right;color:#aaa0b3}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{position:relative;padding:30px 30px 22px;border-radius:24px;overflow:hidden}.lilac-card{background:#f0ecf8;--card-accent:#a896c7}.peach-card{background:#faf0eb;--card-accent:#c7a396}.sage-card{background:#eef3ee;--card-accent:#94ac99}.service-symbol{height:58px;width:58px;display:grid;place-items:center;margin-bottom:22px;color:var(--card-accent);background:#ffffff75;border-radius:20px}.service-symbol svg{width:31px;height:31px;stroke-width:1.2}.service-en{font-size:8px;letter-spacing:1.4px;color:var(--card-accent);display:block;margin-bottom:5px}.service-card h3{font-size:25px;font-weight:500;margin-bottom:15px}.service-card>p{font-size:12px;line-height:2.1;color:#928797}.service-topics{display:flex;gap:8px;margin:23px 0 25px}.service-topics span{padding:3px 10px;background:#ffffff75;border-radius:10px;font-size:10px;color:#a298ad}.service-card button{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;padding:12px 0 0;color:#8e7e9c;font-size:12px;border-top:1px solid #ffffffa6}.service-card button svg{width:18px;height:18px}.service-card button:hover{color:var(--purple-dark)}.service-card:hover .service-symbol{transform:rotate(-5deg)}.service-symbol{transition:transform .4s}.content-note{color:#ada5b3;font-size:10px;margin-top:18px}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-art-panel{position:relative;background:#f1eef7;border-radius:38% 38% 24px 24px;overflow:hidden;min-height:490px;display:flex;align-items:center;justify-content:center}.about-image{width:100%;height:490px;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover;object-position:39% 50%;mix-blend-mode:multiply;opacity:.88}.about-stamp{position:absolute;bottom:25px;left:24px;right:24px;display:flex;align-items:center;justify-content:center;gap:13px;padding:17px;background:#ffffffba;backdrop-filter:blur(12px);border-radius:15px;font-size:12px;letter-spacing:3px;color:#a08db5}.about-stamp svg{height:22px;width:22px}.about-copy h2{font-size:35px}.about-lead{font-size:15px;margin-top:20px;color:#83748e;line-height:2}.about-copy>.about-lead+p{font-size:13px;line-height:2.1;color:#a298a7;margin-top:15px;max-width:390px}.about-principles{display:flex;flex-direction:column;gap:8px;margin:22px 0;font-size:12px;color:#9c8fa5}.about-principles span{display:flex;align-items:center;gap:9px}.about-principles svg{width:14px;height:14px;color:#b1a1c2}.profile-note{font-size:9px;color:#b7aebc;margin-top:14px}
.process-section{background:#f6f4f9;padding:56px 0}.process-inner{display:grid;grid-template-columns:.9fr 1.3fr;gap:100px;align-items:center}.process-heading h2{font-size:30px}.process-heading>p:not(.section-kicker){font-size:12px;color:#a297ab;margin-top:15px;line-height:2}.process-heading .button{margin-top:18px;font-size:12px;gap:35px}.process-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:26px;position:relative}.process-list:before{content:"";position:absolute;top:40px;bottom:40px;width:1px;left:24px;background:#dfd8e9}.process-list li{display:flex;align-items:center;gap:22px;position:relative}.process-icon{display:grid;place-items:center;flex-shrink:0;width:49px;height:49px;border-radius:17px;background:#eae4f2;color:#ac98c1}.process-icon svg{width:22px;height:22px}.process-list h3{font-size:17px;font-weight:500}.process-list p{font-size:12px;color:#a69baa;margin-top:2px}
.journal-filter{display:flex;gap:9px;padding-bottom:3px}.journal-filter button{background:transparent;border:0;color:#a79bad;padding:6px 14px;font-size:12px;border-radius:20px}.journal-filter button.selected{background:#eee8f5;color:#8d75aa}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.journal-card{border:0;background:transparent;text-align:left;padding:0;display:flex;flex-direction:column;min-width:0}.journal-art{display:block;width:100%;aspect-ratio:1.8;border-radius:20px;background-image:url('assets/journal-triptych.png');background-size:300% 100%;background-repeat:no-repeat;overflow:hidden;transition:transform .4s}.art-rest{background-position:left center;background-color:#edf0fa}.art-boundary{background-position:center center;background-color:#faefeb}.art-growth{background-position:right center;background-color:#edf2e9}.journal-meta{display:flex;justify-content:space-between;font-size:10px;color:#ab9eb4;margin-top:20px}.journal-meta>span{color:#bcb2c3}.journal-card h3{font-size:21px;line-height:1.6;font-weight:500;margin-top:10px}.journal-card p{font-size:11px;color:#ada2b3;margin-top:10px}.journal-link{font-size:11px;color:#9e8bb1;display:flex;align-items:center;gap:14px;margin-top:20px}.journal-link svg{width:17px;height:17px}.journal-card:hover .journal-art{transform:translateY(-4px)}.journal-card:hover .journal-link{color:var(--purple-dark)}
.faq-section{display:grid;grid-template-columns:.9fr 1.3fr;gap:100px}.faq-section h2{font-size:30px}.faq-section>div>p:not(.section-kicker){font-size:12px;color:#a79bad;line-height:2;margin-top:18px}.faq-list{padding-top:3px}.faq-list details{padding:20px 0;border-bottom:1px solid #eee9f1}.faq-list details:first-child{padding-top:8px}.faq-list summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;font-size:13px;color:#807386}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:21px;font-weight:300;color:#ab98bc;transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:12px;line-height:2;color:#a395ab;padding:13px 24px 0 0}
.contact-section{margin-bottom:80px}.contact-card{position:relative;overflow:hidden;border-radius:25px;background:linear-gradient(105deg,#efebf7,#e9edf7);display:flex;align-items:center;gap:30px;justify-content:space-between;padding:44px 56px}.contact-card>div:not(.contact-decoration){z-index:1}.contact-card p{font-size:11px;color:#a093b1;margin-bottom:8px}.contact-card h2{font-size:29px;color:#77628c;font-weight:500}.contact-card span{font-size:12px;color:#a69ab2;display:block;margin-top:10px}.contact-card>.button{z-index:1;flex-shrink:0;min-width:167px}.contact-decoration{position:absolute;right:225px;bottom:-50px;color:#c8beda;opacity:.35;transform:rotate(-18deg);pointer-events:none}.contact-decoration svg{width:260px;height:260px;stroke-width:.4}
.site-footer{padding-bottom:27px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:25px}.footer-top .brand{gap:10px}.footer-top .brand-symbol{width:36px;height:36px;border-radius:13px 13px 13px 4px}.footer-top .brand-symbol svg{width:23px;height:23px}.footer-top .brand strong{font-size:17px}.footer-top .brand small{font-size:9px;letter-spacing:1px}.footer-top p{font-size:11px;color:#b1a6b8}.footer-top>a:last-child{font-size:11px;color:#ad9cb9}.footer-bottom{display:flex;align-items:center;gap:25px;font-size:9px;color:#bab0c0;padding-top:15px;border-top:1px solid #f0ebf4}.footer-bottom>span:nth-child(2){margin-left:auto}.footer-bottom button{border:0;background:transparent;color:inherit;font-size:9px;padding:0}
dialog{border:0;color:var(--ink);padding:35px;width:min(530px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;border-radius:24px;background:#fefcfe;box-shadow:0 25px 100px #3d2c5035}dialog::backdrop{background:#45405565;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:19px;top:19px;border:0;background:#f1edf7;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;color:#9b88af}.dialog-close svg{width:15px;height:15px}.dialog-intro{text-align:center;padding-top:5px}.dialog-symbol{height:51px;width:51px;background:#efe9f7;color:#ac96c7;display:grid;place-items:center;border-radius:17px;margin:0 auto 15px}.dialog-intro>p{font-size:11px;color:#b19bc2;letter-spacing:1px}.dialog-intro h2{font-size:25px;margin-top:5px}.dialog-intro>span:last-child{display:block;font-size:10px;color:#b5a6c0;margin-top:11px}.booking-dialog form{margin-top:27px}.booking-dialog fieldset{margin:0;padding:0;border:0}.booking-dialog legend,.select-label{font-size:12px;color:#95849f;margin-bottom:10px}.booking-topics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:3px}.booking-topics label{position:relative;display:block}.booking-topics input{position:absolute;opacity:0;inset:0;margin:0;width:100%;cursor:pointer}.booking-topics span{display:block;text-align:center;background:#f5f1f8;border:1px solid transparent;padding:9px 8px;border-radius:10px;font-size:12px;color:#a190aa}.booking-topics input:checked+span{background:#e9e0f3;color:#80679b;border-color:#c8b5dd}.booking-topics input:focus-visible+span{outline:2px solid var(--purple);outline-offset:2px}.select-label{display:block;margin-top:20px}.select-label select{appearance:auto;display:block;width:100%;padding:10px;margin-top:8px;border:1px solid #e6dced;border-radius:10px;background:#fffdff;color:#9a87a6;min-height:44px;font-size:12px}.booking-note{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:13px;background:#f7f4fa;border-radius:12px}.booking-note svg{height:18px;width:18px;color:#b19bc4;margin-top:2px}.booking-note p{font-size:10px;color:#ac9cb5;line-height:1.9}.booking-submit{width:100%;margin-top:22px;font-size:12px}.booking-result{text-align:center;padding:30px 0 0}.result-check{display:grid;place-items:center;width:52px;height:52px;background:#edf3ea;border-radius:50%;color:#97ad8e;margin:0 auto 15px}.booking-result h3{font-size:22px}.booking-result>p{font-size:12px;margin-top:10px}.contact-placeholder{display:flex;flex-direction:column;gap:5px;background:#f3eef8;padding:20px 10px;border-radius:15px;margin-top:20px}.contact-placeholder strong{font-size:14px;font-weight:500;color:#9b81b2}.contact-placeholder span{font-size:10px;color:#b3a1bd}.booking-result .booking-result-note{font-size:10px;color:#b6a7bf;margin:13px 0 18px}.booking-result .button{font-size:12px;min-height:40px}.reading-dialog{width:min(680px,calc(100% - 32px));padding:52px 42px}.reading-label{font-size:11px;color:#ab96bd;letter-spacing:1px}.reading-dialog h2{font-size:28px;margin:13px 0 22px}.reading-dialog p{font-size:14px;line-height:2.1;margin-top:17px;color:#95859f}.reading-dialog h3{font-size:19px;margin-top:30px}.reading-dialog .sample-label{font-size:10px;color:#b4a4bf}.reading-dialog .button{margin-top:25px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:60;max-width:calc(100% - 40px);background:#6a5c7a;color:#fff;font-size:13px;padding:13px 22px;border-radius:15px;box-shadow:0 7px 30px #4d405e20}
@keyframes note-arrive{from{opacity:0;transform:translateY(10px) rotate(1deg)}to{opacity:1;transform:translateY(0) rotate(3deg)}}
@media(min-width:1500px){.hero-inner{min-height:620px}.hero-visual{height:505px}.hero-art{width:calc(100% + 150px);left:-50px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.desktop-nav{gap:22px}.header-inner{gap:20px}.brand strong{font-size:18px}.hero-inner{min-height:540px;grid-template-columns:1fr 1fr}h1{font-size:47px}.hero-copy{padding-block:40px}.hero-art{left:-35px;width:calc(100% + 100px)}.floating-note{right:-7px;top:61px}.visual-caption{right:15px;bottom:46px}.check-in-section{gap:25px;grid-template-columns:.75fr 1.4fr}.mood-options{gap:8px}.mood-option{padding-inline:12px}.about-section{gap:50px}.service-card{padding:25px 23px 20px}.process-inner,.faq-section{gap:55px}.contact-card{padding:37px 35px}}
@media(max-width:800px){.container{width:calc(100% - 44px)}.header-inner{min-height:78px;gap:12px}.brand strong{font-size:17px}.brand-symbol{width:39px;height:39px;border-radius:14px 14px 14px 4px}.brand-symbol svg{width:25px;height:25px}.brand small{font-size:8px;letter-spacing:1.5px}.desktop-nav{gap:17px}.desktop-nav a{font-size:12px}.button-header{min-height:37px;font-size:11px;padding:9px 12px;gap:6px;margin-left:0}.button-header svg{width:14px;height:14px}.hero-inner{min-height:470px}.hero-intro{font-size:9px;letter-spacing:1px}h1{font-size:39px;letter-spacing:-1.5px}.hero-description{font-size:12px;margin-top:18px}.hero-actions{gap:8px;margin-top:24px}.hero-actions .button{padding:12px 17px;font-size:11px;min-height:42px;gap:10px}.hero-actions .button-text{padding-inline:5px}.hero-values{gap:12px;font-size:9px;margin-top:20px}.hero-visual{height:400px}.hero-art{left:-25px;width:calc(100% + 80px)}.floating-note{top:48px;right:-4px;padding:11px 15px;font-size:9px;gap:8px}.floating-note strong{font-size:11px}.note-flower{font-size:28px}.visual-caption{font-size:9px;bottom:40px;right:5px}.section-space{margin-top:75px}.check-in-section{margin-top:45px;gap:25px;grid-template-columns:1fr 1.5fr}.check-in-copy{padding-left:0}.section-mark{display:none}.check-in-copy h2{font-size:22px}.check-in-copy p{font-size:10px}.mood-options{grid-template-columns:1fr 1fr;gap:8px}.mood-option{min-height:75px;padding:12px 13px}.mood-option>span{font-size:12px}.mood-option small{font-size:9px}.mood-option svg{width:18px;height:18px;bottom:15px;right:12px}.mood-response{font-size:9px;padding-top:12px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:28px}.section-kicker{font-size:10px}.section-heading>p{font-size:10px}.service-grid{gap:13px}.service-card{padding:22px 18px 16px;border-radius:20px}.service-card h3{font-size:22px}.service-card>p{font-size:11px}.service-en{font-size:6px;letter-spacing:1px}.service-topics{gap:5px;margin-block:18px}.service-topics span{font-size:8px;padding:3px 7px}.service-card button{font-size:10px}.service-symbol{width:46px;height:46px;margin-bottom:17px;border-radius:16px}.service-symbol svg{width:26px;height:26px}.about-section{gap:35px}.about-art-panel{min-height:440px}.about-image{height:440px}.about-copy h2{font-size:28px}.about-lead{font-size:13px}.about-copy>.about-lead+p{font-size:11px}.about-principles{font-size:10px;gap:5px;margin-block:17px}.about-copy .button{min-height:42px;font-size:11px;padding:10px 18px}.profile-note{font-size:8px}.about-stamp{left:14px;right:14px;font-size:9px;letter-spacing:1px;padding:12px}.process-inner,.faq-section{gap:45px}.process-heading h2,.faq-section h2{font-size:27px}.process-heading>p:not(.section-kicker),.faq-section>div>p:not(.section-kicker){font-size:11px}.process-list p{font-size:10px}.process-list h3{font-size:15px}.process-list li{gap:17px}.journal-grid{gap:20px}.journal-card h3{font-size:18px}.journal-card p{font-size:10px}.journal-meta{font-size:9px;margin-top:15px}.journal-filter{gap:2px}.journal-filter button{font-size:10px;padding:5px 11px}.faq-list summary{font-size:11px}.faq-list details p{font-size:11px}.contact-card h2{font-size:25px}.contact-card> .button{min-width:auto;font-size:12px;padding:12px 21px}.contact-decoration{right:80px}.contact-card>div>span{font-size:10px}.footer-top p{font-size:9px}.footer-top .brand strong{font-size:15px}.footer-top{gap:15px}.footer-bottom{font-size:8px;gap:15px}.footer-bottom button{font-size:8px}}
@media(max-width:620px){html{scroll-padding-top:82px}.container{width:calc(100% - 40px)}.header-inner{min-height:75px}.brand{gap:9px}.brand strong{font-size:18px}.brand small{font-size:8px;letter-spacing:1px}.brand-symbol{width:38px;height:38px}.desktop-nav{display:none}.button-header{margin-left:auto;font-size:10px;padding:9px 14px;gap:5px}.button-header svg{display:none}.mobile-menu-button{display:grid;place-items:center;padding:5px;color:#a18eb5}.mobile-menu-button svg{width:22px;height:22px}.mobile-menu:not([hidden]){display:flex;position:absolute;top:69px;left:16px;right:16px;flex-direction:column;background:#fcfafe;padding:15px;border-radius:16px;box-shadow:0 12px 30px #74628e20}.mobile-menu a,.mobile-menu button{padding:10px 13px;font-size:13px;text-align:left;border:0;background:transparent;color:#8c78a1}.hero-inner{display:flex;flex-direction:column;gap:0;align-items:stretch;min-height:0}.hero-copy{padding:35px 0 0}.hero-intro{margin-bottom:16px;font-size:10px;letter-spacing:1px;gap:8px}.hero-intro>span{height:4px;width:4px}h1{font-size:clamp(34px,8.9vw,47px);line-height:1.5;letter-spacing:-1.3px}.hero-description{font-size:12px;line-height:2;margin-top:15px}.hero-actions{margin-top:23px;gap:17px}.hero-actions .button{font-size:12px;min-height:44px;padding:12px 19px}.hero-actions .button-text{padding-inline:0;font-size:11px}.hero-values{font-size:9px;gap:22px;margin-top:17px}.hero-visual{height:280px;margin-top:0;width:100%;overflow:visible}.hero-art{width:calc(100% + 40px);left:-20px;top:3px;mask-image:linear-gradient(90deg,transparent,black 8%,black 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 94%,transparent)}.floating-note{top:30px;right:0;padding:9px 13px;border-radius:13px;gap:8px;font-size:9px;transform:rotate(3deg)}.floating-note strong{font-size:10px}.note-flower{font-size:28px}.visual-caption{bottom:6px;right:9px;letter-spacing:1px;font-size:8px}.hero-bottom{padding-bottom:18px;font-size:8px}.preview-tag{font-size:8px}.section-space{margin-top:61px}.check-in-section{grid-template-columns:1fr;gap:22px;margin-top:34px}.check-in-copy{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.check-in-copy h2{font-size:20px;line-height:1.55}.check-in-copy p{font-size:9px;margin:0;line-height:1.9;justify-self:end}.mood-options{grid-template-columns:repeat(2,1fr);gap:10px}.mood-option{min-height:86px;padding:15px 16px}.mood-option>span{font-size:13px}.mood-option small{font-size:9px}.mood-option svg{width:22px;height:22px;bottom:17px;right:16px}.mood-response{font-size:9px;line-height:1.7;align-items:flex-start}.mood-response .response-dot{margin-top:6px}.section-heading{gap:17px;margin-bottom:24px;align-items:flex-start;flex-direction:column}.section-heading h2{font-size:26px;line-height:1.5}.section-kicker{font-size:9px;margin-bottom:8px}.section-heading>p{font-size:11px;text-align:left}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr;gap:13px}.service-card{padding:25px 25px 18px;min-height:245px}.service-symbol{position:absolute;right:25px;top:25px;width:56px;height:56px;border-radius:19px}.service-symbol svg{height:31px;width:31px}.service-en{font-size:7px;letter-spacing:1.3px;margin:0 65px 4px 0}.service-card h3{font-size:25px;margin-bottom:12px}.service-card>p{font-size:12px;line-height:1.9;max-width:230px}.service-topics{margin:17px 0 20px}.service-topics span{font-size:9px}.service-card button{font-size:11px}.content-note{font-size:9px;line-height:1.8;margin-top:14px}.about-section{grid-template-columns:1fr;gap:30px}.about-art-panel{min-height:0;height:340px;width:100%;border-radius:40% 40% 20px 20px}.about-image{height:100%}.about-image img{object-position:center center}.about-stamp{bottom:20px;left:20px;right:20px;font-size:11px;letter-spacing:2px;padding:14px}.about-copy h2{font-size:30px}.about-lead{font-size:14px;line-height:2;margin-top:15px}.about-copy>.about-lead+p{font-size:12px;line-height:2.1;margin-top:14px}.about-principles{font-size:11px;gap:9px;margin-block:23px}.about-copy .button{font-size:12px;min-height:43px}.profile-note{font-size:9px;margin-top:12px}.process-section{padding-block:35px}.process-inner{grid-template-columns:1fr;gap:30px}.process-heading h2{font-size:26px}.process-heading>p:not(.section-kicker){font-size:11px}.process-heading .button{font-size:11px;margin-top:12px;gap:23px}.process-list{gap:25px}.process-list p{font-size:11px;line-height:1.9}.process-list h3{font-size:16px}.process-icon{width:44px;height:44px;border-radius:15px}.process-list:before{left:21px}.journal-section>.section-heading{gap:20px}.journal-filter{gap:8px}.journal-filter button{font-size:11px;padding:5px 14px}.journal-grid{grid-template-columns:1fr;gap:30px}.journal-card{display:grid;grid-template-columns:120px 1fr;column-gap:17px;position:relative;align-items:start}.journal-art{grid-row:1/6;width:120px;aspect-ratio:1;border-radius:17px}.journal-meta{font-size:9px;margin-top:1px;gap:10px}.journal-meta>span{font-size:8px}.journal-card h3{font-size:18px;margin-top:4px;line-height:1.5}.journal-card p{font-size:10px;margin-top:7px;line-height:1.8}.journal-link{font-size:10px;margin-top:9px;gap:9px}.journal-link svg{height:13px;width:13px}.faq-section{grid-template-columns:1fr;gap:25px}.faq-section h2{font-size:27px}.faq-section>div>p:not(.section-kicker){font-size:11px;margin-top:13px}.faq-section>div>p:not(.section-kicker) br{display:none}.faq-list details{padding-block:17px}.faq-list summary{font-size:12px}.faq-list details p{font-size:11px}.contact-card{padding:31px 26px;display:block;border-radius:23px}.contact-card p{font-size:9px}.contact-card h2{font-size:23px;line-height:1.6;letter-spacing:-.8px}.contact-card>div>span{font-size:10px;margin-top:9px}.contact-card>.button{margin-top:24px;font-size:12px;min-width:145px;min-height:43px}.contact-decoration{right:-35px;bottom:-39px}.contact-decoration svg{height:220px;width:220px}.contact-section{margin-bottom:45px}.site-footer{padding-bottom:95px}.footer-top{align-items:flex-start;gap:20px;flex-wrap:wrap;padding-bottom:21px}.footer-top .brand strong{font-size:17px}.footer-top p{order:3;flex-basis:100%;font-size:10px}.footer-top>a:last-child{margin-left:auto;font-size:10px;padding-top:7px}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:8px 17px;line-height:1.8;padding-top:17px}.footer-bottom>span:nth-child(2){order:3;margin-left:0;flex-basis:100%}.footer-bottom button{margin-left:auto}.bottom-nav{position:fixed;z-index:25;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);min-height:64px;padding-bottom:env(safe-area-inset-bottom,5px);background:#fdfbffed;backdrop-filter:blur(15px);border-top:1px solid #eee8f4}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;gap:3px;border:0;background:transparent;color:#b5a9be;min-height:61px;padding:6px}.bottom-nav svg{width:20px;height:20px;stroke-width:1.4}.bottom-nav .active{color:#8d75ae}.booking-dialog{padding:32px 24px 25px}.dialog-intro h2{font-size:23px}.dialog-intro>span:last-child{font-size:9px}.dialog-intro>p{font-size:10px}.reading-dialog{padding:45px 26px 30px}.reading-dialog h2{font-size:24px}.reading-dialog p{font-size:13px}.toast{bottom:80px;font-size:11px}.desktop-only{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep the quiet palette while making supporting copy comfortable to read. */
.hero-description{color:#756a83}
.hero-intro,.hero-values,.hero-bottom,.visual-caption{color:#82738f}
.check-in-copy p,.section-heading>p,.service-card>p,
.about-copy>.about-lead+p,.process-heading>p:not(.section-kicker),
.process-list p,.journal-card p,.faq-section>div>p:not(.section-kicker),
.faq-list details p,.contact-card>div>span{font-size:14px;color:#7c7086}
.section-kicker,.mood-response,.service-card button,.journal-link{font-size:13px;color:#847096}
.mood-option small,.service-topics span,.journal-meta{font-size:12px;color:#84738e}
.service-topics span{padding-inline:9px}
.service-card button{padding-top:14px}
.about-principles{font-size:14px;color:#84738d}
.content-note,.profile-note{font-size:11px;color:#8c7d96}
.journal-meta>span{color:#8c7e96}
.faq-list summary{font-size:15px;color:#6c5c78}
.footer-top p,.footer-top>a:last-child{font-size:12px;color:#87778f}
.footer-bottom,.footer-bottom button{font-size:11px;color:#8a7a93}
.dialog-intro>span:last-child,.booking-note p,.booking-result .booking-result-note,
.contact-placeholder span{font-size:12px;color:#8a7696}
.booking-dialog legend,.select-label,.booking-topics span,.select-label select,
.booking-submit,.booking-result>p{font-size:14px}
.booking-topics span,.select-label select{color:#7c668d}
.reading-dialog p{font-size:15px;color:#7d6d88}
@media(max-width:800px){
  .check-in-copy p,.section-heading>p,.service-card>p,.about-copy>.about-lead+p,
  .process-heading>p:not(.section-kicker),.process-list p,.journal-card p,
  .faq-section>div>p:not(.section-kicker),.faq-list details p{font-size:13px}
  .service-topics{flex-wrap:wrap}
  .service-topics span{font-size:11px}
}
@media(max-width:620px){
  .button-header{font-size:12px}
  .hero-description{font-size:14px}
  .hero-actions .button,.about-copy .button{font-size:14px}
  .hero-actions .button-text{font-size:13px}
  .hero-intro{font-size:11px}
  .hero-values{font-size:11px;gap:18px}
  .check-in-copy{grid-template-columns:1fr;gap:10px}
  .check-in-copy p{justify-self:start;font-size:13px}
  .check-in-copy p br{display:none}
  .mood-option{min-height:96px}
  .mood-option>span{font-size:15px}
  .mood-option small{font-size:12px}
  .mood-response{font-size:12px}
  .section-kicker{font-size:12px}
  .service-card>p,.about-copy>.about-lead+p,.process-list p,
  .faq-list details p,.faq-section>div>p:not(.section-kicker){font-size:14px}
  .service-card>p{max-width:245px}
  .service-card button,.service-topics span,.about-principles{font-size:13px}
  .journal-card{grid-template-columns:105px 1fr;column-gap:15px}
  .journal-art{width:105px;aspect-ratio:.8}
  .journal-card p{font-size:12px}
  .journal-meta,.journal-meta>span{font-size:10px}
  .journal-link,.journal-filter button{font-size:12px}
  .faq-list summary{font-size:14px}
  .contact-card>div>span{font-size:13px}
  .bottom-nav a,.bottom-nav button{font-size:11px;color:#8d7b9b}
  .footer-bottom,.footer-bottom button{font-size:10px}
}
