/* ==========================================================================
   hidrologi.net Homepage V3
   Engineer Network visual language
   ========================================================================== */

:root{
    --hv3-blue:#1265e3;
    --hv3-blue-deep:#0b4fae;
    --hv3-blue-soft:#edf5ff;
    --hv3-navy:#183650;
    --hv3-navy-deep:#101d2d;
    --hv3-teal:#119b78;
    --hv3-teal-soft:#ecfbf6;
    --hv3-cyan:#0c94af;
    --hv3-cyan-soft:#eefafd;
    --hv3-amber:#e99524;
    --hv3-amber-soft:#fff7e9;
    --hv3-orange:#f07f23;
    --hv3-violet:#725fc4;
    --hv3-violet-soft:#f2efff;
    --hv3-red:#cb5360;
    --hv3-ink:#1c2d40;
    --hv3-body:#5f7184;
    --hv3-muted:#8995a3;
    --hv3-line:#e3eaf1;
    --hv3-card:#fff;
    --hv3-page:#f5f8fb;
    --hv3-shadow:0 10px 28px rgba(20,36,55,.05);
    --hv3-shadow-hover:0 18px 40px rgba(20,36,55,.09);
    --hv3-radius:18px;
}

html{
    scroll-behavior:smooth;
}

.homev3-body{
    margin:0;
    overflow-x:hidden;
    background:#fff;
    color:var(--hv3-ink);
}

.homev3-body a{
    text-decoration:none;
}

.homev3-page{
    padding-top:0;
}

.homev3-container{
    width:min(1180px,calc(100% - 36px));
    margin:0 auto;
}

/* Header ---------------------------------------------------------------- */

.homev3-header{
    position:fixed;
    top:0;
    left:0;
    z-index:1040;
    width:100%;
    border-bottom:1px solid transparent;
    background:rgba(255,255,255,.74);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    transition:
        box-shadow .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.homev3-header.is-scrolled{
    border-bottom-color:rgba(222,231,239,.9);
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 28px rgba(18,39,61,.06);
}

.homev3-nav-shell{
    display:grid;
    grid-template-columns:190px minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    width:min(1240px,calc(100% - 32px));
    min-height:76px;
    margin:0 auto;
}

.homev3-brand{
    display:inline-flex;
    align-items:center;
    max-width:165px;
}

.homev3-brand img{
    display:block;
    width:auto;
    max-width:100%;
    height:34px;
    object-fit:contain;
}

.homev3-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
}

.homev3-nav-link{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-height:38px;
    padding:0 9px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#4f6478;
    font:inherit;
    font-size:.79rem;
    font-weight:750;
    white-space:nowrap;
    cursor:pointer;
}

.homev3-nav-link:hover,
.homev3-nav-link:focus{
    background:#f4f8fb;
    color:var(--hv3-blue);
}

.homev3-nav-group{
    position:relative;
}

.homev3-dropdown{
    position:absolute;
    top:calc(100% + 10px);
    left:50%;
    display:grid;
    width:310px;
    padding:8px;
    border:1px solid var(--hv3-line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 46px rgba(20,36,55,.12);
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,-5px);
    transition:.16s ease;
}

.homev3-dropdown-wide{
    width:350px;
}

.homev3-nav-group:hover>.homev3-dropdown,
.homev3-nav-group.is-open>.homev3-dropdown{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}

.homev3-dropdown>a{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    align-items:center;
    gap:9px;
    min-height:58px;
    padding:7px 8px;
    border-radius:10px;
    color:inherit;
}

.homev3-dropdown>a:hover{
    background:#f7fafc;
}

.homev3-dropdown-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:9px;
    font-size:.82rem;
}

.homev3-dropdown-icon.is-blue{background:var(--hv3-blue-soft);color:var(--hv3-blue)}
.homev3-dropdown-icon.is-cyan{background:var(--hv3-cyan-soft);color:var(--hv3-cyan)}
.homev3-dropdown-icon.is-teal{background:var(--hv3-teal-soft);color:var(--hv3-teal)}
.homev3-dropdown-icon.is-amber{background:var(--hv3-amber-soft);color:var(--hv3-amber)}
.homev3-dropdown-icon.is-navy{background:#eff3f6;color:var(--hv3-navy)}

.homev3-dropdown strong{
    display:block;
    color:#384e64;
    font-size:.76rem;
    font-weight:850;
}

.homev3-dropdown small{
    display:block;
    margin-top:1px;
    color:#8b98a6;
    font-size:.65rem;
    line-height:1.35;
}

.homev3-nav-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
}

.homev3-account-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:38px;
    padding:0 12px;
    border:1px solid #d9e5f1;
    border-radius:10px;
    background:#fff;
    color:#4e657b;
    font-size:.75rem;
    font-weight:850;
    box-shadow:0 4px 12px rgba(20,36,55,.025);
}

.homev3-account-link:hover{
    border-color:#bcd1e8;
    color:var(--hv3-blue);
}

.homev3-menu-toggle{
    display:none;
    width:38px;
    height:38px;
    padding:8px;
    border:1px solid #dce6ee;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
}

.homev3-menu-toggle span{
    display:block;
    width:100%;
    height:2px;
    margin:4px 0;
    border-radius:999px;
    background:#52677d;
}

/* Generic --------------------------------------------------------------- */

.homev3-section{
    padding:76px 0;
}

.homev3-section-head{
    display:grid;
    grid-template-columns:minmax(0,.88fr) minmax(300px,.52fr);
    align-items:end;
    gap:32px;
    margin-bottom:28px;
}

.homev3-section-head h2,
.homev3-data-copy h2,
.homev3-network-copy h2,
.homev3-why-copy h2,
.homev3-impact-copy h2,
.homev3-process-head h2,
.homev3-final-cta h2{
    margin:7px 0 0;
    color:var(--hv3-navy);
    font-size:2.15rem;
    line-height:1.12;
    font-weight:900;
    letter-spacing:-.045em;
}

.homev3-section-head>p,
.homev3-data-copy>p,
.homev3-network-copy>p,
.homev3-why-copy>p,
.homev3-impact-copy>p,
.homev3-process-head>p{
    margin:0;
    color:var(--hv3-body);
    font-size:.92rem;
    line-height:1.72;
}

.homev3-section-kicker{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--hv3-cyan);
    font-size:.69rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.homev3-section-kicker:before{
    content:"";
    width:22px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--hv3-blue),var(--hv3-teal));
}

.homev3-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:11px;
    font-size:1rem;
}

.homev3-icon.is-blue{background:var(--hv3-blue-soft);color:var(--hv3-blue)}
.homev3-icon.is-cyan{background:var(--hv3-cyan-soft);color:var(--hv3-cyan)}
.homev3-icon.is-teal{background:var(--hv3-teal-soft);color:var(--hv3-teal)}
.homev3-icon.is-amber{background:var(--hv3-amber-soft);color:var(--hv3-amber)}
.homev3-icon.is-violet{background:var(--hv3-violet-soft);color:var(--hv3-violet)}

