/* ================================================================
   MIKE SENDS IT — Skydiving Adventure Blog — Stylesheet
   Palette: Summer Sky
     Deep Blue:  #072AC8
     Sky Blue:   #1E96FC
     Ice Blue:   #A2D6F9
     Sun Yellow: #FCF300
     Amber:      #FFC600
   Background: white. All content surfaces: white.
   Header: white with blue accent. Footer: deep blue.
   ================================================================ */

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

:root {
    --deep:   #072AC8;
    --sky:    #1E96FC;
    --ice:    #A2D6F9;
    --sun:    #FCF300;
    --amber:  #FFC600;

    /* Derived tints */
    --ice-tint:  #EEF7FE;  /* very pale blue for hover/card bg */
    --sun-tint:  #FFFDE0;  /* very pale yellow */
    --deep-tint: #EEF0FC;  /* very pale deep */

    /* Neutrals */
    --white:   #FFFFFF;
    --gray-50: #F9FAFB;
    --gray-100:#F3F4F6;
    --gray-200:#E5E7EB;
    --gray-400:#9CA3AF;
    --gray-600:#4B5563;
    --gray-700:#374151;
    --gray-900:#111827;

    --border:    #E5E7EB;
    --border-md: #D1D5DB;

    --shadow-sm: 0 1px 3px rgba(7,42,200,.06), 0 1px 2px rgba(0,0,0,.04);
    --shadow:    0 4px 16px rgba(7,42,200,.08), 0 1px 4px rgba(0,0,0,.04);
    --shadow-lg: 0 8px 40px rgba(7,42,200,.12), 0 2px 8px rgba(0,0,0,.05);
    --shadow-sky:0 4px 20px rgba(30,150,252,.3);
    --shadow-sun:0 4px 20px rgba(255,198,0,.4);

    --font-display: 'Bebas Neue', 'Impact', sans-serif;
    --font-cond:    'Barlow Condensed', sans-serif;
    --font-body:    'Barlow', sans-serif;

    --radius:    8px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --transition:.18s ease;
}

html { scroll-behavior: smooth; }

body {
    font-family: var(--font-body);
    background: var(--white);
    color: var(--gray-900);
    line-height: 1.6;
    min-height: 100vh;
}

a { color: var(--sky); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--deep); }
img { max-width: 100%; height: auto; display: block; }

/* ── TYPOGRAPHY ──────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6 { font-family:var(--font-display); letter-spacing:.04em; line-height:1.1; color:var(--deep); }
h1 { font-size:clamp(2.4rem,5vw,4.2rem); }
h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); }
h3 { font-size:clamp(1.3rem,2.5vw,1.9rem); }
h4 { font-size:1.2rem; font-family:var(--font-cond); font-weight:700; }
p  { margin-bottom:1rem; }
p:last-child { margin-bottom:0; }

/* ── LAYOUT ──────────────────────────────────────────────── */
.container      { width:min(1220px,94%); margin:0 auto; }
.container-wide { width:min(1440px,96%); margin:0 auto; }
#main-content   { padding-top:2rem; padding-bottom:5rem; }

.section-header { text-align:center; margin-bottom:2.5rem; }
.section-header h2 { margin-bottom:.5rem; }
.section-header p  { color:var(--gray-400); font-family:var(--font-cond); font-size:1.1rem; }
.section-divider   { display:inline-block; width:60px; height:4px; background:var(--sun); border-radius:2px; margin:.75rem auto 0; }

/* ── SITE HEADER ─────────────────────────────────────────── */
.site-header {
    background: var(--white);
    border-bottom: 4px solid var(--sky);
    position: sticky; top:0; z-index:1000;
    box-shadow: 0 2px 16px rgba(7,42,200,.08);
}
.header-inner {
    display:flex; align-items:center; justify-content:space-between;
    padding:.45rem 2rem; gap:1rem;
}

