/* ===== The Awakening Summit — v2 hero / nav dropdown / countdown =====
   Uses the existing brand tokens (green #7cb342, blues, teal) + Inter. */

/* ---------- Nav: Events dropdown ---------- */
.v2-dd { position: relative; display: inline-block; }
.v2-dd-btn {
  background: none; border: none; cursor: pointer;
  font: 600 0.875rem 'Inter', sans-serif; color: var(--text-white);
  display: inline-flex; align-items: center; gap: 5px; padding: 0;
  transition: color 0.2s;
}
.v2-dd-btn svg { transition: transform 0.2s; }
.v2-dd:hover .v2-dd-btn, .v2-dd:focus-within .v2-dd-btn { color: var(--primary-green); }
.v2-dd:hover .v2-dd-btn svg, .v2-dd:focus-within .v2-dd-btn svg { transform: rotate(180deg); }
.v2-dd::after { content: ""; position: absolute; left: -10px; right: -10px; top: 100%; height: 12px; }
.v2-dd-menu {
  position: absolute; top: calc(100% + 8px); left: 50%; transform: translate(-50%, 6px);
  min-width: 230px; background: var(--footer-bg); border: 1px solid var(--primary-blue-light);
  border-radius: 12px; padding: 8px; z-index: 60;
  opacity: 0; visibility: hidden; transition: opacity 0.18s, transform 0.18s;
  box-shadow: 0 18px 44px rgba(0,0,0,0.45);
}
.v2-dd:hover .v2-dd-menu, .v2-dd:focus-within .v2-dd-menu, .v2-dd.open .v2-dd-menu {
  opacity: 1; visibility: visible; transform: translate(-50%, 0);
}
.v2-dd.open .v2-dd-btn { color: var(--primary-green); }
.v2-dd-menu a {
  display: block; padding: 10px 14px; border-radius: 8px;
  color: var(--text-white); text-decoration: none; font-size: 0.875rem; font-weight: 600;
  white-space: nowrap; transition: background 0.15s, color 0.15s;
}
.v2-dd-menu a:hover { background: var(--primary-blue); color: #fff; }
.v2-dd-menu a small { display: block; font-weight: 500; font-size: 0.72rem; color: var(--text-gray); margin-top: 2px; }

/* ---------- HERO ---------- */
.v2hero {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 84px 5% 52px;
  background:
    radial-gradient(1100px 620px at 50% -8%, rgba(124,179,66,0.10), transparent 60%),
    radial-gradient(900px 520px at 12% 18%, rgba(42,183,202,0.16), transparent 55%),
    radial-gradient(1000px 620px at 88% 26%, rgba(25,118,210,0.24), transparent 55%),
    linear-gradient(180deg, #041a33 0%, #0a3a6b 62%, var(--primary-blue) 100%);
}

/* starfield */
.v2-stars { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.v2-stars span {
  position: absolute; width: 2px; height: 2px; border-radius: 50%; background: #fff;
  opacity: 0; animation: v2twinkle var(--d,5s) ease-in-out var(--dl,0s) infinite;
}
@keyframes v2twinkle { 0%,100%{opacity:0;transform:scale(.6)} 50%{opacity:var(--pk,.8);transform:scale(1)} }

/* drifting colour glow */
.v2-glow {
  position: absolute; inset: -20%; z-index: 0; pointer-events: none;
  background: radial-gradient(closest-side, rgba(64,156,255,0.20), transparent 70%);
  filter: blur(20px);
}

.v2hero-inner { position: relative; z-index: 2; width: 100%; max-width: 900px; }

/* the eye */
.v2-eye {
  position: relative; z-index: 0; width: min(60vw, 220px); margin: 0 auto 0;
}
.v2-eye::before {
  content: ""; position: absolute; inset: -16%; z-index: -1; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(64,156,255,0.42), transparent 72%);
}
.v2-eye img {
  width: 100%; display: block;
  -webkit-mask-image: radial-gradient(ellipse 82% 86% at 50% 50%, #000 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 82% 86% at 50% 50%, #000 55%, transparent 100%);
}

/* kinetic title */
.v2-title {
  font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em;
  font-size: clamp(2.1rem, 6vw, 4.2rem); line-height: 1.04; margin: 2px 0 10px; color: #fff;
}
.v2-title span {
  display: inline-block; opacity: 0; transform: translateY(22px);
  animation: v2rise 0.85s cubic-bezier(.2,.7,.2,1) forwards;
}
.v2-title span:nth-child(1){ animation-delay: 0.15s; }
.v2-title span:nth-child(2){ animation-delay: 0.33s; }
.v2-title span:nth-child(3){ animation-delay: 0.51s; }
.v2-title .green { color: var(--primary-green); text-shadow: 0 0 30px rgba(124,179,66,0.55); }
@keyframes v2rise { to { opacity: 1; transform: none; } }

.v2-sub {
  font-size: clamp(1rem, 2.2vw, 1.2rem); color: var(--text-gray);
  max-width: 620px; margin: 0 auto 16px; line-height: 1.5;
  opacity: 0; animation: v2fade 1s ease 0.7s forwards;
}
@keyframes v2fade { to { opacity: 1; } }

.v2-eventmeta {
  display: flex; flex-wrap: wrap; gap: 14px 30px; justify-content: center;
  margin-bottom: 18px; opacity: 0; animation: v2fade 1s ease 0.9s forwards;
}
.v2-eventmeta span { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; letter-spacing: 0.06em; font-size: 0.95rem; }
.v2-eventmeta svg { color: var(--primary-green); flex-shrink: 0; }

/* countdown */
.v2-cd { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 0 0 24px; opacity: 0; animation: v2fade 1s ease 1.05s forwards; }
.v2-cd .u {
  min-width: 74px; padding: 12px 9px 9px; border-radius: 13px;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.15); backdrop-filter: blur(6px);
}
.v2-cd .n { display: block; font-size: clamp(1.8rem, 5vw, 2.6rem); font-weight: 900; color: #fff; line-height: 1; font-variant-numeric: tabular-nums; }
.v2-cd .l { display: block; margin-top: 7px; font-size: 0.66rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-gray); }

/* CTAs */
.v2-cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; opacity: 0; animation: v2fade 1s ease 1.2s forwards; }
.v2-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 15px 34px; border-radius: 5px; font-weight: 900; text-transform: uppercase;
  color: #fff; text-decoration: none; background: transparent; border: 2px solid rgba(255,255,255,0.5);
  transition: border-color 0.2s, background 0.2s;
}
.v2-ghost:hover { border-color: var(--primary-green); background: rgba(124,179,66,0.12); }