.homev3-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:46px;
    padding:0 16px;
    border-radius:10px;
    font-size:.78rem;
    font-weight:850;
    transition:.16s ease;
}

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

.homev3-btn-primary{
    border:1px solid var(--hv3-blue);
    background:var(--hv3-blue);
    color:#fff;
    box-shadow:0 8px 18px rgba(18,101,227,.15);
}

.homev3-btn-primary:hover{
    background:var(--hv3-blue-deep);
    color:#fff;
}

.homev3-btn-secondary{
    border:1px solid #dce7f0;
    background:#fff;
    color:#536a80;
}

.homev3-btn-secondary:hover{
    border-color:#bfd2e5;
    color:var(--hv3-blue);
}

.homev3-text-link{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:var(--hv3-blue);
    font-size:.79rem;
    font-weight:850;
}

/* Hero ------------------------------------------------------------------ */

.homev3-hero{
    position:relative;
    overflow:hidden;
    padding:142px 0 74px;
    background:
        radial-gradient(circle at 86% 12%,rgba(17,155,120,.13),transparent 24%),
        radial-gradient(circle at 8% 18%,rgba(18,101,227,.13),transparent 26%),
        linear-gradient(135deg,#fff 0%,#f8fbff 58%,#f1faf7 100%);
}

.homev3-hero:before{
    content:"";
    position:absolute;
    top:105px;
    right:-110px;
    width:360px;
    height:360px;
    border:1px solid rgba(18,101,227,.06);
    border-radius:50%;
    box-shadow:
        0 0 0 55px rgba(18,101,227,.014),
        0 0 0 110px rgba(17,155,120,.011);
}

.homev3-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);
    align-items:center;
    gap:54px;
}

.homev3-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--hv3-cyan);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.13em;
}

.homev3-kicker>span{
    position:relative;
    width:28px;
    height:2px;
    border-radius:999px;
    background:var(--hv3-blue);
}

.homev3-kicker>span:after{
    content:"";
    position:absolute;
    top:50%;
    right:-2px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--hv3-orange);
    transform:translateY(-50%);
}

.homev3-hero h1{
    max-width:690px;
    margin:16px 0 17px;
    color:var(--hv3-navy);
    font-size:3.55rem;
    line-height:1.03;
    font-weight:900;
    letter-spacing:-.057em;
}

.homev3-hero h1 em{
    display:block;
    color:var(--hv3-blue);
    font-style:normal;
}

.homev3-hero-copy>p{
    max-width:680px;
    margin:0;
    color:#63768a;
    font-size:1.02rem;
    line-height:1.76;
}

.homev3-hero-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:24px;
}

.homev3-hero-links{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.homev3-hero-links a{
    color:#748495;
    font-size:.73rem;
    font-weight:750;
}

.homev3-hero-links a:hover{
    color:var(--hv3-blue);
}

.homev3-hero-links>span{
    width:3px;
    height:3px;
    border-radius:50%;
    background:#b7c2cd;
}

/* Platform card --------------------------------------------------------- */

.homev3-platform-card{
    overflow:hidden;
    border:1px solid rgba(214,226,236,.94);
    border-radius:20px;
    background:rgba(255,255,255,.94);
    box-shadow:0 24px 55px rgba(22,46,69,.10);
}

.homev3-platform-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid #e7edf3;
}

.homev3-platform-head>div{
    display:flex;
    align-items:center;
    gap:6px;
    color:#597086;
    font-size:.65rem;
    font-weight:900;
    letter-spacing:.07em;
}

.homev3-platform-head>span{
    display:inline-flex;
    align-items:center;
    min-height:23px;
    padding:0 7px;
    border-radius:999px;
    background:#f1f5f8;
    color:#8090a0;
    font-size:.58rem;
    font-weight:850;
}

.homev3-live-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--hv3-teal);
    box-shadow:0 0 0 4px rgba(17,155,120,.11);
}

