
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --red:#C40000; --red-dark:#8B0000;
  --black:#050505; --white:#ffffff;
  --light:#f7f7f7; --line:#dddddd; --muted:#666666;
  --ok:#2D6B4A; --ok-bg:#EAF5F0;
  --mtn:#FFC220; --om:#FF6600;
  --shadow:0 18px 45px rgba(0,0,0,.16);
}
*{ box-sizing:border-box; }
body{
  margin:0; font-family:Inter,sans-serif; color:var(--black);
  background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.96)),
    url('../../official-images/fgm-logo.png') center/430px no-repeat fixed;
}
.page{ display:none; min-height:100vh; }
.page.active{ display:block; }

/* NAV */
nav{
  background:var(--black); color:var(--white); padding:18px 28px;
  border-bottom:4px solid var(--red); display:flex;
  justify-content:space-between; align-items:center; box-shadow:var(--shadow);
}
.logo{ font-family:"Cormorant Garamond",serif; font-size:25px; font-weight:700; cursor:pointer; color:var(--white); }
.logo small{ display:block; font-family:Inter,sans-serif; font-size:11px; opacity:.75; }

/* LAYOUT */
.wrap{ width:min(1180px,94%); margin:30px auto; }

/* HERO */
.hero{
  position:relative;
  min-height:430px;
  text-align:center;
  color:var(--white);
  padding:75px 20px 50px;
  /* overflow:hidden removed — was clipping the announcement bar */
  background:#000;
}

.hero-slides{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden; /* clipping lives here now, on the slides wrapper only */
}

.hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:0;
  animation:fadeHero 18s infinite;
}

.hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(0,0,0,.76),rgba(0,0,0,.78));
}

/* First slide starts fully visible — no blank/black flash on load */
.hero-slide:nth-child(1){
  background-image:url('../../official-images/retreat-hero.jpg');
  animation-delay:0s;
  opacity:1;
}

.hero-slide:nth-child(2){
  background-image:url('../../official-images/retreat-hero-2.jpg');
  animation-delay:6s;
}

.hero-slide:nth-child(3){
  background-image:url('../../official-images/retreat-hero-3.jpg');
  animation-delay:12s;
}

/* Keyframes: slide 1 stays visible, fades out, others cycle in */
@keyframes fadeHero{
  0%  { opacity:1; }
  25% { opacity:1; }
  33% { opacity:0; }
  92% { opacity:0; }
  100%{ opacity:1; }
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:700px;
  margin:auto;
  padding-top:20px;
}

/* SMALLER LOGO */
.hero-content img{
  width:85px;
  max-width:22vw;
  margin-bottom:12px;
}

/* SMALLER TITLE */
.hero-content h1{
  font-size:clamp(1.8rem,4vw,3rem);
  line-height:1.1;
  margin-bottom:12px;
}

/* SMALLER TEXT */
.hero-content p,
.hero-content .event-meta{
  font-size:14px;
}

    /* ANNOUNCEMENT BAR*/
.announcement-bar{
  background:#050505;
  color:#fff;
  border-top:3px solid #C40000;
  border-bottom:3px solid #C40000;
  overflow:hidden;
  padding:10px 0;
  position:relative;
  z-index:20;}
    
.announcement-track{
  display:flex;
  width:max-content;
  animation:scrollAnnouncement 28s linear infinite;
                  }
.announcement-text{
  white-space:nowrap;
  font-size:14px;
  font-weight:600;
  padding-right:70px;
                    }
.announcement-text span{
  color:#ffdddd;
  margin:0 10px;
                 }
@keyframes scrollAnnouncement{
  from{ transform:translateX(100vw); }
  to{ transform:translateX(-100%); }
}

/* CARD SECTION */
.cards-section{
    position:relative;
    z-index:5;

    margin-top:70px;
    padding-bottom:60px;
}

/* CARDS */
.play-card{
    box-shadow:0 18px 40px rgba(0,0,0,.12);
}

/* LANDING CARDS */
.land-paths{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:70px; }
.card,.path-card{ background:var(--white); border-radius:26px; border:1px solid var(--line); overflow:hidden; }
.card{box-shadow:0 18px 40px rgba(0,0,0,.12)}
.path-card{ cursor:pointer; transition:.25s; }
.path-card:hover{ transform:translateY(-6px); box-shadow:0 24px 60px rgba(0,0,0,.22); }
.path-head{ padding:34px 28px; text-align:center; color:var(--white); min-height:210px; display:flex; flex-direction:column; justify-content:center; }
.path-head h2{ font-family:"Cormorant Garamond",serif; font-size:34px; margin:12px 0 10px; color:var(--white); }
.path-head p{ font-size:15px; line-height:1.5; margin:0; color:rgba(255,255,255,.88); }
.reg .path-head{ background:var(--red); }
.contrib .path-head{ background:var(--black); }
.donate .path-head{ background:var(--red-dark); }
.group .path-head{ background:var(--red-dark); }
.event-meta{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;position:relative;}
.em-item{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--white);}
.em-item svg{width:15px;height:15px;flex-shrink:0;}
.path-body{ padding:30px; }
.path-body ul{ margin:0 0 24px; padding-left:22px; }
.path-body li{ margin:10px 0; color:var(--muted); font-size:15px; line-height:1.45; }
/* CARD SECTION */
.cards-section{
    position:relative;
    z-index:5;
    margin-top:70px;
    padding-bottom:60px;
}
/* BUTTONS */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:16px; padding:15px 26px; color:var(--white); font-weight:700;
  text-decoration:none; cursor:pointer; border:1px solid var(--red);
  background:var(--red); box-shadow:0 10px 24px rgba(196,0,0,.22); transition:.25s;
}
.btn:hover{ background:var(--black); border-color:var(--black); transform:translateY(-2px); }
.btn-blue{ background:var(--black); border-color:var(--black); }
.btn-blue:hover{ background:var(--red); border-color:var(--red); }
.btn-gold{ background:var(--red-dark); border-color:var(--red-dark); }
.btn-gold:hover{ background:var(--black); border-color:var(--black); }
.btn-out{ background:var(--white); color:var(--black); border:1.5px solid var(--black); box-shadow:none; }
.btn-out:hover{ background:var(--black); color:var(--white); }
.btn-mtn{ background:var(--mtn); color:var(--black); border-color:var(--mtn); box-shadow:0 8px 20px rgba(255,194,32,.3); }
.btn-mtn:hover{ background:#e5aa00; border-color:#e5aa00; color:var(--black); }
.btn-om{ background:var(--om); color:var(--white); border-color:var(--om); box-shadow:0 8px 20px rgba(255,102,0,.3); }
.btn-om:hover{ background:#e55a00; border-color:#e55a00; }
.btn-full{ width:100%; }

/* FORMS */
.form-card{ padding:34px; margin-bottom:25px; }
h2{ font-family:"Cormorant Garamond",serif; color:var(--red-dark); font-size:36px; margin:0 0 10px; }
.sub{ color:var(--muted); margin-bottom:24px; }
.grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-weight:700; font-size:13px; color:var(--black); margin-bottom:8px; }
input,select,textarea{
  width:100%; padding:14px 16px; border-radius:14px;
  border:1.5px solid var(--line); background:var(--white);
  font-size:15px; outline:none; color:var(--black); font-family:Inter,sans-serif;
}
textarea{ min-height:90px; }
input:focus,select:focus,textarea:focus{ border-color:var(--red); box-shadow:0 0 0 4px rgba(196,0,0,.10); }
.notice{ background:var(--light); border:1px solid var(--line); border-left:6px solid var(--red); padding:18px 22px; border-radius:18px; margin-bottom:20px; }
.notice p{ margin:5px 0; font-size:15px; }
.choice-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.choice{ padding:28px; border-radius:20px; background:var(--white); border:2px solid var(--line); cursor:pointer; text-align:center; transition:.25s; }
.choice:hover,.choice.active{ border-color:var(--red); box-shadow:var(--shadow); }

/* ═══════════════════════════════════════════
   PAYMENT SECTION
═══════════════════════════════════════════ */
.pay-section{ margin:22px 0; }
.pay-section-title{
  font-size:13px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--black); margin-bottom:14px;
}

/* Payment logo */
.pc-logo{
  display:block;
  max-width:120px;
  height:52px;
  object-fit:contain;
  margin:0 auto 8px;
}

