
:root{--blue:#397eb8;--blue-dark:#225c89;--ink:#173448;--muted:#526877;--lime:#b9d795;--pale:#eff5e8;--ice:#f1f6fa;--line:#dce5ea;--radius:18px;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.13;letter-spacing:-.045em}h2{font-size:clamp(30px,3.6vw,44px);font-weight:650}h3{font-size:22px;font-weight:650;letter-spacing:-.025em}p{color:var(--muted)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button{border:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:750;text-transform:uppercase;color:var(--blue-dark);display:block;margin-bottom:17px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:49px;padding:12px 20px;border-radius:9px;background:var(--blue-dark);color:#fff;font-weight:650;font-size:14px;transition:background .18s,transform .18s}.btn:hover{background:#19486e}.btn.light{background:white;color:var(--ink);border:1px solid var(--line)}.btn.green{background:var(--lime);color:#203a28}.btn.green:hover{background:#aaca85}.textlink{display:inline-flex;align-items:center;gap:14px;font-size:14px;font-weight:650;color:var(--blue-dark);background:none;padding:7px 0;border-bottom:1px solid #a6bfd0}.textlink svg{width:18px;height:18px}.buttonrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.skip{position:absolute;top:-80px;left:15px;background:white;padding:12px;z-index:100}.skip:focus{top:5px}.utility{background:var(--ice);font-size:12px;color:var(--muted)}.utility .wrap{height:32px;display:flex;align-items:center;justify-content:space-between}.utility button{background:none;font-size:12px}.sitehead{position:sticky;top:0;background:#ffffffef;backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid #e8edf0}.headinner{height:84px;display:flex;align-items:center;gap:30px}.logo{display:block;width:174px;height:auto}.nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600}.nav .nav-action{background:none;padding:0;font:inherit;white-space:nowrap}.nav a:hover,.nav .nav-action:hover{color:var(--blue)}.menubtn{display:none;background:none;padding:10px}.hero{padding:52px 0 42px}.herogrid{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center}.hero h1{font-size:clamp(38px,4.65vw,61px);font-weight:650;letter-spacing:-.057em}.hero h1 span{color:var(--blue)}.hero .intro{font-size:17px;line-height:1.75;max-width:490px;margin:25px 0 27px}.smallwelcome{display:flex;align-items:center;gap:8px;margin-top:21px;font-size:12px;font-weight:550;color:#52634e}.dot{width:7px;height:7px;background:#6f963f;border-radius:50%;display:inline-block}.hero-photo{position:relative;padding:15px 15px 0 0}.hero-photo:before{content:"";position:absolute;right:0;top:0;bottom:36px;width:78%;border-radius:23px;background:var(--pale)}.photoframe{overflow:hidden;border-radius:19px;background:var(--ice)}.hero-photo .photoframe{position:relative;aspect-ratio:1.2}.photoframe img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .26s ease}.photo-caption{position:relative;display:flex;align-items:center;gap:13px;background:#fff;box-shadow:0 8px 35px #1837490c;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:-27px 24px 0 24px;font-size:13px}.photo-caption strong{display:block}.photo-caption span{color:var(--muted);font-size:12px}.photo-caption svg{color:var(--blue)}.quick{padding:13px 0 44px}.quick-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:17px}.quick-title h2{font-size:21px;letter-spacing:-.02em}.quick-title p{font-size:12px}.quickgrid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}.quickitem{display:flex;align-items:center;gap:17px;text-align:left;background:white;padding:25px 24px;border-right:1px solid var(--line);transition:background .2s}.quickitem:last-child{border:0}.quickitem:hover{background:var(--ice)}.quickitem .ico{width:46px;height:46px;display:grid;place-items:center;background:var(--ice);color:var(--blue-dark);border-radius:13px}.quickitem:nth-child(2) .ico{background:var(--pale)}.quickitem strong{font-size:16px;display:block;letter-spacing:-.02em}.quickitem small{font-size:12px;color:var(--muted)}.quickitem>.arrow{margin-left:auto;width:17px}.section{padding:73px 0}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:33px}.sectionhead p{max-width:375px;font-size:15px}.services{background:var(--ice)}.servicegrid{display:grid;grid-template-columns:.78fr 1.22fr;gap:65px}.servicelead p{margin:22px 0;max-width:350px}.servicelead .mini{font-size:13px;padding-left:17px;border-left:3px solid var(--lime);margin-top:31px}.accordion{border-top:1px solid #cbdbe5}details{border-bottom:1px solid #cbdbe5}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:22px 0;font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.025em}summary::-webkit-details-marker{display:none}summary .plus{margin-left:auto;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;color:var(--blue-dark);font-size:20px;flex-shrink:0}summary .plus:before{content:"+"}details[open]>summary .plus:before{content:"−"}.detailbody{padding:0 40px 24px 0;font-size:14px;line-height:1.8}.detailbody .textlink{margin-top:10px}.number{font-size:11px;color:#6f8999;font-variant-numeric:tabular-nums;font-weight:500;width:20px}.hzv{padding:68px 0}.hzvbox{border-radius:22px;background:var(--blue-dark);color:white;padding:46px 48px;display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative;overflow:hidden}.hzvbox .eyebrow{color:#c9e4af}.hzvbox h2{font-size:39px}.hzvbox p{color:#d9e7f0;font-size:15px;margin:19px 0 26px}.steps{display:grid;align-content:center;gap:24px}.step{display:flex;gap:17px}.stepnum{display:grid;place-items:center;border:1px solid #87a7bd;border-radius:50%;width:34px;height:34px;flex-shrink:0;font-size:12px}.step strong{font-size:16px}.step p{margin:4px 0 0;font-size:13px;line-height:1.65}.doctors{padding-top:15px}.doctorgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:21px}.doctor .photoframe{aspect-ratio:.88;border-radius:14px;background:#edf3f6}.doctor img{object-position:center 22%}.doctor h3{font-size:18px;letter-spacing:-.02em;margin-top:18px;line-height:1.25}.doctor p{font-size:12px;line-height:1.6;margin:7px 0 10px}.doctor .textlink{font-size:12px}.missingphoto{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#7893a5;gap:12px;background:linear-gradient(155deg,#edf4f8,#f8fafb)}.missingphoto svg{width:59px;height:59px;stroke-width:1}.missingphoto span{font-size:12px}.welcome-row{display:flex;align-items:center;justify-content:space-between;background:var(--pale);border-radius:13px;padding:22px 26px;margin-top:33px;gap:20px}.welcome-row strong{font-size:17px}.welcome-row p{font-size:13px;margin-top:3px}.faqgrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:72px}.faqgrid .lead p{margin:19px 0 22px}.faqgrid summary{font-size:16px}.faq{background:#fafbf8}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.address{margin:24px 0;font-size:16px;line-height:1.8}.address strong{color:var(--ink)}.contact-call{font-size:31px;color:var(--blue-dark);font-weight:650;letter-spacing:-.035em;display:inline-flex;align-items:center;gap:14px;background:none;padding:0}.contact h3{font-size:20px;margin-bottom:19px}.hours{width:100%;border-collapse:collapse;font-size:14px}.hours td{padding:11px 0;border-bottom:1px solid var(--line)}.hours td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.contact .note{font-size:12px;margin-top:15px}.urgent{border-top:1px solid var(--line);margin-top:44px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.urgent strong{color:var(--ink)}.footer{background:#173448;color:white;padding:34px 0 22px}.footer-top{display:flex;justify-content:space-between;gap:24px;font-size:13px}.footer-top strong{font-size:17px}.footer p{color:#bed1dd;font-size:12px;margin:7px 0}.footerlinks{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.footerlinks button{background:none;color:#d9e6ee;font-size:12px;padding:4px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #456072;margin-top:24px;padding-top:19px;font-size:11px;color:#aac2d2}.footer-bottom button{background:none;color:#c8dbe6;font-size:11px;padding:0}.mobilebar{display:none}dialog{padding:0;border:0;border-radius:20px;width:min(720px,calc(100% - 32px));max-height:90dvh;color:var(--ink);box-shadow:0 30px 100px #09233844}dialog::backdrop{background:#142f4266;backdrop-filter:blur(3px)}.dialoghead{display:flex;align-items:center;justify-content:space-between;padding:23px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.dialoghead h2{font-size:24px}.close{width:35px;height:35px;border-radius:50%;background:var(--ice);font-size:24px;line-height:1}.dialogbody{padding:26px 28px 30px}.demolabel{font-size:11px;background:#f5f0e4;color:#735c23;padding:8px 12px;border-radius:7px;margin-bottom:20px}.formintro{font-size:14px;margin-bottom:21px}.estimate{padding:18px 20px;background:var(--pale);border-radius:12px;margin:18px 0 24px}.estimate small{display:block;font-size:12px;color:#506446}.estimate strong{display:block;font-size:21px;letter-spacing:-.03em;margin:4px 0}.estimate p{font-size:12px;line-height:1.55;color:#455a3d}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:550}.field.full{grid-column:1/-1}input,select,textarea{border:1px solid #c3d2dc;border-radius:8px;padding:10px 12px;min-height:44px;background:#fff;width:100%;color:var(--ink);font-size:14px}textarea{resize:vertical;min-height:80px}.medrow{display:grid;grid-template-columns:75px 130px 1fr;gap:10px;padding:16px;background:var(--ice);border-radius:12px;margin:12px 0}.medrow .field{font-size:11px}.medrow .other{grid-column:2/-1}.hint{font-size:12px;color:var(--muted);line-height:1.6;margin:16px 0}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;margin:18px 0}.check input{width:17px;min-height:17px;height:17px;margin-top:3px;flex-shrink:0}.formbuttons{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:20px}.subtle{background:none;color:var(--blue-dark);text-decoration:underline;font-size:12px;padding:8px 0}.demo-tools{background:#f7f8fa;border:1px dashed #c8d5dd;border-radius:8px;margin-top:24px;padding:0 14px}.demo-tools summary{font-size:12px;padding:10px 0}.demo-tools .fieldgrid{padding-bottom:14px}.optiongrid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.option{padding:22px;text-align:left;border:1px solid var(--line);background:white;border-radius:12px}.option:hover{background:var(--ice);border-color:var(--blue)}.option strong{display:block;margin-bottom:8px}.option p{font-size:13px}.result{background:var(--ice);padding:18px;border-radius:12px;font-size:14px}.profilepic{width:125px;height:150px;object-fit:cover;object-position:center 20%;border-radius:12px;float:right;margin:0 0 16px 20px}.dialogbody h3{margin:20px 0 12px}.dialogbody ul,.dialogbody ol{padding-left:22px;color:var(--muted);font-size:14px}.dialogbody li{margin:9px 0}.badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;border-radius:20px;background:var(--pale);padding:6px 11px;color:#49643b}section[id]{scroll-margin-top:105px}.hide{display:none!important}.formstep{color:var(--blue-dark);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:15px}
@media(hover:hover){.photoframe:hover img{transform:scale(1.025)}}
@media(max-width:1050px){.nav{gap:15px}.headinner{gap:20px}.nav a,.nav .nav-action{font-size:12px}.logo{width:145px}.headinner>.btn{padding:10px 14px;font-size:12px}.herogrid{gap:32px}.quickitem{padding:23px 17px;gap:12px}.quickitem strong{font-size:14px}.servicegrid,.faqgrid{gap:40px}.contactgrid{gap:45px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}html{scroll-padding-top:90px}.utility{display:none}.headinner{height:75px;gap:12px}.logo{width:146px}.menubtn{display:block;margin-left:auto}.headinner>.btn{display:none}.nav{display:none;position:absolute;top:75px;left:0;right:0;background:white;padding:18px 25px;border-bottom:1px solid var(--line);box-shadow:0 20px 20px #23445b0a;gap:0}.nav.open{display:flex;flex-direction:column;align-items:stretch}.nav a,.nav .nav-action{font-size:16px;padding:12px;text-align:left}.hero{padding:32px 0 29px}.herogrid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:43px;line-height:1.06}.hero .intro{font-size:15px;margin:19px 0 22px;line-height:1.7}.eyebrow{font-size:10px;margin-bottom:14px}.hero .buttonrow{gap:10px}.hero .btn{padding:12px 15px;font-size:13px}.smallwelcome{margin-top:15px}.hero-photo{padding:10px 10px 0 0}.hero-photo .photoframe{aspect-ratio:1.65}.photo-caption{margin:-20px 15px 0;padding:13px 16px}.quick{padding:5px 0 35px}.quick-title h2{font-size:20px}.quick-title p{display:none}.quickgrid{grid-template-columns:1fr}.quickitem{border-right:0;border-bottom:1px solid var(--line);padding:17px}.quickitem strong{font-size:15px}.section{padding:45px 0}.servicegrid,.faqgrid,.hzvbox,.contactgrid{grid-template-columns:1fr;gap:28px}h2{font-size:32px}.servicelead p{margin:17px 0;font-size:15px}.servicelead .mini{display:none}summary{font-size:16px;padding:20px 0}.detailbody{padding-right:12px}.hzv{padding:35px 0}.hzvbox{padding:29px 25px;gap:32px}.hzvbox h2{font-size:32px}.hzvbox p{font-size:14px}.steps{gap:21px}.sectionhead{display:block}.sectionhead p{margin-top:17px;font-size:14px}.doctorgrid{grid-template-columns:1fr 1fr;gap:27px 16px}.doctor h3{font-size:16px;margin-top:14px}.doctor p{font-size:11px}.doctor .photoframe{aspect-ratio:.8}.welcome-row{padding:21px;align-items:start;flex-direction:column;gap:14px}.welcome-row strong{font-size:16px}.faqgrid .lead p{font-size:14px;margin:15px 0}.contact-call{font-size:28px}.hours{font-size:12px}.urgent{flex-direction:column;gap:13px;margin-top:30px}.footer{padding-bottom:95px}.footer-top,.footer-bottom{flex-direction:column}.footerlinks{gap:14px}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:25;padding:9px 16px;padding-bottom:max(9px,env(safe-area-inset-bottom));gap:10px;box-shadow:0 -4px 20px #1537490a}.mobilebar .btn{flex:1;min-height:43px;padding:8px;font-size:12px}.mobilebar .btn.light{flex:.8}dialog{max-height:93dvh;width:calc(100% - 18px);border-radius:15px}.dialoghead{padding:18px}.dialoghead h2{font-size:21px}.dialogbody{padding:20px 18px}.medrow{grid-template-columns:70px 1fr;padding:13px}.medrow .field:nth-child(3){grid-column:1/-1}.fieldgrid{gap:13px}.fieldgrid .field{font-size:12px}.optiongrid{grid-template-columns:1fr}.estimate strong{font-size:19px}.profilepic{width:90px;height:125px}.footer-bottom{padding-bottom:5px}.number{width:15px}section[id]{scroll-margin-top:90px}}
@media(min-width:761px) and (max-width:980px){.menubtn{display:block;margin-left:auto}.nav{display:none;position:absolute;top:84px;left:0;right:0;background:white;padding:18px 25px;border-bottom:1px solid var(--line);box-shadow:0 20px 20px #23445b0a;gap:0}.nav.open{display:flex;flex-direction:column;align-items:stretch}.nav a,.nav .nav-action{font-size:16px;padding:12px;text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.photoframe:hover img{transform:none}}

:root{--soft-shadow:0 14px 45px #17344808}body{overflow-wrap:break-word}.preview-strip{background:#173448;color:#d7e5ed;font-size:11px}.preview-strip .wrap{display:flex;justify-content:space-between;gap:15px;padding-top:7px;padding-bottom:7px}.preview-strip b{color:white;font-weight:600}.preview-strip a{text-decoration:underline;text-underline-offset:3px}.utility a{font-size:12px}.nav [aria-current=page]{color:var(--blue-dark);text-decoration:underline;text-underline-offset:7px}.footerlinks a{font-size:12px;color:#d9e6ee}.footerlinks a:hover{text-decoration:underline}.crumb{display:flex;gap:12px;color:var(--muted);font-size:12px;padding:27px 0 23px;flex-wrap:wrap}.crumb a:hover{text-decoration:underline}.subhero{background:linear-gradient(118deg,#f4f8fb 0%,#f8faf6 100%);border-bottom:1px solid #e9eef0}.subhero-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:65px;align-items:center;padding:0 0 40px;min-height:320px}.subhero h1{font-size:clamp(38px,4.5vw,60px);font-weight:650;letter-spacing:-.05em;line-height:1.08;max-width:760px;hyphens:auto}.subhero .intro{font-size:17px;max-width:650px;margin:23px 0 10px;line-height:1.75}.editorial-art{max-width:310px;width:100%;justify-self:end;text-align:center}.editorial-art svg{width:100%;height:auto;stroke:none}.editorial-art .orb{fill:#e9f1de}.editorial-art .orbit{fill:none;stroke:#dbe6cf;stroke-width:1;stroke-dasharray:4 7}.editorial-art .drawing{fill:none;stroke:#397eb8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.editorial-art .accent{fill:#b9d795}.editorial-art .small{fill:#8fb4cf}.editorial-art>span{font-size:9px;letter-spacing:.22em;color:#728896;display:block;margin-top:-25px}.subphoto{height:300px;width:250px;justify-self:center;box-shadow:var(--soft-shadow)}.subphoto img{object-position:center 15%}.profile-placeholder{height:275px;border-radius:20px}.content-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:75px;padding-top:60px;padding-bottom:55px}.content-layout>aside{align-self:start;position:sticky;top:112px}.contents{display:flex;flex-direction:column;border-top:1px solid var(--line)}.contents a{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.5}.contents a:hover{color:var(--blue-dark)}.aside-note{padding:24px;background:var(--ice);border-radius:14px;margin:26px 0}.aside-note p{font-size:13px;margin:12px 0}.aside-note h2{font-size:24px}.aside-note summary{font-size:15px;padding:0}.aside-note[open] summary{margin-bottom:15px}.prose{min-width:0}.prose p{margin:16px 0;line-height:1.85}.prose h2{font-size:28px;margin:0 0 20px;letter-spacing:-.035em}.prose h3{font-size:21px;margin:27px 0 16px}.prose ul,.prose ol{color:var(--muted);padding-left:22px;line-height:1.8}.prose li{margin:10px 0;padding-left:5px}.prose a:not(.btn):not(.textlink){color:var(--blue-dark);text-decoration:underline;text-underline-offset:3px}.prose-block{padding-bottom:34px;margin-bottom:32px;border-bottom:1px solid var(--line);scroll-margin-top:110px}.prose-block:last-child{border:0;margin-bottom:0}.pale-box{background:var(--pale);padding:30px;border-radius:16px}.pale-box h3{margin-top:0}.closing{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:35px 40px;border-radius:18px;background:var(--pale);margin-top:15px;margin-bottom:65px}.closing h2{font-size:29px;max-width:580px}.closing p{margin-top:14px;font-size:14px;max-width:530px}.closing .buttonrow{min-width:205px;flex-direction:column;align-items:flex-start}.closing .eyebrow{font-size:10px;margin-bottom:12px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:40px}.tiles h2{font-size:29px;line-height:1.2}.tiles p{margin:17px 0 22px}.choice-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:35px;box-shadow:var(--soft-shadow)}.choice-card.pale{background:var(--pale);border-color:#e0ead3}.choice-card .textlink{display:table;margin-top:17px}.booking-result{margin-top:30px;padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--ice)}.booking-result h3{margin-bottom:14px}.faq-search{padding:24px;background:var(--ice);border-radius:14px;margin-bottom:35px}.faq-search label{display:block;font-weight:650;margin-bottom:12px}.faq-search input{background:white;font-size:16px}.faq-search p{font-size:12px;margin-top:10px}.faq-group{margin-bottom:42px;scroll-margin-top:105px}.faq-group h2{font-size:25px;margin-bottom:25px}.faq-group summary{font-size:16px}.faq-group .detailbody p+p{margin-top:13px}.narrow{max-width:850px}.editor-note{padding:19px 23px;border-left:3px solid #bda76b;background:#faf6e9;color:#6e5e38!important;font-size:13px!important;margin:20px 0 30px!important}.prose.narrow h2:not(:first-child){margin-top:34px}.sitemap-group{margin-bottom:45px}.sitemap-group h2{font-size:28px;margin-bottom:24px}.sitemap-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 30px}.sitemap-links a{font-size:14px;justify-content:space-between;padding:15px 0}.form-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:50px;padding-top:45px;padding-bottom:75px}.form-layout aside{align-self:start}.form-layout .aside-note:first-child{margin-top:0}.service-steps{padding-left:20px;color:var(--muted);font-size:14px}.service-steps li{padding-left:3px;margin:15px 0}.form-layout .demolabel{font-size:12px}.form-layout .estimate{margin-top:0}.form-layout .estimate strong{font-size:23px}.form-panel{border:1px solid var(--line);border-radius:16px;padding:27px;margin:22px 0;background:white;min-width:0}.form-panel legend{font-size:17px;font-weight:650;padding:0 8px;letter-spacing:-.02em}.fieldgrid{gap:18px}.field small{font-weight:400;color:var(--muted);font-size:11px}.fieldgrid input,.fieldgrid select{min-width:0}input[type=checkbox]{accent-color:var(--blue-dark)}.medication{border:1px solid var(--line);background:var(--ice);padding:20px;border-radius:12px;margin-bottom:17px}.medication-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:15px}.medication-top strong{font-size:14px}.remove-med{background:none;font-size:12px;color:var(--blue-dark);padding:6px;text-decoration:underline}.medication .fieldgrid{grid-template-columns:1fr 1fr}.medication .fieldgrid .span2{grid-column:1/-1}.fieldgrid .check{margin:0}.form-layout .btn:disabled{opacity:.5;cursor:not-allowed}.form-result{background:var(--pale);border:1px solid #d8e7c8;padding:30px;border-radius:15px;margin-top:24px}.form-result h2{font-size:28px;margin:15px 0}.form-result p{margin:15px 0}.form-result .btn{margin-top:15px}.form-summary{display:grid;grid-template-columns:145px 1fr;font-size:13px;line-height:1.6;gap:9px;margin:20px 0}.form-summary dt{color:var(--muted)}.form-summary dd{margin:0;overflow-wrap:anywhere}.conditional-note{font-size:13px;color:#76592c;background:#fbf4e5;padding:13px 16px;border-radius:9px;margin:16px 0}.estimate.unconfirmed{background:var(--ice)}.required-note{font-size:12px;color:var(--muted);margin-bottom:22px}.demo-tools{margin-top:24px}.demo-tools summary{font-size:13px}.noscript{padding:16px 24px;background:#fff4d9;color:#644c1b}.prose p:empty{display:none}[hidden]{display:none!important}
@media(min-width:981px){.nav{gap:18px}.headinner{gap:22px}.headinner>.btn{padding:12px 16px;font-size:13px}.logo{width:160px}.nav a{font-size:12px}.utility .wrap>a{font-size:12px}}
@media(max-width:980px){.content-layout{grid-template-columns:210px minmax(0,1fr);gap:35px}.form-layout{grid-template-columns:240px minmax(0,1fr);gap:25px}.form-panel{padding:20px}.closing{padding:30px}.subhero-grid{gap:30px}.tiles{gap:25px}.sitemap-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.preview-strip{font-size:10px}.preview-strip .wrap{width:calc(100% - 28px)}.preview-strip span{max-width:205px}.preview-strip a{white-space:nowrap;align-self:center;font-size:0}.preview-strip a:after{content:'Zum Entwurf ↗';font-size:10px}.crumb{padding:20px 0;font-size:11px}.subhero-grid{grid-template-columns:1fr;gap:20px;min-height:0;padding:10px 0 30px}.subhero h1{font-size:39px}.subhero .intro{font-size:15px;line-height:1.7;margin-top:19px}.editorial-art{display:none}.subphoto{height:285px;width:235px;justify-self:start;margin-top:8px}.profile-placeholder{height:180px}.content-layout{grid-template-columns:1fr;gap:30px;padding:32px 0}.content-layout>aside{position:static}.content-layout>aside .aside-note{display:none}.contents{display:flex;flex-direction:row;flex-wrap:wrap;gap:9px;border:0}.contents a{font-size:11px;background:var(--ice);padding:8px 10px;border:1px solid var(--line);border-radius:7px}.prose h2{font-size:25px}.prose{font-size:15px}.prose-block{padding-bottom:23px;margin-bottom:26px}.closing{flex-direction:column;align-items:flex-start;gap:25px;margin-top:10px;margin-bottom:40px;padding:27px 23px}.closing h2{font-size:27px}.closing .buttonrow{flex-direction:row;align-items:center}.tiles{grid-template-columns:1fr;gap:25px}.tiles h2{font-size:27px}.choice-card{padding:26px}.faq-search{padding:20px}.faq-group h2{font-size:24px}.faq-group{margin-bottom:33px}.faq-group summary{font-size:15px}.sitemap-links{grid-template-columns:1fr}.form-layout{grid-template-columns:1fr;gap:15px;padding-top:28px;padding-bottom:40px}.form-layout aside .aside-note:first-child{padding:22px;margin-bottom:16px}.form-layout aside .aside-note:first-child h2{font-size:23px}.form-layout aside .service-steps{font-size:13px}.form-layout aside .service-steps li{margin:8px 0}.form-layout aside>.textlink{margin-bottom:12px}.form-panel{padding:19px 15px;margin-top:21px}.medication{padding:16px 12px}.medication .fieldgrid{gap:15px 10px}.fieldgrid{gap:17px 12px}.fieldgrid input,.fieldgrid select,.fieldgrid textarea{font-size:16px;padding:10px 9px}.form-layout .estimate strong{font-size:21px}.form-summary{grid-template-columns:1fr;gap:4px}.form-summary dd{margin-bottom:8px}.form-result{padding:23px}.footer-top{gap:25px}.footerlinks{gap:15px 20px}.footer .textlink{color:white}.editor-note{font-size:12px!important}.contact-call{font-size:27px}.hero h1{font-size:42px}.photoframe img{aspect-ratio:inherit}}
@media(max-width:360px){.hero h1,.subhero h1{font-size:35px}.headinner{gap:7px}.logo{width:140px}.wrap{width:calc(100% - 28px)}.fieldgrid{grid-template-columns:1fr}.medication .fieldgrid{grid-template-columns:1fr}.medication .fieldgrid .span2{grid-column:auto}.preview-strip span{max-width:185px}}

/* September 18: direct actions, calmer text layout, original transparent photos. */
.quickitem .ico { flex-shrink: 0; }
.quickitem > svg { width: 17px; flex-shrink: 0; margin-left: auto; }
.quickitem small { display: block; line-height: 1.55; margin-top: 5px; }
.all-services { padding-top: 25px; }
.inline-link { color: var(--blue-dark); text-decoration: underline; text-underline-offset: 3px; }
.hzvbox .inline-link { color: inherit; text-decoration-thickness: 1px; font-weight: 600; }
.doctor .photoframe, .subphoto { background: white; }
.doctor img[src$="original.png"], .subphoto img[src$="original.png"] { object-position: center top; }
.doctor .photoframe { border: 1px solid #e7edef; }
.prose-list { margin: 18px 0; color: var(--muted); line-height: 1.8; }
.prose-list p { margin: 10px 0; }
ul, ol { list-style: none; padding-left: 0; }
li::marker { content: ''; }
#anfrage { scroll-margin-top: 120px; }
.booking-main { max-width: 760px; }
.booking-main .textlink { display: table; }
.hours td { white-space: nowrap; }
@media (min-width:761px) and (max-width:1100px) {
  .quickgrid { grid-template-columns: 1fr 1.3fr 1fr; }
  .quickitem { gap: 10px; padding: 22px 16px; }
  .quickitem .ico { width: 34px; height: 38px; }
}
@media (max-width:760px) {
  #anfrage { scroll-margin-top: 90px; }
  .all-services { padding-top: 21px; }
}

/* Scoped to the shared request page; the homepage remains unchanged. */
.patient-hero { background: linear-gradient(118deg,#f4f8fb,#f8faf6); border-bottom:1px solid var(--line); padding-bottom:26px; }
.patient-hero .crumb { padding:20px 0; }
.patient-heading { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.patient-heading h1 { font-size:clamp(29px,3.5vw,44px); line-height:1.15; letter-spacing:-.04em; max-width:900px; }
.patient-heading p { margin-top:14px; max-width:740px; line-height:1.7; }
.patient-heading .eyebrow { margin-bottom:12px; }
.patient-icon { flex:0 0 82px; height:82px; border-radius:23px; background:var(--pale); display:grid; place-items:center; color:var(--blue-dark); }
.patient-icon svg { width:43px; height:43px; }
.request-shortcuts { display:flex; gap:12px; flex-wrap:wrap; margin:23px 0; }
.request-shortcuts .btn { min-height:44px; font-size:13px; padding:11px 16px; }
.shared-estimate { display:flex; align-items:flex-start; gap:15px; padding:18px 21px; background:white; border:1px solid #d7e3db; border-radius:12px; }
.shared-estimate > svg { flex:0 0 23px; margin-top:2px; color:var(--blue-dark); }
.shared-estimate span { font-size:13px; color:var(--muted); }
.shared-estimate strong { display:block; font-size:19px; color:var(--blue-dark); margin:3px 0 6px; }
.shared-estimate p { font-size:12px; line-height:1.6; max-width:860px; }
.patient-layout { padding-top:34px; align-items:start; }
.patient-layout .form-panel { margin:0 0 25px; }
.patient-layout aside .aside-note:first-child { margin-top:0; }
.patient-layout .required-note { margin:0 0 20px; }
.patient-layout .form-panel legend { font-size:19px; }
.patient-layout #first, .patient-layout #last, .patient-layout #email { min-width:0; }
.request-picker { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 24px; }
.request-option { display:flex; align-items:center; gap:10px; padding:16px; border:1px solid var(--line); border-radius:10px; cursor:pointer; color:var(--blue-dark); font-weight:600; font-size:14px; }
.request-option:has(input:checked) { background:var(--pale); border-color:#95b776; }
.request-option:focus-within { outline:3px solid var(--blue); outline-offset:3px; }
.request-option input { width:17px; height:17px; min-height:17px; flex:0 0 17px; accent-color:var(--blue-dark); }
.request-option svg { width:21px; flex-shrink:0; }
.request-fields { padding:0; border:0; margin:0; min-width:0; }
.patient-layout .medication .fieldgrid { gap:17px; }
.patient-layout .medication-top { margin-bottom:16px; }
.patient-layout #requestChoice { scroll-margin-top:115px; }
.patient-layout .form-result { margin-top:0; }
.review-group { border-top:1px solid var(--line); padding-top:18px; margin-top:20px; }
.review-group h3 { font-size:17px; margin:0 0 13px; }
.patient-layout .form-summary { grid-template-columns:165px minmax(0,1fr); }
.patient-layout .form-summary dd { white-space:pre-wrap; }
.delivery-status { padding:17px 19px; border-radius:10px; background:#fff; border:1px solid var(--line); margin-top:23px; }
.delivery-status p { font-size:13px; }
.patient-layout .formbuttons .btn { margin:0; }
@media(max-width:760px) {
 .patient-hero { padding-bottom:20px; }
 .patient-heading { display:block; position:relative; }
 .patient-heading .eyebrow { padding-right:58px; min-height:28px; }
 .patient-heading h1 { font-size:28px; }
 .patient-heading p { font-size:14px; margin-top:12px; }
 .patient-icon { position:absolute; top:-8px; right:0; width:42px; height:42px; border-radius:14px; }
 .patient-icon svg { width:28px; height:28px; }
 .request-shortcuts { gap:9px; margin:20px 0; }
 .request-shortcuts .btn { flex:1; font-size:12px; padding:11px 8px; }
 .shared-estimate { padding:15px; gap:11px; }
 .shared-estimate strong { font-size:17px; }
 .shared-estimate p { font-size:12px; }
 .patient-layout { padding-top:25px; gap:20px; }
 .patient-layout > aside { display:contents; }
 .patient-layout > aside > .aside-note:first-child { order:2; margin-bottom:0; }
 .patient-layout > #anfrage { order:1; }
 .patient-layout > aside > details { order:3; margin:0; }
 .request-option { padding:13px 10px; font-size:13px; gap:7px; }
 .request-option svg { display:none; }
 .patient-layout #requestChoice { scroll-margin-top:90px; }
 .patient-layout .form-summary { grid-template-columns:1fr; }
}
@media(max-width:480px) {
 .patient-layout .fieldgrid, .patient-layout .medication .fieldgrid { grid-template-columns:1fr; }
}

/* Independent recipe/referral cards within a single patient request. */
.patient-hero .shared-estimate { margin-top:24px; }
.patient-layout .request-item { border:1px solid var(--line); background:var(--ice); border-radius:12px; padding:18px; margin:0 0 24px; min-width:0; }
.patient-layout .request-item > legend { font-size:15px; padding:0 7px; }
.request-item-actions { display:flex; justify-content:flex-end; }
.remove-request { background:none; font-size:12px; color:var(--blue-dark); padding:0 0 12px; text-decoration:underline; }
.request-item .request-picker { margin:4px 0 21px; }
.request-item .request-option { background:white; }
.request-item .request-option:has(input:checked) { background:var(--pale); }
@media(max-width:480px) { .patient-layout .request-item { padding:14px 12px; } }

/* Visual service groups, scoped to the services overview. */
.services-intro { background:linear-gradient(118deg,#f4f8fb,#f8faf6); border-bottom:1px solid var(--line); padding-bottom:32px; }
.services-intro .crumb { padding:20px 0 26px; }
.services-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:60px; align-items:center; }
.services-emblem { width:220px; justify-self:end; }
.services-emblem svg { display:block; width:100%; height:auto; stroke:none; }
.services-intro .eyebrow { margin-bottom:12px; }
.services-intro h1 { font-size:clamp(30px,3.5vw,44px); line-height:1.15; letter-spacing:-.04em; }
.services-intro p { font-size:16px; line-height:1.7; margin-top:14px; max-width:740px; }
.service-category { padding:64px 0; scroll-margin-top:100px; }
.service-category:nth-of-type(3) { background:#f5f8fa; }
.service-visual-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr); gap:65px; align-items:center; }
.service-photo { margin:0; min-width:0; }
.service-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:16px; }
#betreuung .service-photo img { object-position:50% 72%; }
#diagnostik .service-photo img { object-position:40% 50%; }
.service-category-content { min-width:0; }
.service-category-content h2 { font-size:clamp(25px,2.6vw,32px); line-height:1.2; margin:0; letter-spacing:-.035em; }
.service-category-intro { color:var(--muted); font-size:14px; line-height:1.75; margin:15px 0 24px; }
.service-category .accordion { border-top:1px solid var(--line); }
.service-category .accordion summary { font-size:16px; padding:21px 0; line-height:1.5; gap:16px; }
.service-category .accordion .plus { flex-shrink:0; }
.service-category .accordion .detailbody { padding:0 0 23px; }
.service-category .accordion .detailbody p { font-size:14px; line-height:1.85; }
.service-category .accordion .detailbody .textlink { margin-top:14px; }
.services-visit { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr); gap:0; margin-top:12px; margin-bottom:70px; padding:0; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:#f3f7f5; }
.services-visit>img { display:block; width:100%; height:100%; min-height:320px; object-fit:cover; object-position:center; }
.services-visit-content { align-self:center; padding:36px 44px; }
.services-visit h2 { font-size:clamp(25px,2.6vw,32px); line-height:1.2; letter-spacing:-.035em; margin:12px 0; }
.services-visit p { color:var(--muted); font-size:15px; line-height:1.75; }
.services-visit .buttonrow { display:flex; flex-wrap:wrap; align-items:center; gap:17px 24px; margin-top:25px; }
@media(min-width:761px) {
 #vorsorge .service-visual-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr); }
 #vorsorge .service-photo { grid-column:2; grid-row:1; }
 #vorsorge .service-category-content { grid-column:1; grid-row:1; }
}
@media(max-width:980px) { .service-visual-grid { gap:35px; } .services-visit-content {padding:30px;} }
@media(max-width:760px) {
 .services-intro { padding-bottom:27px; }
 .services-intro .crumb { padding:18px 0 23px; }
 .services-intro-grid { grid-template-columns:minmax(0,1fr) 130px; gap:20px; }
 .services-emblem { width:130px; }
 .services-intro h1 { font-size:31px; }
 .services-intro p { font-size:14px; margin-top:12px; }
 .service-category { padding:32px 0 38px; }
 .service-visual-grid { grid-template-columns:1fr; gap:25px; }
 .service-photo img { aspect-ratio:3/2; border-radius:13px; }
 .service-category-content h2 { font-size:27px; }
 .service-category-intro { margin:12px 0 20px; }
 .service-category .accordion summary { font-size:15px; padding:18px 0; }
 .services-visit { grid-template-columns:1fr; margin-top:5px; margin-bottom:40px; }
 .services-visit>img { min-height:0; height:auto; aspect-ratio:3/2; }
 .services-visit-content { padding:26px 23px; }
}

@media(max-width:540px) {
 .services-intro-grid { display:block; position:relative; padding-top:8px; }
 .services-intro .eyebrow { min-height:50px; display:flex; align-items:center; padding-right:90px; }
 .services-emblem { position:absolute; top:-7px; right:0; width:76px; }
}

/* Shared motif family, restricted to the three newly revised page headers. */
.page-emblem { width:220px; justify-self:end; flex:0 0 220px; }
.page-emblem svg { display:block; width:100%; height:auto; stroke:none; }
.branded-hero { background:linear-gradient(118deg,#f4f8fb,#f8faf6); }
.branded-hero .crumb { padding:20px 0 26px; }
.branded-hero .subhero-grid { grid-template-columns:minmax(0,1fr) 220px; gap:60px; min-height:0; padding:0 0 32px; }
.branded-hero h1 { font-size:clamp(30px,3.5vw,44px); line-height:1.15; letter-spacing:-.04em; }
.branded-hero .intro { font-size:16px; line-height:1.7; margin-top:14px; max-width:740px; }
.branded-hero .eyebrow { margin-bottom:12px; }
.patient-heading { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:60px; margin-bottom:24px; }
@media(max-width:760px) {
 .page-emblem { width:130px; }
 .branded-hero .subhero-grid, .patient-heading { display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:20px; }
 .branded-hero h1 { font-size:31px; }
 .branded-hero .intro { font-size:14px; }
 .patient-heading .eyebrow { padding-right:0; }
}
@media(max-width:540px) {
 .branded-hero .subhero-grid, .patient-heading { display:block; position:relative; padding-top:8px; }
 .branded-hero .eyebrow, .patient-heading .eyebrow { min-height:50px; display:flex; align-items:center; padding-right:90px; }
 .page-emblem { position:absolute; top:-7px; right:0; width:76px; }
}

/* Approved compact layout, shared across treatment detail pages. */
.care-detail .care-wrap { max-width:1080px; }
.care-detail .crumb { padding:24px 0 32px; flex-wrap:wrap; }
.care-intro { display:grid; grid-template-columns:minmax(0,1fr) 166px; gap:64px; align-items:center; padding:0 0 34px; }
.care-intro .eyebrow { margin-bottom:13px; }
.care-intro h1 { font-size:clamp(28px,3vw,36px); line-height:1.2; letter-spacing:-.035em; margin:0 0 18px; }
.care-detail p { font-size:16px; line-height:1.75; color:var(--muted); margin:0 0 13px; }
.care-detail p:last-child { margin-bottom:0; }
.care-detail .page-emblem { width:166px; position:static; }
.care-practical { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.care-panel { display:flex; flex-direction:column; align-items:flex-start; border:1px solid var(--line); border-radius:16px; padding:27px 28px; background:#f7f9fb; }
.care-panel.care-acute { background:#f8faf5; }
.care-small-icon { color:#397eb8; margin-bottom:15px; }
.care-small-icon svg { display:block; width:27px; height:27px; }
.care-panel h2 { font-size:23px; line-height:1.3; letter-spacing:-.025em; margin:0 0 13px; }
.care-panel p { font-size:15px; margin-bottom:22px; }
.care-panel > .textlink,.care-actions { margin-top:auto; }
.care-detail .textlink { font-size:14px; line-height:1.5; }
.care-actions { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; }

.care-back { padding:27px 0 40px; }
.care-back svg { transform:rotate(180deg); }
@media(max-width:760px) {
  .care-intro { grid-template-columns:minmax(0,1fr) 120px; gap:25px; align-items:start; }
  .care-detail .page-emblem { width:120px; margin-top:28px; }
  .care-practical { grid-template-columns:1fr; gap:16px; }
}
@media(max-width:540px) {
  .care-detail .crumb { font-size:11px; gap:8px; padding:20px 0 23px; }
  .care-intro { display:block; position:relative; padding-bottom:27px; }
  .care-intro .eyebrow { display:flex; align-items:center; max-width:260px; min-height:68px; padding-right:80px; font-size:10px; line-height:1.7; margin-bottom:14px; }
  .care-detail .page-emblem { position:absolute; width:76px; right:0; top:0; margin:0; }
  .care-intro h1 { font-size:29px; }
  .care-detail p { font-size:15px; }
  .care-panel { padding:23px; }
  .care-panel h2 { font-size:22px; }
  .care-back { padding-bottom:30px; }
}

.care-inline { color:var(--blue-dark); text-decoration:underline; text-underline-offset:3px; }
.care-more { border-top:1px solid var(--line); margin-top:20px; }
.care-more summary { cursor:pointer; color:var(--blue-dark); font-size:14px; font-weight:650; padding:14px 0; }
.care-more p { font-size:14px; }
.care-back { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 24px; }
.care-related svg { transform:none; }
.care-checklist { margin:0; padding-left:20px; color:var(--muted); font-size:15px; line-height:1.75; }
.care-checklist li + li { margin-top:12px; }
.care-followup { margin-top:22px; padding-bottom:40px; }

/* Existing service-detail emphasis stays separate from the original contact layout. */
.care-detail .care-emergency { color:#713b37; background:#fcf2ee; border-left:3px solid #b87869; border-radius:0 10px 10px 0; padding:16px 18px; }
.care-emergency a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.care-detail .care-emergency p { color:inherit; }
.care-detail .care-panel p:last-child { margin-bottom:0; }
/* HZV uses the same photographs, typography and accordion system as Leistungen. */
.hzv-benefits-wrap { padding-top:36px; }
.hzv-benefits { background:#edf3e6; border:1px solid #d8e4cd; border-radius:16px; padding:25px 28px; }
.hzv-benefits > h2 { font-size:23px; margin:0 0 22px; }
.hzv-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.hzv-benefit-grid svg { width:25px; height:25px; color:#397eb8; margin-bottom:12px; }
.hzv-benefit-grid h3 { font-size:19px; line-height:1.35; margin:0 0 10px; }
.hzv-benefit-grid p { font-size:14px; line-height:1.65; }
.hzv-overview #hzv-betreuung { background:#fff; }
.hzv-overview #hzv-teilnahme { background:#f5f8fa; }
.hzv-overview .detailbody p + p { margin-top:14px; }
/* Ordinary content scale and separation, matching the adjacent service topics. */
.contact-guidance { border-top:1px solid var(--line); margin-top:48px; padding-top:42px; }
.contact-guidance strong { color:var(--ink); }
.contact-guidance a[href^="tel:"] { white-space:nowrap; }
.contact-page .subhero-grid { grid-template-columns:minmax(0,1fr) 160px; min-height:0; gap:40px; padding:6px 0 28px; }
.contact-page .subhero h1 { font-size:clamp(34px,3.6vw,46px); }
.contact-page .subhero .intro { margin:16px 0 0; max-width:690px; }
.contact-page .editorial-art { max-width:160px; }
.contact-page .contact { padding-top:48px; }
.contact-page .contactgrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px; align-items:start; }
.contact-location .contact-map { margin-top:28px; }
.contact-service .contact-guidance { grid-template-columns:1fr; gap:24px; margin-top:28px; padding-top:24px; }
.contact-service .contact-guidance h2 { font-size:22px; margin-bottom:10px; }
.contact-service .contact-guidance p { font-size:15px; line-height:1.65; }
.contact-hours h2 { font-size:25px; margin-bottom:20px; }
.contact-map { margin:0; }
.contact-map img { display:block; width:100%; height:auto; }
.contact-details { display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin-top:0; }
.contact-details .address { margin:0; }
.contact-details .address strong { display:inline-block; font-size:25px; line-height:1.13; letter-spacing:-.045em; margin-bottom:10px; }
.contact-details .textlink { padding-top:0; }
@media(min-width:761px) {
 #hzv-teilnahme .service-visual-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr); }
 #hzv-teilnahme .service-photo { grid-column:2; grid-row:1; }
 #hzv-teilnahme .service-category-content { grid-column:1; grid-row:1; }
}
@media(max-width:760px) {
 .contact-page .subhero-grid { grid-template-columns:minmax(0,1fr); gap:0; padding:8px 0 26px; }
 .contact-page .contact { padding-top:32px; }
 .contact-page .contactgrid { grid-template-columns:1fr; gap:36px; }
 .hzv-benefit-grid { grid-template-columns:1fr; gap:22px; }
 .hzv-benefit-grid > div + div { border-top:1px solid #d8e4cd; padding-top:20px; }
 .hzv-benefits { padding:23px; }
 .hzv-benefits-wrap { padding-top:25px; }
}

/* Personal profiles use the existing practice palette and original portraits. */
.doctor-profile .crumb { padding-top:28px; margin-bottom:0; flex-wrap:wrap; }
.profile-hero { display:grid; grid-template-columns:320px minmax(0,1fr); align-items:center; gap:64px; padding-top:36px; padding-bottom:48px; }
.profile-portrait { margin:0; height:380px; border-radius:16px; background:var(--pale); overflow:hidden; }
.profile-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.profile-portrait img[src$="praxis-3.jpg"] { object-fit:contain; background:white; }
.profile-no-photo { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; }
.profile-no-photo .page-emblem { position:static; flex:0 0 auto; width:220px; max-width:75%; }
.profile-photo-note { color:var(--muted); font-size:13px; }
.profile-intro h1 { font-size:clamp(34px,3.8vw,49px); max-width:650px; }
.profile-intro .eyebrow { margin-bottom:15px; }
.profile-role { font-size:20px; line-height:1.45; color:var(--blue-dark); margin-top:18px; }
.profile-position { font-size:15px; margin-top:4px; }
.profile-tenure { display:flex; align-items:center; gap:9px; font-size:14px; color:var(--ink); margin-top:22px; }
.profile-tenure span { width:7px; height:7px; flex:none; border-radius:50%; background:#719a48; }
.profile-bio { margin-top:24px; font-size:17px; line-height:1.75; max-width:650px; }
.profile-background { background:#f5f8fa; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.profile-details { display:grid; grid-template-columns:1.15fr 1fr; gap:72px; padding-top:44px; padding-bottom:44px; }
.profile-details h2 { font-size:27px; margin-bottom:26px; }
.profile-timeline { list-style:none; padding:0; margin:0; }
.profile-timeline li { display:grid; grid-template-columns:116px minmax(0,1fr); gap:20px; position:relative; padding:0 0 27px 20px; border-left:1px solid #cbdac1; }
.profile-timeline li:last-child { padding-bottom:0; }
.profile-timeline li:before { content:""; position:absolute; left:-4px; top:7px; width:7px; height:7px; background:#83a65e; border-radius:50%; }
.profile-year { font-size:13px; font-weight:650; color:var(--blue-dark); padding-top:2px; }
.profile-timeline h3 { font-size:16px; line-height:1.4; letter-spacing:-.02em; margin-bottom:6px; }
.profile-timeline p { font-size:14px; line-height:1.65; }
.profile-facts p { font-size:16px; line-height:1.75; }
.profile-qualifications { margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.profile-qualifications dl { margin:0; }
.profile-qualifications dl > div { margin-bottom:18px; }
.profile-qualifications dl > div:last-child { margin-bottom:0; }
.profile-qualifications dt { font-size:13px; font-weight:650; color:var(--blue-dark); margin-bottom:4px; }
.profile-qualifications dd { margin:0; font-size:15px; line-height:1.65; color:var(--muted); }
.profile-back { padding-top:28px; padding-bottom:38px; }
.doctor .doctor-tenure { font-size:12px; color:var(--blue-dark); margin:8px 0 0; }
@media(max-width:900px) {
 .profile-hero { grid-template-columns:260px minmax(0,1fr); gap:32px; }
 .profile-portrait { height:330px; }
 .profile-details { gap:36px; }
 .profile-timeline li { grid-template-columns:1fr; gap:5px; }
}
@media(max-width:600px) {
 .profile-hero { grid-template-columns:1fr; gap:28px; padding-top:25px; padding-bottom:32px; }
 .profile-portrait { width:100%; max-width:320px; height:330px; }
 .profile-intro h1 { font-size:36px; }
 .profile-role { font-size:18px; margin-top:14px; }
 .profile-bio { font-size:16px; margin-top:20px; }
 .profile-details { grid-template-columns:1fr; gap:36px; padding-top:32px; padding-bottom:32px; }
 .profile-details h2 { font-size:25px; margin-bottom:22px; }
 .profile-timeline li { grid-template-columns:95px minmax(0,1fr); gap:12px; padding-left:16px; }
 .profile-qualifications { margin-top:26px; }
}

/* The services overview supplies the spacing rhythm for inner page headers. */
.subhero .crumb, .patient-hero .crumb, .care-detail .crumb, .doctor-profile .crumb { padding:20px 0 26px; margin-bottom:0; }
.subhero .subhero-grid { grid-template-columns:minmax(0,1fr) 166px; min-height:0; align-items:start; gap:60px; padding:0 0 32px; }
.subhero h1 { font-size:clamp(30px,3.5vw,44px); line-height:1.15; letter-spacing:-.04em; }
.subhero .eyebrow { margin-bottom:12px; }
.subhero .intro { margin:14px 0 0; font-size:16px; line-height:1.7; max-width:740px; }
.subhero .editorial-art, .subhero .page-emblem { width:166px; max-width:166px; }
.patient-heading { grid-template-columns:minmax(0,1fr) 166px; align-items:start; gap:60px; margin-bottom:0; }
.patient-heading .page-emblem { width:166px; }
.patient-heading p { font-size:16px; }
.patient-hero { padding-bottom:32px; }
.patient-hero .shared-estimate { margin-top:24px; }
.care-intro { padding-bottom:32px; }
.profile-hero { padding-top:0; padding-bottom:32px; }

/* Compact two-tier footer, with short related links above the legal line. */
.footer { padding:20px 0 16px; }
.footer-top { align-items:center; gap:20px; }
.footer-top strong { font-size:15px; }
.footer-brand p { font-size:12px; margin:2px 0 0; }
.footer-service-links { display:grid; grid-template-columns:repeat(3,max-content); gap:3px 20px; justify-content:end; }
.footer-medical-link { grid-column:1/-1; justify-self:end; }
.footer .footerlinks a { line-height:1.6; }
.footer-bottom { align-items:center; margin-top:12px; padding-top:10px; gap:12px; }
.footer-bottom .footerlinks { gap:20px; }

/* The same 2.5% photo zoom everywhere; logos, icons and the map stay still. */
.service-photo { overflow:hidden; border-radius:16px; }
.service-photo img { border-radius:0; }
.services-visit-photo { overflow:hidden; min-width:0; }
.services-visit-photo img { display:block; width:100%; height:100%; min-height:320px; object-fit:cover; object-position:center; }
.photoframe img, .service-photo img, .profile-portrait img, .services-visit-photo img { transition:transform .26s ease; }
#hzv-betreuung .service-photo img { object-position:50% 62%; }
#hzv-teilnahme .service-photo img { object-position:75% 50%; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .photoframe:hover img, .service-photo:hover img, .profile-portrait:hover img, .services-visit-photo:hover img { transform:scale(1.025); }
}
@media(prefers-reduced-motion:reduce) {
 .photoframe img, .service-photo img, .profile-portrait img, .services-visit-photo img { transition:none; }
 .photoframe:hover img, .service-photo:hover img, .profile-portrait:hover img, .services-visit-photo:hover img { transform:none; }
}
@media(max-width:760px) {
 .subhero .crumb, .patient-hero .crumb, .care-detail .crumb, .doctor-profile .crumb { padding:18px 0 23px; }
 .subhero .subhero-grid { gap:20px; padding-bottom:27px; grid-template-columns:minmax(0,1fr) 130px; }
 .subhero h1 { font-size:31px; }
 .subhero .intro { font-size:14px; margin-top:12px; }
 .subhero .editorial-art { display:none; }
 .subhero .subhero-grid:not(:has(.page-emblem)) { grid-template-columns:1fr; }
 .subhero .page-emblem, .patient-heading .page-emblem { width:130px; }
 .patient-heading { grid-template-columns:minmax(0,1fr) 130px; gap:20px; }
 .patient-heading h1 { font-size:31px; }
 .patient-heading p { font-size:14px; }
 .patient-hero { padding-bottom:27px; }
 .patient-hero .shared-estimate { margin-top:20px; }
 .care-intro { padding-bottom:27px; }
 .footer { padding:18px 0 85px; }
 .footer-top { flex-direction:row; align-items:start; gap:16px; }
 .footer-service-links { grid-template-columns:repeat(2,max-content); gap:4px 15px; }
 .footer-medical-link { grid-column:1/-1; }
 .footer-bottom { flex-direction:row; flex-wrap:wrap; margin-top:12px; padding-top:10px; }
 .service-photo { border-radius:13px; }
 .services-visit-photo img { min-height:0; height:auto; aspect-ratio:3/2; }
}
@media(max-width:540px) {
 .subhero.branded-hero .subhero-grid, .patient-heading { display:block; position:relative; padding-top:8px; }
 .subhero.branded-hero .page-emblem, .patient-heading .page-emblem { width:76px; top:-7px; }
 .footer-top { flex-direction:column; gap:12px; }
 .footer-service-links { grid-template-columns:repeat(2,max-content); justify-content:start; gap:6px 18px; }
 .footer-medical-link { grid-column:auto; justify-self:start; }
 .footer .footerlinks a { font-size:11px; }
 .footer-bottom { gap:6px; }
 .footer-bottom .footerlinks { gap:18px; }
}

/* Contact: short introduction, balanced icon, aligned service links. */
.contact-page .subhero .crumb { padding:20px 0 26px; }
.contact-page .subhero .subhero-grid { grid-template-columns:minmax(0,1fr) 120px; gap:48px; align-items:center; padding:0 0 32px; }
.contact-page .subhero h1 { font-size:clamp(30px,3.5vw,44px); line-height:1.15; }
.contact-page .subhero .intro { max-width:740px; margin:14px 0 0; font-size:16px; line-height:1.7; }
.contact-page .subhero .editorial-art { width:120px; max-width:120px; }
.contact-visit-services .tiles { align-items:stretch; }
.contact-visit-services article { display:flex; flex-direction:column; }
.contact-visit-services h2 { font-size:clamp(24px,2.35vw,28px); line-height:1.25; margin:0 0 18px; }
.contact-visit-services article p { margin:0 0 22px; }
.contact-visit-services article > .textlink { margin-top:auto; align-self:flex-start; }
@media(max-width:760px) {
 .contact-page .subhero .crumb { padding:18px 0 23px; }
 .contact-page .subhero .subhero-grid { display:block; padding:0 0 27px; }
 .contact-page .subhero h1 { font-size:31px; }
 .contact-page .subhero .intro { font-size:14px; margin-top:12px; }
 .contact-visit-services article p { margin-bottom:16px; }
}

/* Local proposal: direct phone and route links beside the main navigation. */
.headinner { gap:20px; }
.header-contact { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.header-phone { display:inline-flex; align-items:center; gap:7px; color:var(--blue-dark); font-size:15px; font-weight:650; white-space:nowrap; min-height:44px; }
.header-phone span { text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.header-phone svg { width:19px; height:19px; }
.header-directions { display:grid; place-items:center; width:40px; height:44px; color:var(--blue-dark); border-radius:50%; }
.header-directions svg { width:21px; height:21px; }
.header-directions:hover,.header-phone:hover { color:var(--blue); }
.header-directions:hover { background:var(--ice); }
@media(min-width:1101px) { .headinner .logo { width:155px; } .headinner .nav { gap:17px; } .headinner > .btn { padding:14px 18px; white-space:nowrap; } }
@media(max-width:1100px) { .header-contact { margin-left:auto; } .menubtn { margin-left:0; order:5; } .headinner > .btn { display:none; } }
@media(max-width:540px) { .headinner { gap:8px; } .headinner .logo { width:120px; } .header-contact { gap:0; } .header-phone { font-size:13px; gap:0; } .header-phone svg { display:none; } .header-directions { width:34px; } .headinner .menubtn { padding:7px; } }
@media(max-width:360px) { .headinner .logo { width:96px; } .headinner { gap:6px; } .header-phone { font-size:12px; } }
@media(max-width:1240px) {
 .headinner > .btn { display:none; }
 .header-contact { margin-left:auto; }
 .headinner .menubtn { display:block; margin-left:0; order:5; }
 .headinner .nav { display:none; position:absolute; top:100%; left:0; right:0; margin:0; padding:18px 25px; background:white; border-bottom:1px solid var(--line); box-shadow:0 20px 20px #23445b0a; gap:0; }
 .headinner .nav.open { display:flex; flex-direction:column; align-items:stretch; }
 .headinner .nav a { font-size:16px; padding:12px; text-align:left; }
}

.team-doctors-heading { font-size:clamp(25px,3vw,34px); margin:0 0 32px; }
.practice-team { background:#f1f6f8; padding:64px 0 72px; border-top:1px solid var(--line); }
.team-section-intro { margin-bottom:40px; }
.team-section-intro h2 { font-size:clamp(27px,3.2vw,38px); }
.team-members { display:flex; flex-wrap:wrap; justify-content:center; gap:42px 28px; }
.team-member { flex:0 0 calc((100% - 56px)/3); min-width:0; text-align:center; }
.team-portrait { width:180px; height:180px; border-radius:50%; overflow:hidden; margin:0 auto 20px; background:#fff; }
.team-portrait img { display:block; width:100%; height:100%; object-fit:cover; }
.team-member h3 { font-size:20px; line-height:1.35; margin:0 0 8px; }
.team-member p { font-size:14px; line-height:1.55; max-width:220px; margin:0 auto; }
.team-photo-missing { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; color:var(--muted); background:#e5edf1; font-size:13px; }
.team-photo-missing svg { width:48px; height:48px; fill:none; stroke:var(--blue); stroke-width:1.3; }
@media(max-width:900px) { .team-member { flex-basis:calc((100% - 56px)/3); } .team-portrait { width:160px; height:160px; } }
@media(max-width:600px) { .practice-team { padding:40px 0 48px; } .team-members { gap:30px 16px; } .team-member { flex-basis:calc((100% - 16px)/2); } .team-portrait { width:140px; height:140px; max-width:100%; margin-bottom:15px; } .team-member h3 { font-size:17px; } .team-member p { font-size:13px; } .team-section-intro { margin-bottom:30px; } }
@media(max-width:360px) { .team-portrait { width:120px; height:120px; } }

/* Informational notices, no blocking overlay or consent to tracking. */
.site-notice[hidden], [data-open-privacy][hidden] { display:none !important; }
.site-notice { position:fixed; z-index:45; bottom:24px; left:24px; right:24px; margin:auto; max-width:1060px; display:flex; align-items:center; gap:28px; padding:24px 28px; background:#fff; border:1px solid var(--line); border-top:4px solid var(--blue-dark); border-radius:16px; box-shadow:0 10px 55px #17344830; max-height:calc(100dvh - 120px); overflow:auto; }
.site-notice h2 { font-size:22px; line-height:1.25; letter-spacing:-.025em; margin:0 0 10px; }
.site-notice p { font-size:14px; line-height:1.6; margin:0 0 10px; }
.site-notice .btn { flex-shrink:0; min-height:44px; }
.notice-link { color:var(--blue-dark); font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.welcome-notice { max-width:490px; left:auto; align-items:flex-start; border-top-color:#8ba665; padding-right:60px; background:#f9fbf6; }
.notice-eyebrow { display:block; color:#526b3e; font-size:12px; font-weight:600; margin-bottom:8px; }
.notice-close { position:absolute; top:12px; right:12px; width:44px; height:44px; border-radius:50%; font-size:27px; background:transparent; color:var(--ink); }
.notice-close:hover { background:#e8efdf; }
.footer [data-open-privacy] { font:inherit; color:inherit; padding:0; text-decoration:underline; text-underline-offset:3px; }
body { padding-bottom:var(--notice-space,0px); }
@media(max-width:760px) {
 .site-notice { bottom:calc(76px + env(safe-area-inset-bottom)); left:12px; right:12px; padding:20px; gap:16px; flex-direction:column; align-items:flex-start; max-height:calc(100dvh - 175px); }
 .site-notice h2 { font-size:20px; }
 .site-notice .btn { width:100%; }
 .welcome-notice { margin-left:auto; padding-right:52px; }
}

/* Cookie banner follows the original site's full-width bottom placement. */
.cookie-banner { bottom:0; left:0; right:0; max-width:none; border-radius:0; border:0; border-top:1px solid #d8dfe3; padding:20px 28px; gap:24px; flex-wrap:wrap; box-shadow:0 -5px 22px #17344816; }
.cookie-banner > div:first-child { flex:1 1 420px; }
.cookie-banner p { margin:0; font-size:15px; }
.cookie-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.cookie-button { min-height:44px; padding:10px 17px; border:1px solid var(--ink); color:var(--ink); background:white; font-size:14px; font-weight:550; border-radius:4px; }
.cookie-button:hover { background:var(--ice); }
.cookie-accept { background:var(--ink); color:white; }
.cookie-accept:hover { background:var(--blue-dark); }
.cookie-dialog { max-width:650px; }
.cookie-category { padding:0 0 18px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.cookie-dialog .cookie-category h3 { margin:0 0 8px; font-size:18px; }
.cookie-category p { font-size:14px; line-height:1.6; margin:0 0 8px; }
.cookie-state { color:var(--muted); font-size:12px; }
.cookie-storage-error { flex-basis:100%; }
body:has(.cookie-banner:not([hidden])) .mobilebar { display:none; }
@media(max-width:760px) { .cookie-banner { bottom:0; left:0; right:0; padding:18px 18px max(18px,env(safe-area-inset-bottom)); gap:16px; max-height:calc(100dvh - 90px); } .cookie-banner > div:first-child { flex:auto; } .cookie-banner .cookie-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; } .cookie-banner [data-cookie-settings] { grid-column:1/-1; } .cookie-button { padding:10px 12px; } }