.homev3-platform-map{
    position:relative;
    height:235px;
    overflow:hidden;
    background:
        radial-gradient(circle at 20% 20%,rgba(18,101,227,.10),transparent 22%),
        linear-gradient(180deg,#f8fbff 0%,#f3f9fb 100%);
}

.homev3-map-grid{
    position:absolute;
    inset:0;
    opacity:.65;
    background-image:
        linear-gradient(rgba(89,119,146,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(89,119,146,.06) 1px,transparent 1px);
    background-size:28px 28px;
}

.homev3-island{
    position:absolute;
    z-index:2;
    display:block;
    height:18px;
    border:1px solid rgba(18,101,227,.16);
    border-radius:50% 48% 55% 45%;
    background:linear-gradient(135deg,rgba(18,101,227,.14),rgba(17,155,120,.14));
    transform:rotate(-11deg);
    box-shadow:0 4px 14px rgba(18,101,227,.08);
}

.homev3-island.is-sumatra{
    top:75px;
    left:72px;
    width:100px;
    transform:rotate(40deg);
}

.homev3-island.is-java{
    top:160px;
    left:170px;
    width:118px;
    height:10px;
    transform:rotate(2deg);
}

.homev3-island.is-kalimantan{
    top:78px;
    left:205px;
    width:92px;
    height:67px;
    border-radius:48% 52% 54% 46%;
    transform:rotate(4deg);
}

.homev3-island.is-sulawesi{
    top:92px;
    left:322px;
    width:56px;
    height:54px;
    border-radius:55% 42% 58% 48%;
    transform:rotate(33deg);
}

.homev3-island.is-papua{
    top:103px;
    right:37px;
    width:95px;
    height:38px;
    transform:rotate(4deg);
}

.homev3-map-node{
    position:absolute;
    z-index:4;
    width:9px;
    height:9px;
    border:2px solid #fff;
    border-radius:50%;
    background:var(--hv3-blue);
    box-shadow:0 0 0 4px rgba(18,101,227,.12);
}

.homev3-map-node.node-a{top:92px;left:108px}
.homev3-map-node.node-b{top:161px;left:225px;background:var(--hv3-teal)}
.homev3-map-node.node-c{top:105px;left:252px}
.homev3-map-node.node-d{top:117px;left:345px;background:var(--hv3-orange)}
.homev3-map-node.node-e{top:121px;right:73px;background:var(--hv3-teal)}

.homev3-map-label{
    position:absolute;
    z-index:5;
    left:15px;
    bottom:13px;
    padding:8px 10px;
    border:1px solid rgba(220,229,237,.9);
    border-radius:10px;
    background:rgba(255,255,255,.88);
    box-shadow:0 6px 18px rgba(22,46,69,.05);
    backdrop-filter:blur(8px);
}

.homev3-map-label strong{
    display:block;
    color:#425970;
    font-size:.67rem;
}

.homev3-map-label span{
    display:block;
    margin-top:1px;
    color:#8b98a6;
    font-size:.57rem;
}

.homev3-platform-kpis{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid #e7edf3;
    border-bottom:1px solid #e7edf3;
}

.homev3-platform-kpis>div{
    padding:13px 9px;
    text-align:center;
}

.homev3-platform-kpis>div+div{
    border-left:1px solid #e7edf3;
}

.homev3-platform-kpis strong{
    display:block;
    color:#304860;
    font-size:1.1rem;
    font-weight:900;
}

.homev3-platform-kpis span{
    display:block;
    margin-top:2px;
    color:#8a97a5;
    font-size:.58rem;
}

.homev3-platform-update{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 28px;
    align-items:center;
    gap:9px;
    padding:11px 14px;
}

.homev3-platform-update-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:9px;
    background:var(--hv3-teal-soft);
    color:var(--hv3-teal);
}

.homev3-platform-update>div{
    min-width:0;
}

.homev3-platform-update>div>span{
    display:block;
    color:#99a3ad;
    font-size:.52rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.homev3-platform-update strong{
    display:block;
    margin-top:1px;
    overflow:hidden;
    color:#40566d;
    font-size:.68rem;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.homev3-platform-update small{
    display:block;
    margin-top:1px;
    overflow:hidden;
    color:#8a97a5;
    font-size:.56rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.homev3-platform-update>a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:27px;
    height:27px;
    border:1px solid #e0e7ee;
    border-radius:8px;
    color:#748597;
}

/* Module cards ---------------------------------------------------------- */

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

.homev3-module-card{
    display:flex;
    min-height:245px;
    padding:18px;
    flex-direction:column;
    border:1px solid var(--hv3-line);
    border-radius:16px;
    background:#fff;
    color:inherit;
    box-shadow:0 6px 18px rgba(20,36,55,.025);
    transition:.18s ease;
}

.homev3-module-card:hover{
    border-color:#c7d7e6;
    color:inherit;
    transform:translateY(-3px);
    box-shadow:var(--hv3-shadow-hover);
}

.homev3-module-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.homev3-module-label{
    color:#9aa4af;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.homev3-module-card h3{
    margin:18px 0 8px;
    color:#30475e;
    font-size:1.12rem;
    font-weight:900;
    letter-spacing:-.025em;
}

.homev3-module-card p{
    margin:0;
    color:#738396;
    font-size:.78rem;
    line-height:1.65;
}

.homev3-module-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:auto;
    padding-top:17px;
    border-top:1px solid #edf1f5;
}

.homev3-module-footer>span{
    color:#909caa;
    font-size:.63rem;
}

.homev3-module-footer>strong{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:var(--hv3-blue);
    font-size:.67rem;
    font-weight:850;
}

/* Data ------------------------------------------------------------------ */

.homev3-data-section{
    background:var(--hv3-page);
}

.homev3-data-shell{
    display:grid;
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
    gap:38px 48px;
    padding:28px;
    border:1px solid #dfe8f0;
    border-radius:20px;
    background:#fff;
    box-shadow:var(--hv3-shadow);
}

.homev3-data-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.homev3-data-copy h2{
    font-size:1.9rem;
}

.homev3-data-copy>p{
    margin-top:12px;
    font-size:.83rem;
}

.homev3-data-copy .homev3-text-link{
    margin-top:16px;
}

.homev3-live-kpis{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}

.homev3-live-kpis article{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-height:92px;
    padding:12px;
    border:1px solid #e4ebf2;
    border-radius:12px;
    background:#fbfdff;
}

.homev3-live-kpis article>.homev3-icon{
    grid-row:1/3;
    width:38px;
    height:38px;
}

.homev3-live-kpis strong{
    align-self:end;
    color:#31475e;
    font-size:1rem;
    line-height:1;
    font-weight:900;
}

.homev3-live-kpis small{
    align-self:start;
    margin-top:-2px;
    color:#8a97a5;
    font-size:.64rem;
}

.homev3-latest-station{
    grid-column:1/-1;
    overflow:hidden;
    border:1px solid #e1e9f1;
    border-radius:14px;
    background:linear-gradient(135deg,#f8fbff,#f7fdfb);
}

.homev3-latest-station-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 13px;
    border-bottom:1px solid #e5ecf2;
}

.homev3-latest-station-head>span:first-child{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#688096;
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.06em;
}

.homev3-status-pill{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:0 7px;
    border-radius:999px;
    background:var(--hv3-teal-soft);
    color:#0f8968;
    font-size:.52rem;
    font-weight:900;
}

.homev3-latest-station-body{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 15px;
}

.homev3-latest-station-body>div:first-child strong{
    display:block;
    color:#334a61;
    font-size:.92rem;
    font-weight:900;
}

.homev3-latest-station-body>div:first-child span{
    display:block;
    margin-top:2px;
    color:#8492a1;
    font-size:.7rem;
}

.homev3-latest-station-body>div:last-child{
    text-align:right;
}

.homev3-latest-station-body small{
    display:block;
    color:#929daa;
    font-size:.61rem;
}

.homev3-latest-station-body a{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin-top:3px;
    color:var(--hv3-blue);
    font-size:.67rem;
    font-weight:850;
}

/* Services -------------------------------------------------------------- */

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

.homev3-service-card{
    min-height:270px;
    padding:18px;
    border:1px solid var(--hv3-line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 6px 18px rgba(20,36,55,.025);
}

.homev3-service-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.homev3-service-head>span:last-child{
    color:#9aa4af;
    font-size:.59rem;
    font-weight:900;
    letter-spacing:.07em;
}

.homev3-service-card h3{
    margin:20px 0 8px;
    color:#30475e;
    font-size:1.03rem;
    font-weight:900;
    line-height:1.25;
}

.homev3-service-card p{
    min-height:88px;
    margin:0;
    color:#748497;
    font-size:.76rem;
    line-height:1.64;
}

.homev3-service-card>a{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin-top:15px;
    color:var(--hv3-blue);
    font-size:.69rem;
    font-weight:850;
}

/* Decision -------------------------------------------------------------- */

.homev3-decision-section{
    overflow:hidden;
    background:
        radial-gradient(circle at 0% 20%,rgba(18,101,227,.08),transparent 24%),
        radial-gradient(circle at 100% 80%,rgba(17,155,120,.08),transparent 24%),
        #f7f9fc;
}

.homev3-decision-header{
    max-width:760px;
    margin:0 auto 28px;
    text-align:center;
}

.homev3-decision-header .homev3-section-kicker{
    justify-content:center;
}

.homev3-decision-header h2{
    margin:9px 0 10px;
    color:var(--hv3-navy);
    font-size:2.5rem;
    font-weight:900;
    letter-spacing:-.05em;
}

.homev3-decision-header h2 em{
    color:var(--hv3-orange);
    font-style:normal;
}

.homev3-decision-header p{
    margin:0;
    color:#718296;
    font-size:.85rem;
    line-height:1.7;
}

.homev3-decision-flow{
    display:grid;
    grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) 38px minmax(0,1fr);
    align-items:center;
    gap:8px;
}

.homev3-decision-card{
    position:relative;
    min-height:285px;
    padding:20px;
    border:1px solid #dfe7ef;
    border-radius:17px;
    background:#fff;
    box-shadow:var(--hv3-shadow);
}

.homev3-step-number{
    position:absolute;
    top:15px;
    right:16px;
    color:#c3ccd5;
    font-size:1rem;
    font-weight:900;
}

.homev3-decision-card h3{
    margin:18px 0 11px;
    color:#30475e;
    font-size:1.1rem;
    font-weight:900;
    letter-spacing:.04em;
}

.homev3-decision-card ul{
    display:grid;
    gap:7px;
    margin:0;
    padding:0;
    list-style:none;
}

.homev3-decision-card li{
    position:relative;
    padding-left:17px;
    color:#6e7f92;
    font-size:.76rem;
}

.homev3-decision-card li:before{
    content:"";
    position:absolute;
    top:.55em;
    left:0;
    width:6px;
    height:6px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--hv3-blue),var(--hv3-teal));
}