/* Method selector cards — MTN + Orange only */
.pay-method-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:20px;
}
.pay-card{
  background:var(--white); border:2px solid var(--line); border-radius:18px;
  padding:20px 16px; text-align:center; cursor:pointer; transition:.22s;
}
.pay-card:hover{ border-color:#aaa; }
.pay-card.sel-mtn{ border-color:var(--mtn); background:#FFFBEF; }
.pay-card.sel-om{ border-color:var(--om); background:#FFF5EE; }
.pay-card.sel-manual{ border-color:var(--black); background:var(--light); }
.pay-card .pc-logo{ height:52px; object-fit:contain; margin-bottom:8px; }
.pay-card h4{ margin:0 0 4px; font-size:15px; }
.pay-card p{ margin:0; font-size:12px; color:var(--muted); line-height:1.4; }
.pay-badge{
  display:inline-block; font-size:11px; font-weight:700; padding:3px 8px;
  border-radius:100px; margin-top:7px;
}
.badge-mtn{ background:#FFF3C0; color:#7A5000; border:1px solid #F0D060; }
.badge-om{ background:#FFE5D0; color:#7A2800; border:1px solid #FFB080; }
.badge-manual{ background:var(--light); color:var(--muted); border:1px solid var(--line); }

/* API payment panel (MTN / OM push) */
.api-panel{
  background:var(--white); border:1.5px solid var(--line); border-radius:18px;
  padding:22px; display:none;
}
.api-panel.vis{ display:block; }
.api-panel.panel-mtn{ border-color:rgba(255,194,32,.5); background:#FFFBEF; }
.api-panel.panel-om{ border-color:rgba(255,102,0,.35); background:#FFF5EE; }
.api-panel h4{ margin:0 0 6px; font-size:17px; }
.api-panel > p{ margin:0 0 16px; font-size:14px; color:var(--muted); line-height:1.55; }

/* Phone number input row */
.phone-row{ display:flex; }
.phone-pre{
  background:var(--light); border:1.5px solid var(--line); border-right:none;
  border-radius:14px 0 0 14px; padding:14px 14px; font-size:15px;
  color:var(--muted); display:flex; align-items:center; white-space:nowrap;
}
.panel-mtn .phone-pre{ background:#FFF3C0; }
.panel-om .phone-pre{ background:#FFE5D0; }
.phone-row input{ border-radius:0 14px 14px 0 !important; flex:1; }

/* Status box */
.status-box{
  display:none; margin:14px 0 0; padding:14px 16px;
  border-radius:14px; border:1.5px solid var(--line); font-weight:600; font-size:14px;
}
.status-box.show{ display:block; }
.status-box.st-pending{ background:#FFF8E8; border-color:#F0C040; color:#7A5000; }
.status-box.st-success{ background:var(--ok-bg); border-color:rgba(45,107,74,.3); color:var(--ok); }
.status-box.st-failed{ background:#FEF5F5; border-color:rgba(196,0,0,.2); color:var(--red-dark); }
@keyframes spin{ to{ transform:rotate(360deg); } }
.spin{
  display:inline-block; width:13px; height:13px;
  border:2.5px solid rgba(255,166,0,.3); border-top-color:#FF8C00;
  border-radius:50%; animation:spin .8s linear infinite; vertical-align:middle; margin-right:6px;
}

/* Manual payment panel */
.manual-panel{
  background:var(--light); border:1.5px solid var(--line); border-radius:18px;
  padding:22px; display:none;
}
.manual-panel.vis{ display:block; }
.manual-panel h4{ margin:0 0 6px; font-size:17px; }
.manual-panel > p{ margin:0 0 16px; font-size:14px; color:var(--muted); line-height:1.55; }
.txn-input{ font-family:monospace; font-size:16px; letter-spacing:.06em; }

/* Submit confirmation row */
.submit-row{ margin-top:20px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; }

/* UTILITIES */
.tog{ display:none; } .tog.vis{ display:block; }
.summary{ background:var(--light); border:1px solid var(--line); border-left:6px solid var(--red); padding:16px 20px; border-radius:18px; margin-bottom:20px; }

/* COMPACT FOOTER */
.site-footer{
  background:linear-gradient(135deg,#050505,#8B0000);
  color:#fff;
  padding:18px 12px;
  text-align:center;
  border-top:3px solid #C40000;
  margin-top:30px;
}

.footer-inner{
  width:min(900px,95%);
  margin:auto;
}

.site-footer img{
  width:42px;
  margin-bottom:6px;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));
}

.site-footer h3{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:22px;
  line-height:1.1;
  color:#fff;
}

.footer-event{
  margin:4px 0;
  font-size:13px;
  font-weight:600;
  color:#fff;
}

.footer-details{
  margin:3px 0 8px;
  font-size:12px;
  color:rgba(255,255,255,.75);
}

.footer-links{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:6px;
  font-size:11px;
  color:#ddd;
}

.footer-copy{
  margin:0;
  font-size:10px;
  color:rgba(255,255,255,.58);
}

/* LANGUAGE TOGGLE */
.lang-toggle{
  position:fixed;
  top:14px;
  right:14px;
  z-index:9999;
  display:flex;
  align-items:center;
  gap:6px;
  background:rgba(5,5,5,.92);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:6px;
  box-shadow:0 10px 25px rgba(0,0,0,.22);
}
.lang-toggle button{
  border:0;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  color:#fff;
  background:transparent;
}
.lang-toggle button.active{
  background:#C40000;
}
@media(max-width:900px){
  .lang-toggle{
    top:10px;
    right:10px;
    transform:scale(.92);
    transform-origin:top right;
  }
}

/* MOBILE */
@media(max-width:900px){
  .land-paths,.grid,.choice-grid{ grid-template-columns:1fr; }
  .land-paths{ margin-top:40px; }
  .pay-method-grid{ grid-template-columns:1fr; }
  nav{ display:block; }
  .wrap{ width:92%; }
  .hero{ padding:60px 20px 100px; }
  .hero h1{ font-size:42px; }
  .submit-row{ flex-direction:column; }
  .submit-row .btn{ width:100%; }
}
/* RECEIPT INSIDE PAGE */
.receipt-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.75);
  z-index:9999;
  overflow:auto;
  padding:40px 15px;
}
.receipt-card{
  max-width:760px;
  margin:auto;
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  animation:fadeReceipt .3s ease;
}
@keyframes fadeReceipt{
  from{
    opacity:0;
    transform:translateY(20px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}
.receipt-header{
  background:linear-gradient(135deg,#050505,#C40000);
  color:#fff;
  text-align:center;
  padding:30px 20px;
}
.receipt-header img{
  width:75px;
  margin-bottom:10px;
}
.receipt-header h1{
  margin:0;
  font-size:30px;
  font-family:"Cormorant Garamond",serif;
}
.receipt-header p{
  margin-top:6px;
  opacity:.85;
}
.receipt-body{
  padding:30px;
}
.receipt-table{
  width:100%;
  border-collapse:collapse;
}
.receipt-table td{
  padding:12px 14px;
  border-bottom:1px solid #eee;
  font-size:15px;
}
.receipt-table td:first-child{
  font-weight:700;
  width:38%;
  color:#555;
}
.receipt-amount{
  font-size:28px;
  font-weight:900;
  color:#8B0000;
}
.receipt-transaction{
  margin-top:24px;
  border:2px dashed #C40000;
  border-radius:18px;
  padding:20px;
  text-align:center;
  background:#fff7f7;
}
.receipt-transaction-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#777;
  margin-bottom:8px;
}
.receipt-transaction-id{
  font-size:24px;
  font-family:monospace;
  color:#C40000;
  font-weight:900;
}
.receipt-actions{
  justify-content:center;
  margin-top:25px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
@media(max-width:700px){
  .receipt-body{
    padding:18px;
  }
  .receipt-table td{
    font-size:13px;
    padding:10px;
  }
  .receipt-amount{
    font-size:22px;
  }
  .receipt-actions{
    flex-direction:column;
  }
  .receipt-actions .btn{
    width:100%;
  }
}



/* Premium payment confirmation modal */
.fgmc-pay-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
}
.fgmc-pay-modal.show{display:flex;}
.fgmc-pay-card{
  width:min(460px,94vw);
  background:#ffffff;
  color:#111111;
  border-radius:24px;
  padding:30px;
  text-align:center;
  box-shadow:0 28px 90px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.4);
  animation:fgmcPayPop .22s ease-out;
}
.fgmc-pay-icon{
  width:74px;
  height:74px;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:34px;
  background:linear-gradient(135deg,#fff2f2,#f7f7f7);
  border:1px solid rgba(200,16,16,.18);
}
.fgmc-pay-card h2{
  margin:0 0 8px;
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  color:#111111;
}
.fgmc-pay-intro{
  margin:0 auto 18px;
  max-width:360px;
  color:#666666;
  font-size:.92rem;
  line-height:1.55;
}
.fgmc-pay-amount{
  margin:14px auto 18px;
  padding:16px 18px;
  border-radius:18px;
  font-size:2.2rem;
  font-weight:800;
  color:#c81010;
  background:linear-gradient(135deg,#fff7f7,#f7f7f7);
  border:1px solid rgba(200,16,16,.14);
}
.fgmc-pay-details{
  margin:0 0 22px;
  padding:0;
  list-style:none;
  text-align:left;
  border-top:1px solid #eeeeee;
}
.fgmc-pay-details li{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid #eeeeee;
  font-size:.9rem;
  color:#333333;
}
.fgmc-pay-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.fgmc-pay-cancel,
.fgmc-pay-confirm{
  border:0;
  border-radius:14px;
  padding:14px 16px;
  font-weight:700;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.fgmc-pay-cancel{
  background:#f1f1f1;
  color:#111111;
}
.fgmc-pay-confirm{
  background:linear-gradient(135deg,#c81010,#8b0000);
  color:#ffffff;
  box-shadow:0 10px 24px rgba(200,16,16,.28);
}
.fgmc-pay-cancel:hover,
.fgmc-pay-confirm:hover{
  transform:translateY(-1px);
}
@keyframes fgmcPayPop{
  from{transform:translateY(18px) scale(.96);opacity:0;}
  to{transform:translateY(0) scale(1);opacity:1;}
}
@media(max-width:520px){
  .fgmc-pay-actions{grid-template-columns:1fr;}
  .fgmc-pay-card{padding:24px 20px;}
  .fgmc-pay-amount{font-size:1.75rem;}
}

/* =========================================================
   FGMC PREMIUM V2 POLISH + MOBILE OPTIMIZATION
   Added after base styles so it safely overrides without
   changing backend/payment logic.
   ========================================================= */
:root{
  --fgmc-red:#C40000;
  --fgmc-red-deep:#7B0000;
  --fgmc-black:#050505;
  --fgmc-cream:#FFF9F3;
  --fgmc-card:#FFFFFF;
  --fgmc-soft:#F7F2F0;
  --fgmc-border:rgba(5,5,5,.10);
  --fgmc-shadow:0 24px 70px rgba(0,0,0,.16);
  --fgmc-shadow-soft:0 12px 34px rgba(0,0,0,.10);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:
    radial-gradient(circle at 50% 0%, rgba(196,0,0,.10), transparent 36rem),
    linear-gradient(180deg,#fff 0%,#fff7f6 42%,#f6f6f6 100%);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.97)),
    url('../../official-images/fgm-logo.png') center 62%/min(420px,72vw) no-repeat;
  opacity:.72;
}
nav{
  position:sticky;
  top:0;
  z-index:1000;
  padding:14px clamp(14px,3vw,34px);
  background:rgba(5,5,5,.92);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(196,0,0,.9);
  box-shadow:0 10px 30px rgba(0,0,0,.28);
}
.logo{letter-spacing:.01em;display:inline-flex;flex-direction:column;gap:1px;}
.logo small{letter-spacing:.12em;text-transform:uppercase;}
.wrap{width:min(1160px,92vw);margin:clamp(18px,4vw,42px) auto;}
.hero{
  min-height:clamp(460px,70vh,720px);
  padding:clamp(58px,10vh,110px) 20px clamp(44px,8vh,80px);
  display:flex;
  align-items:center;
  justify-content:center;
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 50% 20%, rgba(196,0,0,.35), transparent 24rem),
    linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.74));
  pointer-events:none;
}
.hero-content{
  max-width:min(820px,94vw);
  padding:clamp(18px,4vw,32px);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.10));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 100px rgba(0,0,0,.30);
}
.hero-content img{
  width:clamp(68px,10vw,104px);
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.45));
}
.hero-content h1{
  font-size:clamp(2.2rem,7vw,5.2rem);
  line-height:.98;
  margin:12px 0 16px;
  letter-spacing:-.04em;
  text-shadow:0 4px 28px rgba(0,0,0,.5);
}
.hero-content p{font-size:clamp(.95rem,2vw,1.16rem);}
.announcement-bar{
  box-shadow:0 10px 30px rgba(0,0,0,.24);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:3px solid var(--fgmc-red);
}
.announcement-track{animation-duration:34s;}
.cards-section{margin-top:clamp(26px,6vw,76px);}
.land-paths{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,2vw,24px);
  margin-top:clamp(28px,6vw,74px);
}
.path-card,.card,.form-card,.pay-box,.choice-card,.pay-method-card{
  border:1px solid rgba(0,0,0,.08);
  box-shadow:var(--fgmc-shadow-soft);
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(8px);
}
.path-card{border-radius:28px;overflow:hidden;}
.path-card:hover{transform:translateY(-8px);box-shadow:var(--fgmc-shadow);}
.path-head{
  min-height:220px;
  padding:clamp(26px,3vw,38px) clamp(20px,3vw,30px);
  position:relative;
  overflow:hidden;
}
.path-head::after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  border-radius:50%;
  right:-70px;top:-70px;
  background:rgba(255,255,255,.10);
}
.path-head h2{font-size:clamp(1.75rem,2.7vw,2.35rem);}
.path-body{padding:clamp(20px,3vw,32px);}
.btn{
  border-radius:18px;
  min-height:50px;
  letter-spacing:.01em;
  box-shadow:0 14px 30px rgba(196,0,0,.18);
}
.btn:active{transform:translateY(0) scale(.99);}
input,select,textarea{
  min-height:50px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.13);
  background:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.035);
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(196,0,0,.82);
  box-shadow:0 0 0 4px rgba(196,0,0,.10),0 10px 20px rgba(0,0,0,.04);
}
.form-card{border-radius:28px;padding:clamp(22px,4vw,40px);}
h2{font-size:clamp(2rem,5vw,2.7rem);line-height:1.02;}
.sub{font-size:clamp(.92rem,2vw,1rem);}
.status-box,.pay-status,.alert,.notice{
  border-radius:18px!important;
  box-shadow:0 12px 30px rgba(0,0,0,.06);
}
.fgmc-pay-card{
  border-radius:30px;
  padding:clamp(24px,5vw,38px);
  box-shadow:0 35px 110px rgba(0,0,0,.42);
}
.fgmc-pay-amount{font-size:clamp(1.75rem,7vw,2.5rem);}
.receipt-card{border-radius:30px;}
.receipt-header{background:linear-gradient(135deg,#050505 0%,#250000 55%,#C40000 100%);}

@media(max-width:1120px){
  .land-paths{grid-template-columns:repeat(2,minmax(0,1fr));}
  .path-head{min-height:190px;}
}
@media(max-width:900px){
  nav{display:flex;gap:10px;align-items:center;justify-content:space-between;}
  .logo{font-size:20px;}
  .logo small{font-size:9px;}
  .hero{min-height:560px;padding-top:72px;}
  .event-meta{gap:12px;}
  .em-item{font-size:.82rem;}
  .grid{grid-template-columns:1fr;gap:12px;}
  .choice-grid,.pay-method-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  body::before{background-size:78vw;background-position:center 70%;}
  .wrap{width:min(94vw,560px);margin:18px auto;}
  nav{padding:12px 14px;}
  .hero{
    min-height:calc(100svh - 56px);
    padding:52px 14px 44px;
  }
  .hero-content{
    border-radius:24px;
    padding:18px 14px;
  }
  .hero-content h1{font-size:clamp(2.25rem,13vw,3.5rem);}
  .hero-content p{font-size:.92rem;}
  .event-meta{flex-direction:column;align-items:center;gap:8px;}
  .announcement-bar{padding:8px 0;}
  .announcement-text{font-size:12px;padding-right:45px;}
  .land-paths{grid-template-columns:1fr;margin-top:24px;gap:16px;}
  .path-card{border-radius:24px;}
  .path-head{min-height:155px;padding:24px 18px;}
  .path-head h2{font-size:1.85rem;}
  .path-head p,.path-body li{font-size:.9rem;}
  .path-body{padding:20px;}
  .btn{width:100%;min-height:52px;padding:14px 18px;border-radius:16px;}
  .form-card{padding:20px 16px;border-radius:24px;}
  h2{font-size:2rem;}
  input,select,textarea{font-size:16px;min-height:52px;} /* prevents iOS zoom */
  .pay-method-card,.choice-card{min-height:auto;padding:18px;}
  .fgmc-pay-modal{padding:12px;align-items:flex-end;}
  .fgmc-pay-card{
    width:100%;
    border-radius:28px 28px 18px 18px;
    max-height:92svh;
    overflow:auto;
  }
  .fgmc-pay-actions{grid-template-columns:1fr;}
  .fgmc-pay-details li{font-size:.86rem;align-items:flex-start;}
  .receipt-overlay{padding:16px 10px;}
  .receipt-card{border-radius:24px;}
  .receipt-header{padding:24px 14px;}
  .receipt-body{padding:16px 12px;}
  .receipt-table td{display:block;width:100%;border-bottom:0;padding:6px 2px;}
  .receipt-table tr{display:block;border-bottom:1px solid #eee;padding:8px 0;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
}


/* Production checkout: manual payment removed */
#reg-card-manual,#grp-card-manual,#con-card-manual,#don-card-manual,
#reg-manual-panel,#grp-manual-panel,#con-manual-panel,#don-manual-panel{display:none!important;}


/* =========================================================
   FGMC PREMIUM PARTICIPATION CARDS — WIX-STYLE UPGRADE
   Centers the three landing cards and adds premium red/black/gold
   effects for desktop, tablet, and mobile without changing payment logic.
   ========================================================= */
:root{
  --fgmc-gold:#D7B56D;
  --fgmc-gold-bright:#FFD36A;
  --fgmc-red-glow:rgba(196,0,0,.38);
  --fgmc-gold-glow:rgba(215,181,109,.34);
}

#page-landing{
  background:
    radial-gradient(circle at top left, rgba(196,0,0,.10), transparent 34rem),
    radial-gradient(circle at top right, rgba(215,181,109,.16), transparent 30rem),
    linear-gradient(180deg,#ffffff 0%,#fff8f6 42%,#f5f5f5 100%);
  overflow:hidden;
}

#page-landing .land-paths{
  width:min(1180px,92vw);
  display:grid;
  grid-template-columns:repeat(3,minmax(260px,1fr));
  justify-content:center;
  align-items:stretch;
  gap:clamp(24px,3vw,36px);
  margin:clamp(46px,6vw,86px) auto clamp(70px,7vw,110px);
  position:relative;
  isolation:isolate;
}

#page-landing .land-paths::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(920px,92vw);
  height:320px;
  transform:translate(-50%,-50%);
  z-index:-2;
  border-radius:999px;
  background:
    radial-gradient(circle at 20% 50%, rgba(196,0,0,.16), transparent 34%),
    radial-gradient(circle at 50% 50%, rgba(5,5,5,.12), transparent 36%),
    radial-gradient(circle at 80% 50%, rgba(139,0,0,.18), transparent 34%);
  filter:blur(18px);
  opacity:.95;
}

#page-landing .land-paths::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-52px;
  width:min(860px,84vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(196,0,0,.45),rgba(215,181,109,.7),rgba(196,0,0,.45),transparent);
  box-shadow:0 0 34px rgba(215,181,109,.45);
  z-index:-1;
}

#page-landing .path-card{
  position:relative;
  min-height:520px;
  display:flex;
  flex-direction:column;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.52);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,250,247,.94));
  box-shadow:
    0 34px 90px rgba(0,0,0,.17),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow:visible;
  transform:translateZ(0);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

