*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font-family:"Karla",Arial,sans-serif;line-height:1.5}
body.modal-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(calc(100% - 2rem),var(--container));margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(23,50,77,.08)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.brand img{width:min(420px,62vw);height:auto}
h1,h2,h3{font-family:"Tenor Sans",serif;line-height:1.12;margin:0}
h1{font-size:clamp(2rem,4vw,4rem)}
h2{font-size:clamp(1.6rem,3vw,2.6rem)}
.eyebrow,.section-kicker{margin:0 0 .75rem;font-size:.9rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.eyebrow--dark{color:var(--blue)}
.hero{background:var(--hero-bg);background-size:cover;background-position:center;padding:4rem 0 3rem}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}
.card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(23,50,77,.08)}
.card--glass{background:rgba(255,255,255,.90);backdrop-filter:blur(8px);padding:2rem}
.card--soft{background:#f7fbf2;box-shadow:none}
.hero__subheadline{font-size:1.16rem;color:#41576b}
.hero__description{font-size:1.05rem;color:#5b6f82}
.hero__event{display:flex;align-items:center;gap:1rem;width:fit-content;max-width:100%;padding:.8rem 1rem;margin-top:1.4rem;border-radius:999px}
.hero__event-logo img{width:70px;height:70px;object-fit:cover;border-radius:50%;border:4px solid #fff}
.event-date,.event-time{font-weight:700;color:var(--blue)}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
.hero__graphic{width:100%;height:430px;object-fit:cover}
.expert-box{display:flex;gap:1rem;align-items:center;padding:1.25rem;background:linear-gradient(180deg,#fff,#f8fbf4)}
.expert-box__photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.expert-box h2{font-size:1.25rem}
.expert-box p{margin:.35rem 0 0;color:#5b6f82}
.button{appearance:none;border:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 1.5rem;border-radius:999px;background:var(--green);color:#17324d;box-shadow:0 12px 30px rgba(154,193,0,.28);font-weight:700;font-size:1rem;transition:.2s ease}
.button:hover{transform:translateY(-1px);background:var(--green-dark);color:#fff}
.button--secondary,.button--ghost{background:#fff;color:var(--text);border:1px solid rgba(23,50,77,.14);box-shadow:none}
.countdown-section{padding:2rem 0 0}
.countdown-card{text-align:center;padding:2rem;background:linear-gradient(180deg,#f7fbf2,#eef6e5)}
.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0 1.5rem}
.countdown__item{background:#fff;border-radius:18px;padding:1rem .5rem;border:1px solid rgba(23,50,77,.08)}
.countdown__item span{display:block;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1;color:var(--blue)}
.countdown__item small{display:block;margin-top:.4rem;color:#5f7285;text-transform:uppercase;letter-spacing:.08em}
.learn{padding:4rem 0}
.section-heading{text-align:center;margin-bottom:1.6rem}
.learn__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.learn-card{padding:1.4rem 1.5rem}
.benefit-list{margin:0;padding:0;list-style:none}
.benefit-list li{position:relative;padding-left:1.8rem;margin:.95rem 0;font-size:1.05rem}
.benefit-list li::before{content:"";position:absolute;left:0;top:.5rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(154,193,0,.18)}
.centered-cta{text-align:center;margin-top:1.8rem}
.offer-section{padding:0 0 4rem}
.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;align-items:center;background:linear-gradient(135deg,#1e5f97,#224a70);color:#fff;border-radius:32px;padding:2rem;overflow:hidden}
.offer-copy p{color:rgba(255,255,255,.88)}
.offer-media img{border-radius:24px;width:100%;height:340px;object-fit:cover;border:4px solid rgba(255,255,255,.12)}
.site-footer{background:#0f2236;color:#fff;padding:2.25rem 0;text-align:center}
.site-footer p{margin:.35rem 0;color:rgba(255,255,255,.82)}
.site-footer a{color:#fff;text-decoration:underline}
.modal{position:fixed;inset:0;z-index:100;display:none}
.modal.is-open{display:block}
.modal__backdrop{position:absolute;inset:0;background:rgba(9,20,32,.68);backdrop-filter:blur(4px)}
.modal__panel{position:relative;z-index:1;width:min(calc(100% - 1.5rem),620px);margin:4vh auto;background:#fff;border-radius:32px;box-shadow:0 30px 80px rgba(9,30,66,.32);overflow:hidden}
.modal__close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background:#fff;color:#234d74;box-shadow:0 10px 25px rgba(9,30,66,.14);font-size:1.8rem;line-height:1}
.modal__header{background:linear-gradient(180deg,#f8fbf4,#eef7e3);padding:1.5rem 1.5rem 1rem}
.signup-form{padding:1.5rem}
.signup-form label{display:block;margin-bottom:1rem;font-weight:700}
.signup-form label span{display:block;margin-bottom:.4rem}
.signup-form input{width:100%;min-height:58px;border-radius:16px;border:1px solid rgba(23,50,77,.16);padding:0 1rem;font:inherit;color:var(--text);background:#fff}
.signup-form input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(154,193,0,.18)}
.fine-print{font-size:.92rem;color:#5f7285}
.form-message--error{color:#b42318;font-weight:700;margin-bottom:1rem}
@media(max-width:920px){.hero__grid,.learn__grid,.offer-grid{grid-template-columns:1fr}.hero__graphic{height:360px}.site-header__inner{align-items:flex-start;flex-direction:column}.brand img{width:min(340px,72vw)}}
@media(max-width:640px){.hero{padding-top:2.4rem}.card--glass,.countdown-card,.offer-grid{padding:1.25rem}.hero__event{border-radius:24px;align-items:flex-start}.countdown{grid-template-columns:repeat(2,minmax(0,1fr))}.modal__panel{margin:1rem auto}.expert-box{align-items:flex-start}.hero__graphic{height:280px}}

.admin-preview-banner{
  position:sticky;
  top:0;
  z-index:9999;
  background:#17324d;
  color:#fff;
  text-align:center;
  padding:.75rem 1rem;
  font-weight:700;
}
.admin-preview-banner a{
  color:#9ac100;
  margin-left:1rem;
}
