/* Homepage hero v2. Loaded after home-hero.css; only restyles the hero + stats strip. */
#homepage .home-hero-wide {
    display:flex;
    align-items:center;
    min-height:clamp(600px,88vh,790px);
    padding:clamp(96px,13vh,150px) max(24px,calc((100% - 1240px)/2)) 150px;
    background:#071428;
}
/* soft blue glow, top right */
#homepage .home-hero-wide::before {
    content:"";
    position:absolute;
    z-index:-1;
    width:720px;
    height:720px;
    right:-160px;
    top:-240px;
    pointer-events:none;
    background:radial-gradient(circle,rgba(37,99,235,.38) 0%,rgba(37,99,235,0) 65%);
}
/* readable on the left, photo shows through on the right, fades into the page below */
#homepage .home-hero-wide::after {
    background:
        linear-gradient(180deg,rgba(7,20,40,0) 62%,#0b1730 100%),
        linear-gradient(100deg,rgba(4,14,34,.96) 0%,rgba(4,14,34,.86) 36%,rgba(4,14,34,.4) 68%,rgba(4,14,34,.12) 100%);
}
#homepage .home-hero-wide #hero-slider .slide > div { background:rgba(7,20,40,.18); }

/* slow zoom on the active photo */
#homepage .home-hero-wide #hero-slider .slide img { transform:scale(1); will-change:transform; }
@media (prefers-reduced-motion:no-preference) {
    #homepage .home-hero-wide #hero-slider .slide.opacity-100 img { animation:hv2-zoom 12s linear forwards; }
}
@keyframes hv2-zoom { from { transform:scale(1); } to { transform:scale(1.08); } }

#homepage .home-hero-wide .home-hero-copy { max-width:740px; min-height:0; text-align:left; }

/* eyebrow pill */
#homepage .home-hero-wide .home-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:10px;
    width:max-content;
    max-width:100%;
    margin:0 0 26px;
    padding:8px 16px 8px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.18);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
    color:#dbe8ff;
    font-size:12px;
    font-weight:700;
    letter-spacing:.16em;
}
#homepage .home-hero-wide .home-eyebrow::before {
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ffc107;
    box-shadow:0 0 0 0 rgba(255,193,7,.6);
}
@media (prefers-reduced-motion:no-preference) {
    #homepage .home-hero-wide .home-eyebrow::before { animation:hv2-pulse 2.2s ease-out infinite; }
}
@keyframes hv2-pulse { 0% { box-shadow:0 0 0 0 rgba(255,193,7,.55); } 70%,100% { box-shadow:0 0 0 10px rgba(255,193,7,0); } }

#homepage .home-hero-wide #hero-title {
    max-width:17ch;
    font-size:clamp(42px,5.6vw,78px);
    font-weight:800;
    line-height:1.03;
    letter-spacing:-.035em;
    text-shadow:0 2px 30px rgba(0,0,0,.35);
    margin-bottom:24px;
}
#homepage .home-hero-wide #hero-subtitle {
    max-width:50ch;
    margin:0 0 34px;
    color:#d3e1f7;
    font-size:clamp(16px,1.5vw,19px);
    line-height:1.65;
}

/* buttons */
#homepage .home-hero-wide .home-actions { align-items:center; gap:14px 16px; }
#homepage .home-hero-wide .home-actions a,
#homepage .home-hero-wide .home-actions button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:54px;
    padding:0 26px;
    border-radius:12px;
    font-size:15px;
    font-weight:700;
    white-space:nowrap;
}
#homepage .home-hero-wide .home-actions a:first-child {
    background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);
    border:0;
    color:#fff;
    box-shadow:0 12px 30px rgba(37,99,235,.45);
}
#homepage .home-hero-wide .home-actions a:first-child:hover { background:linear-gradient(135deg,#4f8ff7 0%,#2f6df0 100%); transform:translateY(-2px); }
#homepage .home-hero-wide #open-consultation-modal {
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.32);
    color:#fff;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
}
#homepage .home-hero-wide #open-consultation-modal:hover { background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.55); transform:translateY(-2px); }
#homepage .home-hero-wide .home-actions a:last-child {
    width:auto;
    min-height:54px;
    padding:0 6px;
    background:transparent;
    border:0;
    color:#dbe8ff;
    text-decoration:none;
}
#homepage .home-hero-wide .home-actions a:last-child:hover { color:#fff; transform:none; }
#homepage .home-hero-wide .home-actions a:last-child:hover .arrow { transform:translateX(4px); }
#homepage .home-hero-wide .arrow { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }

