:root{
  --gold:#f0a828;
  --gold-2:#e5860f;
  --ink:#ffffff;
  --muted:rgba(255,255,255,.82);
  --card:rgba(255,255,255,.07);
  --card-brd:rgba(255,255,255,.16);
  --maxw:1060px;
  --rule:rgba(255,255,255,.22);
}

*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}

body{
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background:#1b1140;
}

/* content sits on a teal -> deep-teal field (hero & stage carry their own art) */
.page{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:
    linear-gradient(180deg,
      #14827f 0%,
      #117370 26%,
      #0f605c 56%,
      #0d514e 80%,
      #0c4a48 100%);
}

/* centered container helper */
.page > section:not(.hero):not(.stage),
.foot{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:clamp(22px,5vw,56px);
}

/* ================= HERO (brand + title) ================= */
.hero{
  text-align:center;
  padding:clamp(34px,6vw,60px) clamp(22px,5vw,56px) clamp(30px,4.5vw,46px);
  background:linear-gradient(180deg,#3d1a6e 0%,#3f2680 62%,#3c2f8c 100%);
}
.hero__inner{
  max-width:760px;
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* brand */
.brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  margin-bottom:clamp(16px,2.4vw,24px);
}
.brand__logo{
  width:clamp(64px,9vw,96px);
  height:auto;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));
}
.brand__name{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(32px,5vw,46px);
  font-weight:600;
  letter-spacing:.5px;
  line-height:1;
}

.hero__title{
  font-weight:700;
  font-size:clamp(38px,7vw,68px);
  line-height:1.03;
  letter-spacing:-1px;
  margin-bottom:clamp(14px,2vw,20px);
  text-shadow:0 4px 22px rgba(0,0,0,.3);
}
.hero__tagline{
  font-weight:300;
  font-size:clamp(16px,2vw,21px);
  color:#eef0ff;
  max-width:40ch;
  margin:0 auto;
}

/* ================= FOREST STAGE ================= */
.stage{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:clamp(400px,58vw,660px);
  background:url("assets/forest-hero.jpg") no-repeat center center;
  background-size:cover;
  display:flex;
  justify-content:center;
  overflow:hidden;
}
/* seamless seams: purple fade at the top (into hero), teal fade at the bottom (into page) */
.stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg,
      rgba(60,47,140,.92) 0%,
      rgba(58,40,130,.42) 10%,
      rgba(45,44,120,.06) 22%,
      rgba(20,70,95,0) 42%,
      rgba(19,115,112,.32) 74%,
      rgba(19,120,116,.82) 91%,
      #14827f 100%);
}
.stage__overlay{
  position:relative;
  z-index:1;
  margin-top:clamp(48px,9vw,96px);
  padding-inline:clamp(22px,5vw,40px);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(16px,2.4vw,24px);
}
.stage__lead{
  font-weight:700;
  font-size:clamp(25px,4.2vw,42px);
  line-height:1.14;
  text-shadow:0 3px 22px rgba(0,0,0,.65);
}
.stage__divider{
  width:clamp(90px,14vw,150px);
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
  border-radius:2px;
}
.stage__sub{
  font-weight:300;
  font-size:clamp(15px,2vw,19px);
  color:#eaf2ff;
  max-width:30ch;
  text-shadow:0 2px 18px rgba(0,0,0,.7);
}

/* ================= BUTTON ================= */
.btn{
  display:inline-block;
  background:linear-gradient(180deg,var(--gold),var(--gold-2));
  color:#3a2000;
  font-weight:600;
  font-size:clamp(15px,1.6vw,18px);
  text-decoration:none;
  padding:16px 44px;
  border-radius:999px;
  box-shadow:0 12px 30px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.4);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 16px 36px rgba(0,0,0,.38)}
.btn:active{transform:translateY(0)}

/* ================= ICON ROW ================= */
.iconrow{
  margin-top:clamp(-70px,-9vw,-40px); /* pull up over the hero teal fade */
  position:relative;
  z-index:2;
  padding-top:0;
  padding-bottom:clamp(30px,5vw,48px);
}
.iconrow__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.ic{
  text-align:center;
  padding:clamp(10px,2vw,20px) clamp(14px,2vw,24px);
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ic + .ic::before{
  content:"";
  position:absolute;
  left:0;top:14%;bottom:14%;
  width:1px;
  background:linear-gradient(180deg,transparent,var(--rule),transparent);
}
.ic__svg{
  width:clamp(40px,5vw,52px);
  height:clamp(40px,5vw,52px);
  color:#e9ddff;
  margin-bottom:14px;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));
}
.ic__title{
  font-size:clamp(16px,1.9vw,20px);
  font-weight:600;
  margin-bottom:8px;
}
.ic__text{
  font-size:clamp(13px,1.5vw,15px);
  font-weight:300;
  color:var(--muted);
  max-width:22ch;
  margin-inline:auto;
}
.iconrow__cta{
  text-align:center;
  margin-top:clamp(30px,5vw,48px);
}

