:root{--ink:#1d1917;--paper:#f8f3ef;--sand:#e9d7ca;--coral:#d67963;--pink:#f2ded7;--line:rgba(29,25,23,.16);--muted:#716965}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px}.page-shell{overflow:hidden}.site-header{height:82px;max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:18px;font-weight:800;letter-spacing:-.05em}.brand i{font-family:'Playfair Display',serif;font-weight:600}.brand-mark{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:'Playfair Display',serif;font-size:19px}.site-header nav{display:flex;gap:30px}.site-header nav a,.team-link{border:0;background:transparent;text-decoration:none;color:var(--ink);font:600 13px Manrope,sans-serif;cursor:pointer}.team-link{border-bottom:1px solid var(--ink);padding:5px 0}.lock{font-size:18px;margin-right:5px}.hero{max-width:1360px;padding:28px 42px 72px;margin:auto;display:grid;grid-template-columns:.83fr 1.17fr;min-height:600px;gap:40px}.hero-copy{align-self:center;padding:45px 0 25px}.eyebrow{font:500 11px 'DM Mono',monospace;letter-spacing:.11em;margin:0 0 18px;color:var(--coral)}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:-.055em;line-height:.94;margin:0}h1{font-size:clamp(3.8rem,7vw,6.8rem)}h2{font-size:clamp(2.55rem,4.8vw,4.9rem)}h1 em,h2 em{font-weight:600;color:var(--coral)}.lead{font-size:18px;line-height:1.55;max-width:405px;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;border-radius:0;padding:16px 21px;font:700 14px Manrope,sans-serif;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark span{font-size:19px;line-height:0}.text-link{color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px}.address{margin-top:78px;font:500 11px 'DM Mono',monospace;color:var(--muted)}.hero-visual{position:relative;min-height:530px}.hero-visual img{display:block;width:100%;height:100%;min-height:530px;object-fit:cover;object-position:center;border-radius:2px}.hero-note{position:absolute;bottom:0;left:-25px;background:var(--coral);color:#fff;width:170px;height:138px;padding:22px}.hero-note span{font:500 11px 'DM Mono',monospace;opacity:.75}.hero-note p{font-family:'Playfair Display',serif;font-size:20px;line-height:1.05;margin:19px 0 0}.section{padding:106px max(42px,calc((100vw - 1276px)/2))}.services{background:#ead9cd;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.section-heading h2{font-size:clamp(2.7rem,4.7vw,4.75rem)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.services-grid article{padding:28px 20px 20px;border-right:1px solid var(--line);min-height:238px;display:flex;flex-direction:column}.services-grid article:first-child{padding-left:0}.services-grid article:last-child{border:0}.services-grid span{font:500 11px 'DM Mono',monospace;color:var(--coral)}.services-grid h3{font:700 17px Manrope,sans-serif;letter-spacing:-.03em;margin:53px 0 9px}.services-grid p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.services-grid strong{font-size:13px;margin-top:auto}.booking{background:var(--ink);color:#fff;display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}.booking-intro{padding-top:28px}.booking-intro .eyebrow{color:#f3ad9b}.booking-intro h2{font-size:clamp(3rem,5vw,5rem)}.booking-intro p:not(.eyebrow){color:#d1c6c0;line-height:1.55;max-width:340px;margin:28px 0}.secure-line{font:500 13px 'DM Mono',monospace;color:#f2ddd5;margin-top:75px}.secure-line span{display:inline-grid;place-items:center;border:1px solid #f2ddd5;width:18px;height:18px;border-radius:50%;margin-right:7px}.booking-card{background:#fff;color:var(--ink);padding:32px;box-shadow:20px 20px 0 rgba(255,255,255,.08)}.booking-top{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:23px}.small-title,.time-label span,.week-picker span{font:500 10px 'DM Mono',monospace;letter-spacing:.09em;color:var(--muted);margin:0}.booking-top h3{font:700 22px Manrope,sans-serif;letter-spacing:-.05em;margin:5px 0 0}.step-counter{display:flex;align-items:end;gap:5px}.step-counter b{font:600 29px 'Playfair Display',serif;line-height:.9}.step-counter span{font:500 10px 'DM Mono',monospace;color:var(--muted)}.service-options{display:grid;gap:2px;padding:20px 0}.service-option{display:flex;align-items:center;text-align:left;border:1px solid transparent;background:#faf7f5;padding:14px;cursor:pointer;font-family:Manrope,sans-serif;transition:border .2s}.service-option:hover,.service-option.selected{border-color:var(--ink)}.radio{width:15px;height:15px;border:1px solid var(--ink);border-radius:50%;margin-right:11px;flex:0 0 auto}.selected .radio:after{content:'';display:block;width:7px;height:7px;background:var(--coral);border-radius:50%;margin:3px}.service-option b,.service-option small{display:block}.service-option b{font-size:13px}.service-option small{font-size:11px;color:var(--muted);margin-top:2px}.service-option em{font-size:11px;font-style:normal;font-weight:700;margin-left:auto;white-space:nowrap}.week-picker{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.week-picker div{text-align:center}.week-picker strong{display:block;font-size:13px;margin-top:4px}.week-picker button{border:0;background:transparent;font-size:18px;cursor:pointer;padding:5px}.date-row{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:17px 0 12px}.date-button{border:0;background:#faf7f5;padding:9px 2px;cursor:pointer;font:500 10px 'DM Mono',monospace;color:var(--muted)}.date-button b{display:block;color:var(--ink);font:700 15px Manrope,sans-serif;margin-top:4px}.date-button.active{background:var(--coral);color:#fff}.date-button.active b{color:#fff}.time-label{display:flex;justify-content:space-between;padding:7px 0}.time-label span:last-child{color:var(--ink)}.times{display:flex;flex-wrap:wrap;gap:7px;padding-bottom:20px}.time-button{border:1px solid var(--line);background:#fff;padding:8px 12px;font:600 12px Manrope,sans-serif;cursor:pointer}.time-button.active{background:var(--ink);color:#fff}.booking-summary{background:#f0e0d8;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.booking-summary span,.booking-summary small{display:block;font-size:10px;color:var(--muted)}.booking-summary b{display:block;font-size:13px;margin:2px 0}.booking-summary strong{font-size:20px}.booking-summary strong small{display:inline}.full{width:100%}.visit{background:#f6eee9;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:120px}.visit h2{font-size:clamp(2.8rem,5vw,5rem)}.visit div>p:not(.eyebrow){font-size:17px;line-height:1.65;margin-top:32px}.map-card{height:340px;background:#d9cabf;position:relative;overflow:hidden;padding:27px}.map-card:before,.map-card:after{content:'';position:absolute;left:-20%;width:140%;border-top:1px solid rgba(29,25,23,.15);transform:rotate(-19deg)}.map-card:before{top:34%}.map-card:after{top:66%;transform:rotate(14deg)}.map-lines{position:absolute;inset:0}.map-lines i{position:absolute;display:block;height:24px;border-left:1px solid rgba(29,25,23,.14);transform:rotate(29deg)}.map-lines i:nth-child(1){left:29%;top:-10%;height:130%}.map-lines i:nth-child(2){left:54%;top:-10%;height:130%}.map-lines i:nth-child(3){left:72%;top:-10%;height:130%}.map-lines i:nth-child(4){left:83%;top:-10%;height:130%}.map-pin{position:absolute;z-index:2;left:52%;top:45%;width:53px;height:53px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--coral);color:#fff;display:grid;place-items:center;font:600 24px 'Playfair Display',serif}.map-pin::first-letter{transform:rotate(45deg)}.map-card p{position:absolute;bottom:12px;left:27px;font:500 11px 'DM Mono',monospace;z-index:2;margin:0!important}footer{max-width:1360px;margin:auto;padding:35px 42px;display:flex;align-items:center;justify-content:space-between}footer p{color:var(--muted);font-size:12px;margin:0}.modal-backdrop{position:fixed;inset:0;background:rgba(20,17,16,.68);z-index:20;display:none;place-items:center;padding:20px}.modal-backdrop.active{display:grid}.modal{background:var(--paper);max-width:520px;width:min(100%,520px);max-height:calc(100vh - 40px);overflow:auto;padding:42px;position:relative}.modal-close{position:absolute;top:16px;right:17px;border:0;background:transparent;font-size:27px;cursor:pointer}.payment-modal h2,.confirmation-modal h2,.team-login h2{font-size:clamp(2.8rem,6vw,4.4rem)}.pay-detail{margin:28px 0;background:#ead9cd;padding:17px;display:grid;grid-template-columns:1fr auto;gap:4px}.pay-detail span{font-size:13px}.pay-detail span:nth-child(2){grid-column:1}.pay-detail strong{grid-column:2;grid-row:1/3;align-self:center;font-size:24px}label{display:block;font-size:12px;font-weight:700;margin:13px 0}input{display:block;width:100%;border:1px solid var(--line);background:#fff;padding:13px;margin-top:7px;font:14px Manrope,sans-serif}.card-demo{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);padding:13px;margin:22px 0;font-size:13px}.card-demo em{font-style:normal;color:var(--muted);margin-left:auto}.payment-note,.team-login small{display:block;font-size:11px;line-height:1.45;color:var(--muted);margin:14px 0 0}.confirmation-modal{text-align:center;max-width:440px}.success-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;font-size:27px;margin:0 auto 23px}.confirmation-modal p:not(.eyebrow){line-height:1.6;color:var(--muted);margin:20px auto;max-width:275px}.team-modal{max-width:1080px;width:min(100%,1080px);padding:0;background:#f7f2ef}.team-login{max-width:430px;padding:48px;margin:auto;text-align:center}.team-login .team-monogram{width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:600 27px 'Playfair Display',serif;margin:0 auto 25px}.team-login p:not(.eyebrow){font-size:14px;line-height:1.5;color:var(--muted);margin:20px 0;text-align:center}.team-login label{text-align:left}.team-dashboard{padding:44px}.dashboard-head{display:flex;justify-content:space-between}.dashboard-head h2{font-size:clamp(2.2rem,4vw,3.7rem)}.signout{align-self:start;border:1px solid var(--ink);background:transparent;padding:9px 13px;font:600 12px Manrope,sans-serif;cursor:pointer}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:31px 0}.dashboard-stats div{background:#e5d6ce;padding:14px}.dashboard-stats span{display:block;font:500 10px 'DM Mono',monospace;color:var(--muted)}.dashboard-stats b{font:600 24px 'Playfair Display',serif}.schedule{border:1px solid var(--line);background:#fff}.schedule-days{padding-left:55px;display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line)}.schedule-days span{text-align:center;padding:11px 3px;font:500 11px 'DM Mono',monospace;border-left:1px solid var(--line)}.schedule-days b{font-family:Manrope,sans-serif;font-size:13px}.schedule-grid{display:grid;grid-template-columns:55px repeat(6,1fr);min-height:300px}.time-axis{font:500 9px 'DM Mono',monospace;color:var(--muted);display:flex;flex-direction:column;justify-content:space-between;padding:10px 6px}.day-column{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#eee9e5 60px)}.appointment{position:absolute;left:4px;right:4px;padding:7px;font-size:9px;line-height:1.25;background:#ead9cd;min-height:52px}.appointment b,.appointment span,.appointment small{display:block}.appointment small{color:var(--muted);margin-top:2px}.a1{top:43px;background:#efcfc4}.a2{top:180px;background:#e1d3ee}.a3{top:20px;background:#cfe1d7}.a4{top:96px;background:#f2e0b9}.dashboard-note{font-size:12px;line-height:1.45;color:var(--muted);margin:17px 0 0}@media(max-width:800px){.site-header{padding:0 21px;height:70px}.site-header nav{display:none}.hero{padding:15px 21px 55px;display:flex;flex-direction:column;gap:10px}.hero-copy{padding:32px 0 10px}.hero-visual,.hero-visual img{min-height:380px}.hero-note{left:0;width:145px;height:118px}.address{margin-top:45px}.section{padding:70px 21px}.services,.booking,.visit{display:block}.services-grid{margin-top:45px}.services-grid article{min-height:208px;padding:19px 10px}.services-grid h3{margin-top:38px;font-size:14px}.services-grid p{font-size:11px}.booking-intro{padding:0 0 42px}.secure-line{margin-top:35px}.booking-card{padding:19px;box-shadow:10px 10px 0 rgba(255,255,255,.08)}.service-option{padding:11px}.service-option em{font-size:10px}.visit{display:block}.map-card{margin-top:45px;height:260px}footer{padding:26px 21px;display:block}footer p{margin:18px 0}.team-modal{padding:0}.team-dashboard{padding:26px 17px}.schedule{overflow-x:auto}.schedule-days,.schedule-grid{min-width:650px}.modal{padding:34px 22px}.hero-actions{gap:16px}.button{padding:15px 16px}.text-link{font-size:13px}}
