:root{--rose:#ad697c;--rose-dark:#87465d;--rose-strong:#965268;--pink:#f8dfe4;--pink-pale:#fff2f2;--cream:#fffaf7;--white:#fff;--ink:#593a44;--muted:#866d73;--muted-light:#a68d93;--gold:#bf9a7a;--line:#ecd8da;--shadow:0 20px 70px rgba(106,51,68,.12);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;--container:1180px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;min-width:320px;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.9;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}img,svg{display:block;max-width:100%}::selection{background:#dfb0bd;color:#45262e}:focus-visible{outline:3px solid #a54f73;outline-offset:4px}.container{width:min(calc(100% - 80px),var(--container));margin-inline:auto}.skip-link{position:fixed;z-index:2000;top:-100px;left:16px;padding:12px 20px;background:var(--rose-dark);color:white}.skip-link:focus{top:12px}.section{padding:112px 0}.section-label{display:flex;align-items:center;gap:12px;white-space:nowrap;color:var(--rose);font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:2.3px;line-height:1.3}.label-line,.eyebrow-line{display:inline-block;width:32px;height:1px;background:var(--rose);opacity:.7}.section-heading{margin:22px 0 0;font-size:clamp(30px,3vw,45px);line-height:1.53;font-weight:500;letter-spacing:1.7px}.section-heading em,.hero h1 em,.end-cta h2 em{font-style:normal;color:var(--rose);font-weight:400}.serif-highlight{color:var(--rose)}.section-head{margin-bottom:52px}.section-head.centered{text-align:center}.section-head.centered .section-label{justify-content:center}.section-head p{margin:13px 0 0;color:var(--muted);letter-spacing:.7px}.mini-label{display:block;color:var(--rose);font:600 13px var(--serif);letter-spacing:2.3px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:14px 25px;border:1px solid transparent;border-radius:100px;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:1.1px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;white-space:nowrap}.button:hover{transform:translateY(-3px)}.button span:last-child{font-size:18px;line-height:1}.button-sm{padding:12px 22px;font-size:12px;gap:12px}.button-lg{padding:18px 29px}.button-rose{background:var(--rose);border-color:var(--rose);color:#fff;box-shadow:0 13px 28px rgba(155,79,106,.17)}.button-rose:hover{background:var(--rose-dark);box-shadow:0 16px 34px rgba(155,79,106,.24)}.button-outline{background:transparent;border-color:#cc9fac;color:var(--rose-dark)}.button-outline:hover{background:#fff5f6}.button-white{background:#fffafc;border-color:#fffafc;color:var(--rose-dark);box-shadow:0 12px 40px rgba(100,38,62,.15)}.button-white:hover{background:#fff}.button-full{width:100%}.text-link{display:inline-flex;align-items:center;gap:15px;font-size:13px;font-weight:600;letter-spacing:1px;color:var(--rose-dark);border-bottom:1px solid #cda3af;padding:8px 1px;transition:gap .25s,color .25s}.text-link:hover{gap:22px;color:#602a3d}.text-link span{font-size:18px}.line-glyph{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font:800 12px Arial,sans-serif;background:white;color:#39b956;letter-spacing:-1px}.notice-bar{height:35px;display:flex;align-items:center;justify-content:center;gap:12px;background:#aa7180;color:#fffaf9;font-size:10px;letter-spacing:1.8px}.notice-deco{font-size:12px;color:#ffe7dc}.notice-divider{opacity:.6}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,250,248,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(222,183,191,.4);box-shadow:0 3px 20px rgba(99,59,72,.04)}.header-inner{height:81px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:45px;height:45px;color:var(--rose);font-size:35px}.brand-mark svg{width:43px;height:43px;stroke:var(--rose);stroke-width:1.8;stroke-linecap:round}.brand-wordmark{display:flex;flex-direction:column;gap:0;line-height:1}.brand-wordmark strong{font:600 30px var(--serif);letter-spacing:.3px;color:var(--ink)}.brand-wordmark strong span{font-weight:500}.brand-wordmark small{font:600 8px var(--sans);letter-spacing:2px;text-align:center;margin-top:4px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:26px;margin-left:auto}.main-nav>a{font-size:12px;font-weight:500;color:#664d56;white-space:nowrap;letter-spacing:.4px;transition:color .2s}.main-nav>a:hover{color:var(--rose-strong)}.main-nav .nav-mobile-booking{display:none}.header-cta{margin-left:2px}.header-cta .line-glyph{width:17px;height:17px;font-size:10px}.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:0;background:none;width:44px;height:44px;padding:8px}.menu-toggle span{width:21px;height:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 16% 12%,#fff 0,transparent 42%),linear-gradient(125deg,#fffaf8 12%,#fdf0ef 62%,#f6dbdf 100%)}.hero::before{content:'✿';position:absolute;top:70px;left:-62px;color:#edd0d3;opacity:.45;font:240px Georgia;line-height:1;transform:rotate(-26deg)}.hero-orbit{position:absolute;pointer-events:none;border:1px solid rgba(206,157,168,.23);border-radius:50%}.hero-orbit-1{width:560px;height:560px;top:-410px;left:29%}.hero-orbit-2{width:800px;height:800px;right:-500px;bottom:-450px}.hero-layout{position:relative;display:grid;grid-template-columns:1.05fr .95fr;min-height:710px;align-items:center;gap:54px;padding-block:57px 72px}.hero-copy{position:relative;z-index:2;padding-left:30px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--rose);letter-spacing:3px;font:600 13px var(--serif)}.hero-flower{position:absolute;left:20px;top:50px;color:#d8a2b1;opacity:.6;font-size:25px}.hero h1{margin:32px 0 0;font-size:clamp(38px,4.45vw,62px);line-height:1.43;letter-spacing:2px;font-weight:500;white-space:nowrap}.hero h1 em{letter-spacing:2.2px}.hero-en{font:italic 25px var(--serif);color:#b28a92;letter-spacing:.5px;margin:8px 0 24px}.hero-description{font-size:15px;color:var(--muted);line-height:2.45;letter-spacing:1px;margin:0 0 31px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}.hero-assurances{display:flex;gap:23px;margin-top:53px;color:#91717b;font-size:11px;letter-spacing:.6px}.hero-assurances span{display:flex;align-items:center;gap:5px}.hero-assurances i{font:17px var(--serif);color:var(--rose)}.hero-visual{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:15px 30px 0 5px;min-width:0}.hero-image-frame{position:relative;width:min(100%,465px);height:570px;border-radius:245px 245px 8px 8px;overflow:hidden;background:#dbaab5;border:9px solid rgba(255,255,255,.6);box-shadow:0 20px 65px rgba(122,60,79,.16)}.hero-image-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(89,36,51,.12),transparent 44%)}.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:67% center;transition:transform 1s ease}.hero-image-frame:hover img{transform:scale(1.05)}.hero-stamp{position:absolute;top:38px;right:-5px;display:grid;place-items:center;width:129px;height:129px;background:#fffaf9;border-radius:50%;box-shadow:0 12px 40px rgba(109,63,74,.12);transform:rotate(12deg);animation:stampFloat 5s ease-in-out infinite}.hero-stamp svg{width:119px;height:119px;fill:var(--rose);font:700 11.2px var(--serif);letter-spacing:3px;animation:stampSpin 20s linear infinite}.hero-stamp span{position:absolute;font-size:39px;color:var(--rose)}.floating-quote{position:absolute;left:-39px;bottom:94px;padding:20px 32px 22px 25px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);box-shadow:0 15px 50px rgba(123,70,83,.1);border:1px solid rgba(227,188,197,.4)}.quote-icon{font:54px Georgia;line-height:.6;color:#c995a5}.floating-quote p{margin:7px 0 12px;color:#7a5260;font:21px/1.15 var(--serif);letter-spacing:.2px}.floating-quote p em{font-style:italic}.small-rule{display:block;width:28px;height:1px;background:#ca99a9}.vertical-caption{position:absolute;right:-15px;top:46%;writing-mode:vertical-rl;font:600 10px var(--serif);letter-spacing:3px;color:#bd8997}.hero-scroll{position:absolute;left:50%;bottom:28px;display:flex;align-items:center;flex-direction:column;gap:9px;transform:translateX(-50%);color:#ae8790;font:700 10px var(--serif);letter-spacing:2px}.scroll-line{height:34px;width:1px;background:linear-gradient(#b67c8f,transparent)}@keyframes stampFloat{0%,100%{transform:translateY(0) rotate(12deg)}50%{transform:translateY(-9px) rotate(12deg)}}@keyframes stampSpin{to{transform:rotate(360deg)}}
/* Benefit strip */
.benefit-band{background:var(--rose-dark);color:#fff}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0}.benefit-item{display:flex;justify-content:center;align-items:center;gap:24px;min-width:0;padding:0 15px;border-right:1px solid #bc8497}.benefit-item:last-child{border:0}.benefit-symbol{font:italic 33px var(--serif);color:#eac9cd}.benefit-item div{display:flex;flex-direction:column;gap:2px}.benefit-item strong{font:600 17px var(--serif);letter-spacing:1px}.benefit-item div span{font-size:11px;letter-spacing:1.3px;color:#f4dfe4}
/* About */
.about-section{background:#fffdfb}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.about-visual{position:relative;padding:6px 35px 34px 5px}.about-card-art{position:relative;aspect-ratio:.95;overflow:hidden;background:radial-gradient(ellipse at 52% 40%,#ffeef1 0%,#f5cfda 40%,#da9cae 100%);border-radius:48% 48% 2px 2px;box-shadow:var(--shadow)}.about-card-art:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0px,transparent 33px,rgba(255,255,255,.05) 34px,rgba(255,255,255,.05) 35px)}.flower-art{position:absolute;aspect-ratio:1;border-radius:50%;filter:drop-shadow(14px 18px 15px rgba(124,50,80,.13));background:radial-gradient(circle at 55% 48%,#ffe1e7 0 12%,#e9a8ba 13% 24%,#f5c3ce 26% 38%,#bc7a92 39% 43%,#eaa8b8 44% 58%,#f9d8e0 60% 66%,transparent 67%);transform:rotate(-25deg)}.flower-art-one{width:360px;top:10%;left:7%}.flower-art-two{width:270px;bottom:-80px;right:-45px;opacity:.7}.about-art-script{position:absolute;z-index:1;top:41%;left:20%;font:italic clamp(43px,5vw,75px)/.82 var(--serif);color:rgba(120,54,75,.75);text-shadow:0 2px 12px rgba(255,255,255,.8);transform:rotate(-12deg)}.about-note{position:absolute;right:-18px;bottom:0;padding:18px 24px;background:white;color:var(--rose);font:700 12px var(--serif);letter-spacing:1.7px;box-shadow:0 11px 38px rgba(110,65,75,.08)}.about-note span{font-size:24px;vertical-align:middle;margin-right:10px}.about-text{max-width:535px}.about-text .section-heading{margin-bottom:23px}.section-lead{font-size:18px;font-weight:500;letter-spacing:1px;color:var(--rose-dark)!important}.about-text p{font-size:14px;color:var(--muted);line-height:2.4;letter-spacing:.45px;margin:0 0 17px}.signature-line{display:flex;align-items:end;gap:16px;margin-top:24px;color:var(--rose)}.signature-line span{font:italic 26px var(--serif)}.signature-line strong{font:600 25px var(--serif);letter-spacing:1px}
/* Services */
.service-section{background:linear-gradient(180deg,#fff4f3,#fff9f7);overflow:hidden}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fffdfc;border:1px solid #f0dedf;border-radius:5px 5px 36px 5px;box-shadow:0 15px 37px rgba(111,61,76,.045);transition:transform .4s ease,box-shadow .4s ease}.service-card:hover{transform:translateY(-9px);box-shadow:0 23px 57px rgba(118,60,76,.12)}.service-card.featured{border-color:#dfa8b7;transform:translateY(-12px);box-shadow:0 19px 50px rgba(111,61,76,.1)}.service-card.featured:hover{transform:translateY(-19px)}.featured-tag{position:absolute;z-index:2;right:23px;top:-15px;background:var(--rose);padding:5px 18px;color:white;font-size:11px;letter-spacing:1px;border-radius:2px}.service-top{position:relative;min-height:207px;overflow:hidden;background:#f8e9e6}.service-card.featured .service-top{background:#f4d7de}.service-card:last-child .service-top{background:#f6e5e8}.service-top:after{content:'';position:absolute;width:210px;height:210px;border:1px solid rgba(161,93,113,.18);border-radius:50%;top:26px;left:calc(50% - 105px)}.service-index{position:absolute;top:22px;left:25px;font:700 12px var(--serif);color:#b3818b;letter-spacing:1.3px}.service-art{position:absolute;left:calc(50% - 80px);top:37px;width:160px;height:160px;display:grid;place-items:center}.service-art svg{width:160px;height:160px;fill:none;stroke:#ad7284;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-art-pressure svg{transform:rotate(-12deg)}.service-art-oil svg{fill:rgba(255,255,255,.15)}.service-body{padding:32px 30px 30px;flex:1;display:flex;flex-direction:column}.service-english{font:italic 19px var(--serif);color:#b1818f}.service-body h3{margin:6px 0 13px;font-size:22px;font-weight:500;letter-spacing:1.3px}.service-body h3 span{color:#d3a1ad;font-weight:300}.service-body p{font-size:13px;line-height:2.15;color:var(--muted);margin:0 0 28px;flex:1}.card-link{align-self:start;display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #c7a2aa;padding:0 0 8px;color:var(--rose-dark);font-size:12px;font-weight:600;letter-spacing:.4px}.card-link:hover{color:#572339}.card-link span{font-size:17px}.service-disclaimer{text-align:center;font-size:12px;line-height:1.9;color:#9d7f88;margin:37px auto 0}.service-disclaimer span{color:var(--rose);margin-right:6px}
/* Team */
.team-section{background:#fffdfb;overflow:hidden}.team-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:95px;min-height:580px;padding-block:77px}.team-copy{max-width:500px}.team-copy>p{margin:24px 0 28px;color:var(--muted);font-size:14px;line-height:2.25}.team-copy small{display:block;color:#a18a90;font-size:11px;margin-top:19px;line-height:1.7}.team-illustration{position:relative;isolation:isolate;height:420px;border-radius:230px 230px 24px 24px;background:linear-gradient(140deg,#fce6eb 0%,#f2c7d1 42%,#d7a5b3 100%);overflow:hidden}.team-illustration:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.4),transparent 40%)}.team-halo{position:absolute;z-index:-1;left:8%;top:15%;width:84%;height:82%;border:1px solid rgba(255,255,255,.6);border-radius:50%}.profile{position:absolute;bottom:-47px;width:225px;height:330px;background:#a36e82;border-radius:48% 48% 7% 7%;transform:rotate(-5deg)}.profile:before{content:'';position:absolute;top:-105px;left:47px;width:136px;height:160px;border-radius:46% 49% 47% 48%;background:#b9879c}.profile:after{content:'';position:absolute;left:43px;top:-110px;width:144px;height:68px;background:#815365;border-radius:78% 70% 20% 10%;transform:rotate(-5deg)}.profile-back{left:6%;transform:scale(.8) rotate(-9deg);opacity:.48;background:#9c7083}.profile-front{right:8%;background:#86576d}.profile-front:before{background:#a77b8a}.profile-front:after{background:#5b3b4b}.team-deco{position:absolute;top:61px;left:35px;z-index:3;color:#fff;font:500 35px var(--serif);letter-spacing:1.3px}.team-deco em{font-weight:400}.team-star{position:absolute;right:27px;bottom:23px;color:#fff3ed;font-size:70px;line-height:1}
/* Process */
.process-section{background:#fff8f6}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}.process-grid:before{content:'';position:absolute;top:76px;left:13%;right:13%;height:1px;background:repeating-linear-gradient(90deg,#d5b0b9 0,#d5b0b9 6px,transparent 6px,transparent 13px)}.process-item{position:relative;text-align:center;padding:0 12px}.step-count{display:block;font:italic 23px var(--serif);color:#b57d8f;margin-bottom:16px}.step-icon{display:grid;place-items:center;margin:0 auto 18px;width:85px;height:85px;border:1px solid #e7c7cf;border-radius:50%;background:#fff9f7;color:#a26879;box-shadow:0 0 0 7px #fff8f6}.step-icon svg{width:39px;height:39px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.process-item h3{font-size:17px;font-weight:600;letter-spacing:1px;margin:15px 0 6px}.process-item p{max-width:210px;font-size:12px;color:var(--muted);line-height:2.15;margin:0 auto}
/* Poetry */
.quote-banner{position:relative;padding:78px 0;text-align:center;background:#f1d6dd;overflow:hidden}.quote-banner:before,.quote-banner:after{content:'✿';position:absolute;font:180px Georgia;color:rgba(255,255,255,.24);top:-40px;left:8%;transform:rotate(-25deg)}.quote-banner:after{left:auto;right:6%;top:50px;font-size:220px}.quote-banner>.container{position:relative;z-index:1}.quote-sparkle{color:var(--rose-dark);font-size:22px}.quote-banner p{margin:4px 0 15px;font:500 clamp(32px,4vw,54px)/1.08 var(--serif);color:#765163}.quote-banner p em{font-weight:400;color:#a86880}.quote-caption{font-size:12px;letter-spacing:3px;color:#8e6876}
/* Pricing */
.pricing-section{background:#fffdfb}.pricing-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:stretch}.price-primary{padding:43px 36px 38px;background:#f9e4e9;border:1px solid #efd2da;border-radius:6px;display:flex;flex-direction:column}.price-caption{font:700 13px var(--serif);color:#ac7888;letter-spacing:2px}.price-primary h3{font-size:20px;font-weight:500;letter-spacing:1px;margin:13px 0 22px}.price-display{display:flex;align-items:baseline;gap:4px;color:#6f3f50}.price-display small{font:500 20px var(--serif)}.price-display strong{font:600 clamp(58px,5.2vw,78px)/1 var(--serif);letter-spacing:-1px}.price-display>span{font-size:12px;color:#8e6d78;margin-left:8px;white-space:nowrap}.new-price{padding:24px 0 22px;margin:18px 0 21px;border-block:1px solid #e3bcc7}.new-price>span{font:700 13px var(--serif);color:#b07788;letter-spacing:2px}.new-price p{margin:7px 0 0;font-size:15px;color:#714a5b}.new-price strong{font-size:26px;letter-spacing:.4px;color:#934d68}.new-price small{display:inline-block;padding:3px 9px;border-radius:30px;background:#fff6f8;color:#a15d74;margin-left:6px;font-size:11px}.price-features{list-style:none;padding:0;margin:0 0 30px}.price-features li{display:flex;align-items:flex-start;gap:10px;margin:12px 0;color:#735962;font-size:13px}.price-features li span{color:var(--rose);font-weight:700}.price-primary .button{margin-top:auto}.price-footnote{text-align:center;font-size:11px;line-height:1.8;color:#94727e;margin:14px auto 0}.price-calculator{background:#fff;border:1px solid #ecdadd;border-radius:6px;padding:35px 36px;box-shadow:0 17px 50px rgba(98,49,65,.045)}.calculator-title{display:flex;align-items:center;justify-content:space-between}.calculator-title h3{font-size:21px;font-weight:600;margin:5px 0 0}.calculator-icon{font-size:42px;color:#d8adb8}.calculator-intro{color:#a08a8f;font-size:12px;margin:6px 0 24px}.calc-group{border:0;margin:0 0 21px;padding:0;min-width:0}.calc-group legend{font-size:13px;color:#74525e;font-weight:600;margin-bottom:12px}.calc-group legend>span{color:#a68992;font-size:11px;font-weight:400}.choice-grid{display:flex;flex-wrap:wrap;gap:9px}.choice-pill{position:relative;display:inline-flex;cursor:pointer}.choice-pill input{position:absolute;inset:0;opacity:0;cursor:pointer}.choice-pill span{display:inline-block;padding:9px 13px;border:1px solid #ead5da;border-radius:5px;color:#7c606a;background:#fff;font-size:11px;line-height:1.6;transition:background .2s,color .2s,border-color .2s}.choice-pill:hover span{border-color:#c394a5}.choice-pill input:checked+span{background:#a6677b;color:white;border-color:#a6677b}.choice-pill input:focus-visible+span{outline:3px solid #a54f73;outline-offset:3px}.check-list{display:flex;flex-direction:column;gap:9px}.check-list label{display:flex;align-items:center;gap:12px;color:#715c63;font-size:12px;cursor:pointer}.check-list input{width:17px;height:17px;accent-color:var(--rose)}.check-list b{font-weight:500;color:#965e72}.estimate-box{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fdf2f3;padding:21px 25px;margin-top:28px;flex-wrap:wrap}.estimate-box>span:first-child{font-size:13px;font-weight:600;color:#6f4f5b}.estimate-box p{display:flex;align-items:baseline;gap:4px;line-height:1;margin:0 0 0 auto;color:#99566e}.estimate-box p small{font:600 15px var(--serif)}.estimate-box p strong{font:600 39px var(--serif)}.estimate-saving{flex-basis:100%;text-align:right;color:#ae7e90;font-size:11px}.calculator-actions{display:flex;gap:9px;margin-top:17px;align-items:center}.calculator-actions .button:first-child{flex:1}.calculator-actions .button{font-size:11px;padding:13px 15px;gap:7px}.calc-note{margin:16px 0 0;color:#a28b92;font-size:10px;line-height:1.8}.copy-feedback{min-height:0;margin:8px 0 0;color:#8b5266;font-size:12px}.copy-feedback:empty{display:none}.price-extra-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #efdcde;margin-top:25px;background:#fffafa}.extra-box{position:relative;padding:30px 34px;border-right:1px solid #efdcde}.extra-box:last-child{border:0}.extra-num{font:italic 24px var(--serif);color:#d6acb8}.extra-box h3{font-size:17px;font-weight:500;letter-spacing:.8px;margin:3px 0 10px}.extra-box p{font-size:12px;color:var(--muted);line-height:2.15;margin:0}.extra-box strong{color:#9a566c;font-weight:600}.extra-box small{color:#a99095;font-size:11px}
/* Location */
.area-section{padding:82px 0;background:linear-gradient(110deg,#fae6e7 0%,#f9eef0 100%)}.area-inner{display:flex;gap:70px;justify-content:space-between;align-items:center}.area-inner>div:first-child{max-width:485px}.area-inner .section-heading{font-size:clamp(27px,2.5vw,38px)}.area-inner p{font-size:13px;line-height:2.1;color:var(--muted)}.area-list{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:13px;width:480px}.area-list span{display:flex;flex-direction:column;gap:4px;padding:20px 12px;align-items:center;justify-content:center;min-height:100px;border:1px solid rgba(170,99,118,.3);color:#a77786;font:700 12px var(--serif);letter-spacing:1.5px;background:rgba(255,255,255,.32);transition:transform .2s,background .2s}.area-list span:hover{background:#fff7f7;transform:translateY(-4px)}.area-list strong{color:#785366;font:500 19px var(--sans);letter-spacing:2px}
/* FAQ */
.faq-section{background:#fffdfb}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.faq-aside p{margin:20px 0;color:var(--muted);font-size:13px;line-height:2.1}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:77px;padding:19px 4px;list-style:none;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.4px;color:#654752}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{position:relative;display:block;flex:0 0 23px;width:23px;height:23px;border:1px solid #cd9cad;border-radius:50%;transition:background .2s}.faq-list summary span:before,.faq-list summary span:after{content:'';position:absolute;left:6px;right:6px;top:10px;height:1px;background:#a26077}.faq-list summary span:after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] summary span{background:#fce7ec}.faq-list details[open] summary span:after{transform:rotate(0)}.faq-answer{padding:0 40px 25px 4px;font-size:12px;line-height:2.2;color:var(--muted)}
/* Finale */
.end-cta{position:relative;overflow:hidden;text-align:center;background:linear-gradient(125deg,#b7778a,#9b5a71);color:white;padding:89px 0 96px}.end-cta:after{content:'';position:absolute;inset:10px;border:1px solid rgba(255,255,255,.24);pointer-events:none}.end-cta-content{position:relative;z-index:1}.end-cta .mini-label{color:#ffe4ea;font-size:15px}.end-cta h2{margin:20px 0 9px;font-size:clamp(38px,4.2vw,60px);line-height:1.45;font-weight:500;letter-spacing:3px}.end-cta h2 em{color:#ffe0e4}.end-cta p{font-size:13px;letter-spacing:1.6px;color:#ffedf0;margin:0 0 25px}.end-cta small{display:block;margin-top:22px;color:#f5dce3;font-size:11px;letter-spacing:1.6px}.end-cta-deco{position:absolute;color:rgba(255,255,255,.12);font:330px Georgia;top:-60px;left:-60px;transform:rotate(-26deg)}.end-cta-deco.right{left:auto;right:-60px;top:5px;transform:rotate(24deg)}
/* Footer */
.site-footer{background:#fff8f6}.footer-top{display:grid;grid-template-columns:1.7fr .75fr .85fr 1.25fr;gap:60px;padding:72px 0 61px}.footer-brand>p{font-size:12px;line-height:2.1;color:var(--muted);margin:24px 0 0}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-top h3{font-size:13px;font-weight:600;color:#744e5d;letter-spacing:1px;margin:5px 0 14px}.footer-links>a{font-size:12px;color:#977d84;transition:color .2s}.footer-links>a:hover{color:var(--rose-dark)}.footer-contact>p{font-size:12px;line-height:2.2;color:var(--muted);margin:0 0 16px}.footer-line{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--rose-dark);border-bottom:1px solid #c7a3af;padding-bottom:9px;font-size:13px;max-width:200px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 0 27px;color:#ac9199;font:12px var(--serif);letter-spacing:.6px}.footer-bottom a{font-family:var(--sans);font-size:11px}.floating-line{position:fixed;z-index:95;right:25px;bottom:25px;display:flex;align-items:center;gap:9px;background:#31be68;color:#fff;font-size:12px;font-weight:600;padding:12px 17px;border-radius:999px;box-shadow:0 8px 24px rgba(22,128,66,.18);transition:transform .2s}.floating-line:hover{transform:translateY(-5px)}.floating-line .line-glyph{color:#26b85d}.mobile-booking{display:none}
/* Legal */
.legal-page{background:#fff9f8}.legal-page .site-header{position:static}.legal-main{max-width:800px;margin:68px auto 110px}.legal-main .section-heading{margin:14px 0}.legal-updated{color:#a89095;font-size:12px}.legal-main h2{font-size:20px;font-weight:600;border-bottom:1px solid #eedee1;margin:34px 0 14px;padding-bottom:12px}.legal-main p{font-size:14px;line-height:2.2;color:#79646c}.legal-main a{color:var(--rose-dark);text-decoration:underline;text-underline-offset:4px}.legal-footer{display:flex;justify-content:space-between;padding:22px 0;border-top:1px solid #ead8dc;font-size:12px;color:#a58b94}
/* Reveal motion: content remains visible without JS */
@media(prefers-reduced-motion:no-preference){.js-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.js-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}.js-enabled .service-card.featured.reveal{transform:translateY(-12px)}.js-enabled .service-card.featured.reveal:not(.is-visible){transform:translateY(10px)}.js-enabled .service-card.featured.is-visible:hover{transform:translateY(-19px)}}
@media(max-width:1180px){.container{width:min(calc(100% - 56px),var(--container))}.main-nav{gap:16px}.header-inner{gap:13px}.header-cta{padding:11px 16px;font-size:11px}.hero-layout{gap:22px}.hero-copy{padding-left:0}.hero h1{font-size:clamp(37px,4.3vw,52px)}.hero-stamp{right:0}.about-grid{gap:70px}.team-layout{gap:50px}.footer-top{gap:35px}}
@media(max-width:980px){.main-nav{gap:13px}.main-nav>a{font-size:11px}.header-cta{display:none}.hero-layout{min-height:660px}.hero-image-frame{height:520px}.hero-stamp{width:104px;height:104px}.hero-stamp svg{width:99px;height:99px}.hero-stamp span{font-size:30px}.hero h1{font-size:clamp(34px,4.35vw,43px)}.hero-description{font-size:13px}.hero-actions{gap:16px}.hero-assurances{gap:13px}.floating-quote{left:-30px;bottom:100px}.about-grid{gap:55px}.about-card-art{min-height:395px}.flower-art-one{width:275px}.team-layout{min-height:530px}.process-grid{gap:8px}.pricing-layout{gap:18px}.price-primary{padding:33px 25px}.price-calculator{padding:32px 25px}.footer-top{grid-template-columns:1.3fr .8fr .8fr;gap:32px}.footer-contact{grid-column:1/-1;display:flex;align-items:center;gap:24px}.footer-contact h3,.footer-contact p{margin:0}.footer-line{margin-left:auto}}
@media(max-width:760px){html{scroll-padding-top:75px}.container{width:min(calc(100% - 38px),var(--container))}.notice-bar{height:30px;font-size:9px;letter-spacing:.7px;gap:6px}.notice-deco{display:none}.header-inner{height:68px}.brand-mark{width:38px;height:38px}.brand-mark svg{width:36px;height:36px}.brand-wordmark strong{font-size:26px}.brand-wordmark small{font-size:7px}.menu-toggle{display:flex;margin-left:auto}.main-nav{display:flex;position:absolute;left:0;right:0;top:100%;padding:17px 23px 27px;background:rgba(255,250,249,.99);border-top:1px solid var(--line);box-shadow:0 17px 25px rgba(74,41,50,.07);flex-direction:column;align-items:stretch;gap:0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s}.main-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.main-nav>a{font-size:14px;padding:11px 5px;border-bottom:1px solid #f3e5e6}.main-nav .nav-mobile-booking{display:flex;justify-content:space-between;padding:13px 19px;margin-top:14px;background:var(--rose);color:white;border:0;border-radius:50px}.hero-layout{grid-template-columns:1fr;gap:35px;padding-top:57px;padding-bottom:78px;min-height:0}.hero-copy{padding-left:0}.hero h1{font-size:clamp(37px,7.7vw,52px);margin-top:23px}.hero-flower{right:8%;left:auto;top:44px}.hero-en{font-size:23px}.hero-description{font-size:14px;line-height:2.15}.hero-assurances{margin-top:29px}.hero-visual{padding:0 38px 0 36px;height:460px;justify-content:center}.hero-image-frame{height:445px;max-width:540px;width:100%;border-radius:260px 260px 8px 8px}.hero-stamp{right:16px;top:0}.floating-quote{bottom:42px;left:2px}.vertical-caption{right:5px}.hero-scroll{display:none}.benefit-grid{gap:0;padding:22px 0}.benefit-item{gap:9px;padding-inline:8px}.benefit-symbol{font-size:25px}.benefit-item strong{font-size:14px}.benefit-item div span{font-size:9px;letter-spacing:0}.section{padding:75px 0}.about-grid{grid-template-columns:1fr;gap:47px}.about-visual{max-width:510px;margin-inline:auto;width:100%;padding:0 20px 18px 0}.about-card-art{min-height:0;aspect-ratio:1.15}.about-note{right:-9px}.about-text{max-width:none}.section-heading{font-size:clamp(30px,5.6vw,42px)}.service-grid{grid-template-columns:1fr;gap:21px;max-width:540px;margin-inline:auto}.service-card.featured{transform:none}.service-card.featured:hover{transform:translateY(-7px)}.js-enabled .service-card.featured.reveal{transform:translateY(0)}.js-enabled .service-card.featured.reveal:not(.is-visible){transform:translateY(20px)}.service-top{min-height:155px}.service-top:after{width:170px;height:170px;left:calc(50% - 85px);top:0}.service-art{top:0}.service-body{padding:20px 26px 24px}.service-body p{margin-bottom:15px}.service-index{top:15px}.featured-tag{right:15px}.team-layout{grid-template-columns:1fr;min-height:0;gap:35px;padding-block:70px}.team-illustration{height:370px;max-width:510px;width:100%;margin-inline:auto}.process-grid{grid-template-columns:repeat(2,1fr);row-gap:35px}.process-grid:before{display:none}.quote-banner{padding:58px 0}.quote-banner:before,.quote-banner:after{font-size:130px}.pricing-layout{grid-template-columns:1fr;gap:20px;max-width:620px;margin-inline:auto}.price-primary{padding:35px 28px}.price-primary .button{margin-top:4px}.price-extra-grid{grid-template-columns:1fr;max-width:620px;margin-inline:auto}.extra-box{border-right:0;border-bottom:1px solid #efdcde;padding:20px 27px}.extra-box:last-child{border-bottom:0}.area-inner{flex-direction:column;align-items:stretch;gap:28px}.area-list{width:100%}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-aside p{margin:14px 0 2px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 15px;padding:57px 0 40px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1;display:block}.footer-contact h3{margin-bottom:13px}.footer-contact>p{margin-bottom:13px}.footer-line{margin:0}.floating-line{display:none}.mobile-booking{display:block;position:fixed;bottom:0;left:0;right:0;z-index:90;padding:9px 17px calc(9px + env(safe-area-inset-bottom));background:rgba(255,248,249,.98);box-shadow:0 -6px 18px rgba(85,41,58,.1)}.mobile-booking a{display:flex;align-items:center;justify-content:center;gap:12px;background:#37bb65;color:white;border-radius:99px;min-height:44px;font-size:14px;font-weight:600}.mobile-booking .line-glyph{width:23px;height:23px}.site-footer{padding-bottom:76px}.legal-main{margin:45px auto 78px}.legal-page .site-header{position:static}}
@media(max-width:460px){.container{width:calc(100% - 34px)}.notice-bar{font-size:8px}.notice-divider{display:none}.hero-layout{padding-top:38px}.eyebrow{font-size:11px;letter-spacing:2px}.hero h1{font-size:clamp(32px,8.1vw,39px);letter-spacing:1px}.hero h1 em{letter-spacing:1px}.hero-en{font-size:21px;margin-bottom:16px}.hero-description{font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-assurances{gap:13px;flex-wrap:wrap;font-size:10px}.hero-visual{height:365px;padding:0 21px}.hero-image-frame{height:360px}.hero-stamp{width:94px;height:94px;right:-2px}.hero-stamp svg{width:89px;height:89px}.hero-stamp span{font-size:28px}.floating-quote{padding:11px 18px 13px;bottom:22px;left:-5px}.floating-quote p{font-size:16px;margin:6px 0}.quote-icon{font-size:35px}.vertical-caption{font-size:8px;right:1px}.benefit-grid{grid-template-columns:1fr;gap:10px;padding:19px 0}.benefit-item{justify-content:flex-start;gap:12px;border:0;padding:3px 13px}.benefit-symbol{width:30px;font-size:24px}.benefit-item strong{font-size:15px}.benefit-item div span{font-size:10px}.section{padding:63px 0}.section-label{font-size:12px;letter-spacing:1.4px}.section-heading{font-size:30px;letter-spacing:.6px}.section-head{margin-bottom:37px}.about-card-art{aspect-ratio:1}.flower-art-one{width:250px}.about-art-script{font-size:48px}.about-note{padding:12px;font-size:10px}.about-text p{font-size:13px}.service-top{min-height:145px}.service-body h3{font-size:20px}.service-body p{font-size:12px}.team-illustration{height:322px}.profile{transform:scale(.82);transform-origin:bottom right}.profile-back{transform:scale(.68) rotate(-9deg)}.team-deco{font-size:30px}.step-icon{width:70px;height:70px}.step-icon svg{width:31px;height:31px}.process-item{padding:0 4px}.process-item h3{font-size:14px}.process-item p{font-size:11px}.quote-banner p{font-size:31px}.quote-caption{font-size:10px;letter-spacing:1px}.price-display strong{font-size:64px}.price-primary{padding:27px 24px}.price-calculator{padding:26px 18px}.calculator-title h3{font-size:19px}.choice-pill span{font-size:11px;padding:8px 10px}.estimate-box{padding:18px 15px}.estimate-box p strong{font-size:33px}.calculator-actions{flex-direction:column}.calculator-actions .button{width:100%}.extra-box{padding:19px 22px}.area-list{gap:9px}.area-list span{min-height:88px;padding:14px 9px}.area-list strong{font-size:17px}.faq-list summary{font-size:13px;min-height:66px}.end-cta{padding:74px 0}.end-cta h2{font-size:37px}.end-cta p{font-size:12px}.footer-bottom{align-items:flex-start;gap:6px;flex-direction:column}.footer-top h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}
/* Ultra-small phones: avoid intrinsically wide price and city cards. */
@media(max-width:360px){.area-list{grid-template-columns:repeat(2,minmax(0,1fr))}.price-display{flex-wrap:wrap}.price-display strong{font-size:56px}.price-display>span{margin-left:2px;font-size:10px}.price-primary,.price-calculator{min-width:0}.hero-assurances{gap:10px}}

/* Dynamic therapist directory & service card content */
.therapist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px;align-items:start;width:100%}.therapist-card{border-radius:18px;overflow:hidden;background:#fff9f8;box-shadow:0 16px 35px rgba(128,74,84,.08)}.therapist-card img,.therapist-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover}.therapist-placeholder{display:grid;place-items:center;color:#d69db0;font-size:62px;background:linear-gradient(135deg,#f8e2e9,#fefaf9)}.therapist-details{padding:18px}.therapist-details h3{margin:0 0 7px;font-size:21px}.therapist-details p{font-size:13px;line-height:1.8;margin:8px 0}.therapist-specialty{color:#b25f80}.service-top .service-art{font-size:62px;display:grid;place-items:center;color:#d88fa7}@media(max-width:760px){.therapist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.therapist-grid{grid-template-columns:1fr 1fr;gap:10px}.therapist-details{padding:12px}.therapist-details h3{font-size:18px}}