.logo-link { display:flex; align-items:center; text-decoration:none; }
.logo-wrap { display:flex; align-items:center; gap:.85rem; }
.logo-img  { width:88px; height:88px; object-fit:contain; flex-shrink:0; }
.logo-text { display:flex; flex-direction:column; line-height:1; }
.logo-main { font-family:var(--font-display); font-size:1.85rem; color:var(--deep); letter-spacing:.04em; line-height:1; }
.logo-main span { color:var(--sky); }
.logo-sub  { font-family:var(--font-cond); font-size:.6rem; letter-spacing:.18em; color:var(--gray-400); text-transform:uppercase; margin-top:.22rem; }

.main-nav ul { display:flex; list-style:none; gap:.05rem; }
.main-nav a  {
    font-family:var(--font-cond); font-size:.88rem; font-weight:700;
    letter-spacing:.07em; text-transform:uppercase;
    color:var(--gray-600); padding:.42rem .6rem;
    border-radius:var(--radius); transition:all var(--transition);
}
.main-nav a:hover  { color:var(--deep); background:var(--ice-tint); }
.main-nav a.active { color:var(--white); background:var(--deep); }
.main-nav a.nav-cta { color:var(--deep); background:var(--sun); border-radius:50px; padding:.38rem .9rem; }
.main-nav a.nav-cta:hover { background:var(--amber); color:var(--deep); }

.nav-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px; }
.nav-toggle span { display:block; width:24px; height:2px; background:var(--deep); border-radius:2px; transition:all .3s; }

/* Stats bar */
.stats-bar {
    background: var(--deep);
    padding: .65rem 0;
    border-top: 2px solid rgba(30,150,252,.35);
}
.stats-bar-inner {
    display: flex; align-items: center; justify-content: center;
    gap: 0; flex-wrap: wrap; padding: 0 1.5rem;
}
.stat-pill {
    display: flex; align-items: center; gap: .55rem;
    font-family: var(--font-cond);
    padding: .35rem 1.5rem;
}
.stat-icon { font-size: 1.15rem; }
.stat-num  {
    font-family: var(--font-display);
    font-size: 1.55rem;
    color: var(--sun);
    line-height: 1;
    letter-spacing: .02em;
}
.stat-lbl  {
    color: var(--ice);
    font-size: .88rem;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.2;
    opacity: .85;
}
.stat-sep  {
    width: 1px;
    height: 2.2rem;
    background: rgba(162,214,249,.2);
    flex-shrink: 0;
}

