/* IGNITE CHEER CO. — Shared brand system */
:root{
  --red-deep:#8B0000;--red-core:#C0001A;--red-mid:#D92332;--red-bright:#E8354A;
  --ice-pale:#E8F4F8;--ice-light:#A8D8EA;--ice-mid:#5BB8D4;--ice-deep:#1A7FA0;
  --void:#080B0D;--coal:#0E1215;--slate:#151C20;--iron:#1E282E;
  --steel:#2C3A42;--mist:#8A9FA8;--frost:#D0E4EC;--white:#F0F7FA;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--void);color:var(--white);font-family:'Barlow',sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
button{font:inherit;}

/* ── NAV ── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:64px;display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;background:rgba(14,18,21,0.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--iron);transition:background .3s;
}
.nav::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,var(--red-core),var(--ice-mid));opacity:.6;
}
.nav-logo{display:flex;align-items:center;gap:10px;}
.nav-flame{width:18px;height:24px;}
.nav-wm{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:5px;line-height:1;}
.nav-wm .ign{background:linear-gradient(160deg,var(--frost),var(--ice-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.nav-wm .ite{background:linear-gradient(160deg,var(--red-bright),var(--red-core));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.nav-links{display:flex;align-items:center;gap:36px;}
.nav-links a{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--mist);transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--white);}
.nav-cta{
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;padding:10px 24px;
  background:var(--red-core);color:var(--white);border:none;cursor:pointer;
  transition:background .2s;
}
.nav-cta:hover{background:var(--red-mid);}
@media(max-width:640px){.nav-links{display:none;}.nav{padding:0 20px;}}

/* ── BRAND RULE ── */
.brand-rule{display:flex;align-items:center;gap:16px;}
.rule-line{height:1px;width:80px;}
.rule-line.r,.rule-line.red{background:linear-gradient(90deg,transparent,var(--red-core));}
.rule-line.b,.rule-line.blue{background:linear-gradient(90deg,var(--ice-mid),transparent);}
.rule-dot{width:5px;height:5px;border-radius:50%;background:var(--mist);}

/* ── COMMON HEADINGS ── */
.section-outer{padding:80px 0;}
.section{max-width:1120px;margin:0 auto;padding:0 48px;}
.section-label{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--ice-mid);margin-bottom:10px;}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,6vw,72px);letter-spacing:4px;line-height:1;margin-bottom:48px;}
.accent-r{background:linear-gradient(90deg,var(--red-bright),var(--red-core));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.accent-b{background:linear-gradient(90deg,var(--ice-light),var(--ice-mid));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
hr.div{border:none;border-top:1px solid var(--iron);}
@media(max-width:640px){.section{padding:0 20px;}}

/* ── BUTTONS ── */
.btn-solid{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:14px 32px;background:var(--red-core);color:var(--white);border:none;cursor:pointer;transition:background .2s;}
.btn-solid:hover{background:var(--red-mid);}
.btn-solid:disabled{background:var(--iron);color:var(--steel);cursor:not-allowed;}
.btn-outline{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:14px 32px;border:1.5px solid var(--ice-mid);color:var(--ice-mid);background:transparent;cursor:pointer;transition:all .2s;}
.btn-outline:hover{background:var(--ice-mid);color:var(--void);}

/* ── INNER-PAGE HERO ── */
.page-hero{
  position:relative;overflow:hidden;
  min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:140px 48px 64px;
}
.page-hero-bg{position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 20% 50%,rgba(192,0,26,.18) 0%,transparent 65%),
    radial-gradient(ellipse 60% 50% at 80% 50%,rgba(27,127,160,.15) 0%,transparent 65%),
    var(--void);
}
.page-hero-bg::after{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(91,184,212,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(91,184,212,.04) 1px,transparent 1px);
  background-size:60px 60px;
}
.page-hero-inner{position:relative;z-index:2;max-width:1120px;margin:0 auto;width:100%;}
.breadcrumb{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--mist);margin-bottom:22px;}
.breadcrumb a{color:var(--mist);transition:color .2s;}
.breadcrumb a:hover{color:var(--ice-mid);}
.breadcrumb .sep{color:var(--steel);margin:0 10px;}
.breadcrumb .cur{color:var(--white);}
.page-hero-label{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--ice-mid);margin-bottom:10px;}
.page-hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(56px,9vw,112px);line-height:.9;letter-spacing:5px;}
.page-hero-sub{font-family:'Barlow Condensed',sans-serif;font-style:italic;font-size:clamp(14px,1.6vw,18px);color:var(--frost);margin-top:18px;letter-spacing:2px;font-weight:300;}
@media(max-width:640px){.page-hero{padding:120px 20px 48px;}}

