:root{color-scheme:light;--ink:#122d43;--muted:#526777;--teal:#087f80;--teal-dark:#056266;--line:#d9e4e9;--soft:#f2f7fa;--white:#fff;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #22b3b4;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,5vw,4.9rem);font-weight:650;max-width:14ch;margin-bottom:26px}h2{font-size:clamp(1.9rem,3vw,3rem);font-weight:650}h3{font-size:1.25rem;font-weight:650}p{margin-bottom:1rem}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;font-size:1.2rem;font-weight:650;line-height:1.4;flex-shrink:0}.brand:hover{text-decoration:none}.brand small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.15em;font-weight:500}.monogram{height:48px;width:48px;background:var(--ink);color:#fff;border-radius:13px;display:grid;place-items:center;font-size:1rem;letter-spacing:-.08em}.header-inner nav{display:flex;align-items:center;gap:27px;font-size:.9rem;font-weight:550}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:9px;min-height:48px;font-weight:600;text-decoration:none;line-height:1.3}.button:hover{background:var(--teal-dark);text-decoration:none}.button.small{padding:11px 17px;font-size:.88rem;min-height:44px}.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:var(--soft)}.button.danger{background:#a33339;border-color:#a33339}.button.full{width:100%}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.16em;font-weight:650;color:var(--teal);margin-bottom:19px}.hero{padding:65px 0 70px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(345px,.83fr);gap:74px;align-items:start}.hero-copy>p:not(.eyebrow){font-size:1.12rem;line-height:1.75;color:var(--muted);max-width:48ch}.hero-copy h1 span{display:block;color:var(--teal);font-size:.55em;line-height:1.23;margin-top:15px;letter-spacing:-.025em}.doctor-summary{display:flex;align-items:center;gap:17px;margin-top:32px;padding-top:25px;border-top:1px solid var(--line)}.doctor-summary img{width:90px;height:104px;object-fit:cover;object-position:62% 45%;border-radius:10px}.doctor-summary strong{font-size:.95rem;display:block;margin-bottom:3px}.doctor-summary p{font-size:.87rem!important;color:var(--muted);margin:0;line-height:1.6}.booking-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:#fff;box-shadow:0 20px 60px #1230440a;position:relative;overflow:hidden}.booking-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--teal)}.booking-card h2{font-size:1.6rem;margin-bottom:8px}.booking-card .intro{font-size:.9rem;color:var(--muted);margin-bottom:26px}.field{display:block;margin-bottom:17px}.field>span,.field>label{display:block;font-size:.87rem;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-height:48px;background:#fff;color:var(--ink);border:1px solid #bacdd7;padding:11px 12px;border-radius:8px}.field input:disabled,.field select:disabled{background:var(--soft)}.field input[type=checkbox]{min-height:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.availability-title{font-size:.88rem;font-weight:600;margin:24px 0 9px}.slots{display:flex;flex-wrap:wrap;gap:8px}.slot-button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:9px 13px;min-height:44px;font-weight:550}.slot-button:hover{border-color:var(--teal);color:var(--teal)}.slot-button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}.notice{border-radius:10px;padding:15px 17px;background:var(--soft);font-size:.9rem;line-height:1.65;margin-bottom:18px}.notice p:last-child{margin-bottom:0}.notice.error{background:#fff0f0;color:#8d2229;border:1px solid #f2cccc}.notice.success{background:#e8f6f3;color:#0b6158}.notice.warning{background:#fff7e7;color:#725219}.muted{color:var(--muted)}.small-text{font-size:.85rem;line-height:1.65}.section{padding:75px 0}.section.soft{background:var(--soft)}.section-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-title h2{margin-bottom:0}.section-title p{max-width:43ch;color:var(--muted);margin-bottom:0}.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.area-card{border:1px solid var(--line);border-radius:14px;padding:27px 23px;background:#fff;display:flex;flex-direction:column}.area-number{font-size:.75rem;letter-spacing:.13em;color:var(--teal);font-weight:650;margin-bottom:25px}.area-card h3{line-height:1.3;margin-bottom:16px}.area-card p{font-size:.92rem;color:var(--muted);flex:1}.text-link{font-size:.87rem;font-weight:650;color:var(--teal);text-decoration:underline;text-underline-offset:4px}.profile-grid{display:grid;grid-template-columns:.75fr 1.2fr;gap:90px}.profile-facts{border-left:2px solid var(--teal);padding-left:24px;margin-top:28px}.profile-facts p{font-size:.92rem}.profile-grid>div:last-child p{font-size:1.02rem;color:var(--muted)}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.studio-card{background:var(--ink);color:#fff;padding:35px;border-radius:16px}.studio-card h3{font-size:1.5rem}.studio-card p{color:#c7dce5}.studio-card a{color:#fff}.faq{margin-top:30px}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-weight:600;cursor:pointer}.faq details p{color:var(--muted);font-size:.95rem;margin:15px 0 0}.site-footer{background:#0d2435;color:#d6e2e8;padding:35px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.85rem}.footer-inner strong{color:#fff;font-size:1rem}.footer-inner p{margin:3px 0 0}.footer-inner nav{display:flex;gap:24px}.footer-note{font-size:.78rem;color:#a1b6c4}.page-heading{padding:48px 0 28px}.page-heading h1{font-size:clamp(2rem,4vw,3rem);max-width:none;margin-bottom:10px}.page-heading p{color:var(--muted);max-width:65ch}.booking-layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:45px;padding-bottom:70px}.visit-details{padding:25px 0}.visit-details h2{font-size:1.6rem}.visit-details ul{padding-left:20px;color:var(--muted)}.visit-details li{margin:11px 0}.step-label{font-size:.82rem;color:var(--teal);font-weight:650;letter-spacing:.05em;margin:8px 0 18px}.form-section{border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.checkbox-line{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;margin:20px 0}.checkbox-line input{width:19px;height:19px;flex-shrink:0;margin-top:4px;accent-color:var(--teal)}.checkbox-line a{text-decoration:underline}.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.success-card{max-width:700px;margin:5px auto 70px;padding:36px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.success-card h2{font-size:1.7rem}.appointment-data{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:25px 0}.appointment-data dt{font-size:.8rem;color:var(--muted)}.appointment-data dd{margin:4px 0 0;font-size:1rem;font-weight:600}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.management-url{display:block;word-break:break-all;color:var(--teal);font-size:.88rem;text-decoration:underline}.privacy{max-width:800px;padding:10px 0 65px}.privacy h2{font-size:1.5rem;margin-top:30px}.privacy p,.privacy li{color:var(--muted)}.loading{min-height:300px;padding-top:70px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:36px 0 25px}.admin-header h1{font-size:2.8rem;max-width:none;margin:0}.admin-header .eyebrow{margin-bottom:8px}.admin-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:28px;padding-bottom:55px}.panel{border:1px solid var(--line);border-radius:14px;padding:26px;background:#fff}.panel h2{font-size:1.4rem}.date-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.date-nav input{font:inherit;padding:9px;border:1px solid var(--line);border-radius:8px;min-height:44px}.stats{display:flex;gap:26px;padding:22px 0;border-bottom:1px solid var(--line);margin-bottom:10px}.stats strong{display:block;font-size:1.8rem;line-height:1.2}.stats span{font-size:.81rem;color:var(--muted)}.agenda-row{display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:start;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.agenda-time strong{font-size:1.05rem}.agenda-time small{display:block;color:var(--muted);font-size:.78rem}.agenda-patient strong{display:block}.agenda-patient p{margin:4px 0;font-size:.88rem;color:var(--muted);overflow-wrap:anywhere}.row-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px}.row-actions button{padding:7px 11px;min-height:36px;font-size:.8rem;border-radius:7px;background:#fff;color:var(--ink);border:1px solid var(--line)}.row-actions button:hover{border-color:var(--teal)}.badge{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:5px;background:#e6f4f1;color:#0f655e;vertical-align:middle;margin-left:5px}.badge.pending{background:#fff2d4;color:#765510}.empty{padding:36px 5px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:9px}.admin-side .panel{margin-bottom:20px}.admin-notice{font-size:.87rem;margin:12px 0 25px}.dialog{width:min(600px,calc(100% - 32px));border:1px solid var(--line);border-radius:18px;padding:30px;color:var(--ink);max-height:90vh;overflow:auto}.dialog::backdrop{background:#0b243c70}.dialog h2{font-size:1.6rem}.dialog-close{float:right;border:0;background:var(--soft);border-radius:7px;padding:7px 12px;color:var(--ink);font-size:.85rem}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;background:var(--ink);color:#fff;border-radius:10px;padding:14px 22px;box-shadow:0 8px 40px #12304430;max-width:calc(100vw - 35px);font-size:.9rem}.toast[hidden]{display:none}.skip-link{position:fixed;left:15px;top:-100px;z-index:50;background:var(--ink);color:#fff;padding:12px}.skip-link:focus{top:15px}.legal-note{font-size:.82rem;color:var(--muted)}.selected-summary{background:#e8f6f3;padding:14px 16px;border-radius:9px;margin-top:20px;font-size:.9rem;color:#0d655f}.open-status{display:flex;gap:12px;align-items:center;justify-content:space-between}.contact-line{margin-top:15px}.inline-error{color:#a12b34;font-size:.9rem;margin-top:12px}.page-heading .back-link{font-size:.85rem;color:var(--muted);text-decoration:underline;display:inline-block;margin-bottom:18px}
@media(max-width:1000px){.header-inner nav{gap:16px}.hero{gap:35px}.areas{grid-template-columns:1fr 1fr}.profile-grid{gap:45px}.footer-note{display:none}.admin-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr)}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:86px;gap:15px}.brand{font-size:1rem}.brand small{font-size:.61rem}.monogram{width:39px;height:42px;border-radius:10px}.header-inner nav>a:not(.button){display:none}.header-inner nav .button{font-size:.76rem;padding:10px 12px}.hero{grid-template-columns:1fr;padding:38px 0 45px;gap:30px}.hero-copy h1{font-size:3rem;max-width:none}.hero-copy>p:not(.eyebrow){font-size:1rem}.doctor-summary{margin-top:20px}.booking-card{padding:24px}.section{padding:48px 0}.section-title{display:block;margin-bottom:28px}.section-title p{margin-top:18px}.areas{gap:12px}.area-card{padding:21px 17px}.area-card h3{font-size:1.12rem}.area-card p{font-size:.87rem}.profile-grid,.studio-grid,.booking-layout,.admin-grid{grid-template-columns:1fr;gap:25px}.profile-grid h2{max-width:14ch}.footer-inner{flex-wrap:wrap;gap:20px}.footer-inner nav{margin-left:auto}.page-heading{padding-top:32px}.booking-layout{padding-bottom:45px}.visit-details{padding:0}.visit-details ul{display:none}.admin-header{align-items:flex-start}.admin-header h1{font-size:2.2rem}.admin-header .button{font-size:.83rem;padding:10px 13px}.panel{padding:20px}.agenda-row{grid-template-columns:55px minmax(0,1fr);gap:14px}.row-actions{grid-column:2;flex-direction:row;flex-wrap:wrap}.stats{gap:20px}.success-card{padding:25px;margin-bottom:45px}.appointment-data{gap:13px}.appointment-data dd{font-size:.9rem}.dialog{padding:24px}.date-nav .button{padding:9px;font-size:.76rem}.date-nav input{max-width:100%}}
@media(max-width:400px){.brand small{display:none}.hero-copy h1{font-size:2.5rem}.areas,.field-row,.appointment-data{grid-template-columns:1fr}.header-inner nav .button{max-width:120px;text-align:center}.stats{gap:14px}.stats strong{font-size:1.5rem}.stats span{font-size:.73rem}}
@media(prefers-reduced-motion:no-preference){.button,.slot-button{transition:background .15s ease,border-color .15s ease}}