/* ── HERO ────────────────────────────────────────────────── */
.hero {
    position:relative; min-height:88vh;
    display:flex; align-items:center; overflow:hidden;
    background: var(--deep);
}
/* Diagonal sky-to-deep sweep */
.hero-bg {
    position:absolute; inset:0;
    background: linear-gradient(135deg, var(--deep) 0%, #0a35d4 35%, #0e5ba0 70%, #0a2a80 100%);
}
/* Sun burst from upper right */
.hero-sunburst {
    position:absolute; top:-10%; right:-5%;
    width:55%; aspect-ratio:1;
    background: radial-gradient(circle, rgba(252,243,0,.18) 0%, rgba(255,198,0,.08) 40%, transparent 70%);
    pointer-events:none;
}
/* Clouds layer */
.hero-clouds {
    position:absolute; bottom:0; left:0; right:0; height:45%;
    background:
        radial-gradient(ellipse 300px 120px at 10% 100%,  rgba(255,255,255,.06) 0%, transparent 70%),
        radial-gradient(ellipse 400px 150px at 40% 100%,  rgba(162,214,249,.07) 0%, transparent 70%),
        radial-gradient(ellipse 350px 130px at 75% 100%,  rgba(255,255,255,.05) 0%, transparent 70%),
        radial-gradient(ellipse 250px 100px at 95% 100%,  rgba(162,214,249,.06) 0%, transparent 70%);
    pointer-events:none;
}
/* Star field */
.hero-stars {
    position:absolute; inset:0;
    background-image: radial-gradient(circle, rgba(255,255,255,.65) 1px, transparent 1px);
    background-size:48px 48px; opacity:.055; pointer-events:none;
}
.hero-content { position:relative; z-index:2; padding:4rem 0; }
.hero-eyebrow {
    font-family:var(--font-cond); font-size:.9rem; letter-spacing:.28em;
    text-transform:uppercase; color:var(--sun); margin-bottom:1rem;
    display:flex; align-items:center; gap:.75rem;
}
.hero-eyebrow::before,.hero-eyebrow::after { content:''; flex:1; max-width:50px; height:1px; background:var(--sun); opacity:.4; }
.hero h1 { color:var(--white); margin-bottom:1.25rem; }
.hero h1 em { font-style:normal; color:var(--sun); }
.hero-lead { font-size:1.12rem; color:var(--ice); max-width:540px; margin-bottom:2.5rem; line-height:1.75; }
.hero-cta  { display:flex; gap:1rem; flex-wrap:wrap; }

/* Progress ring */
.hero-ring { position:absolute; right:6%; top:50%; transform:translateY(-50%); text-align:center; }
.ring-wrap { position:relative; width:190px; height:190px; }
.ring-wrap svg { transform:rotate(-90deg); }
.ring-track { fill:none; stroke:rgba(162,214,249,.15); stroke-width:14; }
.ring-fill  { fill:none; stroke-width:14; stroke-linecap:round; stroke:url(#ringGrad); transition:stroke-dashoffset 1.5s ease; }
.ring-center { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); text-align:center; }
.ring-num   { font-family:var(--font-display); font-size:3.2rem; color:var(--white); line-height:1; }
.ring-label { font-family:var(--font-cond); font-size:.68rem; letter-spacing:.12em; color:var(--ice); text-transform:uppercase; }
.ring-sub   { font-family:var(--font-cond); color:var(--sun); font-size:.95rem; margin-top:.65rem; letter-spacing:.08em; }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn {
    display:inline-flex; align-items:center; gap:.5rem;
    font-family:var(--font-cond); font-size:.95rem; font-weight:700;
    letter-spacing:.1em; text-transform:uppercase;
    padding:.7rem 1.6rem; border-radius:var(--radius);
    border:2px solid transparent; cursor:pointer;
    transition:all var(--transition); line-height:1; text-decoration:none;
}
.btn-primary { background:var(--sky); color:var(--white); border-color:var(--sky); box-shadow:var(--shadow-sky); }
.btn-primary:hover { background:var(--deep); border-color:var(--deep); color:var(--white); transform:translateY(-1px); }
.btn-sun     { background:var(--sun); color:var(--deep); border-color:var(--sun); box-shadow:var(--shadow-sun); }
.btn-sun:hover { background:var(--amber); border-color:var(--amber); color:var(--deep); transform:translateY(-1px); }
.btn-outline { background:var(--white); color:var(--deep); border-color:var(--deep); }
.btn-outline:hover { background:var(--deep); color:var(--white); }
.btn-ghost   { background:transparent; color:var(--white); border-color:rgba(255,255,255,.45); }
.btn-ghost:hover { background:rgba(255,255,255,.12); border-color:var(--white); color:var(--white); }
.btn-sm  { padding:.4rem .9rem; font-size:.78rem; }
.btn-lg  { padding:.9rem 2.2rem; font-size:1.05rem; }

/* ── CARDS ───────────────────────────────────────────────── */
.card {
    background:var(--white); border:1.5px solid var(--border);
    border-radius:var(--radius-lg); overflow:hidden;
    transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
    box-shadow:var(--shadow-sm);
}
.card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--sky); }
.card-img { overflow:hidden; }
.card-img img { width:100%; height:200px; object-fit:cover; transition:transform .5s; }
.card:hover .card-img img { transform:scale(1.05); }
.card-body   { padding:1.25rem; }
.card-footer { padding:.75rem 1.25rem; border-top:1.5px solid var(--border); display:flex; align-items:center; justify-content:space-between; background:var(--gray-50); }

