@font-face{font-family:DM;src:url(assets/dm-sans.woff2) format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Instrument;src:url(assets/instrument-regular.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Instrument;src:url(assets/instrument-italic.woff2) format('woff2');font-style:italic;font-display:swap}
:root{--ink:#183e3e;--deep:#123f40;--paper:#f7f8f5;--muted:#506563;--line:#ccd8d3;--mint:#dce9df;--serif:Instrument,Georgia,serif;--sans:DM,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ad7832;outline-offset:6px}::selection{background:#c1d9cd}p{margin:0 0 1.3rem}h1,h2,h3{font-weight:400;margin:0}h1,h2{font-family:var(--serif);letter-spacing:-.025em}h1{font-size:clamp(4rem,6.8vw,7.5rem);line-height:1.01}h2{font-size:clamp(2.8rem,4.5vw,4.9rem);line-height:1.08}em{font-weight:400}img{display:block;max-width:100%}.skip{position:fixed;top:-100px;left:16px;z-index:10;background:white;padding:16px}.skip:focus{top:12px}.preview{padding:10px 4.5%;background:#e4ebe6;display:flex;justify-content:space-between;gap:16px;font-size:.875rem}.preview a{text-decoration:underline;text-underline-offset:5px}.header{padding:28px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.identity{display:inline-flex;flex-direction:column}.name{font-family:var(--serif);font-size:2.1rem;line-height:1.1}.profession{font-size:.75rem;letter-spacing:.08em;margin-top:8px;text-transform:uppercase}.header nav{display:flex;align-items:center;gap:28px;font-size:.875rem}.nav-contact{border:1px solid var(--ink);padding:13px 20px}.nav-contact span{margin-left:16px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 12px}.hero{display:grid;grid-template-columns:1.1fr 1fr;padding:48px 4.5% 70px;gap:5.5%;max-width:1700px;margin:auto}.hero-copy{padding:30px 0 0;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;line-height:1.5;margin:0 0 30px}.hero h1{margin-bottom:30px}.hero-text{max-width:430px;font-size:1.125rem;color:var(--muted)}.button{background:var(--deep);color:white;padding:17px 23px;display:inline-flex;gap:35px;align-items:center;transition:background .2s}.button:hover{background:#275757}.hero-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:48px;padding-top:18px;width:100%;font-size:.875rem}.hero-image{position:relative;margin:0;min-width:0}.hero-image img{width:100%;height:100%;max-height:760px;object-fit:cover;object-position:center;aspect-ratio:4/5}.hero-image figcaption{position:absolute;bottom:24px;left:24px;right:24px;color:white;font-family:var(--serif);font-size:2rem;text-shadow:0 1px 10px #123f40}.section{padding:100px 7%;scroll-margin-top:20px}.approach{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;background:var(--deep);color:var(--paper)}.approach h2{max-width:640px}.approach-text{padding-top:45px;color:#e2ebe5;max-width:580px}.lead{font-size:1.5rem;line-height:1.45}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--ink);padding:5px 0;font-size:1rem;line-height:1.5;margin-top:8px}.light{border-color:#92afa2}.doctor{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;border-bottom:1px solid var(--line)}.doctor h2{max-width:640px}.doctor-profile{padding-top:22px;max-width:560px}.doctor-title{display:flex;align-items:center;gap:20px;margin-bottom:28px}.doctor-title h3{font-family:var(--serif);font-size:2rem;line-height:1.2}.doctor-title p{font-size:.875rem;margin:8px 0 0}.doctor-initials{font:3rem var(--serif);border:1px solid #93aba0;padding:14px 18px;flex-shrink:0}.path{background:#e6ede7}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;margin-top:65px}.steps article{border-top:1px solid #a9bdb0;padding-top:18px}.step-number{font:.875rem var(--sans);display:block;margin-bottom:36px}.steps h3{font:2.2rem/1.1 var(--serif);margin-bottom:18px}.steps p{color:var(--muted);margin-bottom:0}.faq{display:grid;grid-template-columns:.9fr 1fr;gap:10%}.faq h2{margin-bottom:25px}.faq>div>p:last-child{color:var(--muted)}.questions{padding-top:10px}.questions details{border-top:1px solid var(--line)}.questions summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:23px 0;font-size:1.125rem;line-height:1.5}.questions summary::-webkit-details-marker{display:none}.questions summary span{font-size:1.5rem;transition:transform .25s}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{color:var(--muted);padding-right:35px}.questions>.text-link{margin-top:30px}.contact{background:var(--deep);color:#f7f8f5}.contact-top{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end}.direct>a{display:flex;justify-content:space-between;gap:16px;overflow-wrap:anywhere;padding:14px 0;border-bottom:1px solid #537876}.direct>a:first-child{font:2.2rem var(--serif)}.direct p{color:#d3e0d6;font-size:.875rem;margin:18px 0 0}.locations{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:70px}.locations article{padding-top:25px;border-top:1px solid #537876}.city{font:3.4rem var(--serif)}.locations h3{font-size:1.05rem;margin:12px 0}.locations p{color:#d3e0d6}.locations .small{font-size:.875rem;margin:14px 0 0}.footer{padding:35px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer p{font-size:.8rem;color:var(--muted);margin:0;max-width:500px}.footer p a{text-decoration:underline;text-underline-offset:5px}.footer>a:last-child{font-size:2rem}.footer .name{font-size:1.7rem}
@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}@media(max-width:1100px){.header nav{gap:18px}.header .name{font-size:1.8rem}.nav-contact{padding:10px 12px}.header .profession{font-size:.7rem}.hero{gap:4%;padding-top:32px}.hero-copy{padding-top:10px}h1{font-size:clamp(3.6rem,6.9vw,6rem)}.hero-bottom{margin-top:30px}.hero-text{font-size:1rem}.section{padding:75px 5%}.steps{gap:30px}.hero-image figcaption{font-size:1.7rem}.footer{flex-wrap:wrap}}@media(max-width:860px){.header{position:relative;padding:22px 5%}.menu-toggle{display:block}.header nav{display:flex;flex-wrap:wrap;flex-basis:100%}.header{flex-wrap:wrap}.js .header nav{display:none}.js .header nav.is-open{display:flex;flex-direction:column;align-items:stretch;width:100%}.js .header nav a{padding:12px}.hero{grid-template-columns:1fr 1fr;gap:4%}h1{font-size:clamp(3.1rem,7.2vw,5rem)}.hero .eyebrow{font-size:.72rem;letter-spacing:.09em;margin-bottom:20px}.hero-image img{object-position:54% center}.hero-bottom{font-size:.8rem;gap:8px}.hero-image figcaption{font-size:1.4rem;left:16px}.approach,.doctor,.faq{gap:7%}.steps{gap:24px}.steps h3{font-size:1.8rem}.doctor-title{align-items:flex-start;gap:12px}.doctor-initials{padding:10px;font-size:2.3rem}.doctor-title h3{font-size:1.6rem}.direct>a:first-child{font-size:1.8rem}.direct>a{font-size:.9rem}}@media(max-width:600px){.preview{font-size:.75rem;padding:9px 5%;align-items:center}.preview span{max-width:210px}.preview a{white-space:nowrap}.header .name{font-size:1.65rem}.header .profession{font-size:.63rem;letter-spacing:.06em}.hero{display:flex;flex-direction:column;padding:30px 5% 48px;gap:30px}.hero-copy{padding:0}.hero .eyebrow{font-size:.75rem}h1{font-size:clamp(3.7rem,13vw,5.5rem)}.hero h1{margin-bottom:24px}.hero-text{max-width:460px;font-size:1.0625rem}.button{font-size:1rem}.hero-bottom{margin-top:30px;font-size:.875rem}.hero-image img{aspect-ratio:5/4;height:auto;max-height:500px;object-fit:cover;object-position:center 58%}.hero-image figcaption{font-size:1.6rem;bottom:18px}.section{padding:58px 6%}.eyebrow{margin-bottom:22px;font-size:.75rem}h2{font-size:clamp(2.8rem,9.5vw,3.7rem)}.approach,.doctor,.faq,.contact-top{grid-template-columns:1fr;gap:30px}.approach-text,.doctor-profile{padding-top:0}.lead{font-size:1.3rem}.doctor-title h3{font-size:1.9rem}.steps{grid-template-columns:1fr;gap:28px;margin-top:35px}.step-number{margin-bottom:18px}.steps h3{font-size:2rem}.steps p{max-width:480px}.faq h2{margin-bottom:20px}.questions{padding-top:0}.questions summary{font-size:1.0625rem}.text-link{font-size:1rem;gap:12px}.contact-top{gap:25px}.direct>a:first-child{font-size:2rem}.direct>a{font-size:1rem}.locations{grid-template-columns:1fr;gap:35px;margin-top:45px}.city{font-size:2.8rem}.footer{padding:28px 6%;gap:22px}.footer p{order:3;flex-basis:100%;font-size:.8rem}.footer .profession{font-size:.65rem}.footer .name{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{.preview,.menu-toggle,.header nav,.button,.footer>a:last-child{display:none!important}body{background:white}.section{break-inside:avoid;padding:32px 4%}.hero{padding:20px 4%;grid-template-columns:1fr 1fr}.hero h1{font-size:44px}.hero-image img{max-height:390px}.approach,.contact{background:white;color:#183e3e}.approach p,.contact p{color:#183e3e}.hero-image figcaption{color:white}.faq details>p{display:block}h2{font-size:34px}}

/* Portrait and conditions — client revision, 13 September 2026. */
.conditions{background:#eef2ed;border-bottom:1px solid var(--line)}
.conditions-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:end}
.conditions-heading>p{color:var(--muted);max-width:470px;margin:0 0 5px}
.conditions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 48px;margin-top:60px}
.conditions-grid article{border-top:1px solid #aebfb3;padding-top:18px;min-width:0}
.condition-number{display:block;font-size:.875rem;color:var(--muted);margin-bottom:24px}
.conditions-grid h3{font:2rem/1.15 var(--serif);margin-bottom:16px}
.conditions-grid p{color:var(--muted);margin:0}
.doctor{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:9%}
.doctor-photo{margin:0;width:100%;max-width:480px;background:#e5e8e1}
.doctor-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.doctor-profile{padding-top:0;max-width:650px;min-width:0}
.doctor h2{font-size:clamp(2.8rem,4.1vw,4.4rem);margin-bottom:30px}
.doctor-title{margin-bottom:22px}
@media(max-width:1100px){.header nav{gap:14px}.conditions-grid{gap:35px 28px}.conditions-grid h3{font-size:1.9rem}.doctor{gap:7%}}
@media(min-width:861px) and (max-width:1000px){.header{flex-wrap:wrap}.header nav{width:100%;justify-content:space-between}}
@media(max-width:860px){.conditions-heading{grid-template-columns:1fr;gap:28px}.conditions-heading>p{max-width:600px}.conditions-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px}.doctor{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5%}.doctor h2{font-size:2.8rem}}
@media(max-width:600px){.conditions-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.condition-number{margin-bottom:16px}.conditions-grid h3{font-size:2rem}.conditions-grid p{max-width:480px}.doctor{grid-template-columns:1fr;gap:34px}.doctor-photo{max-width:400px;margin:auto}.doctor h2{font-size:clamp(2.8rem,9.5vw,3.7rem)}.doctor-title h3{font-size:1.8rem}}
@media print{.conditions{background:white}.conditions-grid{gap:20px;margin-top:30px}.condition-number{margin-bottom:10px}.conditions-grid article{break-inside:avoid}.doctor-photo{max-width:290px}.doctor h2{font-size:34px}}

/* Connected care pathway — client revision, 13 September 2026. */
.conditions-grid{gap:24px}
.conditions-grid article{border:1px solid #aebfb3;padding:28px;background:var(--paper)}
.steps{--step-gap:56px;--marker-size:64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--step-gap);list-style:none;margin:64px 0 0;padding:0}
.steps>li{position:relative;min-width:0}
.steps>li:not(:last-child)::before{content:"";position:absolute;top:calc(var(--marker-size)/2);left:var(--marker-size);width:calc(100% + var(--step-gap) - var(--marker-size));height:1px;background:#71958b}
.steps .step-number{position:relative;display:grid;place-items:center;width:var(--marker-size);height:var(--marker-size);margin:0 0 30px;border-radius:50%;background:var(--deep);color:var(--paper);font:1.15rem var(--sans);letter-spacing:.04em}
.steps .step-copy{padding-right:12px}
.steps h3{margin-bottom:18px}
@media(max-width:1100px){.steps{--step-gap:32px}.conditions-grid{gap:20px}.conditions-grid article{padding:24px}}
@media(max-width:760px){
 .steps{--marker-size:52px;display:block;margin-top:40px}
 .steps>li{display:grid;grid-template-columns:var(--marker-size) minmax(0,1fr);gap:24px;padding:0 0 38px}
 .steps>li:last-child{padding-bottom:0}
 .steps>li:not(:last-child)::before{top:var(--marker-size);left:calc(var(--marker-size)/2);width:1px;height:calc(100% - var(--marker-size))}
 .steps .step-number{margin:0;font-size:1rem}
 .steps .step-copy{padding:7px 0 0}
 .steps h3{font-size:2rem;margin-bottom:12px}
 .steps p{max-width:480px}
}
@media(max-width:400px){.steps>li{gap:18px}.steps h3{font-size:1.8rem}.conditions-grid article{padding:22px}}
@media print{.steps>li{break-inside:avoid}.steps .step-number{background:white;color:var(--ink);border:1px solid var(--ink)}.conditions-grid article{background:white}}

/* The final segment and arrowhead share the same SVG line. */
.steps .step-tail{position:absolute;left:var(--marker-size);top:calc(var(--marker-size)/2 - 8px);width:calc(100% - var(--marker-size));height:16px;color:#71958b;overflow:visible;pointer-events:none}
.step-tail .tail-vertical{display:none}
@media(max-width:760px){
 .steps>li:last-child{padding-bottom:20px;min-height:112px}
 .steps .step-tail{left:calc(var(--marker-size)/2 - 8px);top:var(--marker-size);width:16px;height:calc(100% - var(--marker-size))}
 .step-tail .tail-horizontal{display:none}
 .step-tail .tail-vertical{display:block}
}

/* Smooth FAQ disclosure, preserving native details semantics. */
.questions .faq-answer{display:flow-root}
.questions details.faq-animated summary span{transform:rotate(0);transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.questions details.faq-animated[data-expanded="true"] summary span{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.questions details.faq-animated summary span{transition:none}}
@media print{.questions details.faq-animated{height:auto!important;overflow:visible!important}.questions .faq-answer{opacity:1!important}}

/* Lead with the doctor; keep conditions next to the care pathway. */
.hero-image.hero-doctor{align-self:center;background:#e4ebe6}
.hero-image.hero-doctor img{width:100%;height:auto;aspect-ratio:4/5;max-height:700px;object-fit:cover;object-position:center}
.hero-image.hero-doctor figcaption{position:static;inset:auto;padding:18px 24px 20px;color:var(--ink);font:400 .875rem/1.5 var(--sans);text-shadow:none}
.hero-doctor .portrait-name{display:block;font:1.8rem/1.15 var(--serif);margin-bottom:6px}
.hero-doctor .portrait-speciality{display:block;color:var(--muted)}
.intro-profile{border-top:1px solid #537876;padding-top:24px;margin-top:38px;max-width:540px;color:#e2ebe5;scroll-margin-top:32px}
.intro-profile .profile-label{font-size:.875rem;margin:0 0 12px}
.intro-profile>p:not(.profile-label){font-size:1rem;margin-bottom:8px}
.intro-profile .text-link{font-size:.875rem}
@media(max-width:860px){.hero-image.hero-doctor figcaption{padding:16px 18px}.hero-doctor .portrait-name{font-size:1.6rem}}
@media(max-width:600px){.hero-image.hero-doctor{width:100%;align-self:stretch}.hero-image.hero-doctor img{aspect-ratio:1;max-height:none;object-position:center}.hero-image.hero-doctor figcaption{padding:18px 20px}.hero-doctor .portrait-name{font-size:1.8rem}.intro-profile{margin-top:30px}}
@media print{.hero-image.hero-doctor img{max-height:360px}.hero-image.hero-doctor figcaption{color:var(--ink)}.intro-profile{color:var(--ink)}}

/* Gentle section fades; backgrounds and page geometry stay stable. */
main>section.section.section-reveal>*{opacity:0;transition:opacity .95s cubic-bezier(.22,.61,.36,1)}
main>section.section.section-reveal.is-revealed>*{opacity:1}
main>section.section.section-reveal.reveal-immediate>*,main>section.section.section-reveal:focus-within>*{opacity:1;transition:none}
@media(prefers-reduced-motion:reduce){main>section.section.section-reveal>*{opacity:1!important;transition:none!important}}
@media print{main>section.section.section-reveal>*{opacity:1!important;transition:none!important}}

/* White-led palette, shared hero baseline and MioDottore references. */
.hero.hero-aligned{background:#fff;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"copy portrait" "recap caption";gap:0 5.5%;align-items:stretch}
.hero-aligned .hero-copy{grid-area:copy;padding:30px 0 44px}
.hero-aligned .hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:6px}
.hero-actions .button{gap:14px;padding:16px 18px;font-size:.9375rem;border:1px solid var(--deep);line-height:1.5}
.hero-actions .button-secondary{background:transparent;color:var(--ink)}
.hero-actions .button-secondary:hover{background:#edf3ef}
.hero-aligned .hero-image.hero-doctor{display:contents}
.hero-aligned .hero-image.hero-doctor img{grid-area:portrait;align-self:stretch;width:100%;height:100%;min-height:0;max-height:700px;aspect-ratio:4/5;object-fit:cover;object-position:center}
.hero-aligned .hero-bottom{grid-area:recap;align-self:start;align-items:flex-start;border-top:1px solid var(--line);margin:0;padding:22px 0 0}
.hero-aligned .hero-image.hero-doctor figcaption{grid-area:caption;align-self:start;border-top:1px solid var(--line);margin:0;padding:22px 0 0;background:#fff}
.miodottore-badge{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;width:fit-content;max-width:100%;margin-top:18px;padding:12px 15px;border:1px solid #c6d6d0;background:#f5f8f6;line-height:1.4}
.miodottore-badge:hover{border-color:#71958b;background:#edf3ef}
.miodottore-badge strong{font-size:1.25rem;font-weight:600;white-space:nowrap}
.miodottore-badge strong span{font-size:.875rem;font-weight:400}
.rating-stars{display:inline-flex;gap:3px;color:#297b68;vertical-align:middle}
.rating-stars svg{display:block;width:16px;height:16px;flex-shrink:0}
.rating-details{display:flex;flex-direction:column;gap:4px;font-size:.875rem}
.approach{background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.approach-text,.intro-profile{color:var(--muted)}
.approach .lead{color:var(--ink)}
.intro-profile{border-color:var(--line)}
.approach .text-link{color:var(--ink);border-color:#8ea89b}
.conditions{background:#edf3ef}
.conditions-grid article{background:#fff;border-color:#bfcec4}
.path{background:#fff;border-bottom:1px solid var(--line)}
.faq{background:#f7f8f5}
.reviews{background:#fff;border-top:1px solid var(--line)}
.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}
.reviews-summary{max-width:350px;color:var(--muted)}
.reviews-summary p{margin-bottom:12px}
.reviews-summary .rating-stars{margin-bottom:12px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:50px}
.review-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:30px;border:1px solid var(--line);background:#fff}
.review-card blockquote{margin:25px 0 32px;font:2rem/1.25 var(--serif)}
.review-card figcaption{display:flex;flex-direction:column;gap:5px;margin-top:auto;font-size:.875rem}
.review-card .review-author{font-weight:600}
.review-card time,.review-note{color:var(--muted)}
.review-card .review-source{text-decoration:underline;text-underline-offset:5px;margin-top:5px}
.review-note{font-size:.875rem;margin:22px 0 0}
.contact .booking-button{margin-top:28px;background:#f7f8f5;color:var(--ink);border:1px solid #f7f8f5;gap:18px}
.contact .booking-button:hover{background:#dce9df;border-color:#dce9df}
.locations{gap:28px}
.locations article.location-card{border:1px solid #ccd8d3;background:#fff;color:var(--ink);padding:32px;display:flex;flex-direction:column;align-items:flex-start}
.locations .location-card p{color:var(--muted)}
.location-card .city{font-size:3rem}
.location-card .location-address{margin-bottom:22px}
.location-card .text-link{border-color:#9aafa3}
.location-card .map-link{display:inline-flex;align-items:center;gap:10px;border-top:1px solid var(--line);width:100%;padding-top:20px;margin-top:26px;font-size:.9375rem}
.location-card .map-link svg{width:20px;height:20px;flex-shrink:0}
.location-card .map-link:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1100px){.hero-aligned .hero-copy{padding-top:10px}.hero-actions .button{padding:14px 16px;font-size:.875rem}.reviews-grid{gap:20px}.review-card{padding:24px}.review-card blockquote{font-size:1.8rem}}
@media(max-width:860px){.hero-aligned .hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .button{justify-content:space-between}.hero-aligned .hero-image.hero-doctor img{max-height:none}.reviews-heading{align-items:flex-start;flex-direction:column;gap:24px}.reviews-summary{max-width:none}.reviews-grid{grid-template-columns:1fr;gap:20px;margin-top:35px}.review-card blockquote{margin:20px 0 24px;font-size:2rem}.locations article.location-card{padding:26px}}
@media(max-width:600px){.hero.hero-aligned{grid-template-columns:1fr;grid-template-areas:"copy" "portrait" "caption" "recap";gap:0;padding-top:30px}.hero-aligned .hero-copy{padding:0 0 32px}.hero-aligned .hero-actions{width:100%;align-items:stretch}.hero-actions .button{font-size:.9375rem;justify-content:space-between}.hero-aligned .hero-image.hero-doctor img{height:auto;aspect-ratio:1}.hero-aligned .hero-image.hero-doctor figcaption{padding-top:20px}.hero-aligned .hero-bottom{margin-top:28px;padding-top:20px}.miodottore-badge{margin-top:16px}.locations{gap:24px}.locations article.location-card{padding:26px}.reviews-summary .text-link{font-size:.9375rem}}
@media print{.hero-aligned .hero-image.hero-doctor{display:contents}.hero-aligned .hero-image.hero-doctor img{max-height:390px}.hero-actions,.booking-button{display:none!important}.review-card{break-inside:avoid}.reviews{background:white}.contact .location-card{border-color:#ccd8d3}}

/* Agency top bar, portrait overlay and a shared pale surface. */
:root{--surface:#edf3ef;--paper:#fff;--mint:var(--surface)}
body,.header,.header nav,.hero.hero-aligned{background:#fff}
.menu-toggle{-webkit-appearance:none;appearance:none;color:var(--ink)}
.preview{background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.8125rem}
.preview .proposal-label{min-width:0;max-width:none}
.preview .proposal-agency{margin-left:auto;text-align:right;white-space:nowrap;max-width:none}
.preview .agency-short{display:none;text-decoration:none}
.hero.hero-aligned{grid-template-areas:"copy portrait" "recap portrait"}
.hero-aligned .hero-image.hero-doctor{grid-area:portrait;position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(350px,1fr) auto;align-self:stretch;overflow:hidden;isolation:isolate;background:var(--surface)}
.hero-aligned .hero-image.hero-doctor img{position:absolute;inset:0;grid-area:auto;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center}
.hero-aligned .hero-image.hero-doctor figcaption{position:relative;inset:auto;grid-area:2/1/3/2;align-self:end;z-index:1;margin:22px;padding:20px 22px;border:0;background:rgba(255,255,255,.96);color:var(--ink)}
.hero-doctor .portrait-name{font-size:1.8rem}
.hero-doctor .portrait-speciality{font-size:.875rem;line-height:1.45}
.hero-doctor .miodottore-badge{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;width:100%;margin-top:14px;padding:12px 0 0;border:0;border-top:1px solid var(--line);background:transparent}
.hero-doctor .miodottore-badge:hover{background:transparent;color:var(--deep)}
.hero-doctor .miodottore-badge .rating-details{font-size:.8125rem;line-height:1.3}
.hero-doctor .miodottore-badge .rating-stars svg{width:14px;height:14px}
.hero-doctor .miodottore-badge:hover b{text-decoration:underline;text-underline-offset:5px}
.hero-aligned .hero-bottom{padding-bottom:4px}
.approach .lead{font-weight:600}
.approach .text-link{font-size:1rem}
@media(min-width:601px){.approach>.section-heading,.approach-text{display:flex;flex-direction:column;align-items:flex-start}.approach .intro-profile{display:flex;flex-direction:column;align-items:flex-start;flex:1;width:100%}.approach .intro-profile>p:last-of-type{margin-bottom:16px}.approach .intro-profile>.text-link,.approach-text>.text-link{margin-top:auto}}
.conditions,.faq{background:var(--surface)}
.conditions-grid article,.reviews,.review-card{background:#fff}
.conditions-grid article{position:relative;transition:border-color .3s ease}
.conditions-grid .condition-button{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);-webkit-appearance:none;appearance:none;cursor:pointer}
.condition-button .condition-arrow{position:absolute;top:28px;right:28px;width:24px;height:24px;opacity:0;transform:translate(-3px,3px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.condition-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.condition-button:focus-visible .condition-arrow,.condition-button:active .condition-arrow{opacity:1;transform:translate(0,0)}
@media(hover:hover){.conditions-grid article:hover{border-color:var(--ink)}.condition-button:hover .condition-arrow{opacity:1;transform:translate(0,0)}}
@media(max-width:1100px){.condition-button .condition-arrow{top:24px;right:24px}}
@media(max-width:400px){.condition-button .condition-arrow{top:22px;right:22px}}
@media(prefers-reduced-motion:reduce){.conditions-grid article,.condition-button .condition-arrow{transition:none}.condition-button .condition-arrow{transform:none}}
@media print{.conditions-grid .condition-button{display:none}}
.hero-actions .button-secondary:hover,.contact .booking-button:hover{background:var(--surface)}
.contact .booking-button{background:#fff;border-color:#fff}
.locations article.location-card{gap:0}
.locations .location-card h3{font-weight:700}
.location-card .location-address{margin-bottom:22px}
.locations .location-card .map-link{margin-top:auto;padding-top:20px}
.locations .location-card .text-link{margin-bottom:26px}
.locations .location-card .small{margin:-12px 0 26px}
@media(max-width:860px){.hero-aligned .hero-image.hero-doctor figcaption{margin:16px;padding:18px}.hero-doctor .portrait-name{font-size:1.6rem}.hero-doctor .miodottore-badge{gap:10px}}
@media(max-width:600px){.preview{padding:9px 5%;gap:10px;font-size:.75rem}.preview .proposal-label{max-width:none;white-space:nowrap}.preview .agency-full{display:none}.preview .agency-short{display:inline;letter-spacing:.08em}.hero.hero-aligned{grid-template-areas:"copy" "portrait" "recap"}.hero-aligned .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);width:max-content;max-width:100%;justify-items:stretch}.hero-aligned .hero-image.hero-doctor{grid-template-rows:minmax(350px,1fr) auto}.hero-aligned .hero-image.hero-doctor img{height:100%;aspect-ratio:auto}.hero-aligned .hero-image.hero-doctor figcaption{margin:16px;padding:18px}.hero-doctor .portrait-name{font-size:1.65rem}.hero-aligned .hero-bottom{margin-top:28px}}
@media print{.hero-aligned .hero-image.hero-doctor{display:block;min-height:0}.hero-aligned .hero-image.hero-doctor img{position:static;height:auto;max-height:390px;object-fit:contain}.hero-aligned .hero-image.hero-doctor figcaption{margin:0;padding:16px 0;background:#fff}.conditions,.faq{background:#fff}}