.date-nav .field{margin-bottom:0}.booking-card #booking-footnote{margin-top:20px;margin-bottom:0}
.intramoenia-notice{background:#eaf6f5;border:1px solid #b2d8d6;border-left:4px solid var(--teal);border-radius:10px;padding:18px;margin:20px 0 25px}.visit-rate{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:1rem;font-weight:600;line-height:1.45;margin:0 0 13px}.visit-rate strong{font-size:1.6rem;color:var(--teal-dark);white-space:nowrap}.priority-notice{font-size:1rem;line-height:1.5;font-weight:600;margin:0}.areas{grid-template-columns:repeat(2,minmax(0,1fr))}.area-card{padding:28px}.area-card>p{font-size:1rem;flex:0}.area-card .text-link{margin-top:auto;align-self:flex-start} .surgical-waits{border-top:1px solid #b2d8d6;margin:18px 0 0;padding-top:4px;overflow-wrap:anywhere}.surgical-waits summary{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 0 4px;font-size:1rem;line-height:1.5;font-weight:650;color:var(--teal-dark);cursor:pointer;list-style:none}.surgical-waits summary::-webkit-details-marker{display:none}.surgical-waits summary>span:first-child{min-width:0;flex:1}.surgical-waits summary:hover>span:first-child{text-decoration:underline;text-underline-offset:3px}.waits-toggle{flex:0 0 1.25em;text-align:center;font-size:1.25rem;line-height:1}.waits-toggle::before{content:"+"}.surgical-waits[open] .waits-toggle::before{content:"−"}.waits-content>p{font-size:1rem;line-height:1.6;color:var(--muted);margin:16px 0}.surgical-waits dl{margin:0}.surgical-waits dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,6.5rem);gap:14px;padding:12px 0;border-top:1px solid #b2d8d6;font-size:1rem;line-height:1.5}.surgical-waits dt{color:var(--ink)}.surgical-waits dd{margin:0;text-align:right;font-weight:650;color:var(--ink)}.profile-grid strong{color:var(--ink)}.profile-grid>div:last-child .text-link{font-size:1rem}
@media(max-width:760px){.areas{grid-template-columns:1fr;gap:18px}.area-card{padding:24px}.area-card h3{font-size:1.3rem}.area-card>p{font-size:1rem}.intramoenia-notice{padding:16px}.visit-rate{gap:12px}.surgical-waits dl>div{grid-template-columns:1fr;gap:3px}.surgical-waits dd{text-align:left}}
@media(max-width:400px){.visit-rate{align-items:flex-start;flex-direction:column;gap:5px}.surgical-waits dl>div{grid-template-columns:1fr;gap:3px}.surgical-waits dd{text-align:left}}
.visit-information{padding:23px 0 8px;border-top:1px solid var(--line);margin-top:24px}.visit-information h3{font-size:1.15rem;margin-bottom:17px;letter-spacing:-.02em}.visit-information p{font-size:1rem;line-height:1.65;color:var(--muted);margin-bottom:15px}.visit-information strong{color:var(--ink)}.visit-details .visit-information{margin-top:22px}.news-list{display:grid;gap:24px}.news-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:35px;padding:32px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.news-meta{font-size:.875rem;font-weight:650;color:var(--teal);margin-bottom:15px}.news-card h2,.news-card h3{font-size:1.8rem;line-height:1.3;letter-spacing:-.03em;margin-bottom:0;max-width:32ch}.news-card-body p{font-size:1rem;line-height:1.65;color:var(--muted);max-width:60ch}.news-card-body .news-date,.news-date{font-size:.875rem;color:var(--muted)}.news-card .text-link{font-size:.95rem}.news-archive{padding-bottom:70px}.news-page h1{max-width:24ch}.article-page{max-width:820px;padding-top:48px;padding-bottom:70px}.article-page .back-link{display:inline-block;font-size:.9rem;text-decoration:underline;color:var(--muted);margin-bottom:32px}.article-page h1{max-width:none;font-size:clamp(2rem,4vw,3.5rem);line-height:1.17}.article-page .eyebrow{font-size:.875rem;letter-spacing:.08em}.article-intro{font-size:1.2rem;line-height:1.75;color:var(--ink);margin:30px 0}.article-body p{font-size:1.05rem;line-height:1.85;color:var(--muted);margin-bottom:24px}.article-sources{padding:26px;background:var(--soft);border:1px solid var(--line);border-radius:12px;margin-top:35px}.article-sources h2{font-size:1.4rem}.article-sources p{font-size:1rem;color:var(--muted);margin-bottom:12px}.article-sources p:last-child{margin-bottom:0}.article-sources .text-link{font-size:1rem}.footer-inner nav{flex-wrap:wrap}.news-card,.article-page{overflow-wrap:break-word}
@media(max-width:1100px) and (min-width:761px){.header-inner{flex-wrap:wrap;padding:20px 0;gap:18px}.header-inner nav{width:100%;justify-content:space-between;gap:14px}}
@media(max-width:760px){.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:15px 0;gap:12px}.header-inner .brand{grid-column:1;grid-row:1}.header-inner nav{display:contents}.header-inner nav .button{grid-column:2;grid-row:1}.header-inner nav>a.nav-news{display:block;grid-column:1/-1;grid-row:2;font-size:.875rem;border-top:1px solid var(--line);padding-top:12px}.news-card{grid-template-columns:1fr;padding:24px;gap:20px}.news-card h2,.news-card h3{font-size:1.5rem;max-width:none}.news-page h1{font-size:2.2rem}.news-archive{padding-bottom:45px}.article-page{padding-top:30px;padding-bottom:45px}.article-page h1{font-size:2.1rem}.article-intro{font-size:1.1rem}.article-body p{font-size:1rem}.article-sources{padding:22px}.section-title>.text-link{display:inline-block;margin-top:18px}.footer-inner nav{gap:16px}}
.footer-inner nav{font-size:.875rem}
@media(max-width:760px){.booking-layout .booking-card{grid-row:1}.booking-layout .visit-details{grid-row:2}}
.field-help{display:block;font-size:.85rem;color:var(--muted);margin-top:6px}.field-row>.field{min-width:0}.field input[type=date]{min-width:0;max-width:100%}.booking-review{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:26px;overflow-wrap:anywhere}.booking-review h3{font-size:1.15rem}.booking-review .appointment-data{margin:16px 0;padding:16px 0}.booking-review .intramoenia-notice{margin:16px 0 0}.appointment-data>div{min-width:0}.appointment-data dd{overflow-wrap:anywhere}
.field textarea{resize:vertical}.appointment-data .appointment-reason{grid-column:1/-1}.appointment-reason dd{white-space:pre-wrap;font-weight:500}.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}
.agenda-app{background:#f3f6f9}.agenda-app>.site-header,.agenda-app>.site-footer{display:none}.agenda-app .skip-link{top:12px;transform:translateY(-200%)}.agenda-app .skip-link:focus{transform:none}.agenda-wrap{width:min(1440px,calc(100% - 64px));margin:auto;padding:28px 0 30px}.agenda-top{display:flex;justify-content:space-between;align-items:center;gap:22px}.agenda-brand{display:flex;align-items:center;gap:14px;min-width:0}.agenda-brand p{font-size:.875rem;color:var(--muted);margin-bottom:2px}.agenda-brand h1{font-size:2rem;max-width:none;margin:0;line-height:1.2}.agenda-main-actions{display:flex;gap:10px;flex-wrap:wrap}.agenda-main-actions .button{font-size:.875rem;padding:11px 15px}.agenda-access{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0 18px;font-size:.875rem}.agenda-access nav{display:flex;gap:20px;flex-wrap:wrap}.agenda-access a{text-decoration:underline;text-underline-offset:3px;color:var(--muted)}.booking-state{margin:0;padding:6px 11px;border-radius:6px;background:#e5ebf0;color:#445969;font-weight:600}.booking-state.open{background:#e0f0eb;color:#166757}.calendar-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px 18px;flex-wrap:wrap}.calendar-toolbar h2{font-size:1.25rem;line-height:1.35;margin:0;letter-spacing:-.015em}.period-controls{display:flex;gap:7px}.calendar-nav{font-size:.875rem;min-height:40px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:8px 12px;font-weight:550}.calendar-nav:hover{background:var(--soft);border-color:#bacdd7}.calendar-views{display:flex;border:1px solid var(--line);border-radius:8px;padding:3px;gap:3px}.calendar-views button{font-size:.875rem;min-height:36px;padding:6px 11px;border:0;border-radius:5px;background:#fff;color:var(--muted);font-weight:600}.calendar-views button[aria-pressed=true]{background:var(--ink);color:#fff}.calendar-summary{padding:0 24px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.calendar-counts{display:flex;gap:18px;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}.calendar-counts strong{font-size:1.1rem;color:var(--ink);margin-right:3px}.calendar-date-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:.875rem}.calendar-date-tools input{width:150px;max-width:100%;min-height:40px;border:1px solid var(--line);border-radius:7px;padding:7px;background:#fff;color:var(--ink);font-size:.875rem}.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend span:before{content:'';width:10px;height:10px;border-radius:3px;flex-shrink:0;background:#9aa9b2}.calendar-legend .confirmed:before{background:#16846d}.calendar-legend .pending:before{background:#bc791c}.calendar-legend .free:before{background:#42699c}.calendar-content{border-top:1px solid var(--line)}.day-calendar.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-width:0;border-right:1px solid var(--line);padding-bottom:14px;min-height:420px}.calendar-day:last-child{border-right:0}.calendar-day>header{padding:12px 8px;text-align:center;background:#f8fafc;border-bottom:1px solid var(--line)}.calendar-day-title{display:inline-flex;gap:5px;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:5px 9px;min-height:44px;font-size:.875rem}.calendar-day-title strong{font-size:1.15rem;color:var(--ink)}.calendar-day-title.is-today{background:var(--ink);color:#fff}.calendar-day-title.is-today strong{color:#fff}.day-events{display:grid;gap:10px;padding:12px 8px}.calendar-event{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-width:0;text-align:left;padding:11px 10px;border:1px solid #c9d9ed;border-left:4px solid #42699c;border-radius:8px;background:#eef4fd;color:#234469;line-height:1.4;overflow-wrap:anywhere}.calendar-event:hover{box-shadow:0 3px 9px #122d4318;filter:brightness(.98)}.calendar-event strong{font-size:1rem;line-height:1.35;font-weight:650}.calendar-event .event-time{font-size:.875rem;font-weight:600}.event-service{font-size:.875rem;color:#425c77}.event-status{font-size:.875rem;font-weight:600}.calendar-event.confirmed{background:#e9f5f0;border-color:#b9dcd0;border-left-color:#16846d;color:#185647}.calendar-event.confirmed .event-service{color:#38685b}.calendar-event.pending{background:#fff5e1;border-color:#ead5ad;border-left-color:#bc791c;color:#79500f}.calendar-event.pending .event-service{color:#785c2a}.calendar-event.blocked{background:#f2f4f5;border-color:#dce2e6;border-left-color:#96a3ac;color:#52626c}.calendar-event.blocked .event-service{color:#62727e}.calendar-empty{font-size:.875rem;color:var(--muted);text-align:center;padding:14px 4px;margin:0}.add-day-slot{display:block;width:calc(100% - 16px);margin:0 8px;padding:9px 5px;background:#fff;color:var(--teal-dark);border:1px dashed #b5d6d5;border-radius:7px;font-size:.875rem;line-height:1.4;min-height:42px}.add-day-slot:hover{background:#f0f8f7}.day-calendar.day{max-width:740px;margin:auto}.day-calendar.day .calendar-day{min-height:250px;border:0}.day-calendar.day .day-events{padding:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.day-calendar.day .add-day-slot{width:calc(100% - 36px);margin:0 18px}.mobile-week-picker{display:none}.month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f8fafc;border-bottom:1px solid var(--line);text-align:center;font-size:.875rem;font-weight:600;color:var(--muted);padding:12px 0}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-day{min-width:0;min-height:145px;padding:8px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);position:relative}.month-day:nth-child(7n){border-right:0}.month-day.outside-month{background:#f6f8fa}.month-day.picked{background:#eef7f7;box-shadow:inset 0 0 0 2px #7ebebc}.month-day-number{display:flex;align-items:center;gap:8px;min-height:35px;min-width:35px;font-size:.95rem;border:0;background:transparent;border-radius:7px;padding:5px 9px;color:var(--ink);font-weight:600}.month-day-number.is-today{background:var(--ink);color:#fff}.month-events{display:grid;gap:5px;margin-top:6px}.calendar-event.mini{padding:7px 8px;gap:2px;border-left-width:3px}.calendar-event.mini strong{font-size:.875rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.calendar-event.mini .event-time{font-size:.875rem}.month-free{font-size:.875rem;color:#42699c;margin-top:4px}.month-more{font-size:.875rem;border:0;background:transparent;text-align:left;color:var(--teal-dark);padding:5px;min-height:35px}.month-count,.month-free-dot{display:none}.month-selected-day{padding:24px}.month-selected-day h2{font-size:1.2rem;line-height:1.4;margin-bottom:18px}.selected-day-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.agenda-footnote{font-size:.875rem;color:var(--muted);margin:15px 0 0}.agenda-dialog{width:min(640px,calc(100% - 32px));padding:28px}.agenda-dialog h2{font-size:1.6rem;line-height:1.3;letter-spacing:-.02em;margin-right:50px}.agenda-dialog .dialog-close{min-height:40px}.agenda-dialog .appointment-data{grid-template-columns:1fr 1fr}.agenda-dialog .appointment-data dt{font-size:.875rem}.agenda-dialog .appointment-data dd{font-size:1rem}.agenda-dialog .eyebrow{font-size:.875rem;letter-spacing:.08em;margin-bottom:15px}.agenda-dialog.details-dialog{margin:0 0 0 auto;width:min(600px,100%);min-height:100dvh;height:100dvh;max-height:100dvh;border-radius:16px 0 0 16px;border-top:0;border-right:0;border-bottom:0;padding:30px}.appointment-state{display:inline-block;border-radius:6px;padding:6px 12px;font-size:.875rem;font-weight:600;background:#e9f5f0;color:#185647}.appointment-state.pending{background:#fff5e1;color:#79500f}.appointment-contacts{padding:0 0 8px}.appointment-contacts h3{font-size:1.1rem;margin-bottom:14px}.appointment-contacts p{margin-bottom:8px;overflow-wrap:anywhere}.appointment-contacts a{color:var(--teal-dark);text-decoration:underline}.slot-detail-time{font-size:1.5rem;font-weight:650}.agenda-dialog .actions{gap:10px}.agenda-dialog .actions .button{font-size:1rem}.agenda-dialog .field>span{font-size:.875rem}.agenda-dialog .checkbox-line,.agenda-dialog .small-text,.agenda-dialog .field-help{font-size:.875rem}#agenda-error:empty{display:none}#agenda-error .notice{margin:0 24px 15px}
@media(max-width:1100px){.agenda-top{align-items:flex-start;flex-wrap:wrap}.calendar-toolbar h2{order:-1;width:100%}.calendar-event{padding:9px 7px}.event-service{line-height:1.45}.selected-day-events{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.agenda-wrap{width:calc(100% - 32px);padding:20px 0}.agenda-top{gap:18px}.agenda-main-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:9px}.agenda-main-actions .button:first-child{grid-column:1/-1}.agenda-main-actions .button{font-size:.95rem;min-height:46px;padding:11px}.agenda-brand p{font-size:.875rem}.agenda-access{align-items:flex-start;gap:13px;flex-direction:column;margin:18px 0}.agenda-access nav{gap:20px}.calendar-toolbar{padding:18px 16px 14px;gap:13px}.calendar-toolbar h2{font-size:1.2rem}.period-controls{width:100%}.calendar-nav{min-height:42px}.calendar-views{width:100%}.calendar-views button{flex:1;min-height:42px}.calendar-summary{padding:0 16px 15px;gap:15px}.calendar-counts{gap:8px 16px}.calendar-date-tools{gap:8px;width:100%}.calendar-date-tools label{width:100%}.calendar-legend{padding:12px 16px;gap:10px 18px}.mobile-week-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:12px 9px;border-top:1px solid var(--line)}.mobile-week-picker button{padding:7px 1px;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;border:0;border-radius:7px;background:#f1f5f8;color:var(--muted);font-size:.875rem;position:relative}.mobile-week-picker strong{font-size:1rem;color:var(--ink)}.mobile-week-picker button[aria-pressed=true]{background:var(--ink);color:#fff}.mobile-week-picker button[aria-pressed=true] strong{color:#fff}.day-has-visits{width:5px;height:5px;border-radius:50%;background:#16846d}.mobile-week-picker button[aria-pressed=true] .day-has-visits{background:#fff}.day-calendar.week{display:block}.day-calendar.week .calendar-day{display:none}.day-calendar.week .calendar-day.selected-day{display:block;min-height:220px;border-right:0}.calendar-day-title{font-size:1rem}.calendar-day-title strong{font-size:1.3rem}.day-events{padding:15px;gap:12px}.calendar-event{padding:13px 14px;gap:5px}.calendar-event .event-time,.event-service,.event-status{font-size:.95rem}.calendar-event strong{font-size:1.05rem}.add-day-slot{width:calc(100% - 30px);margin:0 15px;padding:12px;font-size:.95rem}.day-calendar.day .day-events{grid-template-columns:1fr;padding:15px}.day-calendar.day .add-day-slot{width:calc(100% - 30px);margin:0 15px}.month-weekdays{font-size:.875rem;padding:10px 0}.month-day{min-height:80px;padding:4px 2px}.month-day-number{flex-direction:column;justify-content:flex-start;gap:3px;min-width:0;min-height:60px;width:100%;padding:5px 1px;font-size:.95rem}.month-events{display:none}.month-count{display:inline-block;font-size:.875rem;line-height:1.4;min-width:20px;border-radius:4px;color:#185647;background:#d9eee5;padding:0 3px}.month-free-dot{display:block;position:absolute;bottom:7px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#42699c}.month-selected-day{padding:20px 15px}.selected-day-events{grid-template-columns:1fr}.agenda-dialog.details-dialog{border:0;border-radius:0;padding:24px;max-height:100dvh}.agenda-dialog{padding:24px}.agenda-dialog .appointment-data{grid-template-columns:1fr}.agenda-dialog .actions{display:grid;grid-template-columns:1fr}.agenda-dialog .actions .button{width:100%}.agenda-footnote{line-height:1.6}#agenda-error .notice{margin-left:15px;margin-right:15px}}
@media(prefers-reduced-motion:no-preference){.calendar-event{transition:box-shadow .15s ease,background .15s ease}}
.period-controls,.calendar-views{flex-wrap:wrap}.calendar-date-tools input{width:10rem;min-width:0}.weekday-short{display:none}
@media(max-width:760px){.agenda-main-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr))}.mobile-week-picker{grid-template-columns:repeat(auto-fit,minmax(2rem,1fr))}.weekday-long{display:none}.weekday-short{display:inline}.month-day-number{font-size:.875rem;padding-left:0;padding-right:0}.month-count{min-width:0;max-width:100%;overflow-wrap:anywhere}.calendar-views button{flex-basis:auto}}
.agenda-dialog h2{overflow-wrap:anywhere}
.agenda-dialog.details-dialog{position:fixed;inset:0 0 0 auto;max-width:100vw;overflow-wrap:anywhere}
@media(max-width:760px){.agenda-dialog .actions{grid-template-columns:minmax(0,1fr)}.agenda-dialog .actions .button{min-width:0;max-width:100%;overflow-wrap:anywhere}}
@media(max-width:760px){.agenda-main-actions{display:flex;flex-wrap:wrap}.agenda-main-actions .button{flex:1 1 7rem;min-width:0;overflow-wrap:anywhere}.agenda-main-actions .button:first-child{flex-basis:100%}}

