/* ── Hero ── */
        .service-hero {
            background: #1e293b; position: relative; overflow: hidden;
            min-height: 88vh; display: flex; flex-direction: column; justify-content: center;
        }
        .hero-bg {
            position: absolute; inset: 0;
            background-image: url('../asset/Images/Mortality-management.webp');
            background-size: cover; background-position: center 25%; opacity: .09;
        }
        .hero-grid {
            position: absolute; inset: 0;
            background-image: linear-gradient(rgba(201,168,76,.04) 1px,transparent 1px),
                              linear-gradient(90deg,rgba(201,168,76,.04) 1px,transparent 1px);
            background-size: 56px 56px;
        }
        .hero-gradient {
            position: absolute; inset: 0;
            background: linear-gradient(140deg,#1e293b 0%,rgba(12,20,30,.15) 55%,#1e293b 100%);
        }
        .hero-accent-line {
            position: absolute; left: 0; top: 0; bottom: 0; width: 5px;
            background: linear-gradient(180deg,transparent 0%,#d4af37 30%,#d4af37 70%,transparent 100%);
        }
        .hero-float {
            position: absolute; right: 4%; top: 50%; transform: translateY(-50%);
            font-family: 'Cormorant Garamond',serif;
            font-size: clamp(6rem,18vw,20rem); font-weight: 300;
            color: rgba(212,175,55,.04); line-height: 1; user-select: none; pointer-events: none;
        }
        .hero-glow {
            position: absolute; right: -8%; top: -15%;
            width: 55vw; height: 55vw; border-radius: 50%;
            background: radial-gradient(circle,rgba(212,175,55,.05) 0%,transparent 70%);
            pointer-events: none;
        }

        /* ── Shared atoms ── */
        .section-label {
            display: inline-flex; align-items: center; gap: .5rem;
            font-size: .68rem; font-weight: 700; letter-spacing: .25em;
            text-transform: uppercase; color: #d4af37;
        }
        .section-label::before { content:''; width:2rem; height:2px; background:#d4af37; }

        .animated-underline { position: relative; display: inline-block; }
        .animated-underline::after {
            content:''; position:absolute; bottom:-4px; left:0; width:100%; height:2px;
            background:linear-gradient(90deg,#d4af37,#e8c97a);
            transform:scaleX(0); transform-origin:left;
            transition:transform .4s cubic-bezier(.34,1.56,.64,1);
        }
        .animated-underline:hover::after { transform:scaleX(1); }

        /* ── Reveal ── */
        .reveal      { opacity:0; transform:translateY(28px); transition:opacity .65s,transform .65s; }
        .reveal.visible { opacity:1; transform:none; }
        .reveal-left { opacity:0; transform:translateX(-28px); transition:opacity .65s,transform .65s; }
        .reveal-left.visible { opacity:1; transform:none; }
        .reveal-right{ opacity:0; transform:translateX(28px); transition:opacity .65s,transform .65s; }
        .reveal-right.visible{ opacity:1; transform:none; }

        /* ── Scroll dot ── */
        .scroll-indicator {
            position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
            display:flex; flex-direction:column; align-items:center; gap:.5rem;
        }
        .scroll-dot {
            width:1px; height:50px; background:linear-gradient(180deg,#d4af37,transparent);
            animation:scrollDot 2s ease-in-out infinite;
        }
        @keyframes scrollDot { 0%,100%{opacity:.3;transform:scaleY(1)} 50%{opacity:1;transform:scaleY(1.2)} }

        /* ── Marquee ── */
        .marquee-wrap { overflow:hidden; }
        .marquee-track { display:flex; animation:marquee 34s linear infinite; }
        @keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

        /* ── Tabs ── */
        .s-tab {
            cursor:pointer; border-bottom:3px solid transparent;
            transition:all .3s; padding:.9rem 1.4rem;
            font-weight:600; font-size:.82rem;
            text-transform:uppercase; letter-spacing:.07em; color:#64748b; white-space:nowrap;
        }
        .s-tab:hover { color:#1e293b; }
        .s-tab.active { border-bottom-color:#d4af37; color:#d4af37; }
        .s-panel { display:none; }
        .s-panel.active { display:grid; }

        /* ── Feature card ── */
        .f-card {
            position:relative; overflow:hidden;
            transition:transform .3s,box-shadow .3s,border-color .3s;
            border-bottom:3px solid transparent;
        }
        .f-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(201,168,76,.13); border-bottom-color:#d4af37; }
        .f-icon {
            width:3rem; height:3rem; background:linear-gradient(135deg,#1e293b,#162030);
            border-radius:.75rem; display:flex; align-items:center; justify-content:center;
            margin-bottom:1rem; transition:transform .3s; flex-shrink:0;
        }
        .f-card:hover .f-icon { transform:rotate(-6deg) scale(1.1); }

        /* ── Risk spectrum card ── */
        .spectrum-card {
            position:relative; overflow:hidden;
            transition:transform .3s, box-shadow .3s, border-color .3s;
            border-left: 4px solid transparent;
        }
        .spectrum-card:hover { transform:translateX(4px); }
        .spectrum-card.mortality { border-left-color:#1e293b; }
        .spectrum-card.longevity { border-left-color:#d4af37; }

        /* ── Coverage card ── */
        .cov-card {
            position:relative; overflow:hidden;
            transition:transform .3s, box-shadow .3s;
            border-top: 3px solid transparent;
        }
        .cov-card:hover { transform:translateY(-5px); box-shadow:0 22px 55px rgba(0,0,0,.10); border-top-color:#d4af37; }

        /* ── Needs calculator visual ── */
        .need-bar-wrap { height:8px; background:#e2e8f0; border-radius:9999px; overflow:hidden; }
        .need-bar { height:100%; border-radius:9999px; background:linear-gradient(90deg,#d4af37,#e8c97a); transition:width 1.2s ease; }

        /* ── Process step ── */
        .p-step {
            position:relative; overflow:hidden; transition:all .35s; cursor:default;
            border-left:3px solid transparent;
        }
        .p-step:hover { border-left-color:#d4af37; background:#f8fafc !important; }
        .p-step:hover .p-title { color:#d4af37; }
        .p-num {
            font-family:'Cormorant Garamond',serif; font-size:2.5rem;
            font-weight:600; line-height:1; color:rgba(212,175,55,.25); flex-shrink:0;
        }

        /* ── Package card ── */
        .pkg-card {
            position:relative; overflow:hidden;
            transition:transform .4s,box-shadow .4s; border:2px solid transparent;
        }
        .pkg-card:hover { transform:translateY(-6px); box-shadow:0 28px 70px rgba(0,0,0,.12); }
        .pkg-card.featured { border-color:#d4af37; }
        .pkg-card.featured::before {
            content:'Most Popular'; position:absolute; top:1.25rem; right:-2rem;
            background:#d4af37; color:#1e293b; font-size:.6rem; font-weight:700;
            letter-spacing:.15em; text-transform:uppercase; padding:.3rem 3.5rem;
            transform:rotate(35deg);
        }
        .pkg-check { display:flex; align-items:flex-start; gap:.65rem; }
        .pkg-check::before {
            content:''; width:1rem; height:1rem; flex-shrink:0; margin-top:.15rem;
            background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4af37' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
            background-repeat:no-repeat; background-size:contain;
        }

        /* ── Diff card ── */
        .diff-card { transition:all .3s; border:1px solid rgba(255,255,255,.08); }
        .diff-card:hover { border-color:rgba(212,175,55,.4); background:rgba(255,255,255,.06) !important; }

        /* ── FAQ ── */
        .faq-item { border-bottom:1px solid #e2e8f0; }
        .faq-q {
            width:100%; text-align:left; display:flex; justify-content:space-between;
            align-items:center; padding:1.2rem 0; cursor:pointer; transition:color .3s;
            font-weight:600; color:#1e293b; gap:1rem;
        }
        .faq-q:hover { color:#d4af37; }
        .faq-a { max-height:0; overflow:hidden; transition:max-height .4s ease,padding .4s; }
        .faq-a.open { max-height:420px; padding-bottom:1.1rem; }
        .faq-ico { transition:transform .3s; flex-shrink:0; }
        .faq-ico.open { transform:rotate(45deg); }

        /* ── CTA ── */
        .cta-wrap { background:#1e293b; position:relative; overflow:hidden; }
        .cta-wrap::before {
            content:''; position:absolute; inset:0;
            background:radial-gradient(ellipse at 20% 50%,rgba(201,168,76,.10) 0%,transparent 60%);
        }
        .cta-pattern {
            position:absolute; inset:0;
            background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c9a84c' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }

        /* ── Side CTA ── */
        .side-cta {
            position:fixed; right:0; top:50%; transform:translateY(-50%) rotate(180deg);
            writing-mode:vertical-rl; background:#d4af37; color:#1e293b;
            padding:1.2rem .6rem; font-size:.68rem; font-weight:700; letter-spacing:.15em;
            text-transform:uppercase; z-index:40; transition:background .3s;
            border-radius:0 0 6px 6px; text-decoration:none;
        }
        .side-cta:hover { background:#1e293b; color:#d4af37; }

        /* ── Section numbers ── */
        .sec-num {
            position:absolute; right:1rem; top:1.5rem;
            font-family:'Cormorant Garamond',serif;
            font-size:clamp(6rem,12vw,10rem); font-weight:700; line-height:1;
            user-select:none; pointer-events:none; color:#f1f5f9;
        }
        .sec-num-dark {
            position:absolute; right:1rem; top:1.5rem;
            font-family:'Cormorant Garamond',serif;
            font-size:clamp(6rem,12vw,10rem); font-weight:700; line-height:1;
            user-select:none; pointer-events:none; color:rgba(255,255,255,.03);
        }

        /* ── Pill badge ── */
        .ml-badge {
            display:inline-flex; align-items:center; gap:.4rem;
            padding:.35rem .85rem;
            background:rgba(212,175,55,.08); border:1px solid rgba(212,175,55,.2);
            border-radius:9999px; font-size:.72rem; font-weight:600;
            color:#d4af37; white-space:nowrap;
        }

        /* ── Risk type pill ── */
        .risk-pill {
            display:inline-block; font-size:.65rem; font-weight:700;
            padding:.2rem .7rem; border-radius:9999px; letter-spacing:.05em;
            text-transform:uppercase;
        }
        .risk-pill.m { background:rgba(30,41,59,.1); color:#1e293b; }
        .risk-pill.l { background:rgba(212,175,55,.15); color:#b8951f; }

        /* ── Insurance type card ── */
        .ins-card {
            position:relative; overflow:hidden;
            border:2px solid transparent;
            transition:transform .3s, box-shadow .3s, border-color .3s;
        }
        .ins-card:hover { transform:translateY(-4px); box-shadow:0 20px 50px rgba(0,0,0,.1); border-color:rgba(212,175,55,.3); }
        .ins-card.recommended { border-color:#d4af37; }

        /* mobile */
        #mobile-services-panel.open { display:flex; }
        .hero-stat { border-right:1px solid rgba(255,255,255,.1); }
        .hero-stat:last-child { border-right:none; }
        @media (max-width:767px) { .hero-float { display:none; } }