:root {
  --ink:#0F172A; --green:#15803D; --green2:#166534; --mint:#F0FDF4;
  --muted:#475569; --line:#E2E8F0; --white:#fff; --soft:#F7FAF8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}
button{font:inherit;cursor:pointer}
.container{width:min(1180px,92%);margin:auto}
.btn{border:0;background:var(--green);color:#fff;padding:15px 25px;border-radius:8px;font-weight:800;box-shadow:0 6px 16px rgba(21,128,61,.16)}
.btn:hover{background:var(--green2)}

.hero{min-height:650px;position:relative} /* photo de fond : hero-photo.css (.hero-photo) */
.hero .container{min-height:650px;display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:center;padding:55px 0}
.hero-copy{padding:15px 0}
.kicker{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--green);text-transform:uppercase}
h1,h2{font-family:Montserrat,Inter,Arial,sans-serif;letter-spacing:-1.5px}
h1{font-size:clamp(42px,5vw,64px);line-height:.98;margin:12px 0 18px}
h1 span,h2 span{color:var(--green)}
.subtitle{font-size:18px;line-height:1.55;color:var(--muted);max-width:570px}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0 22px;max-width:610px}
.benefit{text-align:center;padding:10px 8px;border-right:1px solid rgba(15,23,42,.12)}
.benefit:last-child{border-right:0}
.icon{font-size:27px;color:var(--green);margin-bottom:8px}
.benefit strong{display:block;font-size:15px;line-height:1.25}
.hero-meta{display:flex;align-items:center;gap:26px;margin-top:26px;flex-wrap:wrap}
.phone{font-size:21px;font-weight:800}
.stars{font-size:14px} .stars b{color:#F2B01E;font-size:18px;letter-spacing:1px}
.trust{display:flex;gap:25px;border-top:1px solid rgba(15,23,42,.12);padding-top:18px;margin-top:18px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.trust b{color:var(--ink)}

.formcard{
    background:#ffffff;
    border:1px solid rgba(226,232,240,.75);
    border-radius:24px;
    padding:32px;
    box-shadow:0 24px 60px rgba(15,23,42,.16);
    max-width:470px;
    margin-left:auto;
    backdrop-filter:blur(4px);
}
/* Titre de la carte du formulaire (h2 : ordre des titres correct après le H1).
   Les règles globales des h2 sont neutralisées pour garder le rendu. */
.formtop h2,
.formtop h3{
    font-family:inherit;
    line-height:inherit;
    text-wrap:wrap;
    margin:0;
    font-size:21px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:-0.4px;
    color:#0F172A;
}
.steps{
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:4px;
}

.step{
    width:30px;
    height:30px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#F1F5F9;
    color:#64748B;
    font-size:12px;
    font-weight:800;
    border:1px solid #E2E8F0;
    position:relative;
}

.step:not(:last-child)::after{
    content:"";
    position:absolute;
    width:6px;
    height:2px;
    background:#E2E8F0;
    right:-7px;
    top:50%;
    transform:translateY(-50%);
}

.step.active{
    background:var(--green);
    color:#fff;
    border-color:var(--green);
}
.question{font-size:18px;font-weight:800;margin:18px 0 14px}
.options{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.option{
    border:1px solid #D7DEE7;
    background:#FFFFFF;
    border-radius:14px;
    padding:14px 12px;
    text-align:center;
    font-weight:700;
    min-height:72px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    transition:all .2s ease;
    cursor:pointer;
}

.option:hover{
    border-color:var(--green);
    background:#F7FCF8;
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(15,23,42,.07);
}

.option.selected{
    border-color:var(--green);
    background:#F0FDF4;
    color:var(--green);
    box-shadow:0 8px 20px rgba(21,128,61,.10);
}
.option-icon{
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:7px;
    color:var(--green);
}

.option-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.option-icon-no{
    color:#64748B;
}
.formbtn{width:100%;margin-top:14px}
.formnote{
    font-size:12px;
    line-height:1.4;
    color:#64748B;
    text-align:center;
    margin:16px 0 0;
    padding:9px 12px;
    background:#F8FAF9;
    border:1px solid #E8EFEB;
    border-radius:10px;
}
.formnote-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:15px;
    height:15px;
    margin-right:5px;
    border:1.5px solid var(--green);
    border-radius:50%;
    color:var(--green);
    font-size:10px;
    font-weight:800;
    vertical-align:-1px;
}

.section{padding:82px 0}
.cae{background:#fff}
.caeg{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:center}
h2{font-size:46px;line-height:1.02;margin:10px 0 20px}
.body{font-size:16px;line-height:1.65;color:var(--muted)}
.compat{margin-top:20px;padding:16px 18px;background:var(--soft);border-left:3px solid var(--green);border-radius:8px;color:var(--muted);font-size:14px;line-height:1.55}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.process-card{text-align:center;padding:18px}
.num{width:42px;height:42px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;margin:0 auto 12px;font-weight:900}
.process-card h3{font-size:16px;margin:8px 0} .process-card p{font-size:14px;color:var(--muted);line-height:1.5;margin:0}

.faq{background:var(--soft)}
.faqgrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;align-items:start}
.faqintro h2{font-size:52px}
.faqintro p{font-size:17px;line-height:1.6;color:var(--muted)}
.contactbox{margin-top:25px;background:#ECFDF3;border-radius:14px;padding:22px}
.contact-options{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:12px;
}

.contact-options a{
    display:block;
}

.whatsapp-contact{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:0;
    color:#15803D;
    font-size:18px;
    font-weight:800;
}

.whatsapp-icon{
    width:26px;
    height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

.whatsapp-icon svg{
    width:100%;
    height:100%;
    display:block;
}

.whatsapp-icon svg path:first-child{
    fill:#25D366;
}

.whatsapp-icon .whatsapp-phone{
    fill:#fff;
}

.contactbox strong{display:block;font-size:16px;margin-bottom:7px} .contactbox a{color:var(--green);font-size:22px;font-weight:800;text-decoration:none}
details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:0 20px}
summary{list-style:none;cursor:pointer;padding:22px 0;font-size:16px;font-weight:700;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;flex:0 0 auto}
details[open] summary::after{content:'−'}
.answer{padding:0 0 20px;color:var(--muted);line-height:1.6;font-size:14px}

.final{padding:30px 0}
.finalbox{background:linear-gradient(135deg,#F0FDF4,#fff);border:1px solid #DDEFE2;border-radius:20px;padding:38px 45px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.finalbox h2{font-size:34px;margin:0 0 8px} .finalbox p{margin:0;color:var(--muted)}




/* === AISRENO V3 — requested form / process / coverage updates === */
.formhint{color:#64748B;font-size:13px;margin-bottom:4px}
.formscreen{
    background:#EEF7F0;
    border:1px solid #E1EEE4;
    border-radius:18px;
    padding:20px;
    margin-top:18px;
}

.formscreen .question{
    margin-top:0;
    margin-bottom:18px;
    font-size:18px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:-0.3px;
    color:#0F172A;
}
.formscreen .field{margin:0 0 13px}
.formscreen .field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.formscreen .field input{width:100%;border:1px solid #CBD5E1;border-radius:10px;padding:13px 12px;outline:none;font:inherit}
.formscreen .field input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(21,128,61,.08)}
.formscreen .optional{font-weight:500;color:#94A3B8}
.formscreen .consentline{font-size:12px;color:#64748B;line-height:1.45;margin:13px 0}
.formscreen .consentline input{accent-color:var(--green);margin-right:6px}
.formactions{display:flex;gap:10px;margin-top:13px}
.formactions .btn{width:100%}
.formback{border:0;background:#F8FAFC;color:#64748B;border-radius:9px;padding:12px 15px;cursor:pointer;font-weight:700}
.formexit{background:#FFF7F7;border:1px solid #FECACA;color:#7F1D1D;border-radius:12px;padding:17px;line-height:1.55;font-size:14px;margin-top:16px}
.formexit strong{display:block;margin-bottom:5px}
.formsuccess{background:#F0FDF4;border:1px solid #DDEFE2;color:#166534;border-radius:12px;padding:17px;line-height:1.55;font-size:14px;margin-top:16px}
.formsuccess strong{display:block;margin-bottom:5px}

.process-v2{display:block;align-self:stretch}
.process-heading .kicker{margin-bottom:8px}
.process-heading h3{font-family:Montserrat,sans-serif;font-size:42px;line-height:1.05;margin:0 0 10px;color:var(--ink)}
.process-heading p{color:var(--muted);font-size:16px;line-height:1.5;margin:0 0 25px;max-width:600px}
.process-track{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;margin:0 10px;position:relative}
.process-track:before{content:"";position:absolute;left:8%;right:8%;top:23px;height:2px;background:#A9D7B7;z-index:0}
.track-item{position:relative;display:flex;align-items:center;z-index:1}
.track-item:nth-child(2){justify-content:center}.track-item:nth-child(3){justify-content:flex-end}
.track-num{width:46px;height:46px;border-radius:50%;background:#E7F4EB;color:#11733A;display:grid;place-items:center;font-weight:900;font-size:17px;border:1px solid #CFE8D6;box-shadow:0 4px 12px rgba(21,128,61,.10)}
.process-cards-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
.process-card-v2{overflow:hidden;border:1px solid #E1EAE4;border-radius:18px;background:#fff;text-align:left;min-height:0;box-shadow:0 8px 25px rgba(15,23,42,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.process-card-v2:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,23,42,.10);border-color:#CFE8D6}
.process-card-featured{border-color:#B8DEC4;box-shadow:0 10px 28px rgba(21,128,61,.10)}
.process-photo-wrap{position:relative;height:190px;overflow:hidden;background:#EEF2F0}
.process-photo-wrap img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.process-card-v2:hover .process-photo-wrap img{transform:scale(1.04)}
.process-photo-number{position:absolute;left:16px;bottom:-1px;width:48px;height:48px;border-radius:50%;background:#fff;color:#15803D;display:grid;place-items:center;font-weight:900;font-size:16px;box-shadow:0 4px 12px rgba(15,23,42,.12);border:1px solid #DCE9DF}
.process-card-content{padding:23px 20px 22px}
.process-card-v2 h3{font-size:18px;line-height:1.18;margin:0 0 14px;color:#0F172A}
.process-card-v2 p{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 10px}
.process-card-v2 p:last-child{margin-bottom:0}
.process-icon{display:none}

.coverage-v2{background:#fff;position:relative;overflow:hidden;padding-top:88px;padding-bottom:55px}
.coverage-v2{
    position:relative;
}
.coverage-inner-v2{display:grid;grid-template-columns:1.03fr .97fr;gap:35px;align-items:center;position:relative;z-index:1}
.coverage-copy-v2{padding-left:20px}
.coverage-copy-v2 h2{font-size:49px;line-height:1.04;margin:9px 0 24px;letter-spacing:-1.2px}
.coverage-copy-v2 h2 span{color:var(--green)}
.coverage-copy-v2 p{max-width:640px;color:#52647E;font-size:16px;line-height:1.65;margin:0 0 16px}
.coverage-highlights{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:20px;margin:26px 0 27px;max-width:650px}
.coverage-highlight{display:flex;align-items:center;gap:16px}
.coverage-icon{width:62px;height:62px;border-radius:50%;background:#E9F6ED;color:#147A3E;display:grid;place-items:center;font-size:29px;flex:0 0 auto}
.coverage-highlight strong{font-family:Montserrat,sans-serif;font-size:17px;line-height:1.18;display:block}.coverage-highlight small{display:block;color:#64748B;margin-top:6px;font-size:13px}
.coverage-divider{height:58px;background:#D9E4DD}
.coverage-main-btn{width:100%;max-width:555px;font-size:16px;letter-spacing:.5px;padding:17px 20px}
.coverage-map-v2 {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 0;
    z-index: 1;
}
.map-stage-v2{width:min(100%,690px);aspect-ratio:715/650;position:relative;overflow:hidden;border-radius:16px}
.map-stage-v2 img{width:100%;height:100%;display:block;object-fit:cover}
.map-hotspot{position:absolute;width:52px;height:42px;border-radius:50%;cursor:pointer;z-index:4;background:rgba(21,128,61,0);outline:0}
.map-hotspot:hover{background:rgba(21,128,61,.12);box-shadow:0 0 0 6px rgba(21,128,61,.08)}
.map-hotspot.madrid{left:45%;top:37%}.map-hotspot.burgos{left:35%;top:26%}.map-hotspot.leon{left:31%;top:22%}.map-hotspot.salamanca{left:33%;top:34%}.map-hotspot.avila{left:42%;top:39%}.map-hotspot.soria{left:53%;top:33%}.map-hotspot.segovia{left:46%;top:36%}

@keyframes coveragePop{from{opacity:.7;transform:translateY(3px) scale(.98)}to{opacity:1;transform:none}}


/* =========================
   CARTE AISRENO
   ========================= */

#aisreno-map {
    width: 100%;
    height: 520px;
    border-radius: 22px;
    overflow: hidden;
    background: #f5f7f6;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

#aisreno-map .leaflet-control-zoom {
    border: none;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
}

#aisreno-map .leaflet-control-zoom a {
    color: #0F172A;
    background: #ffffff;
    border: none;
}

.aisreno-province {
    cursor: pointer;
    transition: fill 0.2s ease, stroke 0.2s ease;
}

.leaflet-tooltip.aisreno-tooltip {
    background: #ffffff;
    color: #0F172A;
    border: none;
    border-radius: 8px;
    padding: 7px 10px;
    font-weight: 700;
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.12);
}

/* =========================
   ANTES / DESPUÉS
   ========================= */

.before-after-section{
    padding:90px 0;
    background:#F7FAF8;
}


/* =========================
   TITRE
   ========================= */

.before-after-heading{
    max-width:850px;
    margin:0 auto 45px;
    text-align:center;
}

.before-after-heading .kicker{
    margin-bottom:12px;
}

.before-after-heading h2{
    margin:0;
    font-size:46px;
    line-height:1.08;
    letter-spacing:-1.5px;
    color:#0F172A;
}

.before-after-heading h2 span{
    color:#15803D;
}

.before-after-heading p{
    max-width:760px;
    margin:20px auto 0;
    color:#475569;
    font-size:18px;
    line-height:1.6;
}


/* =========================
   CONTENEUR AVANT / APRÈS
   ========================= */

.before-after{
    --before-after-position:50%;

    position:relative;

    width:100%;
    max-width:950px;

    height:520px;

    margin:0 auto;

    overflow:hidden;

    border-radius:24px;

    background:#ddd;

    box-shadow:
        0 20px 50px rgba(15,23,42,.12);

    user-select:none;

    touch-action:none;

    cursor:ew-resize;
}


/* =========================
   IMAGES
   ========================= */

.before-after-image{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    pointer-events:none;
}


/* IMAGE AVANT */

.before-image{
    z-index:1;
}


/* IMAGE APRÈS */

.after-image-wrapper{
    position:absolute;

    inset:0;

    z-index:2;

    overflow:hidden;

    clip-path:inset(
        0
        0
        0
        var(--before-after-position)
    );
}

.after-image{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
}


/* =========================
   LABELS
   ========================= */

.before-after-label{
    position:absolute;

    top:20px;

    z-index:5;

    padding:10px 16px;

    border-radius:999px;

    color:#fff;

    font-size:14px;

    font-weight:800;

    letter-spacing:.3px;

    pointer-events:none;
}


/* ANTES */

.label-before{
    left:20px;

    background:#B45309;
}


/* DESPUÉS */

.label-after{
    right:20px;

    background:#15803D;
}


/* =========================
   LIGNE CENTRALE
   ========================= */

.before-after-divider{
    position:absolute;

    top:0;
    bottom:0;

    left:var(--before-after-position);

    z-index:10;

    width:3px;

    background:#fff;

    transform:translateX(-50%);

    box-shadow:
        0 0 0 1px rgba(15,23,42,.05);

    pointer-events:none;
}


/* =========================
   BOUTON / CURSEUR
   ========================= */

.before-after-handle{
    position:absolute;

    top:50%;
    left:50%;

    width:62px;
    height:62px;

    transform:translate(-50%,-50%);

    border:0;

    border-radius:50%;

    background:#fff;

    color:#15803D;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:2px;

    font-size:25px;

    font-weight:700;

    box-shadow:
        0 5px 20px rgba(15,23,42,.20);

    cursor:ew-resize;

    pointer-events:auto;

    padding:0;
}

.before-after-handle span{
    line-height:1;
}

.before-after-handle:hover{
    transform:translate(-50%,-50%) scale(1.05);
}


/* =========================
   ACCESSIBILITÉ
   ========================= */

.before-after-handle:focus-visible{
    outline:3px solid rgba(21,128,61,.35);

    outline-offset:3px;
}
/* =========================
   CALCULADORA DE AHORRO
   ========================= */

.savings-calculator{
    max-width:950px;
    margin:32px auto 0;
    padding:28px 30px 24px;
    background:#fff;
    border:1px solid #E1EAE4;
    border-radius:20px;
    box-shadow:0 12px 35px rgba(15,23,42,.08);
}

.savings-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.savings-top h3{
    margin:0;
    font-size:20px;
    line-height:1.3;
    color:#0F172A;
}

.savings-value{
    font-size:23px;
    font-weight:900;
    color:#15803D;
    white-space:nowrap;
}


/* SLIDER */

.savings-slider-wrap{
    width:100%;
}

.savings-slider{
    --slider-progress:55.5%;

    width:100%;
    height:10px;
    margin:0;
    appearance:none;
    -webkit-appearance:none;
    border-radius:999px;
    outline:none;
    cursor:pointer;

    background:linear-gradient(
    90deg,
    #F4C542 0%,
    #15803D var(--slider-progress),
    #E2E8F0 var(--slider-progress),
    #E2E8F0 100%
);
}


/* Curseur Chrome / Edge / Safari */

.savings-slider::-webkit-slider-thumb{
    appearance:none;
    -webkit-appearance:none;

    width:34px;
    height:34px;

    border-radius:50%;

    background:#fff;
    border:4px solid #15803D;

    box-shadow:0 5px 15px rgba(15,23,42,.18);

    cursor:grab;
}

.savings-slider::-webkit-slider-thumb:active{
    cursor:grabbing;
}


/* Curseur Firefox */

.savings-slider::-moz-range-thumb{
    width:27px;
    height:27px;

    border-radius:50%;

    background:#fff;
    border:4px solid #15803D;

    box-shadow:0 5px 15px rgba(15,23,42,.18);

    cursor:grab;
}


.savings-range{
    display:flex;
    justify-content:space-between;

    margin-top:8px;

    font-size:13px;
    color:#475569;
}


/* RESULTATS */

.savings-results{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:22px;
}

.savings-card{
    padding:18px 20px;

    background:
        linear-gradient(
            135deg,
            #FFFDF2,
            #F0FDF4
        );

    border:1px solid #CFE8D6;
    border-radius:16px;
}

.savings-card-label{
    margin-bottom:8px;

    font-size:14px;
    font-weight:700;

    color:#166534;
}

.savings-card-value{
    font-size:32px;
    line-height:1;

    font-weight:900;

    color:#15803D;
}


/* NOTE */

.savings-note{
    margin:18px 0 0;

    font-size:12px;
    line-height:1.5;

    color:#64748B;
}
.whatsapp-floating{
    position:fixed;
    right:24px;
    bottom:24px;

    width:58px;
    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#25D366;
    color:#fff;

    border-radius:50%;

    text-decoration:none;

    box-shadow:0 8px 24px rgba(15,23,42,.20);

    z-index:999;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.whatsapp-floating-icon{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.whatsapp-floating-icon svg{
    width:100%;
    height:100%;
    display:block;
}

.whatsapp-floating-icon svg path:first-child{
    fill:#fff;
}

.whatsapp-floating-icon .whatsapp-floating-phone{
    fill:#25D366;
}

.whatsapp-floating:hover{
    transform:scale(1.08);
    box-shadow:0 10px 28px rgba(15,23,42,.25);
}
@media (max-width: 700px){

  /* =========================
     MOBILE — STRUCTURE GÉNÉRALE
     ========================= */

  .container{
    width: calc(100% - 32px);
  }

  body{
    overflow-x:hidden;
  }




  /* =========================
     HERO
     ========================= */

  .hero{
    min-height:auto;
  }

  .hero .container{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    min-height:auto;
    padding:38px 0 45px;
  }

  .hero-copy{
    padding:0;
  }

  h1{
    font-size:42px;
    line-height:1;
  }

  .subtitle{
    font-size:16px;
    line-height:1.5;
  }

  .benefits{
    grid-template-columns:1fr;
    gap:0;
    margin:25px 0 18px;
  }

  .benefit{
    border-right:0;
    border-bottom:1px solid rgba(15,23,42,.10);
    padding:12px 5px;
  }

  .benefit:last-child{
    border-bottom:0;
  }

  .hero-meta{
    gap:15px;
  }

  .phone{
    font-size:18px;
  }

  .trust{
    gap:12px;
    font-size:12px;
  }


  /* =========================
     FORMULAIRE MOBILE
     ========================= */

  .formcard{
    width:100%;
    max-width:none;
    margin:0 auto;
    padding:22px 18px;
    border-radius:18px;
  }

  .formtop h2,
  .formtop h3{
    font-size:20px;
  }

  .steps{
    gap:5px;
    margin-top:10px;
  }

  .step{
    width:28px;
    height:28px;
  }

  .formscreen{
    padding:16px;
    margin-top:14px;
  }

  .question{
    font-size:17px;
    line-height:1.35;
  }

  .options{
    grid-template-columns:1fr;
    gap:10px;
  }

  .option{
    width:100%;
    min-height:76px;
    padding:15px 12px;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }

  .option:active{
    transform:scale(.98);
  }

  .formactions{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:10px;
  }

  .formactions .btn{
    width:100%;
    min-height:48px;
  }

  .formback{
    min-height:48px;
    touch-action:manipulation;
  }

  .formscreen .field input{
    width:100%;
    min-height:48px;
    font-size:16px;
    -webkit-appearance:none;
    appearance:none;
  }

  .formnote{
    font-size:11px;
  }


  /* =========================
     CAE
     ========================= */

  .section{
    padding:60px 0;
  }

  .caeg{
    grid-template-columns:1fr;
    gap:40px;
  }

  h2{
    font-size:38px;
  }


  /* =========================
     PROCESS
     ========================= */

  .process-track{
    grid-template-columns:1fr;
    gap:0;
    margin:0 0 0 22px;
    position:relative;
  }

  .process-track:before{
    display:none;
}

  .track-item,
  .track-item:nth-child(2),
  .track-item:nth-child(3){
    justify-content:flex-start;
    min-height:72px;
  }

  .track-num{
    width:46px;
    height:46px;
  }

  .process-cards-v2{
    grid-template-columns:1fr;
    gap:16px;
    margin-top:0;
  }

  .process-card-v2{
    min-height:auto;
  }

  .process-photo-wrap{
    height:185px;
  }

  .process-card-content{
    padding:22px 18px 21px;
  }
  
/* =========================
   AVANT / APRÈS MOBILE
   ========================= */

.before-after-section{
    padding:65px 0;
}

.before-after-heading{
    margin-bottom:30px;
}

.before-after-heading h2{
    font-size:36px;
}

.before-after-heading p{
    font-size:16px;
}

.before-after{
    height:420px;

    border-radius:18px;
}

.before-after-label{
    top:14px;

    padding:8px 12px;

    font-size:12px;
}

.label-before{
    left:14px;
}

.label-after{
    right:14px;
}

.before-after-handle{
    width:54px;
    height:54px;

    font-size:22px;
}
  /* =========================
     CARTE MOBILE
     ========================= */

  .coverage-v2{
    padding-top:60px;
    padding-bottom:45px;
  }

  .coverage-inner-v2{
    grid-template-columns:1fr;
    gap:25px;
  }

  .coverage-copy-v2{
    padding-left:0;
  }

  .coverage-copy-v2 h2{
    font-size:38px;
  }

  .coverage-highlights{
    grid-template-columns:1fr;
    gap:18px;
  }

  .coverage-divider{
    display:none;
  }

  .coverage-map-v2{
    width:100%;
    min-height:0;
    display:block;
  }

  #aisreno-map{
    width:100%;
    height:420px;
    min-height:420px;
    border-radius:16px;
  }

  #aisreno-map .leaflet-control-zoom a{
    width:36px;
    height:36px;
    line-height:36px;
    font-size:20px;
  }
/* =========================
   CALCULADORA AHORRO MOBILE
   ========================= */

.savings-calculator{
    margin-top:22px;
    padding:22px 18px 20px;
    border-radius:18px;
}

.savings-top{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
    margin-bottom:18px;
}

.savings-top h3{
    font-size:17px;
}

.savings-value{
    font-size:22px;
}

.savings-slider{
    height:9px;
}

.savings-slider::-webkit-slider-thumb{
    width:30px;
    height:30px;
}

.savings-results{
    grid-template-columns:1fr;
    gap:10px;
    margin-top:20px;
}

.savings-card{
    padding:16px 18px;
}

.savings-card-value{
    font-size:29px;
}

.savings-note{
    font-size:11px;
    margin-top:15px;
}

  /* =========================
     FAQ
     ========================= */

  .faqgrid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .faqintro h2{
    font-size:38px;
  }

  .contactbox a{
    font-size:20px;
  }

  details{
    padding:0 16px;
  }

  summary{
    font-size:15px;
    line-height:1.4;
  }


  /* =========================
     CTA FINAL
     ========================= */

  .finalbox{
    flex-direction:column;
    align-items:stretch;
    padding:28px 22px;
  }

  .finalbox h2{
    font-size:30px;
  }

  .finalbox .btn{
    width:100%;
  }



}
/* =========================
   FORMULARIO - FINAL
   ========================= */

.form-complete{
    min-height:280px;
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:transparent;
    border:0;
    padding:30px;
    color:#166534;
}

.form-complete .success-check{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#E8F6EC;
    color:#15803D;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    font-weight:800;
    margin-bottom:20px;
}

.form-complete strong{
    display:block;
    font-size:20px;
    line-height:1.3;
    margin-bottom:10px;
}

.form-complete p{
    max-width:430px;
    margin:0;
    color:#475569;
    font-size:16px;
    line-height:1.6;
}
.whatsapp-floating{
    width:52px;
    height:52px;
    right:16px;
    bottom:16px;
}

/* AISRENO visual polish */
:root{
  --shadow-card:0 18px 45px rgba(15,23,42,.09);
  --shadow-card-hover:0 24px 55px rgba(15,23,42,.14);
}

body{
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.01em;
}

h1,h2{
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.045em;
  text-wrap:balance;
}

.btn{
  border-radius:12px;
  transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(21,128,61,.22);
}

.btn:focus-visible,
summary:focus-visible,
button:focus-visible{
  outline:3px solid rgba(21,128,61,.4);
  outline-offset:3px;
}

.hero .container{
  padding-block:clamp(48px,6vw,78px);
}

.kicker{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 11px;
  border:1px solid #d8ebdd;
  border-radius:999px;
  background:rgba(240,253,244,.88);
  letter-spacing:1.2px;
}

.hero h1{
  max-width:620px;
  font-size:clamp(46px,5.4vw,72px);
  line-height:.99;
}

/* SEO : le H1 porte le mot-clé avec le style du sur-titre ;
   le slogan (p.hero-title) garde exactement le style du grand titre. */
.hero h1.kicker{
  font-family:inherit;
  font-size:12px;
  line-height:normal;
  letter-spacing:1.2px;
  margin:0;
  max-width:none;
  text-wrap:wrap;
}

.hero .hero-title{
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-weight:700;
  letter-spacing:-.045em;
  text-wrap:balance;
  max-width:620px;
  font-size:clamp(46px,5.4vw,72px);
  line-height:.99;
  margin:12px 0 18px;
}

.hero .hero-title span{
  color:var(--green);
}

/* Liens vers les guides dans les réponses de la FAQ */
.faq .answer a{
  color:var(--green);
  font-weight:700;
  text-underline-offset:3px;
}

.hero .subtitle{
  font-size:clamp(17px,1.45vw,19px);
}

.benefit{
  min-height:104px;
  padding:16px 12px;
  border:1px solid rgba(226,232,240,.9);
  border-radius:16px;
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 22px rgba(15,23,42,.045);
  backdrop-filter:blur(8px);
}

.benefit:last-child{
  border-right:1px solid rgba(226,232,240,.9);
}

.formcard{
  border-color:rgba(255,255,255,.88);
  box-shadow:0 26px 70px rgba(15,23,42,.19);
}

.formscreen{
  background:linear-gradient(145deg,#f2faf4,#f8fbf9);
}

.formscreen .field input{
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
  background:#fff;
}

.formscreen .field input:focus{
  box-shadow:0 0 0 4px rgba(21,128,61,.12);
}

.process-card-v2,
.savings-card,
details,
.contactbox{
  box-shadow:var(--shadow-card);
}

.process-card-v2:hover{
  box-shadow:var(--shadow-card-hover);
}

.process-photo-wrap img{
  filter:saturate(.94);
}

.before-after{
  border:5px solid #fff;
  box-shadow:0 24px 60px rgba(15,23,42,.16);
}

.savings-calculator{
  border:1px solid #dcebe0;
  box-shadow:var(--shadow-card);
}

.coverage-map-v2 #aisreno-map{
  border:1px solid #e1eae4;
  border-radius:22px;
  box-shadow:var(--shadow-card);
}

details{
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}

details:hover{
  transform:translateY(-1px);
  border-color:#cfe4d5;
}

details[open]{
  border-color:#b9ddc4;
  box-shadow:0 16px 38px rgba(21,128,61,.09);
}

.finalbox{
  background:radial-gradient(ellipse at 88% 10%,rgba(21,128,61,.13),transparent 42%),linear-gradient(135deg,#effaf2,#fff);
  box-shadow:var(--shadow-card);
}

@media (max-width:700px){
  .hero .container{
    padding-block:34px 42px;
  }

  .hero h1{
    font-size:clamp(42px,12vw,54px);
  }

  .hero .hero-title{
    font-size:clamp(42px,12vw,54px);
  }

  .benefits{
    gap:9px;
  }

  .benefit,
  .benefit:last-child{
    min-height:0;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:1px solid rgba(226,232,240,.9);
    border-radius:14px;
    text-align:left;
  }

  .benefit .icon{
    flex:0 0 30px;
    margin:0;
    font-size:24px;
  }

  .benefit strong br{
    display:none;
  }

  .formcard{
    box-shadow:0 18px 48px rgba(15,23,42,.14);
  }

  .before-after{
    border-width:3px;
  }

  .coverage-map-v2 #aisreno-map{
    border-radius:16px;
  }

  .finalbox{
    background:linear-gradient(145deg,#effaf2,#fff);
  }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* Form card refinement: visual only */
.formcard{
  padding:clamp(22px,3vw,32px);
  border:1px solid #e1ebe4;
  border-radius:26px;
  background:linear-gradient(155deg,#fff 0%,#fff 68%,#f8fcf9 100%);
  box-shadow:0 28px 75px rgba(15,23,42,.18),0 3px 12px rgba(21,128,61,.06);
}

.formtop{
  display:grid;
  gap:14px;
  padding-bottom:17px;
  border-bottom:1px solid #e9f0eb;
}

.formtop h2,
.formtop h3{
  font-size:clamp(21px,2vw,24px);
  letter-spacing:-.04em;
}

.formhint{
  margin:15px 0 0;
  color:#647568;
  font-size:13px;
  line-height:1.5;
}

.steps{
  gap:9px;
  margin:0;
}

.step{
  width:31px;
  height:31px;
  border-color:#dce7df;
  background:#f5f8f6;
  color:#718077;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.step:not(:last-child)::after{
  width:9px;
  background:#dce7df;
}

.step.active{
  border-color:var(--green);
  box-shadow:0 0 0 4px rgba(21,128,61,.12);
}

.formscreen{
  margin-top:16px;
  padding:21px;
  border-color:#e0ebe3;
  border-radius:18px;
  background:linear-gradient(145deg,#f6fbf7,#f1f8f3);
}

.formscreen .question{
  margin-bottom:16px;
  font-size:19px;
  letter-spacing:-.035em;
  line-height:1.25;
}

.formscreen .options{
  gap:11px;
}

.formscreen .option{
  min-height:84px;
  padding:15px 13px;
  border-color:#dce6df;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 3px 10px rgba(15,23,42,.025);
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}

.formscreen .option:hover{
  transform:translateY(-2px);
  border-color:#8fc49d;
  background:#fff;
  box-shadow:0 10px 22px rgba(21,128,61,.09);
}

.formscreen .option:focus-visible{
  outline:3px solid rgba(21,128,61,.28);
  outline-offset:2px;
}

.formscreen .field label{
  color:#34453a;
  font-size:13px;
}

.formscreen .field input{
  min-height:49px;
  border-color:#d7e2da;
  border-radius:12px;
  padding:12px 14px;
}

.formscreen .field input::placeholder{
  color:#9aa8a0;
}

.formscreen .consentline{
  padding:13px 14px;
  border:1px solid #e0ebe3;
  border-radius:12px;
  background:rgba(255,255,255,.76);
}

.formscreen .consentline a{
  color:var(--green2);
  font-weight:700;
  text-underline-offset:3px;
}

.formactions{
  gap:11px;
  margin-top:15px;
}

.formactions .btn,
.formback{
  min-height:48px;
  border-radius:12px;
}

.formback{
  border:1px solid #e1e9e3;
  background:#f7faf8;
  color:#506157;
  transition:background-color .18s ease,border-color .18s ease;
}

.formback:hover{
  border-color:#c7dbcc;
  background:#eef7f0;
}

.formnote{
  margin-top:15px;
  border-color:#e5eee7;
  background:#f8fbf9;
}

.formexit,
.formsuccess{
  border-radius:15px;
  padding:19px;
}

@media (max-width:700px){
  .formcard{
    padding:22px 18px;
    border-radius:22px;
  }

  .formtop{
    gap:12px;
    padding-bottom:14px;
  }

  .steps{
    gap:8px;
  }

  .step{
    width:29px;
    height:29px;
  }

  .formscreen{
    padding:17px 15px;
    border-radius:16px;
  }

  .formscreen .option{
    min-height:76px;
  }
}
/* Mensaje de instalación sin coste junto al teléfono */
.hero-free-service {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 20px;
  border-left: 1px solid #dce5df;
  max-width: 100%;
}

.hero-free-service-icon {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #dcfce7;
  color: #166534;
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
}

.hero-free-service-text {
  min-width: 0;
}

.hero-free-service-text strong {
  display: block;
  color: #166534;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
}

.hero-free-service-text span {
  display: block;
  margin-top: 2px;
  color: #475569;
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 600px) {
  .hero-free-service {
    flex-basis: 100%;
    padding-left: 0;
    border-left: 0;
  }
}
/* Ocultamos el espacio de preguntas cuando está vacío */
#formScreen:empty {
  display: none;
}
/* Nombres blancos sobre las provincias con cobertura */
#aisreno-map .leaflet-tooltip.aisreno-province-label {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    color: #FFFFFF;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

#aisreno-map .aisreno-province-label::before {
    display: none;
}

/* Leyenda debajo del mapa */
.aisreno-map-legend {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 18px;
    color: #475569;
    font-size: 13px;
}

.aisreno-map-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.aisreno-map-swatch {
    display: inline-block;
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    border-radius: 4px;
}

.aisreno-map-swatch-covered {
    background: #15803D;
}

.aisreno-map-swatch-uncovered {
    background: #E8ECE9;
    border: 1px solid #B8C4BD;
}

.aisreno-map-note {
    margin: 10px auto 0;
    max-width: 520px;
    color: #475569;
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
}

@media (max-width: 600px) {
    #aisreno-map .leaflet-tooltip.aisreno-province-label {
        font-size: 8px;
    }

    .aisreno-map-legend {
        font-size: 12px;
        gap: 10px 16px;
    }
}
/* Mensaje de ayuda debajo de la sección de cobertura */
.coverage-help-v2 {
    margin-top: 32px;
    text-align: center;
}

.coverage-help-v2 > div {
    max-width: 760px;
    margin: 0 auto;
    padding: 24px 28px;
    background: #F0FDF4;
    border: 1px solid #DCEBE0;
    border-radius: 16px;
}

.coverage-help-v2 strong {
    display: block;
    margin-bottom: 8px;
    color: #166534;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.4;
}

.coverage-help-v2 p {
    max-width: 620px;
    margin: 0 auto;
    color: #475569;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
}

@media (max-width: 600px) {
    .coverage-help-v2 > div {
        padding: 20px 16px;
    }

    .coverage-help-v2 strong {
        font-size: 19px;
    }

    .coverage-help-v2 p {
        font-size: 14px;
    }
}
/* =========================
   TÉMOIGNAGES CLIENTS
   ========================= */

.testimonials {
  padding: 76px 0;
  background: #f5f8f5;
  color: #03261f;
}

.testimonials-heading {
  margin-bottom: 34px;
  text-align: center;
}

.testimonials .testimonials-label {
  margin: 0 0 12px;
  color: #15803d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 3px;
}

.testimonials h2 {
  margin: 0;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.15;
  letter-spacing: -1px;
}

.testimonials-rating {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 22px 0 0;
  padding: 10px 18px;
  border: 1px solid #dce6de;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: 14px;
}

.testimonials-rating > span:first-child {
  color: #e5a519;
  font-size: 21px;
}

.testimonials-rating strong {
  color: #03261f;
}

.testimonials-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: none;
  scroll-behavior: auto;
  scrollbar-width: none;
  padding: 4px 0 16px;
}

.testimonials-track::-webkit-scrollbar {
  display: none;
}

.testimonial-card {
  box-sizing: border-box;
  flex: 0 0 calc((100% - 40px) / 3);
  min-width: 0;
  padding: 28px;
  border: 1px solid #dce6de;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(3, 38, 31, 0.04);
  scroll-snap-align: start;
}

.testimonial-person {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonial-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  height: 48px;
  border-radius: 50%;
  background: #d9eddd;
  color: #03261f;
  font-size: 17px;
  font-weight: 800;
}

.testimonial-card h3 {
  margin: 0 0 5px;
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.testimonial-meta {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.5;
}

.testimonial-stars {
  margin: 22px 0 12px;
  color: #e5a519;
  font-size: 24px;
  letter-spacing: 2px;
}

.testimonial-card blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  color: #334155;
  font-size: 15px;
  font-style: normal;
  line-height: 1.75;
}

.testimonials-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 18px;
}

.testimonials-controls button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #dce6de;
  border-radius: 50%;
  background: #fff;
  color: #03261f;
  font: inherit;
  font-size: 26px;
  cursor: pointer;
}

.testimonials-controls button:hover {
  border-color: #15803d;
  background: #eaf5ed;
}

#testimonials-pause {
  font-size: 18px;
}

#testimonials-counter {
  min-width: 45px;
  color: #64748b;
  font-size: 13px;
  text-align: center;
}

.testimonials button:focus-visible,
.testimonials-track:focus-visible {
  outline: 3px solid #15803d;
  outline-offset: 3px;
}

@media (max-width: 1000px) {
  .testimonial-card {
    flex-basis: calc((100% - 20px) / 2);
  }
}

@media (max-width: 700px) {
  .testimonials {
    padding: 52px 0;
  }

  .testimonial-card {
    flex-basis: 90%;
    padding: 24px;
  }

  .testimonials-rating {
    font-size: 12px;
    padding: 9px 12px;
  }
}

/* =========================
   FORMULARIO — MENSAJES DE ERROR
   ========================= */

.formscreen .field input[aria-invalid="true"]{
  border-color:#DC2626;
  background:#FFFBFB;
}

.formscreen .field input[aria-invalid="true"]:focus{
  box-shadow:0 0 0 3px rgba(220,38,38,.12);
}

.field-error{
  display:flex;
  gap:6px;
  align-items:flex-start;
  margin:6px 0 0;
  color:#B91C1C;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
}

.field-error::before{
  content:"!";
  flex:0 0 17px;
  height:17px;
  margin-top:1px;
  border-radius:50%;
  background:#DC2626;
  color:#fff;
  font-size:11px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

.form-alert{
  margin:14px 0;
  padding:13px 14px;
  border:1px solid #FECACA;
  border-radius:10px;
  background:#FEF2F2;
  color:#7F1D1D;
  font-size:14px;
  line-height:1.5;
}

.form-alert[hidden]{
  display:none;
}

.form-alert strong{
  display:block;
  margin-bottom:2px;
}

.form-alert a{
  color:#15803D;
  font-weight:700;
  white-space:nowrap;
}

/* La question reçoit le focus entre les étapes (lecteurs d'écran) :
   ce n'est pas un élément interactif, pas de cadre visible */
.formscreen .question:focus{
  outline:none;
}

/* Antispam : champ invisible du formulaire (hors écran, ignoré par les lecteurs d'écran) */
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Consentement : information de base sur la protection des données (première couche RGPD) */
.formscreen .consent-info{font-size:12.5px;line-height:1.5;color:#475569;margin:0 0 13px;overflow-wrap:break-word}
.formscreen .consent-info p{margin:0}
.formscreen .consent-info .consent-info-title{font-weight:700;color:#334155;margin-bottom:4px}
.formscreen .consent-info strong{font-weight:600;color:#334155}
.formscreen .consent-info a{color:var(--green2);font-weight:700;text-underline-offset:3px}
