        :root{
            --primary: #FF3131;
            --primary-dark: #E12727;
            --navy: #1B3A6F;
            --navy-dark: #102A56;
            --blue: #4C84E8;
            --blue-soft: #EEF5FF;
            --green: #24C38A;
            --text: #1F2937;
            --muted: #6B7280;
            --white: #FFFFFF;
            --bg: #F8FAFC;
            --border: #E5EAF2;
            --shadow: 0 18px 45px rgba(16,42,86,.12);
            --page-width: 1480px;
            --header-height: 86px;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            min-width: 320px;
            overflow-x: hidden;
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            color: var(--text);
            background: var(--bg);
            line-height: 1.6;
        }

        body.menu-open {
            overflow: hidden;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        img {
            display: block;
            max-width: 100%;
        }

        button,
        input,
        textarea {
            font: inherit;
        }

        .container {
            width: min(100% - 64px, var(--page-width));
            margin-inline: auto;
        }

        .section {
            padding: clamp(70px, 7vw, 110px) 0;
        }

        .section-head {
            max-width: 780px;
            margin: 0 auto 48px;
            text-align: center;
        }

        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 12px;
            color: var(--blue);
            font-size: .8rem;
            font-weight: 800;
            letter-spacing: .14em;
            text-transform: uppercase;
        }

        .eyebrow::before,
        .eyebrow::after {
            content: "";
            width: 34px;
            height: 1px;
            background: #bcd2ef;
        }

        .section-title {
            margin-bottom: 14px;
            color: var(--navy-dark);
            font-size: clamp(2rem, 4vw, 3.4rem);
            line-height: 1.08;
            letter-spacing: -.04em;
        }

        .section-text {
            color: var(--muted);
            font-size: 1.03rem;
        }

        .btn {
            display: inline-flex;
            min-height: 52px;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 13px 24px;
            border: 1px solid transparent;
            border-radius: 12px;
            font-weight: 800;
            cursor: pointer;
            transition:
                transform .2s ease,
                box-shadow .2s ease,
                background .2s ease,
                color .2s ease;
        }

        .btn:hover {
            transform: translateY(-2px);
        }

        .btn-primary {
            color: #fff;
            background: var(--primary);
            box-shadow: 0 12px 28px rgba(8, 47, 99, .2);
        }

        .btn-primary:hover{
            background: var(--primary-dark);
        }

        .btn-outline {
            color: var(--navy);
            border-color: var(--navy);
            background: rgba(255, 255, 255, .9);
        }

        .btn-white {
            color: var(--navy-dark);
            background: #fff;
        }

        .btn-outline-white {
            color: #fff;
            border-color: rgba(255, 255, 255, .7);
            background: rgba(255, 255, 255, .08);
        }

        /* HEADER */

        .header {
            position: sticky;
            top: 0;
            z-index: 1000;
            width: 100%;
            background: #fff;
            box-shadow: 0 4px 20px rgba(8, 47, 99, .06);
        }

        .nav {
            min-height: var(--header-height);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 28px;
        }

        .brand {
            display: flex;
            flex: 0 0 auto;
            align-items: center;
            gap: 12px;
        }

        .brand-icon {
            width: 60px;
            height: 60px;
            display: grid;
            place-items: center;
            border-radius: 14px;
            color: #fff;
            background: var(--primary);
        }

        .brand-icon svg {
            width: 25px;
            height: 25px;
        }

        .brand-copy strong {
            display: block;
            color: var(--navy-dark);
            font-size: 1rem;
        }

        .brand-copy span {
            display: block;
            color: var(--muted);
            font-size: .7rem;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .nav-right {
            min-width: 0;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 26px;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: clamp(16px, 1.8vw, 30px);
        }

        .nav-link {
            position: relative;
            padding: 12px 0;
            color: #172944;
            font-size: .9rem;
            font-weight: 750;
            white-space: nowrap;
        }

        .nav-link::after {
            content: "";
            position: absolute;
            right: 0;
            bottom: 5px;
            left: 0;
            height: 2px;
            background: var(--primary);
            transform: scaleX(0);
            transition: transform .2s ease;
        }

        .nav-link:hover::after,
        .nav-link.active::after {
            transform: scaleX(1);
        }

        .nav-actions {
            display: flex;
            flex: 0 0 auto;
            gap: 12px;
        }

        .nav-actions .btn {
            min-height: 46px;
            padding: 10px 18px;
            white-space: nowrap;
        }

        .menu-btn {
            width: 48px;
            height: 48px;
            display: none;
            flex: 0 0 auto;
            padding: 11px;
            border: 1px solid var(--border);
            border-radius: 12px;
            background: #fff;
            cursor: pointer;
        }

        .menu-btn span {
            display: block;
            width: 100%;
            height: 2px;
            margin: 5px 0;
            border-radius: 999px;
            background: var(--navy-dark);
            transition: transform .2s ease, opacity .2s ease;
        }

        .menu-btn.is-open span:nth-child(1) {
            transform: translateY(7px) rotate(45deg);
        }

        .menu-btn.is-open span:nth-child(2) {
            opacity: 0;
        }

        .menu-btn.is-open span:nth-child(3) {
            transform: translateY(-7px) rotate(-45deg);
        }

        .mobile-menu {
            display: none;
        }

        /* HERO PLEINE LARGEUR */

        .hero-wrap {
            position: relative;
            width: 100%;
            padding-bottom: 92px;
            background: linear-gradient(#fff 0 74%, var(--bg) 74%);
        }

        .hero {
            position: relative;
            width: 100%;
            min-height: clamp(540px, calc(82vh - var(--header-height)), 680px);
            overflow: visible;
            background-image: url("../images/hero-assurance.png");
            background-position: center right;
            background-repeat: no-repeat;
            background-size: cover;
        }

        .hero-inner {
            width: min(100% - 64px, var(--page-width));
            min-height: inherit;
            display: flex;
            align-items: center;
            margin-inline: auto;
            padding: 46px 0 145px;
        }

        .hero-copy {
            width: min(100%, 600px);
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            padding: 8px 14px;
            border: 1px solid #d9e4f1;
            border-radius: 999px;
            box-shadow: 0 8px 22px rgba(8, 47, 99, .08);
            font-size: .76rem;
            font-weight: 900;
            letter-spacing: .1em;
            text-transform: uppercase;
            border-color:#FFD4D4;
            color:var(--primary);
            background:#FFF8F8;
        }

        .hero-badge i {
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--green);
            box-shadow: 0 0 0 5px rgba(47, 199, 155, .14);
        }

        .hero h1 {
            max-width: 650px;
            margin: 22px 0 20px;
            color: var(--navy-dark);
            font-size: clamp(2.9rem, 5vw, 4.9rem);
            line-height: .98;
            letter-spacing: -.05em;
            text-wrap: balance;
        }

        .hero h1 span{
            color:var(--primary);
        }

        .hero-description {
            max-width: 570px;
            color: #40546f;
            font-size: clamp(.98rem, 1.05vw, 1.08rem);
            line-height: 1.65;
        }

        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            margin-top: 30px;
        }

        .hero-points {
            display: flex;
            flex-wrap: wrap;
            gap: 14px 26px;
            margin-top: 30px;
        }

        .hero-point {
            display: flex;
            align-items: center;
            gap: 9px;
            color: #32445c;
            font-size: .88rem;
            font-weight: 700;
        }

        .hero-point b {
            color:var(--primary);
            font-size: 1rem;
        }

        .hero-cards-shell {
            position: absolute;
            right: 0;
            bottom: -62px;
            left: 0;
            z-index: 5;
        }

        .hero-cards {
            width: min(100% - 64px, 1320px);
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 22px;
            margin-inline: auto;
        }

        .hero-card {
            min-height: 142px;
            display: flex;
            align-items: flex-start;
            gap: 18px;
            padding: 24px;
            border: 1px solid rgba(8, 47, 99, .06);
            border-radius: 20px;
            background: #fff;
            box-shadow: 0 22px 55px rgba(8, 47, 99, .16);
        }

        .hero-card-icon {
            width: 54px;
            height: 54px;
            display: grid;
            flex: 0 0 auto;
            place-items: center;
            border-radius: 15px;
            background:#FFF2F2;
            color:var(--primary);
        }

        .hero-card-icon svg {
            width: 25px;
            height: 25px;
        }

        .hero-card h3 {
            margin-bottom: 7px;
            color: var(--navy-dark);
            font-size: 1rem;
        }

        .hero-card p {
            color: var(--muted);
            font-size: .9rem;
        }

        /* AUTRES SECTIONS */

        .solutions {
            padding-top: 112px;
        }

        .solution-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 24px;
        }

        .solution-card {
            overflow: hidden;
            border: 1px solid var(--border);
            border-radius: 22px;
            background: #fff;
            box-shadow: 0 10px 30px rgba(8, 47, 99, .07);
            transition: transform .25s ease, box-shadow .25s ease;
        }

        .solution-card:hover {
            transform: translateY(-8px);
            box-shadow: var(--shadow);
        }

        .solution-img {
            height: 240px;
            overflow: hidden;
        }

        .solution-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .solution-body {
            padding: 26px;
        }

        .solution-body small {
            color: var(--blue);
            font-weight: 900;
            letter-spacing: .1em;
            text-transform: uppercase;
        }

        .solution-body h3 {
            margin: 9px 0;
            color: var(--navy-dark);
            font-size: 1.4rem;
        }

        .solution-body p {
            margin-bottom: 18px;
            color: var(--muted);
        }

        .learn {
            color: var(--navy);
            font-weight: 850;
        }

        .about {
            background: #fff;
        }

        .about-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            align-items: center;
            gap: clamp(40px, 6vw, 90px);
        }

        .about-media {
            position: relative;
        }

        .about-media img {
            width: 100%;
            height: clamp(400px, 42vw, 580px);
            object-fit: cover;
            border-radius: 26px;
        }

        .about-stat {
            position: absolute;
            right: -18px;
            bottom: 30px;
            padding: 20px 24px;
            border: 1px solid var(--border);
            border-radius: 18px;
            background: #fff;
            box-shadow: var(--shadow);
        }

        .about-stat strong {
            display: block;
            color: var(--navy);
            font-size: 2rem;
        }

        .about-list {
            display: grid;
            gap: 14px;
            margin: 26px 0 30px;
        }

        .about-item {
            display: flex;
            gap: 12px;
            color: #33445c;
            font-weight: 650;
        }

        .about-item span {
            width: 24px;
            height: 24px;
            display: grid;
            flex: 0 0 auto;
            place-items: center;
            border-radius: 50%;
            color: var(--green);
            background: #eaf8f4;
        }

        .process {
            color: #fff;
            background: var(--navy-dark);
        }

        .process .section-title,
        .process .eyebrow {
            color: #fff;
        }

        .process .section-text {
            color: rgba(255, 255, 255, .68);
        }

        .process-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 22px;
        }

        .step {
            padding: 20px;
            text-align: center;
        }

        .step-num {
            width: 72px;
            height: 72px;
            display: grid;
            place-items: center;
            margin: 0 auto 18px;
            border: 7px solid rgba(255, 255, 255, .12);
            border-radius: 50%;
            color: var(--navy-dark);
            background: #fff;
            font-weight: 900;
        }

        .step h3 {
            margin-bottom: 8px;
            font-size: 1.05rem;
        }

        .step p {
            color: rgba(255, 255, 255, .65);
            font-size: .9rem;
        }

        .claim-card {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: 1.15fr .85fr;
            align-items: center;
            gap: 30px;
            padding: clamp(42px, 5vw, 76px);
            border-radius: 30px;
            color: #fff;
            background: linear-gradient(135deg, var(--navy-dark), #0d4a88);
        }

        .claim-card::after {
            content: "";
            position: absolute;
            top: -150px;
            right: -180px;
            width: 420px;
            height: 420px;
            border-radius: 50%;
            background: rgba(255, 255, 255, .05);
        }

        .claim-card h2 {
            margin-bottom: 16px;
            font-size: clamp(2rem, 4vw, 3.2rem);
            line-height: 1.08;
        }

        .claim-card p {
            margin-bottom: 28px;
            color: rgba(255, 255, 255, .72);
        }

        .claim-visual {
            position: relative;
            z-index: 2;
        }

        .claim-visual img {
            width: 100%;
            height: 340px;
            object-fit: cover;
            border-radius: 22px;
        }

        .contact {
            background: #fff;
        }

        .contact-grid {
            display: grid;
            grid-template-columns: .9fr 1.1fr;
            gap: 50px;
        }

        .contact-panel {
            padding: 40px;
            border-radius: 24px;
            color: #fff;
            background: var(--navy-dark);
        }

        .contact-panel p {
            margin: 15px 0 25px;
            color: rgba(255, 255, 255, .68);
        }

        .contact-list {
            display: grid;
            gap: 18px;
        }

        .contact-item {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .contact-form {
            padding: 36px;
            border: 1px solid var(--border);
            border-radius: 24px;
            background: #fff;
            box-shadow: 0 10px 30px rgba(8, 47, 99, .06);
        }

        .form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
        }

        .field {
            display: grid;
            gap: 8px;
        }

        .field.full {
            grid-column: 1 / -1;
        }

        label {
            color: var(--navy-dark);
            font-weight: 750;
        }

        input,
        textarea {
            width: 100%;
            padding: 14px 15px;
            border: 1px solid var(--border);
            border-radius: 12px;
            outline: none;
            background: #fbfdff;
        }

        input:focus,
        textarea:focus{
            border-color:var(--primary);
            box-shadow:0 0 0 4px rgba(255,49,49,.12);
        }

        textarea {
            min-height: 140px;
            resize: vertical;
        }

        footer {
            color: rgba(255, 255, 255, .7);
            background: #04172f;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.3fr .8fr .8fr 1fr;
            gap: 40px;
            padding: 65px 0;
        }

        .footer-title {
            margin-bottom: 16px;
            color: #fff;
        }

        .footer-links {
            display: grid;
            gap: 10px;
        }

        .footer-bottom {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            padding: 22px 0;
            border-top: 1px solid rgba(255, 255, 255, .08);
            font-size: .82rem;
        }

        /* TABLETTE */

        @media (max-width: 1180px) {
            .container,
            .hero-inner {
                width: min(100% - 40px, var(--page-width));
            }

            .nav-links,
            .nav-actions {
                display: none;
            }

            .menu-btn {
                display: block;
            }

            .mobile-menu {
                position: fixed;
                top: var(--header-height);
                right: 0;
                bottom: 0;
                left: 0;
                z-index: 999;
                display: block;
                padding: 22px 20px 40px;
                background: rgba(4, 23, 47, .42);
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transition: opacity .2s ease, visibility .2s ease;
            }

            .mobile-menu.is-open {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
            }

            .mobile-menu__panel {
                width: min(100%, 520px);
                max-height: calc(100vh - var(--header-height) - 40px);
                overflow-y: auto;
                margin-left: auto;
                padding: 22px;
                border-radius: 20px;
                background: #fff;
                box-shadow: var(--shadow);
                transform: translateY(-12px);
                transition: transform .2s ease;
            }

            .mobile-menu.is-open .mobile-menu__panel {
                transform: translateY(0);
            }

            .mobile-menu__links {
                display: grid;
                gap: 5px;
            }

            .mobile-menu__links a {
                padding: 14px;
                border-radius: 11px;
                color: var(--navy-dark);
                font-weight: 750;
            }

            .mobile-menu__links a:hover {
                background: var(--blue-soft);
            }

            .mobile-menu__actions {
                display: grid;
                gap: 12px;
                margin-top: 20px;
                padding-top: 20px;
                border-top: 1px solid var(--border);
            }

            .mobile-menu__actions .btn {
                width: 100%;
            }

            .hero {
                min-height: 610px;
                background-position: 66% center;
            }

            .hero-inner {
                padding-bottom: 145px;
            }

            .hero-copy {
                width: min(100%, 570px);
            }

            .hero h1 {
                font-size: clamp(2.8rem, 6vw, 4.3rem);
            }

            .hero-cards {
                width: min(100% - 40px, 1080px);
            }

            .solution-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .process-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .about-grid,
            .claim-card,
            .contact-grid {
                grid-template-columns: 1fr;
            }

            .footer-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        /* TÉLÉPHONE */

        @media (max-width: 720px) {
            :root {
                --header-height: 74px;
            }

            .container,
            .hero-inner {
                width: min(100% - 24px, var(--page-width));
            }

            .nav {
                min-height: var(--header-height);
            }

            .brand-icon {
                width: 44px;
                height: 44px;
                border-radius: 12px;
            }

            .brand-copy strong {
                font-size: .92rem;
            }

            .brand-copy span {
                display: none;
            }

            .menu-btn {
                width: 44px;
                height: 44px;
            }

            .hero-wrap {
                padding-bottom: 0;
                background: var(--bg);
            }

            .hero {
                min-height: auto;
                background:
                    linear-gradient(
                        180deg,
                        rgba(255,255,255,.98) 0%,
                        rgba(255,255,255,.95) 45%,
                        rgba(255,255,255,.78) 68%,
                        rgba(255,255,255,.38) 100%
                    ),
                    url("{{ asset('images/hero-assurance.avif') }}");
                background-position: 68% center;
                background-size: cover;
            }

            .hero-inner {
                min-height: 590px;
                align-items: flex-start;
                padding: 38px 0 205px;
            }

            .hero-copy {
                width: 100%;
            }

            .hero-badge {
                max-width: 100%;
                font-size: .66rem;
                letter-spacing: .07em;
            }

            .hero h1 {
                margin-top: 18px;
                font-size: clamp(2.35rem, 12vw, 3.45rem);
                line-height: 1;
            }

            .hero-description {
                max-width: 100%;
                font-size: .98rem;
            }

            .hero-actions {
                display: grid;
                grid-template-columns: 1fr;
            }

            .hero-actions .btn {
                width: 100%;
            }

            .hero-points {
                display: grid;
                gap: 10px;
            }

            .hero-cards-shell {
                position: relative;
                bottom: auto;
                margin-top: -165px;
                padding-bottom: 24px;
            }

            .hero-cards {
                width: min(100% - 24px, 520px);
                grid-template-columns: 1fr;
                gap: 14px;
            }

            .hero-card {
                min-height: auto;
                padding: 20px;
            }

            .hero-card-icon {
                width: 48px;
                height: 48px;
            }

            .solutions {
                padding-top: 62px;
            }

            .solution-grid,
            .process-grid,
            .form-grid,
            .footer-grid {
                grid-template-columns: 1fr;
            }

            .solution-img {
                height: 210px;
            }

            .about-media img {
                height: 360px;
            }

            .about-stat {
                right: 12px;
                bottom: 12px;
            }

            .claim-card {
                padding: 34px 20px;
                border-radius: 22px;
            }

            .claim-visual img {
                height: 240px;
            }

            .contact-panel,
            .contact-form {
                padding: 26px 20px;
            }

            .field.full {
                grid-column: auto;
            }

            .footer-bottom {
                flex-direction: column;
            }
        }

        @media (max-width: 420px) {
            .brand-copy strong {
                max-width: 170px;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .hero h1 {
                font-size: 2.45rem;
            }

            .hero-inner {
                padding-bottom: 220px;
            }

            .hero-cards-shell {
                margin-top: -180px;
            }
        }

        .auth-page{min-height:100vh;background:radial-gradient(circle at top left,rgba(255,49,49,.08),transparent 28%),linear-gradient(180deg,#f8fafc 0%,#eef3f9 100%)}
        .auth-section{min-height:calc(100vh - var(--header-height));display:flex;align-items:center;justify-content:center;padding:clamp(40px,6vw,88px) 20px}
        .auth-card{width:min(100%,560px);padding:42px;border:1px solid rgba(16,42,86,.10);border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 26px 70px rgba(16,42,86,.12),0 8px 24px rgba(16,42,86,.06)}
        .auth-card--large{width:min(100%,980px)}
        .auth-card__header{margin-bottom:30px}
        .auth-card__eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--primary);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
        .auth-card__eyebrow::before{content:"";width:26px;height:2px;border-radius:999px;background:var(--primary)}
        .auth-card__header h1{margin:0 0 10px;color:var(--navy-dark);font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em}
        .auth-card__header p{max-width:620px;color:var(--muted);font-size:1rem;line-height:1.65}
        .auth-form{display:grid;gap:22px}
        .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
        .form-group{display:grid;gap:9px}
        .form-group--full{grid-column:1/-1}
        .form-group label{color:var(--navy-dark);font-size:.9rem;font-weight:800}
        .form-group input,.form-group textarea{width:100%;min-height:54px;padding:14px 16px;border:1px solid #d9e3ef;border-radius:14px;outline:none;background:#f8fbff;color:var(--text);font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
        .form-group textarea{min-height:130px;resize:vertical}
        .form-group input:focus,.form-group textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(255,49,49,.10),0 10px 24px rgba(16,42,86,.06)}
        .form-group small{color:var(--muted);font-size:.8rem}
        .checkbox-row{display:flex;align-items:flex-start;gap:11px;color:var(--muted);font-size:.9rem;line-height:1.55;cursor:pointer}
        .checkbox-row input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--primary)}
        .button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:0;border-radius:14px;font:inherit;font-weight:900;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
        .button:hover{transform:translateY(-2px)}
        .button--primary{color:#fff;background:linear-gradient(135deg,var(--primary),#ff5656);box-shadow:0 16px 30px rgba(255,49,49,.24)}
        .button--primary:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary))}
        .button--full{width:100%}
        .auth-card__footer{margin-top:28px;padding-top:24px;border-top:1px solid var(--border);text-align:center}
        .auth-card__footer p{margin-bottom:6px;color:var(--muted)}
        .auth-card__footer a{color:var(--primary);font-weight:900}
        .alert{margin-bottom:22px;padding:15px 17px;border-radius:14px;font-size:.9rem}
        .alert ul{margin:9px 0 0 20px}
        .alert--danger{border:1px solid #ffc5c5;background:#fff3f3;color:#a32020}
        .alert--success{border:1px solid #b8eadc;background:#eefbf7;color:#167154}
        @media(max-width:900px){.auth-card--large{width:min(100%,760px)}.form-grid{grid-template-columns:1fr}.form-group--full{grid-column:auto}}
        @media(max-width:620px){.auth-section{min-height:auto;align-items:flex-start;padding:28px 12px 42px}.auth-card,.auth-card--large{width:100%;padding:28px 20px;border-radius:22px}.auth-card__header h1{font-size:2rem}.auth-form{gap:18px}.form-grid{gap:16px}.form-group input,.form-group textarea{min-height:52px;border-radius:12px}.button{min-height:52px;border-radius:12px}}
        
        .process {
            color: var(--text);
            background: #f7f9fc;
        }

        .process .section-title {
            color: var(--navy-dark);
        }

        .process .eyebrow {
            color: var(--primary);
        }

        .process .section-text,
        .step p {
            color: var(--muted);
        }

        .step-num {
            color: #fff;
            border-color: #ffe0e0;
            background: var(--primary);
        }

        .claim-card {
            color: var(--text);
            border: 1px solid var(--border);
            background:
                linear-gradient(135deg, #fff 0%, #f8fafc 70%, #fff1f1 100%);
            box-shadow: var(--shadow);
        }

        .claim-card h2 {
            color: var(--navy-dark);
        }

        .claim-card p {
            color: var(--muted);
        }

        .claim-card .btn-white {
            color: #fff;
            background: var(--primary);
        }

        .claim-card .btn-outline-white {
            color: var(--navy-dark);
            border-color: var(--navy-dark);
            background: transparent;
        }

        .claim-card .eyebrow {
            color: var(--primary) !important;
        }

        .insurance-page-hero {
            padding: clamp(70px, 8vw, 120px) 0;
            background:
                linear-gradient(135deg, #fff 0%, #f7f9fc 60%, #fff4f4 100%);
        }

        .insurance-page-hero__inner {
            display: grid;
            grid-template-columns: 1fr 1fr;
            align-items: center;
            gap: clamp(40px, 6vw, 90px);
        }

        .insurance-page-hero__copy h1 {
            max-width: 700px;
            margin: 12px 0 20px;
            color: var(--navy-dark);
            font-size: clamp(2.7rem, 5vw, 5rem);
            line-height: .98;
            letter-spacing: -.05em;
        }

        .insurance-page-hero__copy p {
            max-width: 620px;
            color: var(--muted);
            font-size: 1.05rem;
            line-height: 1.75;
        }

        .insurance-page-hero__actions {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            margin-top: 28px;
        }

        .insurance-page-hero__visual img {
            width: 100%;
            height: clamp(360px, 40vw, 560px);
            object-fit: cover;
            border-radius: 28px;
            box-shadow: var(--shadow);
        }

        .insurance-page-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            color: var(--primary);
            font-size: .78rem;
            font-weight: 900;
            letter-spacing: .13em;
            text-transform: uppercase;
        }

        .insurance-page-eyebrow::before {
            content: "";
            width: 28px;
            height: 2px;
            border-radius: 999px;
            background: currentColor;
        }

        .insurance-detail {
            padding: clamp(80px, 8vw, 125px) 0;
            background: #fff;
        }

        .insurance-detail--soft {
            background: #f8fafc;
        }

        .insurance-detail__grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            align-items: center;
            gap: clamp(40px, 6vw, 90px);
        }

        .insurance-detail__grid--reverse .insurance-detail__visual {
            order: 2;
        }

        .insurance-detail__grid--reverse .insurance-detail__content {
            order: 1;
        }

        .insurance-detail__visual img {
            width: 100%;
            height: clamp(360px, 38vw, 520px);
            object-fit: cover;
            border-radius: 26px;
            box-shadow: 0 18px 50px rgba(16, 42, 86, .10);
        }

        .insurance-detail__content {
            position: relative;
        }

        .insurance-detail__number {
            display: block;
            margin-bottom: 14px;
            color: rgba(255, 49, 49, .12);
            font-size: clamp(4rem, 8vw, 7rem);
            font-weight: 900;
            line-height: .8;
        }

        .insurance-detail__content h2 {
            max-width: 680px;
            margin: 14px 0 18px;
            color: var(--navy-dark);
            font-size: clamp(2rem, 4vw, 3.4rem);
            line-height: 1.08;
            letter-spacing: -.04em;
        }

        .insurance-detail__content > p {
            max-width: 650px;
            color: var(--muted);
            line-height: 1.75;
        }

        .insurance-detail__list {
            display: grid;
            gap: 14px;
            margin: 28px 0 32px;
        }

        .insurance-detail__list div {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            color: #33445c;
            font-weight: 650;
        }

        .insurance-detail__list span {
            width: 25px;
            height: 25px;
            display: grid;
            flex: 0 0 auto;
            place-items: center;
            border-radius: 50%;
            color: var(--primary);
            background: #fff0f0;
            font-weight: 900;
        }

        .insurance-final-cta {
            padding: 40px 0 100px;
            background: #fff;
        }

        .insurance-final-cta__card {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 30px;
            padding: clamp(36px, 5vw, 68px);
            border-radius: 28px;
            color: #fff;
            background:
                linear-gradient(135deg, var(--navy-dark), #183f78);
        }

        .insurance-final-cta__card h2 {
            margin: 12px 0 10px;
            font-size: clamp(2rem, 4vw, 3.2rem);
            line-height: 1.08;
        }

        .insurance-final-cta__card p {
            max-width: 660px;
            color: rgba(255, 255, 255, .74);
        }

        .insurance-page-eyebrow--light {
            color: #ffd1d1;
        }

        @media (max-width: 900px) {
            .insurance-page-hero__inner,
            .insurance-detail__grid {
                grid-template-columns: 1fr;
            }

            .insurance-detail__grid--reverse .insurance-detail__visual,
            .insurance-detail__grid--reverse .insurance-detail__content {
                order: initial;
            }

            .insurance-final-cta__card {
                align-items: flex-start;
                flex-direction: column;
            }
        }

        @media (max-width: 620px) {
            .insurance-page-hero {
                padding: 48px 0 64px;
            }

            .insurance-page-hero__copy h1 {
                font-size: 2.65rem;
            }

            .insurance-page-hero__actions {
                display: grid;
            }

            .insurance-page-hero__actions .btn {
                width: 100%;
            }

            .insurance-page-hero__visual img,
            .insurance-detail__visual img {
                height: 300px;
                border-radius: 20px;
            }

            .insurance-detail {
                padding: 68px 0;
            }

            .insurance-final-cta {
                padding-bottom: 70px;
            }

            .insurance-final-cta__card {
                border-radius: 22px;
            }
        }
