/* ECUADORUTIL HOME V8 — candidate, scoped to .eu-home-page-v8 */
.eu-home-page-v8{
    --euv8-green:#079348;
    --euv8-green-dark:#057c3b;
    --euv8-green-soft:#edf9f1;
    --euv8-navy:#0d1b38;
    --euv8-copy:#526b84;
    --euv8-muted:#60758d;
    --euv8-line:#dfe8ee;
    --euv8-soft:#f7fafb;
    --euv8-container:1280px;
}

/* Navbar presentation moved to canonical component in C01. */

.eu-home-v8{color:var(--euv8-navy);background:#fff}
.eu-home-v8 *{box-sizing:border-box}
.eu-home-v8 a{text-decoration:none}
.euv8-container{
    width:min(var(--euv8-container),calc(100% - 48px));
    margin-inline:auto;
}

/* HERO V7 approved */
.euv8-hero{
    position:relative;
    min-height:520px;
    overflow:hidden;
    isolation:isolate;
    background:#e8f3ed;
}
.euv8-hero-media{
    position:absolute;
    inset:0;
    z-index:-3;
    display:block;
}
.euv8-hero-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 70%;
}
.euv8-hero-overlay{
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(90deg,
            rgba(255,255,255,.995) 0%,
            rgba(255,255,255,.985) 27%,
            rgba(255,255,255,.94) 42%,
            rgba(255,255,255,.72) 54%,
            rgba(255,255,255,.25) 67%,
            rgba(255,255,255,0) 80%),
        linear-gradient(0deg,
            rgba(255,255,255,.95) 0%,
            rgba(255,255,255,.18) 28%,
            rgba(255,255,255,0) 58%);
}
.euv8-hero-inner{
    min-height:520px;
    display:flex;
    align-items:center;
}
.euv8-hero-copy{
    width:min(780px,64%);
    padding:52px 0 62px;
}
.euv8-kicker,
.euv8-eyebrow{
    display:inline-flex;
    align-items:center;
    padding:7px 10px;
    border:1px solid #c9e5d4;
    border-radius:999px;
    background:rgba(245,252,248,.94);
    color:var(--euv8-green-dark);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.euv8-hero h1{
    max-width:760px;
    margin:18px 0 0;
    color:var(--euv8-navy);
    font-size:clamp(2.75rem,4.15vw,4.125rem);
    line-height:1.01;
    letter-spacing:-.052em;
    font-weight:900;
    text-wrap:balance;
}
.euv8-hero h1 span{color:var(--euv8-green-dark)}
.euv8-hero-lead{
    max-width:690px;
    margin:18px 0 24px;
    color:#294765;
    font-size:1.125rem;
    line-height:1.58;
    font-weight:550;
    text-shadow:0 1px 0 rgba(255,255,255,.65);
}
.euv8-search-question{
    margin:0 0 10px;
    color:#173550;
    font-size:.875rem;
    font-weight:900;
}
.euv8-search{
    position:relative;
    width:min(100%,760px);
    display:grid;
    grid-template-columns:minmax(0,1fr) 150px;
    gap:8px;
    padding:6px;
    border:1px solid #88caa4;
    border-radius:15px;
    background:rgba(255,255,255,.98);
    box-shadow:0 17px 44px rgba(13,27,56,.10),0 0 0 1px rgba(255,255,255,.75) inset;
}
.euv8-search-field{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 15px;
}
.euv8-search-field i{
    color:var(--euv8-green);
    font-size:1.25rem;
}
.euv8-search input{
    width:100%;
    min-width:0;
    height:56px;
    border:0;
    outline:0;
    background:transparent;
    color:#142d48;
    font-size:1rem;
}
.euv8-search input::placeholder{color:#71879c}
.euv8-search>button{
    border:0;
    border-radius:11px;
    background:var(--euv8-green);
    color:#fff;
    font-weight:900;
}
.euv8-search>button:hover,
.euv8-search>button:focus-visible{
    background:var(--euv8-green-dark);
    outline:3px solid rgba(7,147,72,.18);
    outline-offset:2px;
}
.euv8-search .smart-search-results{
    top:calc(100% + 8px);
    left:0;
    right:0;
}
.euv8-examples{
    width:min(100%,760px);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin-top:12px;
    color:#3f5b79;
    font-size:.75rem;
}
.euv8-examples a{
    padding:6px 10px;
    border:1px solid #d6e2e8;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:#31506e;
}
.euv8-examples a:hover,
.euv8-examples a:focus-visible{
    border-color:#9bcfb0;
    background:#f1faf5;
    color:var(--euv8-green-dark);
}
.euv8-hero-trust{
    width:min(100%,760px);
    display:flex;
    flex-wrap:wrap;
    gap:10px 16px;
    margin-top:15px;
    color:#627a90;
    font-size:.72rem;
    line-height:1.35;
}
.euv8-hero-trust span{display:inline-flex;align-items:center;gap:5px}
.euv8-hero-trust i{color:var(--euv8-green)}

/* Shared section system */
.euv8-section{padding:60px 0}
.euv8-section-soft{background:var(--euv8-soft)}
.euv8-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:22px;
}
.euv8-section-head h2,
.euv8-ruc-card h2,
.euv8-professionals h2,
.euv8-routes h2{
    margin:0;
    color:var(--euv8-navy);
    font-size:clamp(1.7rem,2.4vw,2rem);
    line-height:1.14;
    letter-spacing:-.04em;
}
.euv8-section-head p,
.euv8-ruc-card p,
.euv8-professionals p,
.euv8-routes p{
    max-width:760px;
    margin:8px 0 0;
    color:var(--euv8-muted);
    line-height:1.55;
}
.euv8-text-link,
.euv8-more{
    color:var(--euv8-green-dark);
    font-size:.83rem;
    font-weight:900;
}
.euv8-text-link{white-space:nowrap}

/* RUC */
.euv8-ruc-section{padding:42px 0}
.euv8-ruc-card{
    min-height:158px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    padding:30px 32px;
    border:1px solid #cae7d7;
    border-radius:18px;
    background:linear-gradient(135deg,#effaf3,#fff);
    box-shadow:0 8px 24px rgba(7,147,72,.04);
}
.euv8-ruc-card h2{margin-top:7px}

/* Buttons */
.euv8-btn{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 18px;
    border:1px solid #d7e1e8;
    border-radius:12px;
    font-weight:850;
}
.euv8-btn-primary{
    border-color:var(--euv8-green);
    background:var(--euv8-green);
    color:#fff;
}
.euv8-btn-primary:hover,
.euv8-btn-primary:focus-visible{background:var(--euv8-green-dark);color:#fff}
.euv8-btn-secondary{background:#fff;color:#29445f}

/* Cards */
.euv8-grid-4{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:15px;
}
.euv8-card{
    min-width:0;
    min-height:205px;
    display:flex;
    flex-direction:column;
    padding:21px;
    border:1px solid var(--euv8-line);
    border-radius:15px;
    background:#fff;
    color:var(--euv8-navy);
    transition:.18s ease;
}
.euv8-card:hover,
.euv8-card:focus-visible{
    transform:translateY(-2px);
    border-color:#cbdbe4;
    box-shadow:0 14px 38px rgba(13,27,56,.08);
}
.euv8-icon{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:var(--euv8-green-soft);
    color:var(--euv8-green-dark);
    font-size:1.15rem;
}
.euv8-card h3{
    margin:16px 0 7px;
    color:var(--euv8-navy);
    font-size:1.08rem;
    line-height:1.25;
    letter-spacing:-.02em;
}
.euv8-card p{
    margin:0;
    color:var(--euv8-muted);
    font-size:.83rem;
    line-height:1.55;
}
.euv8-card .euv8-more{margin-top:auto;padding-top:18px}

/* Popular */
.euv8-popular-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.euv8-popular-card{
    min-height:82px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px;
    border:1px solid var(--euv8-line);
    border-radius:14px;
    background:#fff;
    color:var(--euv8-navy);
    transition:.18s ease;
}
.euv8-popular-card:hover,
.euv8-popular-card:focus-visible{
    transform:translateY(-1px);
    border-color:#bed8c9;
    box-shadow:0 8px 22px rgba(13,27,56,.05);
}
.euv8-popular-card .euv8-icon{width:40px;height:40px;flex-basis:40px}
.euv8-popular-card>span:nth-child(2){min-width:0}
.euv8-popular-card h3{margin:0 0 4px;font-size:.9rem;line-height:1.25}
.euv8-popular-card small{color:var(--euv8-muted)}
.euv8-chevron{margin-left:auto;color:#859aae}

/* Professionals */
.euv8-professionals{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:30px;
    padding:32px;
    border:1px solid #dbe6ee;
    border-radius:18px;
    background:linear-gradient(135deg,#fff,#f8fbff);
}
.euv8-professionals h2{margin-top:7px}
.euv8-professional-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* Routes */
.euv8-routes{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:34px;
    align-items:center;
    padding:34px;
    border:1px solid var(--euv8-line);
    border-radius:18px;
    background:linear-gradient(135deg,#fff,#fbfdfc);
}
.euv8-routes h2{margin-top:8px}
.euv8-routes .euv8-btn{margin-top:18px}
.euv8-steps{display:grid;gap:10px}
.euv8-steps>div{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px;
    border:1px solid #e6edf1;
    border-radius:13px;
    background:#f8fafb;
}
.euv8-steps>div>span{
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--euv8-green);
    color:#fff;
    font-weight:900;
}
.euv8-steps h3{margin:0 0 3px;font-size:.88rem}
.euv8-steps small{color:var(--euv8-muted)}

/* Guides */
.euv8-guides-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
}
.euv8-guide-card{min-height:185px;border-top:3px solid #dcefe4}
.euv8-guide-card:hover,
.euv8-guide-card:focus-visible{border-top-color:var(--euv8-green)}
.euv8-guide-label{
    color:var(--euv8-green-dark);
    font-size:.67rem;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* Trust */
.euv8-trust-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.euv8-trust-card{
    min-height:154px;
    padding:20px;
    border:1px solid var(--euv8-line);
    border-radius:14px;
    background:#fff;
}
.euv8-trust-check{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--euv8-green-soft);
    color:var(--euv8-green);
    font-size:.85rem;
}
.euv8-trust-card h3{margin:11px 0 7px;font-size:.95rem}
.euv8-trust-card p{margin:0;color:var(--euv8-muted);font-size:.78rem;line-height:1.5}

/* Responsive */
@media(max-width:920px){
    .euv8-hero-copy{width:76%}
    .euv8-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .euv8-popular-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .euv8-routes{grid-template-columns:1fr}
    .euv8-professionals{grid-template-columns:1fr}
    .euv8-professional-actions{justify-content:flex-start}
}
@media(max-width:680px){
    .euv8-container{
        width:calc(100% - 32px)!important;
    }
    .euv8-hero{min-height:565px}
    .euv8-hero-inner{min-height:565px;align-items:flex-start}
    .euv8-hero-media img{object-position:67% center}
    .euv8-hero-overlay{
        background:linear-gradient(180deg,
            rgba(255,255,255,.995) 0%,
            rgba(255,255,255,.98) 47%,
            rgba(255,255,255,.82) 68%,
            rgba(255,255,255,.36) 88%,
            rgba(255,255,255,.12) 100%);
    }
    .euv8-hero-copy{width:100%;padding:36px 0 0}
    .euv8-hero h1{max-width:100%;font-size:2.35rem}
    .euv8-hero-lead{max-width:100%;margin-top:14px;font-size:.94rem}
    .euv8-search{width:100%;grid-template-columns:1fr}
    .euv8-search input{height:50px}
    .euv8-search>button{height:46px}
    .euv8-hero-trust span:nth-child(2){display:none}
    .euv8-section{padding:42px 0}
    .euv8-ruc-card{grid-template-columns:1fr;padding:22px}
    .euv8-ruc-card .euv8-btn{width:100%}
    .euv8-section-head{flex-direction:column;align-items:flex-start}
    .euv8-grid-4,
    .euv8-popular-grid,
    .euv8-guides-grid,
    .euv8-trust-grid{grid-template-columns:1fr}
    .euv8-professionals,
    .euv8-routes{padding:22px}
    .euv8-professional-actions{display:grid;grid-template-columns:1fr;width:100%}
}
@media(prefers-reduced-motion:reduce){
    .eu-home-page-v8 *{
        scroll-behavior:auto!important;
        transition:none!important;
        animation:none!important;
    }
}

/* HOME V8.1 mobile polish */
@media(max-width:680px){

    /* Compact assistant launcher on mobile */
    .eu-home-page-v8 .eu-chat-launch{
        right:14px;
        bottom:calc(14px + env(safe-area-inset-bottom, 0px));
        width:52px;
        height:52px;
        min-width:52px;
        min-height:52px;
        padding:0;
        gap:0;
        border-radius:50%;
        justify-content:center;
    }

    .eu-home-page-v8 .eu-chat-launch > span:last-child{
        position:absolute;
        width:1px;
        height:1px;
        padding:0;
        margin:-1px;
        overflow:hidden;
        clip:rect(0,0,0,0);
        clip-path:inset(50%);
        white-space:nowrap;
        border:0;
    }

    .eu-home-page-v8 .eu-chat-launch .eu-chat-mark{
        width:40px;
        height:40px;
        min-width:40px;
        min-height:40px;
        margin:0;
        background:transparent;
        font-size:22px;
    }

    /* RUC card mobile containment */
    .eu-home-page-v8 .euv8-ruc-card{
        width:100%;
        max-width:100%;
        min-width:0;
        grid-template-columns:minmax(0,1fr);
        overflow:hidden;
    }

    .eu-home-page-v8 .euv8-ruc-card > *{
        width:100%;
        max-width:100%;
        min-width:0;
    }

    .eu-home-page-v8 .euv8-ruc-card h2{
        max-width:100%;
        min-width:0;
        font-size:clamp(1.55rem,7vw,1.8rem);
        line-height:1.12;
        letter-spacing:-.025em;
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:normal;
    }

    .eu-home-page-v8 .euv8-ruc-card p{
        width:100%;
        max-width:100%;
        min-width:0;
        font-size:.95rem;
        line-height:1.55;
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:normal;
    }

    .eu-home-page-v8 .euv8-ruc-card .euv8-btn{
        width:100%;
        max-width:100%;
        min-width:0;
        white-space:normal;
        text-align:center;
    }

    /* Improve contrast over hero image */
    .eu-home-page-v8 .euv8-hero-trust{
        gap:7px;
        margin-top:12px;
    }

    .eu-home-page-v8 .euv8-hero-trust span{
        padding:5px 8px;
        border:1px solid rgba(202,231,215,.95);
        border-radius:999px;
        background:rgba(255,255,255,.92);
        color:#294765;
        font-weight:750;
        box-shadow:0 3px 10px rgba(13,27,56,.05);
    }
}

/* HOME V8.1 mobile examples label */
@media(max-width:680px){
    .eu-home-page-v8 .euv8-examples > span:first-child{
        display:block;
        flex:0 0 100%;
        width:100%;
        margin-bottom:1px;
        color:#294765;
        font-size:.76rem;
        font-weight:850;
        line-height:1.3;
    }
}
