/* UpgradeED — shared styles. Palette taken from the gold/teal logo. */
:root{
  --navy:#1b2131; --navy-2:#242b3f;
  --gold:#b28026; --gold-dk:#946a1f; --gold-lt:#d99a32;
  --teal:#006c7e; --teal-dk:#00525f; --teal-lt:#3aafc0;
  --white:#fff; --off:#f7f5ef; --lt:#efece4; --line:#e2ddd2; --muted:#5b6070;
  --nav-h:80px; --pad:clamp(1rem,5vw,6vw);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{font-family:'Nunito',sans-serif;color:var(--navy);background:var(--white);overflow-x:hidden;line-height:1.5}
img{max-width:100%;display:block}

/* ── Nav ─────────────────────────────────────────── */
nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad)}
.brand img{height:52px;width:auto}
ul.nv{display:flex;align-items:center;gap:2rem;list-style:none}
ul.nv a{color:var(--navy);text-decoration:none;font-size:.88rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:color .2s}
ul.nv a:hover{color:var(--teal)}
ul.nv a.nc{background:var(--gold);color:var(--white);padding:.6rem 1.3rem;border-radius:4px}
ul.nv a.nc:hover{background:var(--gold-dk);color:var(--white)}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative}
.burger span,.burger span::before,.burger span::after{position:absolute;left:10px;width:24px;height:2px;background:var(--navy);transition:transform .25s,opacity .2s;content:''}
.burger span{top:21px}.burger span::before{top:-7px;left:0}.burger span::after{top:7px;left:0}
nav.open .burger span{background:transparent}
nav.open .burger span::before{transform:translateY(7px) rotate(45deg)}
nav.open .burger span::after{transform:translateY(-7px) rotate(-45deg)}

/* ── Buttons ─────────────────────────────────────── */
.bp,.bo,.btn{display:inline-block;font-family:'Nunito',sans-serif;font-weight:700;font-size:1rem;padding:1rem 2.25rem;border-radius:4px;text-decoration:none;letter-spacing:.05em;text-align:center;transition:background .2s,border-color .2s,transform .15s}
.bp{background:var(--gold);color:var(--navy)}
.bp:hover{background:var(--gold-lt);transform:translateY(-2px)}
.bo{border:2px solid rgba(255,255,255,.4);color:var(--white)}
.bo:hover{border-color:var(--teal-lt);background:rgba(58,175,192,.12)}
.btn{background:var(--teal);color:var(--white)}
.btn:hover{background:var(--teal-dk);transform:translateY(-2px)}
.ctas{display:flex;flex-wrap:wrap;gap:1rem}

/* ── Hero ────────────────────────────────────────── */
.hero{min-height:100vh;min-height:100svh;background:var(--navy);display:flex;align-items:center;position:relative;overflow:hidden;padding:calc(var(--nav-h) + 40px) var(--pad) 60px}
.hero::before{content:'';position:absolute;inset:0 0 0 auto;width:50%;background:linear-gradient(135deg,var(--teal) 0%,rgba(0,108,126,.3) 60%,transparent 100%);clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}
.ha{position:absolute;top:-60px;right:8vw;width:420px;height:420px;border-radius:50%;border:2px solid rgba(217,154,50,.22)}
.hb{position:absolute;bottom:60px;left:44vw;width:160px;height:160px;border-radius:50%;border:2px solid rgba(58,175,192,.3)}
.hc{position:relative;z-index:2;max-width:680px}
.ht{display:inline-block;background:var(--gold);color:var(--navy);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.35rem 1rem;border-radius:2px;margin-bottom:1.5rem}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,7vw,6rem);line-height:.95;color:var(--white);letter-spacing:.02em;margin-bottom:1.5rem}
.hero h1 em{font-style:normal;color:var(--teal-lt);display:block}
.hs{font-size:clamp(1rem,1.6vw,1.15rem);color:rgba(255,255,255,.78);line-height:1.7;margin-bottom:2rem;max-width:520px}
.htag{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin-bottom:2.5rem}
.htag span{color:rgba(255,255,255,.6);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.htag span::before{content:'• ';color:var(--gold-lt)}

/* ── Stats bar ───────────────────────────────────── */
.sb{background:var(--gold);padding:1.5rem var(--pad);display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:1.25rem 3.5rem}
.stat{text-align:center}
.sn{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--navy);line-height:1}
.sl{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(27,33,49,.75)}

