:root{--ink:#302d2c;--cream:#fffaf5;--paper:#fffdf9;--blush:#efd5dc;--rose:#b96f7f;--rose-deep:#a85f70;--rose-contrast:#8f4b5d;--taupe:#655c58;--char:#353331;--line:#eadfd9;--content:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}.shell{width:min(var(--content),calc(100% - 40px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:16px;left:16px;transform:translateY(-180%);padding:10px 14px;border-radius:8px;background:#fff;color:#111}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;z-index:20;top:0;background:rgba(255,253,249,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:92px}.brand{display:grid;grid-template-columns:52px auto;align-items:center;gap:12px;width:max-content;line-height:1;text-decoration:none}.brand-tower{display:block;width:52px;height:72px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;align-items:flex-start}.brand em{font:italic 2.15rem/.9 Georgia,"Times New Roman",serif;color:var(--rose-deep)}.brand strong{margin-top:7px;font:850 .82rem/1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.045em}.brand small{margin-top:6px;font-size:.5rem;font-weight:900;letter-spacing:.16em}.nav-links{display:flex;align-items:center;gap:42px}.nav-links a{text-decoration:none;font-weight:800}.nav-links .nav-cta{padding:10px 15px;border-radius:999px;background:var(--char);color:#fff}.menu-toggle{display:none;min-width:46px;min-height:46px;border:1px solid var(--line);border-radius:50%;background:var(--paper);cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 19px;border:1px solid var(--ink);border-radius:999px;background:transparent;text-decoration:none;font-weight:850}.button.dark{border-color:var(--char);background:var(--char);color:#fff}.button.wide{width:100%}.button:focus-visible,.nav-links a:focus-visible,.menu-toggle:focus-visible,.brand:focus-visible,.skip-link:focus-visible,.phone-link:focus-visible{outline:3px solid #6b4c9a;outline-offset:3px}.hero{border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:.96fr 1.04fr;align-items:stretch;min-height:660px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:92px 64px 92px 0}.eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:var(--rose-contrast)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.045em}.hero h1{max-width:640px;margin:18px 0;font-size:clamp(3.3rem,6vw,6.2rem);line-height:.91}.lede{max-width:590px;color:var(--taupe);font-size:1.09rem;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.actions.centered{justify-content:center}.hero-note{margin:22px 0 0;color:var(--taupe);font-size:.92rem}.hero-art{position:relative;display:grid;overflow:hidden;min-height:660px;margin:0;background:#f7e9e3}.hero-art:after{position:absolute;inset:12% 12% 10% 15%;border:1px solid rgba(255,255,255,.72);border-radius:200px 200px 28px 28px;content:"";pointer-events:none}.hero-art img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 72%}.intro-band{padding:25px 0;background:var(--char);color:#fff}.intro-grid{display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:center}.intro-grid .eyebrow{color:#f4bbc9}.intro-grid p{max-width:770px;margin:0;color:#e5d9d4;line-height:1.6}.section{padding:92px 0}.section.soft{background:var(--blush)}.section h2{max-width:730px;margin:12px 0 18px;font-size:clamp(2.4rem,4.3vw,4.6rem);line-height:.95}.section p{color:var(--taupe);line-height:1.7}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:30px}.section-heading>p{max-width:400px;margin:0}.section-actions{margin-top:28px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-chip{padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--paper);font-weight:850}.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.location-card{padding:34px;border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:0 12px 35px rgba(53,51,49,.04)}.location-card h3{margin:10px 0 8px;font-size:2.1rem}.location-card .address{margin:0 0 4px}.phone-link{font:700 1.25rem Georgia,serif;color:var(--rose-deep)}.hours{margin:22px 0 0;border-top:1px solid var(--line)}.hours div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.hours dt{font-weight:850}.hours dd{margin:0;color:var(--taupe);text-align:right}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{min-height:205px;padding:28px;border:1px solid var(--line);border-radius:26px;background:var(--paper);box-shadow:0 12px 35px rgba(53,51,49,.04)}.card>span{color:var(--rose);font:600 1.85rem Georgia,serif}.card h3{margin:13px 0 8px;font-size:1.55rem}.card p{margin:0}.touchup-note{margin:22px 0 0;padding:18px 20px;border-left:4px solid var(--rose);background:var(--paper)}.booking-panel{display:grid;grid-template-columns:1fr .85fr;gap:46px;align-items:center;padding:48px;border:1px solid #ead6dc;border-radius:34px;background:linear-gradient(135deg,#f2d6de,#fff4f5)}.booking-panel h2{font-size:clamp(2.3rem,4vw,4rem)}.booking-action{padding:28px;border:1px solid #ead6dc;border-radius:24px;background:rgba(255,253,249,.82)}.booking-action strong{font:700 1.35rem Georgia,serif}.booking-action p{margin:9px 0 18px}.booking-phone-list{display:grid;gap:8px;margin-top:14px}.booking-phone-list a{text-decoration:none;font-weight:800}.offer-section{padding-top:72px;padding-bottom:72px}.offer-card{padding:46px;border-radius:34px;background:var(--char);color:#fff;text-align:center}.offer-card .eyebrow{color:#f4bbc9}.offer-card h2{margin-inline:auto}.offer-card p{color:#e7ddd9;font-size:1.08rem}.offer-card strong{color:#fff}.closing-section{padding-top:78px}.promise{max-width:860px;text-align:center}.promise p{max-width:700px;margin:0 auto}.footer{padding:48px 0 90px;border-top:1px solid var(--line);background:var(--paper)}.footer-row{display:flex;justify-content:space-between;gap:40px;align-items:start}.footer-tagline{margin-top:18px!important}.footer-contact{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:26px}.footer-contact p{margin:0;color:var(--taupe);line-height:1.6}.footer-contact a{color:var(--rose-deep);font-weight:800}.location-card .actions{align-items:center}.direction-link{color:var(--rose-deep);font-weight:850;text-underline-offset:4px}.footer-meta{display:grid;gap:18px}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 18px}.footer-links a{color:var(--rose-deep);font-weight:800;text-underline-offset:4px}@media(max-width:760px){.shell{width:min(100% - 32px,var(--content))}.nav-row{min-height:76px}.brand{grid-template-columns:40px auto;gap:8px}.brand-tower{width:40px;height:58px}.brand em{font-size:1.65rem}.brand strong{margin-top:5px;font-size:.62rem}.brand small{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.nav-links{display:none;position:absolute;top:76px;right:0;left:0;padding:16px;flex-direction:column;align-items:stretch;background:rgba(255,253,249,.99);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(53,51,49,.08)}.nav-links.open{display:flex}.nav-links a{padding:12px 8px}.nav-links .nav-cta{text-align:center}.hero-grid,.cards,.booking-panel,.location-grid,.service-grid{grid-template-columns:1fr}.hero-copy{order:2;padding:44px 0 40px}.hero-art{order:1;min-height:320px}.hero-art:after{inset:14% 13% 12%;border-radius:130px 130px 22px 22px}.hero h1{font-size:clamp(3rem,13vw,4.2rem)}.intro-grid{grid-template-columns:1fr;gap:8px}.section{padding:62px 0}.section-heading{align-items:start;flex-direction:column;gap:7px;margin-bottom:24px}.booking-panel{gap:24px;padding:30px 23px}.hours div{align-items:start}.footer-row{flex-direction:column}.footer-meta{width:100%}.footer-contact{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}.direction-link:focus-visible,.footer-links a:focus-visible,.footer-contact a:focus-visible,.booking-phone-list a:focus-visible{outline:3px solid #6b4c9a;outline-offset:3px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

/* Keep sticky navigation from covering fragment-link destinations. */
html{scroll-padding-top:96px}

/* Finished cinematic welcome video. */
html.intro-running,html.intro-running body{overflow:hidden}
.site-intro[hidden]{display:none}
.site-intro{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow:hidden;background:#fff8f4;isolation:isolate}
.intro-video{display:block;width:min(96vw,calc(92dvh * 16 / 9));height:auto;aspect-ratio:16/9;max-width:96vw;max-height:92dvh;object-fit:contain;object-position:50% 50%;background:#fff8f4}
.intro-controls{position:absolute;z-index:8;top:20px;right:22px;display:flex;gap:9px}
.intro-skip,.intro-sound{min-height:40px;padding:10px 16px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(48,45,44,.84);color:#fff;font:800 .75rem/1 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.065em;text-transform:uppercase;cursor:pointer}
.intro-sound[aria-pressed="true"]{background:var(--rose-deep)}
.intro-skip:focus-visible,.intro-sound:focus-visible{outline:3px solid #fff;outline-offset:3px}
.site-intro.is-leaving{pointer-events:none;animation:introRibbonReveal .72s cubic-bezier(.7,0,.3,1) forwards}
@keyframes introRibbonReveal{0%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 0 100%);opacity:.98}}
@media(max-width:760px){.intro-video{width:100vw;max-width:100vw;max-height:100dvh}.intro-controls{top:12px;right:12px;gap:6px}.intro-skip,.intro-sound{min-height:38px;padding:9px 11px;font-size:.66rem}}
@media(prefers-reduced-motion:reduce){.site-intro{display:none!important}}