/* ================= INTRO ================= */
.intro{
  text-align:center;
  padding-top:clamp(44px,7vw,72px);
  padding-bottom:clamp(10px,2vw,18px);
}
.intro p{
  max-width:62ch;
  margin-inline:auto;
  font-weight:300;
  font-size:clamp(16px,1.9vw,20px);
  color:#eef0ff;
}

/* ================= FEATURE BLOCKS ================= */
.features{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:clamp(18px,2.4vw,26px);
  padding-top:clamp(34px,5vw,52px);
  padding-bottom:clamp(20px,4vw,40px);
}
.feature{
  background:var(--card);
  border:1px solid var(--card-brd);
  border-radius:18px;
  padding:clamp(24px,3vw,32px);
  backdrop-filter:blur(6px);
  text-align:left;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.feature:hover{transform:translateY(-4px);background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.28)}
.feature h3{
  font-size:clamp(18px,2.1vw,22px);
  font-weight:600;
  margin-bottom:10px;
  line-height:1.25;
}
.feature p{color:var(--muted);font-weight:300;font-size:clamp(14.5px,1.6vw,16px)}

/* ================= STATEMENT ================= */
.statement{
  text-align:center;
  padding-block:clamp(52px,9vw,96px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(22px,3.5vw,34px);
}
.statement .rule{
  width:clamp(120px,20vw,200px);
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
  border-radius:2px;
}
.statement h2{
  font-weight:700;
  font-size:clamp(26px,4.4vw,44px);
  line-height:1.15;
}
.statement p{
  max-width:66ch;
  color:var(--muted);
  font-weight:300;
  font-size:clamp(15px,1.9vw,19px);
}

/* ================= TEAM ================= */
.team{padding-bottom:clamp(50px,8vw,90px)}
.team__title{
  text-align:center;
  font-weight:700;
  font-size:clamp(28px,4.4vw,42px);
  margin-bottom:clamp(28px,4vw,44px);
}
.team__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(20px,2.4vw,28px);
}
.member{
  background:var(--card);
  border:1px solid var(--card-brd);
  border-radius:20px;
  padding:clamp(24px,2.6vw,30px) clamp(18px,2vw,24px) clamp(28px,2.8vw,32px);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  backdrop-filter:blur(6px);
  transition:transform .2s ease, background .2s ease;
}
.member:hover{transform:translateY(-4px);background:rgba(255,255,255,.11)}
.member__photo{
  width:clamp(104px,12vw,132px);
  height:clamp(104px,12vw,132px);
  aspect-ratio:1/1;
  flex:0 0 auto;
  display:block;
  border-radius:50%;
  object-fit:cover;
  object-position:center center;
  border:3px solid rgba(255,255,255,.55);
  box-shadow:0 10px 26px rgba(0,0,0,.3);
  margin-bottom:16px;
}
.member__name{font-size:clamp(17px,1.9vw,20px);font-weight:600;margin-bottom:8px}
.member__role{
  font-size:12px;
  font-weight:600;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:12px;
  line-height:1.35;
}
.member__bio{color:var(--muted);font-weight:300;font-size:14px;line-height:1.55}

/* ================= FOOTER ================= */
.foot{
  text-align:center;
  padding-block:34px 46px;
  color:rgba(255,255,255,.7);
  font-size:14px;
  border-top:1px solid rgba(255,255,255,.12);
}
.foot__logo{width:40px;height:auto;opacity:.85;margin-bottom:10px}

/* ================= RESPONSIVE ================= */
@media (max-width:900px){
  .team__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .stage{min-height:clamp(340px,68vw,460px)}
  .stage__overlay{margin-top:clamp(34px,12vw,70px)}
  .iconrow__grid{grid-template-columns:repeat(2,1fr);gap:clamp(24px,5vw,34px) 0}
  .ic::before{display:none}
  .ic:nth-child(even)::before{display:block}
  .features{grid-template-columns:1fr}
}
@media (max-width:480px){
  .iconrow__grid{grid-template-columns:1fr;gap:26px}
  .ic::before{display:none !important}
  .ic{border-top:1px solid rgba(255,255,255,.10);padding-top:22px}
  .ic:first-child{border-top:none}
  .team__grid{grid-template-columns:1fr}
  .member{max-width:360px;margin-inline:auto;width:100%}
}