.doctor-contacts { margin-top: 1.25rem; min-width: 0; }
.contact-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; }
.contact-preference { font-size: .9375rem; line-height: 1.6; }
.contact-email { overflow-wrap: anywhere; }
.privacy .doctor-contacts { border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 2rem; }
.privacy h2 { scroll-margin-top: 6rem; }
.privacy { font-size: 1rem; }
.privacy, .privacy-heading { overflow-wrap: anywhere; }

.profile-shortcut{overflow-wrap:anywhere;display:inline-block;margin-top:12px;font-size:1rem;line-height:1.5}.appointment-options{display:grid;gap:10px}.upcoming-slot{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px 14px;overflow-wrap:anywhere}.slot-date{font-size:1rem;line-height:1.5}.slot-time{font-size:1.125rem;line-height:1.5}.availability-group{margin-bottom:20px}.availability-group h3{font-size:1rem;letter-spacing:0;line-height:1.5;margin:0 0 10px}.availability-group .slot-button{padding:10px 12px;max-width:100%;overflow-wrap:anywhere}.availability-toggle{margin:16px 0 4px;font-size:1rem}.availability-toggle+.notice{margin-top:16px}.doctor-summary>div{min-width:0}

.footer-inner nav{flex-wrap:wrap}

.sms-panel{border-top:1px solid var(--line);padding:20px 0 0;margin-top:22px;overflow-wrap:anywhere}.sms-panel h3{font-size:1.1rem;line-height:1.5;margin-bottom:14px}.sms-panel p{line-height:1.65}.sms-panel summary{cursor:pointer;font-weight:650;margin-bottom:16px}.sms-message-list{list-style:none;padding:0;display:grid;gap:12px}.sms-message-list li{display:grid;gap:5px;padding:12px 14px;background:var(--soft);border-radius:8px}.sms-message-list .button{justify-self:start;font-size:.9375rem;margin-top:6px}.sms-preference small{display:block;margin-top:7px;color:var(--muted);font-size:.875rem;line-height:1.6}.presence-received{padding:13px 16px;background:#e0f0eb;color:#166757;border-radius:8px;font-weight:600;margin:18px 0}.agenda-statuses{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.sms-state{font-size:inherit;border:1px solid transparent;cursor:pointer;text-align:left}.sms-state:hover{border-color:var(--muted)}button.text-link{border:0;background:transparent;padding:6px 0;text-align:left;font:inherit;cursor:pointer}.sms-panel .button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.sms-panel input{min-width:0}.dialog #move-availability{margin:20px 0}.dialog .appointment-options{max-height:45dvh;overflow:auto}

.pending-requests{margin:0 0 22px;padding:16px 20px;background:#fff5e1;border:1px solid #ead5ad;border-radius:10px}.pending-requests>summary{font-size:1rem;font-weight:650;cursor:pointer;min-height:28px}.pending-request-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;max-height:230px;overflow:auto}.pending-request-list>button{display:flex;flex-direction:column;gap:4px;text-align:left;min-width:0;padding:12px;border:1px solid #ead5ad;border-radius:8px;background:#fff;color:var(--ink);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.pending-request-list>button strong{font-size:1rem}.pending-request-list>button>span:last-child{color:var(--teal-dark);font-weight:600}.visit-terms{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:10px;min-width:0}.visit-terms>legend{padding:0 6px;font-size:1rem;font-weight:650}.visit-terms .checkbox-line{align-items:flex-start;font-size:1rem;line-height:1.5;margin:0;padding:10px 0}.visit-terms .custom-fee{margin:8px 0 12px}.visit-terms .custom-fee[hidden]{display:none}.visit-terms input[type=radio]{margin-top:5px;flex-shrink:0}.agenda-statuses{flex-wrap:wrap}.agenda-access .agenda-statuses{gap:8px}@media(max-width:600px){.pending-requests{padding:14px}.pending-request-list{grid-template-columns:1fr}.visit-terms{padding:12px}}
