/* ===== INDEX PAGE SPECIFIC ===== */
.hero-section{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy)}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s var(--ease)}
.hero-slide.active{opacity:1}
.hero-overlay{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,28,43,.6) 0%,rgba(14,28,43,.15) 38%,rgba(14,28,43,.25) 60%,rgba(14,28,43,.9) 100%)}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:clamp(56px,8vw,104px);color:#fff}
.hero-content .eyebrow{color:var(--stone)}
.hero-content h1{font-weight:300;line-height:1.03;font-size:clamp(2.7rem,7vw,5.6rem);letter-spacing:-.01em;max-width:16ch}
.hero-content .hero-desc{max-width:50ch;margin-top:22px;font-size:clamp(1rem,1.3vw,1.16rem);color:rgba(255,255,255,.85);font-weight:300}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-dots{position:absolute;right:clamp(20px,5vw,52px);bottom:clamp(56px,8vw,104px);z-index:3;display:flex;gap:10px}
.hero-dots button{width:26px;height:9px;border-radius:6px;background:var(--stone);transition:.3s;border:none;cursor:pointer}
.hero-dots button:not(.active){width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35)}
.hero-section.dark-section{border-top:1px solid rgba(255,255,255,.08)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.stat{padding:50px 28px;text-align:center;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;gap:6px}
.stat:last-child{border-right:none}
.stat .num{font-size:clamp(2.4rem,4vw,3.4rem);font-weight:300;color:var(--stone);line-height:1}
.stat span{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:600}
#abGrid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(36px,6vw,80px);align-items:center}
.about-img{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lift);aspect-ratio:4/5}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-badge{position:absolute;left:20px;bottom:20px;background:var(--navy);color:#fff;padding:18px 22px;border-radius:10px;box-shadow:var(--shadow-lift)}
.about-badge b{font-size:1.9rem;font-weight:300;color:var(--stone);display:block;line-height:1}
.about-badge span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;opacity:.85}
.about-content h2{font-weight:300;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin-bottom:8px}
.why-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
.why-card{flex:0 0 calc((100% - 40px) / 3);min-width:280px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:34px 26px;backdrop-filter:blur(6px);transition:transform .3s,box-shadow .3s,background .3s}
.why-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.18);background:rgba(255,255,255,.1)!important}
.project-card{display:grid;grid-template-columns:1fr 1fr;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-soft);margin-bottom:34px}
.project-card:last-child{margin-bottom:0}
.project-img{min-height:360px;overflow:hidden}
.project-img img{width:100%;height:100%;object-fit:cover}
.project-content{padding:clamp(30px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.project-logo{height:70px;width:auto;margin-bottom:18px;align-self:flex-start}
.project-tag{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone-deep);font-weight:700;margin-bottom:10px}
.project-title{font-size:1.9rem;font-weight:400;margin-bottom:14px}
.project-desc{color:var(--ink-2);line-height:1.7;margin-bottom:22px}
.project-card .btn{align-self:flex-start}
.stat-icon{height:42px;margin-bottom:10px}
.cta-section{text-align:center}
.cta-section h2{font-weight:300;font-size:clamp(1.9rem,4vw,3rem);line-height:1.1}
.cta-section .reveal{margin:16px auto 30px;max-width:46ch;color:rgba(255,255,255,.8);font-weight:300}
.why-card-num{font-size:1rem;color:var(--stone)}
.why-card-title{font-size:1.22rem;font-weight:500;margin:12px 0 10px}
.why-card-desc{font-size:.86rem;color:rgba(255,255,255,.7);line-height:1.6}
@media(max-width:1024px){#abGrid{grid-template-columns:1fr!important}.why-card{flex:0 0 calc((100% - 20px) / 2)!important}.project-card{grid-template-columns:1fr!important}}
@media(max-width:640px){.stats-grid{grid-template-columns:1fr!important}.why-card{flex:1 1 100%!important;min-width:auto!important}.about-img{aspect-ratio:16/9!important}.hero-content h1{font-size:clamp(2rem,8vw,3.5rem)!important}.hero-content .hero-desc{font-size:clamp(.9rem,2vw,1.05rem)!important}.project-img{min-height:220px}}