/* HOME PAGE ONLY */
.hero{position:relative;min-height:calc(100vh - var(--nav-h));display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
/* TODO: Replace hero slideshow images in assets/images/ (slider-1.jpg, slider-2.jpg, slider-3.jpeg) */
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;animation:heroSlide 15s infinite}
.hero-slide.slide-3{background-image:url('../assets/images/slider-3.jpg');animation-delay:0s}
.hero-slide.slide-1{background-image:url('../assets/images/slider-1.jpg');animation-delay:5s}
.hero-slide.slide-2{background-image:url('../assets/images/slider-2.jpg');animation-delay:10s}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.15) 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.45) 100%)}
@keyframes heroSlide{
  0%{opacity:1}
  30%{opacity:1}
  36%{opacity:0}
  100%{opacity:0}
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.08) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.78) 100%);z-index:1}
.hero-content{position:relative;z-index:2;padding:3rem 2rem 5rem;max-width:860px}
.hero-eyebrow{font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.68);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem}
.hero-eyebrow::before{content:'';display:block;width:2rem;height:1px;background:rgba(255,255,255,.45)}
.hero h1{color:#fff;font-style:italic;margin-bottom:1.2rem}
.hero-sub{color:rgba(255,255,255,.8);font-size:.98rem;max-width:560px;margin-bottom:2.5rem}
.hero-btns{display:flex;flex-wrap:wrap;gap:.8rem}

.infocus{background:#fff;padding:3rem 0}
.if-label{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:1rem}
.if-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.if-card{border-top:2px solid var(--border);padding-top:1.1rem;cursor:pointer;transition:border-color .22s}
.if-card:hover{border-color:var(--red)}
.if-tag{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-bottom:.5rem}
.if-card h4{font-family:var(--serif);font-size:.95rem;color:#1a1a1a;line-height:1.38;margin-bottom:.4rem}
.if-card p{font-size:.8rem;color:var(--gray)}
.if-read{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-top:.7rem;display:flex;align-items:center;gap:.25rem}

.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.dc{background:var(--light);padding:2.5rem 2rem;border-radius:6px;transition:all .25s;position:relative;overflow:hidden}
.dc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.dc:hover{background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.07)}
.dc:hover::after{transform:scaleX(1)}
.dc-n{font-family:var(--serif);font-size:3rem;color:rgba(196,18,48,.1);font-weight:700;line-height:1;margin-bottom:.8rem}
.dc h3{font-size:1.05rem;color:#1a1a1a;margin-bottom:.6rem}
.dc p{font-size:.85rem;color:var(--gray)}

.phase-proof{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.4rem}
.phase-card{background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);border-radius:6px;padding:1rem 1rem 1rem 1.1rem}
.phase-tag{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.45rem}
.phase-card p{font-size:.8rem;color:var(--gray);margin:0}

.agro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.agro-card{background:var(--light);border:1px solid var(--border);border-radius:8px;padding:1.25rem 1.2rem;transition:all .25s}
.agro-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.agro-card h4{font-size:.9rem;margin-bottom:.45rem}
.agro-card p{font-size:.8rem;color:var(--gray);margin:0}

.steaam-teaser{background:linear-gradient(120deg,#fff 0%,#fff6f7 100%);padding-top:0}
.st-inner{background:#fff;border:1px solid var(--border);border-left:4px solid var(--red);border-radius:8px;padding:2rem}
.st-inner h2{max-width:860px}
.st-inner p{margin:.75rem 0 1.3rem;color:var(--gray);max-width:760px}

.l2b-sec{background:var(--dark);padding:5rem 0;position:relative;overflow:hidden}
.l2b-sec::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 55px)}
.l2b-diagram{position:relative;z-index:1;max-width:1080px;margin:0 auto}
.l2b-diagram img{width:100%;height:auto;display:block;border-radius:10px;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 45px rgba(0,0,0,.25);background:rgba(0,0,0,.2)}
.l2b-caption{position:relative;z-index:1;text-align:center;color:rgba(255,255,255,.62);font-size:.73rem;letter-spacing:.05em;text-transform:uppercase;margin-top:1rem}
.l2b-chain{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:0}
.l2b-n{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.9rem .7rem;cursor:pointer}
.l2b-dot{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.07);border:1.5px solid rgba(196,18,48,.4);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .22s}
.l2b-n:hover .l2b-dot{background:var(--red);border-color:var(--red);transform:scale(1.1)}
.l2b-lbl{font-size:.58rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.l2b-arr{color:rgba(196,18,48,.4);font-size:.95rem;padding-top:1rem}

.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.programs-image{margin:-.5rem 0 2rem;border-radius:14px;overflow:hidden;box-shadow:0 22px 45px rgba(0,0,0,.12)}
.programs-image img{width:100%;height:320px;object-fit:cover;display:block}
.pc{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:all .25s}
.pc:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.1)}
.pc-top{background:var(--dark);padding:2rem 1.8rem;position:relative;min-height:115px;display:flex;flex-direction:column;justify-content:flex-end}
.pc-top::before{content:attr(data-n);position:absolute;top:.4rem;right:1rem;font-family:var(--serif);font-size:5rem;color:rgba(255,255,255,.05);font-weight:700;line-height:1}
.pc-top h3{color:#fff;font-size:1.05rem;position:relative;z-index:1}
.pc-bar{height:3px;background:var(--red)}
.pc-body{padding:1.8rem}
.pc-body p{font-size:.82rem;color:var(--gray);margin-bottom:1.1rem}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.link-r{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:.25rem;transition:gap .2s}
.link-r:hover{gap:.55rem}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center}
.pt-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.pt{background:var(--light);border-left:3px solid var(--red);padding:1.3rem 1.1rem;border-radius:0 4px 4px 0}
.pt h4{font-family:var(--sans);font-weight:700;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:#1a1a1a;margin-bottom:.25rem}
.pt p{font-size:.78rem;color:var(--gray)}

.founder-anchor{background:#fff;padding:2rem 0 4rem}
.founder-anchor p{text-align:center;font-size:.95rem;color:#1a1a1a;font-family:var(--serif)}