.homev3-decision-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border:1px solid #dfe7ef;
    border-radius:50%;
    background:#fff;
    color:#8291a0;
    box-shadow:0 5px 15px rgba(20,36,55,.04);
}

.homev3-decision-caption{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin-top:22px;
    color:#8a96a5;
    font-size:.73rem;
    letter-spacing:.04em;
}

.homev3-decision-caption>span:nth-child(2),
.homev3-decision-caption>span:nth-child(4){
    width:34px;
    height:1px;
    background:#d6dfe8;
}

.homev3-decision-caption strong{
    color:var(--hv3-blue);
}

.homev3-decision-caption em{
    color:var(--hv3-orange);
    font-style:normal;
    font-weight:850;
}

/* Engineer Network ------------------------------------------------------ */

.homev3-network-section{
    background:#fff;
}

.homev3-network-grid{
    display:grid;
    grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr);
    align-items:center;
    gap:54px;
}

.homev3-network-copy h2{
    max-width:570px;
    font-size:2.28rem;
}

.homev3-network-copy h2 em{
    display:block;
    color:var(--hv3-blue);
    font-style:normal;
}

.homev3-network-copy>p{
    max-width:570px;
    margin-top:14px;
    font-size:.86rem;
}

.homev3-network-benefits{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:20px;
}

.homev3-network-benefits>div{
    display:flex;
    align-items:center;
    gap:7px;
    min-height:37px;
    padding:0 9px;
    border:1px solid #e5ebf1;
    border-radius:9px;
    background:#fafcfe;
    color:#65778b;
    font-size:.69rem;
    font-weight:750;
}

.homev3-network-benefits i{
    color:var(--hv3-blue);
    font-size:.85rem;
}

.homev3-network-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:13px;
    margin-top:21px;
}

.homev3-engineer-stack{
    position:relative;
    min-height:480px;
}

.homev3-engineer-card{
    position:absolute;
    display:block;
    width:350px;
    overflow:hidden;
    border:1px solid #dce6ef;
    border-radius:17px;
    background:#fff;
    color:inherit;
    box-shadow:0 18px 45px rgba(23,45,66,.11);
    transition:.18s ease;
}

.homev3-engineer-card:hover{
    color:inherit;
    transform:translateY(-3px);
    box-shadow:0 23px 54px rgba(23,45,66,.15);
}

.homev3-engineer-card-1{
    top:20px;
    left:20px;
    z-index:4;
}

.homev3-engineer-card-2{
    top:145px;
    right:5px;
    z-index:3;
    transform:scale(.94);
}

.homev3-engineer-card-3{
    top:276px;
    left:66px;
    z-index:2;
    transform:scale(.89);
}

.homev3-engineer-card-2:hover{
    transform:scale(.94) translateY(-3px);
}

.homev3-engineer-card-3:hover{
    transform:scale(.89) translateY(-3px);
}

