:root{--bg:#f7f9f8;--surface:#fff;--surface-alt:#edf4f1;--text:#20312e;--muted:#546560;--primary:#136b60;--primary-dark:#0d4e46;--border:#d5e0dc;--danger:#8e2529;--radius:12px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{color:var(--text);background:var(--bg);margin:0;font-family:"Source Sans 3",Helvetica Neue,sans-serif;line-height:1.55}h1,h2,h3{text-wrap:balance;margin:0;font-family:Fraunces,Times New Roman,serif;line-height:1.2}p{margin:0 0 .75rem}a{color:var(--primary-dark);text-underline-offset:3px}button,select{font:inherit}:where(a,button,select,summary,[tabindex]):focus-visible{outline:3px solid var(--primary);outline-offset:3px}[hidden]{display:none!important}.container{width:min(1120px,100% - 2.25rem);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:150;background:var(--surface);padding:.65rem .9rem;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.emergency-banner{text-align:center;color:#621d23;background:#fbecee;padding:.4rem 1rem;font-size:.9rem}.site-header{z-index:50;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.header-row{align-items:center;gap:1.25rem;padding-block:.8rem;display:flex}.brand-block{flex-shrink:0}.brand-block h1{font-size:1.45rem}.location{color:var(--muted);margin:.1rem 0 0;font-size:.9rem}.main-nav{align-items:center;gap:.9rem;margin-left:auto;display:flex}.main-nav a{white-space:nowrap;align-items:center;min-height:44px;font-size:.93rem;font-weight:600;text-decoration:none;display:inline-flex}.main-nav a:hover,.main-nav a[aria-current=location]{text-decoration:underline}.menu-toggle{display:none}.language-control{flex-shrink:0;gap:.1rem;display:grid}.language-control label{color:var(--muted);font-size:.7rem;font-weight:600}.language-control select{width:126px;min-height:44px;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.45rem .5rem}.eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--primary-dark);margin:0 0 .4rem;font-size:.75rem;font-weight:700}.hero{background:var(--surface-alt);border-bottom:1px solid var(--border);padding-block:2.25rem}.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:3rem;display:grid}.hero h2{max-width:19ch;font-size:clamp(1.85rem,3.8vw,2.65rem)}.hero-copy{max-width:55ch;color:var(--muted);margin-top:.8rem}.hero-roster-pill{color:#75282e;border-left:3px solid #bd7578;margin:.85rem 0 0;padding-left:.7rem;font-size:.95rem;font-weight:600}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:.58rem .95rem;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--surface);color:var(--primary-dark);border-color:#a1bab2}.btn-secondary:hover{border-color:var(--primary-dark);background:#e6efeb}.hero-booking-cta{gap:.75rem}.hero-booking-cta:after{content:"↗"}.booking-hint{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.contact-panel-actions{flex-wrap:wrap;gap:.5rem;margin-top:1.15rem;display:flex}.hero-address{color:var(--muted);margin:.65rem 0 0;font-size:.9rem}.hero-panel{background:var(--surface);border-radius:var(--radius);border:1px solid #c9d9d2;padding:1.15rem 1.25rem}.hero-panel h2{max-width:none;font-size:1.3rem}.hours-status-header{margin-top:.65rem}.hours-status-row{gap:.5rem;display:grid}.live-badge{border:1px solid var(--border);background:var(--bg);width:fit-content;color:var(--muted);border-radius:5px;padding:.2rem .45rem;font-size:.75rem;font-weight:700;display:inline-flex}.live-badge.status-open{color:#205c3d;background:#e0f0e7;border-color:#9cc6ad}.hours-status-detail{margin:0;font-weight:600;line-height:1.4}.hours-status-guide{color:var(--muted);margin:.35rem 0 0;font-size:.9rem}.hours-status-source{color:var(--muted);margin:.4rem 0 .55rem;font-size:.78rem}.hours-schedule{border-top:1px solid var(--border)}summary{cursor:pointer;color:var(--primary-dark);font-weight:600}.hours-schedule summary,.hours-holiday-toggle summary{min-height:44px;padding-block:.55rem}.hours-list{gap:0;margin:0 0 .5rem;font-size:.93rem;display:grid}.hours-list div{border-top:1px solid #e7eeea;justify-content:space-between;gap:.7rem;padding-block:.32rem;display:flex}.hours-list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.hours-list dt{font-weight:600}.hours-closed-value{color:var(--muted)}.phone-hours-note{border-top:1px solid var(--border);padding-block:.65rem}.phone-hours-note p{color:var(--muted);margin:0;font-size:.85rem}.phone-hours-note p:first-child{color:var(--text);flex-wrap:wrap;justify-content:space-between;gap:.2rem .6rem;font-size:.9rem;display:flex}.phone-hours-note p+p{margin-top:.2rem}.phone-hours-note span{font-variant-numeric:tabular-nums}.hours-support-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 .75rem;display:flex}.hours-support-row a{align-items:center;min-height:44px;font-size:.94rem;font-weight:600;display:inline-flex}.hours-support-link{gap:.4rem}.hours-holiday-toggle{border-top:1px solid var(--border);font-size:.88rem}.hours-holiday-toggle .holiday-list{margin:.25rem 0 .65rem}.hours-holiday-toggle p{color:var(--muted);margin-bottom:.2rem}.section{padding-block:2rem}.section+.section{border-top:1px solid var(--border)}.section-alt{background:var(--surface-alt)}.section-heading{margin-bottom:1rem}.section h2{font-size:clamp(1.4rem,2.5vw,1.85rem)}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.info-card,.team-card,.form-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.1rem}.info-card h3{margin-bottom:.5rem;font-size:1.18rem}.info-card p:last-child{margin-bottom:0}.decision-grid{align-items:start}.decision-grid .booking-card{border-top:3px solid var(--primary)}.decision-grid .info-card{flex-direction:column;gap:.55rem;display:flex}.decision-grid .info-card h3,.decision-grid .info-card p{margin:0}.decision-grid .info-card.is-primary{background:#f0f7f3;border-color:#94bdb0}.decision-grid .emergency-card{background:#fcf1f2;border-color:#e8cdd0;flex-flow:wrap;grid-column:1/-1;align-items:center;gap:.5rem 1.25rem;padding-block:.5rem}.emergency-card h3,.emergency-card strong{color:#75282e}.emergency-examples{margin-left:auto}.emergency-examples summary{color:#75282e;min-height:44px;padding-block:.5rem}.emergency-examples[open]{flex-basis:100%}.emergency-list{margin:.25rem 0 .65rem;padding-left:1.25rem}.patient-information-details{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.compact-disclosure{border:1px solid var(--border);background:var(--surface);border-radius:8px}.compact-disclosure summary{min-height:44px;padding:.65rem .85rem}.compact-disclosure p{margin:0;padding:0 .85rem .8rem}.compact-disclosure ul{margin:0;padding:0 .85rem .8rem 2rem}.service-scope-disclosure{margin-top:.85rem}.notice-list{margin:0;padding-left:1.2rem}.service-limits-list{grid-template-columns:1fr 1fr;gap:.45rem 1.5rem;display:grid}.location-grid{grid-template-columns:1.25fr 1fr;gap:1rem;display:grid}.location-actions{margin:.75rem 0}.parking-list{gap:.4rem;display:grid}.map-frame-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);grid-template-rows:auto minmax(240px,1fr);display:grid;overflow:hidden}.map-toolbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .85rem;display:flex}.map-toolbar-copy{min-width:0;display:grid}.map-toolbar-copy span{color:var(--muted);font-size:.82rem}.map-toolbar-link{flex-shrink:0;align-items:center;gap:.3rem;min-height:44px;font-size:.9rem;font-weight:600;display:inline-flex}.map-toolbar-link:after{content:"↗"}.map-canvas{min-width:0;min-height:240px;position:relative}.map-frame{border:0;width:100%;height:100%;min-height:240px;display:block}.map-attribution{background:var(--surface);border-top:1px solid var(--border);justify-content:flex-end;align-items:center;min-height:32px;padding:.25rem .6rem;font-size:.75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.team-profile{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.team-photo-wrap{border-radius:8px;width:100%;max-width:160px;margin:0;overflow:hidden}.team-photo{aspect-ratio:1;object-fit:cover;object-position:center 18%;width:100%;display:block}.team-card h3{margin-bottom:.5rem;font-size:1.2rem}.team-copy p:last-child{margin:0}.workshop-disclosure{margin-top:.5rem}.workshop-disclosure summary{min-height:44px;padding-block:.5rem}.workshop-list{columns:2;column-gap:2rem}.workshop-list li{break-inside:avoid;margin-bottom:.4rem}.fht-unified-card h3:not(:first-child){margin-top:1rem}.fee-schedule-action{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:.8rem;display:flex}.full-fee-link{align-items:center;min-height:44px;font-weight:600;display:inline-flex}.third-party-unified-card{max-width:900px}.fee-schedule-modal{z-index:130;background:#10261f99;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.fee-schedule-dialog{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;width:min(950px,100%);max-height:90dvh;display:flex;overflow:hidden}.fee-schedule-dialog-header{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:.75rem;padding:.75rem 1rem;display:grid}.fee-schedule-dialog-header h3{font-size:1.3rem}.fee-schedule-close-icon{border:1px solid var(--border);background:var(--bg);width:44px;height:44px;color:var(--primary-dark);cursor:pointer;border-radius:8px;flex-shrink:0;font-size:1.5rem}.fee-schedule-close-icon:hover{background:var(--surface-alt)}.fee-schedule-table-wrap{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 1rem;overflow:auto}.fee-schedule-table-wrap:focus-visible{outline-offset:-3px}.fee-schedule-table{border-collapse:collapse;width:100%;font-size:.95rem}.fee-schedule-table th,.fee-schedule-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.6rem .45rem}.fee-schedule-table th{background:var(--surface-alt);font-weight:700;position:sticky;top:0}.fee-schedule-table td:last-child,.fee-schedule-table th:last-child{width:32%}.fee-schedule-table td:last-child{font-weight:600}.fee-schedule-dialog-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem 1rem;display:flex}.fee-schedule-dialog-footer .full-fee-link{flex:1;min-width:0;font-size:.9rem}.fee-schedule-dialog-footer .btn{flex-shrink:0}body.modal-open{overflow:hidden}.site-footer{color:#e6eeea;background:#193b32;padding-block:1.75rem}.site-footer a{color:#fff}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.footer-grid h2,.footer-grid h3{margin-bottom:.65rem;font-size:1.25rem}.footer-panel p{margin-bottom:.4rem}.translation-disclaimer{color:#c6d8ce;font-size:.85rem}.site-credit{color:#c6d8ce;background:#153128;border-top:1px solid #315447}.site-credit-inner{text-align:center;padding-block:.6rem}.site-credit p{margin:0;font-size:.8rem}.site-credit a{color:#d6e7df}.after-hours-strip{z-index:70;min-height:44px;padding:0 .75rem env(safe-area-inset-bottom,0px);background:var(--primary-dark);color:#fff;justify-content:center;align-items:center;gap:.5rem;font-size:.92rem;display:flex;position:fixed;bottom:0;left:0;right:0}.after-hours-strip p{min-width:0;margin:0;font-weight:600}.after-hours-strip a{color:#fff;white-space:nowrap;align-items:center;min-height:44px;font-weight:700;display:inline-flex}.thank-you-header{position:static}.thank-you-header-row{justify-content:space-between}.thank-you-home-link{font-weight:700;text-decoration:none}.center-card{max-width:680px;margin:1.5rem auto}.center-card h1{margin-bottom:1rem}.thank-you-next{margin-block:1rem}.thank-you-next h2{margin-bottom:.5rem}@media (width<=1100px){.site-header:not(.thank-you-header) .header-row{gap:.75rem}.brand-block h1{font-size:1.25rem}.main-nav{gap:.65rem}.main-nav a{font-size:.9rem}.language-control select{width:108px}}@media (width<=960px){.site-header:not(.thank-you-header) .header-row{gap:.75rem;position:relative}.site-header:not(.thank-you-header) .language-control{margin-left:auto}.site-header:not(.thank-you-header) .language-control label{display:none}.menu-toggle{border:1px solid var(--border);background:var(--surface);height:44px;color:var(--primary-dark);cursor:pointer;border-radius:8px;order:3;justify-content:center;align-items:center;padding:.5rem .75rem;font-weight:600;display:inline-flex}.main-nav{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:.25rem;width:min(340px,100%);max-height:calc(100dvh - 120px);padding:.5rem;display:none;position:absolute;top:calc(100% + .25rem);right:0;overflow:auto;box-shadow:0 8px 20px #193b321a}.main-nav.open{grid-template-columns:1fr 1fr;display:grid}.main-nav a{white-space:normal;border-radius:5px;padding:.45rem .65rem}.main-nav a:hover,.main-nav a[aria-current=location]{background:var(--surface-alt);text-decoration:none}.hero-grid{grid-template-columns:1.1fr 1fr;gap:1.5rem}.hero-panel{padding:1rem}.decision-grid{grid-template-columns:1fr 1fr}#hours-card-after{grid-column:1/-1}.location-grid{grid-template-columns:1fr}.map-frame-wrap{min-height:300px}}@media (width<=640px){html{scroll-padding-top:85px}.container{width:calc(100% - 2rem)}.emergency-banner{font-size:.85rem;line-height:1.35}.header-row{padding-block:.65rem}.brand-block{flex:1;min-width:0}.brand-block h1{max-width:14ch;font-size:1.1rem}.location{display:none}.site-header:not(.thank-you-header) .language-control{margin-left:0}.language-control select{width:92px;font-size:.88rem}.menu-toggle{padding-inline:.6rem;font-size:.88rem}.hero{padding-block:1.3rem}.hero-grid{grid-template-columns:1fr;gap:1rem}.hero h2{max-width:19ch;font-size:1.9rem}.hero-copy{margin-top:.6rem;line-height:1.45}.hero-roster-pill{margin-top:.65rem;font-size:.9rem}.contact-panel-actions{gap:.45rem;margin-top:.85rem}.contact-panel-actions .btn{flex:auto;padding-inline:.7rem}.hero-address{font-size:.85rem}.hero-panel{padding:.9rem 1rem}.hero-panel h2{font-size:1.2rem}.section{padding-block:1.5rem}.section-heading{margin-bottom:.8rem}.card-grid,.patient-information-details,.footer-grid,.service-limits-list{grid-template-columns:1fr}.info-card,.team-card,.form-card{padding:1rem}.decision-grid .emergency-card{align-items:flex-start;gap:.4rem;padding-block:.85rem}.emergency-examples{flex-basis:100%;margin-left:0}.emergency-examples summary{padding-block:.4rem}.map-toolbar{padding:.4rem .65rem}.map-toolbar-copy span{display:none}.map-toolbar-copy strong{font-size:.95rem}.map-attribution{min-height:40px}.team-profile{grid-template-columns:1fr;gap:.85rem}.team-photo-wrap{max-width:120px}.workshop-list{columns:1}.fee-schedule-modal{padding:.5rem}.fee-schedule-dialog{max-height:94dvh}.fee-schedule-dialog-header{padding:.6rem .75rem}.fee-schedule-dialog-header h3{font-size:1.15rem}.fee-schedule-table-wrap{padding-inline:.5rem}.fee-schedule-table{table-layout:fixed;font-size:.9rem}.fee-schedule-table td,.fee-schedule-table th{overflow-wrap:anywhere}.fee-schedule-table td:last-child,.fee-schedule-table th:last-child{width:35%}.footer-grid{gap:1.25rem}.footer-panel-fht{border-top:1px solid #315447;padding-top:1rem}.after-hours-strip{gap:.35rem;font-size:.84rem}.thank-you-home-link{font-size:.95rem}.thank-you-header .language-control select{width:100px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.fee-page .container{max-width:950px}.fee-page h1{font-size:clamp(1.65rem,3.5vw,2.25rem)}.fee-page-intro{color:var(--muted);margin:.6rem 0}.fee-page-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.fee-page-actions a{align-items:center;min-height:44px;display:inline-flex}.fee-page-table{padding:.5rem}.fee-page-disclaimer{color:var(--muted);margin-top:1rem;font-size:.85rem}@media print{.fee-page{padding:0}.fee-page .container{width:100%}.fee-page-actions,.site-header,.skip-link{display:none}.fee-page-table{border:0;padding:0}.fee-schedule-table{font-size:10pt}.fee-schedule-table th{position:static}.fee-schedule-table tr{break-inside:avoid}.fee-schedule-table thead{display:table-header-group}body{color:#000;background:#fff}}
