/* Clinic information and patient pages */
.fees{margin-top:42px;scroll-margin-top:125px}
.fees>h3{font-size:2rem;margin-bottom:24px}
.fee-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.fee-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:26px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.fee-card h4{font:500 .9375rem/1.5 var(--sans);margin:0;color:var(--ink)}
.fee-price{font:400 3rem/1.1 var(--serif);letter-spacing:-.035em;margin:20px 0 15px;color:var(--green)}
.fee-detail{font-size:.875rem;color:var(--muted);margin:0 0 20px;flex:1}
.fee-card .text-link{font-size:.875rem;line-height:1.6}
.fees-note{font-size:.875rem;color:var(--muted);margin:18px 0 0;max-width:820px}
@media(max-width:1100px){.fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fees{margin-top:32px;scroll-margin-top:105px}.fees>h3{font-size:1.8rem;margin-bottom:20px}.fee-card{padding:23px 16px}.fee-price{font-size:2.6rem}.fee-card h4{min-height:2.8em}}
@media(max-width:370px){.fee-grid{grid-template-columns:1fr}.fee-card{padding:24px}.fee-card h4{min-height:0}}
.arrival{background:#f2f5f1;border-top:1px solid var(--line)}
.arrival-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.arrival-grid article{padding:30px 30px 30px 0;min-width:0}
.arrival-grid article+article{border-left:1px solid var(--line);padding-left:30px}
.arrival-grid .number{display:block;margin-bottom:21px}
.arrival-grid h3{font-size:1.7rem;margin-bottom:16px}
.arrival-grid p{font-size:1rem;color:var(--muted)}
.arrival-grid strong{font-weight:500;color:var(--ink)}
.arrival-grid .text-link{font-size:.875rem}
.arrival-detail{margin:22px 0 0;font-size:.875rem!important}
.arrival-detail a{text-decoration:underline;text-underline-offset:4px}
.arrival-note{max-width:930px;margin-top:30px}
.arrival-note h3{font-size:1.45rem;margin-bottom:11px}
.arrival-note p{color:var(--muted);margin-bottom:10px}
.clinic-building{display:block;margin-bottom:8px;font-size:1rem}
.clinic-hours{max-width:410px;margin-top:34px}
.clinic-hours h3{font-size:1.6rem;margin-bottom:14px}
.clinic-hours dl{margin:0;border-top:1px solid #ffffff40}
.clinic-hours dl>div{display:flex;justify-content:space-between;gap:24px;padding:11px 0;border-bottom:1px solid #ffffff30}
.clinic-hours dd{margin:0;white-space:nowrap}
.clinic-hours>p{font-size:.875rem;color:#dce7e0;margin:15px 0 0}
.booking-policy{font-size:.875rem;margin:16px 0 0}
.booking-policy a{text-decoration:underline;text-underline-offset:4px}
.footer-policies{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:28px;font-size:.875rem}
.footer-policies a{text-decoration:underline;text-underline-offset:4px}
.trading-name{font-size:.875rem;color:var(--muted);margin:20px 0 0}
.policy-header{justify-content:flex-start}
.policy-home{margin-left:auto;font-size:.9375rem;text-decoration:underline;text-underline-offset:4px}
.policy-main{max-width:900px;margin:0 auto;padding:72px 7% 80px}
.policy-main>.eyebrow{color:var(--blue)}
.policy-main h1{font-size:clamp(2.6rem,5vw,4.3rem);line-height:1.15;margin-bottom:23px}
.policy-intro{font-size:1.15rem;color:var(--muted);padding-bottom:28px;border-bottom:1px solid var(--line)}
.policy-main section{margin-top:34px;scroll-margin-top:120px}
.policy-main h2{font-size:1.75rem;line-height:1.25;margin-bottom:17px;letter-spacing:-.025em}
.policy-main h3{font-size:1.35rem;margin:25px 0 12px}
.policy-main p,.policy-main li,.policy-main address{font-size:1rem;line-height:1.8}
.policy-main address{font-style:normal;margin:20px 0}
.policy-main li{margin-bottom:10px;padding-left:4px}
.policy-main ul,.policy-main ol{padding-left:22px}
.policy-main a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.policy-main .policy-date{font-size:.875rem;color:var(--muted);margin:38px 0 9px}
.policy-page footer{border-top:1px solid var(--line)}
.policy-page .footer-policies{margin-top:0}
.policy-page{padding-bottom:0}
@media(max-width:900px){.arrival-grid{grid-template-columns:1fr}.arrival-grid article,.arrival-grid article+article{padding:25px 0;border-left:0}.arrival-grid article+article{border-top:1px solid var(--line)}.arrival-grid p{max-width:620px}.arrival-grid .number{margin-bottom:14px}.policy-header{gap:20px}.policy-home{font-size:.875rem;white-space:nowrap}}
@media(max-width:650px){.arrival-note{margin-top:25px}.clinic-hours{max-width:none}.footer-policies{gap:12px 22px}.policy-header .brand-name{width:clamp(135px,37vw,180px)}.policy-header .brand-link{gap:8px}.policy-header .logo-frame{width:30px;height:60px}.policy-header .logo-frame img{width:60px;height:60px}.policy-header{padding:0 5%;gap:12px}.policy-home{font-size:.8125rem}.policy-main{padding:42px 7% 55px}.policy-main h1{font-size:2.65rem}.policy-intro{font-size:1.0625rem}.policy-main h2{font-size:1.65rem}.policy-main section{scroll-margin-top:110px}}