.homev3-engineer-cover{
    position:relative;
    height:76px;
    overflow:hidden;
    background:
        radial-gradient(circle at 92% 10%,rgba(17,155,120,.28),transparent 28%),
        linear-gradient(135deg,#153754,#1265e3 55%,#0e8e82);
}

.homev3-engineer-cover>span{
    position:absolute;
    top:14px;
    left:15px;
    color:rgba(255,255,255,.9);
    font-size:.52rem;
    font-weight:900;
    letter-spacing:.08em;
}

.homev3-cover-wave{
    position:absolute;
    right:-12px;
    bottom:-20px;
    width:180px;
    height:70px;
    opacity:.7;
}

.homev3-cover-wave i{
    position:absolute;
    right:0;
    bottom:0;
    width:180px;
    height:50px;
    border:1px solid rgba(255,255,255,.26);
    border-radius:50%;
}

.homev3-cover-wave i:nth-child(2){
    right:20px;
    bottom:-10px;
}

.homev3-cover-wave i:nth-child(3){
    right:42px;
    bottom:-20px;
}

.homev3-engineer-body{
    display:grid;
    grid-template-columns:50px minmax(0,1fr) 24px;
    align-items:center;
    gap:9px;
    padding:12px 14px 14px;
}

.homev3-engineer-avatar{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    margin-top:-32px;
    overflow:hidden;
    border:3px solid #fff;
    border-radius:50%;
    background:linear-gradient(135deg,#eaf4ff,#eaf9f4);
    color:#276a9e;
    font-size:.7rem;
    font-weight:900;
    box-shadow:0 4px 12px rgba(20,36,55,.08);
}

.homev3-engineer-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.homev3-engineer-body>div{
    min-width:0;
}

.homev3-engineer-body strong{
    display:block;
    overflow:hidden;
    color:#324a61;
    font-size:.76rem;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.homev3-engineer-body p{
    margin:2px 0 0;
    overflow:hidden;
    color:#6d7f92;
    font-size:.64rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.homev3-engineer-body small{
    display:block;
    margin-top:3px;
    overflow:hidden;
    color:#929daa;
    font-size:.55rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.homev3-engineer-body>i{
    color:#94a0ad;
}

.homev3-network-stat{
    position:absolute;
    right:22px;
    bottom:8px;
    z-index:5;
    width:175px;
    padding:12px;
    border:1px solid #dce6ef;
    border-radius:13px;
    background:rgba(255,255,255,.93);
    box-shadow:0 14px 35px rgba(23,45,66,.09);
    backdrop-filter:blur(8px);
}

.homev3-network-stat strong{
    display:block;
    color:var(--hv3-blue);
    font-size:1.12rem;
    font-weight:900;
}

.homev3-network-stat span{
    display:block;
    margin-top:1px;
    color:#718296;
    font-size:.58rem;
}

.homev3-network-stat a{
    display:inline-flex;
    align-items:center;
    gap:3px;
    margin-top:7px;
    color:#536e86;
    font-size:.57rem;
    font-weight:850;
}

/* Process --------------------------------------------------------------- */

.homev3-process{
    position:relative;
    overflow:hidden;
    padding:78px 0;
    background:
        radial-gradient(circle at 90% 15%,rgba(12,148,175,.14),transparent 23%),
        radial-gradient(circle at 10% 90%,rgba(18,101,227,.12),transparent 27%),
        var(--hv3-navy-deep);
}

.homev3-process:before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.12;
    background-image:
        radial-gradient(circle at 15% 20%,#fff 1px,transparent 1px),
        radial-gradient(circle at 78% 62%,#fff 1px,transparent 1px);
    background-size:42px 42px,55px 55px;
}

.homev3-process>.homev3-container{
    position:relative;
    z-index:1;
}

.homev3-process .homev3-section-kicker{
    color:#63c5d7;
}

.homev3-process-head{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(300px,.58fr);
    align-items:end;
    gap:38px;
}

.homev3-process-head h2{
    color:#fff;
    font-size:2.25rem;
}

.homev3-process-head h2 em{
    color:#73c7b2;
    font-style:normal;
}

.homev3-process-head>p{
    color:#aab7c4;
    font-size:.83rem;
}

.homev3-process-flow{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:34px;
}

.homev3-process-flow:before{
    content:"";
    position:absolute;
    top:28px;
    right:12%;
    left:12%;
    height:1px;
    background:linear-gradient(90deg,rgba(96,165,250,.35),rgba(72,187,161,.35));
}

.homev3-process-flow article{
    position:relative;
    min-height:230px;
    padding:18px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:15px;
    background:rgba(255,255,255,.055);
    backdrop-filter:blur(5px);
}

.homev3-process-number{
    position:absolute;
    top:13px;
    right:14px;
    color:rgba(255,255,255,.18);
    font-size:1.05rem;
    font-weight:900;
}

.homev3-process-icon{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    width:47px;
    height:47px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:12px;
    background:#fff;
    color:var(--hv3-blue);
    font-size:1rem;
    box-shadow:0 8px 20px rgba(0,0,0,.1);
}

.homev3-process-flow article:nth-child(2) .homev3-process-icon{color:var(--hv3-cyan)}
.homev3-process-flow article:nth-child(3) .homev3-process-icon{color:var(--hv3-teal)}
.homev3-process-flow article:nth-child(4) .homev3-process-icon{color:var(--hv3-orange)}

.homev3-process-flow h3{
    margin:22px 0 8px;
    color:#fff;
    font-size:.92rem;
    font-weight:850;
}

.homev3-process-flow p{
    margin:0;
    color:#aab6c2;
    font-size:.7rem;
    line-height:1.63;
}

/* Why ------------------------------------------------------------------- */

.homev3-why-section{
    background:var(--hv3-page);
}

.homev3-why-grid{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);
    gap:48px;
    align-items:center;
}

.homev3-why-copy h2{
    font-size:2.15rem;
}

.homev3-why-copy h2 em{
    color:var(--hv3-blue);
    font-style:normal;
}

.homev3-why-copy>p{
    margin-top:13px;
    font-size:.83rem;
}

.homev3-challenge-list{
    display:grid;
    gap:8px;
    margin-top:22px;
}

.homev3-challenge-list article{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    padding:10px;
    border:1px solid #e3eaf1;
    border-radius:11px;
    background:#fff;
}

.homev3-challenge-list article>span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:10px;
    background:var(--hv3-blue-soft);
    color:var(--hv3-blue);
}

.homev3-challenge-list article:nth-child(2)>span{
    background:var(--hv3-cyan-soft);
    color:var(--hv3-cyan);
}

.homev3-challenge-list article:nth-child(3)>span{
    background:var(--hv3-teal-soft);
    color:var(--hv3-teal);
}

.homev3-challenge-list strong{
    display:block;
    color:#40566d;
    font-size:.75rem;
    font-weight:850;
}

.homev3-challenge-list p{
    margin:2px 0 0;
    color:#8391a0;
    font-size:.66rem;
    line-height:1.5;
}

.homev3-solution-card{
    padding:18px;
    border:1px solid #dce6ef;
    border-radius:18px;
    background:#fff;
    box-shadow:var(--hv3-shadow);
}

.homev3-solution-head{
    padding-bottom:12px;
    border-bottom:1px solid #e9eef3;
}

.homev3-solution-head span{
    display:block;
    color:var(--hv3-cyan);
    font-size:.59rem;
    font-weight:900;
    letter-spacing:.08em;
}

.homev3-solution-head strong{
    display:block;
    margin-top:3px;
    color:#30475e;
    font-size:1.04rem;
    font-weight:900;
}

.homev3-solution-diagram{
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    gap:5px;
    padding:18px 0;
}

.homev3-solution-diagram>div{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    align-items:center;
    gap:9px;
    width:220px;
    padding:9px;
    border:1px solid #e3eaf1;
    border-radius:11px;
    background:#fafcfe;
}

.homev3-solution-diagram .homev3-icon{
    width:38px;
    height:38px;
}

.homev3-solution-diagram strong{
    color:#486076;
    font-size:.72rem;
}

.homev3-solution-diagram>i{
    color:#a4b0bb;
}

.homev3-solution-points{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    padding-top:12px;
    border-top:1px solid #e9eef3;
}

.homev3-solution-points span{
    display:flex;
    align-items:flex-start;
    gap:5px;
    color:#718296;
    font-size:.61rem;
    line-height:1.4;
}

.homev3-solution-points i{
    margin-top:1px;
    color:var(--hv3-teal);
}

/* Knowledge ------------------------------------------------------------- */

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

.homev3-knowledge-card{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 24px;
    align-items:start;
    gap:10px;
    min-height:165px;
    padding:16px;
    border:1px solid var(--hv3-line);
    border-radius:15px;
    background:#fff;
    color:inherit;
    box-shadow:0 5px 17px rgba(20,36,55,.025);
    transition:.17s ease;
}

.homev3-knowledge-card:hover{
    color:inherit;
    transform:translateY(-2px);
    border-color:#c7d7e6;
    box-shadow:var(--hv3-shadow-hover);
}

.homev3-knowledge-card>div{
    min-width:0;
}

.homev3-knowledge-card>div>span{
    color:#9aa4af;
    font-size:.54rem;
    font-weight:900;
    letter-spacing:.07em;
}

.homev3-knowledge-card h3{
    margin:4px 0 7px;
    color:#334a61;
    font-size:.92rem;
    font-weight:900;
}

.homev3-knowledge-card p{
    margin:0;
    color:#7d8b9b;
    font-size:.67rem;
    line-height:1.55;
}

.homev3-knowledge-card>i{
    color:#97a2ae;
}

/* Impact ---------------------------------------------------------------- */

.homev3-impact-section{
    padding-top:30px;
}

.homev3-impact-shell{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
    gap:44px;
    align-items:center;
    overflow:hidden;
    padding:34px;
    border:1px solid #dfe7ef;
    border-radius:20px;
    background:
        radial-gradient(circle at 90% 20%,rgba(12,148,175,.10),transparent 26%),
        linear-gradient(135deg,#fff,#f7fbff);
    box-shadow:var(--hv3-shadow);
}

.homev3-impact-copy h2{
    font-size:1.95rem;
}

.homev3-impact-copy>p{
    margin-top:12px;
    font-size:.8rem;
}

.homev3-impact-list{
    display:grid;
    gap:7px;
    margin-top:18px;
}

.homev3-impact-list span{
    display:flex;
    align-items:flex-start;
    gap:7px;
    color:#65788d;
    font-size:.69rem;
    line-height:1.45;
}

.homev3-impact-list i{
    margin-top:1px;
    color:var(--hv3-teal);
}

.homev3-impact-visual{
    min-width:0;
}

.homev3-impact-map{
    position:relative;
    height:345px;
    overflow:hidden;
    border:1px solid #dae5ee;
    border-radius:17px;
    background:
        linear-gradient(rgba(87,112,136,.055) 1px,transparent 1px),
        linear-gradient(90deg,rgba(87,112,136,.055) 1px,transparent 1px),
        linear-gradient(135deg,#edf6fb,#f7fbff);
    background-size:26px 26px,26px 26px,auto;
}

.homev3-river-line{
    position:absolute;
    height:12px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(18,101,227,.14),rgba(12,148,175,.30));
    transform-origin:left center;
}

.homev3-river-line:after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--hv3-blue),#45b8cb);
    opacity:.6;
}

.homev3-river-line.river-1{
    top:80px;
    left:28px;
    width:385px;
    transform:rotate(13deg);
}

.homev3-river-line.river-2{
    top:190px;
    left:65px;
    width:350px;
    transform:rotate(-12deg);
}

.homev3-river-line.river-3{
    top:240px;
    left:185px;
    width:230px;
    transform:rotate(18deg);
}

.homev3-impact-node{
    position:absolute;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:4px solid #fff;
    border-radius:50%;
    background:var(--hv3-blue);
    color:#fff;
    box-shadow:0 8px 20px rgba(20,36,55,.13);
}

.homev3-impact-node.node-1{top:63px;left:83px}
.homev3-impact-node.node-2{top:171px;left:242px;background:var(--hv3-cyan)}
.homev3-impact-node.node-3{top:246px;right:55px;background:var(--hv3-teal)}

.homev3-impact-label{
    position:absolute;
    z-index:4;
    min-width:120px;
    padding:8px 9px;
    border:1px solid #dfe7ef;
    border-radius:9px;
    background:rgba(255,255,255,.92);
    box-shadow:0 7px 18px rgba(20,36,55,.07);
}

.homev3-impact-label span{
    display:block;
    color:#99a4af;
    font-size:.49rem;
    font-weight:900;
    letter-spacing:.06em;
}

.homev3-impact-label strong{
    display:block;
    margin-top:2px;
    color:#445c73;
    font-size:.69rem;
}

.homev3-impact-label.label-1{top:30px;left:125px}
.homev3-impact-label.label-2{top:132px;left:285px}
.homev3-impact-label.label-3{right:85px;bottom:24px}

/* Final CTA ------------------------------------------------------------- */

.homev3-final-cta{
    padding:30px 0 78px;
}

.homev3-final-cta-shell{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:35px;
    overflow:hidden;
    padding:35px;
    border-radius:20px;
    background:
        radial-gradient(circle at 88% 0%,rgba(40,193,160,.23),transparent 25%),
        linear-gradient(135deg,#153754,#1265e3 58%,#0b7e75);
    box-shadow:0 20px 50px rgba(18,70,120,.18);
}

.homev3-final-cta-shell:after{
    content:"";
    position:absolute;
    right:-60px;
    bottom:-95px;
    width:240px;
    height:240px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    box-shadow:
        0 0 0 40px rgba(255,255,255,.03),
        0 0 0 80px rgba(255,255,255,.02);
}

.homev3-final-cta-shell>*{
    position:relative;
    z-index:1;
}

.homev3-final-cta-shell>div:first-child>span{
    display:block;
    color:#82d2d6;
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.1em;
}

.homev3-final-cta h2{
    max-width:720px;
    margin-top:7px;
    color:#fff;
    font-size:1.9rem;
}

.homev3-final-cta p{
    max-width:680px;
    margin:10px 0 0;
    color:#d3deea;
    font-size:.78rem;
    line-height:1.6;
}

.homev3-final-actions{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:210px;
}

.homev3-btn-white{
    border:1px solid #fff;
    background:#fff;
    color:#1c5c9a;
}

.homev3-btn-outline-white{
    border:1px solid rgba(255,255,255,.3);
    background:rgba(255,255,255,.08);
    color:#fff;
}

.homev3-btn-outline-white:hover{
    background:rgba(255,255,255,.14);
    color:#fff;
}

/* Footer ---------------------------------------------------------------- */

.homev3-footer{
    position:relative;
    padding:62px 0 22px;
    overflow:hidden;
    background:#101d2d;
    color:#c9d4df;
}

.homev3-footer-wave{
    position:absolute;
    top:-60px;
    right:-40px;
    width:520px;
    height:150px;
    border:1px solid rgba(255,255,255,.05);
    border-radius:50%;
    box-shadow:
        0 0 0 45px rgba(255,255,255,.018),
        0 0 0 90px rgba(255,255,255,.012);
}

.homev3-footer-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.35fr repeat(3,.62fr) 1fr;
    gap:36px;
}

.homev3-footer-brand img{
    width:auto;
    height:38px;
    padding:6px 9px;
    border-radius:9px;
    background:#fff;
}

.homev3-footer-brand p{
    max-width:300px;
    margin:14px 0 0;
    color:#8fa0b1;
    font-size:.7rem;
    line-height:1.65;
}

.homev3-footer-badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:26px;
    margin-top:13px;
    padding:0 8px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    color:#9dc9c4;
    font-size:.57rem;
    font-weight:800;
}

.homev3-footer-column strong,
.homev3-footer-contact>strong{
    display:block;
    margin-bottom:12px;
    color:#fff;
    font-size:.72rem;
    font-weight:850;
}

.homev3-footer-column a{
    display:block;
    margin-top:8px;
    color:#8fa0b1;
    font-size:.66rem;
}

.homev3-footer-column a:hover,
.homev3-footer-contact a:hover{
    color:#fff;
}

.homev3-footer-contact p{
    margin:0 0 9px;
    color:#8fa0b1;
    font-size:.65rem;
    line-height:1.55;
}

.homev3-footer-contact a{
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:6px;
    color:#9eafbf;
    font-size:.63rem;
}

.homev3-footer-bottom{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:38px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.07);
    color:#77899a;
    font-size:.59rem;
}

.homev3-footer-bottom>div{
    display:flex;
    align-items:center;
    gap:5px;
}

.homev3-footer-bottom a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:29px;
    height:29px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:8px;
    color:#9aabba;
}

