/* R2.4.1: focused portrait/form update on R2.4; original styles.css unchanged. */
/* A quieter portrait within the existing column; no retouching or new imagery. */
.hero-media{width:100%;max-width:340px;justify-self:center;align-self:start;margin:24px 0 0;padding:0}
.hero-media::before{content:none;display:none}
.hero-picture img.portrait-photo{aspect-ratio:1.1/1;object-fit:cover;object-position:50% 0%}
.hero-caption{padding:20px 22px}
.contact-form .required-note{font-weight:400}
@media(max-width:700px){.hero-media{max-width:300px;margin:0;justify-self:start}.hero-caption{padding:17px 20px}}
@media print{.hero-media{max-width:260px}}
.seo-more{font-size:.91rem;margin-top:17px;line-height:1.55}
.seo-local{margin-top:14px}
.seo-inline{font-weight:650;text-decoration:underline;text-underline-offset:4px;color:var(--red)}
.dark .seo-more{color:var(--on-dark);margin-top:18px}
.footer-services{display:flex;flex-wrap:wrap;gap:12px 28px;border-top:1px solid #82505B;padding-top:20px;margin-bottom:24px;font-size:.86rem;color:var(--on-dark)}
.footer-services a{display:inline-flex;align-items:center;min-height:32px;text-underline-offset:4px}
.footer-services a:hover{text-decoration:underline}
/* Topic pages use the same header, colours, type and buttons as R2.3. */
.topic-hero{background:var(--sand);border-bottom:1px solid var(--line);padding:35px 0 55px}
.topic-breadcrumbs{font-size:.84rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:7px 12px;margin-bottom:32px;line-height:1.5}
.topic-breadcrumbs a{text-decoration:underline;text-underline-offset:4px;min-height:28px}
.topic-breadcrumbs [aria-current]{max-width:100%}
.topic-hero h1{font-size:clamp(2.05rem,3.6vw,3.1rem);letter-spacing:-.045em;max-width:920px;margin-bottom:20px}
.topic-intro{max-width:790px;color:var(--muted);font-size:1.1rem;line-height:1.8}
.topic-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:70px;align-items:start;padding-block:65px 75px}
.topic-body{min-width:0;max-width:790px}
.topic-section{margin-bottom:40px;scroll-margin-top:110px}
.topic-section h2{font-size:clamp(1.5rem,2.3vw,1.9rem);letter-spacing:-.025em;margin-bottom:17px}
.topic-section p,.topic-section li{color:var(--muted);line-height:1.8}
.topic-section ul{padding-left:23px;margin:17px 0}
.topic-section li{padding-left:5px;margin-top:9px}
.topic-section li::marker{color:var(--red)}
.topic-section p+ul+ p{margin-top:17px}
.topic-sidebar{background:var(--sand-light);border:1px solid var(--line);border-radius:var(--radius);padding:27px;position:sticky;top:calc(var(--header) + 25px)}
.topic-sidebar h2{font-size:1.15rem;margin-bottom:14px}
.topic-sidebar ul{list-style:none;padding:0;margin:0 0 25px}
.topic-sidebar li{margin-bottom:13px}
.topic-sidebar a:not(.btn){font-size:.91rem;color:var(--red);text-decoration:underline;text-underline-offset:4px}
.topic-sidebar p{color:var(--muted);font-size:.94rem;margin-top:17px}
.topic-sidebar .btn{width:100%;margin-top:21px;min-width:0}
.topic-sidebar .btn-call{padding:15px 17px;gap:10px}
.topic-sidebar .call-text strong{font-size:1rem}
.topic-questions{margin-top:50px}
.topic-questions>h2{font-size:1.8rem;letter-spacing:-.03em;margin-bottom:12px}
.topic-cta{background:var(--wine);color:var(--on-dark);padding:50px 0}
.topic-cta h2{font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.03em;max-width:850px;margin-bottom:16px;color:#fff}
.topic-cta p{max-width:750px}
.topic-related{padding:48px 0 62px}
.topic-related h2{font-size:1.35rem;margin-bottom:19px}
.topic-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.topic-related a{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--white);font-weight:650;color:var(--red);line-height:1.5}
.topic-related a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1140px){.topic-layout{gap:32px;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.topic-sidebar{padding:22px}.topic-sidebar .btn-call .phone-icon{display:none}}
@media(max-width:800px){.topic-layout{grid-template-columns:1fr;padding-block:40px;gap:20px}.topic-sidebar{position:static}.topic-sidebar ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 25px}.topic-sidebar li{margin:0}.topic-sidebar .btn{max-width:380px}.topic-sidebar .btn-call .phone-icon{display:block}.topic-related-grid{grid-template-columns:1fr}.topic-intro{font-size:1rem}.topic-hero{padding:25px 0 40px}.topic-breadcrumbs{margin-bottom:25px}.topic-section{margin-bottom:32px}}
@media(max-width:600px){.footer-services{gap:8px 22px;font-size:.81rem}.topic-sidebar ul{grid-template-columns:1fr}.topic-hero h1{font-size:2.05rem}.topic-cta{padding:38px 0}.topic-related{padding:35px 0 42px}}
@media print{.topic-sidebar,.topic-related,.topic-breadcrumbs,.footer-services{display:none}.topic-layout{display:block;padding:20px 0}.topic-hero,.topic-cta{background:#fff;color:#000;padding:20px 0}.topic-cta h2{color:#000}.topic-section{break-inside:avoid}}