/* ── FOOTER ── */
.footer{background:var(--coal);border-top:1px solid var(--iron);padding:72px 48px 40px;text-align:center;}
.footer-wm{font-family:'Bebas Neue',sans-serif;font-size:64px;letter-spacing:10px;line-height:1;margin-bottom:10px;}
.footer-wm .ign{background:linear-gradient(160deg,var(--frost),var(--ice-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.footer-wm .ite{background:linear-gradient(160deg,var(--red-bright),var(--red-deep));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.footer-tag{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:300;font-style:italic;letter-spacing:4px;color:var(--mist);margin-bottom:36px;}
.footer-rule{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:40px;}
.fr-r{width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--red-core));}
.fr-b{width:120px;height:1px;background:linear-gradient(90deg,var(--ice-mid),transparent);}
.fr-dot{width:4px;height:4px;border-radius:50%;background:var(--steel);}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:40px;text-align:left;margin-bottom:40px;max-width:700px;margin-left:auto;margin-right:auto;}
.footer-col h4{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--ice-mid);margin-bottom:14px;}
.footer-col a{display:block;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;color:var(--mist);margin-bottom:8px;transition:color .2s;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{border-top:1px solid var(--iron);padding-top:24px;font-family:'Barlow Condensed',sans-serif;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--iron);}

/* ── REVEAL ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ── CAMP CARDS ── */
.camps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:3px;}
.camp-card{background:var(--slate);padding:34px 30px;position:relative;overflow:hidden;transition:transform .2s;display:block;color:inherit;}
.camp-card:hover{transform:translateY(-4px);}
.camp-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.camp-card:hover::after{transform:scaleX(1);}
.c-blue::after{background:linear-gradient(90deg,var(--ice-deep),var(--ice-mid));}
.c-red::after{background:linear-gradient(90deg,var(--red-core),var(--red-bright));}
.c-split::after{background:linear-gradient(90deg,var(--red-core),var(--ice-mid));}
.camp-tier{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;}
.t-blue{color:var(--ice-mid);}
.t-red{color:var(--red-mid);}
.t-both{color:var(--mist);}
.camp-name{font-family:'Bebas Neue',sans-serif;font-size:38px;letter-spacing:3px;color:var(--white);line-height:1;margin-bottom:14px;}
.camp-desc{font-size:13px;color:var(--mist);line-height:1.65;margin-bottom:20px;font-weight:300;}
.skill-tags{display:flex;flex-wrap:wrap;gap:5px;}
.stag{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;border:1px solid var(--iron);color:var(--steel);}

/* ── FORM FIELDS ── */
.form-field{margin-bottom:6px;}
.form-field label{display:block;font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--mist);margin-bottom:6px;}
.form-field input,.form-field select,.form-field textarea{
  width:100%;background:var(--slate);border:1px solid var(--iron);
  color:var(--white);padding:14px 18px;font-family:'Barlow Condensed',sans-serif;
  font-size:14px;outline:none;transition:border-color .2s;appearance:none;
}
.form-field textarea{min-height:110px;resize:vertical;font-family:'Barlow',sans-serif;font-weight:300;line-height:1.6;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--ice-mid);}
.form-field.err input,.form-field.err select,.form-field.err textarea{border-color:var(--red-mid);}
.form-field .err-msg{display:none;font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--red-mid);margin-top:6px;font-weight:700;}
.form-field.err .err-msg{display:block;}
.form-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238A9FA8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;}
.form-field select option{background:var(--slate);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
@media(max-width:640px){.form-row,.form-row-3{grid-template-columns:1fr;}}

/* ── TWEAKS PANEL ── */
.tweaks-panel{
  position:fixed;bottom:24px;right:24px;width:280px;z-index:200;
  background:var(--slate);border:1px solid var(--iron);
  padding:20px;display:none;
}
.tweaks-panel.open{display:block;}
.tweaks-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--red-core),var(--ice-mid));}
.tweaks-head{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:4px;margin-bottom:4px;color:var(--white);}
.tweaks-sub{font-family:'Barlow Condensed',sans-serif;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--ice-mid);margin-bottom:18px;}
.tweak-group{margin-bottom:16px;}
.tweak-group-label{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--mist);margin-bottom:8px;}
.tweak-opts{display:flex;gap:4px;flex-wrap:wrap;}
.tweak-opt{
  flex:1;min-width:0;padding:8px 10px;background:transparent;border:1px solid var(--iron);
  color:var(--mist);cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  transition:all .15s;
}
.tweak-opt:hover{border-color:var(--steel);color:var(--frost);}
.tweak-opt.active{background:var(--iron);border-color:var(--ice-mid);color:var(--ice-mid);}
.tweak-close{position:absolute;top:14px;right:14px;background:transparent;border:none;color:var(--mist);cursor:pointer;font-size:16px;line-height:1;}