/* ── ACHIEVEMENT CARD ────────────────────────────────────── */
.achievement-card {
    background:var(--white); border:1.5px solid var(--border);
    border-radius:var(--radius-lg); overflow:hidden;
    transition:all var(--transition); box-shadow:var(--shadow-sm);
    display:flex; flex-direction:column;
    text-decoration:none; color:inherit;
}
.achievement-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--sky); color:inherit; }
.achievement-card.status-completed { border-top:4px solid var(--sky); }
.achievement-card.status-in-progress { border-top:4px solid var(--amber); }
.achievement-card.status-unlocked { border-top:4px solid var(--ice); }
.achievement-card.status-locked { opacity:.72; filter:saturate(.6); }
.achievement-card.status-locked:hover { opacity:1; filter:saturate(1); }

.ach-icon-wrap {
    padding:1.5rem 1.25rem .75rem;
    display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem;
}
.ach-icon { font-size:2.4rem; line-height:1; flex-shrink:0; }
.ach-body  { padding:0 1.25rem 1rem; flex:1; }
.ach-title { font-family:var(--font-display); font-size:1.25rem; color:var(--deep); margin-bottom:.35rem; line-height:1.15; }
.ach-tagline { font-size:.875rem; color:var(--gray-600); line-height:1.55; }
.ach-footer { padding:.75rem 1.25rem; border-top:1.5px solid var(--border); background:var(--gray-50); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.4rem; }
.ach-meta   { font-family:var(--font-cond); font-size:.78rem; color:var(--gray-400); }

/* ── BADGES ──────────────────────────────────────────────── */
.badge { display:inline-block; font-family:var(--font-cond); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.2rem .6rem; border-radius:50px; white-space:nowrap; }
.badge-done        { background:var(--sky);  color:var(--white); }
.badge-inprog      { background:var(--amber); color:var(--deep); }
.badge-unlocked    { background:var(--ice-tint); color:var(--deep); border:1px solid var(--ice); }
.badge-locked      { background:var(--gray-100); color:var(--gray-400); }
.badge-beginner    { background:#dcfce7; color:#166534; }
.badge-intermediate{ background:var(--ice-tint); color:var(--deep); border:1px solid var(--ice); }
.badge-advanced    { background:var(--sun-tint); color:#78350f; border:1px solid var(--amber); }
.badge-expert      { background:var(--deep); color:var(--sun); }
.badge-cat         { background:var(--deep-tint); color:var(--deep); border:1px solid var(--ice); }

/* ── TABLES ──────────────────────────────────────────────── */
.table-wrap { overflow-x:auto; border-radius:var(--radius-lg); border:1.5px solid var(--border); box-shadow:var(--shadow-sm); }
table { width:100%; border-collapse:collapse; background:var(--white); }
th { background:var(--deep); font-family:var(--font-cond); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ice); padding:.8rem 1rem; text-align:left; white-space:nowrap; }
td { padding:.78rem 1rem; border-bottom:1px solid var(--border); font-size:.88rem; color:var(--gray-700); }
tr:last-child td { border-bottom:none; }
tr:hover td { background:var(--ice-tint); }
.jump-num { font-family:var(--font-display); font-size:1.15rem; color:var(--sky); }

/* ── VIDEOS ──────────────────────────────────────────────── */
.video-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }
.video-card { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:all var(--transition); }
.video-card:hover { box-shadow:var(--shadow); border-color:var(--sky); }
.video-thumb { position:relative; aspect-ratio:16/9; background:var(--deep); cursor:pointer; overflow:hidden; }
.video-thumb img { width:100%; height:100%; object-fit:cover; }
.video-play {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:56px; height:56px; border-radius:50%;
    background:var(--sky); border:3px solid var(--white);
    display:flex; align-items:center; justify-content:center;
    font-size:1.2rem; color:var(--white); transition:all var(--transition);
    box-shadow:0 4px 16px rgba(0,0,0,.4);
}
.video-thumb:hover .video-play { background:var(--deep); transform:translate(-50%,-50%) scale(1.1); }
.video-info { padding:1rem; }
.video-info h4 { font-family:var(--font-cond); font-size:1rem; color:var(--deep); margin-bottom:.3rem; }
.video-info p  { font-size:.83rem; color:var(--gray-400); }

