/* Public storytelling pages only. All content remains visible without scripts. */
.home-hero h1 { font-size:clamp(2.7rem,5.6vw,4.9rem); line-height:1.08; }
.home-hero { align-items:center; }
.leadership-portrait { display:block; width:100%; max-width:430px; height:auto; border-radius:10px; }
/* Compact the specific sections whose short content previously spanned long rows. */
.public-shell .about-intro { padding-block:2rem; }
.public-shell .about-brand { padding-block:1.5rem; row-gap:1rem; }
.about-brand .eyebrow { margin-bottom:.45rem; }
.about-brand h2, .about-brand p:last-child { margin-bottom:0; }
.about-base { grid-column:1 / -1; border-top:1px solid var(--line); padding-top:1rem; }
.public-shell .about-brand + .local-story { margin-top:2.5rem; }
.principles { display:grid; grid-template-columns:1fr; gap:.75rem; padding-block:1rem; }
.service-overview p { margin-bottom:0; }
@media(min-width:48rem) {
    .principles { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
    .principles > span { padding:.35rem 1.25rem; }
    .principles > span:first-child { padding-left:0; }
    .principles > span + span { border-left:1px solid var(--line); }
    .public-shell .about-brand { grid-template-columns:88px minmax(0,1.2fr) minmax(0,1fr); gap:1.5rem; }
    .about-base { grid-column:auto; border-top:0; border-left:1px solid var(--line); padding:0 0 0 1.5rem; }
}
@media(min-width:60rem) {
    .service-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--line); }
    .service-overview > a { display:grid; grid-template-columns:1fr auto; align-content:start; align-items:start; gap:1.25rem; padding:1.5rem; border-bottom:0; }
    .service-overview > a + a { border-left:1px solid var(--line); }
    .service-overview > a > div { grid-column:1 / -1; grid-row:2; }
    .service-overview > a > span:last-child { grid-column:2; grid-row:1; align-self:center; }
    .service-overview h3 { font-size:1.25rem; line-height:1.35; }
}
.marketing-hero { position:relative; padding:0 0 14px 14px; }
.marketing-hero::before {
    content:""; position:absolute; inset:28px 24px 0 0;
    border:1px solid #8CAFCB; border-radius:14px; z-index:-1;
}
.marketing-hero picture { border-radius:12px 48px 12px 12px; }
.service-overview > a { position:relative; isolation:isolate; }
.service-overview > a::before {
    content:""; position:absolute; inset:0; background:#EAF3FA;
    transform:scaleX(0); transform-origin:left; z-index:-1;
}
.service-overview > a:focus-visible::before { transform:scaleX(1); }
.editorial-motion [data-reveal].is-revealed,
.editorial-motion .is-revealed .care-journey::before { animation:none; }
.editorial-motion .care-journey::before {
    background:linear-gradient(to bottom, #0B4F8A calc(var(--care-draw, 0) * 100%), #B9CEDF 0);
}
@media(min-width:72rem) {
    .public-shell .page-intro {
        display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
        column-gap:clamp(2rem,4vw,4rem); align-items:end;
    }
    .public-shell .page-intro > .eyebrow { grid-column:1 / -1; }
    .public-shell .page-intro > h1 { margin-bottom:0; }
    .public-shell .page-intro > .lead { margin-bottom:.35rem; }
    .home-hero { padding-block:3.5rem 3rem; gap:3.5rem; }
    .public-shell .section { margin-block:5.5rem; }
    .editorial-motion .care-journey::before {
        background:linear-gradient(to right, #0B4F8A calc(var(--care-draw, 0) * 100%), #B9CEDF 0);
    }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
    .service-overview > a::before { transition:transform .5s cubic-bezier(.22,1,.36,1); }
    .service-overview > a:hover::before { transform:scaleX(1); }
    .service-overview > a > span:last-child { transition:transform .4s cubic-bezier(.22,1,.36,1); }
    .service-overview > a:hover > span:last-child { transform:translate(4px,-4px); }
    .public-shell .button { transition:background-color .25s,box-shadow .35s; }
    .public-shell .button:hover { box-shadow:0 8px 24px #0B4F8A24; }
}
@media(prefers-reduced-motion:reduce) {
    .service-overview > a::before { transform:none; background:transparent; }
}
/* Owner-approved transparent portrait trial; originals remain archived. */
.public-shell .cutout-leadership { align-items:center; gap:2rem; background:#F3F8FC; border-radius:16px; padding:2rem 2rem 0; overflow:hidden; }
.cutout-leadership > div:first-child { padding-bottom:2rem; }
.cutout-leadership > div:last-child { align-self:end; }
.cutout-leadership .leadership-portrait { width:100%; max-width:350px; margin-inline:auto; border-radius:0; }
.public-shell .cutout-team .team-gallery { align-items:end; gap:1rem; }
.public-shell .cutout-team .team-gallery figure { background:#F3F8FC; padding:1rem 1rem 0; border-radius:12px; }
.cutout-team .team-gallery img { display:block; width:100%; height:auto; max-height:430px; object-fit:contain; object-position:center bottom; }
@media(max-width:671px) {
    .public-shell .cutout-leadership { padding:1.5rem 1.25rem 0; gap:.75rem; }
    .cutout-leadership > div:first-child { padding-bottom:0; }
    .cutout-leadership .leadership-portrait { max-width:290px; }
    .cutout-team .team-gallery img { max-height:380px; }
}
.public-shell .cutout-team .section-heading { margin-bottom:0; }
@media(max-width:959px) {
    .public-shell .cutout-team { gap:1.25rem; }
}
