:root{--berry:#651c32;--berry-dark:#33111d;--rose:#d7557d;--blush:#fde9ef;--shell:#fff7f8;--sage:#6e8b79;--ink:#241c21;--muted:#6b5c64;--line:#651c3224;--white:#fff;--font-display:"Cormorant Garamond", "Bodoni 72", Georgia, serif;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--shell);color:var(--ink);font-family:var(--font-sans), Arial, sans-serif;margin:0}a{color:inherit;text-decoration:none}.hero{isolation:isolate;grid-template-rows:auto 1fr;min-height:92svh;display:grid;position:relative;overflow:hidden}.heroImage{object-fit:cover;object-position:center;z-index:-2}.heroOverlay{z-index:-1;background:linear-gradient(90deg,#1f0c14c7 0%,#3c13228f 44%,#fff7f80a 100%),linear-gradient(#1a090f47,#1a090f26);position:absolute;inset:0}.topbar{width:min(1160px,100% - 40px);color:var(--white);justify-content:space-between;align-items:center;gap:18px;margin:0 auto;padding:22px 0;display:flex}.brand{letter-spacing:0;align-items:center;gap:14px;font-weight:800;display:inline-flex}.brandMark{background:var(--white);border:1px solid #ffffff6b;border-radius:999px;place-items:center;width:58px;height:58px;display:inline-grid;overflow:hidden;box-shadow:0 12px 34px #33111d2e}.brandLogo{object-fit:cover;width:100%;height:100%}.navLinks{color:#ffffffe0;align-items:center;gap:24px;font-size:.94rem;display:flex}.navLinks a:hover,.iconButton:hover{color:var(--white)}.iconButton{color:#ffffffe6;background:#ffffff1f;border:1px solid #ffffff52;border-radius:999px;place-items:center;width:44px;height:44px;display:inline-grid}.heroContent{width:min(1160px,100% - 40px);color:var(--white);align-self:center;margin:0 auto;padding:84px 0 118px}.eyebrow{color:var(--rose);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:.79rem;font-weight:800}.hero .eyebrow{color:#ffc2d4}h1,h2,h3,p{overflow-wrap:anywhere}h1{max-width:760px;font-family:var(--font-display), Georgia, serif;letter-spacing:0;margin:0;font-size:clamp(4.6rem,11vw,8.6rem);line-height:.86}.heroText{color:#ffffffe6;max-width:650px;margin:28px 0 0;font-size:clamp(1.06rem,2vw,1.28rem);line-height:1.7}.heroActions,.visitActions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px;display:flex}.primaryButton,.secondaryButton,.outlineButton{border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:14px 20px;font-weight:800;line-height:1.1;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.primaryButton{background:var(--rose);color:var(--white);box-shadow:0 18px 42px #5f183047}.secondaryButton{color:var(--white);background:#ffffff29;border:1px solid #ffffff52}.outlineButton{border:1px solid var(--line);color:var(--berry);background:var(--white)}.primaryButton:hover,.secondaryButton:hover,.outlineButton:hover{transform:translateY(-2px)}.heroFacts{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.heroFacts span{color:#ffffffe6;background:#ffffff21;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:9px;padding:11px 14px;font-size:.94rem;display:inline-flex}.section{width:min(1160px,100% - 40px);margin:0 auto;padding:84px 0}.sectionHeader{max-width:720px}h2{color:var(--berry-dark);font-family:var(--font-display), Georgia, serif;letter-spacing:0;margin:0;font-size:clamp(2.4rem,5vw,4.3rem);line-height:.98}.intro{grid-template-columns:1.1fr .9fr;align-items:end;gap:50px;display:grid}.introGrid{gap:14px;display:grid}.highlight{border:1px solid var(--line);background:var(--white);min-height:76px;color:var(--berry);border-radius:8px;align-items:center;gap:14px;padding:18px;font-weight:800;display:flex;box-shadow:0 18px 42px #561e300f}.services{border-top:1px solid var(--line)}.serviceGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:38px;display:grid}.serviceCard{border:1px solid var(--line);background:var(--white);border-radius:8px;flex-direction:column;min-height:252px;padding:22px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 52px #561e3012}.serviceCard:before{content:"";background:linear-gradient(90deg, var(--rose), var(--sage));transform-origin:0;height:4px;transition:transform .18s;position:absolute;inset:0 0 auto;transform:scaleX(0)}.serviceIcon{background:var(--blush);width:46px;height:46px;color:var(--sage);border-radius:999px;place-items:center;transition:background .18s,color .18s,transform .18s;display:inline-grid}.serviceCard h3{color:var(--berry-dark);font-family:var(--font-display), Georgia, serif;letter-spacing:0;margin:34px 0 10px;font-size:clamp(1.62rem,2vw,2rem);line-height:1}.serviceCard p,.visit p{color:var(--muted);margin:0;line-height:1.7}.serviceCta{color:var(--rose);align-items:center;gap:4px;margin-top:auto;padding-top:18px;font-size:.86rem;font-weight:800;display:inline-flex}.serviceCard:hover,.serviceCard:focus-visible{border-color:#d7557d73;outline:0;transform:translateY(-5px);box-shadow:0 28px 70px #561e3021}.serviceCard:hover:before,.serviceCard:focus-visible:before{transform:scaleX(1)}.serviceCard:hover .serviceIcon,.serviceCard:focus-visible .serviceIcon{background:var(--rose);color:var(--white);transform:rotate(-4deg)scale(1.04)}.visit{background:var(--berry-dark);width:100%;color:var(--white);grid-template-columns:minmax(0,680px) minmax(360px,520px);justify-content:space-between;align-items:start;gap:34px;margin:0;padding:78px max(20px,50vw - 580px);display:grid}.visit h2{color:var(--white)}.visit p{color:#ffffffc7;max-width:620px;margin-top:18px}.visitActions{flex-flow:column;justify-content:center;place-self:center end;align-items:stretch;width:min(100%,520px);margin-top:0}:is(.visit:has(.appointmentPanel) .visitActions,.visit:has(.appointmentPanel) .visitContent){align-self:start}.appointment{width:100%}.scheduleButton,.confirmSchedule{cursor:pointer;width:100%;font:inherit;border:0}.appointmentPanel{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:8px;width:100%;margin-top:14px;padding:16px;box-shadow:0 18px 46px #0000002e}.appointmentField{gap:9px;min-width:0;display:grid}.appointmentField+.appointmentField{margin-top:16px}.appointmentField label,.fieldLabel{color:var(--white);font-size:.92rem;font-weight:800}.appointmentField input{appearance:none;background:var(--white);width:100%;min-width:0;max-width:100%;min-height:48px;color:var(--berry-dark);font:inherit;border:1px solid #fff3;border-radius:8px;padding:0 14px;font-weight:800;display:block}.fieldHint{color:#ffffffb8;font-size:.84rem}.fieldHint.error{color:#ffc2d4}.timeGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.timeSlot{color:#ffffffe0;cursor:pointer;min-height:42px;font:inherit;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:.88rem;font-weight:800;display:inline-flex}.timeSlot.selected{border-color:var(--rose);background:var(--rose);color:var(--white)}.confirmSchedule{margin-top:16px}.confirmSchedule.disabled{pointer-events:none;opacity:.55}.mapPanel{background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;grid-column:1/-1;overflow:hidden;box-shadow:0 24px 70px #00000038}.mapPanel iframe{background:var(--blush);border:0;width:100%;height:clamp(320px,42vw,520px);display:block}.mapFooter{color:#ffffffdb;justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:16px 18px;display:flex}.mapFooter span,.mapFooter a{align-items:center;gap:9px;display:inline-flex}.mapFooter a{color:#ffc2d4;font-weight:800}@media (max-width:920px){.navLinks{display:none}.heroContent{padding-top:64px}.intro,.visit{grid-template-columns:1fr}.serviceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.visitActions{justify-content:flex-start;place-self:start stretch;width:100%}.appointment{width:100%}.mapFooter{flex-direction:column;align-items:flex-start}}@media (max-width:620px){.topbar,.heroContent,.section{width:min(100% - 28px,1160px)}.section.visit{width:100%}.brand span:last-child{max-width:150px}.hero{min-height:94svh}.heroOverlay{background:linear-gradient(90deg,#1f0c14d1,#3c132294),linear-gradient(#1a090f5c,#1a090f33)}h1{font-size:clamp(3.6rem,20vw,5.5rem)}.heroContent{padding:52px 0 86px}.primaryButton,.secondaryButton,.outlineButton{width:100%}.heroFacts span{border-radius:8px;width:100%}.section{padding:62px 0}.serviceGrid{grid-template-columns:1fr}.serviceCard{min-height:230px}.visit{gap:24px;padding:52px 18px}.visit h2{font-size:clamp(2.2rem,10vw,2.95rem);line-height:.96}.visit p{font-size:.98rem;line-height:1.65}.visitActions{width:100%}.appointmentPanel{margin-top:12px;padding:14px}.appointmentField input{min-height:46px;font-size:1rem}.timeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.timeSlot{min-height:40px;font-size:.84rem}.mapPanel iframe{height:300px}.mapFooter{padding:14px}}
