:root{--pine:#354d3e;--olive:#5d6c52;--terra:#a66448;--cream:#fbf8f2;--ink:#293d31;--muted:#6b7567;--hairline:#dddccf}
.site-home{background:var(--cream);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}
.site-home .wrap{max-width:1400px;padding-left:68px;padding-right:68px}
.site-home h1,.site-home h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-2.8px}
.site-home em{color:var(--terra)}
.site-home .announcement{background:#e8ecdf;font-size:9px;letter-spacing:2.7px;color:#475c43;padding:10px 20px}
.site-header{position:sticky;top:0;z-index:30;background:#fbf8f2f5;border-bottom:1px solid #dedfd440;backdrop-filter:blur(14px);height:100px}
.site-home .brand{font-size:38px;gap:12px;color:var(--pine)}
.site-home .brand small{font-size:8px;letter-spacing:4.1px}
.site-home .header nav{gap:27px;font-size:12px}
.site-home .header nav a{padding:10px 0;position:relative}
.site-home .header nav a::after{content:'';position:absolute;bottom:4px;left:0;width:0;height:1px;background:var(--terra);transition:width .2s}
.site-home .header nav a:hover::after,.site-home .header nav a[aria-current]::after{width:100%}
.site-home .button{border-radius:6px;background:var(--pine);border-color:var(--pine);padding:18px 24px;font-size:12px;font-weight:500;box-shadow:0 5px 15px #354d3e0b;transition:background .2s,transform .2s,box-shadow .2s}
.site-home .button:hover{background:#263e30;transform:translateY(-2px);box-shadow:0 8px 22px #354d3e18}
.site-home .button:disabled{transform:none;box-shadow:none}
.site-home .button.small{padding:13px 19px}
.site-home .eyebrow{letter-spacing:2.4px;font-size:9px;color:#67755e}
.site-home .hero{padding-top:54px;grid-template-columns:1.12fr 1fr;gap:0 57px;align-items:center;position:relative}
.site-home .hero-copy{padding:0 0 22px;position:relative;z-index:1}
.site-home h1{font-size:clamp(52px,5.6vw,82px);line-height:1.075;margin:30px 0 27px}
.site-home .intro{color:var(--muted);font-size:14px;line-height:1.95;max-width:410px}
.site-home .hero-actions{margin-top:31px;gap:24px}
.site-home .text-link{font-size:12px;border-color:#b3b9a5;padding-bottom:7px;gap:16px;color:var(--pine)}
.site-home .hero-note{border-top:1px solid var(--hairline);padding-top:19px;margin-top:35px;max-width:300px;gap:15px;font-size:11px;color:#6c7863}
.site-home .hero-note .mini-sun{font-size:39px;color:var(--terra)}
.site-home .hero-visual{height:570px;min-height:0;max-width:500px;width:100%;justify-self:end;border-radius:230px 230px 12px 12px;background:#e8d6bd;box-shadow:0 18px 45px #4d533310;position:relative}
.site-home .hero-visual::before{content:'';position:absolute;inset:-13px 13px 13px -13px;border:1px solid #c8c7ae;border-radius:inherit;z-index:-1}
.site-home .hero-photo{height:100%;max-height:none;object-fit:cover;object-position:48% center;border-radius:inherit;filter:saturate(.64) contrast(.98)}
.site-home .hero-visual::after{content:'';position:absolute;inset:60% 0 0;border-radius:0 0 12px 12px;background:linear-gradient(transparent,#26362a50);pointer-events:none;z-index:0}
.site-home .photo-label,.site-home .visual-caption{z-index:1}
.site-home .photo-label{left:28px;bottom:31px;font-size:9px;letter-spacing:2.5px}
.site-home .round-note{top:auto;bottom:54px;right:-33px;width:121px;height:121px;background:#f5ecdb;border-color:#ccb590;box-shadow:0 0 0 7px var(--cream);z-index:2;transform:rotate(9deg)}
.site-home .hero-bottom{padding:33px 0 36px;font-size:8px;letter-spacing:2px}
.site-home .ribbon{background:#f0efe5;border-color:#e5e4d7;gap:54px;padding:20px 30px;font-size:22px;color:#647459}
.site-home .ribbon i{font-size:25px;color:#a27857}
.site-home .section{padding-top:102px;padding-bottom:100px}
.site-home h2{font-size:clamp(38px,4.4vw,61px);line-height:1.09}
.site-home .section-heading{margin-bottom:42px}
.site-home .section-heading>p{font-size:13px;color:var(--muted);max-width:320px}
.site-home .section-heading .eyebrow{margin-bottom:20px}
.site-home .treatment-grid{gap:20px;border:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.site-home .treatment,.site-home .treatment+.treatment,.site-home .treatment:nth-child(3),.site-home .treatment:nth-child(4){border:1px solid #e1e1d5;padding:22px;background:#fffdf8;border-radius:12px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;min-width:0}
.site-home .treatment:hover,.site-home .treatment:focus-within{transform:translateY(-5px);box-shadow:0 15px 32px #354d3e0c;border-color:#c1cbb3}
.site-home .treatment::after{content:attr(data-number);position:absolute;top:14px;right:17px;font-size:9px;letter-spacing:2px;color:#767e68}
.treatment-art{display:block;width:calc(100% + 44px);max-width:none;height:auto;aspect-ratio:320/220;object-fit:contain;background:#f3ecdf;margin:-22px -22px 23px}
.treatment:nth-child(2) .treatment-art{background:#eef0e6}.treatment:nth-child(3) .treatment-art{background:#f5eae3}.treatment:nth-child(4) .treatment-art{background:#f6eddc}
.site-home .treatment .eyebrow{font-size:8px;letter-spacing:2px}
.site-home .treatment h3{font-size:25px;line-height:1.2;margin:12px 0 16px;letter-spacing:-.7px}
.site-home .treatment p{font-size:12px;line-height:1.85;color:var(--muted)}
.site-home .treatment .text-link{width:100%;justify-content:space-between;margin-top:24px;font-size:11px}
.site-home .editorial-note{margin-top:21px}
.site-home .philosophy{background:#e9ecdf;padding:80px 0;position:relative;overflow:hidden}
.site-home .philosophy-inner{grid-template-columns:.95fr 1fr;gap:100px}
.site-home .sun-art{height:398px;max-width:450px;width:100%;background:#e2d6b9;border:1px solid #d5caad;border-radius:210px 210px 12px 12px;box-shadow:12px 12px 0 #dce2ce}
.site-home .sun-disc{width:144px;height:144px;left:calc(50% - 72px);top:63px;background:#ba7c52;box-shadow:0 0 0 12px #d4b58a38,0 0 0 25px #d4b58a20}
.site-home .arc{top:210px}.site-home .a2{top:185px}.site-home .a3{top:160px}
.site-home .sun-art>span{bottom:29px;letter-spacing:3.5px;font-size:8px;color:#626849}
.site-home .philosophy-inner p:not(.eyebrow){font-size:14px;color:#66745d}
.site-home .philosophy-inner h2{margin-top:24px;margin-bottom:28px}
.site-home .reviews-section{border-bottom:1px solid #e0e3d5}
.site-home .reviews-layout{grid-template-columns:1fr 1fr;gap:40px}
.site-home .review-form{padding:34px;border:1px solid #dce1d1;background:#eff1e7;border-radius:13px}
.site-home .review-form h3{font-size:29px;letter-spacing:-.8px}
.site-home .review-form>.muted{font-size:11px;line-height:1.85}
.site-home .review-card{background:#fffdf8;border-color:#e1e2d5;border-radius:12px;padding:28px}
.site-home .review-stars{color:#ad754d;letter-spacing:4px;font-size:18px;margin-bottom:12px}
.site-home .review-text{font-size:14px;color:#54644f}
.site-home .review-author{font-size:20px;color:#354d3e}
.site-home .review-list>.muted{border:1px dashed #ccd4bf;min-height:255px;border-radius:12px;padding:85px 43px 43px;text-align:center;background:radial-gradient(circle at 50% 30%,#e6e7d5,transparent 52%);position:relative;font:italic 23px/1.55 Georgia,serif;color:#6d795e}
.site-home .review-list>.muted::before{content:'“';display:block;position:absolute;top:8px;left:0;width:100%;font:80px Georgia,serif;color:#a17d57}
.site-home input:not([type=radio]):not([type=checkbox]),.site-home select,.site-home textarea{background:#fffdf9;border:1px solid #cdd5c1;border-radius:5px;min-height:49px;color:#354d3e;transition:border-color .2s,box-shadow .2s}
.site-home input:hover,.site-home select:hover,.site-home textarea:hover{border-color:#9eae8e}
.site-home label,.site-home legend{color:#4e6047;font-size:11px;font-weight:500}
.site-home .rating-options span:not(.sr-only){border-radius:5px;border-color:#c7cfba;background:#fbfcf7;min-width:48px;text-align:center;font-size:13px}
.site-home .rating-options input:checked+span{background:#435b42;border-color:#435b42;color:white}
.site-home .google-review{background:#f0f1e7;border-color:#dce1d1;border-radius:12px}
.site-home .google-review img{border:1px solid #e1e2d5;border-radius:6px}
.site-home .booking-layout{grid-template-columns:1.45fr 1fr;gap:52px}
.site-home .notice{background:#f4eee1;border:1px solid #e1d7bf;color:#7b654a;border-radius:6px;font-size:11px}
.site-home #booking-form{padding:4px 0 0}
.site-home .form-section{border-color:#dce1d1;grid-template-columns:39px 1fr;gap:18px;padding:31px 0}
.site-home .step{font-size:16px;border:1px solid #d9dfcd;border-radius:50%;height:34px;width:34px;display:grid;place-items:center;padding:0;color:#7a825e;background:#eff1e7}
.site-home .form-section h3{font-size:28px;letter-spacing:-.8px;margin-bottom:20px}
.site-home .slot span{background:#fffdf8;border-radius:5px;border-color:#d2dbc6;font-size:12px;padding:10px 17px}
.site-home .slot input:checked+span{background:var(--pine);border-color:var(--pine);box-shadow:0 3px 12px #354d3e14}
.site-home .booking-summary{background:#e9edde;border:1px solid #dce2ce;border-radius:12px;padding:36px;top:126px;box-shadow:0 12px 28px #354d3e05}
.site-home .booking-summary h3{font-size:48px;margin:19px 0 30px;letter-spacing:-2px}
.site-home .booking-summary .eyebrow{font-size:8px;letter-spacing:1.8px}
.site-home .booking-summary dl>div{padding:18px 0;font-size:12px}
.site-home .booking-summary dd{color:#354d3e;font-weight:500}
.site-home .summary-flower{font-size:45px;color:#a1714c}
.site-home .booking-summary .help a{font-size:26px;letter-spacing:-.6px}
.site-home .contact{background:#354d3e;padding:85px 0;position:relative;overflow:hidden}
.site-home .contact::after{content:'';position:absolute;width:480px;height:480px;border-radius:50%;border:1px solid #ffffff0b;right:-130px;bottom:-350px;box-shadow:0 0 0 30px #ffffff03,0 0 0 60px #ffffff03;pointer-events:none}
.site-home .contact .eyebrow{color:#c4cdb4}
.site-home .contact h2{font-size:56px;color:#fbf8ef;margin:23px 0 32px}
.site-home .contact h2 em{color:#e1bd91}
.site-home .contact-details{padding-top:12px;gap:34px}
.site-home .contact-details h3{font-size:9px;letter-spacing:2px;color:#c3ceb4;margin-bottom:14px}
.site-home .contact-details p,.site-home .contact-details a{font-size:14px;color:#f5f6ed}
.site-home .contact small{color:#b9c6aa;font-size:10px}
.site-home .light{background:#f3eedf;border-color:#f3eedf;color:#354d3e}
.site-home .light:hover{background:white}
.site-home .footer{padding-top:43px;padding-bottom:24px}
.site-home .footer .brand{font-size:34px}
.site-home .footer>span{font-size:17px}
.site-home .footer-note{font-size:9px;line-height:1.9;color:#77836d}
.site-home .local-tools{background:#f5f3eb;font-size:10px;padding:6px 22px;color:#7a806f;border-bottom:1px solid #e5e6d9}
.menu-toggle{display:none;background:transparent;border:1px solid #d2d8c6;border-radius:5px;padding:10px;color:#354d3e;cursor:pointer;font-size:11px}
.mobile-booking{display:none}
.qr-studio{background:#f0f2e8;border:1px solid #d8dfcc;border-radius:12px;padding:26px;margin-top:20px}
.qr-studio h3{font:28px Georgia,serif;letter-spacing:-.8px;margin-bottom:15px}
.qr-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0;padding:0;list-style:none;counter-reset:qr}
.qr-steps li{font-size:12px;line-height:1.7;color:#5e6d54;counter-increment:qr}
.qr-steps li::before{content:'0' counter(qr);display:block;color:#a66448;font:21px Georgia,serif;margin-bottom:9px}
.qr-studio .admin-form{margin:20px 0;max-width:100%}
.qr-studio input{background:#fffdf8}
.qr-empty{border:1px dashed #bec9ad;background:#f9faf4;border-radius:8px;padding:25px;text-align:center;color:#69785b;font-size:12px}
.qr-empty strong{display:block;font:24px Georgia,serif;color:#405a40;margin-bottom:10px}
.qr-preview-card{display:flex;gap:28px;align-items:center;background:white;border:1px solid #dce2d2;border-radius:10px;padding:24px;margin-top:22px}
.qr-preview-card img{border:1px solid #e4e7de;flex-shrink:0;max-width:180px;height:auto}
.qr-preview-card h4{font:23px Georgia,serif;margin:0 0 10px;color:#354d3e}
.qr-preview-card p{font-size:12px;color:#6b785e;line-height:1.8}
.qr-preview-card .admin-controls{gap:18px}
.qr-preview-card .text-link{font-size:11px}
.qr-studio .print-action{display:inline-flex;margin-top:18px;border-radius:5px}
@media(max-width:1150px){.site-home .wrap{padding-left:38px;padding-right:38px}.site-home .header nav{gap:19px}.site-home .hero{gap:0 34px}.site-home h1{font-size:65px;letter-spacing:-2.7px}.site-home .hero-visual{height:530px}.site-home .hero-actions{gap:19px}.site-home .hero-actions .button{padding:16px 19px}.site-home .treatment-grid{gap:15px}.site-home .treatment,.site-home .treatment+.treatment{padding:19px}.treatment-art{width:calc(100% + 38px);margin:-19px -19px 21px}.site-home .philosophy-inner{gap:60px}.site-home .booking-layout{gap:34px}.site-home .booking-summary{padding:28px}.site-home .ribbon{gap:36px}}
@media(max-width:920px) and (min-width:761px){.site-home .header .button.small{font-size:10px;gap:12px;padding:12px}.site-home .brand{font-size:31px}.site-home .header nav{gap:14px;font-size:11px}.site-home h1{font-size:53px}.site-home .hero-visual{height:490px}.site-home .hero-note{margin-top:23px}.site-home .hero-actions{gap:15px}.site-home .hero-actions .text-link{font-size:10px}.site-home .round-note{right:-15px;width:100px;height:100px}.site-home .treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-art{aspect-ratio:320/180}.site-home .philosophy-inner{gap:40px}.site-home .sun-art{height:340px}.site-home .booking-summary h3{font-size:39px}.site-home .booking-layout{gap:25px;grid-template-columns:1.3fr 1fr}.site-home .reviews-layout{gap:25px}.site-home .review-form{padding:26px}}
@media(max-width:760px){html{scroll-padding-top:96px}.site-home .wrap{padding-left:22px;padding-right:22px}.site-home .announcement{font-size:7px;letter-spacing:1.3px;padding:8px 10px}.site-home .header{height:82px;gap:14px}.site-home .brand{font-size:30px;gap:9px}.site-home .brand img{width:32px;height:32px}.site-home .brand small{font-size:7px;letter-spacing:3px}.site-home .header>.button{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:10px;margin-left:auto;padding:10px 14px}.menu-toggle span{font-size:17px;line-height:1}.site-home .header nav{display:none;position:absolute;top:81px;left:0;right:0;padding:20px 25px 25px;background:#fbf8f2;box-shadow:0 15px 20px #354d3e10;border-bottom:1px solid #dce2cf;flex-direction:column;gap:5px;font-size:14px}.site-home .header nav.is-open{display:flex}.site-home .header nav a{padding:12px 0;border-bottom:1px solid #e2e5d7}.site-home .hero{grid-template-columns:1fr;padding-top:34px;gap:0}.site-home .hero-copy{padding:0}.site-home .hero .eyebrow{font-size:7px;letter-spacing:1.75px;gap:10px}.site-home h1{font-size:clamp(45px,11.8vw,65px);line-height:1.08;letter-spacing:-2.4px;margin:25px 0 23px}.site-home .intro{font-size:13px;line-height:1.85;max-width:330px}.site-home .hero-actions{margin-top:25px;gap:20px}.site-home .hero-actions .button{padding:16px 19px;font-size:11px}.site-home .hero-actions .text-link{font-size:10px}.site-home .hero-note{max-width:100%;border-top:0;padding:0;margin:21px 0 31px;gap:12px;font-size:10px}.site-home .hero-note .mini-sun{font-size:31px}.site-home .hero-note p br{display:none}.site-home .hero-visual{height:430px;width:88%;max-width:420px;justify-self:center;border-radius:210px 210px 10px 10px;margin-top:8px}.site-home .hero-photo{height:100%;object-position:48% center}.site-home .hero-visual::before{inset:-10px 10px 10px -10px}.site-home .round-note{right:-19px;bottom:32px;top:auto;width:100px;height:100px;box-shadow:0 0 0 5px var(--cream)}.site-home .round-note b{font-size:23px}.site-home .hero-bottom{font-size:7px;letter-spacing:1px;padding:26px 0}.site-home .hero-bottom span span{margin-left:7px;font-size:17px}.site-home .photo-label{font-size:7px;letter-spacing:2px;bottom:23px;left:22px}.site-home .ribbon{font-size:18px;gap:24px;padding:17px 22px}.site-home .ribbon i{font-size:20px}.site-home .section{padding-top:64px;padding-bottom:62px}.site-home h2{font-size:41px;line-height:1.1;letter-spacing:-1.8px}.site-home .section-heading{margin-bottom:30px}.site-home .section-heading .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:16px}.site-home .section-heading>p{font-size:12px;line-height:1.8;margin-top:18px}.site-home .treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.site-home .treatment,.site-home .treatment+.treatment,.site-home .treatment:nth-child(3),.site-home .treatment:nth-child(4){padding:16px;border-radius:9px}.treatment-art{width:calc(100% + 32px);margin:-16px -16px 17px;aspect-ratio:1.25}.site-home .treatment::after{font-size:8px;right:12px;top:9px}.site-home .treatment .eyebrow{font-size:6px;letter-spacing:1.5px}.site-home .treatment h3{font-size:22px;letter-spacing:-.7px;margin:10px 0 12px}.site-home .treatment p{font-size:10px;line-height:1.8}.site-home .treatment .text-link{font-size:9px;margin-top:18px;gap:8px}.site-home .philosophy{padding:49px 0 53px}.site-home .philosophy-inner{grid-template-columns:1fr;gap:42px}.site-home .sun-art{max-width:335px;height:330px}.site-home .sun-disc{top:48px;width:120px;height:120px;left:calc(50% - 60px)}.site-home .arc{top:185px}.site-home .a2{top:160px}.site-home .a3{top:135px}.site-home .philosophy-inner h2{margin:20px 0 24px}.site-home .philosophy-inner p:not(.eyebrow){font-size:13px;line-height:1.9}.site-home .reviews-layout{grid-template-columns:1fr;gap:25px}.site-home .review-list>.muted{min-height:190px;padding:72px 28px 33px;font-size:22px}.site-home .review-form{padding:25px;border-radius:10px}.site-home .review-form h3{font-size:26px}.site-home .review-card{padding:24px}.site-home .booking-layout{grid-template-columns:1fr;gap:31px}.site-home .booking-summary{position:static;grid-row:1;padding:26px;border-radius:10px}.site-home .booking-summary h3{font-size:34px;letter-spacing:-1.5px;margin:16px 0 20px}.site-home .booking-summary h3 br{display:none}.site-home .booking-summary .summary-flower{float:right;font-size:37px}.site-home .booking-summary .eyebrow{font-size:7px;letter-spacing:1.4px}.site-home .booking-summary dl>div{padding:13px 0;font-size:11px}.site-home .booking-summary .help a{font-size:24px}.site-home .form-section{grid-template-columns:30px 1fr;gap:12px;padding:26px 0}.site-home .step{width:28px;height:28px;font-size:13px}.site-home .form-section h3{font-size:26px}.site-home .notice{font-size:10px;line-height:1.8;padding:14px 16px}.site-home .slot span{padding:9px 14px}.site-home .contact{padding:55px 0}.site-home .contact h2{font-size:43px;letter-spacing:-2px}.site-home .contact-inner{grid-template-columns:1fr;gap:39px}.site-home .contact-details{gap:27px}.site-home .contact-details p,.site-home .contact-details a{font-size:13px}.site-home .footer{padding-top:31px;padding-bottom:104px}.site-home .footer>span{font-size:14px}.mobile-booking{position:fixed;left:0;right:0;bottom:0;z-index:35;display:flex;gap:15px;align-items:center;justify-content:space-between;padding:11px 22px calc(11px + env(safe-area-inset-bottom));background:#fbf8f2f5;backdrop-filter:blur(12px);border-top:1px solid #dce1d1;box-shadow:0 -6px 20px #354d3e05}.mobile-booking>span{font:italic 17px Georgia,serif;color:#5c6d50}.mobile-booking .button{font-size:11px;padding:12px 17px;gap:22px}.qr-studio{padding:20px}.qr-steps{gap:12px}.qr-steps li{font-size:10px}.qr-preview-card{flex-direction:column;align-items:start;padding:22px;gap:20px}.qr-preview-card img{align-self:center;width:170px}}
@media(max-width:370px){.site-home .hero-actions{gap:17px}.site-home .hero-actions .button{font-size:10px;padding:14px}.site-home .treatment-grid{gap:10px}.site-home .treatment h3{font-size:20px}.site-home .hero-visual{height:370px}.site-home .review-form{padding:20px}.site-home .rating-options{gap:6px}.site-home .rating-options span:not(.sr-only){min-width:41px;padding:8px}.mobile-booking>span{font-size:15px}}
@media(prefers-reduced-motion:reduce){.site-home *{transition:none!important;animation:none!important}.site-home .button:hover,.site-home .treatment:hover,.site-home .treatment:focus-within{transform:none}}