/* ── FORMS ───────────────────────────────────────────────── */
.form-section-label { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.5rem; }
.form-section-num { font-family:var(--font-display); font-size:2.2rem; color:var(--sky); line-height:1; flex-shrink:0; }
.form-section-label h3 { font-size:1.25rem; margin-bottom:.2rem; color:var(--deep); }
.form-section-label p  { font-size:.875rem; color:var(--gray-400); margin:0; font-family:var(--font-cond); }

.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.form-col-full { grid-column:1/-1; }
.form-group    { display:flex; flex-direction:column; gap:.4rem; }
.form-group.has-error input,
.form-group.has-error select,
.form-group.has-error textarea { border-color:#dc2626; }

label { font-family:var(--font-cond); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--deep); }
.req  { color:var(--sky); }
.opt  { color:var(--gray-400); font-weight:400; text-transform:none; letter-spacing:0; font-size:.74rem; }

input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="date"],select,textarea {
    width:100%; padding:.68rem 1rem; border:1.5px solid var(--border);
    border-radius:var(--radius); font-family:var(--font-body); font-size:.93rem;
    color:var(--gray-900); background:var(--white);
    transition:border-color var(--transition),box-shadow var(--transition);
    appearance:none; -webkit-appearance:none;
}
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--sky); box-shadow:0 0 0 3px rgba(30,150,252,.12); }
select {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23072AC8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right .85rem center; padding-right:2.5rem; cursor:pointer;
}
textarea { resize:vertical; min-height:120px; line-height:1.6; }
.form-error { font-family:var(--font-cond); font-size:.78rem; color:#dc2626; font-weight:600; }
.form-hint  { font-family:var(--font-cond); font-size:.76rem; color:var(--gray-400); margin-top:.2rem; }

.checkbox-card { display:flex; align-items:center; gap:.6rem; padding:.6rem 1rem; border:1.5px solid var(--border); border-radius:var(--radius); cursor:pointer; font-family:var(--font-cond); font-size:.88rem; font-weight:600; color:var(--gray-700); transition:all var(--transition); user-select:none; }
.checkbox-card:hover { border-color:var(--sky); background:var(--ice-tint); color:var(--deep); }
.checkbox-card input[type="checkbox"] { width:1rem; height:1rem; accent-color:var(--sky); cursor:pointer; flex-shrink:0; }
.checkbox-card:has(input:checked) { border-color:var(--sky); background:var(--ice-tint); color:var(--deep); }

/* ── PAGE HEADER ─────────────────────────────────────────── */
.page-header {
    background:var(--white); border-bottom:3px solid var(--sky);
    padding:2.5rem 0 1.75rem; margin-bottom:2.5rem;
    box-shadow:0 2px 12px rgba(7,42,200,.05);
}
.page-header h1 { color:var(--deep); }
.eyebrow { font-family:var(--font-cond); font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:var(--sky); margin-bottom:.4rem; display:block; }
.breadcrumb { font-family:var(--font-cond); font-size:.83rem; color:var(--gray-400); margin-bottom:1.25rem; }
.breadcrumb a { color:var(--gray-400); }
.breadcrumb a:hover { color:var(--sky); }
.breadcrumb span { margin:0 .4rem; }

/* ── NOTICES ─────────────────────────────────────────────── */
.notice { padding:1rem 1.35rem; border-radius:var(--radius); border-left:4px solid; margin:1rem 0; font-family:var(--font-cond); }
.notice-info    { background:var(--ice-tint); border-color:var(--sky);  color:var(--deep); }
.notice-warn    { background:var(--sun-tint); border-color:var(--amber); color:#78350f; }
.notice-success { background:var(--ice-tint); border-color:var(--deep); color:var(--deep); }

/* ── PROGRESS BARS ───────────────────────────────────────── */
.progress-bar-wrap { background:var(--gray-200); border-radius:50px; height:12px; overflow:hidden; }
.progress-bar-fill { height:100%; background:linear-gradient(to right,var(--sky),var(--deep)); border-radius:50px; transition:width 1s ease; }
.progress-mini { background:var(--gray-200); border-radius:50px; height:6px; margin-top:.4rem; }
.progress-mini-bar { background:var(--sky); height:100%; border-radius:50px; }

/* ── ARTICLE BODY ────────────────────────────────────────── */
.article-body { max-width:740px; margin:0 auto; }
.article-body p { font-size:1.05rem; line-height:1.82; margin-bottom:1.4rem; color:var(--gray-700); }
.article-body h2,.article-body h3 { margin:2rem 0 .8rem; color:var(--deep); }
.article-body blockquote {
    border-left:4px solid var(--sky); padding:.75rem 1.25rem;
    background:var(--ice-tint); border-radius:0 var(--radius) var(--radius) 0;
    margin:1.5rem 0; font-style:italic; color:var(--gray-600);
}

/* ── STRIPE DIVIDER ──────────────────────────────────────── */
.stripe-divider {
    height:5px;
    background:repeating-linear-gradient(90deg,var(--deep) 0,var(--deep) 33.33%,var(--sky) 33.33%,var(--sky) 66.66%,var(--sun) 66.66%,var(--sun) 100%);
    margin:3rem 0;
    border-radius:2px;
}

/* ── JOURNAL GRID ────────────────────────────────────────── */
.journal-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:1.5rem; }
.post-card .card-body h3 { font-size:1.3rem; margin-bottom:.4rem; color:var(--deep); }
.post-meta  { font-size:.78rem; color:var(--gray-400); font-family:var(--font-cond); margin-bottom:.65rem; }
.post-excerpt { font-size:.875rem; color:var(--gray-600); line-height:1.65; }

/* ── STATES GRID ─────────────────────────────────────────── */
.states-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:.65rem; }
.state-tile {
    background:var(--white); border:1.5px solid var(--border);
    border-radius:var(--radius); padding:.85rem;
    display:flex; flex-direction:column; gap:.3rem;
    transition:all var(--transition); text-decoration:none; color:var(--gray-900);
    box-shadow:var(--shadow-sm);
}
.state-tile:hover { border-color:var(--sky); transform:translateY(-2px); box-shadow:var(--shadow); color:var(--gray-900); }
.state-tile.done  { border-color:var(--sky); background:var(--ice-tint); }
.state-abbr { font-family:var(--font-display); font-size:1.7rem; color:var(--deep); line-height:1; }
.state-tile.done .state-abbr { color:var(--sky); }
.state-name { font-family:var(--font-cond); font-size:.76rem; color:var(--gray-400); }

