:root{--paper:#f8f7f2;--white:#fff;--ink:#283c35;--muted:#65736b;--sage:#acbfb6;--light-sage:#e8eee8;--green:#3b5549;--line:#dce1d8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a,button{outline-offset:5px}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green)}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2px;line-height:1.13}h1{font-size:clamp(64px,6.7vw,99px)}h2{font-size:clamp(38px,3.8vw,56px)}h3{font-weight:500}em{font-weight:400;color:#718b7d}button{border:0;background:none}::selection{background:var(--sage);color:var(--ink)}.container{max-width:1280px;width:calc(100% - 112px);margin:auto}.section{padding-top:104px;padding-bottom:104px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.5px;line-height:1.5}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:46px}.section-heading h2{margin-top:22px}.section-intro{color:var(--muted);font-size:14px;line-height:1.9;max-width:390px}.skip-link{position:fixed;top:-70px;left:16px;z-index:100;padding:12px;background:var(--paper)}.skip-link:focus{top:12px}.header{position:sticky;top:0;z-index:20;background:rgba(248,247,242,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:500;letter-spacing:5px;line-height:1.3;flex-shrink:0}.brand small{display:block;font-size:7px;letter-spacing:3.4px;margin-top:5px}.brand-mark{width:42px;height:42px;background:var(--sage) url('assets/logo.jpg') 50% 43%/320%;border-radius:50%}.navigation{display:flex;gap:27px;font-size:12px}.navigation a{padding:8px 0;position:relative}.navigation a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--green);transition:width .2s}.navigation a:hover:after{width:100%}.header-book{border:1px solid var(--green);padding:10px 19px;display:flex;gap:27px;font-size:12px;border-radius:3px}.header-book:hover{background:var(--light-sage)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:54px;padding:14px 25px;background:var(--green);color:white;border:1px solid var(--green);border-radius:3px;font-size:12px;letter-spacing:.2px;transition:background .2s,transform .2s}.button:hover{background:#2d4338;transform:translateY(-2px)}.button span,.text-link span{font-size:20px;font-weight:400;line-height:1}.button-light{background:var(--paper);color:var(--green);border-color:var(--paper)}.button-light:hover{background:#e7ece4}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid var(--ink);padding:7px 0;font-size:12px}.text-link:hover{color:#6f897b}.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:50px;padding-top:58px;padding-bottom:52px;min-height:715px}.hero-copy{padding-bottom:12px}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:31px}.tiny-star{font-size:21px;color:#7d9386}.hero h1{max-width:650px;line-height:1.06}.hero-description{margin:28px 0;color:var(--muted);font-size:14px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:33px}.hero-rating{display:flex;gap:14px;align-items:center;width:fit-content;margin-top:49px}.rating-number{font:38px/1 var(--serif);letter-spacing:-1px}.stars{color:#758d6f;letter-spacing:4px;font-size:13px}.hero-rating small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.rating-arrow{font-size:22px;margin-left:10px}.hero-visual{position:relative;padding:0 34px 20px 8px}.hero-photo{position:relative;width:100%;height:548px;border-radius:260px 260px 4px 4px;overflow:hidden;background:var(--sage)}.hero-photo img{height:100%;object-position:50% 48%;transition:transform 1s}.hero-photo:hover img{transform:scale(1.025)}.hero-halo{position:absolute;inset:26px 5px 5px 42px;border:1px solid #b7c4b7;border-radius:260px 260px 0 0;transform:rotate(5deg)}.hero-stamp{position:absolute;bottom:66px;left:-47px;width:115px;height:115px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;background:#dce6dc;outline:1px solid rgba(59,85,73,.25);outline-offset:-8px;transform:rotate(-12deg)}.hero-stamp span{font-size:8px;letter-spacing:2px}.hero-stamp b{font-size:38px;font-weight:400;line-height:1.4}.photo-note{position:absolute;bottom:-10px;right:35px;font:italic 16px var(--serif);color:var(--muted)}.vertical-note{position:absolute;right:0;top:40%;writing-mode:vertical-rl;font-size:8px;letter-spacing:3px;color:var(--muted)}.address-strip{background:var(--light-sage);border-top:1px solid #dce3d8;border-bottom:1px solid #dce3d8}.address-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:81px;font-size:12px}.address-strip-inner p{color:var(--muted);display:flex;align-items:center;gap:15px}.location-symbol{font-size:27px}.address-strip-inner a{display:flex;align-items:center;gap:35px}.address-strip-inner a span{font-size:19px}.service-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:76px;align-items:start}.service-image{position:relative;height:462px;overflow:hidden;border-radius:4px 4px 120px 4px}.service-image img{height:100%;object-position:center 49%}.service-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45))}.service-image>span{position:absolute;bottom:26px;left:24px;z-index:1;color:white;font:italic 20px var(--serif)}.filter-bar{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid var(--line);border-radius:24px;padding:10px 17px;line-height:1.25;font-size:12px;transition:background .2s}.filter:hover{background:var(--light-sage)}.filter.active{color:white;background:var(--green);border-color:var(--green)}.branch-select-label{display:flex;align-items:center;gap:16px;margin-top:26px;font-size:11px;color:var(--muted)}select{border:0;background:transparent;border-bottom:1px solid var(--line);color:var(--ink);font-size:12px;padding:8px 22px 8px 0;max-width:100%;cursor:pointer}.service-row{padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.service-row h3{font-size:17px;line-height:1.4;margin-bottom:5px}.service-row p{color:var(--muted);font-size:11px}.service-price{font-size:14px;white-space:nowrap}.service-price.is-note{font-size:11px}.price-note{font-size:10px;color:var(--muted);line-height:1.8;margin:18px 0 15px;max-width:520px}.service-empty{padding:35px 0;color:var(--muted)}.works-section{background:#eeefe8}.gallery-filters{margin-top:23px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.work{padding:0;text-align:left;display:block;min-width:0}.work[hidden]{display:none}.work img{aspect-ratio:3/4;border-radius:3px;transition:filter .25s;object-position:center}.work:hover img{filter:brightness(1.08)}.work>span{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:12px}.work b{font-size:20px;font-weight:400}.gallery-footer{display:flex;align-items:center;justify-content:space-between;margin-top:35px;gap:15px}.gallery-footer>span{font:italic 20px var(--serif);color:var(--muted)}.about-section{display:grid;grid-template-columns:1fr 1.08fr;gap:80px;align-items:center}.about-photo{height:600px;position:relative}.about-photo img{height:100%;border-radius:220px 220px 4px 4px}.photo-label{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;letter-spacing:3px;background:var(--paper);padding:13px 20px}.about-copy h2{margin:23px 0 25px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;color:var(--muted);margin-bottom:12px}.comfort-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px;margin-top:35px}.comfort-grid>div{border-top:1px solid var(--line);padding-top:14px}.comfort-grid span{color:#829784;font-size:10px}.comfort-grid h3{font-size:14px;margin:5px 0}.comfort-grid p{color:var(--muted);font-size:11px;line-height:1.8}.studios-section{background:var(--light-sage)}.studios-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.studio{padding:35px;background:var(--paper);border-radius:4px;scroll-margin-top:110px}.studio-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.studio-rating{font-size:12px}.studio-rating span{font-size:10px;color:var(--muted);margin-left:6px}.studio h3{font:29px/1.25 var(--serif);letter-spacing:-.7px}.studio-address{color:var(--muted);font-size:12px;margin:12px 0 26px}.studio-detail{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:13px 0;border-bottom:1px solid var(--line)}.studio-detail>span{color:var(--muted)}.studio-detail strong{font-weight:400}.studio-note{font-size:10px;color:var(--muted);margin:19px 0 26px}.studio-actions{display:flex;gap:30px;align-items:center}.map-area{margin-top:24px;border:1px solid #ced8cd;border-radius:4px;overflow:hidden}.map-placeholder{display:flex;gap:25px;align-items:center;padding:25px 35px;background:#dce5d9}.map-placeholder>span{font-size:47px;line-height:1;color:#718671}.map-placeholder h3{font:25px var(--serif)}.map-placeholder p{font-size:11px;margin-top:6px;color:var(--muted)}.map-placeholder .button{margin-left:auto}.map-area iframe{display:block;border:0;width:100%;height:360px}.review-score{display:flex;align-items:center;gap:20px}.review-score>span{font:66px var(--serif);letter-spacing:-2px}.review-score p{font-size:10px;color:var(--muted);margin-top:8px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.review{padding:30px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column}.review blockquote{font:23px/1.5 var(--serif);margin:24px 0 29px;min-height:104px}.review-author{display:flex;align-items:center;gap:12px;margin-top:auto}.avatar{width:38px;height:38px;border-radius:50%;background:#e4eadd;display:grid;place-items:center;font:18px var(--serif)}.review-author strong{font-size:12px;font-weight:400;display:block}.review-author small{font-size:9px;color:var(--muted)}.review-source{font-size:10px;color:var(--muted);margin-top:20px;width:fit-content;border-bottom:1px solid var(--line)}.review-footnote{font-size:10px;color:var(--muted);margin-top:30px}.gift-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center;padding:55px 70px;background:#e9eade;border-radius:4px}.gift-card{position:relative;aspect-ratio:1.68;background:#aabfb3;padding:26px;color:white;border:1px solid rgba(255,255,255,.5);box-shadow:15px 17px 0 #d7ddcf;transform:rotate(-5deg);overflow:hidden}.gift-card>span{display:block;font-size:14px;letter-spacing:5px}.gift-card b{font:italic 42px var(--serif);display:block;margin-top:23px}.gift-card small{font-size:7px;letter-spacing:2px;position:absolute;bottom:24px}.gift-card i{position:absolute;right:-10px;bottom:2px;font-size:105px;font-style:normal;color:#c7d5ca;line-height:1}.gift-copy h2{font-size:40px;margin:19px 0}.gift-copy p:not(.eyebrow){color:var(--muted);font-size:12px;margin-bottom:20px}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;column-gap:70px}.faq-section>.eyebrow{grid-column:1;align-self:end}.faq-section h2{grid-column:1;align-self:start;margin-top:22px;font-size:43px}.faq-list{grid-column:2;grid-row:1/3}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;font-size:13px;list-style:none}summary::-webkit-details-marker{display:none}summary>span{font-size:22px;font-weight:300;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details p{font-size:12px;color:var(--muted);line-height:1.9;padding:0 25px 22px 0}details p a{text-decoration:underline}.final-cta{position:relative;padding:80px 0 77px;background:#aebfb3;text-align:center;overflow:hidden}.final-cta .container{position:relative;z-index:1}.final-cta h2{margin:25px 0 30px;font-size:59px}.final-cta em{color:#415c4c}.cta-phone{display:block;width:fit-content;margin:22px auto 0;font-size:13px}.cta-star{position:absolute;font-size:530px;line-height:1;right:-150px;top:-20px;color:#c0cfc1;font-weight:400}.footer{padding:46px 0 22px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-main>p{font-size:11px;color:var(--muted)}.social-links{display:flex;gap:25px;font-size:11px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:38px;padding-top:20px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.footer-bottom a:hover{text-decoration:underline}.mobile-book{display:none}dialog{border:0;color:var(--ink);background:var(--paper);padding:45px;width:calc(100% - 32px);max-width:590px;max-height:90dvh;border-radius:8px;overflow:auto}dialog::backdrop{background:rgba(26,39,31,.65);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:10px;font-size:30px;width:42px;height:42px;z-index:2;line-height:1}.booking-dialog h2{font-size:46px;margin:20px 0}.booking-dialog>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:25px}.booking-option{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:4px;padding:21px;margin-top:12px}.booking-option:hover{background:var(--light-sage)}.booking-option strong{display:block;font-weight:400;font-size:17px}.booking-option small{font-size:10px;color:var(--muted);display:block;margin-top:8px}.booking-option>span:last-child{font-size:24px}.booking-dialog .dialog-help{margin:22px 0 0!important;font-size:11px!important}.dialog-help a{white-space:nowrap;text-decoration:underline}.photo-dialog{max-width:960px;padding:40px 60px 20px;background:#19261f;color:white;overflow:visible}.photo-dialog figure img{max-height:76dvh;max-width:100%;object-fit:contain;width:auto;margin:auto}.photo-dialog figcaption{font-size:12px;text-align:center;padding-top:12px}.photo-prev,.photo-next{position:absolute;top:50%;transform:translateY(-50%);width:45px;height:55px;font-size:24px;color:white}.photo-prev{left:5px}.photo-next{right:5px}
@media(min-width:1550px){.hero{gap:85px}.hero-photo{height:600px}.hero{min-height:790px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.navigation{gap:18px}.header-inner{gap:20px}.brand{font-size:20px;letter-spacing:4px}.hero{gap:30px;min-height:640px}.hero-photo{height:485px}.hero-actions{gap:20px}.hero h1{font-size:75px}.hero-stamp{width:96px;height:96px;left:-24px}.hero-stamp span{font-size:7px}.hero-stamp b{font-size:32px}.service-layout{gap:45px}.filter{font-size:11px;padding:10px 13px}.about-section{gap:45px}.about-photo{height:550px}.studio{padding:28px}.studio h3{font-size:26px}.gift-section{gap:60px;padding:45px}.gift-copy h2{font-size:35px}.gift-card b{font-size:35px}.faq-section{column-gap:40px}.footer-bottom>span:nth-child(2){max-width:420px;text-align:center}}
@media(max-width:900px){.navigation{gap:13px;font-size:11px}.brand-mark{display:none}.header-book{gap:15px;padding:10px 13px}.hero{gap:25px;min-height:560px;padding-top:45px;padding-bottom:50px}.hero h1{font-size:60px}.hero-photo{height:420px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:24px}.hero-description{font-size:12px}.hero-actions{flex-wrap:wrap;gap:15px}.hero-rating{margin-top:30px}.hero-visual{padding-right:23px}.photo-note{font-size:13px;right:25px}.hero-stamp{bottom:65px;width:85px;height:85px}.hero-stamp span{font-size:6px}.address-strip-inner{font-size:10px}.address-strip-inner p{max-width:150px;gap:8px}.address-strip-inner a{gap:15px}.section{padding-top:78px;padding-bottom:78px}.section-heading{gap:25px}.section-intro{font-size:12px;max-width:270px}.section-heading h2{font-size:41px}.service-layout{gap:30px;grid-template-columns:.75fr 1.25fr}.service-image{height:440px}.service-row h3{font-size:14px}.service-price{font-size:12px}.service-row{gap:10px}.filter-bar{gap:6px}.service-menu .filter{font-size:10px;padding:9px 11px}.gallery{gap:18px}.gallery .work>span{font-size:10px}.gallery-filters{max-width:285px}.about-section{gap:35px}.about-photo{height:520px}.about-copy h2{font-size:39px}.about-copy>p:not(.eyebrow){font-size:12px}.comfort-grid{gap:20px}.comfort-grid h3{font-size:12px}.comfort-grid p{font-size:10px}.studio{padding:23px}.studio h3{font-size:23px}.studio-actions{gap:20px}.studio .button{gap:20px;padding:12px 20px}.review-score{gap:12px}.review-score>span{font-size:55px}.review-score p{max-width:155px}.review-grid{gap:23px}.review blockquote{font-size:21px;min-height:125px}.gift-section{padding:35px;gap:45px}.gift-card{padding:20px}.gift-card b{font-size:31px;margin-top:15px}.gift-card small{font-size:5px;bottom:16px}.gift-copy h2{font-size:32px}.faq-section{grid-template-columns:.85fr 1.15fr;gap:0 35px}.faq-section h2{font-size:36px}.final-cta h2{font-size:52px}}
@media(max-width:700px){html{scroll-padding-top:82px}.container{width:calc(100% - 40px)}.header-inner{height:74px;gap:15px}.brand{font-size:19px;letter-spacing:4px}.brand small{font-size:6px;letter-spacing:2.8px}.brand-mark{display:block;width:36px;height:36px}.header-book{margin-left:auto;font-size:10px;padding:9px 12px;gap:15px}.menu-toggle{display:flex;width:30px;height:40px;flex-direction:column;gap:6px;align-items:center;justify-content:center;padding:3px}.menu-toggle span{width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.navigation{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:18px 24px 25px;border-bottom:1px solid var(--line);font-size:15px;flex-direction:column;gap:5px;box-shadow:0 12px 20px #283c3510}.navigation.is-open{display:flex}.navigation a{padding:9px 0}.hero{grid-template-columns:1fr;gap:37px;padding-top:37px;padding-bottom:49px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:20px}.hero h1{font-size:clamp(52px,10.9vw,75px);letter-spacing:-2.4px;max-width:580px}.hero-description{font-size:13px;margin:22px 0;line-height:1.9}.hero-actions{margin-top:24px;gap:25px}.hero-actions .button{min-height:51px;font-size:11px;padding:13px 20px;gap:22px}.text-link{font-size:11px;gap:16px}.hero-rating{margin-top:27px}.rating-number{font-size:30px}.hero-rating small{font-size:9px}.hero-rating .stars{font-size:10px}.hero-visual{width:88%;max-width:480px;justify-self:center;padding:0 15px 15px 8px}.hero-photo{height:auto;aspect-ratio:4/4.7;border-radius:230px 230px 3px 3px}.hero-halo{inset:20px -3px 2px 32px}.hero-stamp{width:90px;height:90px;left:-22px;bottom:45px}.hero-stamp span{font-size:6px}.vertical-note{right:-17px;font-size:7px}.photo-note{bottom:-14px;right:15px;font-size:14px}.address-strip-inner{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;padding:18px 0;font-size:10px}.address-strip-inner p{grid-column:1/-1;max-width:none;font-size:11px;gap:8px}.location-symbol{font-size:23px}.address-strip-inner a{justify-content:space-between;gap:3px;line-height:1.5}.address-strip-inner a span{font-size:17px}.section{padding-top:61px;padding-bottom:61px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:37px;letter-spacing:-1.3px;margin-top:17px}.section-intro{font-size:12px;margin-top:19px;max-width:none}.service-layout{display:flex;flex-direction:column;gap:26px}.service-image{width:100%;height:250px;border-radius:4px 4px 65px 4px}.service-image img{object-position:center 40%}.service-image>span{font-size:18px;bottom:20px;left:20px}.service-menu{width:100%}.service-menu .filter{padding:11px 14px;font-size:11px}.branch-select-label{margin-top:17px}.service-row{padding:20px 0}.service-row h3{font-size:16px}.service-row p{font-size:10px}.service-price{font-size:13px}.price-note{font-size:10px}.gallery-filters{max-width:none;margin-top:20px}.filter{font-size:11px;padding:10px 13px}.gallery{grid-template-columns:repeat(2,1fr);gap:21px 13px}.gallery .work>span{font-size:10px;margin-top:8px}.gallery-footer{display:block;margin-top:28px}.gallery-footer>span{font-size:18px;display:block;margin-bottom:13px}.about-section{display:flex;flex-direction:column;gap:35px;align-items:stretch}.about-photo{height:410px;max-width:410px;width:100%;align-self:center}.about-copy h2{font-size:38px;letter-spacing:-1.3px;margin:18px 0 22px}.about-copy>p:not(.eyebrow){font-size:13px}.comfort-grid{gap:24px;margin-top:25px}.comfort-grid h3{font-size:14px}.comfort-grid p{font-size:11px}.studios-grid{grid-template-columns:1fr;gap:18px}.studio{padding:25px 22px}.studio h3{font-size:28px}.studio-address{font-size:11px}.studio-top{margin-bottom:22px}.studio-note{font-size:10px}.studio-actions{gap:30px}.studio .button{padding:12px 24px;gap:30px}.map-placeholder{padding:23px;gap:17px;flex-wrap:wrap}.map-placeholder>span{font-size:38px}.map-placeholder h3{font-size:24px}.map-placeholder .button{margin-left:0;flex:1 1 100%}.map-area iframe{height:350px}.review-score{margin-top:25px;gap:17px}.review-score>span{font-size:50px}.review-score p{max-width:none}.review-grid{grid-template-columns:1fr;gap:29px}.review{padding-top:22px}.review blockquote{min-height:auto;font-size:24px;margin:19px 0 23px}.review-footnote{line-height:1.8}.gift-section{display:flex;flex-direction:column;padding:37px 24px;gap:45px}.gift-card{width:90%;max-width:340px;padding:23px}.gift-card>span{font-size:13px}.gift-card b{font-size:39px;margin-top:25px}.gift-card small{font-size:6px;bottom:22px}.gift-copy h2{font-size:37px;letter-spacing:-1px}.gift-copy p:not(.eyebrow){font-size:13px}.faq-section{display:block}.faq-section h2{font-size:36px;margin:18px 0 20px}.faq-list summary{font-size:12px;padding:20px 0}.final-cta{padding:56px 0}.final-cta h2{font-size:39px;letter-spacing:-1.5px;line-height:1.2;margin:22px 0 27px}.cta-star{font-size:390px;right:-160px;top:50px}.footer{padding:35px 0 96px}.footer-main{flex-wrap:wrap;gap:23px;align-items:flex-start}.footer-main>p{font-size:10px}.social-links{width:100%;font-size:11px;gap:25px}.footer-bottom{font-size:9px;align-items:flex-start;flex-wrap:wrap;gap:15px;margin-top:26px}.footer-bottom>span:nth-child(2){order:3;max-width:none;width:100%;text-align:left;line-height:1.9}.footer-bottom>a{margin-left:auto}.mobile-book{display:flex;position:fixed;bottom:12px;left:20px;right:20px;z-index:18;box-shadow:0 4px 22px #283c3533;justify-content:space-between;min-height:49px;padding:12px 20px}.booking-dialog{padding:37px 22px 25px}.booking-dialog h2{font-size:39px}.booking-option{padding:17px 15px}.booking-option strong{font-size:16px}.booking-option small{font-size:9px}.photo-dialog{padding:48px 34px 18px;width:calc(100% - 16px)}.photo-prev,.photo-next{width:32px;font-size:21px}.photo-prev{left:0}.photo-next{right:0}.photo-dialog figure img{max-height:73dvh}.photo-dialog figcaption{font-size:10px}.photo-dialog .dialog-close{right:6px;top:3px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}.brand-mark{display:none}.hero h1{font-size:51px}.hero-actions{gap:15px}.hero-actions .button{padding:12px 17px;gap:18px}.service-menu .filter{font-size:10px;padding:10px 11px}.service-row h3{font-size:14px}.service-price{font-size:12px}.studio h3{font-size:25px}.address-strip-inner{gap:8px 12px}.gift-card b{font-size:33px}.gift-card small{font-size:5px}.final-cta h2{font-size:34px}}
.brand-mark{background-size:400%;background-position:50% 39%}.studios-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio{min-width:0}.studio-detail a{white-space:nowrap}.faq-section{grid-template-rows:15px 1fr}.faq-section>.eyebrow{align-self:start}
@media(max-width:700px){.studios-grid{grid-template-columns:minmax(0,1fr)}.studio-actions{flex-wrap:wrap}}
.header-book,.button:not(.button-light){background:#284c3b;color:#fff;border-color:#284c3b;font-weight:600;box-shadow:0 4px 12px #284c3b22}.header-book{min-height:48px;align-items:center;font-size:14px;padding:12px 22px}.header-book:hover,.button:not(.button-light):hover{background:#193a2b;color:#fff}.button,.hero-actions .button{font-size:14px;font-weight:600;min-height:56px}.final-cta .button-light{background:#284c3b;color:white;border-color:#284c3b;box-shadow:0 4px 12px #284c3b22}.final-cta .button-light:hover{background:#193a2b}.filter[hidden]{display:none}
@media(max-width:900px){.header-book{font-size:12px;padding:11px 16px}}
@media(max-width:700px){.header-book{font-size:12px;padding:10px 14px;gap:12px;min-height:44px}.hero-actions .button{font-size:13px}.mobile-book{font-size:14px;min-height:54px}}
/* Mobile layout: readable text, touch targets and device safe areas. */
@media(max-width:700px){
  html{scroll-padding-top:90px;scroll-padding-bottom:100px}
  body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .container{width:auto;margin-left:max(20px,env(safe-area-inset-left));margin-right:max(20px,env(safe-area-inset-right))}
  .header{padding-top:env(safe-area-inset-top)}
  .header-inner{height:68px;gap:12px}
  .header-book{display:none}
  .brand-mark{display:block}
  .brand{font-size:21px}
  .menu-toggle{width:44px;height:44px;margin-left:auto;flex-shrink:0}
  .navigation{top:calc(68px + env(safe-area-inset-top));max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain}
  .navigation a{min-height:48px;display:flex;align-items:center}
  .hero{gap:28px;padding-top:28px;padding-bottom:42px;min-height:0}
  .hero h1{font-size:clamp(44px,11.5vw,72px);letter-spacing:-1.8px;line-height:1.1}
  .hero-copy .eyebrow{font-size:9px;letter-spacing:1.4px;gap:9px;margin-bottom:18px}
  .hero-description{font-size:15px;line-height:1.7;margin:20px 0}
  .desktop-break{display:none}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:20px}
  .hero-actions .button{width:100%;font-size:15px;justify-content:space-between;padding:15px 22px}
  .hero-actions .text-link{justify-self:start;min-height:44px;font-size:13px}
  .hero-rating{margin-top:18px}
  .hero-rating small{font-size:11px}
  .hero-visual{width:86%;max-width:360px}
  .hero-photo{aspect-ratio:1/1.05}
  .photo-note{font-size:13px}
  .address-strip-inner{grid-template-columns:1fr;gap:0;padding:13px 0}
  .address-strip-inner p{font-size:12px;margin-bottom:4px}
  .address-strip-inner a{font-size:13px;min-height:44px;border-top:1px solid #ced9ce}
  .section{padding-top:48px;padding-bottom:48px}
  .eyebrow{font-size:10px;letter-spacing:1.6px}
  .section-heading h2,.about-copy h2,.faq-section h2{font-size:clamp(31px,8.5vw,42px);letter-spacing:-1px}
  .section-intro,.about-copy>p:not(.eyebrow),.gift-copy p:not(.eyebrow){font-size:14px;line-height:1.8}
  .service-image{height:240px}
  .filter,.service-menu .filter{min-height:44px;padding:11px 14px;font-size:13px}
  .filter-bar{gap:8px}
  .branch-select-label{display:block;font-size:12px;margin-top:20px}
  .branch-select-label select{display:block;width:100%;min-height:48px;font-size:16px;margin-top:5px;padding:10px 20px 10px 0}
  .service-row{align-items:flex-start;gap:12px}
  .service-row h3{font-size:16px}
  .service-row p{font-size:12px;line-height:1.6}
  .service-price{font-size:13px;flex-shrink:0;margin-top:3px}
  .service-price.is-note{font-size:12px}
  .price-note{font-size:12px;line-height:1.7}
  #service-book{width:100%;font-size:14px;gap:16px;justify-content:space-between}
  .gallery{gap:22px 12px}
  .gallery .work>span{font-size:12px;line-height:1.5;align-items:flex-start;gap:5px;min-height:36px}
  .gallery .work b{flex-shrink:0}
  .gallery-footer .text-link,.review-source{font-size:12px;min-height:44px;align-items:center}
  .about-photo{height:390px}
  .comfort-grid h3{font-size:15px}
  .comfort-grid p{font-size:12px}
  .studio{padding:25px 20px}
  .studio h3{font-size:clamp(24px,6.8vw,31px);overflow-wrap:break-word}
  .studio-address,.studio-note{font-size:12px}
  .studio-detail{font-size:13px;align-items:center}
  .studio-detail a{min-height:44px;display:flex;align-items:center}
  .studio-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .studio-actions .button{width:100%;justify-content:space-between}
  .studio-actions .text-link{justify-self:start;min-height:44px;font-size:13px}
  .studio-rating{min-height:44px;display:flex;align-items:center}
  .review-score p,.review-author small,.review-footnote{font-size:12px}
  .review-author strong{font-size:14px}
  .review-source{display:inline-flex}
  .gift-copy .text-link{min-height:44px;font-size:13px}
  .faq-list summary{font-size:15px;min-height:56px;line-height:1.5}
  details p{font-size:14px;padding-right:0}
  .final-cta .button{width:100%;max-width:380px;font-size:14px;gap:15px}
  .cta-phone{font-size:17px;min-height:44px;padding:8px}
  .footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  .footer-main>p,.footer-bottom{font-size:12px}
  .footer-main{flex-direction:column;gap:20px}
  .social-links{flex-wrap:wrap;gap:10px 24px;font-size:14px}
  .social-links a{min-height:44px;display:flex;align-items:center}
  .footer-bottom>a{min-height:44px}
  .mobile-book{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));font-size:15px;min-height:54px}
  .modal-open .mobile-book{visibility:hidden}
  dialog{max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain}
  .dialog-close{width:44px;height:44px}
  .booking-dialog>p:not(.eyebrow){font-size:14px}
  .booking-option strong{font-size:16px;line-height:1.5}
  .booking-option small{font-size:12px;line-height:1.6}
  .booking-dialog .dialog-help{font-size:13px!important;line-height:1.8}
  .dialog-help a{display:inline-block;min-height:44px;padding:8px 0}
  .photo-dialog{padding:48px 44px 16px}
  .photo-prev,.photo-next{width:44px;height:56px}
  .photo-dialog figcaption{font-size:12px}
  .photo-dialog figure img{max-height:calc(100dvh - 160px);touch-action:pan-y pinch-zoom}
}
@media(max-width:370px){
  .container{margin-left:16px;margin-right:16px}
  .hero-copy .eyebrow{font-size:8px;letter-spacing:1.1px}
  .service-row{flex-direction:column;gap:5px}
  .service-price{margin-top:0}
  .studio-detail{font-size:12px;gap:8px}
  .service-menu .filter,.filter{font-size:12px;padding:11px 12px}
}
@media(max-height:500px) and (orientation:landscape){
  .header{position:relative}
  .photo-dialog figure img{max-height:calc(100dvh - 120px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Portfolio imported from the InNails Telegram export. */
#gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
#gallery .work{overflow:hidden;border-radius:12px;background:var(--paper);box-shadow:0 3px 16px #283c350a}
#gallery .work img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:12px 12px 0 0}
#gallery .work>span{margin:0;padding:12px 16px;min-height:52px;align-items:center;font-size:13px}
.gallery-count{margin-top:18px;color:var(--muted);font-size:12px}
@media(max-width:1024px){#gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:600px){#gallery{grid-template-columns:minmax(0,1fr);gap:20px}}
/* Team portraits and names supplied by the studio. */
.masters-section{border-top:1px solid var(--line)}
.masters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
.master-card{min-width:0;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:12px}
.master-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 30%}
.master-info{padding:20px 22px 24px}
.master-info h3{font:28px/1.2 var(--serif)}
.master-info p{margin-top:8px;font-size:13px;line-height:1.6;color:var(--muted)}
.masters-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px}
.masters-footer p{font-size:14px;color:var(--muted)}
@media(min-width:701px) and (max-width:1150px){.header-inner{gap:14px}.navigation{gap:14px}.header-book{padding:10px 14px;gap:12px}}
@media(max-width:1024px){.masters-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}}
@media(max-width:600px){.masters-grid{grid-template-columns:minmax(0,1fr);gap:24px}.masters-footer{align-items:stretch;flex-direction:column;gap:16px}.master-info{padding:18px 20px 22px}.masters-footer .button{width:100%}}
/* Prelaunch accessibility and external service fallbacks. */
:root{--muted:#536259}
.comfort-grid>div>span{color:#536259}
.gift-card{color:var(--ink)}
.booking-option.is-selected{border-color:var(--green);background:var(--light-sage)}
.map-fallback{padding:16px 20px;font-size:14px;line-height:1.7}
.map-fallback a{text-decoration:underline;text-underline-offset:3px}
.social-links{flex-wrap:wrap}
input:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:700px){.filter,.menu-toggle,.photo-prev,.photo-next,.dialog-close{min-width:44px;min-height:44px}.photo-prev{left:0}.photo-next{right:0}.photo-dialog{padding-left:46px;padding-right:46px}.footer-main>p,.footer-bottom,.studio-note,.service-row p,.price-note,.booking-option small{font-size:12px}.service-row h3,.faq-list summary{font-size:14px}.cookie-dialog .cookie-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Booking consent and optional external content */
[hidden]{display:none!important}
.operator-line{margin-top:24px;font-size:12px;line-height:1.8;color:var(--muted)}
.booking-field{display:grid;gap:8px;font-size:14px;margin:22px 0 16px}
.booking-field select{width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}
.booking-explanation,.booking-policy{font-size:13px;line-height:1.7;margin:16px 0!important;color:var(--muted)}
.consent-choice{display:flex;align-items:flex-start;gap:12px;line-height:1.65;font-size:14px;margin:20px 0;cursor:pointer}
.consent-choice input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:var(--green)}
.consent-choice a,.booking-policy a,.cookie-banner a,.cookie-dialog a{text-decoration:underline;text-underline-offset:3px}
.booking-error{color:#9a3025;font-size:13px;margin:12px 0!important}
.booking-submit{width:100%;justify-content:space-between}
.booking-submit:disabled{opacity:.5;cursor:not-allowed}
.booking-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}
.cookie-banner{position:fixed;z-index:30;left:24px;bottom:24px;width:min(540px,calc(100% - 48px));padding:22px;background:var(--paper);border:1px solid var(--sage);border-radius:12px;box-shadow:0 6px 32px #283c3526;font-size:13px;max-height:60dvh;overflow:auto}
.cookie-banner strong{font-size:16px}.cookie-banner p{margin:8px 0 14px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-button{min-height:44px;padding:10px 14px;border:1px solid var(--green);border-radius:5px;background:var(--paper);font-size:13px;flex:1 1 auto;text-align:center}
.cookie-button:hover{background:var(--light-sage)}
.cookie-dialog{position:fixed;inset:0;margin:auto;padding:42px 30px 28px;width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}
.cookie-dialog::backdrop{background:#192d246b}
.cookie-dialog h2{font-size:34px;letter-spacing:-1px;margin:16px 0}.cookie-dialog p{font-size:14px}
.cookie-dialog .cookie-note{font-size:12px;color:var(--muted);margin:18px 0}
.privacy-status{position:fixed;z-index:35;left:50%;bottom:24px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);padding:12px 18px;border:1px solid var(--sage);border-radius:8px;background:var(--paper);font-size:13px;box-shadow:0 3px 16px #283c3520}
.legal-links button{padding:0;text-align:left;text-decoration:underline;text-underline-offset:3px;font:inherit;min-height:44px}
@media(max-width:700px){.cookie-banner{left:16px;bottom:76px;width:calc(100% - 32px);padding:18px}.cookie-dialog{padding:40px 20px 22px}.cookie-dialog h2{font-size:30px}.cookie-actions{gap:8px}.cookie-button{padding:10px}.privacy-status{bottom:76px}.booking-field select{font-size:16px}.consent-choice{font-size:13px}}
/* Legal documents */
.legal-links{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:24px;margin-top:22px;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.legal-links a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-home{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.legal-document{width:calc(100% - 48px);max-width:820px;margin:64px auto 80px;font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.legal-document h1{font-size:clamp(32px,4.5vw,54px);line-height:1.15;letter-spacing:-1px;margin:20px 0 32px}
.legal-document h2{font-size:clamp(24px,3vw,32px);line-height:1.3;letter-spacing:-.5px;margin:36px 0 16px}
.legal-document p{margin:0 0 18px}.legal-document ul{padding-left:24px;margin:12px 0 22px}.legal-document li{margin-bottom:6px}
.legal-document a:not(.text-link){text-decoration:underline;text-underline-offset:3px}
.legal-details{padding:20px 24px;background:var(--light-sage);border-radius:8px;margin:24px 0}.legal-details p:last-child{margin-bottom:0}
.legal-placeholder{background:#fff0bd;color:#513e15;padding:2px 5px;border-radius:3px;box-decoration-break:clone}
.legal-draft{border-left:3px solid #a88a38;padding:20px 24px;background:#fff6dc;border-radius:4px;margin:24px 0}.legal-draft p{margin:8px 0 0}
.legal-date{color:var(--muted);font-size:14px;margin-top:36px!important}
.legal-footer{padding-bottom:36px}.legal-footer .legal-links{margin-top:0;padding-top:0;border-top:0}
@media(max-width:700px){.legal-document{margin-top:36px;margin-bottom:48px;font-size:16px}.legal-page .header-inner{gap:12px}.legal-page .legal-home{font-size:13px}.legal-links{flex-direction:column;gap:12px}.legal-links a{display:flex;align-items:center;min-height:44px}.legal-details,.legal-draft{padding:18px}.legal-footer{padding-bottom:32px}}

/* Paginated works and nonmodal cookie choice. */
.gallery-carousel{position:relative;padding:0 48px;touch-action:pan-y pinch-zoom}
.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:52px;border:1px solid var(--green);border-radius:6px;background:var(--paper);font-size:24px}
.gallery-prev{left:0}.gallery-next{right:0}
.gallery-prev:disabled,.gallery-next:disabled,.cookie-button:disabled{opacity:.4;cursor:default}
.gallery-page{margin-top:18px;font-size:13px;color:var(--muted)}
.cookie-dialog{inset:auto auto 24px 24px;margin:0;z-index:40;width:min(560px,calc(100% - 48px));max-height:55dvh;padding:20px 24px;box-shadow:0 6px 32px #283c3526;overflow-wrap:anywhere}
.cookie-dialog h2{font-size:24px;margin:0 0 10px}.cookie-dialog .consent-choice{margin:14px 0}
@media(max-width:700px){.cookie-dialog{left:12px;bottom:76px;width:calc(100% - 24px);padding:16px;max-height:55dvh}.cookie-dialog p{font-size:13px}.cookie-dialog h2{font-size:22px}.gallery-carousel{padding:0 0 62px}#gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}#gallery .work>span{padding:8px;font-size:11px;min-height:54px}.gallery-prev,.gallery-next{top:auto;bottom:0;transform:none}.gallery-prev{left:calc(50% - 54px)}.gallery-next{right:calc(50% - 54px)}}

/* Restore the original sage background behind the header logo. */
.header .brand{background:var(--sage);padding:8px 12px;border-radius:6px}
@media(max-width:700px){.header .brand{padding:5px 8px}}
