@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans Fallback;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_3d9088{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.__variable_3d9088{--font-sans:"Instrument Sans","Instrument Sans Fallback"}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond Fallback;src:local("Times New Roman");ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.00%;size-adjust:96.98%}.__className_30721a{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.__variable_30721a{--font-display:"Cormorant Garamond","Cormorant Garamond Fallback"}:root{--ink:#171717;--muted:#6c6f73;--soft:#8b8f95;--line:rgba(23,23,23,0.1);--paper:#f6f4ef;--paper-deep:#ebe7df;--surface:rgba(255,255,255,0.78);--surface-strong:#ffffff;--accent:#3f6f63;--accent-dark:#234a42;--accent-soft:#dfece7;--danger:#a83b3f;--success:#2f6f47;--radius-lg:24px;--radius-md:18px;--radius-sm:14px;--shadow-soft:0 22px 70px rgba(23,23,23,0.09);--shadow-card:0 18px 50px rgba(23,23,23,0.08);--shadow-hover:0 28px 80px rgba(23,23,23,0.14);--container:min(1160px,calc(100% - 40px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% -8%,rgba(63,111,99,.18),transparent 30%),linear-gradient(180deg,#fbfaf7 0,var(--paper) 45%,#f8f7f3 100%);color:var(--ink);font-family:var(--font-sans),system-ui,sans-serif;font-weight:450;text-rendering:optimizeLegibility;font-feature-settings:"ss01" 1,"cv01" 1}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}img,video{display:block;max-width:100%}main{overflow:hidden}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-display),Georgia,serif;font-weight:600;letter-spacing:0}h1{max-width:11ch;margin-bottom:22px;font-size:clamp(4.4rem,11vw,10.2rem);line-height:.84}h2{margin-bottom:18px;font-size:clamp(2.8rem,6.3vw,5.7rem);line-height:.9}h3{margin-bottom:10px;font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.15;font-weight:760}p{line-height:1.72}.site-header{position:fixed;inset:14px 0 auto;z-index:30;display:grid;grid-template-columns:minmax(142px,auto) 1fr auto;align-items:center;grid-gap:16px;gap:16px;width:min(1180px,calc(100% - 40px));margin:0 auto;border:1px solid rgba(255,255,255,.72);border-radius:22px;padding:6px 10px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.68)),rgba(255,255,255,.72);box-shadow:0 22px 70px rgba(23,23,23,.13),inset 0 1px 0 rgba(255,255,255,.86);-webkit-backdrop-filter:blur(28px) saturate(1.25);backdrop-filter:blur(28px) saturate(1.25)}.brand,.contact-line,.firebase-note,.footer-brand,.footer-contact a,.form-message,.outcome-list p,.principles p{display:flex;align-items:center;gap:10px}.brand{min-width:142px;padding:0;color:var(--ink);font-size:1.02rem;font-weight:720;transition:opacity .18s ease,transform .18s ease}.brand:hover{opacity:.84;transform:translateY(-1px)}.brand span{display:block}.brand img,.site-footer img{object-fit:cover}.brand img{width:60px;height:60px}.site-footer img{width:44px;height:44px}nav{justify-self:center;display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,34px);color:rgba(23,23,23,.62);font-size:.84rem;font-weight:660}.date-card,.modal-close,.nav-cta,.outline-button,.outline-light-button,.primary-button,.secondary-button,.service-row,.text-button,.time-chip,details,nav a{transition:transform .18s ease,color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}nav a{position:relative;border-radius:0;padding:10px 0}nav a:hover{color:var(--ink);background:transparent;box-shadow:none}nav a:after{position:absolute;right:0;bottom:6px;left:0;height:1px;background:currentColor;opacity:0;transform:scaleX(.55);transition:opacity .18s ease,transform .18s ease;content:""}nav a:hover:after{opacity:.42;transform:scaleX(1)}.nav-cta,.outline-button,.outline-light-button,.primary-button,.secondary-button,.text-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-weight:720;cursor:pointer;white-space:nowrap}.nav-cta{min-height:48px;border:1px solid rgba(255,255,255,.16);padding:0 18px 0 20px;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 45%),linear-gradient(135deg,var(--accent-dark),#171717);color:#fff;font-size:.86rem;box-shadow:0 14px 34px rgba(35,74,66,.22)}.primary-button,.secondary-button{border:1px solid rgba(23,23,23,.12);padding:0 24px;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 45%),linear-gradient(135deg,var(--accent-dark),#171717);box-shadow:0 16px 38px rgba(35,74,66,.22)}.secondary-button{width:100%}.outline-button,.outline-light-button{border:1px solid rgba(255,255,255,.42);padding:0 24px;color:#fff;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.outline-light-button{border-color:var(--line);color:var(--ink);background:rgba(255,255,255,.7)}.text-button{color:var(--ink)}.nav-cta:hover,.outline-button:hover,.outline-light-button:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-hover)}.nav-cta:active,.outline-button:active,.outline-light-button:active,.primary-button:active,.secondary-button:active,.service-row:active{transform:translateY(0) scale(.99)}.contact-line svg,.footer-contact svg,.nav-cta svg,.outcome-list svg,.outline-button svg,.outline-light-button svg,.primary-button svg,.principles svg,.secondary-button svg,.text-button svg,.time-chip svg{width:18px;height:18px;flex:0 0 auto}.booking,.business-intro,.contact-page,.faq-section,.page-hero,.pricing-section,.principles,.service-teaser,.services-page,.testimonial-section{width:var(--container);margin:0 auto}.home-hero{position:relative;display:flex;min-height:100svh;align-items:flex-end;padding:clamp(146px,17vw,200px) max(22px,calc((100vw - 1160px) / 2)) clamp(58px,9vw,96px);overflow:hidden;color:#fff;background:#101211}.home-copy{position:relative;z-index:2;max-width:900px}.hero-scrim,.hero-video{position:absolute;inset:0}.hero-video{width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.04);transform:scale(1.02)}.hero-scrim{z-index:1;background:linear-gradient(90deg,rgba(10,12,12,.9),rgba(10,12,12,.58) 42%,rgba(10,12,12,.16)),linear-gradient(0deg,rgba(10,12,12,.78),rgba(10,12,12,.2) 48%,transparent)}.eyebrow{margin:0 0 14px;color:var(--accent);font-size:.72rem;font-weight:760;letter-spacing:.16em;text-transform:uppercase}.hero-eyebrow{color:rgba(255,255,255,.76)}.booking .section-heading p,.business-intro p,.contact-copy p,.home-copy>p:not(.eyebrow),.page-hero p,.pricing-section>div>p{max-width:680px;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.74}.home-copy>p:not(.eyebrow){color:rgba(255,255,255,.84);font-size:clamp(1.12rem,1.8vw,1.34rem)}.hero-actions,.home-copy h1,.home-copy>p{animation:rise .76s ease both}.home-copy>p{animation-delay:80ms}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;animation-delay:.15s}.business-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.78fr);grid-gap:clamp(34px,7vw,92px);gap:clamp(34px,7vw,92px);align-items:center;padding:clamp(86px,12vw,150px) 0}.outcome-list{display:grid;grid-gap:10px;gap:10px;margin:28px 0 30px}.outcome-list p{margin:0;color:var(--ink);font-size:.98rem;font-weight:650}.outcome-list svg,.principles svg{color:var(--accent)}.business-gallery{display:grid;grid-template-columns:.86fr 1fr;grid-gap:16px;gap:16px;align-items:end}.business-gallery img,.page-hero img{border:1px solid rgba(255,255,255,.75);border-radius:var(--radius-lg);object-fit:cover;box-shadow:var(--shadow-soft)}.business-gallery img:first-child{aspect-ratio:4/5}.business-gallery img:last-child{aspect-ratio:3/4;margin-bottom:52px}.service-teaser{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;padding-bottom:clamp(86px,11vw,140px)}.service-teaser a{position:relative;display:grid;min-height:clamp(330px,36vw,460px);align-content:end;grid-gap:10px;gap:10px;overflow:hidden;border:1px solid rgba(255,255,255,.52);border-radius:var(--radius-lg);padding:26px;color:#fff;background:#171717;box-shadow:var(--shadow-card);isolation:isolate;transition:transform .22s ease,box-shadow .22s ease}.service-teaser a:hover{transform:translateY(-7px);box-shadow:var(--shadow-hover)}.service-teaser a>div,.service-teaser img{position:absolute;inset:0}.service-teaser img{z-index:-2;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .52s ease}.service-teaser a:hover img{transform:scale(1.08)}.service-teaser a>div{z-index:-1;background:linear-gradient(180deg,rgba(23,23,23,.02),rgba(23,23,23,.36) 42%,rgba(23,23,23,.86)),linear-gradient(120deg,rgba(63,111,99,.36),transparent 50%)}.service-teaser strong{max-width:10ch;font-family:var(--font-display),Georgia,serif;font-size:clamp(2.35rem,4.4vw,3.8rem);line-height:.9}.service-teaser span{color:rgba(255,255,255,.78);font-weight:650}.section-kicker{max-width:760px;margin-bottom:30px}.faq-section,.pricing-section,.testimonial-section{padding-bottom:clamp(86px,11vw,140px)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.booking-form,.booking-summary,.contact-form,.pricing-card,.principles p,.testimonial-card,details{border:1px solid rgba(255,255,255,.72);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.testimonial-card{min-height:260px;padding:24px}.testimonial-card p{margin:18px 0 26px;color:var(--ink);font-size:1.04rem;font-weight:520}.testimonial-card span,.testimonial-card strong{display:block}.testimonial-card span{margin-top:4px;color:var(--muted);font-size:.92rem;font-weight:760}.stars{display:flex;gap:4px;color:var(--accent)}.stars svg{width:16px;height:16px}.pricing-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);grid-gap:24px;gap:24px;align-items:stretch}.pricing-card{display:grid;align-content:center;grid-gap:8px;gap:8px;min-height:320px;padding:30px}.pricing-card span{color:var(--muted);font-size:.78rem;font-weight:920;letter-spacing:.14em;text-transform:uppercase}.pricing-card strong{font-family:var(--font-display),Georgia,serif;font-size:clamp(4.8rem,9vw,7rem);line-height:.9}.pricing-card p{color:var(--muted);font-weight:760}.faq-list{display:grid;grid-gap:12px;gap:12px}details{padding:22px 24px}details:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}summary{cursor:pointer;color:var(--ink);font-size:clamp(1rem,1.5vw,1.16rem);font-weight:720;line-height:1.35}details p{max-width:760px;margin:14px 0 0;color:var(--muted)}.page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.64fr);grid-gap:clamp(34px,7vw,86px);gap:clamp(34px,7vw,86px);align-items:end;padding:clamp(146px,14vw,188px) 0 clamp(46px,7vw,86px)}.about-hero h1,.contact-page h1,.page-hero.compact h1{max-width:820px;font-size:clamp(3.3rem,8vw,7.2rem)}.page-hero img{width:100%;aspect-ratio:4/5}.about-hero img{aspect-ratio:3/4;object-position:center 42%}.services-page{display:grid;grid-gap:14px;gap:14px;padding-bottom:clamp(80px,11vw,140px)}.service-row{position:relative;width:100%;min-height:156px;display:grid;grid-template-columns:56px minmax(0,1fr) auto 44px;grid-gap:clamp(16px,4vw,38px);gap:clamp(16px,4vw,38px);align-items:center;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius-lg);padding:24px;background:rgba(255,255,255,.68);color:inherit;text-align:left;cursor:pointer;box-shadow:0 12px 36px rgba(23,23,23,.05);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.service-row:hover{transform:translateY(-4px);border-color:rgba(63,111,99,.25);background:#fff;box-shadow:var(--shadow-hover)}.service-row>span{display:grid;width:46px;height:46px;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--accent-dark);background:rgba(223,236,231,.78);font-size:.78rem;font-weight:920}.service-row h2{margin-bottom:8px;color:var(--ink);font-size:clamp(2rem,4.4vw,3.7rem)}.service-row p{max-width:720px;margin-bottom:12px;color:var(--muted)}.service-row div small{color:var(--soft);font-size:.82rem;font-weight:650}.service-row>strong{display:grid;justify-items:end;grid-gap:4px;gap:4px;font-size:clamp(1.4rem,3vw,2.1rem);font-weight:760}.service-row>strong small{color:var(--soft);font-size:.78rem;font-weight:640}.service-arrow{width:22px;height:22px;color:var(--accent)}.booking{padding:clamp(70px,10vw,126px) 0}.booking .section-heading{max-width:790px;margin-bottom:34px}.booking-grid,.contact-page{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(320px,1fr);grid-gap:20px;gap:20px;align-items:start}.booking-summary{position:-webkit-sticky;position:sticky;top:116px;padding:28px}.summary-icon{display:grid;width:52px;height:52px;place-items:center;margin-bottom:24px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-dark));box-shadow:0 14px 28px rgba(35,74,66,.24)}.summary-icon svg{width:24px;height:24px}.booking-summary p{color:var(--muted)}.summary-facts{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin:24px 0}.summary-facts span{min-height:52px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px;background:rgba(255,255,255,.72);font-weight:860}.firebase-note{align-items:flex-start;color:var(--success);font-size:.9rem;font-weight:800}.booking-form,.contact-form{display:grid;grid-gap:16px;gap:16px;padding:clamp(20px,4vw,28px)}.selected-service-pill{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:5px 16px;gap:5px 16px;border:1px solid rgba(63,111,99,.18);border-radius:var(--radius-md);padding:17px;background:linear-gradient(135deg,rgba(223,236,231,.82),rgba(255,255,255,.8))}.selected-service-pill span{grid-column:1/-1;color:var(--muted);font-size:.74rem;font-weight:920;letter-spacing:.12em;text-transform:uppercase}.selected-service-pill strong{font-size:1.05rem}.selected-service-pill small{color:var(--accent-dark);font-size:1rem;font-weight:920}.calendar-picker,.time-picker{display:grid;grid-gap:10px;gap:10px}.calendar-picker>span,.time-picker>span,label{color:var(--ink);font-size:.82rem;font-weight:650}.time-chip{border:1px solid rgba(23,23,23,.1);border-radius:var(--radius-md);background:rgba(255,255,255,.78);color:var(--ink);cursor:pointer}.availability-calendar{display:grid;grid-gap:12px;gap:12px;border:1px solid rgba(23,23,23,.09);border-radius:22px;padding:14px;background:rgba(255,255,255,.68)}.calendar-header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;grid-gap:10px;gap:10px}.calendar-header strong{text-align:center;font-size:1rem;font-weight:780}.calendar-header button{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(23,23,23,.1);border-radius:999px;background:rgba(255,255,255,.72);color:var(--ink);cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.calendar-header button:hover{transform:translateY(-1px);background:#fff;box-shadow:0 10px 24px rgba(23,23,23,.08)}.calendar-header svg{width:18px;height:18px}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:7px;gap:7px}.calendar-weekdays span{color:var(--muted);font-size:.7rem;font-weight:780;text-align:center}.calendar-day{display:grid;min-height:66px;align-content:center;justify-items:center;grid-gap:3px;gap:3px;border:1px solid rgba(23,23,23,.07);border-radius:15px;background:rgba(255,255,255,.52);color:rgba(23,23,23,.34);cursor:default;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.calendar-day span{font-size:.98rem;font-weight:780}.calendar-day small{color:inherit;font-size:.62rem;font-weight:760;opacity:.72}.calendar-day.muted{opacity:.38}.calendar-day.available{color:var(--accent-dark);background:rgba(223,236,231,.68);cursor:pointer}.calendar-day.selectable:not(.available){color:rgba(23,23,23,.72);background:rgba(255,255,255,.7);cursor:pointer}.calendar-day.available:hover,.calendar-day.selectable:hover,.time-chip:hover{transform:translateY(-2px);border-color:rgba(63,111,99,.28);box-shadow:0 12px 32px rgba(23,23,23,.08)}.calendar-day.active,.time-chip.active{border-color:rgba(63,111,99,.25);color:#fff;background:linear-gradient(135deg,var(--accent-dark),#171717);box-shadow:0 16px 36px rgba(35,74,66,.24)}.time-options{display:flex;flex-wrap:wrap;gap:10px}.time-chip{display:inline-flex;min-height:46px;align-items:center;gap:8px;padding:0 16px;font-weight:650}.two-column{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:15px;gap:15px}label{display:grid;grid-gap:8px;gap:8px}input,select,textarea{width:100%;border:1px solid rgba(23,23,23,.12);border-radius:var(--radius-sm);background:rgba(255,255,255,.84);color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input,select{height:52px;padding:0 14px}textarea{resize:vertical;padding:14px}input:focus,select:focus,textarea:focus{border-color:rgba(63,111,99,.65);background:#fff;box-shadow:0 0 0 4px rgba(63,111,99,.12)}.empty-state{border:1px dashed rgba(23,23,23,.16);padding:18px;color:var(--muted);background:rgba(255,255,255,.58);font-weight:760}.empty-state,.form-message{margin:0;border-radius:var(--radius-md)}.form-message{align-items:flex-start;padding:13px 14px;font-size:.92rem;font-weight:800}.form-message.success{color:var(--success);background:rgba(232,247,237,.9)}.form-message.error{color:var(--danger);background:rgba(255,240,241,.94)}.booking-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:clamp(16px,4vw,40px)}.booking-overlay-backdrop{position:absolute;inset:0;border:0;background:rgba(12,14,14,.62);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer}.booking-modal{position:relative;z-index:1;width:min(880px,100%);max-height:min(780px,calc(100vh - 32px));overflow:auto;border:1px solid rgba(255,255,255,.74);border-radius:28px;padding:clamp(22px,4vw,38px);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,244,238,.96)),#fff;box-shadow:0 44px 140px rgba(0,0,0,.34)}.modal-close{position:absolute;top:18px;right:18px;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.76);color:var(--ink);cursor:pointer}.modal-close:hover{transform:rotate(4deg) scale(1.04);background:#fff}.modal-close svg{width:18px;height:18px}.modal-heading{display:grid;grid-gap:10px;gap:10px;max-width:650px;margin-bottom:26px;padding-right:48px}.modal-heading span{color:var(--accent);font-size:.76rem;font-weight:920;letter-spacing:.14em;text-transform:uppercase}.modal-heading h2{margin:0;font-size:clamp(2.45rem,6vw,4.7rem)}.modal-action{margin-top:24px}.modal-form{border:0;padding:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.principles{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;padding-bottom:clamp(86px,11vw,140px)}.principles p{align-items:flex-start;min-height:154px;margin:0;padding:20px;color:var(--ink);font-weight:820}.contact-page{padding:clamp(146px,14vw,188px) 0 clamp(86px,11vw,140px)}.contact-line{display:grid;max-width:560px;grid-gap:10px;gap:10px;margin-top:28px}.contact-line a{display:grid;grid-template-columns:22px auto;grid-gap:2px 12px;gap:2px 12px;align-items:center;border:1px solid rgba(63,111,99,.12);border-radius:16px;padding:13px 15px;color:var(--accent-dark);background:rgba(255,255,255,.44);box-shadow:0 10px 28px rgba(23,23,23,.04);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.contact-line a:hover{transform:translateY(-2px);border-color:rgba(63,111,99,.22);background:rgba(255,255,255,.74);box-shadow:0 16px 38px rgba(23,23,23,.08)}.contact-line a svg{grid-row:1/3;width:21px;height:21px;color:var(--accent)}.contact-line span{color:var(--muted);font-size:.7rem;font-weight:780;letter-spacing:.12em;text-transform:uppercase}.contact-line strong{color:var(--accent-dark);font-size:clamp(.98rem,1.6vw,1.18rem);font-weight:760;overflow-wrap:anywhere}.site-footer{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:start;grid-gap:clamp(28px,5vw,64px);gap:clamp(28px,5vw,64px);width:100%;margin-top:clamp(36px,7vw,80px);padding:clamp(42px,7vw,70px) max(22px,calc((100vw - 1160px) / 2));color:#fff;background:radial-gradient(circle at 10% 0,rgba(63,111,99,.18),transparent 30%),linear-gradient(145deg,#141615,#080909 68%)}.footer-brand{align-items:center;gap:20px}.footer-admin-link{display:inline-flex;border-radius:18px;transition:transform .18s ease,opacity .18s ease}.footer-admin-link:hover{opacity:.86;transform:translateY(-1px)}.footer-admin-link:focus-visible{outline:2px solid rgba(255,255,255,.72);outline-offset:5px}.footer-brand img{width:96px;height:96px;border-color:rgba(255,255,255,.22)}.footer-brand div{display:grid;grid-gap:6px;gap:6px}.footer-brand strong{font-family:var(--font-display),Georgia,serif;font-size:clamp(2.4rem,5vw,4.6rem);font-weight:500;line-height:.9}.footer-brand span{max-width:340px;color:rgba(255,255,255,.6);font-size:.98rem;font-weight:430}.footer-contact{display:grid;justify-content:end;grid-gap:10px;gap:10px;grid-column:2}.footer-contact a{display:grid;grid-template-columns:18px auto;grid-gap:2px 10px;gap:2px 10px;align-items:center;min-width:260px;border-radius:14px;padding:8px 10px;color:rgba(255,255,255,.78);font-size:.94rem;font-weight:520}.footer-contact a svg{grid-row:1/3;color:rgba(255,255,255,.46)}.footer-contact a span{color:rgba(255,255,255,.42);font-size:.68rem;font-weight:720;letter-spacing:.12em;text-transform:uppercase}.footer-contact a strong{color:rgba(255,255,255,.82);font-weight:520}.footer-contact a:hover{color:#fff;background:rgba(255,255,255,.06);transform:translateX(2px)}.footer-contact a:hover strong{color:#fff}.spin{animation:spin .8s linear infinite}.admin-panel{width:var(--container);margin:0 auto;padding:clamp(136px,13vw,176px) 0 clamp(76px,10vw,132px)}.admin-card{border:1px solid rgba(255,255,255,.72);border-radius:28px;padding:clamp(20px,4vw,34px);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-heading{max-width:760px;margin-bottom:28px}.admin-heading h1{max-width:860px;margin-bottom:16px;font-size:clamp(3rem,7vw,6.6rem)}.admin-heading p:not(.eyebrow){color:var(--muted);font-size:clamp(1rem,1.5vw,1.16rem)}.admin-warning{border:1px solid rgba(168,59,63,.18);border-radius:18px;padding:14px 16px;color:var(--danger);background:rgba(255,240,241,.8);font-weight:720}.admin-login{display:grid;max-width:520px;grid-gap:14px;gap:14px;border:1px solid rgba(23,23,23,.08);border-radius:24px;padding:20px;background:rgba(255,255,255,.58)}.admin-session{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px;border:1px solid rgba(63,111,99,.12);border-radius:18px;padding:12px 14px;background:rgba(223,236,231,.52)}.admin-session,.admin-session button{align-items:center;color:var(--accent-dark);font-weight:720}.admin-session button{display:inline-flex;gap:8px;border:1px solid rgba(63,111,99,.16);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.72);cursor:pointer}.admin-session svg{width:16px;height:16px}.admin-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(320px,1fr);grid-gap:20px;gap:20px;align-items:start}.admin-slots{display:grid;grid-gap:18px;gap:18px;border:1px solid rgba(23,23,23,.08);border-radius:24px;padding:20px;background:rgba(255,255,255,.58)}.admin-slots>div>span,.selected-slots>span{color:var(--muted);font-size:.72rem;font-weight:820;letter-spacing:.13em;text-transform:uppercase}.admin-slots h2{margin:6px 0 0;font-size:clamp(2rem,4vw,3.7rem)}.slot-presets{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px}.custom-slot button,.selected-slots button,.slot-toggle{border:1px solid rgba(23,23,23,.1);border-radius:999px;background:rgba(255,255,255,.74);color:var(--ink);cursor:pointer;font-weight:720;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.slot-toggle{min-height:42px}.custom-slot button:hover,.selected-slots button:hover,.slot-toggle:hover{transform:translateY(-1px);background:#fff;box-shadow:0 10px 24px rgba(23,23,23,.08)}.slot-toggle.active{border-color:rgba(63,111,99,.25);color:#fff;background:linear-gradient(135deg,var(--accent-dark),#171717)}.custom-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.custom-slot button{display:inline-flex;min-height:52px;align-items:center;gap:8px;padding:0 16px}.admin-actions svg,.custom-slot svg,.selected-slots svg{width:17px;height:17px}.selected-slots{display:grid;grid-gap:10px;gap:10px}.selected-slots>div{display:flex;flex-wrap:wrap;gap:8px}.selected-slots button{display:inline-flex;min-height:38px;align-items:center;gap:8px;padding:0 12px}.selected-slots p{margin:0;color:var(--muted)}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.admin-bookings{display:grid;grid-gap:18px;gap:18px;margin-top:22px;border:1px solid rgba(23,23,23,.08);border-radius:24px;padding:clamp(18px,3vw,24px);background:rgba(255,255,255,.58)}.admin-bookings-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}.admin-bookings-heading span,.booking-record-main span{color:var(--muted);font-size:.72rem;font-weight:820;letter-spacing:.13em;text-transform:uppercase}.admin-bookings-heading h2{margin:5px 0 0;font-size:clamp(2rem,4vw,3.6rem)}.admin-bookings-heading button{display:inline-flex;min-height:42px;align-items:center;gap:8px;border:1px solid rgba(23,23,23,.1);border-radius:999px;padding:0 14px;color:var(--ink);background:rgba(255,255,255,.76);cursor:pointer;font-weight:760;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.admin-bookings-heading button:hover{transform:translateY(-1px);background:#fff;box-shadow:0 10px 24px rgba(23,23,23,.08)}.admin-bookings-heading button:disabled{cursor:not-allowed;opacity:.62}.admin-bookings-heading svg{width:16px;height:16px}.booking-records{display:grid;grid-gap:12px;gap:12px}.booking-record{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,auto);grid-gap:14px 18px;gap:14px 18px;border:1px solid rgba(23,23,23,.08);border-radius:20px;padding:16px;background:rgba(255,255,255,.76);box-shadow:0 12px 28px rgba(23,23,23,.05)}.booking-record-main{display:grid;grid-gap:5px;gap:5px}.booking-record-main h3{margin:0;color:var(--ink);font-size:clamp(1.45rem,2.5vw,2.1rem);line-height:.95}.booking-record-main p,.booking-record-notes{margin:0;color:var(--muted);font-size:.96rem;line-height:1.5}.booking-record-details{display:grid;justify-items:end;grid-gap:7px;gap:7px;color:var(--ink)}.booking-record-details strong{font-size:1rem;font-weight:820}.booking-record-details span{border-radius:999px;padding:5px 9px;color:var(--accent-dark);background:rgba(223,236,231,.78);font-size:.74rem;font-weight:820;text-transform:capitalize}.booking-record-contact{display:flex;flex-wrap:wrap;grid-column:1/-1;gap:9px}.booking-record-contact a{display:inline-flex;min-height:36px;align-items:center;gap:7px;border:1px solid rgba(63,111,99,.12);border-radius:999px;padding:0 11px;color:var(--accent-dark);background:rgba(248,247,243,.82);font-size:.9rem;font-weight:720;text-decoration:none;overflow-wrap:anywhere}.booking-record-contact svg{width:15px;height:15px;flex:0 0 auto}.booking-record-notes{grid-column:1/-1;border-top:1px solid rgba(23,23,23,.07);padding-top:12px}.admin-empty-state{margin:0;border:1px dashed rgba(23,23,23,.14);border-radius:18px;padding:18px;color:var(--muted);background:rgba(255,255,255,.44);font-weight:650}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media (max-width:920px){.site-header{grid-template-columns:1fr auto;gap:10px 14px;border-radius:26px}nav{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:space-between;overflow-x:auto}.nav-cta{justify-self:end}.admin-grid,.booking-grid,.business-intro,.contact-page,.page-hero,.pricing-section{grid-template-columns:1fr}.home-hero{min-height:840px}.booking-summary{position:static}.principles,.service-teaser,.testimonial-grid{grid-template-columns:repeat(2,1fr)}.site-footer{grid-template-columns:1fr}.footer-contact{grid-column:auto;justify-content:flex-start}.booking-record{grid-template-columns:1fr}.booking-record-details{justify-items:start}}@media (max-width:660px){:root{--container:min(100% - 28px,1160px)}.site-header{inset:8px 0 auto;gap:8px 12px;width:min(100% - 20px,1180px);padding:6px 8px}.brand{min-width:0;padding:0}.brand img{width:50px;height:50px}.brand span{font-size:.98rem}nav{gap:16px;justify-content:flex-start}nav a{flex:1 0 auto;padding:8px 0;font-size:.82rem;text-align:center}.nav-cta{min-height:40px;padding:0 14px;font-size:.8rem}.home-hero{min-height:780px;padding-inline:18px}h1{font-size:clamp(3.9rem,22vw,6.6rem)}h2{font-size:clamp(2.35rem,13vw,4rem)}.hero-actions,.modal-actions{align-items:stretch;flex-direction:column}.outline-button,.outline-light-button,.primary-button,.secondary-button{width:100%}.principles,.service-teaser,.slot-presets,.testimonial-grid,.two-column{grid-template-columns:1fr}.service-row{grid-template-columns:1fr auto;gap:14px}.service-row div,.service-row>span{grid-column:1/-1}.service-row>strong{justify-items:start}.service-arrow{justify-self:end}.booking-overlay{align-items:end;padding:10px}.booking-modal{max-height:calc(100vh - 20px);border-radius:24px}.summary-facts{grid-template-columns:1fr}.site-footer{padding:38px 22px}.footer-brand{align-items:flex-start}.footer-brand img{width:82px;height:82px}.footer-contact{gap:8px;width:100%}.footer-contact a{min-width:0;width:100%}.admin-panel{padding-top:132px}.admin-actions,.custom-slot{grid-template-columns:1fr;flex-direction:column}.admin-bookings-heading{align-items:stretch}.admin-bookings-heading button,.booking-record-contact a{width:100%}.availability-calendar{padding:10px}.calendar-grid,.calendar-weekdays{gap:5px}.calendar-day{min-height:48px;border-radius:12px}.calendar-day span{font-size:.88rem}.calendar-day small{display:none}}