#page-landing .path-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:34px;
  padding:1px;
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(215,181,109,.62),rgba(196,0,0,.42),rgba(255,255,255,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.75;
}

#page-landing .path-card::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:-10px;
  height:18px;
  border-radius:999px;
  opacity:.75;
  background:radial-gradient(ellipse at center, var(--fgmc-red-glow), transparent 70%);
  filter:blur(5px);
  pointer-events:none;
}

#page-landing .path-card:hover{
  transform:translateY(-12px) scale(1.012);
  box-shadow:
    0 44px 110px rgba(0,0,0,.24),
    0 0 0 1px rgba(215,181,109,.18),
    inset 0 1px 0 rgba(255,255,255,.96);
}

#page-landing .path-head{
  min-height:250px;
  padding:68px 30px 38px;
  border-radius:34px 34px 0 0;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 85% 0%, rgba(255,255,255,.14), transparent 30%),
    linear-gradient(145deg,#d90000 0%,#9b0000 58%,#6f0000 100%);
}

#page-landing .contrib .path-head{
  background:
    radial-gradient(circle at 85% 0%, rgba(255,255,255,.12), transparent 30%),
    linear-gradient(145deg,#191919 0%,#050505 58%,#000 100%);
}

#page-landing .donate .path-head{
  background:
    radial-gradient(circle at 85% 0%, rgba(255,255,255,.13), transparent 30%),
    linear-gradient(145deg,#bd0000 0%,#8b0000 58%,#5f0000 100%);
}

#page-landing .path-head::before{
  content:"";
  position:absolute;
  left:50%;
  top:28px;
  width:92px;
  height:92px;
  transform:translateX(-50%);
  border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,245,238,.72));
  border:3px solid rgba(215,181,109,.78);
  box-shadow:
    0 18px 38px rgba(0,0,0,.28),
    0 0 0 7px rgba(255,255,255,.18),
    inset 0 2px 0 rgba(255,255,255,.96);
}

#page-landing .contrib .path-head::before{
  background:linear-gradient(145deg,#1b1b1b,#050505);
  border-color:rgba(215,181,109,.92);
}

#page-landing .path-head::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-70px;
  top:-72px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  pointer-events:none;
}

#page-landing .path-head > div:first-child{
  position:absolute;
  top:47px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px!important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.22));
}

#page-landing .path-head h2{
  margin-top:68px;
  font-size:clamp(2.15rem,3vw,2.95rem);
  line-height:.98;
  letter-spacing:-.025em;
  text-shadow:0 8px 26px rgba(0,0,0,.28);
}

#page-landing .path-head p{
  max-width:280px;
  margin:14px auto 0;
  color:rgba(255,255,255,.92);
  font-size:clamp(.98rem,1.35vw,1.08rem);
  font-weight:500;
}

#page-landing .path-body{
  flex:1;
  padding:34px clamp(26px,2.5vw,36px) 32px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
}

#page-landing .path-body ul{
  list-style:none;
  padding:0;
  margin:0;
}

#page-landing .path-body li{
  position:relative;
  margin:14px 0;
  padding-left:34px;
  color:#333;
  font-size:1rem;
  line-height:1.5;
}

#page-landing .path-body li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:.05rem;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--fgmc-gold-bright);
  border:1px solid var(--fgmc-gold);
  background:linear-gradient(145deg,#fff,#fff8ec);
  font-size:13px;
  font-weight:900;
  box-shadow:0 5px 13px rgba(215,181,109,.22);
}

#page-landing .btn{
  border-radius:999px;
  min-height:58px;
  font-size:1rem;
  background:linear-gradient(135deg,#d40000,#8b0000);
  border:1px solid rgba(255,255,255,.25);
  box-shadow:
    0 18px 34px rgba(196,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.22);
}

#page-landing .btn::after{
  content:" →";
  font-size:1.25rem;
  margin-left:10px;
  transition:transform .25s ease;
}

#page-landing .path-card:hover .btn::after{
  transform:translateX(4px);
}

#page-landing .contrib .btn{
  background:linear-gradient(135deg,#171717,#050505);
  border-color:rgba(215,181,109,.42);
  box-shadow:0 18px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.14);
}

#page-landing .donate .btn{
  background:linear-gradient(135deg,#c40000,#7b0000);
}

@media(max-width:1120px){
  #page-landing .land-paths{
    width:min(820px,92vw);
    grid-template-columns:repeat(2,minmax(280px,1fr));
  }
  #page-landing .donate{
    grid-column:1 / -1;
    width:min(390px,100%);
    justify-self:center;
  }
}

@media(max-width:700px){
  #page-landing .land-paths{
    width:min(420px,92vw);
    grid-template-columns:1fr;
    gap:22px;
    margin-top:34px;
    margin-bottom:72px;
  }
  #page-landing .donate{
    width:100%;
    grid-column:auto;
  }
  #page-landing .path-card{
    min-height:auto;
    border-radius:28px;
  }
  #page-landing .path-head{
    min-height:210px;
    padding:60px 22px 30px;
    border-radius:28px 28px 0 0;
  }
  #page-landing .path-head::before{
    width:78px;
    height:78px;
    top:22px;
  }
  #page-landing .path-head > div:first-child{
    top:38px;
    font-size:30px!important;
  }
  #page-landing .path-head h2{
    margin-top:58px;
    font-size:2.25rem;
  }
  #page-landing .path-head p{
    font-size:.98rem;
  }
  #page-landing .path-body{
    padding:26px 24px 28px;
  }
  #page-landing .path-body li{
    font-size:.96rem;
    margin:12px 0;
  }
}

@media(max-width:420px){
  #page-landing .land-paths{width:94vw;}
  #page-landing .path-head h2{font-size:2.05rem;}
  #page-landing .path-head{min-height:200px;}
  #page-landing .path-body{padding:24px 20px 26px;}
}

/* =========================================================
   FGMC SPRINT UPDATE — PREMIUM HERO, PROFESSIONAL MENU,
   REGIONS + DIASPORA BAR, SIMPLIFIED REGISTRATION STRIP
   ========================================================= */