/* Reveal ---------------------------------------------------------------- */

[data-home-reveal]{
    opacity:0;
    transform:translateY(13px);
    transition:
        opacity .45s ease,
        transform .45s ease;
}

[data-home-reveal].is-visible{
    opacity:1;
    transform:none;
}

/* Responsive ------------------------------------------------------------ */

@media(max-width:1199.98px){
    .homev3-nav-shell{
        grid-template-columns:155px minmax(0,1fr) auto;
        gap:10px;
    }

    .homev3-nav-link{
        padding:0 6px;
        font-size:.7rem;
    }

    .homev3-hero-grid{
        grid-template-columns:minmax(0,1fr) minmax(390px,.88fr);
        gap:36px;
    }

    .homev3-hero h1{
        font-size:3rem;
    }

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

    .homev3-network-grid{
        grid-template-columns:minmax(0,.9fr) minmax(450px,1.1fr);
        gap:35px;
    }

    .homev3-detail-unused{display:none}

    .homev3-footer-grid{
        grid-template-columns:1.2fr repeat(2,.7fr) 1fr;
    }

    .homev3-footer-grid>.homev3-footer-column:nth-child(4){
        display:none;
    }
}

@media(max-width:991.98px){
    .homev3-header{
        background:rgba(255,255,255,.97);
    }

    .homev3-nav-shell{
        position:relative;
        grid-template-columns:1fr auto auto;
        min-height:68px;
    }

    .homev3-menu-toggle{
        display:block;
        grid-column:2;
    }

    .homev3-nav-actions{
        grid-column:3;
    }

    .homev3-nav{
        position:absolute;
        top:calc(100% + 1px);
        left:0;
        right:0;
        display:none;
        max-height:calc(100vh - 80px);
        overflow:auto;
        padding:9px;
        border:1px solid var(--hv3-line);
        border-radius:0 0 14px 14px;
        background:#fff;
        box-shadow:0 18px 40px rgba(20,36,55,.10);
    }

    .homev3-nav.is-open{
        display:grid;
    }

    .homev3-nav-link{
        justify-content:space-between;
        width:100%;
        min-height:43px;
        padding:0 10px;
        font-size:.77rem;
    }

    .homev3-dropdown,
    .homev3-dropdown-wide{
        position:static;
        display:none;
        width:auto;
        margin:0 5px 8px;
        padding:6px;
        border-radius:10px;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        transform:none;
    }

    .homev3-nav-group.is-open>.homev3-dropdown{
        display:grid;
        transform:none;
    }

    .homev3-nav-group:hover>.homev3-dropdown{
        display:none;
    }

    .homev3-nav-group.is-open:hover>.homev3-dropdown{
        display:grid;
    }

    .homev3-hero{
        padding:118px 0 65px;
    }

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

    .homev3-hero-copy{
        max-width:760px;
    }

    .homev3-platform-card{
        max-width:650px;
    }

    .homev3-section-head,
    .homev3-process-head{
        grid-template-columns:1fr;
        gap:12px;
    }

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

    .homev3-data-shell{
        grid-template-columns:1fr;
    }

    .homev3-decision-flow{
        grid-template-columns:1fr;
        max-width:680px;
        margin:0 auto;
    }

    .homev3-decision-arrow{
        margin:0 auto;
        transform:rotate(90deg);
    }

    .homev3-decision-card{
        min-height:0;
    }

    .homev3-network-grid{
        grid-template-columns:1fr;
    }

    .homev3-engineer-stack{
        max-width:620px;
    }

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

    .homev3-process-flow:before{
        display:none;
    }

    .homev3-why-grid{
        grid-template-columns:1fr;
    }

    .homev3-solution-card{
        max-width:600px;
    }

    .homev3-knowledge-grid{
        grid-template-columns:1fr;
    }

    .homev3-impact-shell{
        grid-template-columns:1fr;
    }

    .homev3-final-cta-shell{
        grid-template-columns:1fr;
    }

    .homev3-final-actions{
        flex-direction:row;
        flex-wrap:wrap;
    }

    .homev3-footer-grid{
        grid-template-columns:1.2fr repeat(2,.8fr);
    }

    .homev3-footer-contact{
        grid-column:1/-1;
    }
}