/* slider controls: bar dots, counter, glass pause */
#homepage .home-hero-wide .home-slider-controls { bottom:96px; justify-content:flex-start; align-items:center; gap:22px; }
#homepage .home-hero-wide #slider-dots { gap:6px; }
#homepage .home-hero-wide #slider-dots .dot {
    position:relative;
    width:34px;
    height:24px;
    padding:0;
    border:0;
    background:transparent;
    transition:width .3s;
}
#homepage .home-hero-wide #slider-dots .dot::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:4px;
    margin-top:-2px;
    border-radius:4px;
    background:rgba(255,255,255,.32);
    transition:background .3s;
}
#homepage .home-hero-wide #slider-dots .dot:hover::before { background:rgba(255,255,255,.6); }
#homepage .home-hero-wide #slider-dots .dot[aria-pressed="true"] { width:58px; }
#homepage .home-hero-wide #slider-dots .dot[aria-pressed="true"]::before { background:#fff; }
#homepage .home-hero-wide .slide-count { font-size:13px; font-weight:700; letter-spacing:.14em; color:#cfe0ff; font-variant-numeric:tabular-nums; }
#homepage .home-hero-wide #hero-pause {
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.25);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
}
#homepage .home-hero-wide #hero-pause:hover { background:rgba(255,255,255,.2); }

/* stats: floating glass bar overlapping the hero */
#homepage > .home-stats {
    position:relative;
    z-index:6;
    max-width:1240px;
    width:calc(100% - 48px);
    margin:-66px auto 40px;
    padding:26px 8px;
    gap:0;
    border:1px solid rgba(147,185,255,.24);
    border-radius:20px;
    background:rgba(16,32,60,.78);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    box-shadow:0 26px 70px rgba(0,0,0,.4);
}
#homepage > .home-stats > div { padding:6px 20px; text-align:center; border-left:1px solid rgba(255,255,255,.1); }
#homepage > .home-stats > div:first-child { padding-left:20px; border-left:0; }
#homepage > .home-stats p:first-child { font-size:clamp(26px,3vw,36px); font-weight:800; line-height:1.15; letter-spacing:-.02em; }
#homepage > .home-stats p:last-child { margin-top:4px; font-size:11.5px; letter-spacing:.12em; color:#a9c1e6; }

@media (max-width:1023px) {
    #homepage .home-hero-wide { min-height:clamp(560px,80vh,700px); }
}
@media (max-width:767px) {
    #homepage .home-hero-wide { min-height:0; padding:104px 22px 150px; }
    #homepage .home-hero-wide::after {
        background:
            linear-gradient(180deg,rgba(7,20,40,0) 70%,#0b1730 100%),
            linear-gradient(180deg,rgba(4,14,34,.9) 0%,rgba(4,14,34,.82) 100%);
    }
    #homepage .home-hero-wide .home-eyebrow { font-size:11px; letter-spacing:.12em; }
    #homepage .home-hero-wide #hero-title { font-size:clamp(36px,10.5vw,50px); max-width:100%; }
    #homepage .home-hero-wide .home-actions { display:grid; grid-template-columns:1fr; gap:12px; }
    #homepage .home-hero-wide .home-actions a,
    #homepage .home-hero-wide .home-actions button { width:100%; }
    #homepage .home-hero-wide .home-actions a:last-child { min-height:44px; }
    #homepage .home-hero-wide .home-slider-controls { bottom:84px; left:22px; right:22px; }
    #homepage > .home-stats { grid-template-columns:repeat(2,minmax(0,1fr)); width:calc(100% - 32px); margin-top:-60px; padding:14px 4px; }
    #homepage > .home-stats > div { padding:14px 12px; }
    #homepage > .home-stats > div:nth-child(odd) { border-left:0; }
    #homepage > .home-stats > div:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.1); }
}
@media (prefers-reduced-motion:reduce) {
    #homepage .home-hero-wide #hero-slider .slide img { animation:none !important; transform:none !important; }
}