.site-nav{
  position:sticky;
  top:0;
  z-index:10000;
  min-height:76px;
  padding:14px clamp(18px,4vw,48px);
  display:flex;
  align-items:center;
  gap:24px;
  background:rgba(5,5,5,.94);
  border-bottom:1px solid rgba(196,0,0,.7);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.site-nav .logo{min-width:220px;}
.nav-menu{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(16px,2.4vw,34px);
}
.nav-menu a{
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.86;
  position:relative;
  transition:.22s ease;
}
.nav-menu a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,#C40000,#D7B56D);
  transform:scaleX(0);
  transform-origin:left;
  transition:.22s ease;
}
.nav-menu a:hover{opacity:1;color:#ffdddd;}
.nav-menu a:hover::after{transform:scaleX(1);}
.nav-cta{
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#d00000,#8b0000);
  color:#fff;
  font-weight:900;
  padding:13px 22px;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(196,0,0,.3);
}

#page-landing .hero{
  min-height:clamp(620px,78vh,820px);
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  padding:clamp(70px,9vh,110px) clamp(20px,5vw,70px) clamp(78px,10vh,115px);
}
#page-landing .hero-slide::after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 36%,rgba(0,0,0,.38) 65%,rgba(0,0,0,.70) 100%),
    linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.68));
}
.hero-premium-copy{
  margin:0;
  max-width:min(690px,94vw);
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.hero-premium-copy img{display:none;}
.hero-kicker{
  display:inline-flex;
  padding:8px 14px;
  border-radius:8px;
  background:linear-gradient(135deg,#d00000,#8b0000);
  color:#fff;
  font-weight:900;
  letter-spacing:.05em;
  margin-bottom:18px;
}
.hero-premium-copy h1{
  font-size:clamp(2.85rem,7.5vw,6.2rem);
  line-height:.88;
  text-transform:uppercase;
  letter-spacing:-.06em;
  margin:0 0 22px;
  max-width:680px;
}
.hero-premium-copy h1::first-line{color:#fff;}
.hero-premium-copy p{
  max-width:620px;
  color:rgba(255,255,255,.9);
  font-size:clamp(1rem,2vw,1.25rem);
  line-height:1.55;
  margin-bottom:24px;
}
.hero-premium-copy .event-meta{
  justify-content:flex-start;
  gap:18px 28px;
  margin-bottom:28px;
}
.hero-premium-copy .em-item{
  color:#fff;
  font-weight:800;
  text-shadow:0 3px 15px rgba(0,0,0,.45);
}
.hero-premium-copy .em-item svg{color:#D7B56D;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-outline{background:rgba(255,255,255,.06)!important;color:#fff!important;border-color:rgba(255,255,255,.45)!important;box-shadow:none!important;}
.hero-outline:hover{background:#fff!important;color:#050505!important;}

.reach-band{
  width:min(1180px,92vw);
  margin:-58px auto 0;
  position:relative;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  background:linear-gradient(135deg,rgba(5,5,5,.96),rgba(32,0,0,.94));
  border:1px solid rgba(196,0,0,.6);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.28),0 0 32px rgba(196,0,0,.16);
}
.reach-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:22px 20px;
  color:#fff;
  min-height:116px;
  border-right:1px solid rgba(255,255,255,.18);
}
.reach-item:last-child{border-right:0;}
.reach-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(196,0,0,.20);
  border:1px solid rgba(215,181,109,.34);
  font-size:24px;
}
.reach-item strong{
  display:block;
  font-size:clamp(1rem,1.4vw,1.28rem);
  line-height:1.1;
}
.reach-item span{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.72);
  font-size:12px;
  line-height:1.35;
}
.registration-focus-strip{
  width:min(980px,90vw);
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  box-shadow:0 20px 60px rgba(0,0,0,.14);
  overflow:hidden;
  position:relative;
  z-index:7;
}
.reg-focus-item{
  display:flex;
  align-items:center;
  gap:18px;
  padding:26px 34px;
  border-right:1px solid rgba(0,0,0,.10);
}
.reg-focus-item:last-child{border-right:0;}
.focus-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#fff4f4,#fff);
  color:#C40000;
  font-size:26px;
  box-shadow:0 12px 28px rgba(196,0,0,.12);
}
.reg-focus-item strong{display:block;font-size:1.15rem;text-transform:uppercase;}
.reg-focus-item span{display:block;margin-top:6px;color:#666;font-size:13px;}

.section-heading{
  width:min(860px,92vw);
  margin:clamp(54px,7vw,90px) auto 0;
  text-align:center;
}
.section-heading span{
  color:#C40000;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:12px;
}
.section-heading h2{margin-top:10px;color:#050505;}
.section-heading p{color:#666;font-size:1rem;line-height:1.6;}
.section-heading.light h2,.section-heading.light p{color:#fff;}
.program-preview{
  margin-top:30px;
  padding:70px 20px;
  background:linear-gradient(135deg,#050505,#260000 58%,#8b0000);
}
.program-grid{
  width:min(980px,92vw);
  margin:30px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.program-grid div,.support-card{
  border-radius:22px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.22);
  padding:26px;
  box-shadow:0 16px 42px rgba(0,0,0,.13);
}
.program-grid div{background:rgba(255,255,255,.08);color:#fff;}
.program-grid strong{display:block;font-size:1.2rem;color:#D7B56D;}
.program-grid span{display:block;margin-top:8px;opacity:.86;}
.support-preview{padding:34px 20px 70px;}
.support-grid{
  width:min(920px,92vw);
  margin:26px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.support-card{text-align:center;color:#8B0000;text-decoration:none;font-weight:900;}
.contact-preview{
  width:min(1100px,92vw);
  margin:0 auto 50px;
  border-radius:22px;
  padding:28px;
  background:linear-gradient(135deg,#050505,#8B0000);
  color:#fff;
  text-align:center;
  box-shadow:0 18px 50px rgba(0,0,0,.2);
}
.contact-preview strong,.contact-preview span{display:block;}
.contact-preview span{margin-top:8px;color:rgba(255,255,255,.78);}

@media(max-width:1100px){
  .nav-menu{display:none;}
  .site-nav{justify-content:space-between;}
  .reach-band{grid-template-columns:repeat(2,1fr);}
  .reach-item:nth-child(2n){border-right:0;}
  .reach-item:last-child{grid-column:1/-1;justify-content:center;text-align:center;}
}
@media(max-width:760px){
  .site-nav{min-height:68px;padding:12px 14px;}
  .site-nav .logo{min-width:0;font-size:20px;}
  .nav-cta{padding:11px 14px;font-size:12px;}
  #page-landing .hero{min-height:660px;padding:66px 18px 100px;}
  .hero-premium-copy h1{font-size:clamp(2.65rem,13vw,4rem);}
  .hero-premium-copy .event-meta{flex-direction:column;align-items:flex-start;gap:10px;}
  .hero-actions .btn{width:auto;min-width:150px;}
  .reach-band{grid-template-columns:1fr;margin-top:-54px;border-radius:20px;}
  .reach-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);min-height:auto;padding:18px;}
  .reach-item:last-child{border-bottom:0;justify-content:flex-start;text-align:left;}
  .registration-focus-strip{grid-template-columns:1fr;border-radius:20px;}
  .reg-focus-item{border-right:0;border-bottom:1px solid rgba(0,0,0,.08);padding:22px;}
  .reg-focus-item:last-child{border-bottom:0;}
  .program-grid,.support-grid{grid-template-columns:1fr;}
}

/* =========================================================
   FGMC PUBLIC WEBSITE V2.0 — PREMIUM HERO / MENU / INFO ROWS
   This block overrides earlier sprint styles and keeps backend
   pricing/payment logic untouched.
   ========================================================= */
:root{
  --fgmc-gold:#d7b56d;
  --fgmc-gold-2:#ffd36a;
  --fgmc-red:#c40000;
  --fgmc-red-deep:#7b0000;
  --fgmc-black:#050505;
}

#page-landing{
  background:
    radial-gradient(circle at 8% 6%, rgba(196,0,0,.10), transparent 34rem),
    radial-gradient(circle at 92% 16%, rgba(215,181,109,.16), transparent 30rem),
    linear-gradient(180deg,#fff 0%,#fff8f6 46%,#f5f5f5 100%);
}

/* Premium fixed/glass menu */
.site-nav.fgmc-v2-nav{
  position:fixed;
  inset:0 0 auto 0;
  z-index:10000;
  min-height:76px;
  padding:14px clamp(16px,4vw,48px);
  display:flex;
  align-items:center;
  gap:22px;
  background:linear-gradient(180deg,rgba(5,5,5,.86),rgba(5,5,5,.62));
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 54px rgba(0,0,0,.20);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.site-nav.fgmc-v2-nav.nav-scrolled{
  background:rgba(5,5,5,.97);
  border-bottom-color:rgba(196,0,0,.74);
  box-shadow:0 18px 44px rgba(0,0,0,.36);
}
.nav-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  cursor:pointer;
  min-width:250px;
}
.nav-brand img{
  width:44px;
  height:44px;
  object-fit:contain;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));
}
.logo-text{
  font-family:"Cormorant Garamond",serif;
  font-size:25px;
  line-height:.9;
  font-weight:800;
  color:#fff;
}
.logo-text small{
  display:block;
  margin-top:5px;
  font-family:Inter,sans-serif;
  font-size:10px;
  letter-spacing:.10em;
  text-transform:uppercase;
  opacity:.72;
}
.site-nav .nav-menu{
  flex:1;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(16px,2.2vw,32px);
}
.site-nav .nav-menu a{
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  opacity:.84;
  position:relative;
  padding:10px 0;
  transition:.25s ease;
}
.site-nav .nav-menu a::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:2px;
  height:2px;
  border-radius:999px;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,var(--fgmc-red),var(--fgmc-gold));
  transition:.25s ease;
}
.site-nav .nav-menu a:hover,
.site-nav .nav-menu a.active{opacity:1;color:#ffdddd;}
.site-nav .nav-menu a:hover::after,
.site-nav .nav-menu a.active::after{transform:scaleX(1);}
.nav-cta{
  border:0;
  border-radius:13px;
  background:linear-gradient(135deg,#e00000,#8b0000);
  color:#fff;
  font-weight:900;
  padding:14px 23px;
  cursor:pointer;
  box-shadow:0 16px 32px rgba(196,0,0,.32);
  transition:.24s ease;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 22px 40px rgba(196,0,0,.42);}
.nav-toggle{
  display:none;
  width:44px;height:44px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:rgba(255,255,255,.06);
  cursor:pointer;
  padding:10px;
}
.nav-toggle span{
  display:block;
  height:2px;
  background:#fff;
  border-radius:20px;
  margin:5px 0;
}

/* Hero photos */
.hero-slide.hero-live-1{background-image:url('../../official-images/retreat-hero-live-1.jpg')!important;}
.hero-slide.hero-live-2{background-image:url('../../official-images/retreat-hero-live-2.jpg')!important;}
.hero-slide.hero-live-3{background-image:url('../../official-images/retreat-hero.jpg')!important;}
#page-landing .hero-slide{
  animation:fadeHero 18s infinite, fgmcKenBurns 18s ease-in-out infinite;
  transform:scale(1.02);
}
@keyframes fgmcKenBurns{
  0%{transform:scale(1.02) translate3d(0,0,0);}
  50%{transform:scale(1.08) translate3d(-1.4%,.8%,0);}
  100%{transform:scale(1.02) translate3d(0,0,0);}
}

/* Cinematic hero */
#page-landing .hero.fgmc-v2-hero{
  min-height:clamp(720px,92vh,900px);
  padding:116px clamp(18px,4vw,70px) 86px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:left;
  overflow:hidden;
}
#page-landing .hero.fgmc-v2-hero::before{
  z-index:1;
  background:
    radial-gradient(circle at 20% 40%, rgba(196,0,0,.34), transparent 28rem),
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 36%,rgba(0,0,0,.34) 66%,rgba(0,0,0,.72) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.78));
}
#page-landing .hero.fgmc-v2-hero .hero-slide::after{
  background:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.22),rgba(0,0,0,.55));
}
.hero-v2-grid{
  position:relative;
  z-index:2;
  width:min(1320px,94vw);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.65fr);
  gap:clamp(30px,5vw,80px);
  align-items:end;
}
.hero-premium-copy{
  margin:0;
  padding:0;
  max-width:760px;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.hero-kicker{
  display:inline-flex;
  align-items:center;
  padding:9px 15px;
  margin-bottom:18px;
  border-radius:10px;
  background:linear-gradient(135deg,#e00000,#8b0000);
  color:#fff;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(196,0,0,.35);
}
.hero-premium-copy h1{
  max-width:760px;
  margin:0 0 24px;
  color:#fff;
  font-size:clamp(3rem,7.5vw,6.4rem);
  line-height:.88;
  letter-spacing:-.065em;
  text-transform:uppercase;
  text-shadow:0 8px 35px rgba(0,0,0,.60);
}
.hero-premium-copy p{
  max-width:660px;
  margin:0 0 26px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.02rem,1.8vw,1.26rem);
  line-height:1.58;
}
.hero-premium-copy .event-meta{
  justify-content:flex-start;
  gap:14px 28px;
  margin-bottom:30px;
}
.hero-premium-copy .em-item{
  color:#fff;
  font-weight:900;
  text-shadow:0 5px 18px rgba(0,0,0,.55);
}
.hero-premium-copy .em-item svg{color:var(--fgmc-gold-2);}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-actions .btn{min-width:188px;}
.hero-outline{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.44)!important;
  box-shadow:none!important;
}
.hero-outline:hover{background:#fff!important;color:#050505!important;}
.hero-side-panel{align-self:end;display:grid;gap:18px;}
.scripture-card,
.countdown-card{
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(135deg,rgba(5,5,5,.64),rgba(40,0,0,.48));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-radius:24px;
  color:#fff;
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.scripture-card{padding:24px 26px;}
.scripture-card span{color:var(--fgmc-gold-2);font-weight:900;font-size:13px;letter-spacing:.12em;text-transform:uppercase;}
.scripture-card p{margin:10px 0 0;font-size:1.05rem;line-height:1.55;color:rgba(255,255,255,.88);}
.countdown-card{padding:24px 22px;text-align:center;}
.countdown-title{display:block;color:#fff;font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;}
.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.countdown-grid div{padding:10px 8px;border-right:1px solid rgba(255,255,255,.20);}
.countdown-grid div:last-child{border-right:0;}
.countdown-grid strong{display:block;color:var(--fgmc-gold-2);font-size:clamp(1.6rem,3vw,2.65rem);line-height:1;font-weight:950;}
.countdown-grid small{display:block;margin-top:7px;color:rgba(255,255,255,.82);font-size:11px;text-transform:uppercase;font-weight:800;}

/* Clean separation after hero */
.announcement-bar{position:relative;z-index:10;margin:0;border-top:0;border-bottom:3px solid var(--fgmc-red);}
.reach-band{
  width:min(1180px,92vw);
  margin:32px auto 0!important;
  position:relative;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  background:linear-gradient(135deg,rgba(5,5,5,.98),rgba(36,0,0,.96));
  border:1px solid rgba(196,0,0,.58);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.22),0 0 32px rgba(196,0,0,.14);
}
.reach-item{min-height:124px;padding:24px 20px;border-right:1px solid rgba(255,255,255,.16);}
.reach-item:last-child{border-right:0;}
.reach-icon{background:rgba(196,0,0,.20);border:1px solid rgba(215,181,109,.36);}
.reach-item strong{font-size:clamp(1.02rem,1.35vw,1.28rem);}

.registration-focus-strip{
  width:min(780px,90vw);
  margin:24px auto 0!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-radius:24px;
  box-shadow:0 20px 60px rgba(0,0,0,.13);
}
.reg-focus-item{padding:24px 32px;}
.reg-focus-item strong{font-size:1.08rem;}

/* Better section cards spacing */
#page-landing .land-paths{margin-top:36px!important;}
.section-heading{scroll-margin-top:110px;}
#home,#participate,#program,#support,#contact{scroll-margin-top:110px;}

@media(max-width:1180px){
  .hero-v2-grid{grid-template-columns:1fr;align-items:start;}
  .hero-side-panel{max-width:640px;align-self:start;}
  .reach-band{grid-template-columns:repeat(2,1fr);}
  .reach-item:nth-child(2n){border-right:0;}
  .reach-item:last-child{grid-column:1/-1;justify-content:center;text-align:center;}
}
@media(max-width:980px){
  .nav-brand{min-width:0;}
  .site-nav .nav-menu{
    position:fixed;
    top:76px;
    right:14px;
    left:14px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    padding:16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(5,5,5,.98);
    box-shadow:0 24px 70px rgba(0,0,0,.38);
  }
  .site-nav .nav-menu.open{display:flex;}
  .site-nav .nav-menu a{padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.08);}
  .site-nav .nav-menu a:last-child{border-bottom:0;}
  .nav-toggle{display:block;}
  .nav-cta{margin-left:auto;}
}
@media(max-width:760px){
  .site-nav.fgmc-v2-nav{min-height:68px;padding:10px 12px;gap:10px;}
  .nav-brand img{width:38px;height:38px;}
  .logo-text{font-size:20px;}
  .logo-text small{font-size:8px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .nav-cta{padding:11px 13px;font-size:12px;border-radius:11px;}
  .nav-toggle{width:40px;height:40px;}
  .site-nav .nav-menu{top:68px;}
  #page-landing .hero.fgmc-v2-hero{
    min-height:780px;
    padding:92px 18px 58px;
  }
  .hero-v2-grid{width:94vw;gap:24px;}
  .hero-premium-copy h1{font-size:clamp(2.65rem,13vw,4.15rem);}
  .hero-premium-copy .event-meta{flex-direction:column;align-items:flex-start;gap:10px;}
  .hero-actions .btn{width:100%;min-width:0;}
  .scripture-card{display:none;}
  .countdown-card{border-radius:20px;padding:18px 12px;}
  .countdown-grid{gap:0;}
  .countdown-grid strong{font-size:1.75rem;}
  .countdown-grid small{font-size:9px;}
  .reach-band{grid-template-columns:1fr;margin-top:24px!important;border-radius:20px;}
  .reach-item{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14);min-height:auto;padding:18px;}
  .reach-item:last-child{border-bottom:0;grid-column:auto;justify-content:flex-start;text-align:left;}
  .registration-focus-strip{grid-template-columns:1fr;border-radius:20px;}
  .reg-focus-item{border-right:0;border-bottom:1px solid rgba(0,0,0,.08);padding:20px;}
  .reg-focus-item:last-child{border-bottom:0;}
}
@media(max-width:420px){
  .logo-text small{display:none;}
  .nav-cta{padding:10px 11px;}
  #page-landing .hero.fgmc-v2-hero{min-height:740px;}
  .hero-kicker{font-size:12px;}
}

/* =========================================================
   FGMC V2.1 — MENU, LANGUAGE SWITCH & STAFF LOGIN REFINEMENT
   ========================================================= */
.site-nav.fgmc-v2-nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:10000;
}

.site-nav .nav-menu a[href="#about"],
.site-nav .nav-menu a[data-section="about"]{
  display:none!important;
}