@media(max-width:767.98px){
    .homev3-container{
        width:min(100% - 28px,1180px);
    }

    .homev3-account-link{
        width:38px;
        padding:0;
        font-size:0;
    }

    .homev3-account-link i{
        font-size:1rem;
    }

    .homev3-hero{
        padding:105px 0 54px;
    }

    .homev3-hero h1{
        font-size:2.35rem;
    }

    .homev3-hero-copy>p{
        font-size:.9rem;
    }

    .homev3-section{
        padding:58px 0;
    }

    .homev3-section-head h2,
    .homev3-data-copy h2,
    .homev3-network-copy h2,
    .homev3-why-copy h2,
    .homev3-impact-copy h2,
    .homev3-process-head h2{
        font-size:1.72rem;
    }

    .homev3-module-grid,
    .homev3-service-grid{
        grid-template-columns:1fr;
    }

    .homev3-module-card{
        min-height:220px;
    }

    .homev3-data-shell{
        padding:19px;
    }

    .homev3-live-kpis{
        grid-template-columns:1fr;
    }

    .homev3-latest-station-body{
        align-items:flex-start;
        flex-direction:column;
    }

    .homev3-latest-station-body>div:last-child{
        text-align:left;
    }

    .homev3-decision-header h2{
        font-size:1.9rem;
    }

    .homev3-network-benefits{
        grid-template-columns:1fr;
    }

    .homev3-engineer-stack{
        display:grid;
        gap:8px;
        min-height:0;
    }

    .homev3-engineer-card,
    .homev3-engineer-card-1,
    .homev3-engineer-card-2,
    .homev3-engineer-card-3{
        position:relative;
        top:auto;
        right:auto;
        left:auto;
        width:100%;
        transform:none;
    }

    .homev3-engineer-card-2:hover,
    .homev3-engineer-card-3:hover{
        transform:translateY(-2px);
    }

    .homev3-network-stat{
        position:relative;
        right:auto;
        bottom:auto;
        width:100%;
    }

    .homev3-process{
        padding:58px 0;
    }

    .homev3-process-flow{
        grid-template-columns:1fr;
    }

    .homev3-solution-points{
        grid-template-columns:1fr;
    }

    .homev3-impact-shell{
        padding:20px;
    }

    .homev3-impact-map{
        height:290px;
    }

    .homev3-final-cta-shell{
        padding:23px;
    }

    .homev3-final-cta h2{
        font-size:1.52rem;
    }

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

    .homev3-footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:28px 20px;
    }

    .homev3-footer-brand,
    .homev3-footer-contact{
        grid-column:1/-1;
    }

    .homev3-footer-bottom{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media(max-width:479.98px){
    .homev3-nav-shell{
        width:calc(100% - 22px);
    }

    .homev3-brand{
        max-width:132px;
    }

    .homev3-brand img{
        height:29px;
    }

    .homev3-hero h1{
        font-size:2rem;
    }

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

    .homev3-btn{
        width:100%;
    }

    .homev3-platform-map{
        height:190px;
    }

    .homev3-island.is-sumatra{
        left:33px;
        transform:scale(.8) rotate(40deg);
    }

    .homev3-island.is-java{
        left:105px;
        transform:scale(.75);
    }

    .homev3-island.is-kalimantan{
        left:142px;
        transform:scale(.75);
    }

    .homev3-island.is-sulawesi{
        left:232px;
        transform:scale(.7) rotate(33deg);
    }

    .homev3-island.is-papua{
        right:4px;
        transform:scale(.72);
    }

    .homev3-map-node.node-a{left:70px}
    .homev3-map-node.node-b{left:160px;top:147px}
    .homev3-map-node.node-c{left:181px}
    .homev3-map-node.node-d{left:260px}
    .homev3-map-node.node-e{right:40px}

    .homev3-platform-kpis strong{
        font-size:.88rem;
    }

    .homev3-platform-kpis span{
        font-size:.48rem;
    }

    .homev3-impact-map{
        height:240px;
    }

    .homev3-impact-label{
        min-width:92px;
        transform:scale(.82);
        transform-origin:left top;
    }

    .homev3-footer-grid{
        grid-template-columns:1fr;
    }

    .homev3-footer-brand,
    .homev3-footer-contact{
        grid-column:auto;
    }
}

@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto;
    }

    *,
    *:before,
    *:after{
        transition:none!important;
        animation:none!important;
    }

    [data-home-reveal]{
        opacity:1;
        transform:none;
    }
}

