/* ============================================================
   ZENLUME ENERGY SOLUTIONS — Design tokens
   Palette derived from logo: leaf green, sunrise gold, panel blue
   ============================================================ */
:root{
  --navy: #0A2540;
  --navy-deep: #061A2E;
  --blue: #1565C0;
  --blue-light: #4B9FE1;
  --green: #1E8449;
  --green-deep: #12592F;
  --gold: #F7941D;
  --gold-light: #FDC53A;
  --sun-gradient: linear-gradient(120deg, #F7941D 0%, #FDC53A 55%, #8CC63F 100%);
  --ink: #10202B;
  --ink-soft: #4A5C68;
  --paper: #F7F9FA;
  --paper-alt: #EFF3F5;
  --white: #FFFFFF;
  --line: rgba(10,37,64,0.10);

  --font-display: 'Space Grotesk', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;

  --radius-lg: 22px;
  --radius-md: 14px;
  --radius-sm: 8px;
  --shadow-soft: 0 20px 50px -20px rgba(10,37,64,0.25);
  --shadow-card: 0 10px 30px -12px rgba(10,37,64,0.18);
  --ease: cubic-bezier(.22,.9,.28,1);
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *{ animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

body{
  margin:0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration: none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family: inherit; cursor:pointer; }
:focus-visible{ outline: 3px solid var(--gold); outline-offset: 2px; }

.container{ max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.section{ padding: 96px 0; position: relative; }
@media (max-width: 767px){ .section{ padding: 64px 0; } }

.eyebrow{
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green);
  margin: 0 0 14px;
  display:inline-block;
  padding-left: 30px;
  position: relative;
}
.eyebrow::before{
  content:'';
  position:absolute; left:0; top:50%; transform: translateY(-50%);
  width:22px; height:2px; background: var(--sun-gradient);
}
.eyebrow--light{ color: var(--gold-light); }

.section-title{
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.12;
  margin: 0 0 20px;
  color: var(--navy);
}
.section-title--light{ color: var(--white); }
.section-sub{
  font-size: 17px;
  color: var(--ink-soft);
  max-width: 620px;
  line-height: 1.6;
  margin: 0 0 40px;
}
.section-sub--light{ color: rgba(255,255,255,0.72); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family: var(--font-body); font-weight:600; font-size: 15px;
  padding: 14px 26px; border-radius: 999px; border: 1.5px solid transparent;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  white-space: nowrap;
}
.btn--primary{ background: var(--sun-gradient); color: var(--navy-deep); box-shadow: 0 10px 24px -8px rgba(247,148,29,0.55); }
.btn--primary:hover{ transform: translateY(-2px); box-shadow: 0 16px 32px -10px rgba(247,148,29,0.65); }
.btn--ghost{ border-color: rgba(10,37,64,0.25); color: var(--navy); background: rgba(255,255,255,0.5); }
.btn--ghost:hover{ border-color: var(--navy); background: rgba(255,255,255,0.85); }
.btn--ghost.btn--light{ border-color: rgba(255,255,255,0.35); color: var(--white); background: transparent; }
.btn--ghost.btn--light:hover{ border-color: var(--white); background: rgba(255,255,255,0.08); }
.btn--outline{ border-color: var(--green); color: var(--green-deep); background: transparent; }
.btn--outline:hover{ background: var(--green); color: var(--white); }
.btn--outline.btn--light{ border-color: rgba(255,255,255,0.4); color:var(--white); }
.btn--outline.btn--light:hover{ background: rgba(255,255,255,0.12); }
.btn--icon{ padding: 12px; border-radius:50%; background: rgba(255,255,255,0.14); color:#fff; border-color: rgba(255,255,255,0.3); }
.btn--icon:hover{ background: #25D366; border-color: #25D366; }

.btn--complaint{
  background: rgba(220,53,53,0.12); color: #FF8A8A; border-color: rgba(255,138,138,0.45);
  padding: 13px 22px;
}
.btn--complaint:hover{ background: #D64545; color:#fff; border-color:#D64545; transform: translateY(-2px); }

/* ---------- Scroll / sun progress ---------- */
.sun-progress{ position: fixed; top:0; left:0; width:100%; height:3px; z-index: 1100; background: rgba(10,37,64,0.08); }
.sun-progress__fill{ height:100%; width:0%; background: var(--sun-gradient); transition: width .1s linear; }

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position: fixed; top:3px; left:0; right:0; z-index: 1000;
  background: rgba(10,37,64,0.0);
  transition: background .4s var(--ease), box-shadow .4s var(--ease), backdrop-filter .4s var(--ease);
}
.site-header.is-scrolled{
  background: rgba(10,37,64,0.72);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  box-shadow: 0 8px 30px -12px rgba(0,0,0,0.35);
}
.header-inner{
  max-width: 1280px; margin:0 auto; padding: 14px 24px;
  display:flex; align-items:center; justify-content:space-between; gap: 20px;
}
.brand{ display:flex; align-items:center; gap: 12px; }
.brand__logo{ height: 44px; width:auto; transition: height .3s var(--ease); flex:none; }
.site-header.is-scrolled .brand__logo{ height: 38px; }
.brand__text{ display:flex; flex-direction:column; gap:2px; line-height:1; }
.brand__name{
  font-family: var(--font-display); font-weight:700; color:#fff;
  font-size: clamp(14px, 2.4vw, 19px); line-height:1.15; letter-spacing: -0.01em;
  white-space: nowrap;
}
.brand__tagline{
  font-family: var(--font-mono); font-weight:500; color: var(--gold-light);
  font-size: clamp(9.5px, 1.4vw, 11.5px); letter-spacing: 0.03em;
  white-space: nowrap;
}
@media (max-width: 420px){
  .brand__name{ font-size: 13px; }
  .brand__tagline{ font-size: 9px; }
}
@media (max-width: 340px){
  .brand__text{ display:none; }
}

.nav-desktop{ display:flex; align-items:center; gap: 30px; margin-left:auto; margin-right: 24px; }
.nav-desktop a{
  font-size: 14.5px; font-weight:600; color: var(--white);
  position: relative; padding: 6px 0;
}
.nav-desktop a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:2px;
  background: var(--sun-gradient); transition: width .3s var(--ease);
}
.nav-desktop a:hover::after{ width:100%; }

.header-cta{ padding: 11px 22px; font-size: 14px; }

.hamburger{ display:none; flex-direction:column; gap:5px; background:none; border:none; padding:8px; }
.hamburger span{ width:24px; height:2px; background:#fff; transition: transform .3s var(--ease), opacity .3s var(--ease); }
.hamburger[aria-expanded="true"] span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.hamburger[aria-expanded="true"] span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.nav-mobile{
  display:none; flex-direction:column; gap: 4px;
  background: var(--navy-deep);
  padding: 0 24px;
  max-height:0; overflow:hidden; visibility:hidden; opacity:0;
  transition: max-height .45s var(--ease), opacity .3s var(--ease), visibility 0s linear .45s, padding .45s var(--ease);
}
.nav-mobile.is-open{
  max-height: 560px; visibility:visible; opacity:1; padding: 10px 24px 26px;
  transition: max-height .45s var(--ease), opacity .3s var(--ease), visibility 0s linear 0s, padding .45s var(--ease);
}
.nav-mobile a{ color:#fff; font-weight:600; padding: 12px 4px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.nav-mobile .btn{ margin-top: 14px; width: fit-content; }

@media (max-width: 991px){
  .nav-desktop{ display:none; }
  .header-cta{ display:none; }
  .hamburger{ display:flex; }
  .nav-mobile{ display:flex; }
}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position: relative; min-height: 100svh; display:flex; align-items:flex-end;
  overflow:hidden; background: var(--navy-deep);
}
.hero__media{ position:absolute; inset:0; }
.hero__img{ width:100%; height:100%; object-fit:cover; object-position:center; transform: scale(1.08); animation: heroZoom 12s var(--ease) forwards; }
@keyframes heroZoom{ to{ transform: scale(1); } }

.hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(0deg, rgba(6,26,46,0.94) 0%, rgba(6,26,46,0.55) 42%, rgba(6,26,46,0.28) 68%, rgba(10,37,64,0.35) 100%);
}
.hero__panel-lines{
  position:absolute; inset:0; pointer-events:none; opacity:0.15;
  background-image: repeating-linear-gradient(135deg, transparent 0 62px, rgba(255,255,255,0.5) 62px 64px);
  mix-blend-mode: overlay;
}

.hero__content{ position:relative; z-index:2; padding: 160px 24px 110px; max-width: 900px; margin: 0 auto; width:100%; text-align:left; }
.hero__headline{
  font-family: var(--font-display); font-weight:700; color:#fff;
  font-size: clamp(34px, 6vw, 68px); line-height:1.06; margin: 0 0 22px;
}
.hero__headline em{ font-style:normal; background: var(--sun-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.reveal-line{ display:block; overflow:hidden; }
.reveal-line span{ display:block; transform: translateY(110%); animation: lineUp .9s var(--ease) forwards; }
.reveal-line:nth-child(1) span{ animation-delay: .15s; }
.reveal-line:nth-child(2) span{ animation-delay: .32s; }
@keyframes lineUp{ to{ transform: translateY(0); } }

.hero__sub{ font-size: clamp(16px,2vw,19px); color: rgba(255,255,255,0.82); max-width: 560px; margin: 0 0 34px; line-height:1.6; }
.hero__actions{ display:flex; flex-wrap:wrap; gap: 14px; align-items:center; }

.eyebrow.reveal[data-reveal]{ opacity:0; transform: translateY(14px); animation: fadeUp .8s var(--ease) forwards; animation-delay:.05s; }
.hero__sub.reveal[data-reveal]{ opacity:0; transform: translateY(14px); animation: fadeUp .8s var(--ease) forwards; animation-delay:.5s; }
.hero__actions.reveal[data-reveal]{ opacity:0; transform: translateY(14px); animation: fadeUp .8s var(--ease) forwards; animation-delay:.65s; }
@keyframes fadeUp{ to{ opacity:1; transform:none; } }

.scroll-cue{
  position:absolute; bottom: 28px; left:50%; transform: translateX(-50%); z-index:2;
  width: 26px; height: 42px; border: 2px solid rgba(255,255,255,0.5); border-radius: 20px;
}
.scroll-cue span{ position:absolute; top:6px; left:50%; width:4px; height:8px; background: var(--gold-light); border-radius:2px; transform: translateX(-50%); animation: cueDrop 1.8s ease-in-out infinite; }
@keyframes cueDrop{ 0%{ opacity:1; top:6px;} 70%{ opacity:0; top:22px;} 100%{opacity:0; top:22px;} }

/* ============================================================
   Reveal-on-scroll (generic)
   ============================================================ */
[data-reveal]{ opacity:0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal].is-visible{ opacity:1; transform:none; }
.hero [data-reveal]{ transition: none; } /* hero handles its own keyframes */

/* ============================================================
   ABOUT
   ============================================================ */
.about__grid{ display:grid; grid-template-columns: 0.9fr 1.4fr; gap: 60px; align-items:start; }
.about__lead{ font-size: 19px; line-height:1.7; color: var(--ink); margin: 0 0 30px; }
.highlight-list{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; }
.highlight-list li{ display:flex; align-items:center; gap:12px; font-weight:600; font-size:15px; color: var(--navy); }
.highlight-list__mark{ width:9px; height:9px; border-radius:50%; background: var(--sun-gradient); flex:none; }

@media (max-width: 850px){
  .about__grid{ grid-template-columns:1fr; gap: 26px; }
  .highlight-list{ grid-template-columns: 1fr; }
}

.stats-strip{
  margin-top: 80px; display:grid; grid-template-columns: repeat(4,1fr);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.stat{ padding: 30px 20px; text-align:center; border-right:1px solid var(--line); }
.stat:last-child{ border-right:none; }
.stat__num, .stat__suffix{ font-family: var(--font-display); font-weight:700; font-size: clamp(28px,3.4vw,42px); color: var(--navy); }
.stat__suffix{ font-size: clamp(16px,2vw,22px); color: var(--green); }
.stat__label{ display:block; margin-top:8px; font-size:13px; color: var(--ink-soft); letter-spacing:.02em; }
@media (max-width: 700px){ .stats-strip{ grid-template-columns: 1fr 1fr; } .stat{ border-bottom:1px solid var(--line); } .stat:nth-child(2n){ border-right:none; } }

/* ============================================================
   SOLAR SOLUTIONS
   ============================================================ */
.solutions{ background: var(--paper-alt); }
.solutions__grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; margin-top: 20px; }
.solution-card{
  background: var(--white); border-radius: var(--radius-lg); padding: 34px 28px;
  box-shadow: var(--shadow-card); transition: transform .4s var(--ease), box-shadow .4s var(--ease);
  border: 1px solid var(--line);
}
.solution-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-soft); }
.solution-card__icon{ width: 52px; height:52px; color: var(--green); margin-bottom: 18px; }
.solution-card__icon svg{ width:100%; height:100%; }
.solution-card h3{ font-family: var(--font-display); font-size:19px; margin: 0 0 8px; color: var(--navy); }
.solution-card p{ font-size: 14.5px; color: var(--ink-soft); line-height:1.55; margin:0; }
@media (max-width: 900px){ .solutions__grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .solutions__grid{ grid-template-columns: 1fr; } }

/* ============================================================
   PACKAGES
   ============================================================ */
.pkg-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.pkg-card{
  background: var(--white); border-radius: var(--radius-lg); overflow:hidden;
  box-shadow: var(--shadow-card); border: 1px solid var(--line);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
  display:flex; flex-direction:column;
}
.pkg-card:hover{ transform: translateY(-8px); box-shadow: var(--shadow-soft); }
.pkg-card--featured{ border: 2px solid var(--gold); position:relative; }
.pkg-card__media{ position:relative; aspect-ratio: 16/10; overflow:hidden; }
.pkg-card__media img{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.pkg-card:hover .pkg-card__media img{ transform: scale(1.06); }
.pkg-card__tag{
  position:absolute; top:16px; left:16px; background: var(--navy-deep); color:#fff;
  font-family: var(--font-mono); font-size: 13px; padding: 6px 14px; border-radius: 999px;
  letter-spacing:.03em;
}
.pkg-card__badge{
  position:absolute; top:16px; right:16px; background: var(--sun-gradient); color: var(--navy-deep);
  font-size:12px; font-weight:700; padding: 6px 12px; border-radius:999px;
}
.pkg-card__body{ padding: 26px 26px 30px; display:flex; flex-direction:column; gap:14px; flex:1; }
.pkg-card__body h3{ font-family: var(--font-display); font-size: 21px; margin:0; color: var(--navy); }
.pkg-card__body > p{ margin:0; color: var(--ink-soft); font-size:14.5px; line-height:1.5; }
.pkg-card__meta{ display:flex; flex-direction:column; gap:6px; margin: 4px 0 8px; }
.pkg-card__meta li{ font-size:13.5px; color: var(--ink); padding-left:18px; position:relative; }
.pkg-card__meta li::before{ content:'✓'; position:absolute; left:0; color: var(--green); font-weight:700; }
.pkg-card .btn{ margin-top:auto; align-self:flex-start; }

@media (max-width: 900px){ .pkg-grid{ grid-template-columns: 1fr; } }

/* ============================================================
   SUBSIDY
   ============================================================ */
.subsidy{ background: var(--navy-deep); color:#fff; position:relative; overflow:hidden; }
.subsidy::before{
  content:''; position:absolute; top:-140px; right:-140px; width:420px; height:420px; border-radius:50%;
  background: radial-gradient(circle, rgba(247,148,29,0.28), transparent 70%);
}
.subsidy-table-wrap{ overflow-x:auto; border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,0.12); }
.subsidy-table{ width:100%; border-collapse:collapse; min-width: 560px; background: rgba(255,255,255,0.03); }
.subsidy-table th, .subsidy-table td{ padding: 18px 22px; text-align:left; }
.subsidy-table thead th{
  font-family: var(--font-mono); font-size:12.5px; letter-spacing:.06em; text-transform:uppercase;
  color: var(--gold-light); border-bottom: 1px solid rgba(255,255,255,0.14); font-weight:600;
}
.subsidy-table tbody tr{ border-bottom: 1px solid rgba(255,255,255,0.08); }
.subsidy-table tbody tr:last-child{ border-bottom:none; }
.subsidy-table td{ font-family: var(--font-mono); font-size:16px; font-weight:500; }
.subsidy-table td:first-child{ font-family: var(--font-display); font-weight:700; font-size:18px; }
.subsidy-table td.is-total{ color: var(--gold-light); font-weight:700; }
.subsidy-note{ margin: 22px 0 0; font-size: 13px; color: rgba(255,255,255,0.55); max-width: 640px; line-height:1.6; }

@media (max-width: 700px){
  .subsidy-table thead{ display:none; }
  .subsidy-table, .subsidy-table tbody, .subsidy-table tr, .subsidy-table td{ display:block; width:100%; }
  .subsidy-table tr{ padding: 18px 20px; }
  .subsidy-table td{ display:flex; justify-content:space-between; padding: 6px 0; font-size:15px; }
  .subsidy-table td::before{ content: attr(data-label); font-family: var(--font-body); font-size:12px; text-transform:uppercase; letter-spacing:.05em; color: rgba(255,255,255,0.5); }
  .subsidy-table-wrap{ min-width:0; }
}

/* ============================================================
   CALCULATOR
   ============================================================ */
.calculator__inner{ display:grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items:center; }
.calc-widget{
  background: var(--white); border-radius: var(--radius-lg); padding: 30px; box-shadow: var(--shadow-card);
  border: 1px solid var(--line);
}
.calc-widget__tabs{ display:flex; gap:8px; background: var(--paper-alt); padding:6px; border-radius: 999px; margin-bottom: 24px; }
.calc-tab{
  flex:1; border:none; background:none; padding: 10px 8px; border-radius:999px; font-weight:700; font-size:14px;
  color: var(--ink-soft); transition: background .3s var(--ease), color .3s var(--ease);
}
.calc-tab.is-active{ background: var(--navy-deep); color:#fff; }
.calc-result__row{ display:flex; justify-content:space-between; align-items:center; padding: 14px 0; border-bottom: 1px dashed var(--line); font-size:15px; color: var(--ink-soft); }
.calc-result__row strong{ font-family: var(--font-mono); font-size:18px; color: var(--navy); }
.calc-result__row--total{ border-bottom:none; }
.calc-result__row--total strong{ color: var(--green-deep); font-size:22px; }
.calc-result__custom-note{ font-size:14px; color: var(--ink-soft); line-height:1.6; padding: 10px 0 4px; }
.calc-widget__cta{ width:100%; margin-top: 18px; }

@media (max-width: 850px){ .calculator__inner{ grid-template-columns:1fr; gap: 30px; } }

/* ============================================================
   PROJECTS / GALLERY
   ============================================================ */
.gallery-grid{
  display:grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 160px; gap: 16px;
}
.gallery-item{
  position:relative; border:none; padding:0; border-radius: var(--radius-md); overflow:hidden; background: var(--paper-alt);
  grid-column: span 1; grid-row: span 1;
}
.gallery-item--wide{ grid-column: span 2; grid-row: span 2; }
.gallery-item--tall{ grid-row: span 2; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.gallery-item:hover img{ transform: scale(1.08); }
.gallery-item__zoom{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background: rgba(10,37,64,0.0); color:#fff; font-size: 28px; opacity:0; transition: opacity .3s var(--ease), background .3s var(--ease);
}
.gallery-item:hover .gallery-item__zoom{ opacity:1; background: rgba(10,37,64,0.35); }

@media (max-width: 900px){
  .gallery-grid{ grid-template-columns: repeat(2,1fr); grid-auto-rows: 200px; }
  .gallery-item--wide{ grid-column: span 2; grid-row: span 1; }
}
@media (max-width: 560px){
  .gallery-grid{ grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; }
}

.lightbox{
  position: fixed; inset:0; z-index: 1200; background: rgba(6,26,46,0.94);
  display:flex; align-items:center; justify-content:center; padding: 40px;
  opacity:0; pointer-events:none; transition: opacity .35s var(--ease);
}
.lightbox.is-open{ opacity:1; pointer-events:auto; }
.lightbox img{ max-width: 100%; max-height: 100%; border-radius: 10px; box-shadow: 0 30px 80px rgba(0,0,0,0.5); }
.lightbox__close{ position:absolute; top:24px; right:28px; background:none; border:none; color:#fff; font-size:26px; }

/* ============================================================
   PROCESS TIMELINE
   ============================================================ */
.process{ background: linear-gradient(180deg, var(--navy-deep), var(--navy) 60%); color:#fff; }
.timeline{ position:relative; display:grid; grid-template-columns: repeat(6,1fr); gap: 22px; margin-top: 30px; }
.timeline__track{ position:absolute; top:26px; left: calc(100%/12); right: calc(100%/12); height:2px; background: rgba(255,255,255,0.14); }
.timeline__track-fill{ height:100%; width:0%; background: var(--sun-gradient); transition: width 1.2s var(--ease); }
.timeline__step{ position:relative; padding-top: 56px; }
.timeline__num{
  position:absolute; top:0; left:0; width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: var(--navy-deep); border: 2px solid var(--gold); color: var(--gold-light);
  font-family: var(--font-mono); font-weight:600; font-size: 14px;
}
.timeline__step h3{ font-family: var(--font-display); font-size:17px; margin: 0 0 8px; }
.timeline__step p{ font-size:13.5px; color: rgba(255,255,255,0.65); line-height:1.55; margin:0; }

@media (max-width: 900px){
  .timeline{ grid-template-columns: repeat(2,1fr); }
  .timeline__track{ display:none; }
}
@media (max-width: 560px){ .timeline{ grid-template-columns: 1fr; } }

/* ============================================================
   WHY CHOOSE US
   ============================================================ */
.why-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.why-card{
  border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 30px 26px; background: var(--white);
  transition: transform .4s var(--ease), border-color .4s var(--ease);
}
.why-card:hover{ transform: translateY(-4px); border-color: var(--gold); }
.why-card__index{
  display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center;
  border-radius:50%; background: var(--paper-alt); color: var(--green-deep);
  font-family: var(--font-display); font-weight:700; margin-bottom:16px;
}
.why-card h3{ font-family: var(--font-display); font-size:18px; margin:0 0 8px; color: var(--navy); }
.why-card p{ font-size:14.5px; color: var(--ink-soft); margin:0; line-height:1.55; }

@media (max-width: 900px){ .why-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .why-grid{ grid-template-columns: 1fr; } }

/* ============================================================
   LEADERSHIP (blank / editable placeholder)
   ============================================================ */
.leadership{ padding: 60px 0; }
.leadership__placeholder{
  display:flex; align-items:center; gap: 22px; border: 1.5px dashed var(--line);
  border-radius: var(--radius-lg); padding: 26px 28px; background: var(--paper-alt);
}
.leadership__avatar{ width:64px; height:64px; border-radius:50%; background: repeating-linear-gradient(45deg, #E3E9EC, #E3E9EC 6px, #EEF2F4 6px, #EEF2F4 12px); flex:none; }
.leadership__name{ margin:0 0 4px; font-family: var(--font-display); font-size:17px; color: var(--ink-soft); }
.leadership__role{ margin:0; font-size:13.5px; color: var(--ink-soft); opacity:.8; }

/* ============================================================
   CONTACT
   ============================================================ */
.contact{ background: var(--navy-deep); color:#fff; }
.contact__grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.contact__detail{ margin-bottom: 22px; }
.contact__detail-label{ font-family: var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color: var(--gold-light); }
.contact__detail p{ margin: 6px 0 0; font-size: 16px; color: rgba(255,255,255,0.85); line-height:1.6; }
.contact__detail a{ text-decoration: underline; text-decoration-color: rgba(255,255,255,0.3); }
.contact__actions{ display:flex; flex-wrap:wrap; gap: 12px; margin-top: 26px; }

.contact-form{
  background: #fff; border-radius: var(--radius-lg); padding: 32px; color: var(--ink);
  display:flex; flex-direction:column; gap: 16px; box-shadow: var(--shadow-soft);
}
.contact-form h3{ margin:0 0 4px; font-family: var(--font-display); color: var(--navy); }
.contact-form label{ display:flex; flex-direction:column; gap:6px; font-size: 13px; font-weight:600; color: var(--ink-soft); }
.contact-form input, .contact-form select, .contact-form textarea{
  font-family: inherit; font-size: 15px; padding: 12px 14px; border-radius: var(--radius-sm);
  border: 1.5px solid var(--line); background: var(--paper); color: var(--ink); resize: vertical;
}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{ border-color: var(--gold); outline:none; }
.contact-form__alt{ text-align:center; font-size:13.5px; color: var(--green-deep); font-weight:600; margin-top:-4px; }

@media (max-width: 900px){ .contact__grid{ grid-template-columns:1fr; } }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ background: var(--navy-deep); color: rgba(255,255,255,0.7); padding-top: 60px; }
.footer__grid{ display:grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.footer__logo{ height: 46px; margin-bottom: 14px; filter: brightness(0) invert(1); opacity:0.92; }
.footer__brand p{ font-size:14px; max-width: 260px; line-height:1.6; }
.footer__links h4, .footer__contact h4{ color:#fff; font-family: var(--font-display); font-size:15px; margin: 0 0 14px; }
.footer__links{ display:flex; flex-direction:column; }
.footer__links a{ padding: 6px 0; font-size:14px; }
.footer__links a:hover{ color: var(--gold-light); }
.footer__contact p{ font-size:14px; margin: 0 0 10px; line-height:1.5; }
.footer__contact a:hover{ color: var(--gold-light); }
.footer__bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding: 22px 24px; font-size:12.5px; }
.footer__credit{ opacity:0.7; }

@media (max-width: 800px){ .footer__grid{ grid-template-columns: 1fr; } }

/* ============================================================
   MOBILE STICKY ACTION BAR
   ============================================================ */
.mobile-actionbar{
  display:none; position: fixed; bottom:0; left:0; right:0; z-index: 900;
  background: rgba(10,37,64,0.96); backdrop-filter: blur(10px);
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(255,255,255,0.08);
}
.mobile-actionbar{ display:flex; justify-content:space-around; }
.mobile-actionbar a{ display:flex; flex-direction:column; align-items:center; gap:3px; color:#fff; font-size:11px; padding: 4px 10px; }
.mobile-actionbar a:nth-child(2){ color: #25D366; }
@media (min-width: 768px){ .mobile-actionbar{ display:none; } }
body{ padding-bottom: 0; }
@media (max-width: 767px){ body{ padding-bottom: 62px; } }