.nav-register-price{
  display:inline-flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-width:142px;
  padding:11px 20px!important;
  line-height:1.05;
  border-radius:16px!important;
  background:linear-gradient(135deg,#e00000 0%,#a00000 55%,#7b0000 100%)!important;
  border:1px solid rgba(215,181,109,.38)!important;
  box-shadow:0 18px 36px rgba(196,0,0,.36), inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.nav-cta-main{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:950;
}
.nav-cta-price{
  font-size:11px;
  font-weight:900;
  color:#ffd36a;
  letter-spacing:.02em;
}

/* Language switch floats just below the menu bar */
.lang-toggle.floating-lang{
  position:fixed;
  top:86px;
  right:clamp(16px,4vw,48px);
  z-index:9999;
  display:flex;
  align-items:center;
  gap:4px;
  padding:6px 8px;
  border-radius:999px;
  background:rgba(5,5,5,.72);
  border:1px solid rgba(215,181,109,.38);
  box-shadow:0 14px 38px rgba(0,0,0,.26);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.lang-toggle.floating-lang .lang-sep{
  color:rgba(255,255,255,.42);
  font-weight:900;
  padding:0 1px;
}
.lang-toggle.floating-lang button{
  min-width:36px;
  padding:7px 9px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#fff;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  transition:.22s ease;
}
.lang-toggle.floating-lang button.active{
  background:linear-gradient(135deg,#c40000,#8b0000);
  color:#fff;
  box-shadow:0 8px 18px rgba(196,0,0,.26);
}

/* Discreet operations/staff portal access */
.staff-login-fab{
  position:fixed;
  left:18px;
  bottom:20px;
  z-index:9998;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 15px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  font-size:13px;
  letter-spacing:.02em;
  background:rgba(5,5,5,.78);
  border:1px solid rgba(215,181,109,.42);
  box-shadow:0 16px 42px rgba(0,0,0,.26);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.staff-login-fab:hover{
  transform:translateY(-3px);
  border-color:#ffd36a;
  background:linear-gradient(135deg,rgba(5,5,5,.92),rgba(123,0,0,.88));
  box-shadow:0 22px 54px rgba(0,0,0,.34),0 0 0 4px rgba(215,181,109,.08);
}
.staff-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(196,0,0,.32);
  border:1px solid rgba(215,181,109,.25);
}

@media(max-width:980px){
  .nav-register-price{
    min-width:118px;
    padding:10px 12px!important;
  }
  .nav-cta-main{font-size:11px;}
  .nav-cta-price{font-size:10px;}
  .lang-toggle.floating-lang{
    top:78px;
    right:14px;
    transform:none;
  }
}

@media(max-width:560px){
  .nav-register-price{
    min-width:96px;
    padding:9px 10px!important;
  }
  .nav-cta-main{font-size:10px;}
  .nav-cta-price{font-size:9px;}
  .lang-toggle.floating-lang{
    top:72px;
    right:12px;
    padding:5px 6px;
  }
  .lang-toggle.floating-lang button{
    min-width:32px;
    padding:6px 7px;
    font-size:11px;
  }
  .staff-login-fab{
    left:12px;
    bottom:14px;
    min-height:42px;
    padding:9px 12px;
    font-size:12px;
  }
}

@media(max-width:390px){
  .staff-login-fab .staff-text{display:none;}
  .staff-login-fab{
    width:46px;
    height:46px;
    padding:0;
    justify-content:center;
  }
}

/* =========================================================
   FGMC EVENT PLATFORM V3.0 — PRODUCTION FRONTEND POLISH
   Premium hero, glass navigation, sweep cards, floating actions,
   mobile-first optimisation. Backend/payment logic untouched.
   ========================================================= */
:root{
  --v3-red:#c40000;
  --v3-red-deep:#7b0000;
  --v3-black:#050505;
  --v3-gold:#d7b56d;
  --v3-gold-bright:#ffd36a;
  --v3-glass:rgba(255,255,255,.12);
  --v3-glass-dark:rgba(5,5,5,.70);
  --v3-border:rgba(255,255,255,.18);
  --v3-ease:cubic-bezier(.2,.8,.2,1);
}

body{
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 12%, rgba(196,0,0,.10), transparent 30rem),
    radial-gradient(circle at 88% 20%, rgba(215,181,109,.15), transparent 28rem),
    linear-gradient(180deg,#fff 0%,#fff7f4 46%,#f5f5f5 100%)!important;
}

/* Premium menu */
.site-nav.fgmc-v2-nav{
  position:sticky;
  top:0;
  z-index:9990;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px clamp(14px,3vw,34px);
  background:rgba(5,5,5,.66)!important;
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid rgba(215,181,109,.24)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.22)!important;
  transition:padding .28s var(--v3-ease), background .28s var(--v3-ease), box-shadow .28s var(--v3-ease);
}
.site-nav.nav-scrolled{
  padding-top:8px;
  padding-bottom:8px;
  background:rgba(5,5,5,.92)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.34)!important;
}
.nav-brand{display:flex;align-items:center;gap:11px;cursor:pointer;min-width:210px;}
.nav-brand img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.32));}
.logo-text{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:800;color:#fff;line-height:1;}
.logo-text small{display:block;margin-top:3px;font-family:Inter,sans-serif;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.70);}
.nav-menu{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.5vw,22px);flex:1;}
.nav-menu a{position:relative;color:rgba(255,255,255,.84);font-weight:800;font-size:13px;text-decoration:none;letter-spacing:.02em;padding:9px 0;transition:color .22s ease;}
.nav-menu a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--v3-red),var(--v3-gold));transform:scaleX(0);transform-origin:center;transition:transform .25s var(--v3-ease);}
.nav-menu a:hover,.nav-menu a.active{color:#fff;}
.nav-menu a:hover::after,.nav-menu a.active::after{transform:scaleX(1);}
.nav-register-price{min-width:146px!important;display:flex!important;flex-direction:column!important;gap:2px!important;border-radius:999px!important;padding:10px 18px!important;background:linear-gradient(135deg,#de0000,#7b0000)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 14px 30px rgba(196,0,0,.35), inset 0 1px 0 rgba(255,255,255,.24)!important;}
.nav-cta-main{text-transform:uppercase;letter-spacing:.05em;font-size:12px;}
.nav-cta-price{font-size:11px;color:var(--v3-gold-bright);}
.nav-toggle{display:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:10px;width:44px;height:42px;}
.nav-toggle span{display:block;height:2px;background:#fff;border-radius:2px;margin:5px 0;}

/* Floating language below menu */
.floating-lang{top:76px!important;right:clamp(14px,3vw,34px)!important;background:rgba(5,5,5,.70)!important;border:1px solid rgba(215,181,109,.32)!important;backdrop-filter:blur(16px)!important;}
.floating-lang .lang-sep{color:rgba(255,255,255,.45);font-weight:800;}
.floating-lang button.active{background:linear-gradient(135deg,var(--v3-red),var(--v3-red-deep))!important;}

/* Cinematic hero */
.fgmc-v2-hero{min-height:calc(100svh - 74px)!important;padding:clamp(76px,10vh,118px) 18px clamp(50px,8vh,86px)!important;overflow:hidden;}
.fgmc-v2-hero::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 18% 20%,rgba(196,0,0,.28),transparent 28rem),linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.48) 45%,rgba(0,0,0,.72));pointer-events:none;}
.hero-slide{animation:fadeHero 21s infinite, v3KenBurns 21s infinite;transform:scale(1.04);}
.hero-slide.hero-live-1{background-image:url('../../official-images/retreat-hero-live-1.jpg')!important;}
.hero-slide.hero-live-2{background-image:url('../../official-images/retreat-hero-live-2.jpg')!important;}
.hero-slide.hero-live-3{background-image:url('../../official-images/retreat-hero.jpg')!important;}
@keyframes v3KenBurns{0%{transform:scale(1.04)}50%{transform:scale(1.12)}100%{transform:scale(1.04)}}
.hero-v2-grid{position:relative;z-index:3;width:min(1180px,94vw);margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(26px,4vw,60px);align-items:center;}
.hero-premium-copy{max-width:760px!important;margin:0!important;text-align:left!important;background:linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.16))!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:34px!important;box-shadow:0 34px 110px rgba(0,0,0,.42)!important;}
.hero-kicker{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(196,0,0,.28);border:1px solid rgba(215,181,109,.36);color:#fff;font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:12px;}
.hero-premium-copy h1{font-size:clamp(3rem,7.5vw,6.35rem)!important;line-height:.92!important;letter-spacing:-.055em!important;margin:18px 0!important;}
.hero-premium-copy p{max-width:700px;color:rgba(255,255,255,.90);font-size:clamp(1rem,2vw,1.22rem)!important;line-height:1.65;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;}
.hero-outline{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.38)!important;backdrop-filter:blur(12px);}
.hero-side-panel{display:grid;gap:18px;}
.scripture-card,.countdown-card{border-radius:30px;padding:26px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px);color:#fff;box-shadow:0 28px 80px rgba(0,0,0,.30);}
.scripture-card span,.countdown-title{display:block;color:var(--v3-gold-bright);font-weight:900;text-transform:uppercase;letter-spacing:.10em;font-size:12px;margin-bottom:10px;}
.scripture-card p{font-family:"Cormorant Garamond",serif;font-size:1.7rem;line-height:1.18;margin:0;color:#fff;}
.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.countdown-grid div{border-radius:18px;padding:14px 10px;text-align:center;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.12);}
.countdown-grid strong{display:block;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1;color:#fff;}
.countdown-grid small{display:block;margin-top:6px;color:rgba(255,255,255,.72);font-size:11px;}

/* Information bands */
.reach-band{width:min(1180px,94vw);margin:clamp(32px,5vw,60px) auto 18px!important;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;position:relative;z-index:4;}
.reach-item{padding:20px 16px;border-radius:24px;background:rgba(5,5,5,.92);color:#fff;border:1px solid rgba(215,181,109,.28);box-shadow:0 20px 55px rgba(0,0,0,.18);}
.reach-icon{font-size:28px;margin-bottom:8px;}
.reach-item strong{display:block;font-size:.98rem;line-height:1.2;color:#fff;}
.reach-item span{display:block;margin-top:5px;color:rgba(255,255,255,.68);font-size:.78rem;}
.registration-focus-strip{width:min(760px,92vw);margin:0 auto clamp(42px,5vw,70px)!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.reg-focus-item{padding:20px 22px;border-radius:24px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 18px 55px rgba(0,0,0,.12);display:flex;align-items:center;gap:14px;}
.focus-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff7ed,#fff);border:1px solid rgba(215,181,109,.55);}
.reg-focus-item strong{display:block;color:#111;font-size:1.04rem;}
.reg-focus-item span{display:block;margin-top:4px;color:#666;font-size:.86rem;}

/* V3 sweep participation cards */
#page-landing .land-paths{perspective:1200px;}
#page-landing .path-card{isolation:isolate;transform-style:preserve-3d;will-change:transform;}
#page-landing .path-card .path-body{position:relative;overflow:hidden;}
#page-landing .path-card .path-body::after{content:"";position:absolute;inset:-40% -80%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.58) 48%,rgba(215,181,109,.34) 52%,transparent 66%);transform:translateX(-75%) rotate(8deg);opacity:0;pointer-events:none;}
#page-landing .path-card:hover .path-body::after{animation:v3CardSweep .9s var(--v3-ease) forwards;opacity:1;}
@keyframes v3CardSweep{0%{transform:translateX(-75%) rotate(8deg)}100%{transform:translateX(75%) rotate(8deg)}}
#page-landing .path-card:hover{transform:translateY(-14px) rotateX(2deg) rotateY(-2deg) scale(1.015)!important;}
#page-landing .path-card .btn{position:relative;overflow:hidden;}
#page-landing .path-card .btn::before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:26%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-22deg);transition:left .55s var(--v3-ease);}
#page-landing .path-card:hover .btn::before{left:120%;}

/* V3 added sections */
.v3-section{width:min(1180px,94vw);margin:clamp(54px,7vw,96px) auto;position:relative;}
.v3-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.v3-info-card,.support-card,.sponsor-wall-v3 div,.faq-grid-v3 details{position:relative;overflow:hidden;border-radius:28px;background:rgba(255,255,255,.94);border:1px solid rgba(0,0,0,.08);box-shadow:0 22px 60px rgba(0,0,0,.12);padding:26px;transition:transform .3s var(--v3-ease),box-shadow .3s var(--v3-ease);}
.v3-info-card::before,.support-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(196,0,0,.08),transparent 46%,rgba(215,181,109,.16));opacity:.7;pointer-events:none;}
.v3-info-card:hover,.support-card:hover,.faq-grid-v3 details:hover{transform:translateY(-8px);box-shadow:0 32px 80px rgba(0,0,0,.18);}
.v3-info-card strong{display:block;font-size:1.25rem;color:#111;margin-bottom:8px;}
.v3-info-card span{color:#666;line-height:1.55;}
.search-registration-box{width:min(720px,94vw);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:12px;padding:20px;border-radius:28px;background:rgba(5,5,5,.84);border:1px solid rgba(215,181,109,.28);box-shadow:0 26px 80px rgba(0,0,0,.22);}
.search-registration-box input{background:#fff;}
.gallery-grid-v3{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.gallery-grid-v3 img{width:100%;height:360px;object-fit:cover;border-radius:32px;box-shadow:0 24px 80px rgba(0,0,0,.18);transition:transform .5s var(--v3-ease),filter .5s var(--v3-ease);}
.gallery-grid-v3 img:hover{transform:scale(1.025);filter:saturate(1.1) contrast(1.05);}
.sponsor-wall-v3{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.sponsor-wall-v3 div{text-align:center;font-weight:900;color:#111;background:#fff;}
.faq-grid-v3{display:grid;gap:14px;max-width:900px;margin:0 auto;}
.faq-grid-v3 summary{font-weight:900;cursor:pointer;color:#111;}
.faq-grid-v3 p{color:#666;line-height:1.55;}

/* Floating actions */
.staff-login-fab{position:fixed;left:18px;bottom:22px;z-index:9995;display:inline-flex;align-items:center;gap:9px;padding:13px 18px;border-radius:999px;background:rgba(5,5,5,.76);color:#fff;text-decoration:none;border:1px solid rgba(215,181,109,.36);box-shadow:0 18px 44px rgba(0,0,0,.26);backdrop-filter:blur(16px);font-weight:900;transition:transform .22s ease,box-shadow .22s ease;}
.staff-login-fab:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(0,0,0,.32);}
.quick-actions-v3{position:fixed;right:18px;bottom:22px;z-index:9995;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:10px;}
.qa-main,.qa-items button,.qa-items a{border:0;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:9px;padding:13px 17px;border-radius:999px;background:rgba(196,0,0,.88);color:#fff;font-weight:900;box-shadow:0 18px 44px rgba(196,0,0,.25);backdrop-filter:blur(16px);transition:transform .22s ease,opacity .22s ease;}
.qa-main{width:54px;height:54px;justify-content:center;font-size:22px;background:linear-gradient(135deg,var(--v3-red),var(--v3-red-deep));}
.qa-items{display:flex;flex-direction:column;align-items:flex-end;gap:10px;opacity:1;}
.qa-items button,.qa-items a{background:rgba(5,5,5,.78);border:1px solid rgba(215,181,109,.34);}
.qa-items button:hover,.qa-items a:hover,.qa-main:hover{transform:translateY(-3px);}
.quick-actions-v3.collapsed .qa-items{opacity:0;pointer-events:none;transform:translateY(12px);}

/* Better section headings */
.section-heading{text-align:center;width:min(900px,92vw);margin:clamp(50px,7vw,90px) auto 26px;}
.section-heading span{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(196,0,0,.10);border:1px solid rgba(196,0,0,.16);color:var(--v3-red-deep);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin-bottom:14px;}
.section-heading h2{font-size:clamp(2.2rem,5vw,3.6rem);}
.section-heading p{color:#666;line-height:1.65;font-size:1rem;}
.section-heading.light span{background:rgba(255,255,255,.10);border-color:rgba(215,181,109,.28);color:var(--v3-gold-bright);}
.section-heading.light h2,.section-heading.light p{color:#fff;}
.program-preview,.registration-search,.sponsor-preview{padding:clamp(58px,8vw,92px) 18px;border-radius:0;background:linear-gradient(135deg,#050505,#220000 60%,#7b0000);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.program-grid{width:min(960px,94vw);margin:0 auto;}

/* Mobile first refinements */
@media(max-width:1120px){
  .hero-v2-grid{grid-template-columns:1fr;}
  .hero-premium-copy{text-align:center!important;margin:auto!important;}
  .hero-actions,.event-meta{justify-content:center;}
  .hero-side-panel{grid-template-columns:1fr 1fr;}
  .reach-band{grid-template-columns:repeat(2,1fr);}
  .reach-band .reach-item:first-child{grid-column:1/-1;}
  .nav-menu{gap:12px;}
  .nav-menu a{font-size:12px;}
}
@media(max-width:900px){
  .site-nav.fgmc-v2-nav{position:sticky;padding:10px 12px;}
  .nav-toggle{display:block;}
  .nav-brand{min-width:0;}
  .logo-text{font-size:18px;}
  .logo-text small{display:none;}
  .nav-menu{position:fixed;left:12px;right:12px;top:70px;display:grid;gap:0;padding:14px;border-radius:24px;background:rgba(5,5,5,.94);border:1px solid rgba(215,181,109,.25);box-shadow:0 28px 90px rgba(0,0,0,.36);transform:translateY(-10px);opacity:0;pointer-events:none;transition:.25s var(--v3-ease);}
  .nav-menu.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .nav-menu a{padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.08);}
  .nav-register-price{min-width:118px!important;padding:9px 12px!important;}
  .floating-lang{top:68px!important;right:12px!important;transform:scale(.90);}
  .fgmc-v2-hero{min-height:auto!important;padding:86px 12px 44px!important;}
  .hero-premium-copy h1{font-size:clamp(2.45rem,11vw,4.1rem)!important;}
  .hero-side-panel{grid-template-columns:1fr;}
  .countdown-grid{grid-template-columns:repeat(4,1fr);gap:7px;}
  .countdown-grid div{padding:11px 5px;}
  .reach-band{grid-template-columns:1fr;margin-top:28px!important;}
  .registration-focus-strip{grid-template-columns:1fr;}
  .v3-card-grid,.gallery-grid-v3,.sponsor-wall-v3{grid-template-columns:1fr;}
  .gallery-grid-v3 img{height:250px;}
  .search-registration-box{grid-template-columns:1fr;}
  .staff-login-fab{left:12px;bottom:14px;padding:12px 14px;}
  .staff-text{display:none;}
  .quick-actions-v3{right:12px;bottom:14px;}
  .qa-items button span,.qa-items a span{display:none;}
  .qa-items button,.qa-items a{width:48px;height:48px;justify-content:center;padding:0;}
}
@media(max-width:520px){
  .nav-brand img{width:38px;height:38px;}
  .nav-cta-price{font-size:10px;}
  .hero-premium-copy{border-radius:24px!important;padding:18px 14px!important;}
  .scripture-card,.countdown-card{border-radius:22px;padding:18px;}
  .scripture-card p{font-size:1.35rem;}
  .countdown-grid small{font-size:9px;}
  .reach-item,.reg-focus-item,.v3-info-card,.faq-grid-v3 details{border-radius:22px;}
  #page-landing .path-card:hover{transform:translateY(-6px) scale(1.005)!important;}
}

/* =========================================================
   V3.0 PROTOTYPE REFINEMENT — SLOGAN, SOCIALS, TYPEWRITER,
   ICON-REVEAL FLOATING ACTIONS
   ========================================================= */
.site-nav.fgmc-v2-nav{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
  padding:10px clamp(14px,3vw,36px)!important;
  border-radius:0 0 28px 28px;
}
.nav-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  min-height:24px;
  padding:0 4px 4px;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.fgmc-slogan{
  font-size:clamp(12px,1.35vw,15px);
  font-weight:900;
  letter-spacing:.03em;
  color:#f4ca62;
  text-shadow:0 0 22px rgba(244,202,98,.20);
  white-space:nowrap;
}
.nav-socials{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav-socials a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  transition:color .2s ease, transform .2s ease;
}
.nav-socials a:hover{color:#fff;transform:translateY(-1px);}
.social-dot{
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(0,0,0,.20);
}
.social-dot.fb{background:#1877f2;}
.social-dot.yt{background:#ff0000;font-size:10px;}
.nav-main-row{
  width:100%;
  display:flex;
  align-items:center;
  gap:24px;
}

.typewriter-title{
  max-width:100%;
}
.typewriter-text{
  display:inline-block;
  max-width:max-content;
  overflow:hidden;
  white-space:nowrap;
  border-right:3px solid #d40000;
  animation:v3Typewriter 4.2s steps(44,end) .35s both, v3CaretBlink .78s step-end infinite;
  vertical-align:bottom;
}
@keyframes v3Typewriter{
  from{width:0;}
  to{width:100%;}
}
@keyframes v3CaretBlink{
  0%,100%{border-color:transparent;}
  50%{border-color:#d40000;}
}

/* Floating quick actions: icon-only by default, label reveals on hover/focus */
.quick-actions-v3.icon-reveal-actions{
  right:22px;
  bottom:22px;
  gap:12px;
}
.icon-reveal-actions .qa-items{
  gap:12px;
}
.icon-reveal-actions .qa-pill{
  position:relative;
  min-width:58px;
  width:58px;
  height:58px;
  padding:0!important;
  justify-content:flex-end!important;
  overflow:hidden;
  border-radius:999px!important;
  background:rgba(5,5,5,.60)!important;
  border:1px solid rgba(215,181,109,.42)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:width .28s cubic-bezier(.2,.8,.2,1), background .28s ease, transform .22s ease, box-shadow .22s ease!important;
}
.icon-reveal-actions .qa-pill:hover,
.icon-reveal-actions .qa-pill:focus-within{
  width:184px;
  transform:translateX(-4px) translateY(-2px)!important;
  background:rgba(10,10,10,.84)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.38), 0 0 0 1px rgba(215,181,109,.12)!important;
}
.icon-reveal-actions .qa-icon{
  position:absolute;
  right:4px;
  top:4px;
  width:50px;
  height:50px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:25px;
  background:linear-gradient(135deg,#d40000,#7b0000);
  color:#fff;
  box-shadow:0 12px 26px rgba(196,0,0,.32), inset 0 1px 0 rgba(255,255,255,.22);
  z-index:2;
}
.icon-reveal-actions .qa-whatsapp .qa-icon{
  background:linear-gradient(135deg,#28d75f,#059d38);
}
.icon-reveal-actions .qa-directions .qa-icon{
  background:linear-gradient(135deg,#e93030,#8b0000);
}
.icon-reveal-actions .qa-donate .qa-icon{
  background:linear-gradient(135deg,#f4ca62,#b98000);
}
.icon-reveal-actions .qa-icon img{
  width:34px;
  height:34px;
  object-fit:contain;
  display:block;
}
.icon-reveal-actions .qa-label{
  position:absolute;
  right:66px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  opacity:0;
  color:#fff;
  font-weight:900;
  font-size:14px;
  line-height:1;
  white-space:nowrap;
  transition:opacity .18s ease .04s, transform .22s ease .04s;
}
.icon-reveal-actions .qa-pill:hover .qa-label,
.icon-reveal-actions .qa-pill:focus-within .qa-label{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}
.icon-reveal-actions .qa-main{
  width:58px;
  height:58px;
  border-radius:50%;
  font-size:25px;
  background:linear-gradient(135deg,#d40000,#860000)!important;
  border:1px solid rgba(255,255,255,.14)!important;
}

/* Improve hero spacing for prototype-style navigation */
.fgmc-v2-hero{
  padding-top:clamp(126px,14vh,170px)!important;
}
.hero-kicker::after{
  content:" • No Other Christ – No Other Gospel – No Other Spirit";
  color:#f4ca62;
}

@media(max-width:1120px){
  .nav-topline{flex-direction:column;align-items:center;gap:7px;text-align:center;}
  .nav-socials{justify-content:center;gap:12px;}
  .nav-socials a span:last-child{display:none;}
  .fgmc-slogan{white-space:normal;line-height:1.3;}
  .nav-main-row{gap:14px;}
  .typewriter-text{white-space:normal;border-right:0;animation:v3FadeTitle .8s ease .25s both;}
  @keyframes v3FadeTitle{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:900px){
  .site-nav.fgmc-v2-nav{padding:8px 12px!important;border-radius:0 0 20px 20px;}
  .nav-topline{display:none;}
  .nav-main-row{gap:10px;}
  .nav-menu{top:70px!important;}
  .fgmc-v2-hero{padding-top:92px!important;}
  .hero-kicker::after{content:"";}
  .quick-actions-v3.icon-reveal-actions{right:12px;bottom:14px;}
  .icon-reveal-actions .qa-pill,
  .icon-reveal-actions .qa-pill:hover{
    width:50px;
    height:50px;
    min-width:50px;
    transform:none!important;
  }
  .icon-reveal-actions .qa-icon{width:44px;height:44px;right:3px;top:3px;font-size:22px;}
  .icon-reveal-actions .qa-icon img{width:30px;height:30px;}
  .icon-reveal-actions .qa-label{display:none!important;}
  .icon-reveal-actions .qa-main{width:52px;height:52px;}
}
@media(max-width:520px){
  .typewriter-title{font-size:clamp(2.25rem,11vw,3.25rem)!important;}
}

/* =========================================================
   V3.0 TYPEWRITER + HERO OVERLAP FIX
   Prevents the large title from overflowing the hero card and
   makes the countdown fold cleanly on smaller screens.
   ========================================================= */
.hero-premium-copy{
  overflow:hidden!important;
  width:100%!important;
}
.hero-premium-copy h1.typewriter-title{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  font-size:clamp(2.85rem,6.1vw,5.45rem)!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
  word-break:normal!important;
}
.typewriter-title .tw-line{
  display:block!important;
  width:0;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  border-right:3px solid #d40000;
  padding-right:.06em;
  will-change:width;
}
.typewriter-title .tw-line-1{
  animation:v3TypeLine1 1.55s steps(24,end) .25s forwards, v3CaretBlink .78s step-end .25s 4;
}
.typewriter-title .tw-line-2{
  color:#f4ca62;
  animation:v3TypeLine2 1.75s steps(24,end) 1.95s forwards, v3CaretBlink .78s step-end 1.95s infinite;
}
@keyframes v3TypeLine1{from{width:0;}to{width:min(100%,15ch);}}
@keyframes v3TypeLine2{from{width:0;}to{width:min(100%,20ch);}}

/* Override earlier single-line typewriter rules */
.typewriter-text{
  max-width:100%!important;
}

/* Make the hero layout breathe on laptop widths */
@media(max-width:1280px){
  .hero-v2-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.65fr)!important;gap:28px!important;}
  .hero-premium-copy h1.typewriter-title{font-size:clamp(2.65rem,5.7vw,4.8rem)!important;}
}

/* Countdown folds to 2 x 2 instead of squeezing */
@media(max-width:760px){
  .countdown-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .countdown-grid div{
    border-right:0!important;
    padding:13px 8px!important;
  }
  .countdown-grid strong{font-size:1.85rem!important;}
  .countdown-grid small{font-size:10px!important;letter-spacing:.05em;}
}

/* Mobile: use an elegant reveal instead of typing to avoid broken lines */
@media(max-width:900px){
  .hero-premium-copy h1.typewriter-title{
    font-size:clamp(2.3rem,10.6vw,3.75rem)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }
  .typewriter-title .tw-line,
  .typewriter-title .tw-line-1,
  .typewriter-title .tw-line-2{
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    border-right:0!important;
    padding-right:0!important;
    animation:v3FadeTitle .65s ease both!important;
  }
  .typewriter-title .tw-line-2{animation-delay:.12s!important;}
}

@media(max-width:420px){
  .hero-premium-copy h1.typewriter-title{font-size:clamp(2rem,11vw,3.05rem)!important;}
  .hero-side-panel{gap:12px!important;}
  .scripture-card,.countdown-card{padding:15px!important;}
}


/* =========================================================
   V3.0 HERO REBUILD + MOBILE OPTIMIZATION
   - Top slogan/social row moved to footer
   - Hero title becomes controlled 3-line typewriter
   - Countdown folds cleanly on phones
   - Quick actions are icon-first and reveal labels on hover
   ========================================================= */
.site-nav.fgmc-v2-nav{
  padding-top:12px!important;
  padding-bottom:12px!important;
}
.site-nav .nav-topline{display:none!important;}
.hero-kicker::after{content:""!important;}

.hero-premium-copy{
  overflow:visible!important;
  width:100%!important;
  max-width:920px!important;
}
.hero-premium-copy h1.hero-title,
.hero-premium-copy h1.typewriter-title{
  display:block!important;
  width:100%!important;
  max-width:min(920px,100%)!important;
  margin:14px 0 18px!important;
  font-size:clamp(3rem,5.5vw,5.45rem)!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  overflow:visible!important;
  word-break:normal!important;
}
.typewriter-title .tw-line{
  display:block!important;
  width:0;
  max-width:100%;
  overflow:hidden!important;
  white-space:nowrap!important;
  border-right:3px solid #e00000;
  padding-right:.08em;
  will-change:width;
  text-shadow:0 14px 38px rgba(0,0,0,.45);
}
.typewriter-title .tw-line-1{
  color:#fff!important;
  animation:v3HeroLine1 1.25s steps(22,end) .18s forwards, v3CaretBlink .75s step-end .18s 3;
}
.typewriter-title .tw-line-2{
  color:#fff!important;
  animation:v3HeroLine2 1.05s steps(13,end) 1.38s forwards, v3CaretBlink .75s step-end 1.38s 3;
}
.typewriter-title .tw-line-3{
  color:#f4ca62!important;
  font-family:"Cormorant Garamond",serif!important;
  font-style:italic;
  font-weight:700;
  letter-spacing:-.02em!important;
  animation:v3HeroLine3 .85s steps(7,end) 2.45s forwards, v3CaretBlink .75s step-end 2.45s infinite;
}
@keyframes v3HeroLine1{from{width:0;}to{width:22ch;}}
@keyframes v3HeroLine2{from{width:0;}to{width:13ch;}}
@keyframes v3HeroLine3{from{width:0;}to{width:7ch;}}

/* Remove earlier inline/single-line typewriter behaviour */
.typewriter-text{animation:none!important;border-right:0!important;white-space:normal!important;max-width:100%!important;}

.hero-v2-grid{
  align-items:center!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important;
  gap:clamp(24px,4vw,54px)!important;
}
.hero-premium-copy p{
  max-width:760px!important;
  font-size:clamp(1rem,1.55vw,1.26rem)!important;
  line-height:1.65!important;
}
.event-meta{
  gap:clamp(12px,2vw,22px)!important;
  align-items:center!important;
}
.em-item{white-space:nowrap;}

/* Countdown folds gracefully */
.countdown-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.countdown-grid div{min-width:0!important;}

/* Footer slogan/socials */
.footer-slogan{
  margin:10px auto 12px;
  color:#f4ca62;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:clamp(.78rem,1.4vw,.95rem);
}
.footer-socials{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 18px;
  margin:12px 0 14px;
}
.footer-socials a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-weight:700;
  font-size:.9rem;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.footer-socials a:hover{
  transform:translateY(-2px);
  background:rgba(196,0,0,.20);
  border-color:rgba(244,202,98,.35);
}
.social-dot{
  width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-size:12px;font-weight:900;
}
.social-dot.fb{background:#1877f2;}
.social-dot.yt{background:#ff0000;font-size:10px;}

@media(max-width:1280px){
  .hero-v2-grid{grid-template-columns:minmax(0,1fr) minmax(270px,.58fr)!important;gap:24px!important;}
  .hero-premium-copy h1.hero-title,
  .hero-premium-copy h1.typewriter-title{font-size:clamp(2.8rem,5.25vw,4.7rem)!important;}
  .em-item{font-size:.92rem!important;}
}

@media(max-width:980px){
  .fgmc-v2-hero{padding-top:104px!important;}
  .hero-v2-grid{grid-template-columns:1fr!important;}
  .hero-side-panel{max-width:620px!important;width:100%!important;}
  .hero-premium-copy h1.hero-title,
  .hero-premium-copy h1.typewriter-title{
    font-size:clamp(2.45rem,9vw,4.2rem)!important;
    line-height:.98!important;
  }
  .typewriter-title .tw-line,
  .typewriter-title .tw-line-1,
  .typewriter-title .tw-line-2,
  .typewriter-title .tw-line-3{
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    border-right:0!important;
    padding-right:0!important;
    animation:v3FadeTitle .65s ease both!important;
  }
  .typewriter-title .tw-line-2{animation-delay:.10s!important;}
  .typewriter-title .tw-line-3{animation-delay:.20s!important;}
  .event-meta{display:grid!important;grid-template-columns:1fr!important;justify-items:start;}
  .em-item{white-space:normal!important;}
  .countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

@media(max-width:640px){
  .fgmc-v2-hero{
    min-height:auto!important;
    padding:92px 14px 38px!important;
  }
  .hero-premium-copy{max-width:100%!important;}
  .hero-premium-copy h1.hero-title,
  .hero-premium-copy h1.typewriter-title{
    font-size:clamp(2.25rem,12vw,3.45rem)!important;
    line-height:1.02!important;
    margin:12px 0 14px!important;
  }
  .hero-premium-copy p{font-size:.98rem!important;line-height:1.55!important;}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .hero-actions .btn{width:100%!important;}
  .countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .countdown-grid div{border-right:0!important;padding:13px 8px!important;}
  .countdown-grid strong{font-size:1.9rem!important;}
  .countdown-grid small{font-size:10px!important;}
  .footer-socials{flex-direction:column;align-items:center;}
  .footer-socials a{width:min(320px,92vw);justify-content:center;}
}

@media(max-width:420px){
  .hero-premium-copy h1.hero-title,
  .hero-premium-copy h1.typewriter-title{font-size:clamp(2rem,12.2vw,3.05rem)!important;}
  .hero-kicker{font-size:.72rem!important;letter-spacing:.08em!important;}
  .scripture-card,.countdown-card{padding:15px!important;}
}

/* =========================================================
   FGMC V3.0 HERO 2.0 — JS TYPEWRITER + MOBILE FIX
   This replaces CSS width-based typing to prevent overlap.
   ========================================================= */
.hero-premium-copy{
  overflow:visible!important;
  max-width:min(1040px,96vw)!important;
}
.hero-premium-copy h1.hero-title,
.hero-premium-copy h1.typewriter-title,
.hero-typewriter-js{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:clamp(4px,.7vw,10px)!important;
  width:100%!important;
  max-width:min(1040px,100%)!important;
  margin:clamp(14px,2vw,22px) 0 clamp(18px,2.5vw,30px)!important;
  font-size:clamp(2.75rem,5.15vw,5.35rem)!important;
  line-height:.9!important;
  letter-spacing:-.045em!important;
  overflow:visible!important;
  word-break:normal!important;
}
.hero-typewriter-js .tw-line,
.hero-typewriter-js .tw-line-1,
.hero-typewriter-js .tw-line-2,
.hero-typewriter-js .tw-line-3{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  white-space:normal!important;
  border-right:0!important;
  padding-right:0!important;
  animation:none!important;
  will-change:auto!important;
  text-shadow:0 14px 38px rgba(0,0,0,.46);
}
.hero-typewriter-js .tw-line-1,
.hero-typewriter-js .tw-line-2{
  color:#fff!important;
  font-family:Inter,sans-serif!important;
  font-style:normal!important;
  font-weight:900!important;
  text-transform:uppercase;
}
.hero-typewriter-js .tw-line-3{
  color:#f4ca62!important;
  font-family:"Cormorant Garamond",serif!important;
  font-style:italic!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}
.hero-typewriter-js .tw-line.typing::after,
.hero-typewriter-js .tw-line.done.tw-final::after{
  content:"";
  display:inline-block;
  width:3px;
  height:.82em;
  margin-left:8px;
  vertical-align:-.08em;
  background:#e00000;
  animation:v3CaretBlink .8s step-end infinite;
  border-radius:2px;
}
.hero-typewriter-js .tw-line.done:not(.tw-final)::after{content:none!important;}
.hero-v2-grid{
  grid-template-columns:minmax(0,1fr) minmax(280px,.62fr)!important;
}
.hero-premium-copy p#hero-subtitle{
  max-width:850px!important;
}
@media(max-width:1180px){
  .hero-premium-copy h1.hero-title,
  .hero-premium-copy h1.typewriter-title,
  .hero-typewriter-js{
    font-size:clamp(2.45rem,6.4vw,4.45rem)!important;
    max-width:100%!important;
  }
}
@media(max-width:900px){
  .hero-v2-grid{grid-template-columns:1fr!important;}
  .hero-premium-copy{max-width:100%!important;}
  .hero-premium-copy h1.hero-title,
  .hero-premium-copy h1.typewriter-title,
  .hero-typewriter-js{
    font-size:clamp(2.1rem,10.2vw,3.8rem)!important;
    line-height:.94!important;
    letter-spacing:-.04em!important;
  }
  .hero-typewriter-js .tw-line.typing::after,
  .hero-typewriter-js .tw-line.done.tw-final::after{
    width:2px;
    margin-left:5px;
  }
}
@media(max-width:520px){
  .hero-premium-copy h1.hero-title,
  .hero-premium-copy h1.typewriter-title,
  .hero-typewriter-js{
    font-size:clamp(1.78rem,9.4vw,2.9rem)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
    gap:4px!important;
  }
  .hero-kicker{font-size:.72rem!important;}
  .hero-premium-copy p#hero-subtitle{
    font-size:.95rem!important;
    line-height:1.55!important;
  }
  .event-meta{gap:10px!important;}
  .event-meta .em-item{font-size:.82rem!important;line-height:1.35!important;}
}
@media(max-width:380px){
  .hero-premium-copy h1.hero-title,
  .hero-premium-copy h1.typewriter-title,
  .hero-typewriter-js{font-size:clamp(1.58rem,9vw,2.45rem)!important;}
}
/* =========================================================
   FGMC MOBILE SCROLL EXPERIENCE
   Safe visual enhancements only
   ========================================================= */

.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:12000;
  width:0;
  height:3px;
  background:linear-gradient(90deg,#c40000,#ffd36a);
  box-shadow:0 0 12px rgba(255,211,106,.65);
  transition:width .08s linear;
  pointer-events:none;
}

/* Elements start hidden only after JS activates animations */
html.scroll-effects-ready .scroll-reveal{
  opacity:0;
  transform:translateY(34px) scale(.985);
  filter:blur(3px);
  transition:
    opacity .7s cubic-bezier(.2,.8,.2,1),
    transform .7s cubic-bezier(.2,.8,.2,1),
    filter .7s cubic-bezier(.2,.8,.2,1);
  will-change:opacity,transform;
}

html.scroll-effects-ready .scroll-reveal.reveal-left{
  transform:translateX(-36px);
}

html.scroll-effects-ready .scroll-reveal.reveal-right{
  transform:translateX(36px);
}

html.scroll-effects-ready .scroll-reveal.reveal-scale{
  transform:scale(.92);
}

html.scroll-effects-ready .scroll-reveal.is-visible{
  opacity:1;
  transform:none;
  filter:none;
}

/* Staggered appearance for grouped cards */
.scroll-stagger > *{
  transition-delay:calc(var(--scroll-index, 0) * 80ms);
}

/* Premium card movement */
.path-card,
.v3-info-card,
.support-card,
.faq-grid-v3 details,
.reg-focus-item,
.reach-item,
.program-grid > div,
.rcc{
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    box-shadow .32s ease,
    border-color .32s ease;
}

.scroll-active-card{
  transform:translateY(-5px) scale(1.008);
  box-shadow:0 24px 65px rgba(0,0,0,.16);
}

/* Navigation hides when scrolling down and returns when scrolling up */
.site-nav{
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    background .28s ease,
    box-shadow .28s ease !important;
}

.site-nav.nav-hidden{
  transform:translateY(-110%);
}

.site-nav.nav-visible{
  transform:translateY(0);
}

/* Subtle hero movement */
.hero-content,
.hero-side-panel{
  will-change:transform;
}

/* Floating actions animate on first appearance */
.quick-actions-v3,
.staff-login-fab,
.lang-toggle{
  transition:
    opacity .35s ease,
    transform .35s cubic-bezier(.2,.8,.2,1);
}

body.scroll-started .quick-actions-v3,
body.scroll-started .staff-login-fab{
  animation:mobileFloatIn .55s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes mobileFloatIn{
  from{
    opacity:0;
    transform:translateY(24px) scale(.92);
  }
  to{
    opacity:1;
    transform:none;
  }
}

/* Mobile-specific polish */
@media(max-width:900px){
  html.scroll-effects-ready .scroll-reveal{
    transform:translateY(26px) scale(.99);
    transition-duration:.58s;
  }

  html.scroll-effects-ready .scroll-reveal.reveal-left,
  html.scroll-effects-ready .scroll-reveal.reveal-right{
    transform:translateY(26px);
  }

  .path-card:active,
  .choice:active,
  .pay-card:active,
  .support-card:active,
  .v3-info-card:active{
    transform:scale(.985);
  }

  .hero-slide{
    transform:scale(1.06);
  }

  .section-heading{
    transition:transform .4s ease;
  }
}

/* Respect accessibility preferences */
@media(prefers-reduced-motion:reduce){
  .scroll-reveal,
  .scroll-reveal.is-visible,
  .site-nav,
  .hero-content,
  .hero-side-panel{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
    animation:none !important;
  }
}

/* =========================================================
   FGMC LAUNCH UPDATE — Vendor access and four-card layout
   ========================================================= */
.land-paths{grid-template-columns:repeat(4,minmax(0,1fr));}
.path-card.vendor{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-top:5px solid #d4af37;}
.path-card.vendor .path-head{background:linear-gradient(145deg,#fffaf0,#ffffff);}
.path-card.vendor .btn{pointer-events:none;}
.qa-vendor{background:linear-gradient(135deg,#7a5100,#d4af37);color:#fff;}
@media(max-width:1180px){.land-paths{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.land-paths{grid-template-columns:1fr}.path-card.vendor{min-height:0}}


/* ================================================================
   Public Landing Milestone — Dynamic Hero Slideshow
   Keeps event text readable while allowing retreat photographs to show.
   ================================================================ */
#page-landing .fgmc-v2-hero .hero-slides{
  isolation:isolate;
  background:#080808;
}
#page-landing .fgmc-v2-hero .hero-slide{
  opacity:0!important;
  animation:none!important;
  transform:scale(1.035);
  transition:opacity 1.15s ease, transform 8s ease;
  will-change:opacity,transform;
}
#page-landing .fgmc-v2-hero .hero-slide.is-active{
  opacity:1!important;
  transform:scale(1.105);
  z-index:1;
}
#page-landing .fgmc-v2-hero .hero-slide::after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.42) 43%,rgba(0,0,0,.18) 68%,rgba(0,0,0,.42) 100%)!important;
}
#page-landing .hero.fgmc-v2-hero::after{
  background:
    radial-gradient(circle at 18% 24%,rgba(196,0,0,.20),transparent 30rem),
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.48))!important;
}
#page-landing .hero-premium-copy{
  padding:clamp(20px,3vw,34px)!important;
  background:linear-gradient(135deg,rgba(2,2,2,.58),rgba(2,2,2,.24))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:30px!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 28px 80px rgba(0,0,0,.34)!important;
}
.hero-slide-controls{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 12px 35px rgba(0,0,0,.24);
}
.hero-slide-dots{display:flex;align-items:center;gap:8px;}
.hero-slide-dot{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.52);cursor:pointer;
  transition:width .25s ease,background .25s ease,transform .25s ease;
}
.hero-slide-dot.is-active{width:30px;border-radius:999px;background:#D7B56D;}
.hero-slide-dot:hover{transform:scale(1.18);background:#fff;}
.hero-slide-arrow{
  width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.24);
  display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.10);
  cursor:pointer;font-size:18px;line-height:1;transition:.25s ease;
}
.hero-slide-arrow:hover{background:#fff;color:#111;transform:scale(1.05);}
@media (max-width:700px){
  #page-landing .fgmc-v2-hero .hero-slide{background-position:center top;}
  #page-landing .fgmc-v2-hero .hero-slide.hero-live-1{background-position:58% center;}
  #page-landing .fgmc-v2-hero .hero-slide.hero-live-2{background-position:52% center;}
  #page-landing .hero-premium-copy{padding:20px 16px!important;background:rgba(0,0,0,.50)!important;}
  .hero-slide-controls{bottom:12px;}
  .hero-slide-arrow{width:32px;height:32px;}
}
@media (prefers-reduced-motion:reduce){
  #page-landing .fgmc-v2-hero .hero-slide{transition:opacity .25s ease!important;transform:none!important;}
}

/* M4.8 Premium Participant Services navigation */
.fgmc-v2-nav .nav-menu .nav-services{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.05;padding:9px 14px!important;border-radius:14px;background:linear-gradient(135deg,rgba(216,173,67,.18),rgba(255,255,255,.08));border:1px solid rgba(216,173,67,.4);box-shadow:0 10px 26px rgba(68,18,32,.12)}
.fgmc-v2-nav .nav-menu .nav-services span{font-weight:900;color:inherit}.fgmc-v2-nav .nav-menu .nav-services small{font-size:9px;letter-spacing:.04em;opacity:.72;margin-top:4px;text-transform:none}.fgmc-v2-nav .nav-menu .nav-services:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(68,18,32,.18)}
@media(max-width:900px){.fgmc-v2-nav .nav-menu .nav-services{width:100%;padding:14px 16px!important;margin:5px 0;background:linear-gradient(135deg,#7b1730,#a01f43);color:#fff!important;border-color:#d8ad43}.fgmc-v2-nav .nav-menu .nav-services small{color:#f7e3a8;opacity:1}}

/* ================================================================
   M4.8 PREMIUM RED HEADER — desktop + mobile
   ================================================================ */
:root{
  --fgmc-red:#e50918;
  --fgmc-red-dark:#a9000c;
  --fgmc-ink:#0a0b0f;
  --fgmc-ink-soft:#12141a;
  --fgmc-white:#ffffff;
}
.premium-site-header{position:relative;z-index:80;background:var(--fgmc-ink);color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.28)}
.premium-topbar{height:38px;border-bottom:1px solid rgba(255,255,255,.14);background:#090a0d}
.premium-topbar-inner{max-width:1480px;height:100%;margin:auto;padding:0 clamp(20px,3vw,48px);display:flex;align-items:center;gap:clamp(20px,3vw,46px);font-size:12px;font-weight:700;letter-spacing:.03em;color:rgba(255,255,255,.85)}
.premium-topbar-inner a,.premium-topbar-inner span{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;white-space:nowrap}
.premium-topbar-inner a:hover{color:#fff}
.premium-topbar-inner span span,.premium-topbar-inner a span{color:var(--fgmc-red);font-size:14px}
.premium-nav.site-nav{position:relative!important;top:auto!important;background:linear-gradient(180deg,#101116 0%,#0b0c10 100%)!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;box-shadow:none!important;padding:0!important}
.premium-nav .nav-main-row{max-width:1480px;min-height:92px;margin:auto;padding:0 clamp(20px,3vw,48px);display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:28px}
.premium-nav .nav-brand{display:flex;align-items:center;gap:14px;min-width:260px;text-decoration:none;color:#fff;cursor:pointer}
.premium-nav .nav-brand img{width:55px;height:65px;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.35))}
.premium-nav .logo-text{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:800;line-height:1;color:#fff;white-space:nowrap}
.premium-nav .logo-text small{display:block;margin-top:8px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--fgmc-red)}
.premium-nav .nav-menu{display:flex!important;align-items:center;justify-content:center;gap:clamp(16px,1.65vw,30px);position:static!important;width:auto!important;height:auto!important;padding:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
.premium-nav .nav-link{position:relative;display:flex;align-items:center;gap:7px;padding:34px 0 31px!important;color:rgba(255,255,255,.9)!important;text-decoration:none!important;text-transform:uppercase;font-size:12px!important;font-weight:800!important;letter-spacing:.025em;white-space:nowrap;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.premium-nav .nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:24px;height:2px;background:var(--fgmc-red);transition:right .25s ease}
.premium-nav .nav-link:hover,.premium-nav .nav-link.active{color:#fff!important}
.premium-nav .nav-link:hover::after,.premium-nav .nav-link.active::after{right:0}
.premium-nav .nav-link.active{color:var(--fgmc-red)!important}
.premium-nav .premium-register-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:170px;height:54px;padding:0 24px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--fgmc-red),#c9000d);color:#fff;font-size:12px;font-weight:900;letter-spacing:.035em;box-shadow:0 13px 32px rgba(229,9,24,.28);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.premium-nav .premium-register-btn:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(229,9,24,.42)}
.nav-dropdown{position:relative}
.nav-services-trigger{min-height:54px!important;margin:18px 0;padding:0 16px!important;border:1px solid var(--fgmc-red)!important;border-radius:11px!important;box-shadow:0 0 22px rgba(229,9,24,.14)!important}
.nav-services-trigger::after{display:none!important}
.services-person{color:var(--fgmc-red);font-size:15px;text-shadow:0 0 10px rgba(229,9,24,.55)}
.dropdown-chevron{margin-left:3px;color:var(--fgmc-red);font-size:16px}
.nav-dropdown-menu{position:absolute;top:calc(100% - 9px);left:50%;transform:translate(-50%,12px);width:245px;padding:10px;background:linear-gradient(180deg,#17181e,#101116);border:1px solid rgba(255,255,255,.18);border-radius:13px;box-shadow:0 24px 55px rgba(0,0,0,.5);opacity:0;visibility:hidden;pointer-events:none;transition:.22s ease;z-index:100}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.nav-dropdown-menu a{display:grid!important;grid-template-columns:25px 1fr;align-items:center;gap:10px;padding:12px 10px!important;color:#fff!important;text-decoration:none;border-radius:8px;font-size:12px!important;text-transform:none!important;letter-spacing:0!important;transition:.2s ease}
.nav-dropdown-menu a::after{display:none!important}
.nav-dropdown-menu a span{color:var(--fgmc-red);font-size:15px;text-align:center}
.nav-dropdown-menu a b{font-weight:700}
.nav-dropdown-menu a:hover{background:rgba(229,9,24,.12)!important;transform:translateX(2px)}
.premium-nav .nav-toggle{display:none}

/* Red accents matching the requested mockup */
#page-landing .hero-kicker,.hero-title .tw-line-3,.section-heading>span{color:var(--fgmc-red)!important}
#page-landing .hero-slide-dot.is-active{background:var(--fgmc-red)!important}
#page-landing .hero-actions .btn:first-child{background:linear-gradient(135deg,var(--fgmc-red),#c9000d)!important;box-shadow:0 12px 30px rgba(229,9,24,.30)!important}
#page-landing .hero-outline{border-color:var(--fgmc-red)!important;color:#fff!important;text-decoration:none}
#page-landing .hero-outline:hover{background:var(--fgmc-red)!important}

@media(max-width:1250px){
  .premium-nav .nav-main-row{grid-template-columns:minmax(230px,1fr) auto auto;gap:18px}
  .premium-nav .nav-menu{gap:16px}
  .premium-nav .nav-link{font-size:11px!important}
  .premium-nav .logo-text{font-size:23px}
  .premium-nav .premium-register-btn{min-width:145px;padding:0 17px}
}
@media(max-width:1060px){
  .premium-topbar{display:none}
  .premium-nav .nav-main-row{min-height:78px;display:flex;justify-content:space-between;padding:0 18px}
  .premium-nav .nav-brand img{width:45px;height:54px}
  .premium-nav .logo-text{font-size:20px}.premium-nav .logo-text small{font-size:8px}
  .premium-nav .nav-toggle{display:flex!important;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;margin-left:auto;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#15171d}
  .premium-nav .nav-toggle span{width:22px;height:2px;margin:0 auto;background:#fff;border-radius:2px}
  .premium-nav .premium-register-btn{display:none}
  .premium-nav .nav-menu{display:none!important;position:absolute!important;top:78px!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100vh - 94px);overflow:auto!important;padding:13px!important;flex-direction:column;align-items:stretch;gap:4px;background:linear-gradient(180deg,#17181e,#0d0e12)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:14px!important;box-shadow:0 25px 60px rgba(0,0,0,.55)!important}
  .premium-nav .nav-menu.open,.premium-nav .nav-menu.active,.premium-nav .nav-menu.show{display:flex!important}
  .premium-nav .nav-link{width:100%;padding:14px 13px!important;margin:0!important;border-radius:9px!important;font-size:12px!important}
  .premium-nav .nav-link::after{display:none}
  .premium-nav .nav-link:hover,.premium-nav .nav-link.active{background:rgba(229,9,24,.12)!important}
  .nav-dropdown{width:100%}
  .nav-services-trigger{min-height:0!important;border:1px solid rgba(229,9,24,.58)!important;background:rgba(229,9,24,.08)!important}
  .nav-dropdown-menu{position:static;width:100%;padding:4px 0 4px 14px;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;background:transparent;border:0;border-radius:0;box-shadow:none;display:none}
  .nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}
  .nav-dropdown-menu a{padding:11px 10px!important}
}
@media(max-width:520px){
  .premium-nav .nav-main-row{min-height:72px}
  .premium-nav .nav-menu{top:72px!important}
  .premium-nav .nav-brand{min-width:0;gap:10px}
  .premium-nav .nav-brand img{width:39px;height:48px}
  .premium-nav .logo-text{font-size:17px}.premium-nav .logo-text small{font-size:7px;letter-spacing:.11em}
}


/* M5.0 RC1 platform-wide mobile stabilization */
html{scroll-behavior:smooth;overflow-x:hidden}body{overflow-x:hidden}.page,.site-nav,.hero,.section{max-width:100%}img,svg,video{max-width:100%;height:auto}.nav-menu a,.nav-cta,.btn{touch-action:manipulation}.form-grid input,.form-grid select,.form-grid textarea,input,select,textarea{font-size:16px}.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:900px){.nav-main-row{min-height:68px}.nav-menu{max-height:calc(100vh - 68px);overflow-y:auto;overscroll-behavior:contain}.hero-v2-grid,.participant-grid,.accommodation-grid{grid-template-columns:1fr}.hero-side-panel{max-width:620px}.quick-actions-v3{bottom:max(18px,env(safe-area-inset-bottom))}}
@media(max-width:600px){.floating-lang{top:auto;bottom:max(16px,env(safe-area-inset-bottom));left:12px;right:auto}.staff-login-fab{bottom:max(72px,calc(env(safe-area-inset-bottom) + 72px))}.hero{min-height:auto}.hero-content{padding-top:110px}.hero-title{font-size:clamp(2rem,11vw,3.2rem)}.event-meta{grid-template-columns:1fr}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%;min-height:48px}.section{padding-inline:16px}.modal,.form-shell{width:calc(100% - 20px);max-height:92vh;overflow:auto}.qa-label{display:none}.qa-pill{width:48px;height:48px;padding:0;justify-content:center}.announcement-bar{font-size:.82rem}}
@media(max-width:380px){.logo-text small{display:none}.nav-brand img{width:40px}.hero-content{padding-inline:12px}.countdown-grid{gap:6px}.countdown-grid div{padding:10px 4px}}