/* ── INVITE FORM ─────────────────────────────────────────── */
.invite-why-strip { display:flex; border:1.5px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; margin-bottom:2rem; box-shadow:var(--shadow-sm); }
.invite-why-item  { flex:1; display:flex; align-items:flex-start; gap:.8rem; padding:1.2rem 1.4rem; background:var(--white); transition:background var(--transition); }
.invite-why-item:hover { background:var(--ice-tint); }
.invite-why-icon  { font-size:1.75rem; flex-shrink:0; line-height:1; }
.invite-why-item strong { display:block; font-family:var(--font-cond); font-size:.98rem; font-weight:700; color:var(--deep); margin-bottom:.18rem; }
.invite-why-item span   { font-size:.83rem; color:var(--gray-700); line-height:1.5; }
.invite-why-sep   { width:1.5px; background:var(--border); flex-shrink:0; }

.invite-form { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); overflow:hidden; margin-bottom:2.5rem; }
.form-section { padding:2rem; }
.form-divider { height:1.5px; background:var(--border); }
.form-submit-row { padding:1.5rem 2rem; background:var(--gray-50); border-top:1.5px solid var(--border); display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.form-privacy { font-size:.78rem; color:var(--gray-400); font-family:var(--font-cond); margin:0; }
.invite-success { text-align:center; padding:4rem 2rem; border:1.5px solid var(--border); border-top:5px solid var(--sky); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); margin-bottom:2.5rem; }
.invite-success-icon { font-size:4rem; margin-bottom:1rem; }
.invite-success h2 { color:var(--deep); margin-bottom:1rem; }
.invite-success p  { font-size:1rem; color:var(--gray-700); max-width:500px; margin:0 auto; line-height:1.75; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:960px) {
    .hero-ring { display:none; }
}
@media(max-width:768px) {
    .header-inner { padding:.45rem 1rem; }
    .nav-toggle { display:flex; }
    .main-nav { position:absolute; top:100%; left:0; right:0; background:var(--white); border-top:2px solid var(--sky); box-shadow:0 8px 24px rgba(7,42,200,.1); max-height:0; overflow:hidden; transition:max-height .35s ease; }
    .main-nav.open { max-height:520px; }
    .main-nav ul { flex-direction:column; padding:.75rem; gap:0; }
    .main-nav a  { display:block; padding:.75rem 1rem; }
    .logo-img  { width:62px; height:62px; }
    .logo-main { font-size:1.35rem; }
    .form-grid { grid-template-columns:1fr; }
    .form-col-full { grid-column:1; }
    .invite-why-strip { flex-direction:column; }
    .invite-why-sep   { width:auto; height:1.5px; }
    .form-submit-row  { flex-direction:column; align-items:flex-start; }
    .form-section     { padding:1.25rem; }
    .states-grid { grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); }
    .stats-bar { padding: .45rem 0; }
    .stat-pill { padding: .25rem .75rem; }
    .stat-num  { font-size: 1.25rem; }
    .stat-lbl  { font-size: .75rem; }
    .stat-sep  { height: 1.5rem; }
}
@media(max-width:480px) { h1 { font-size:2.2rem; } }