/* scroll cue */
.v2-scroll { display: none; }
@keyframes v2bounce { 0%,100%{transform:translate(-50%,0)} 50%{transform:translate(-50%,8px)} }

@media (prefers-reduced-motion: reduce) {
  .v2-title span, .v2-sub, .v2-eventmeta, .v2-cd, .v2-cta { animation: none; opacity: 1; transform: none; }
  .v2-stars span, .v2-glow, .v2-scroll { animation: none; }
}

/* ============================================================
   v2 FULL HOMEPAGE DESIGN PASS — brand palette kept, depth + motion added
   ============================================================ */
.section-padding { padding: 84px 6%; position: relative; }

/* section headings: consistent + accent underline */
.section-title, .green-section h2, .teal-section h2 { position: relative; padding-bottom: 20px; }
.section-title::after, .green-section h2::after, .teal-section h2::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 66px; height: 3px; border-radius: 2px; background: var(--primary-green);
  box-shadow: 0 0 16px rgba(124,179,66,0.7);
}
.green-section h2::after { background: #fff; box-shadow: 0 0 16px rgba(255,255,255,0.6); }

/* GREEN sections: rich gradient + sheen (keeps the brand green) */
.green-section {
  background:
    radial-gradient(760px 420px at 82% -5%, rgba(255,255,255,0.16), transparent 60%),
    linear-gradient(158deg, #86c049 0%, #5f8f34 100%);
  position: relative; overflow: hidden;
}
.green-section::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  box-shadow: inset 0 70px 90px -60px rgba(255,255,255,0.22), inset 0 -80px 90px -60px rgba(0,0,0,0.28);
}

/* BLUE section (speakers): deep cosmic stage */
.blue-section {
  background:
    radial-gradient(900px 460px at 50% -12%, rgba(64,156,255,0.20), transparent 62%),
    linear-gradient(180deg, #0a3a6b 0%, #041a33 100%);
  position: relative; overflow: hidden;
}

/* TEAL section (closing CTA): luminous */
.teal-section {
  background:
    radial-gradient(760px 420px at 18% 108%, rgba(42,183,202,0.40), transparent 60%),
    linear-gradient(158deg, #1f86d6 0%, #0c4a86 100%);
  position: relative; overflow: hidden;
}

/* featured speakers: unified duotone portraits, colourise + lift on hover */
.featured-speaker-img {
  width: 150px; height: 150px; border: 3px solid rgba(255,255,255,0.22);
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  filter: grayscale(1) contrast(1.05) brightness(1.03);
  transition: filter .45s ease, transform .45s ease, border-color .45s ease, box-shadow .45s ease;
}
@media (min-width: 768px) { .featured-speaker-img { width: 170px; height: 170px; } }
.featured-speaker:hover .featured-speaker-img {
  filter: none; transform: scale(1.06);
  border-color: var(--primary-green); box-shadow: 0 16px 42px rgba(124,179,66,0.4);
}
.featured-speaker h3 { margin-top: 6px; }

/* tier cards: dark glass, elevation, tier-coloured accent */
.tier-card {
  background: rgba(6,28,54,0.55); border: 1px solid rgba(255,255,255,0.16);
  border-radius: 16px; backdrop-filter: blur(8px);
  box-shadow: 0 14px 36px rgba(0,0,0,0.32);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  position: relative; overflow: hidden;
}
.tier-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #e5e4e2, #b9b9c9);
}
.tier-card:nth-child(2)::before { background: linear-gradient(90deg, #ffd700, #d9a400); }
.tier-card:nth-child(3)::before { background: linear-gradient(90deg, #d8d8d8, #9a9a9a); }
.tier-card:hover { transform: translateY(-7px); box-shadow: 0 24px 54px rgba(0,0,0,0.42); border-color: rgba(124,179,66,0.5); }

/* sponsor boxes: dark glass */
.platinum-box, .silver-box {
  background: rgba(6,28,54,0.6); backdrop-filter: blur(8px);
  box-shadow: 0 18px 44px rgba(0,0,0,0.4);
}

/* buttons */
.cta-button { box-shadow: 0 8px 26px rgba(124,179,66,0.4); }
.cta-button-blue {
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.35);
  backdrop-filter: blur(6px); color: #fff;
}
.cta-button-blue:hover { background: rgba(255,255,255,0.2); }

/* footer */
.footer {
  background: linear-gradient(180deg, #0a3d6e 0%, #041a33 100%);
  border-top: 1px solid rgba(124,179,66,0.4);
}

/* scroll reveal (JS toggles .v2-vis; no-JS falls back to visible) */
.v2-anim { opacity: 0; transform: translateY(30px); transition: opacity .7s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.v2-anim.v2-vis { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .v2-anim { opacity: 1 !important; transform: none !important; } }

/* ============================================================
   v2 SITE STRUCTURE — nav CTAs, interior heros, home sections, shop, donate
   ============================================================ */
.nav-links { align-items: center; }
.nav-cta { padding: 8px 17px; border-radius: 5px; font-weight: 800; text-transform: uppercase; font-size: .78rem; letter-spacing: .02em; text-decoration: none; transition: transform .2s, background .2s, border-color .2s, color .2s; }
.nav-cta-donate { color: #fff; border: 1.5px solid rgba(255,255,255,.5); }
.nav-cta-donate:hover { border-color: var(--primary-green); color: var(--primary-green); }
.nav-cta-tickets { color: #fff; background: var(--primary-green); box-shadow: 0 6px 18px rgba(124,179,66,.4); }
.nav-cta-tickets:hover { transform: translateY(-2px); }

/* interior page hero (shop / donate / about / event / past) */
.v2-pagehero { position: relative; overflow: hidden; text-align: center; padding: 132px 5% 66px;
  background: radial-gradient(900px 420px at 50% -20%, rgba(64,156,255,.22), transparent 60%), linear-gradient(180deg, #041a33 0%, #0a3a6b 100%); }
.v2-pagehero h1 { font-size: clamp(2rem, 5.5vw, 3.4rem); font-weight: 900; text-transform: uppercase; letter-spacing: -.02em; color: #fff; }
.v2-pagehero h1 .green { color: var(--primary-green); }
.v2-pagehero p { color: var(--text-gray); max-width: 620px; margin: 14px auto 0; font-size: 1.05rem; line-height: 1.6; }

/* home: next-event teaser */
.next-event { max-width: 960px; margin: 0 auto; border-radius: 20px; overflow: hidden;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); backdrop-filter: blur(8px);
  box-shadow: 0 20px 50px rgba(0,0,0,.35); display: grid; grid-template-columns: 1fr; }
@media (min-width: 768px) { .next-event { grid-template-columns: 1.05fr .95fr; } }
.next-event .ne-body { padding: 40px; }
.next-event .ne-tag { color: var(--primary-green); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: .76rem; }
.next-event h3 { font-size: clamp(1.6rem, 3.5vw, 2.3rem); font-weight: 900; text-transform: uppercase; margin: 8px 0 14px; color: #fff; }
.next-event .ne-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 20px; color: var(--text-gray); font-weight: 700; }
.next-event .ne-meta span { display: inline-flex; align-items: center; gap: 7px; }
.next-event .ne-meta svg { color: var(--primary-green); }
.next-event .ne-media { min-height: 240px; background: radial-gradient(circle at 50% 42%, rgba(64,156,255,.4), #06305e 70%); display: flex; align-items: center; justify-content: center; padding: 24px; }
.next-event .ne-media img { width: 70%; filter: drop-shadow(0 0 30px rgba(64,156,255,.5));
  -webkit-mask-image: radial-gradient(ellipse 82% 86% at 50% 50%, #000 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 82% 86% at 50% 50%, #000 55%, transparent 100%); }

/* centred band (donate / newsletter) */
.v2-band { text-align: center; }
.v2-band .lead { font-size: 1.14rem; color: #fff; max-width: 640px; margin: 0 auto 24px; line-height: 1.6; }

/* home: past summits strip */
.past-strip { display: grid; grid-template-columns: 1fr; gap: 20px; max-width: 780px; margin: 0 auto; }
@media (min-width: 640px) { .past-strip { grid-template-columns: repeat(2, 1fr); } }
.past-tile { position: relative; display: flex; flex-direction: column; min-height: 230px; padding: 30px; border-radius: 16px; overflow: hidden; text-decoration: none; color: #fff;
  background: radial-gradient(620px 320px at 85% -25%, rgba(124,179,66,.20), transparent 60%), linear-gradient(158deg, #0e4a86 0%, #041a33 100%);
  border: 1px solid rgba(255,255,255,.15); box-shadow: 0 16px 40px rgba(0,0,0,.35);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.past-tile::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--primary-green); }
.past-tile:hover { transform: translateY(-6px); box-shadow: 0 26px 56px rgba(0,0,0,.45); border-color: rgba(124,179,66,.55); }
.past-tile .pt-eyebrow { margin-bottom: auto; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text-gray); font-weight: 800; }
.past-tile .pt-title { font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 900; text-transform: uppercase; line-height: 1.05; margin: 22px 0 6px; }
.past-tile .pt-loc { color: #dfeaf6; font-weight: 600; }
.past-tile .pt-link { margin-top: 18px; color: var(--primary-green); font-weight: 800; text-transform: uppercase; font-size: .8rem; letter-spacing: .05em; }
.past-tile:hover .pt-link { text-decoration: underline; }

/* shop / merch grid */
.shop-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 1080px; margin: 0 auto; }
@media (min-width: 768px) { .shop-grid { grid-template-columns: repeat(3, 1fr); } }
.product-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 20px 46px rgba(0,0,0,.4); border-color: rgba(124,179,66,.5); }
.product-img { aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; text-align: center; padding: 16px; background: linear-gradient(150deg, #0a3a6b, #06305e); color: rgba(255,255,255,.5); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; }
.product-info { padding: 18px 18px 22px; text-align: center; }
.product-info h3 { font-size: 1.05rem; font-weight: 800; }
.product-price { color: var(--primary-green); font-weight: 900; font-size: 1.3rem; margin: 6px 0 14px; }

/* donate page */
.donate-card { max-width: 560px; margin: 0 auto; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); border-radius: 20px; padding: 34px; backdrop-filter: blur(8px); box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.donate-toggle { display: flex; gap: 8px; background: rgba(0,0,0,.25); border-radius: 10px; padding: 5px; margin-bottom: 24px; }
.donate-toggle button { flex: 1; padding: 11px; border: none; border-radius: 7px; background: transparent; color: #fff; font-weight: 800; cursor: pointer; text-transform: uppercase; font-size: .8rem; transition: background .2s; }
.donate-toggle button.on { background: var(--primary-green); }
.donate-amounts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.amount-btn { padding: 16px; border: 1.5px solid rgba(255,255,255,.25); border-radius: 12px; background: rgba(255,255,255,.04); color: #fff; font-weight: 900; font-size: 1.2rem; cursor: pointer; transition: border-color .2s, background .2s; }
.amount-btn:hover, .amount-btn.on { border-color: var(--primary-green); background: rgba(124,179,66,.15); }
.donate-custom { width: 100%; padding: 14px 16px; border-radius: 12px; border: 1.5px solid rgba(255,255,255,.25); background: rgba(0,0,0,.2); color: #fff; font-size: 1rem; margin-bottom: 20px; }

/* newsletter */
.newsletter-form { display: flex; gap: 10px; max-width: 480px; margin: 22px auto 0; flex-wrap: wrap; justify-content: center; }
.newsletter-form input { flex: 1; min-width: 220px; padding: 15px 18px; border-radius: 8px; border: 1.5px solid rgba(255,255,255,.25); background: rgba(0,0,0,.25); color: #fff; font-size: 1rem; }
.newsletter-form input::placeholder { color: rgba(255,255,255,.55); }

/* tickets */
.tier-card.featured { border-color: rgba(124,179,66,.6); box-shadow: 0 18px 44px rgba(124,179,66,.22); }
.tier-badge { display: inline-block; background: var(--primary-green); color: #06305e; font-weight: 900; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; padding: 5px 12px; border-radius: 20px; margin-bottom: 14px; }
.tier-card .price small { display: block; font-size: .8rem; font-weight: 600; color: var(--text-gray); text-transform: none; letter-spacing: 0; margin-top: 2px; }
.tier-card .cta-button { margin-top: 24px; width: 100%; justify-content: center; }

/* event page: fact cards + placeholder speaker boxes */
.event-facts { display: grid; grid-template-columns: 1fr; gap: 16px; max-width: 820px; margin: 0 auto; }
@media (min-width: 640px) { .event-facts { grid-template-columns: repeat(3, 1fr); } }
.fact { background: rgba(6,28,54,0.45); border: 1px solid rgba(255,255,255,0.18); border-radius: 14px; padding: 22px; text-align: center; backdrop-filter: blur(6px); }
.fact-label { display: block; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,0.8); font-weight: 800; margin-bottom: 6px; }
.fact-value { display: block; font-size: 1.15rem; font-weight: 800; }
.speaker-ph {
  width: 150px; height: 150px; border-radius: 50%; margin: 0 auto 14px;
  border: 3px solid rgba(255,255,255,0.18);
  background: radial-gradient(circle at 50% 38%, rgba(255,255,255,0.12), rgba(255,255,255,0.03));
  display: flex; align-items: center; justify-content: center;
}
@media (min-width: 768px) { .speaker-ph { width: 170px; height: 170px; } }
.speaker-ph svg { width: 44%; height: 44%; color: rgba(255,255,255,0.28); }
.featured-speaker.tba h3 { color: rgba(255,255,255,0.85); }
.featured-speaker.tba p { color: var(--text-gray); }
