:root{--background: #f6f1e7;--surface: #ffffff;--surface-warm: #e8ddc8;--surface-soft: #fbf5ec;--text: #3b2e26;--text-muted: #75695f;--accent: #8a6f55;--accent-soft: #c8b7a2;--sage: #8b9b87;--sage-dark: #667760;--border: #e4d6c5;--button: #3b2e26;--button-text: #ffffff;--shadow-soft: 0 18px 60px rgba(47, 36, 29, .09);--shadow-card: 0 12px 36px rgba(47, 36, 29, .07);--radius-lg: 28px;--radius-md: 20px;--radius-sm: 16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(216,199,181,.42),transparent 34rem),var(--background);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-stretch:normal;font-variation-settings:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.62}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img,iframe{max-width:100%}p,h1,h2,h3{margin-top:0}h1,h2{font-family:Palatino Linotype,Palatino,Georgia,Songti SC,STSong,serif;font-stretch:normal;font-weight:500;letter-spacing:0;line-height:1.08}h1{max-width:680px;margin-bottom:1.35rem;font-size:clamp(3rem,6.4vw,5.65rem)}h2{margin-bottom:1rem;font-size:clamp(2rem,4vw,3.85rem)}h3{margin-bottom:.75rem;font-size:1.15rem;line-height:1.3}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;transform:translateY(-150%);border-radius:999px;background:var(--button);color:var(--button-text);padding:.75rem 1rem;font-weight:800}.skip-link:focus-visible{transform:translateY(0)}:focus-visible{outline:3px solid rgba(142,155,132,.9);outline-offset:4px}.section-shell{width:min(1160px,calc(100% - 2rem));margin-right:auto;margin-left:auto}.content-section{padding:5rem 0}.site-header{position:sticky;top:0;z-index:40;padding:.65rem 0 0}.header-inner{display:grid;grid-template-columns:auto auto 1fr auto;gap:.9rem;align-items:center;width:min(1160px,calc(100% - 2rem));margin:0 auto;border:1px solid rgba(228,216,202,.9);border-radius:999px;background:#ffffffdb;padding:.65rem .75rem;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:inline-flex;min-width:0;align-items:center;gap:.58rem;max-width:364px}.brand-mark,.hero-brand-mark,.footer-brand-mark{display:block;flex:0 0 auto;object-fit:contain;object-position:center;height:auto}.brand-mark{width:5rem}.hero-brand-mark{width:clamp(6.6rem,15vw,7.75rem)}.footer-brand-mark{width:5.2rem}.brand-text strong,.brand-text small{display:block}.brand-text strong{color:var(--text);font-family:Palatino Linotype,Palatino,Georgia,Songti SC,STSong,serif;font-size:.98rem;font-weight:600;line-height:1.16}.brand-text small{color:var(--text-muted);font-size:.76rem}.site-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .8rem;color:var(--text-muted);font-size:.9rem;font-weight:750}.site-nav a{border-radius:999px;padding:.4rem .25rem}.site-nav a:hover,.site-footer a:hover,.info-list a:hover{color:var(--sage-dark)}.menu-toggle{display:none;width:3rem;height:3rem;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text)}.language-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);padding:.2rem}.language-toggle button{min-height:2.2rem;border:0;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;padding:.42rem .7rem;font:inherit;font-size:.82rem;font-weight:850}.language-toggle button.is-active{background:var(--button);color:var(--button-text)}.menu-toggle span{display:block;width:1.1rem;height:2px;margin:3px auto;border-radius:999px;background:currentColor}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;padding:.82rem 1.25rem;font-weight:760;line-height:1;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.button:hover{transform:translateY(-1px)}.button-primary,.button-card{background:var(--button);color:var(--button-text);box-shadow:0 12px 24px #2f241d2e}.button-primary:hover,.button-card:hover{background:var(--accent)}.button-secondary{border-color:var(--border);background:#ffffffa3;color:var(--text)}.button-secondary:hover{border-color:var(--accent-soft);background:var(--surface)}.button-light{background:var(--surface);color:var(--text)}.button-card{width:100%;margin-top:1.5rem}.hero{display:grid;min-height:auto;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:2.75rem;align-items:center;padding:2.6rem 0 3.5rem}.hero-copy{max-width:720px}.eyebrow{margin-bottom:.75rem;color:var(--accent);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero-subtitle,.section-heading p,.service-card p,.enhancement-card p,.about-card p,.supporting-text,.booking-highlight p,.final-cta p,.service-notice p,details p{color:var(--text-muted)}.hero-subtitle{max-width:560px;font-size:clamp(1.1rem,2vw,1.35rem)}.hero-actions,.visit-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem}.supporting-text{margin-top:1rem;font-size:.95rem}.hero-visual{position:relative;min-height:500px;overflow:hidden;border:1px solid var(--border);border-radius:36px;background:radial-gradient(circle at 68% 22%,rgba(255,255,255,.82) 0 5.5rem,transparent 5.7rem),radial-gradient(circle at 18% 82%,rgba(255,255,255,.32),transparent 13rem),linear-gradient(145deg,#f7eadb,#d8c9b8 52%,#b2bea8);box-shadow:var(--shadow-soft)}.hero-visual:before{position:absolute;right:-2rem;bottom:-3rem;width:21rem;height:21rem;border-radius:50%;background:#ffffff38;content:""}.hero-visual:after{position:absolute;top:3.2rem;right:2rem;width:10rem;height:10rem;border-radius:50%;background:#ffffff9e;box-shadow:0 22px 70px #ffffff57;content:""}.hero-logo-lockup{position:absolute;top:1.25rem;right:1.2rem;left:1.2rem;z-index:4;display:flex;align-items:center;justify-content:flex-start;gap:.64rem;border:1px solid rgba(255,255,255,.62);border-radius:28px;background:#fffcf7c2;box-shadow:0 20px 58px #2f241d1f;padding:.74rem .9rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-logo-text{display:grid;flex:1 1 auto;gap:.3rem;min-width:0}.hero-logo-text strong{color:var(--text);font-family:Palatino Linotype,Palatino,Georgia,Songti SC,STSong,serif;font-size:clamp(1.2rem,2.9vw,2.15rem);font-weight:600;line-height:1.04}.hero-logo-text small{color:var(--sage-dark);font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hero-logo-lockup:after{display:none}.visual-card{position:absolute;border:1px solid rgba(255,255,255,.55);border-radius:28px;background:#ffffff85;box-shadow:0 18px 50px #2f241d1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.visual-card-main{right:2rem;bottom:1.8rem;left:2rem;min-height:220px;padding:1.4rem}.hero-info-card{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.64);border-radius:999px;background:#ffffffad;color:var(--text);box-shadow:0 16px 42px #2f241d1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-weight:760}.hero-info-primary{top:8.3rem;left:2rem;padding:.9rem 1.1rem}.hero-info-secondary{right:2rem;bottom:15.2rem;display:flex;gap:.65rem;align-items:center;padding:.75rem 1rem}.hero-info-secondary strong{color:var(--sage-dark)}.visual-label{position:relative;z-index:2;display:inline-flex;border-radius:999px;background:var(--button);color:var(--button-text);padding:.45rem .75rem;font-size:.76rem;font-weight:760}.treatment-bed{position:absolute;right:3.5rem;bottom:12rem;left:4.5rem;z-index:1;height:8.5rem;border-radius:999px 999px 44px 44px;background:#fffaf2c7;box-shadow:0 24px 70px #2f241d24}.bed-pillow,.bed-sheet,.bed-shadow{position:absolute;display:block}.bed-pillow{top:1.2rem;left:1.4rem;width:7rem;height:3.1rem;border-radius:999px;background:#ffffffdb}.bed-sheet{right:2rem;bottom:1.7rem;left:9rem;height:3.2rem;border-radius:999px;background:linear-gradient(90deg,#8a6f55b8,#5d6f56c7)}.bed-shadow{right:3rem;bottom:-1.25rem;left:3rem;height:2.4rem;border-radius:50%;background:#2f241d29;filter:blur(14px)}.towel-stack{position:absolute;right:1.6rem;bottom:1.45rem;left:1.6rem;display:grid;gap:.85rem}.towel-stack span{display:block;height:2.8rem;border-radius:999px;background:linear-gradient(90deg,#2f241dd6,#5d6f56d1)}.stone-pair{position:absolute;right:2.6rem;top:14rem;z-index:2;display:flex;gap:.5rem}.stone-pair span{display:block;width:3.1rem;height:2.2rem;border-radius:50%;background:#2f241db3;box-shadow:inset 0 8px 16px #ffffff1f}.stone-pair span:nth-child(2){width:2.7rem;background:#5d6f56bd}.towel-stack span:nth-child(2){margin-left:12%;background:#ffffffb8}.towel-stack span:nth-child(3){margin-left:24%;background:#8a6f55b3}.trust-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border);box-shadow:var(--shadow-card)}.trust-item{display:flex;min-height:88px;align-items:center;gap:.7rem;background:#ffffffc7;padding:1rem}.trust-item span{width:.72rem;height:.72rem;flex:0 0 auto;border-radius:50%;background:var(--sage)}.trust-item strong{font-size:.92rem;line-height:1.25}.booking-highlight{display:flex;gap:2rem;align-items:center;justify-content:space-between;margin-top:1.25rem;border:1px solid rgba(216,199,181,.7);border-radius:var(--radius-lg);background:linear-gradient(135deg,#f1e7daf2,#ffffffc2),var(--surface-warm);padding:clamp(1.5rem,4vw,2.5rem);box-shadow:var(--shadow-card)}.booking-highlight-copy{max-width:700px}.booking-highlight h2{font-size:clamp(2rem,4vw,3.4rem)}.section-heading{max-width:760px;margin-bottom:2.4rem}.section-heading.narrow{max-width:680px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.service-card,.enhancement-card,.step-card,.about-card,.visit-copy,.map-card,details{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffffd1;box-shadow:var(--shadow-card)}.service-card{display:flex;min-height:520px;flex-direction:column;justify-content:space-between;padding:1.35rem}.service-card:hover,.enhancement-card:hover{transform:translateY(-2px)}.service-card,.enhancement-card{transition:transform .18s ease,border-color .18s ease}.service-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem}.service-meta span{border-radius:999px;background:var(--surface-warm);color:var(--text);padding:.4rem .68rem;font-size:.8rem;font-weight:850}.service-english-name{margin-top:-.45rem;margin-bottom:.85rem;color:var(--sage-dark);font-size:.86rem;font-weight:850;letter-spacing:.02em}.service-price-table{display:grid;gap:.5rem;margin:1.1rem 0}.service-price-row{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(228,214,197,.78);border-radius:14px;background:#fbf5ecd6;padding:.58rem .72rem}.service-price-row span{color:var(--text-muted);font-size:.9rem;font-weight:800}.service-price-row strong{color:var(--text);font-size:1.05rem}.service-detail-list{margin-top:1rem}.service-detail-list h4{margin:0 0 .45rem;color:var(--accent);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.service-detail-list ul{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.service-detail-list li{border-radius:999px;background:#8e9b8424;color:var(--text);padding:.36rem .62rem;font-size:.82rem;font-weight:750;line-height:1.2}.service-notice{margin-top:1.2rem;border:1px solid rgba(216,199,181,.76);border-radius:var(--radius-md);background:#ffffffb8;padding:clamp(1.1rem,3vw,1.5rem);box-shadow:var(--shadow-card)}.service-notice h3{margin-bottom:.5rem}.service-notice p{margin-bottom:0}.warm-band{background:linear-gradient(180deg,#fff0,#f1e7dab8,#fff0)}.enhancement-grid,.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.enhancement-card,.step-card{padding:1.35rem}.pill{display:inline-flex;margin-bottom:1rem;border-radius:999px;background:#8e9b8429;color:var(--sage-dark);padding:.35rem .75rem;font-size:.76rem;font-weight:850}.about-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:start;padding:5rem 0}.about-card{padding:clamp(1.4rem,3vw,2rem)}.about-card p{margin-bottom:0;font-size:1.08rem}.step-card span{display:inline-grid;width:3rem;height:3rem;place-items:center;margin-bottom:1rem;border-radius:50%;background:var(--surface-warm);color:var(--text);font-weight:900}.visit-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:1rem;align-items:stretch;padding:5rem 0}.visit-copy{padding:clamp(1.35rem,3vw,2rem)}.info-list{display:grid;gap:1rem;margin:1.4rem 0 0}.info-list div{display:grid;gap:.2rem}.info-list dt{color:var(--accent);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.info-list dd{margin:0;color:var(--text-muted)}.info-list ul{margin:0;padding:0;list-style:none}.hours-row{display:grid;grid-template-columns:minmax(5.5rem,auto) 1fr;gap:.75rem;align-items:baseline}.hours-row strong{color:var(--text)}.hours-row span{color:var(--text-muted)}.map-card{position:relative;min-height:450px;overflow:hidden}.map-label{position:absolute;top:1rem;left:1rem;z-index:2;max-width:min(320px,calc(100% - 2rem));border:1px solid rgba(228,216,202,.95);border-radius:18px;background:#ffffffeb;box-shadow:var(--shadow-card);padding:.85rem 1rem}.map-label strong,.map-label span{display:block}.map-label strong{line-height:1.2}.map-label span{margin-top:.2rem;color:var(--text-muted);font-size:.86rem;line-height:1.35}.map-card iframe{display:block;width:100%;height:100%;min-height:450px;border:0}.faq-section{padding-top:2rem}.faq-list{display:grid;gap:.8rem}details{padding:1rem 1.15rem}summary{min-height:44px;cursor:pointer;font-weight:850}details p{margin:.6rem 0 0}.final-cta{display:grid;place-items:center;margin-top:2rem;border-radius:36px;background:linear-gradient(135deg,#2f241df0,#5d6f56e6),var(--button);color:var(--button-text);padding:clamp(3rem,7vw,5rem) 1rem;text-align:center}.final-cta .eyebrow,.final-cta p{color:#ffffffc7}.site-footer{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:2rem;width:min(1160px,calc(100% - 2rem));margin:5rem auto 0;border-top:1px solid var(--border);padding:3rem 0 2rem;color:var(--text-muted)}.site-footer h2,.site-footer h3{color:var(--text)}.footer-brand{display:flex;gap:.68rem;align-items:flex-start}.site-footer h2{font-size:1.5rem;line-height:1.1}.site-footer h3{font-size:.95rem}.site-footer a{display:block;margin-bottom:.45rem}.site-footer address{font-style:normal}.footer-booking{display:inline-flex;margin-top:.4rem;color:var(--sage-dark);font-weight:900}.site-footer small{grid-column:1 / -1;border-top:1px solid var(--border);padding-top:1.25rem}@media(max-width:980px){.header-inner{grid-template-columns:1fr auto auto;border-radius:24px}.menu-toggle{display:inline-grid}.site-nav{display:none;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;width:100%;gap:.35rem;padding-top:.35rem}.site-nav.is-open{display:grid}.site-nav a{border-radius:14px;background:var(--surface-soft);padding:.85rem}.header-booking{grid-column:1 / -1;width:100%}.language-toggle{justify-self:end}.hero,.about-section,.visit-section,.site-footer{grid-template-columns:1fr}.trust-bar,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){body{background:var(--background)}h1{font-size:2.7rem}.site-header{position:static}.brand{min-width:0}.brand-mark{width:4.2rem}.brand-text small{display:none}.hero{min-height:auto;padding:2rem 0 3rem}.hero-visual{min-height:380px;border-radius:26px}.hero-logo-lockup{right:.85rem;left:.85rem;gap:.45rem;padding:.64rem .74rem}.hero-brand-mark{width:5.45rem}.hero-logo-text strong{font-size:1.08rem}.hero-logo-text small{font-size:.54rem;letter-spacing:.08em}.treatment-bed{right:1.5rem;bottom:9.7rem;left:1.5rem}.bed-sheet{left:6.5rem}.hero-info-secondary{top:11rem;right:1rem;bottom:auto}.hero-info-primary{top:7.35rem;left:1rem;max-width:calc(100% - 2rem)}.hero-actions,.visit-actions,.booking-highlight{align-items:stretch;flex-direction:column}.button{width:100%}.content-section,.about-section,.visit-section{padding:4.5rem 0}.trust-bar,.service-grid,.enhancement-grid,.steps-grid{grid-template-columns:1fr}.trust-item{min-height:64px}.service-card{min-height:auto}.map-card,.map-card iframe{min-height:340px}.site-footer{margin-top:3.5rem}}
