@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Manrope:wght@400;500;600&display=swap');

:root{--bg:#f8f4ee;--surface:#fffdf9;--surface-2:#f2e8e4;--ink:#282322;--muted:#6e6561;--line:#ded3ce;--accent:#bc7380;--accent-strong:#9f5966;--accent-soft:#f3dfe1;--star:#b65f70;--shadow:0 20px 55px rgba(70,45,40,.08);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif}
body[data-theme="dark"]{--bg:#0d1110;--surface:#141918;--surface-2:#1a2421;--ink:#f3efe6;--muted:#aaa9a1;--line:#34413d;--accent:#83b7a5;--accent-strong:#a7d8c7;--accent-soft:#213a33;--star:#80b9a5;--shadow:0 24px 65px rgba(0,0,0,.34)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;overflow-x:hidden;transition:background .25s,color .25s}body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.section{padding:82px 0;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent)}
.site-header{height:72px;position:relative;z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-monogram{width:44px;height:52px;object-fit:contain;filter:brightness(.28) saturate(.55)}body[data-theme="dark"] .brand-monogram{filter:none}.brand-copy{font-size:10px;line-height:1.25;letter-spacing:.01em;color:var(--ink)}.nav{display:flex;align-items:center;gap:34px}.nav a{font-size:13px;min-height:44px;display:grid;place-items:center}.nav a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:10px}.theme-toggle,.menu-toggle{min-width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink)}.theme-toggle{padding:0 12px;display:flex;align-items:center;gap:7px}.menu-toggle{display:none;padding:12px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:5px 0}.header-book{height:44px}.mobile-panel{display:none}
.card{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}body[data-page="legal"] .card h1{margin-bottom:26px}body[data-page="legal"] .card h2{font-size:30px;margin-top:36px}body[data-page="legal"] .card p,body[data-page="legal"] .card li{color:var(--muted)}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:1.02}h1{font-size:clamp(48px,6.3vw,80px);letter-spacing:-.035em}h2{font-size:clamp(38px,4vw,52px)}h3{font-size:25px}.kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:11px;font-weight:600}.btn{border:1px solid var(--line);border-radius:8px;min-height:52px;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:0;cursor:pointer;background:transparent;color:var(--ink);transition:.2s}.btn small{font-size:10px;opacity:.8}.btn:hover{border-color:var(--accent);transform:translateY(-1px)}.btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.center{text-align:center;margin-top:28px}.text-link{border:0;background:transparent;color:var(--accent-strong);padding:10px 0;min-height:44px;cursor:pointer;font-weight:600}
.hero{min-height:570px;border-bottom:1px solid var(--line);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:570px}.hero-copy{padding:72px 40px 44px 0;align-self:center;position:relative;z-index:2}.hero-lead{max-width:590px;color:var(--muted);font-size:16px;margin:24px 0 30px}.hero-actions{display:flex;gap:14px}.hero-actions .btn{min-width:210px}.hero-portrait{align-self:end;height:570px;display:flex;justify-content:center;position:relative}.hero-portrait::before{content:"";position:absolute;inset:8% -15% 0;background:var(--surface-2);border:1px solid var(--line);border-bottom:0;border-radius:50% 50% 0 0}.hero-portrait img{height:100%;width:auto;object-fit:contain;object-position:bottom;position:relative;filter:saturate(.84)}
.ratings{border-bottom:1px solid var(--line)}.rating-row{min-height:88px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rating-caption{font-size:11px;color:var(--muted);margin-right:8px}.rating-row a{border:1px solid var(--line);border-radius:7px;min-height:44px;padding:7px 14px;display:flex;align-items:center;gap:10px;font-size:11px}.rating-row b{color:var(--star)}
.section-heading{text-align:center;max-width:700px;margin:0 auto 38px}.section-heading h2{margin:4px 0 10px}.section-heading>p:last-child{color:var(--muted);margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);border-radius:12px;padding:26px;min-height:275px;background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:var(--shadow);display:flex;flex-direction:column}.line-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font:26px var(--serif);margin-bottom:18px}.service-card strong{color:var(--accent-strong);font-size:13px;margin-top:9px}.service-card p{color:var(--muted);font-size:13px;flex:1}.service-card>a{color:var(--accent-strong);font-weight:600;min-height:44px;display:flex;align-items:center}.details-panel{margin-top:16px;padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.tariffs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tariffs p{border-top:1px solid var(--line);padding-top:14px}
.reasons{padding-top:62px}.reasons-row{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}.reasons-row div{text-align:center;font-size:11px}.reasons-row i{display:grid;place-items:center;width:45px;height:45px;margin:0 auto 10px;color:var(--accent);border:1px solid var(--line);border-radius:50%;font:22px var(--serif)}
.reviews{background:color-mix(in srgb,var(--surface) 45%,transparent)}.reviews-slider{display:grid;grid-template-columns:44px 1fr 44px;gap:12px;align-items:center}.reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.reviews-track::-webkit-scrollbar{display:none}.review-slide{scroll-snap-align:start;border:1px solid var(--line);border-radius:10px;padding:24px;background:var(--surface);min-height:210px}.stars{color:var(--star);font-size:12px}.stars small{float:right;color:var(--muted)}blockquote{margin:18px 0;font-size:13px}.review-slide>small{color:var(--muted)}.review-nav{width:44px;height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:50%;font-size:26px;cursor:pointer}
.about-card{border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:230px 1fr 1.55fr;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.about-photo{min-height:360px;background:var(--surface-2)}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:top}.about-intro{padding:36px 30px}.about-intro h2{font-size:38px}.about-intro ul{list-style:none;padding:0;margin:28px 0 0;font-size:13px}.about-intro li::before{content:"✓";color:var(--accent);margin-right:9px}.accordions{padding:26px}.accordions>div{border-bottom:1px solid var(--line)}.accordions button{width:100%;min-height:60px;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left}.accordions button b{font-size:21px;color:var(--accent);font-weight:400}.accordions [id]{padding:0 0 18px;color:var(--muted);font-size:12px}.accordions [id] p{margin:7px 0}
.closing{padding-top:40px}.closing-card{border:1px solid var(--line);border-radius:12px;padding:34px;display:grid;grid-template-columns:1fr 1.2fr auto;gap:28px;align-items:center;background:var(--surface-2)}.closing-card h2{font-size:34px}.closing-card p{color:var(--muted)}.record-form{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.record-form label,.record-form legend{font-size:11px}.record-form>label{display:none}.record-form input[type=text],.record-form input[type=tel]{min-height:48px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:0 13px;min-width:0}.record-form fieldset{grid-column:1/-1;border:0;padding:0;display:flex;gap:18px}.record-form legend{float:left;margin-right:18px}.record-form .btn{grid-column:1/-1}.record-form small,.form-status{grid-column:1/-1;margin:0}.record-form a{text-decoration:underline}.form-status{color:var(--accent-strong);font-size:12px}
.in-person-choice{position:fixed;inset:0;z-index:50;display:none}.in-person-choice.is-open{display:grid;place-items:center}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.64)}.modal-panel{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:min(520px,calc(100% - 32px));padding:32px}.modal-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:28px}.modal-panel>a{min-height:70px;border:1px solid var(--line);border-radius:8px;margin-top:12px;padding:12px;display:flex;align-items:center;justify-content:space-between}.modal-panel img{width:130px;max-height:40px;object-fit:contain;object-position:left}
.footer{border-top:1px solid var(--line);padding:28px 0}.footer-grid{display:grid;grid-template-columns:1fr 1.3fr auto auto;align-items:center;gap:26px;font-size:10px;color:var(--muted)}.footer-brand>img{width:48px;height:48px;object-fit:contain}.footer nav{display:flex;gap:24px}.socials{display:flex;gap:7px}.socials a{width:44px;height:44px;display:grid;place-items:center}.socials img{width:22px;height:22px;object-fit:contain;filter:grayscale(1);opacity:.8}
*:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:3px}
@media(max-width:850px){.container{width:min(100% - 28px,680px)}.nav,.header-book{display:none}.menu-toggle{display:block}.mobile-panel{position:absolute;top:72px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);padding:12px 20px}.mobile-panel.is-open{display:grid}.mobile-panel a{min-height:48px;display:flex;align-items:center}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:52px 0 20px}.hero-portrait{height:440px}.hero{min-height:auto}.rating-row{padding:14px 0}.rating-caption{width:100%}.services-grid{grid-template-columns:1fr}.service-card{min-height:auto}.reasons-row{grid-template-columns:repeat(4,1fr);row-gap:26px}.reviews-track{grid-auto-columns:85%}.about-card{grid-template-columns:1fr 1.25fr}.about-photo{min-height:320px}.about-intro{padding:25px}.accordions{grid-column:1/-1}.closing-card{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer nav{flex-direction:column;gap:8px}.tariffs{grid-template-columns:1fr}}
@media(max-width:520px){.container{width:calc(100% - 24px)}.theme-label,.brand-copy{display:none}.brand-monogram{width:42px;height:50px}.section{padding:60px 0}h1{font-size:49px}.hero-copy{padding-top:38px}.hero-lead{font-size:14px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-portrait{height:350px}.rating-row a{flex:1 1 calc(50% - 10px);justify-content:center;padding-inline:8px}.reasons-row{grid-template-columns:repeat(2,1fr)}.reviews-slider{grid-template-columns:1fr}.review-nav{display:none}.reviews-track{grid-auto-columns:92%}.about-card{grid-template-columns:1fr}.about-photo{height:380px}.about-intro h2{font-size:36px}.closing-card{padding:24px}.record-form{grid-template-columns:1fr}.record-form input,.record-form fieldset,.record-form .btn{grid-column:1}.footer nav{display:grid}.footer-grid{gap:14px}.services-grid{gap:12px}body[data-page="legal"] .card{padding:22px!important;margin:0 auto!important}body[data-page="legal"] .card h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
