/* Shared NEW clinic proposals. Accessible editorial language, variance 4 / motion 2 / density 4.
   The user-approved clinic rules take precedence over generic frontend skill presets. */
body.renewal{--rn-ink:#10283f;--rn-blue:#0758b8;--rn-teal:#24736b;--rn-warm:#fbf3ee;--rn-soft:#edf3f9;--rn-line:#c5d2e0;color:var(--rn-ink);background:#fff}
.renewal .n29-page{font-size:22px;font-weight:500;line-height:1.85;overflow-wrap:anywhere;word-break:keep-all}
.renewal .n29-page *{box-sizing:border-box;min-width:0}
.renewal .n29-page [hidden]{display:none!important}
.renewal .rn-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}
.renewal .n29-hero{max-width:1408px;min-height:0;padding:64px;gap:48px;grid-template-columns:1.1fr 1fr}
.renewal .n29-hero h1{font-size:clamp(54px,5.8vw,98px);white-space:normal;line-height:1.17;letter-spacing:-.06em;text-wrap:balance;margin-bottom:30px}
.renewal .n29-hero h1.rn-long-title{font-size:clamp(54px,4.7vw,72px)}
.renewal .n29-hero .n29-eyebrow{font-size:19px;letter-spacing:.035em;line-height:1.5;margin:0 0 18px}
.renewal .n29-hero .n29-intro{font-size:24px;line-height:1.85;max-width:none;padding-left:0;border:0}
.renewal .n29-intro p{font-size:inherit!important;line-height:inherit!important}
.renewal .n29-intro p+p{margin-top:14px}
.renewal .n29-hero-art{margin:0;min-height:0;align-self:center;width:100%;border-radius:22px;overflow:hidden}
.renewal .n29-hero-art img{position:static;z-index:auto;width:100%;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center}
.renewal .rn-hero-text{display:block;max-width:1408px}
.renewal .rn-hero-text .n29-intro{max-width:1100px}
.renewal .n29-chapters{position:sticky;top:0;display:flex;overflow-x:auto;scrollbar-width:thin;gap:0;padding:0 max(22px,calc((100% - 1280px)/2));box-shadow:none;overscroll-behavior-inline:contain}
.renewal .n29-chapters a{flex:1 0 auto;justify-content:center;min-height:76px;padding:18px 24px;font-size:20px;white-space:nowrap;color:#fff;text-decoration:none}
.renewal .n29-chapters a::after{display:none}
.renewal .n29-chapters a[aria-current=location]{background:var(--rn-blue)}
.renewal .rn-section{width:100%;padding:105px max(32px,calc((100% - 1280px)/2));margin:0;background:#fff;scroll-margin-top:var(--foot-anchor-offset,100px)}
.renewal .rn-inner{width:100%;max-width:1280px;margin:auto}
.renewal .rn-soft{background:var(--rn-soft)}
.renewal .rn-warm{background:var(--rn-warm)}
.renewal .rn-content h2{font-size:clamp(36px,3.8vw,56px);font-weight:900;line-height:1.3;letter-spacing:-.05em;text-wrap:balance;margin:0 0 30px}
.renewal .rn-content h3{font-size:28px;font-weight:850;line-height:1.5;letter-spacing:-.03em;text-wrap:balance;margin:0 0 18px}
.renewal .rn-content h3 small{font-size:20px;line-height:1.5;font-weight:650}
.renewal .rn-content p{font-size:22px;line-height:1.85;margin:0 0 18px;text-wrap:pretty}
.renewal .rn-content strong,.renewal .rn-keyword,.renewal .n29-intro strong{color:var(--rn-teal);font-weight:850}
.renewal .rn-content h2 span{color:inherit}
.renewal .rn-content em,.renewal .rn-content i{font-style:normal}
.renewal .rn-content .rn-eyebrow{font-size:16px;line-height:1.5;letter-spacing:.07em;font-weight:800;color:var(--rn-blue);margin-bottom:18px}
.renewal .rn-content .rn-statement{font-size:36px;line-height:1.5}
.renewal .rn-phrase{display:inline-block;max-width:100%;vertical-align:top}
.renewal .rn-marked{display:block!important;position:relative;padding-left:1.5em}
.renewal .rn-marker{position:absolute;left:0;top:0;width:1.4em;font-weight:850;color:var(--rn-blue)}
.renewal .rn-content ul,.renewal .rn-content ol{padding-left:1.4em;margin:22px 0}
.renewal .rn-content li{padding-left:.2em;margin:10px 0;font-size:22px;line-height:1.85;text-wrap:pretty}
.renewal .rn-content li::marker{color:var(--rn-blue);font-weight:800}
.renewal .rn-content .rn-section-image{width:auto;max-width:min(100%,800px);max-height:580px;object-fit:contain;margin:32px auto;border-radius:22px}
.renewal .rn-content :is(.rn-media-grid,.rn-card-grid,.rn-icon-grid){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0;padding:0;list-style:none}
.renewal .rn-content .rn-card{margin:0;border:1px solid var(--rn-line);border-radius:20px;background:#fff;padding:28px;overflow:hidden;box-shadow:none}
.renewal .rn-content .rn-card>*:last-child{margin-bottom:0}
.renewal .rn-content .rn-card-grid>.rn-card{display:flex;flex-wrap:wrap;gap:0 22px;align-content:start}
.renewal .rn-card-grid>.rn-card>.rn-icon{flex:0 0 92px;margin:0 0 18px}
.renewal .rn-card-grid>.rn-card>.rn-detail{flex:1 1 250px}
.renewal .rn-card-grid>.rn-card>h3{flex:1 1 240px;align-self:center}
.renewal .rn-card-grid>.rn-card>:is(p,ul){width:100%}
.renewal .rn-content .rn-media-grid>.rn-card{padding:0;display:flex;flex-direction:column}
.renewal .rn-media-grid>.rn-card>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:0;background:#fff;margin:0}
.renewal .rn-content .rn-card-copy{padding:28px}
.renewal .rn-content .rn-icon{display:block;width:112px;height:112px;max-width:112px;object-fit:contain;border-radius:16px;margin:0 auto 22px}
.renewal .rn-content .rn-icon-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.renewal .rn-content .rn-icon-grid>.rn-card{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:216px;font-size:23px;font-weight:750;line-height:1.65}
.renewal .rn-content .rn-text-list{display:grid;gap:16px;padding:0;list-style:none;margin:30px 0}
.renewal .rn-content .rn-text-list>.rn-card{padding:22px 28px;font-weight:650;line-height:1.8}
.renewal .rn-symptom-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start;margin-top:30px}
.renewal .rn-symptom-layout>figure{border-radius:22px;overflow:hidden;background:#fff}
.renewal .rn-symptom-layout>figure img{display:block;width:100%;height:auto;object-fit:contain}
.renewal .rn-symptom-layout>.rn-text-list,.renewal .rn-symptom-layout>.rn-card-grid{margin:0;grid-template-columns:1fr}
@media(max-width:900px){.renewal .rn-symptom-layout{grid-template-columns:1fr;gap:24px}}
.renewal .rn-content .rn-detail{width:100%;margin:0}
.renewal .rn-detail :is(summary,.static-card-heading){position:relative;list-style:none;cursor:pointer;min-height:48px;padding:0 38px 0 0;font-size:27px;font-weight:850;line-height:1.5}
.renewal .rn-detail :is(summary,.static-card-heading)::-webkit-details-marker{display:none}
.renewal .rn-detail :is(summary,.static-card-heading)::after{content:'+';position:absolute;right:0;top:0;color:var(--rn-blue);font-size:32px;font-weight:600}
.renewal .rn-detail[open]>:is(summary,.static-card-heading)::after{content:'−'}
.renewal .rn-detail :is(summary,.static-card-heading) :is(h2,h3){font-size:inherit;margin:0}
.renewal .rn-detail :is(summary,.static-card-heading)+*{margin-top:18px}
.renewal .rn-detail-copy>p:last-child{margin-bottom:0}
.renewal .rn-detail>div>div>span{display:block}
.renewal .rn-breadcrumb{max-width:1344px;padding:24px 32px;margin:auto;font-size:18px}
.renewal .rn-content table{border-collapse:collapse;width:100%;margin:28px 0;font-size:21px;line-height:1.6}
.renewal .rn-content th,.renewal .rn-content td{border:1px solid var(--rn-line);padding:22px;text-align:left;vertical-align:top}
.renewal .rn-content th{background:var(--rn-soft);font-weight:850}
.renewal .rn-table-scroll{overflow-x:auto;max-width:100%}
.renewal .rn-content .rn-table-scroll table{min-width:650px}
.renewal :is(a,button,:is(summary,.static-card-heading),input,select):focus-visible{outline:3px solid var(--rn-blue);outline-offset:4px}
.renewal .rn-content address{font-style:normal}
.renewal .rn-content a{color:var(--rn-blue)}
.renewal .rn-content :is(input,select,textarea){font:inherit;max-width:100%;border:1px solid var(--rn-line);border-radius:10px;min-height:48px;padding:10px 14px}
.renewal .rn-content button{font-family:inherit}
/* Preserve the functional service-page DOM while replacing its visual scale and fixed widths. */
.renewal.rn-service .rn-content{font-size:22px}
.renewal.rn-service .rn-section{max-width:none!important;height:auto!important;min-height:0!important;padding:80px max(22px,calc((100% - 1280px)/2))!important;box-sizing:border-box!important;background:#fff!important;color:var(--rn-ink)!important}
.renewal.rn-service .rn-section:nth-of-type(even){background:var(--rn-soft)!important}
.renewal.rn-service .rn-content :is(p,li){font-size:22px!important;line-height:1.85!important;color:var(--rn-ink)}
.renewal.rn-service .rn-content :is(h2,h3){color:var(--rn-ink)!important}
.renewal.rn-service .rn-content img{max-width:100%;object-fit:contain;border-radius:20px}
.renewal.rn-service .rn-content :is(.mjs-source-intro,.mjs-source-contact){text-align:left}
.renewal.rn-service .rn-content .mjs-source-block{border-radius:20px;gap:24px;padding:32px;height:auto}
.renewal.rn-service .rn-content .mjs-source-hours{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.renewal.rn-service .mjs-source-hours article{width:auto!important;height:auto!important;border:1px solid var(--rn-line);border-radius:20px;padding:28px!important;background:#fff}
.renewal.rn-service .mjs-source-hours article img{width:88px;height:88px;margin:auto auto 20px}
.renewal.rn-service .mjs-source-hours article h2{font-size:28px!important}
.renewal.rn-service .mjs-location-directions-inner{width:100%!important;max-width:1280px;margin:auto}
.renewal.rn-service .mjs-source-map{width:100%!important;max-width:100%;border-radius:22px;overflow:hidden}
.renewal.rn-service .mjs-source-transit{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.renewal.rn-service .mjs-source-transit>div{width:auto;height:auto;border-radius:20px;padding:28px;background:#fff}
.renewal.rn-service .mjs-gallery-stage{width:100%!important;max-width:100%;border-radius:22px;overflow:hidden}
.renewal.rn-service .mjs-gallery-thumbnails{width:100%!important;max-width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.renewal.rn-service .mjs-gallery-thumbnails figure{width:auto!important;min-width:0}
.renewal.rn-service .mjs-gallery-thumbnails img{height:auto!important;width:100%!important;aspect-ratio:16/9;object-fit:cover}
.renewal.rn-service .mjs-booking-page>*{max-width:100%;width:100%}
.renewal.rn-service .mjs-booking-fields{font-size:20px;line-height:1.7;max-width:100%}
.renewal.rn-service .mjs-booking-fields :is(input,select){font-size:20px!important;height:48px!important;border-radius:10px}
.renewal.rn-service .mjs-booking-fields input[type=checkbox]{min-height:24px;width:24px;height:24px}
.renewal.rn-service .mjs-calendar-grid>button{font-size:19px!important;min-height:48px}
.renewal.rn-service .mjs-booking-consent,.renewal.rn-service .mjs-booking-calendar{border-radius:20px;overflow:hidden}
.renewal.rn-service .mjs-booking-apply{background:var(--rn-blue);color:#fff!important;border-radius:12px;font-size:22px!important;min-height:54px}
.renewal.rn-service .mjs-community-table{width:100%!important;font-size:20px;line-height:1.7}
.renewal.rn-service .mjs-community-table>div{height:auto!important;min-height:60px;padding:18px 0}
.renewal.rn-service .mjs-community-table span{font-size:19px!important}
.renewal.rn-service .mjs-community-search{font-size:20px;max-width:100%}
.renewal.rn-service .mjs-community-search input{font-size:20px!important;min-height:44px}
.renewal.rn-service dialog{border:1px solid var(--rn-line);border-radius:20px;max-width:calc(100vw - 44px);color:var(--rn-ink);padding:28px}
.renewal.rn-service dialog::backdrop{background:#10283f90}
.renewal.rn-service dialog :is(input,button){font-size:20px;min-height:48px}
.renewal.rn-service dialog[open]{z-index:1100}
@media(max-width:1100px){.renewal .n29-hero{padding:48px 32px;gap:32px}.renewal .n29-hero h1{font-size:64px}.renewal .rn-content .rn-media-grid{grid-template-columns:1fr 1fr}.renewal.rn-service .mjs-gallery-thumbnails{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.renewal .n29-hero{grid-template-columns:1fr;padding:40px 22px 52px;gap:30px}.renewal .n29-hero-art{max-width:640px;margin:auto}.renewal .n29-hero h1{font-size:54px}.renewal .n29-hero .n29-intro{font-size:20px!important}.renewal .rn-content :is(.rn-media-grid,.rn-card-grid){grid-template-columns:1fr}.renewal.rn-service .mjs-source-hours{grid-template-columns:1fr!important}.renewal.rn-service .mjs-source-transit{grid-template-columns:1fr}.renewal.rn-service .mjs-doctor-profile{display:block!important}.renewal.rn-service .mjs-doctor-photo{width:100%;max-width:430px;margin:auto}.renewal.rn-service .mjs-gallery-thumbnails{grid-template-columns:repeat(2,1fr)}.renewal.rn-service .mjs-booking-fields{width:100%!important}.renewal.rn-service .mjs-booking-calendar{width:100%!important}.renewal.rn-service .mjs-booking-form,.renewal.rn-service .mjs-booking-info{width:100%!important;display:block!important}}
@media(max-width:600px){.renewal .n29-page{font-size:20px;line-height:1.8}.renewal .n29-chapters{top:0}.renewal .n29-chapters a{font-size:18px;min-height:64px;padding:16px 20px}.renewal .rn-section{padding:60px 22px}.renewal .rn-content h2{font-size:36px;line-height:1.3}.renewal .rn-content h3{font-size:26px}.renewal .rn-content :is(p,li){font-size:20px;line-height:1.8}.renewal .rn-content .rn-eyebrow{font-size:15px}.renewal .rn-content .rn-statement{font-size:28px}.renewal .rn-content :is(.rn-card-grid,.rn-icon-grid,.rn-media-grid){grid-template-columns:1fr;gap:16px;margin:24px 0}.renewal .rn-content .rn-card,.renewal .rn-content .rn-card-copy{padding:24px}.renewal .rn-content .rn-media-grid>.rn-card{padding:0}.renewal .rn-content .rn-icon-grid>.rn-card{min-height:0}.renewal .rn-content .rn-section-image{margin:24px auto}.renewal .rn-detail :is(summary,.static-card-heading){font-size:25px}.renewal .rn-breadcrumb{padding:22px;font-size:16px}.renewal.rn-service .rn-section{padding:60px 22px!important}.renewal.rn-service .rn-content :is(p,li){font-size:20px!important;line-height:1.8!important}.renewal.rn-service .mjs-community-table{min-width:620px}.renewal.rn-service .mjs-community-page{overflow-x:auto}.renewal.rn-service .mjs-booking-fields>div{flex-wrap:wrap;height:auto;gap:12px;padding:16px 0}.renewal.rn-service .mjs-booking-fields input{max-width:100%}.renewal.rn-service .mjs-source-phone{font-size:30px!important}.renewal.rn-service .mjs-source-address{font-size:22px!important}}
@media(prefers-reduced-motion:reduce){.renewal *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.renewal .n29-chapters{display:none}.renewal .rn-section{padding:30px 0;break-inside:auto}.renewal .rn-card{break-inside:avoid}}
