/* —— Service page: brand-led, scan-friendly —— */

.service-page .breadcrumb {
    padding:0;
    margin:0 0 20px;
    font-size:13px;
    line-height:1.5;
}
.breadcrumb ol {
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:6px 8px;
    margin:0;
    padding:0;
}
.breadcrumb li {
    display:flex;
    align-items:center;
    gap:8px;
}
.breadcrumb a {
    display:inline-flex;
    align-items:center;
    min-height:40px;
    color:#d7deea;
    text-decoration:none;
    font-weight:650;
}
.breadcrumb a:hover {
    color:var(--yellow);
    text-decoration:underline;
    text-decoration-color:var(--yellow);
}
.breadcrumb-separator { color:#7d8aa3; }
.breadcrumb [aria-current] {
    color:#aeb8c9;
    font-weight:600;
}

/* Hero */
.service-hero {
    position:relative;
    overflow:hidden;
    background:linear-gradient(165deg,var(--navy-soft) 0%,var(--navy) 48%,var(--navy-dark) 100%);
    color:var(--white);
}
.service-hero-glow {
    position:absolute;
    inset:0;
    background:
        radial-gradient(720px 320px at 92% 0%,#f5b30140,transparent 55%),
        radial-gradient(520px 280px at 0% 80%,#ffffff12,transparent 50%);
    pointer-events:none;
}
.service-hero-grid {
    position:relative;
    display:grid;
    gap:28px;
    padding-top:28px;
    padding-bottom:36px;
}
.service-hero-kicker {
    color:var(--yellow);
    margin-bottom:14px;
}
.service-hero-kicker::before {
    background:var(--yellow);
}
.service-hero h1 {
    margin:0;
    max-width:18ch;
    color:var(--white);
    font-size:clamp(1.9rem,5vw,3.15rem);
    line-height:1.12;
    letter-spacing:-.02em;
}
.service-hero-lead {
    margin:18px 0 0;
    max-width:58ch;
    font-size:clamp(1.02rem,2.4vw,1.15rem);
    line-height:1.65;
    color:#f3f6fb;
    font-weight:500;
}
.service-hero-lead a {
    color:var(--yellow);
    font-weight:700;
    text-decoration-color:#f5b30188;
}
.service-hero .hero-actions {
    margin-top:26px;
}
.service-intro {
    padding-block:28px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
}
.service-intro-inner {
    max-width:72ch;
}
@media(min-width:768px) {
    .service-intro {
        padding-block:32px;
    }
}
.service-intro-inner p {
    margin:0;
    font-size:16px;
    line-height:1.75;
    color:var(--ink);
}
.service-intro-inner p+p {
    margin-top:16px;
}
.service-intro-inner a {
    color:var(--navy);
    font-weight:700;
    text-decoration-color:var(--amber);
}
.service-hero .hero-actions .button-email {
    color:var(--white);
    border-color:#6a7690;
    background:#ffffff10;
}
.service-hero .hero-actions .button-email:hover {
    background:#ffffff1c;
    border-color:#9aa6bf;
}

.service-cover {
    align-self:stretch;
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:22px 20px 20px;
    border-radius:20px;
    background:linear-gradient(180deg,#fffdf8,#fff6e4);
    color:var(--navy);
    border:1px solid #f0c75a;
    box-shadow:0 22px 40px -28px #00000088;
}
.service-cover-label {
    margin:0;
    font-size:11px;
    font-weight:750;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--yellow-ink);
}
.service-cover-list {
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:8px;
}
.service-cover-list li {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:48px;
    padding:10px 12px;
    border-radius:12px;
    background:var(--white);
    border:1px solid #efe4c8;
    font-size:14px;
    font-weight:700;
    line-height:1.35;
}
.service-cover-list .icon {
    width:18px;
    height:18px;
    flex:none;
    color:var(--amber);
    stroke-width:2.6;
}
.service-cover-call {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    margin-top:4px;
    padding:0 16px;
    border-radius:999px;
    background:linear-gradient(180deg,var(--yellow-bright),var(--yellow));
    color:var(--navy);
    font-weight:750;
    text-decoration:none;
    border:1px solid var(--amber);
}
.service-cover-call:hover {
    text-decoration:none;
    filter:brightness(1.03);
}
.service-cover-call .icon {
    width:18px;
    height:18px;
}

/* Shared bands */
.service-page .section,
.service-page .cta-section {
    padding-block:36px;
}
.service-band-head {
    max-width:720px;
    margin-bottom:20px;
}
.service-band-head .section-kicker {
    margin-bottom:12px;
}
.service-band-head h2 {
    margin:0 0 14px;
    color:var(--navy);
}
.service-band-lead,
.service-band-copy {
    margin:0;
    color:var(--muted);
    font-size:16px;
    line-height:1.75;
}
.service-band-copy p+p { margin-top:12px; }

/* Offer cards */
.service-band-cards {
    background:
        linear-gradient(180deg,transparent,#fffdfa 10%,#fffdfa 90%,transparent),
        var(--paper);
}
.service-offer-grid {
    display:grid;
    gap:14px;
}
.service-offer {
    position:relative;
    display:grid;
    gap:10px;
    padding:22px 20px 24px;
    border-radius:18px;
    background:var(--white);
    border:1px solid var(--line);
    box-shadow:var(--shadow-soft);
    transition:transform 160ms var(--ease),border-color 160ms ease,box-shadow 160ms ease;
}
.service-offer::before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    border-radius:18px 0 0 18px;
    background:linear-gradient(180deg,var(--yellow),var(--amber));
}
.service-offer h3 {
    margin:0;
    font-size:1.05rem;
    line-height:1.3;
    color:var(--navy);
}
.service-offer h3 a {
    color:inherit;
    text-decoration:none;
}
.service-offer h3 a:hover {
    color:var(--yellow-ink);
    text-decoration:underline;
    text-decoration-color:var(--yellow);
}
.service-offer p {
    margin:0;
    font-size:14px;
    line-height:1.6;
    color:var(--muted);
}
.service-offer-go {
    position:absolute;
    top:18px;
    right:16px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:#fff4d4;
    color:var(--navy);
}
.service-offer-go .icon {
    width:16px;
    height:16px;
}
.service-offer.is-live {
    background:linear-gradient(155deg,var(--navy-soft),var(--navy-dark));
    border-color:transparent;
    color:var(--white);
}
.service-offer.is-live::before { display:none; }
.service-offer.is-live h3,
.service-offer.is-live h3 a { color:var(--white); }
.service-offer.is-live p { color:#d5dce8; }
.service-offer.is-live .service-offer-go {
    background:#ffffff18;
    color:var(--yellow);
}
@media(hover:hover) and (pointer:fine) {
    .service-offer:not(.is-live):hover {
        transform:translateY(-3px);
        border-color:#e2c36a;
        box-shadow:0 16px 32px -22px #1b2a4a55;
    }
}

/* Benefits */
.service-band-list {
    background:
        radial-gradient(700px 280px at 8% 0%,#f5b30126,transparent 60%),
        linear-gradient(180deg,#e9edf4,var(--paper-deep));
    border-block:1px solid var(--line);
}
.service-benefit-grid {
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:12px;
}
.service-benefit-grid li {
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:18px 18px 20px;
    border-radius:16px;
    background:var(--white);
    border:1px solid #ffffffaa;
    box-shadow:var(--shadow-soft);
}
.service-benefit-icon {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    flex:none;
    border-radius:12px;
    background:linear-gradient(160deg,var(--yellow),var(--amber));
    color:var(--navy);
    box-shadow:0 5px 0 #1b2a4a18;
}
.service-benefit-icon .icon {
    width:20px;
    height:20px;
    stroke-width:2.5;
}
.service-benefit-grid strong {
    display:block;
    margin-bottom:4px;
    font-size:15px;
    color:var(--navy);
}
.service-benefit-grid span {
    font-size:14px;
    line-height:1.65;
    color:var(--muted);
}

/* Text pair */
.service-band-text {
    background:var(--paper);
}
.service-text-grid {
    display:grid;
    gap:14px;
}
.service-text-card {
    padding:26px 22px 28px;
    border-radius:20px;
    background:var(--white);
    border:1px solid var(--line);
    box-shadow:var(--shadow-soft);
}
.service-text-card .section-kicker { margin-bottom:12px; }
.service-text-card h2 {
    margin:0 0 14px;
    font-size:clamp(1.25rem,2.5vw,1.55rem);
    color:var(--navy);
}
.service-text-card .prose {
    color:var(--muted);
    font-size:15px;
    line-height:1.75;
}
.service-text-card .prose p { margin:0; }
.service-text-card .prose p+p { margin-top:12px; }

/* Prices */
.service-band-table {
    background:
        radial-gradient(600px 260px at 100% 0%,#f5b30122,transparent 55%),
        var(--paper);
}
.service-price-panel {
    display:grid;
    gap:0;
    overflow:hidden;
    border-radius:22px;
    background:var(--white);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
}
.service-price-table {
    width:100%;
    border-collapse:collapse;
    text-align:left;
    font-size:15px;
    line-height:1.55;
}
.service-price-table caption {
    caption-side:top;
    text-align:left;
    padding:16px 18px;
    font-size:13px;
    color:var(--muted);
    background:var(--paper);
    border-bottom:1px solid var(--line);
}
.service-price-table thead {
    background:var(--navy);
    color:var(--white);
}
.service-price-table th,
.service-price-table td {
    padding:16px 14px;
    vertical-align:top;
}
.service-price-table thead th {
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.service-price-table tbody tr+tr {
    border-top:1px solid #ebe6db;
}
.service-price-table tbody th {
    font-weight:700;
    color:var(--navy);
}
.service-price-amount {
    font-family:var(--heading);
    font-weight:750;
    font-size:1.15rem;
    color:var(--navy);
    white-space:nowrap;
}
.service-price-cta {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
    padding:18px 20px;
    background:linear-gradient(135deg,var(--navy-soft),var(--navy-dark));
}
.service-price-cta .button {
    width:100%;
    justify-content:center;
}

/* Steps */
.service-band-steps {
    background:linear-gradient(180deg,var(--paper),#fff9ec);
}
.service-steps {
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:12px;
    counter-reset:svc-step;
}
.service-steps li {
    position:relative;
    counter-increment:svc-step;
    padding:20px 18px 20px 72px;
    border-radius:18px;
    background:var(--white);
    border:1px solid var(--line);
    box-shadow:var(--shadow-soft);
    font-size:15px;
    line-height:1.7;
    color:var(--ink);
}
.service-steps li::before {
    content:counter(svc-step);
    position:absolute;
    left:16px;
    top:18px;
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:12px;
    background:linear-gradient(160deg,var(--yellow-bright),var(--yellow));
    border:1px solid var(--amber);
    font:750 1rem/1 var(--heading);
    color:var(--navy);
    box-shadow:0 4px 0 #1b2a4a18;
}
.service-steps a {
    color:var(--navy);
    font-weight:700;
    text-decoration-color:var(--amber);
}

/* FAQ + CTA polish on service pages */
.service-page .faq-section {
    background:
        radial-gradient(800px 300px at 90% 0%,#1b2a4a12,transparent 55%),
        linear-gradient(180deg,#f0ebe2,#e9e4d8);
}
.service-page h2 {
    scroll-margin-top:140px;
}
.service-page .faq-item {
    scroll-margin-top:140px;
}

/* Mobile price cards */
@media(max-width:699px) {
    .service-price-table thead { display:none; }
    .service-price-table,
    .service-price-table tbody,
    .service-price-table tr,
    .service-price-table th,
    .service-price-table td {
        display:block;
        width:100%;
    }
    .service-price-table caption {
        padding:14px 16px;
    }
    .service-price-table tbody tr {
        padding:16px 18px;
    }
    .service-price-table tbody tr+tr {
        border-top:1px solid #ebe6db;
    }
    .service-price-table tbody th {
        margin-bottom:6px;
        font-size:15px;
    }
    .service-price-amount {
        font-size:1.35rem;
        margin-bottom:4px;
    }
    .service-price-table tbody td:last-child {
        color:var(--muted);
        font-size:13px;
    }
}

@media(min-width:768px) {
    .service-hero-grid {
        grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);
        align-items:end;
        gap:40px;
        padding-top:36px;
        padding-bottom:44px;
    }
    .service-hero h1 {
        font-size:clamp(2.2rem,3.4vw,3.1rem);
    }
    .service-cover {
        padding:24px 22px 22px;
    }
    .service-page .section,
    .service-page .cta-section {
        padding-block:44px;
    }
    .service-band-head {
        margin-bottom:24px;
    }
    .service-offer-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:16px;
    }
    .service-benefit-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }
    .service-text-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }
    .service-text-card {
        padding:32px 28px 34px;
    }
    .service-price-table th,
    .service-price-table td {
        padding:20px 22px;
    }
    .service-price-amount { font-size:1.35rem; }
    .service-price-cta {
        padding:20px 24px;
    }
    .service-price-cta .button {
        width:auto;
    }
    .service-steps {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }
    .service-page .faq-layout {
        grid-template-columns:minmax(200px,.7fr) minmax(0,1.5fr);
        gap:40px;
        align-items:start;
    }
    .service-page .faq-layout>h2 {
        position:sticky;
        top:140px;
    }
}

@media(min-width:1100px) {
    .service-hero-grid {
        grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);
        gap:56px;
        padding-top:44px;
        padding-bottom:52px;
    }
    .service-offer-grid {
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .service-steps {
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .service-steps li {
        min-height:100%;
    }
    .service-text-card {
        padding:36px 32px 38px;
    }
}