/* ── UTILITIES ───────────────────────────────────────────── */
.text-sky  { color:var(--sky); }
.text-deep { color:var(--deep); }
.text-sun  { color:var(--amber); }
.text-muted{ color:var(--gray-400); }
.text-center { text-align:center; }
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mt-5{margin-top:3rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}
.flex{display:flex}.flex-wrap{flex-wrap:wrap}.align-center{align-items:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* ── ANIMATIONS ──────────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.fade-up  {animation:fadeUp .55s ease both}
.fade-up-2{animation:fadeUp .55s .12s ease both}
.fade-up-3{animation:fadeUp .55s .24s ease both}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.pulse{animation:pulse 3s ease infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.float{animation:float 4s ease infinite}

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer { background:var(--deep); border-top:5px solid var(--sky); padding:3rem 0 1.5rem; margin-top:4rem; }
.footer-inner { width:min(1220px,94%); margin:0 auto; display:flex; gap:3rem; flex-wrap:wrap; padding-bottom:2rem; border-bottom:1px solid rgba(162,214,249,.3); }
.footer-logo   { display:flex; align-items:flex-start; gap:1rem; }
.footer-logo-img { width:100px; height:100px; object-fit:contain; flex-shrink:0; }
.footer-site-name { font-family:var(--font-display); font-size:1.5rem; color:var(--white); letter-spacing:.06em; }
.footer-tagline   { font-family:var(--font-cond); font-size:.8rem; color:var(--ice); letter-spacing:.08em; font-weight:600; }
.footer-links  { display:flex; gap:2.5rem; flex:1; flex-wrap:wrap; }
.footer-col h4 { font-family:var(--font-cond); font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:var(--sun); margin-bottom:.75rem; font-weight:700; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:.45rem; }
.footer-col a  { color:var(--white); font-size:.92rem; opacity:.92; font-weight:500; }
.footer-col a:hover { opacity:1; color:var(--sun); text-decoration:underline; }
.footer-mission { font-size:.88rem; color:var(--white); opacity:.92; max-width:220px; line-height:1.55; }
.footer-bottom  { width:min(1220px,94%); margin:1.4rem auto 0; text-align:center; color:var(--ice); opacity:.85; font-size:.8rem; font-family:var(--font-cond); font-weight:500; }
.footer-disclaimer { opacity:.7; margin-top:.35rem; color:var(--ice); }