/* ==========================================================================
   HOMEPAGE V3.1 — HEADER MATCH TO ENGINEER NETWORK
   Reference:
   - header height 72px
   - logo 28px
   - nav font .68rem
   - nav control min-height 40px
   - account control 38px
   - desktop inner width up to 1500px
   - mobile header 62px, logo 25px
   ========================================================================== */

:root{
    --homev3-header-height:72px;
}

/*
 * Homepage and Engineer Network load the same Sandbox style.css.
 * Keep the inherited font family, then match the Engineer Network
 * typography scale and control dimensions exactly.
 */
.homev3-header,
.homev3-header button,
.homev3-header input,
.homev3-header a{
    font-family:inherit;
}

.homev3-header{
    height:var(--homev3-header-height);
    border-bottom:1px solid rgba(224,231,239,.94);
    background:rgba(255,255,255,.97);
    box-shadow:0 3px 18px rgba(21,34,50,.045);
}

.homev3-header.is-scrolled{
    border-bottom-color:rgba(224,231,239,.94);
    background:rgba(255,255,255,.97);
    box-shadow:0 3px 18px rgba(21,34,50,.045);
}

.homev3-nav-shell{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:1.2rem;
    width:min(1500px,calc(100% - 40px));
    min-height:0;
    height:100%;
}

.homev3-brand{
    gap:.7rem;
    max-width:none;
    flex:0 0 auto;
}

.homev3-brand img{
    width:auto;
    max-width:none;
    height:28px;
    object-fit:contain;
}

.homev3-nav{
    gap:.15rem;
    white-space:nowrap;
}

.homev3-nav-link{
    position:relative;
    min-height:40px;
    padding:.58rem .72rem;
    border-radius:8px;
    color:#536176;
    font-size:.68rem;
    font-weight:780;
    line-height:1.2;
}

.homev3-nav-link i{
    font-size:.72rem;
}

.homev3-nav-link:hover,
.homev3-nav-link:focus{
    background:#f4f8fd;
    color:#1265e3;
}

.homev3-account-link{
    min-height:38px;
    padding:.52rem .9rem;
    border:1px solid #dce4ed;
    border-radius:8px;
    background:#fff;
    color:#425268;
    font-size:.65rem;
    font-weight:800;
    box-shadow:none;
}

.homev3-account-link i{
    font-size:.78rem;
}

.homev3-account-link:hover{
    border-color:#dce4ed;
    background:#f5f8fc;
    color:#1265e3;
}

/* Dropdown typography follows the same compact Engineer Network scale. */
.homev3-dropdown{
    top:calc(100% + 8px);
    border-color:#e4eaf1;
    border-radius:12px;
}

.homev3-dropdown>a{
    min-height:56px;
    border-radius:8px;
}

.homev3-dropdown strong{
    color:#425268;
    font-size:.68rem;
    font-weight:800;
}

.homev3-dropdown small{
    color:#8795a7;
    font-size:.56rem;
    line-height:1.4;
}

.homev3-dropdown-icon{
    width:34px;
    height:34px;
    border-radius:9px;
    font-size:.82rem;
}

/*
 * Hero top spacing is adjusted only to compensate for the header
 * changing from 76px to 72px.
 */
.homev3-hero{
    padding-top:138px;
}

@media(max-width:1299.98px){
    .homev3-nav-shell{
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:.9rem;
        width:min(1500px,calc(100% - 32px));
    }

    .homev3-nav-link{
        padding:.58rem .58rem;
        font-size:.66rem;
    }
}

@media(max-width:991.98px){
    :root{
        --homev3-header-height:62px;
    }

    .homev3-nav-shell{
        grid-template-columns:1fr auto auto;
        width:min(100% - 24px,1460px);
        height:100%;
        min-height:0;
        gap:.7rem;
    }

    .homev3-brand img{
        height:25px;
    }

    .homev3-menu-toggle{
        width:39px;
        height:39px;
        border:0;
        border-radius:9px;
        background:#f4f7fb;
    }

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

    .homev3-nav-link{
        min-height:44px;
        padding:.65rem .75rem;
        border-radius:9px;
        font-size:.72rem;
        font-weight:750;
    }

    .homev3-account-link{
        min-width:38px;
        width:38px;
        height:38px;
        min-height:38px;
        padding:0;
        border-radius:50%;
        font-size:0;
    }

    .homev3-account-link i{
        font-size:.92rem;
    }

    .homev3-hero{
        padding-top:108px;
    }
}

@media(max-width:767.98px){
    :root{
        --homev3-header-height:62px;
    }

    .homev3-brand img{
        height:25px;
    }

    .homev3-hero{
        padding-top:100px;
    }
}

@media(max-width:479.98px){
    .homev3-nav-shell{
        width:calc(100% - 20px);
    }

    .homev3-brand{
        max-width:none;
    }

    .homev3-brand img{
        height:25px;
    }
}
