



:root { --background:#f7fafb; --foreground:#102f3a; --surface:#fff; --primary:#006d83; --primary-dark:#004c5f; --accent:#d7eff3; --muted:#5a7179; --line:#cfdee2; --warm:#f4ede2; }
.dark { --background:#0d252d; --foreground:#f7fbfc; --surface:#14343e; --primary:#79d2e2; --primary-dark:#b6edf5; --accent:#1f4d59; --muted:#c0d3d8; --line:#31535d; --warm:#302d28; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--background); color:var(--foreground); font-family:var(--font-manrope),Arial,sans-serif; font-size:1rem; line-height:1.65; }
a { color:inherit; }
img { display:block; max-width:100%; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--font-source-serif),Georgia,serif; line-height:1.08; letter-spacing:-.025em; }
h1 { max-width:760px; font-size:clamp(3rem,6vw,6.2rem); margin-bottom:1.7rem; }
h2 { font-size:clamp(2.25rem,4vw,4.3rem); margin-bottom:1rem; }
h3 { font-size:clamp(1.8rem,3vw,3rem); margin-bottom:1rem; }
:focus-visible { outline:3px solid #e0a82e; outline-offset:4px; }
.skip-link { position:fixed; z-index:100; top:1rem; left:1rem; transform:translateY(-200%); background:#fff; color:#003c49; padding:.8rem 1rem; border-radius:.4rem; font-weight:800; }
.skip-link:focus { transform:none; }
.section-shell,.nav-shell,.hero { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.topline { padding:.45rem 20px; background:var(--primary-dark); color:#fff; text-align:center; font-size:.82rem; letter-spacing:.035em; }
.site-header { position:sticky; top:0; z-index:20; background:color-mix(in srgb,var(--surface) 94%,transparent); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.nav-shell { min-height:98px; display:flex; align-items:center; gap:1rem; }
.brand { margin-right:auto; flex:0 0 auto; }
.brand img { width:220px; height:auto; }
.nav-shell nav { display:flex; align-items:center; gap:1.25rem; }
.nav-shell nav a,footer nav a { text-decoration:none; font-weight:700; font-size:.92rem; }
.nav-shell nav a:hover,footer nav a:hover { text-decoration:underline; text-underline-offset:.3rem; }
.header-cta,.header-new-patient,.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:.6rem; border-radius:.55rem; padding:.75rem 1.1rem; text-decoration:none; font-weight:800; white-space:nowrap; }
.header-new-patient { border:2px solid var(--primary); color:var(--primary-dark); background:var(--surface); }
.header-new-patient:hover { background:var(--accent); }
.header-cta,.button.primary { background:var(--primary); color:#fff; }
.header-cta:hover,.button.primary:hover { background:var(--primary-dark); }
.button.secondary { border:2px solid var(--primary); color:var(--primary-dark); background:var(--surface); }
.button.light { background:#fff; color:#004c5f; }
.mobile-menu { display:none; }
.hero { display:grid; grid-template-columns:1.08fr .92fr; min-height:680px; align-items:center; gap:clamp(2rem,6vw,6rem); padding-block:4.5rem; }
.hero-copy { padding-block:2rem; }
.eyebrow { margin-bottom:.8rem; color:var(--primary); font-size:.84rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.lede { max-width:650px; margin-bottom:2rem; color:var(--muted); font-size:clamp(1.15rem,2vw,1.35rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.microcopy { display:flex; align-items:center; gap:.55rem; margin:1.2rem 0 0; color:var(--muted); font-size:.94rem; }
.hero-visual { position:relative; margin:0; }
.hero-visual::before { content:''; position:absolute; inset:8% -7% -7% 10%; z-index:-1; background:var(--accent); border-radius:55% 45% 50% 38%; transform:rotate(3deg); }
.hero-visual img { width:100%; aspect-ratio:1066/736; object-fit:cover; object-position:center; border-radius:50% 50% 14px 14px; box-shadow:0 25px 80px rgba(17,58,70,.2); }
.hero-visual figcaption { position:absolute; right:-1rem; bottom:2rem; background:var(--surface); padding:.7rem 1rem; border-radius:.5rem; box-shadow:0 10px 35px rgba(17,58,70,.16); font-size:.86rem; font-weight:800; }
.quick-actions { width:min(1060px,calc(100% - 40px)); margin:-2rem auto 7rem; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:.8rem; background:var(--surface); box-shadow:0 18px 55px rgba(17,58,70,.1); }
.quick-actions a { display:grid; grid-template-columns:30px 1fr 24px; align-items:center; gap:1rem; min-height:108px; padding:1.4rem; text-decoration:none; }
.quick-actions a+a { border-left:1px solid var(--line); }
.quick-actions svg:first-child { color:var(--primary); }
.quick-actions strong,.quick-actions small { display:block; }
.quick-actions small { color:var(--muted); }
.quick-actions a:hover { background:var(--accent); }
.new-patient-section { scroll-margin-top:118px; padding:clamp(4.5rem,8vw,7rem) 0; background:linear-gradient(135deg,#e1f1f4 0%,#f4f9fa 62%,#edf5ef 100%); border-block:1px solid var(--line); }
.new-patient-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); gap:clamp(2.5rem,7vw,6rem); align-items:center; }
.new-patient-copy h2 { max-width:800px; font-size:clamp(2.35rem,4vw,4rem); }
.new-patient-copy>p:not(.eyebrow) { max-width:760px; color:#425f67; font-size:1.08rem; }
.new-patient-note { margin:2rem 0 0; padding:1.2rem 1.3rem; border-left:5px solid #c48a1b; background:rgba(255,255,255,.72); }
.new-patient-card { padding:clamp(2rem,4vw,3rem); background:var(--surface); border:1px solid var(--line); border-radius:1.2rem; box-shadow:0 24px 70px rgba(17,58,70,.14); }
.new-patient-card h3 { font-size:clamp(2rem,3vw,2.8rem); }
.new-patient-card>p:not(.service-kicker) { color:var(--muted); }
.document-icon { width:64px; height:64px; display:grid; place-items:center; margin-bottom:1.5rem; border-radius:50%; background:var(--accent); color:var(--primary-dark); }
.document-icon svg { width:30px; height:30px; }
.new-patient-actions { display:grid; gap:1rem; margin-top:1.8rem; }
.send-link { display:inline-flex; align-items:center; gap:.55rem; width:max-content; max-width:100%; color:var(--primary-dark); font-weight:900; text-underline-offset:.25rem; }
.news { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; margin-bottom:8rem; padding:2.5rem 3rem; background:var(--warm); border-left:8px solid #c48a1b; }
.news h2 { font-size:clamp(1.7rem,3vw,2.55rem); }
.news p:last-child { margin-bottom:0; }
.single-news { grid-template-columns:1fr; }
.single-news>div { max-width:850px; }
.arrow-link { display:inline-flex; align-items:center; gap:.55rem; color:var(--primary-dark); font-weight:900; text-underline-offset:.25rem; }
.arrow-link:hover { text-decoration-thickness:3px; }
.services { padding-bottom:8rem; }
.section-heading { max-width:720px; margin-bottom:3rem; }
.section-heading>p:last-child { color:var(--muted); font-size:1.12rem; }
.service-feature { min-height:390px; display:grid; grid-template-columns:1.1fr .9fr; overflow:hidden; border-radius:1.2rem; }
.service-copy { padding:clamp(2rem,5vw,4.5rem); }
.service-number { font-family:var(--font-source-serif),serif; color:rgba(0,76,95,.28); font-size:4rem; line-height:1; }
.service-kicker { display:flex; align-items:center; gap:.5rem; color:var(--primary-dark); font-weight:900; font-size:.9rem; letter-spacing:.04em; text-transform:uppercase; }
.service-copy>p:not(.service-kicker):not(.service-note) { max-width:610px; font-size:1.1rem; }
.appointment-feature { background:var(--primary-dark); color:#fff; }
.appointment-feature .service-number { color:rgba(255,255,255,.22); }
.appointment-feature .service-kicker { color:#bceaf2; }
.appointment-feature .service-copy>p:not(.service-kicker) { color:#dcecf0; }
.booking-steps { display:flex; flex-direction:column; justify-content:center; gap:1rem; margin:0; padding:clamp(2rem,5vw,4rem); list-style:none; background:#0e5f70; }
.booking-steps li { display:flex; align-items:center; gap:1rem; padding:1rem 1.15rem; border:1px solid rgba(255,255,255,.22); border-radius:.7rem; background:rgba(255,255,255,.08); font-weight:800; }
.booking-steps span { display:grid; place-items:center; flex:0 0 2rem; height:2rem; border-radius:50%; background:#fff; color:var(--primary-dark); }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:1.25rem; }
.service-card { min-height:350px; overflow:hidden; border-radius:1.2rem; padding:clamp(1.75rem,3vw,2.5rem); }
.card-icon { width:58px; height:58px; display:grid; place-items:center; margin-bottom:2rem; border-radius:50%; background:rgba(255,255,255,.14); }
.patmed-compact { display:grid; grid-template-columns:1fr 130px; gap:1rem; padding-bottom:0; background:#dceff4; }
.patmed-compact .card-icon { background:rgba(0,76,95,.1); }
.patmed-compact img { align-self:end; justify-self:center; width:auto; max-height:265px; }
.patmed-compact ul { display:grid; gap:.45rem; padding:0; margin:1.25rem 0; list-style:none; font-size:.92rem; font-weight:700; }
.patmed-compact li { display:flex; gap:.5rem; align-items:flex-start; }
.patmed-compact li svg { flex:0 0 auto; width:18px; color:var(--primary); margin-top:.15rem; }
.compact-copy { padding-bottom:2.25rem; }
.vaccination { display:grid; grid-template-columns:1fr 130px; gap:1rem; padding-bottom:0; background:#e7f1eb; }
.vaccination img { align-self:end; justify-self:center; max-height:265px; width:auto; }
.vaccine-copy { padding-bottom:2.25rem; }
.hours-section { padding:8rem 0; background:var(--primary-dark); color:#fff; }
.hours-section .eyebrow { color:#8ee0ed; }
.hours-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(3rem,8vw,8rem); align-items:center; }
.hours-grid>div:first-child>p:not(.eyebrow) { color:#d5e7ea; font-size:1.08rem; }
.hours-card { border-radius:1rem; padding:1.5rem 2rem; background:#fff; color:#10333e; }
.hours-card dl { margin:0; }
.hours-card dl div { display:grid; grid-template-columns:140px 1fr; padding:1rem 0; border-bottom:1px solid #d8e3e6; }
.hours-card dt { font-weight:900; }
.hours-card dd { margin:0; }
.hours-card>p { margin:1.4rem 0 .3rem; padding:1rem; background:#fff3d6; border-radius:.5rem; }
.practice { padding-block:8rem; }
.practice-intro { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,8vw,8rem); align-items:center; }
.practice-copy>p:not(.eyebrow) { color:var(--muted); font-size:1.08rem; }
.practice-story { position:relative; margin:0; }
.practice-story img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:1rem; box-shadow:0 24px 65px rgba(17,58,70,.15); }
.practice-story figcaption { position:absolute; right:-1rem; bottom:1.5rem; max-width:260px; padding:.75rem 1rem; background:var(--surface); border-radius:.5rem; box-shadow:0 10px 35px rgba(17,58,70,.15); font-weight:800; }
.portraits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; margin-top:5rem; }
.portraits figure { overflow:hidden; margin:0; background:var(--surface); border:1px solid var(--line); border-radius:1rem; }
.portraits img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 25%; }
.portraits figcaption { padding:1.35rem 1.4rem 1.5rem; }
.portraits strong,.portraits span { display:block; }
.portraits strong { font-family:var(--font-source-serif),Georgia,serif; font-size:clamp(1.35rem,2vw,1.8rem); line-height:1.2; }
.portraits span { margin-top:.25rem; color:var(--muted); font-size:.88rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.whole-team { position:relative; margin:1.25rem 0 0; overflow:hidden; border-radius:1rem; }
.whole-team img { width:100%; aspect-ratio:16/8.2; object-fit:cover; }
.whole-team::after { content:''; position:absolute; inset:48% 0 0; background:linear-gradient(transparent,rgba(5,37,46,.86)); }
.whole-team figcaption { position:absolute; z-index:1; left:clamp(1.5rem,4vw,3.5rem); right:clamp(1.5rem,4vw,3.5rem); bottom:clamp(1.5rem,4vw,3rem); color:#fff; }
.whole-team .eyebrow { margin-bottom:.35rem; color:#a5e4ef; }
.whole-team strong { display:block; max-width:720px; font-family:var(--font-source-serif),Georgia,serif; font-size:clamp(1.6rem,3vw,2.8rem); line-height:1.15; }
.history { padding:8rem 0; background:#eef5f6; }
.history-intro { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,5rem); align-items:center; margin-bottom:4rem; }
.history-heading { max-width:780px; }
.history-heading>p:last-child { color:var(--muted); font-size:1.1rem; }
.history-lead-image { position:relative; margin:0; }
.history-lead-image img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:1rem; box-shadow:0 24px 65px rgba(17,58,70,.15); }
.history-lead-image figcaption { position:absolute; right:1rem; bottom:1rem; padding:.65rem .9rem; border-radius:.45rem; background:var(--surface); box-shadow:0 8px 25px rgba(17,58,70,.16); font-weight:800; }
.history-timeline { position:relative; display:grid; gap:1.5rem; }
.history-timeline::before { content:''; position:absolute; top:0; bottom:0; left:58px; width:2px; background:#a9ccd3; }
.history-item { position:relative; display:grid; grid-template-columns:118px minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:center; padding:1.5rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.history-year { position:relative; z-index:1; margin:0; padding:.65rem .35rem; background:var(--primary); color:#fff; border-radius:999px; text-align:center; font-weight:900; line-height:1.2; }
.history-item figure { margin:0; overflow:hidden; border-radius:.8rem; background:#dce9eb; }
.history-item img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.history-item:first-child img,.history-item:nth-child(2) img { object-position:center 38%; }
.press-item img { object-fit:contain; object-position:top center; background:#fff; }
.history-item figcaption { padding:.7rem 1rem; color:var(--muted); font-size:.86rem; font-weight:800; }
.history-item h3 { font-size:clamp(1.65rem,2.5vw,2.35rem); }
.history-item>div>p { color:var(--muted); }
.contact { padding:7rem 0; background:#e4f0f2; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.contact-grid>div>p:not(.eyebrow) { max-width:520px; color:#425f67; }
address { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; font-style:normal; }
address a { display:flex; gap:1rem; align-items:center; min-height:100px; padding:1.25rem; background:#fff; border:1px solid #c9dde1; border-radius:.7rem; text-decoration:none; font-weight:900; }
address a:hover { border-color:var(--primary); box-shadow:0 8px 25px rgba(17,58,70,.09); }
address svg { color:var(--primary); }
address small { display:block; color:#5a7179; font-weight:700; }
.directions { grid-column:1/-1; margin-top:1rem; padding-top:3rem; border-top:1px solid #bfd6dc; }
.directions h3 { font-size:clamp(1.8rem,3vw,2.5rem); }
.directions-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.5rem 0 2rem; }
.directions article { display:flex; align-items:flex-start; gap:1rem; padding:1.5rem; background:#fff; border:1px solid #c9dde1; border-radius:.7rem; }
.directions article>svg { flex:0 0 auto; color:var(--primary); margin-top:.15rem; }
.directions h4 { margin:0 0 .35rem; font-family:var(--font-source-serif),Georgia,serif; font-size:1.35rem; }
.directions p { margin:0; color:#425f67; }
footer { padding:3rem 0; background:#fff; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:220px 1fr auto; gap:2rem; align-items:center; }
.footer-grid img { width:190px; height:auto; }
.footer-grid p { margin:0; color:var(--muted); }
.footer-grid nav { display:flex; gap:1.4rem; }
.legal-header { background:var(--surface); border-bottom:1px solid var(--line); }
.legal-header>div { min-height:110px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.legal-header img { width:220px; height:auto; }
.legal-page { max-width:860px; padding-block:clamp(4rem,8vw,7rem); }
.legal-page>h1 { font-size:clamp(3rem,7vw,5.6rem); }
.legal-lede { margin-bottom:4rem; color:var(--muted); font-size:1.2rem; }
.legal-page section { padding:2.3rem 0; border-top:1px solid var(--line); }
.legal-page section h2 { font-size:clamp(1.65rem,3vw,2.2rem); }
.legal-page section p,.legal-page section li { max-width:76ch; }
.legal-page section a { color:var(--primary-dark); font-weight:800; text-underline-offset:.2rem; }
.legal-page ul { padding-left:1.25rem; }
.legal-page li+li { margin-top:.55rem; }
.found-card { margin-top:3rem; padding:clamp(1.5rem,4vw,2.5rem); border:1px solid var(--line); border-radius:1rem; background:var(--surface); box-shadow:0 18px 55px rgba(17,58,70,.1); }
.found-card h2 { font-size:clamp(1.7rem,3vw,2.4rem); }
.found-card p { max-width:68ch; color:var(--muted); }
.found-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
.found-address { display:flex; align-items:flex-start; gap:.75rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line); font-style:normal; }
.found-address svg { flex:0 0 auto; margin-top:.25rem; color:var(--primary); }
.cookie-backdrop { position:fixed; z-index:80; inset:0; display:flex; align-items:flex-end; justify-content:center; padding:1.25rem; pointer-events:none; }
.cookie-banner { width:min(1120px,100%); display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:end; padding:clamp(1.5rem,3vw,2.2rem); background:var(--surface); border:1px solid var(--line); border-radius:1rem; box-shadow:0 24px 80px rgba(5,37,46,.28); pointer-events:auto; }
.cookie-banner h2 { margin-bottom:.6rem; font-size:clamp(1.7rem,3vw,2.3rem); }
.cookie-banner p:not(.eyebrow) { max-width:72ch; margin-bottom:.65rem; color:var(--muted); }
.cookie-banner a { color:var(--primary-dark); font-weight:800; }
.cookie-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.7rem; }
.cookie-actions button { border:0; font:inherit; cursor:pointer; }
.cookie-actions .secondary { border:2px solid var(--primary); }
.cookie-settings { position:fixed; z-index:70; right:1rem; bottom:1rem; min-height:44px; padding:.65rem .9rem; border:1px solid var(--line); border-radius:.45rem; background:var(--surface); color:var(--foreground); box-shadow:0 8px 25px rgba(5,37,46,.15); font:inherit; font-size:.85rem; font-weight:800; cursor:pointer; }
@media (max-width:980px) {
  .portraits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nav-shell nav,.header-cta,.header-new-patient { display:none; }
  .mobile-menu { display:block; position:relative; }
  .mobile-menu summary { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--line); border-radius:.5rem; cursor:pointer; list-style:none; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu>div { position:absolute; right:0; top:58px; width:min(300px,calc(100vw - 40px)); display:grid; padding:.6rem; background:var(--surface); border:1px solid var(--line); box-shadow:0 18px 50px rgba(17,58,70,.15); }
  .mobile-menu a { padding:.85rem; text-decoration:none; font-weight:800; }
  .hero { grid-template-columns:1fr; padding-top:2rem; }
  .hero-visual { max-width:600px; }
  .hero-visual img { aspect-ratio:1066/736; border-radius:50% 50% 12px 12px; }
  .service-grid,.hours-grid,.practice-intro,.contact-grid,.new-patient-grid { grid-template-columns:1fr; }
  .hours-grid,.contact-grid { gap:2.5rem; }
}
@media (max-width:700px) {
  h1 { font-size:clamp(2.8rem,14vw,4.2rem); }
  .topline { font-size:.75rem; }
  .nav-shell { min-height:82px; }
  .brand img { width:184px; }
  .hero { min-height:auto; padding-block:2rem 4rem; }
  .hero-visual figcaption { right:.5rem; }
  .quick-actions { grid-template-columns:1fr; margin-top:0; margin-bottom:5rem; }
  .quick-actions a+a { border-left:0; border-top:1px solid var(--line); }
  .news { grid-template-columns:1fr; padding:2rem; margin-bottom:5rem; }
  .new-patient-section { padding-block:4.5rem; }
  .new-patient-card { padding:1.6rem; }
  .services { padding-bottom:5rem; }
  .service-feature { grid-template-columns:1fr; }
  .service-grid { grid-template-columns:1fr; }
  .booking-steps { padding:2rem; }
  .patmed-compact,.vaccination { grid-template-columns:1fr 110px; padding-left:2rem; }
  .patmed-compact img,.vaccination img { max-height:235px; }
  .hours-section,.practice,.contact { padding-block:5rem; }
  .hours-card { padding:1rem; }
  .hours-card dl div { grid-template-columns:1fr; gap:.2rem; }
  .practice-story figcaption { right:.75rem; }
  .portraits { grid-template-columns:1fr; margin-top:3rem; }
  .portraits img { aspect-ratio:4/4.8; object-position:center 22%; }
  .whole-team img { aspect-ratio:4/3; }
  .history { padding-block:5rem; }
  .history-intro { grid-template-columns:1fr; gap:2rem; margin-bottom:2.5rem; }
  .history-lead-image figcaption { position:static; border-radius:0 0 .6rem .6rem; box-shadow:none; }
  .history-timeline::before { left:27px; }
  .history-item { grid-template-columns:56px 1fr; gap:1rem; padding:1rem; align-items:start; }
  .history-year { grid-row:1 / span 2; font-size:.78rem; }
  .history-item figure,.history-item>div { grid-column:2; }
  .history-item figure { grid-row:1; }
  .history-item>div { grid-row:2; }
  address { grid-template-columns:1fr; }
  .directions-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-grid nav { flex-wrap:wrap; }
  .legal-header>div { min-height:88px; }
  .legal-header img { width:175px; }
  .cookie-banner { grid-template-columns:1fr; max-height:calc(100vh - 2rem); overflow:auto; }
  .cookie-actions { justify-content:stretch; }
  .cookie-actions .button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }


@font-face {
  font-family: "Manrope";
  src: url("/fonts/manrope.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Source Serif 4";
  src: url("/fonts/source-serif-4.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}

.brand img,
.footer-grid > img {
  display: block;
  height: auto;
  object-fit: contain;
}

.history-item-2016 img {
  aspect-ratio: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
}

.legal-page {
  min-height: 70vh;
  padding-block: clamp(3rem, 8vw, 7rem);
}

.legal-page article {
  max-width: 52rem;
}

.legal-page h1 {
  margin-bottom: 1.75rem;
}

.legal-page h2 {
  margin-top: 2.25rem;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.legal-page p {
  color: var(--muted);
}

:root { --font-manrope:"Manrope"; --font-source-serif:"Source Serif 4"; }
[hidden] { display:none !important; }

/* Long download labels wrap within the card on small screens. */
.new-patient-actions .button { white-space:normal; text-align:center; min-width:0; }
.new-patient-actions .button svg { flex-shrink:0; }
