/* ============================================================
   NDIS Service Pages — per-page themes & structural variants
   Each service page gets: a colour theme (body class) +
   a hero layout + its own mix of structural components.
   Base components come from custom.css (pm-*); this file
   re-skins them per theme and adds new structures (svc-*).
   ============================================================ */

/* ---------- Colour theme: unified to match plan-management.php ----------
   Every service page shares the site's pm palette:
   --sa  = accent            -> --blue   (#0089c4)
   --sad = accent dark       -> --green-d (#00789f)
   --sas = soft tint         -> --mist   (#eef6fc)
   --sag = feature gradient  -> ink-to-blue (same as .pm-cta-band)
   The per-page theme-* classes are kept so markup never changes;
   they all resolve to the same palette. */
.theme-terra, .theme-rose, .theme-indigo, .theme-ember, .theme-forest,
.theme-amber, .theme-violet, .theme-teal, .theme-grape, .theme-ocean,
.theme-olive, .theme-plum, .theme-gold, .theme-cyan, .theme-emerald,
.theme-crimson, .theme-cocoa, .theme-sky, .theme-petrol {
    --sa:#0089c4;
    --sad:#00789f;
    --sas:#eef6fc;
    --sag:linear-gradient(130deg,#0d1b2a,#0089c4);
}

/* ---------- Theme re-skin of shared pm-* components ---------- */
.svc .pm-eyebrow,
.svc .pm-section-eyebrow{ color:var(--sa); }
.svc .pm-section-eyebrow:before{ background:var(--sa); }
.svc .pm-hero-copy h1 em{ color:var(--sa); }
.svc .pm-hero-copy h1 em:after{ background:var(--sas); }
.svc .pm-btn-primary{ background:var(--sa); box-shadow:0 8px 20px -6px var(--sad); }
.svc .pm-btn-primary:hover{ box-shadow:0 12px 26px -8px var(--sad); }
.svc .pm-btn-ghost:hover{ border-color:var(--sa); }
.svc .service-features > li:before{ background:var(--sas); color:var(--sad); }
.svc .pm-callout{ background:var(--sas); }
.svc .pm-callout strong{ color:var(--sad); }
.svc .pm-steps > li:before{ background:var(--sa); }
.svc .pm-steps > li:after{ background:linear-gradient(var(--sa), var(--line)); }
.svc .pm-reason:before{ background:var(--sa); }
.svc .pm-faq-item[open]{ border-color:var(--sa); box-shadow:0 20px 38px -18px var(--sas); }
.svc .pm-faq-item[open] > summary{ color:var(--sad); background:var(--sas); }
.svc .pm-faq-item > summary:hover{ color:var(--sad); }
.svc .pm-faq-item > summary:hover:before,
.svc .pm-faq-item[open] > summary:before,
.svc .pm-faq-item[open] > summary:after{ background:var(--sa); color:#fff; }
.svc .pm-cta-band{ background:var(--sag); }
.svc .pm-contact h3:after{ background:var(--sa); }
.svc .sidebar-cta .btn-cta{ color:var(--sad); }

/* ---------- Photo hero: always match the Plan Management banner
   (blue colour theme), regardless of the page's svc theme ---------- */
.svc .pm-hero--photo .pm-eyebrow{ color:#6fd4f5; }
.svc .pm-hero--photo .pm-hero-copy h1 em{ color:#33c1f2; }
.svc .pm-hero--photo .pm-hero-copy h1 em:after{ display:none; }
.svc .pm-hero--photo .pm-btn-primary{ background:var(--blue); color:#fff; box-shadow:0 8px 20px rgba(0,137,196,.28); }
.svc .pm-hero--photo .pm-btn-primary:hover{ color:#fff; box-shadow:0 12px 26px rgba(0,137,196,.36); }
.svc .pm-hero--photo .pm-btn-ghost{ color:#ffffff; border-color:rgba(255,255,255,.5); background:transparent; }
.svc .pm-hero--photo .pm-btn-ghost:hover{ color:#ffffff; border-color:#ffffff; background:rgba(255,255,255,.12); }

/* Preserve the complete zoomed-out driver-training scene at every size. */
.driver-training-overview-figure img{
    height:auto!important; object-fit:contain; object-position:center;
}

/* ============================================================
   HERO VARIANTS
   ============================================================ */
.svc-hero{ position:relative; padding:84px 0 78px; overflow:hidden; }
.svc-hero .pm-lead{ margin-bottom:26px; }

/* A — Gradient: full colour, white text */
.svc-hero--gradient{ background:var(--sag); }
.svc-hero--gradient:before{
    content:""; position:absolute; right:-140px; top:-140px; width:460px; height:460px;
    border-radius:50%; background:rgba(255,255,255,.08);
}
.svc-hero--gradient:after{
    content:""; position:absolute; right:60px; bottom:-190px; width:380px; height:380px;
    border-radius:50%; border:60px solid rgba(255,255,255,.06);
}
.svc-hero--gradient .pm-eyebrow{ color:rgba(255,255,255,.85); }
.svc-hero--gradient h1{ color:#fff!important; }
.svc-hero--gradient h1 em{ color:#fff; font-style:italic; }
.svc-hero--gradient .pm-lead{ color:rgba(255,255,255,.88); }
.svc-hero--gradient .pm-btn-primary{ background:#fff; color:var(--sad); box-shadow:0 14px 30px -12px rgba(0,0,0,.45); }
.svc-hero--gradient .pm-btn-ghost{ color:#fff; border-color:rgba(255,255,255,.55); background:transparent; }
.svc-hero--gradient .pm-btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.12); color:#fff; }

/* B — Split: text left, decorative chip panel right */
.svc-hero--split{ background:linear-gradient(180deg,var(--sas) 0%, #ffffff 92%); }
.svc-hero-panel{
    position:relative; border-radius:22px; padding:34px 30px;
    background:var(--sag); color:#fff;
    box-shadow:0 34px 64px -30px var(--sad);
}
.svc-hero-panel:before{
    content:""; position:absolute; inset:10px; border:1px dashed rgba(255,255,255,.35); border-radius:16px; pointer-events:none;
}
.svc-hero-panel .svc-chip{
    display:inline-block; margin:5px 4px; padding:9px 16px; border-radius:999px;
    background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3);
    font-size:13px; font-weight:600; letter-spacing:.02em; color:#fff;
}
.svc-hero-panel .svc-panel-title{
    font-family:'Montserrat',sans-serif; font-size:15px; letter-spacing:.14em; text-transform:uppercase;
    color:rgba(255,255,255,.8); margin:0 0 14px;
}

/* C — Centered */
.svc-hero--centered{ background:radial-gradient(circle at 50% -20%, var(--sas) 0%, #ffffff 68%); text-align:center; }
.svc-hero--centered .pm-hero-copy{ margin:0 auto; }
.svc-hero--centered .pm-lead{ margin-left:auto; margin-right:auto; }
.svc-hero--centered .pm-hero-actions{ justify-content:center; }
.svc-hero--centered .svc-hero-rule{
    width:74px; height:4px; border-radius:4px; background:var(--sag); margin:0 auto 26px;
}

/* D — Angle: gradient with slanted bottom */
.svc-hero--angle{ background:var(--sag); padding-bottom:120px; clip-path:polygon(0 0,100% 0,100% calc(100% - 64px),0 100%); }
.svc-hero--angle .pm-eyebrow{ color:rgba(255,255,255,.85); }
.svc-hero--angle h1{ color:#fff!important; }
.svc-hero--angle h1 em{ color:#fff; text-decoration:underline; text-decoration-color:rgba(255,255,255,.45); text-underline-offset:8px; }
.svc-hero--angle .pm-lead{ color:rgba(255,255,255,.88); }
.svc-hero--angle .pm-btn-primary{ background:#fff; color:var(--sad); }
.svc-hero--angle .pm-btn-ghost{ color:#fff; border-color:rgba(255,255,255,.55); background:transparent; }
.svc-hero--angle .pm-btn-ghost:hover{ border-color:#fff; color:#fff; background:rgba(255,255,255,.12); }

/* E — Band: dark ink with accent glow */
.svc-hero--band{ background:#0d1b2a; }
.svc-hero--band:before{
    content:""; position:absolute; left:-120px; top:-160px; width:560px; height:560px; border-radius:50%;
    background:radial-gradient(circle, var(--sa) 0%, transparent 62%); opacity:.32; filter:blur(10px);
}
.svc-hero--band:after{
    content:""; position:absolute; right:-80px; bottom:-220px; width:480px; height:480px; border-radius:50%;
    background:radial-gradient(circle, var(--sa) 0%, transparent 60%); opacity:.16;
}
.svc-hero--band .pm-eyebrow{ color:var(--sa); filter:brightness(1.6); }
.svc-hero--band h1{ color:#fff!important; }
.svc-hero--band h1 em{ color:var(--sa); filter:brightness(1.55); }
.svc-hero--band .pm-lead{ color:rgba(255,255,255,.78); }
.svc-hero--band .pm-btn-primary{ background:var(--sa); color:#fff; }
.svc-hero--band .pm-btn-ghost{ color:#fff; border-color:rgba(255,255,255,.4); background:transparent; }
.svc-hero--band .pm-btn-ghost:hover{ border-color:#fff; color:#fff; }

/* F — Minimal: white, bold left rule */
.svc-hero--minimal{ background:#fff; border-bottom:1px solid var(--line); padding:70px 0 62px; }
.svc-hero--minimal .pm-hero-copy{ border-left:5px solid var(--sa); padding-left:34px; }

/* ============================================================
   STRUCTURAL COMPONENTS
   ============================================================ */

/* Chapter headings — oversized outlined index numbers */
.svc-chapter{ display:flex; align-items:flex-start; gap:20px; margin-bottom:6px; }
.svc-chapter .svc-chapter-num{
    font-family:'Montserrat',sans-serif; font-weight:700; font-size:58px; line-height:1;
    color:transparent; -webkit-text-stroke:2px var(--sa); opacity:.5; flex:0 0 auto; transform:translateY(-4px);
}
.svc-chapter h2, .svc-chapter h3{ margin:0; }

/* Card grid */
.svc-cards{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px; }
.svc-cards--3{ grid-template-columns:repeat(3,1fr); }
.svc-card{
    position:relative; background:#fff; border:1px solid var(--line); border-radius:16px;
    padding:26px 24px 24px; overflow:hidden;
    transition:transform .3s ease, box-shadow .3s ease;
}
.svc-card:before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--sag); }
.svc-card:hover{ transform:translateY(-4px); box-shadow:0 24px 46px -24px var(--sad); }
.svc-card h4, .svc-card .svc-card-title{
    font-family:'Montserrat',sans-serif; font-size:16px; color:#0d1b2a; margin:0 0 10px;
}
.svc-card p{ font-size:14.5px; line-height:1.65; color:#4a5875; margin:0; }
.svc-card ul{ list-style:none; margin:0; padding:0; }
.svc-card ul > li{
    position:relative; padding:5px 0 5px 22px; font-size:14.5px; line-height:1.55; color:#43506b;
}
.svc-card ul > li:before{
    content:""; position:absolute; left:0; top:13px; width:9px; height:9px; border-radius:3px;
    background:var(--sa); opacity:.75;
}
.svc-card--tint{ background:var(--sas); border-color:transparent; }
.svc-card--tint:before{ display:none; }
.svc-card--flat:before{ display:none; }
.svc-card--flat{ border-radius:10px; }
@media (max-width:767px){ .svc-cards, .svc-cards--3{ grid-template-columns:1fr; } }

/* Framed tinted block (soft section) */
.svc-frame{
    background:var(--sas); border-radius:20px; padding:32px 30px; margin-top:26px;
}
.svc-frame--outline{ background:#fff; border:2px solid var(--sas); box-shadow:inset 0 0 0 1px var(--line); }
.svc-frame .pm-panel-title{ color:var(--sad); }

/* Minor home modifications: examples beside an accessibility installation */
.home-minor-modification-layout{
    display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(280px, .8fr);
    align-items:stretch; gap:clamp(26px, 3vw, 44px);
}
.home-minor-modification-copy{ min-width:0; }
.home-minor-modification-image{
    align-self:center; margin:0; border-radius:18px; overflow:hidden;
    background:#fff; box-shadow:0 24px 50px -32px rgba(13,27,42,.5);
}
.home-minor-modification-image img{
    display:block; width:100%; height:clamp(280px, 25vw, 360px);
    object-fit:cover; object-position:center; transition:transform .6s ease;
}
.home-minor-modification-image:hover img{ transform:scale(1.025); }
@media (max-width:1199px){
    .home-minor-modification-layout{ grid-template-columns:1fr; }
    .home-minor-modification-image{ width:min(100%, 560px); justify-self:center; }
    .home-minor-modification-image img{ height:clamp(280px, 45vw, 400px); }
}
@media (prefers-reduced-motion:reduce){
    .home-minor-modification-image img{ transition:none; }
    .home-minor-modification-image:hover img{ transform:none; }
}

/* Home modification benefits: outcomes beside independent daily living */
.home-benefits-layout{
    display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(290px, .85fr);
    align-items:stretch; gap:clamp(28px, 3.5vw, 50px); margin-top:26px;
}
.home-benefits-layout .svc-defs{ align-self:center; margin-top:0; }
.home-benefits-layout .svc-defs .svc-def{ grid-template-columns:minmax(155px, 190px) 1fr; }
.home-benefits-image{
    align-self:center; margin:0; border-radius:18px; overflow:hidden;
    background:var(--mist); box-shadow:0 24px 50px -32px rgba(13,27,42,.5);
}
.home-benefits-image img{
    display:block; width:100%; height:clamp(270px, 24vw, 350px);
    object-fit:cover; object-position:center; transition:transform .6s ease;
}
.home-benefits-image:hover img{ transform:scale(1.025); }
@media (max-width:1199px){
    .home-benefits-layout{ grid-template-columns:1fr; }
    .home-benefits-image{ width:min(100%, 560px); justify-self:center; }
    .home-benefits-image img{ height:clamp(280px, 45vw, 400px); }
}
@media (max-width:575px){
    .home-benefits-layout .svc-defs .svc-def{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
    .home-benefits-image img{ transition:none; }
    .home-benefits-image:hover img{ transform:none; }
}

/* Arrow list */
.svc-list-arrow{ list-style:none; margin:22px 0 0; padding:0; }
.svc-list-arrow > li{
    position:relative; padding:10px 0 10px 34px; font-size:15px; line-height:1.6; color:#43506b;
    border-bottom:1px dashed var(--line);
}
.svc-list-arrow > li:last-child{ border-bottom:0; }
.svc-list-arrow > li:before{
    content:"\2794"; position:absolute; left:2px; top:9px; color:var(--sa); font-size:15px;
}

/* Numbered pill list */
.svc-list-num{ list-style:none; counter-reset:svcnum; margin:22px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px 26px; }
.svc-list-num--1col{ grid-template-columns:1fr; }
.svc-list-num > li{
    counter-increment:svcnum; position:relative; padding:6px 0 6px 44px; font-size:15px; line-height:1.6; color:#43506b;
}
.svc-list-num > li:before{
    content:counter(svcnum, decimal-leading-zero); position:absolute; left:0; top:8px;
    font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; color:var(--sad);
    background:var(--sas); border-radius:8px; padding:3px 7px;
}
@media (max-width:575px){ .svc-list-num{ grid-template-columns:1fr; } }

/* Recreation services: equipment support beside an adaptive trial */
.recreation-services-layout{
    display:grid; grid-template-columns:minmax(0, 1.12fr) minmax(290px, .88fr);
    align-items:stretch; gap:clamp(28px, 3.5vw, 50px); margin-top:22px;
}
.recreation-services-layout .svc-list-num{
    grid-template-columns:1fr; align-self:center; margin-top:0;
}
.recreation-services-image{
    align-self:center; margin:0; border-radius:18px; overflow:hidden;
    background:var(--mist); box-shadow:0 24px 50px -32px rgba(13,27,42,.5);
}
.recreation-services-image img{
    display:block; width:100%; height:clamp(290px, 25vw, 370px);
    object-fit:cover; object-position:center; transition:transform .6s ease;
}
.recreation-services-image:hover img{ transform:scale(1.025); }
@media (max-width:1199px){
    .recreation-services-layout{ grid-template-columns:1fr; }
    .recreation-services-image{ width:min(100%, 560px); justify-self:center; }
    .recreation-services-image img{ height:clamp(280px, 45vw, 400px); }
}
@media (prefers-reduced-motion:reduce){
    .recreation-services-image img{ transition:none; }
    .recreation-services-image:hover img{ transform:none; }
}

/* Vision support: ongoing asset services beside equipment maintenance */
.vision-support-layout{
    display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(300px, .92fr);
    align-items:stretch; gap:clamp(30px, 3.5vw, 52px); margin-top:36px;
    padding:clamp(24px, 2.5vw, 34px); border:1px solid var(--line);
    border-radius:20px; background:linear-gradient(135deg, #fff 0%, var(--sas) 100%);
}
.vision-support-copy{ align-self:center; min-width:0; }
.vision-support-copy .svc-list-arrow{ margin-top:20px; }
.vision-support-image{
    align-self:center; margin:0; border-radius:16px; overflow:hidden;
    background:#fff; box-shadow:0 24px 50px -32px rgba(13,27,42,.55);
}
.vision-support-image img{
    display:block; width:100%; height:clamp(290px, 24vw, 360px);
    object-fit:cover; object-position:center; transition:transform .6s ease;
}
.vision-support-image:hover img{ transform:scale(1.025); }
@media (max-width:1199px){
    .vision-support-layout{ grid-template-columns:1fr; }
    .vision-support-image{ width:min(100%, 560px); justify-self:center; }
    .vision-support-image img{ height:clamp(280px, 45vw, 400px); }
}
@media (prefers-reduced-motion:reduce){
    .vision-support-image img{ transition:none; }
    .vision-support-image:hover img{ transform:none; }
}

/* Community nursing eligibility: guidance beside an in-home consultation */
.nursing-eligibility-layout{
    display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(300px, .9fr);
    align-items:stretch; gap:clamp(30px, 3.5vw, 52px); margin-top:24px;
}
.nursing-eligibility-copy{ align-self:center; min-width:0; }
.nursing-eligibility-copy > p:first-child{ margin-top:0; }
.nursing-eligibility-copy > p:last-child{ margin-bottom:0; }
.nursing-eligibility-image{
    align-self:center; margin:0; border-radius:18px; overflow:hidden;
    background:var(--mist); box-shadow:0 24px 50px -32px rgba(13,27,42,.55);
}
.nursing-eligibility-image img{
    display:block; width:100%; height:clamp(290px, 25vw, 370px);
    object-fit:cover; object-position:center; transition:transform .6s ease;
}
.nursing-eligibility-image:hover img{ transform:scale(1.025); }
@media (max-width:1199px){
    .nursing-eligibility-layout{ grid-template-columns:1fr; }
    .nursing-eligibility-image{ width:min(100%, 560px); justify-self:center; }
    .nursing-eligibility-image img{ height:clamp(280px, 45vw, 400px); }
}
@media (prefers-reduced-motion:reduce){
    .nursing-eligibility-image img{ transition:none; }
    .nursing-eligibility-image:hover img{ transform:none; }
}

/* Specialised hearing eligibility: criteria beside a premium consultation */
.hearing-support-layout{
    display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(310px, .92fr);
    align-items:stretch; gap:clamp(32px, 3.8vw, 56px); margin-top:24px;
}
.hearing-support-copy{ align-self:center; min-width:0; }
.hearing-support-copy > p:first-child{ margin-top:0; }
.hearing-support-image{
    align-self:center; margin:0; border-radius:18px; overflow:hidden;
    border:1px solid rgba(0,137,196,.14); background:var(--mist);
    box-shadow:0 28px 58px -34px rgba(13,27,42,.62);
}
.hearing-support-image img{
    display:block; width:100%; height:clamp(300px, 26vw, 390px);
    object-fit:cover; object-position:center; transition:transform .6s ease;
}
.hearing-support-image:hover img{ transform:scale(1.025); }
@media (max-width:1199px){
    .hearing-support-layout{ grid-template-columns:1fr; }
    .hearing-support-image{ width:min(100%, 560px); justify-self:center; }
    .hearing-support-image img{ height:clamp(290px, 46vw, 410px); }
}
@media (prefers-reduced-motion:reduce){
    .hearing-support-image img{ transition:none; }
    .hearing-support-image:hover img{ transform:none; }
}

/* Household tasks difference: service promise beside a maintained home */
.household-difference-layout{
    display:grid; grid-template-columns:minmax(0, 1.12fr) minmax(300px, .88fr);
    align-items:center; gap:clamp(30px, 3.8vw, 56px); margin-top:24px;
}
.household-difference-copy{ min-width:0; }
.household-difference-copy p{ font-size:16.5px; line-height:1.75; }
.household-difference-copy > p:first-child{ margin-top:0; }
.household-difference-copy > p:last-child{ margin-bottom:0; }
.household-difference-image{
    margin:0; border-radius:18px; overflow:hidden; background:var(--mist);
    box-shadow:0 24px 50px -32px rgba(13,27,42,.55);
}
.household-difference-image img{
    display:block; width:100%; height:clamp(350px, 28vw, 430px);
    object-fit:cover; object-position:center; transition:transform .6s ease;
}
.household-difference-image:hover img{ transform:scale(1.025); }
@media (max-width:1199px){
    .household-difference-layout{ grid-template-columns:1fr; }
    .household-difference-image{ width:min(100%, 647px); justify-self:center; }
    .household-difference-image img{ height:clamp(350px, 65vw, 430px); aspect-ratio:auto; }
}
@media (prefers-reduced-motion:reduce){
    .household-difference-image img{ transition:none; }
    .household-difference-image:hover img{ transform:none; }
}

/* Flow — numbered process as connected mini-cards */
.svc-flow{ list-style:none; counter-reset:svcflow; margin:28px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.svc-flow > li{
    counter-increment:svcflow; position:relative; background:#fff; border:1px solid var(--line);
    border-radius:14px; padding:22px 20px 20px 66px; transition:border-color .3s ease, box-shadow .3s ease;
}
.svc-flow > li:hover{ border-color:var(--sa); box-shadow:0 18px 36px -22px var(--sad); }
.svc-flow > li:before{
    content:counter(svcflow); position:absolute; left:18px; top:20px; width:34px; height:34px;
    border-radius:50%; background:var(--sag); color:#fff; font-family:'Montserrat',sans-serif;
    font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center;
}
.svc-flow b{ display:block; font-family:'Montserrat',sans-serif; color:#0d1b2a; font-size:15px; margin-bottom:4px; }
.svc-flow span{ font-size:14px; color:#4a5875; line-height:1.6; display:block; }
@media (max-width:575px){ .svc-flow{ grid-template-columns:1fr; } }

/* Accommodation process: stacked steps beside an inclusive housing image */
.accommodation-process-layout{
    display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(270px, .92fr);
    align-items:stretch; gap:clamp(24px, 3vw, 42px); margin-top:28px;
}
.accommodation-process-layout .svc-flow{
    grid-template-columns:1fr; align-content:start; margin-top:0;
}
.accommodation-process-image{
    min-height:0; align-self:center; margin:0; border-radius:18px; overflow:hidden;
    background:var(--mist); box-shadow:0 24px 50px -32px rgba(13,27,42,.5);
}
.accommodation-process-image img{
    display:block; width:100%; height:auto; min-height:0; aspect-ratio:1/1;
    object-fit:cover; object-position:center; transition:transform .6s ease;
}
.accommodation-process-image:hover img{ transform:scale(1.025); }
@media (max-width:767px){
    .accommodation-process-layout{ grid-template-columns:1fr; }
    .accommodation-process-image{ min-height:0; }
    .accommodation-process-image img{ height:auto; min-height:0; aspect-ratio:1/1; }
}
@media (prefers-reduced-motion:reduce){
    .accommodation-process-image img{ transition:none; }
    .accommodation-process-image:hover img{ transform:none; }
}

/* Rail timeline — thick accent rail with floating cards */
.svc-rail{ list-style:none; counter-reset:svcrail; margin:28px 0 0; padding:0 0 0 26px; border-left:4px solid var(--sas); }
.svc-rail > li{ counter-increment:svcrail; position:relative; padding:0 0 26px 22px; }
.svc-rail > li:last-child{ padding-bottom:0; }
.svc-rail > li:before{
    content:""; position:absolute; left:-38px; top:4px; width:20px; height:20px; border-radius:50%;
    background:#fff; border:5px solid var(--sa);
}
.svc-rail > li:after{
    content:"Step " counter(svcrail); display:block; font-family:'Montserrat',sans-serif; font-size:11px;
    letter-spacing:.16em; text-transform:uppercase; color:var(--sa); position:absolute; left:22px; top:-16px;
}
.svc-rail b{ display:block; font-family:'Montserrat',sans-serif; color:#0d1b2a; font-size:16px; margin-bottom:4px; }
.svc-rail span{ font-size:15px; color:#43506b; line-height:1.6; }

/* Zigzag panels — alternating tint/white bands */
.svc-zig{ margin-top:26px; }
.svc-zig .svc-zig-item{ border-radius:16px; padding:28px 28px 24px; margin-bottom:16px; background:#fff; border:1px solid var(--line); }
.svc-zig .svc-zig-item:nth-child(odd){ background:var(--sas); border-color:transparent; }
.svc-zig .svc-zig-item > .pm-panel-title{ color:var(--sad); }

/* Quotes */
.svc-quote{ position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; padding:30px 28px 24px; margin-top:22px; }
.svc-quote:before{
    content:"\201C"; position:absolute; top:-24px; left:22px; font-family:Georgia,serif; font-size:88px;
    line-height:1; color:var(--sa); opacity:.85;
}
.svc-quote p{ font-style:italic; color:#43506b; }
.svc-quote p:last-child{ margin-bottom:0; }
.svc-quote--bar{ border:0; border-left:5px solid var(--sa); border-radius:0 14px 14px 0; background:var(--sas); }
.svc-quote--bar:before{ display:none; }
.svc-quote-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px; }
.svc-quote-grid .svc-quote{ margin-top:8px; }
@media (max-width:767px){ .svc-quote-grid{ grid-template-columns:1fr; } }

/* Accordion variant (FAQ) — left bar + plus marker */
.svc-acc{ margin-top:28px; }
.svc-acc-item{
    border:0; border-left:4px solid var(--line); background:#fff; margin-bottom:10px;
    transition:border-color .25s ease, background .25s ease;
}
.svc-acc-item > summary{
    list-style:none; cursor:pointer; padding:16px 44px 16px 18px; position:relative;
    font-family:'Montserrat',sans-serif; font-size:15px; color:#0d1b2a;
}
.svc-acc-item > summary::-webkit-details-marker{ display:none; }
.svc-acc-item > summary::marker{ content:""; }
.svc-acc-item > summary:after{
    content:"+"; position:absolute; right:14px; top:50%; transform:translateY(-50%);
    font-size:22px; font-weight:300; color:var(--sa); transition:transform .25s ease;
}
.svc-acc-item[open]{ border-left-color:var(--sa); background:var(--sas); }
.svc-acc-item[open] > summary{ color:var(--sad); }
.svc-acc-item[open] > summary:after{ transform:translateY(-50%) rotate(45deg); }
.svc-acc-item .svc-acc-a{ padding:0 18px 18px; font-size:14.5px; line-height:1.7; color:#4a5875; margin:0; }

/* Ribbon heading — small underline title style */
.svc-ribbon{ display:inline-block; background:var(--sag); color:#fff; font-family:'Montserrat',sans-serif;
    font-size:12px; letter-spacing:.18em; text-transform:uppercase; padding:7px 16px; border-radius:6px; margin-bottom:16px; }

/* CTA variants */
.svc-cta{ border-radius:20px; padding:38px 36px; display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap; }
.svc-cta h3{ font-family:'Montserrat',sans-serif; font-size:25px; margin:0 0 7px; }
.svc-cta p{ margin:0; font-size:15px; max-width:36em; }
.svc-cta--dark{ background:#0d1b2a; position:relative; overflow:hidden; }
.svc-cta--dark:before{
    content:""; position:absolute; right:-90px; top:-120px; width:340px; height:340px; border-radius:50%;
    background:radial-gradient(circle, var(--sa) 0%, transparent 65%); opacity:.4;
}
.svc-cta--dark h3{ color:#fff!important; }
.svc-cta--dark p{ color:rgba(255,255,255,.78); }
.svc-cta--outline{ background:#fff; border:2px solid var(--sa); }
.svc-cta--outline h3{ color:var(--sad)!important; }
.svc-cta--outline p{ color:#43506b; }
.svc-cta--soft{ background:var(--sas); }
.svc-cta--soft h3{ color:var(--sad)!important; }
.svc-cta--soft p{ color:#43506b; }
.svc-cta .pm-btn{ position:relative; z-index:1; }
.svc-cta--outline .pm-btn-primary, .svc-cta--soft .pm-btn-primary{ background:var(--sa); color:#fff; }

/* Contact re-skin helper */
.svc .pm-contact{ border-top:4px solid var(--sa); }
.svc .pm-locations > li{ background:var(--sas); color:var(--sad); }

/* Definition rows — bold term / description rows */
.svc-defs{ margin-top:26px; }
.svc-defs .svc-def{
    display:grid; grid-template-columns:230px 1fr; gap:8px 26px; padding:16px 0; border-bottom:1px solid var(--line);
}
.svc-defs .svc-def:first-child{ border-top:1px solid var(--line); }
.svc-defs .svc-def b{ font-family:'Montserrat',sans-serif; color:var(--sad); font-size:14.5px; line-height:1.5; }
.svc-defs .svc-def span{ font-size:14.5px; color:#4a5875; line-height:1.65; }
@media (max-width:575px){ .svc-defs .svc-def{ grid-template-columns:1fr; } }

/* Personal care difference: benefits beside an assistive-safety assessment */
.personal-care-difference-layout{
    display:grid; grid-template-columns:minmax(0, 1.18fr) minmax(300px, .82fr);
    align-items:stretch; gap:clamp(28px, 3.5vw, 52px); margin-top:26px;
}
.personal-care-difference-layout .svc-defs{ align-self:center; margin-top:0; }
.personal-care-difference-layout .svc-def{
    grid-template-columns:minmax(150px, 190px) 1fr;
}
.personal-care-difference-image{
    align-self:center; margin:0; border-radius:18px; overflow:hidden;
    background:var(--mist); box-shadow:0 24px 50px -32px rgba(13,27,42,.5);
}
.personal-care-difference-image img{
    display:block; width:100%; height:clamp(280px, 26vw, 380px); aspect-ratio:auto;
    object-fit:cover; object-position:center; transition:transform .6s ease;
}
.personal-care-difference-image:hover img{ transform:scale(1.025); }
@media (max-width:1199px){
    .personal-care-difference-layout{ grid-template-columns:1fr; }
    .personal-care-difference-image{ width:min(100%, 560px); justify-self:center; }
    .personal-care-difference-image img{ height:clamp(280px, 45vw, 400px); }
}
@media (max-width:575px){
    .personal-care-difference-layout .svc-def{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
    .personal-care-difference-image img{ transition:none; }
    .personal-care-difference-image:hover img{ transform:none; }
}

/* Stat / chip row */
.svc-chip-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.svc-chip-row .svc-chip{
    background:var(--sas); color:var(--sad); border:1px solid transparent; border-radius:999px;
    padding:8px 16px; font-size:13.5px; font-weight:600;
}

@media (max-width:991px){
    .svc-hero{ padding:64px 0 58px; }
    .svc-hero--angle{ padding-bottom:96px; }
    .svc-hero-panel{ margin-top:34px; }
    .svc-chapter .svc-chapter-num{ font-size:44px; }
}
@media (prefers-reduced-motion: reduce){
    .svc-card, .svc-flow > li, .svc-acc-item, .svc-acc-item > summary:after{ transition:none; }
    .svc-card:hover{ transform:none; }
}