/* ── Sections ────────────────────────────────────── */
section{padding:clamp(60px,9vw,90px) var(--pad)}
.stag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:.75rem}
.stag::before{content:'— '}
h2.st{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,4vw,3.5rem);color:var(--navy);letter-spacing:.03em;line-height:1.05;margin-bottom:1rem}
.slead{font-size:1.05rem;color:var(--muted);line-height:1.7;max-width:600px;margin-bottom:3rem}

/* Modules */
.ms{background:var(--off)}
.mg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.5rem}
.mc{background:var(--white);border-radius:8px;padding:2rem;border-left:4px solid var(--teal);transition:transform .2s,box-shadow .2s}
.mc:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(27,33,49,.1)}
.mc.extra{border-left-color:var(--gold)}
.mn{font-family:'Bebas Neue',sans-serif;font-size:3rem;color:rgba(0,108,126,.18);line-height:1;margin-bottom:.5rem}
.mc.extra .mn{color:rgba(178,128,38,.25)}
.mt{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:var(--navy);letter-spacing:.03em;margin-bottom:.5rem}
.msub{font-size:.85rem;color:var(--teal);font-weight:700;letter-spacing:.04em;margin-bottom:.75rem}
.md{font-size:.92rem;color:var(--muted);line-height:1.6}

/* Packages */
.ps{background:var(--navy)}
.ps .stag{color:var(--gold-lt)}
.ps h2.st{color:var(--white)}
.ps .slead{color:rgba(255,255,255,.65)}
.pg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:1.5rem}
.pc{border-radius:8px;padding:2rem 1.75rem;position:relative;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.pc.go{background:var(--gold);border:none}
.pc.pl{background:rgba(0,108,126,.22);border:1px solid rgba(58,175,192,.45)}
.pb{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;color:rgba(255,255,255,.55)}
.pc h3{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.04em;color:var(--white);margin-bottom:.25rem}
.pd{font-size:.8rem;font-weight:700;margin-bottom:1.25rem;color:rgba(255,255,255,.55)}
.pp{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;line-height:1;margin-bottom:1.5rem;color:var(--gold-lt)}
.pp.sm{font-size:1.6rem}
.pf{list-style:none}
.pf li{font-size:.88rem;padding:.4rem 0;display:flex;gap:.6rem;align-items:flex-start;color:rgba(255,255,255,.8)}
.pf li::before{content:'✓';font-weight:700;flex-shrink:0;color:var(--teal-lt)}
.pc.go .pb,.pc.go .pd{color:rgba(27,33,49,.7)}
.pc.go h3,.pc.go .pp,.pc.go .pf li{color:var(--navy)}
.pc.go .pf li::before{color:var(--navy)}
.pop{position:absolute;top:1.25rem;right:1.25rem;background:var(--navy);color:var(--white);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border-radius:2px}

/* FAQ */
.fs{background:var(--lt)}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:900px}
.fi{background:var(--white);border-radius:6px;padding:1.5rem;border-top:3px solid var(--gold)}
.fq{font-weight:700;color:var(--navy);margin-bottom:.6rem;font-size:.95rem}
.fa{font-size:.9rem;color:var(--muted);line-height:1.65}

/* Contact */
.cs{background:var(--white)}
.cg{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2.5rem,6vw,5rem);align-items:start}
.ci h3{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--navy);margin-bottom:1rem;letter-spacing:.03em}
.cd{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}
.ck{width:40px;height:40px;background:rgba(0,108,126,.1);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.2rem}
.ct p:first-child{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:.2rem}
.ct p:last-child{font-size:.95rem;color:var(--navy);font-weight:600;overflow-wrap:anywhere}
.ct a{color:var(--navy);text-decoration:none}
.ct a:hover{color:var(--teal)}
.note{margin-top:2rem;padding:1.5rem;background:rgba(0,108,126,.07);border-radius:6px;border-left:4px solid var(--teal)}
.note p:first-child{font-weight:700;color:var(--navy);margin-bottom:.4rem}
.note p:last-child{font-size:.9rem;color:var(--muted);line-height:1.6}
form{display:flex;flex-direction:column;gap:1rem}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fg2{display:flex;flex-direction:column;gap:.4rem;min-width:0}
label{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font-family:'Nunito',sans-serif;font-size:1rem;padding:.75rem 1rem;border:1.5px solid var(--line);border-radius:4px;background:var(--off);color:var(--navy);transition:border-color .2s;outline:none;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--teal);background:var(--white)}
textarea{resize:vertical;min-height:120px}
.bsub{background:var(--teal);color:var(--white);font-family:'Nunito',sans-serif;font-weight:700;font-size:1rem;padding:1rem;border:none;border-radius:4px;cursor:pointer;letter-spacing:.05em;transition:background .2s,transform .15s}
.bsub:hover{background:var(--teal-dk);transform:translateY(-2px)}
.bsub:disabled{opacity:.7;cursor:wait;transform:none}
.fn{font-size:.8rem;color:var(--muted);text-align:center}

/* Footer */
footer{background:var(--navy);color:rgba(255,255,255,.55);padding:2.5rem var(--pad);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.25rem}
footer .flogo{height:36px;width:auto}
.ft{font-size:.78rem;letter-spacing:.08em;color:rgba(255,255,255,.4);text-transform:uppercase;margin-top:.4rem}
footer p{font-size:.85rem}
footer a{color:inherit;text-decoration:none}
footer a:hover{color:var(--gold-lt)}

/* Thank-you page */
.tmain{flex:1;display:flex;align-items:center;justify-content:center;padding:calc(var(--nav-h) + 50px) var(--pad) 80px;background:var(--off)}
.card{background:var(--white);border-radius:12px;padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,5vw,3.5rem);max-width:600px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(27,33,49,.08)}
.icon{width:80px;height:80px;background:rgba(0,108,126,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;font-size:2.5rem}
.card h1{font-family:'Bebas Neue',sans-serif;font-size:3rem;letter-spacing:.03em;color:var(--navy);margin-bottom:1rem}
.card p{font-size:1.05rem;color:var(--muted);line-height:1.7;margin-bottom:2rem}
.card p strong{color:var(--navy)}
.divider{width:60px;height:3px;background:var(--gold);margin:0 auto 2rem;border-radius:2px}
.next{font-size:.9rem}
body.thanks{min-height:100vh;display:flex;flex-direction:column}

/* ── Responsive ──────────────────────────────────── */
@media (max-width:1080px){
  :root{--nav-h:68px}
  .brand img{height:38px}
  .burger{display:block}
  ul.nv{position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(27,33,49,.12);padding:.5rem var(--pad) 1.25rem;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
  nav.open ul.nv{opacity:1;visibility:visible;transform:none}
  ul.nv li a{display:block;padding:.95rem 0;border-bottom:1px solid var(--lt)}
  ul.nv li:last-child a{border:0;margin-top:1rem;text-align:center}
  .cg{grid-template-columns:1fr}
  .hero::before{width:70%;opacity:.55}
}
@media (max-width:640px){
  .hero{min-height:auto;padding-top:calc(var(--nav-h) + 48px);padding-bottom:56px}
  .ha{width:260px;height:260px;right:-80px}
  .hb{display:none}
  .ctas a{flex:1 1 100%}
  .sb{grid-template-columns:repeat(2,1fr);justify-content:stretch}
  .fg,.fr{grid-template-columns:1fr}
  footer{flex-direction:column;align-items:flex-start}
}
