/* Young, professional type: Rubik across the page */
@font-face{font-family:SiteRubik;src:url(salesforce/rubik-regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:SiteRubik;src:url(salesforce/rubik-bold.ttf);font-weight:500 700;font-display:swap}
@font-face{font-family:SiteRubik;src:url(salesforce/rubik-heavy.ttf);font-weight:800 900;font-display:swap}
body,body :is(h1,h2,h3,h4,p,a,button,input,select,summary,strong,small,span,div,dt,dd,li,label,legend,figcaption,em,b,bdi){font-family:SiteRubik,Arial,sans-serif!important}
.veterans-module,.sf-module{font-family:SiteRubik,Arial,sans-serif}

/* No motion toggles */
.hd-scene-motion,[data-hd-motion],.sf-module .pause,.veterans-module .course-motion{display:none!important}

/* Lead forms */
.lf{display:grid;grid-template-columns:1fr 1fr;gap:14px;direction:rtl}
.lf .lf-all{grid-column:1/-1}
.lf-f{display:grid;gap:7px;font-size:15px;font-weight:500;color:var(--lf-ink,#173d2b)}
.lf input[type=text],.lf input[type=tel],.lf input[type=email],.lf input[type=number],.lf select{display:block;width:100%;box-sizing:border-box;min-height:50px;border:1px solid var(--lf-line,#c9d6cb);background:#fff;border-radius:8px;padding:10px 14px;font:inherit;font-size:16px;font-weight:400;color:#14251b}
.lf input[type=tel]{direction:ltr;text-align:right}
.lf input:focus-visible,.lf select:focus-visible,.lf button:focus-visible{outline:3px solid var(--lf-accent,#1f7a4d);outline-offset:2px}
.lf fieldset{border:0;padding:0;margin:0;min-width:0}
.lf legend{padding:0;margin-bottom:8px;font-size:15px;font-weight:500;color:var(--lf-ink,#173d2b)}
.lf-opts{display:flex;flex-wrap:wrap;gap:10px}
.lf-opts label{flex:1 1 140px;display:flex;align-items:center;gap:9px;min-height:50px;padding:0 14px;border:1px solid var(--lf-line,#c9d6cb);background:#fff;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;color:#14251b}
.lf-opts input{width:19px;height:19px;margin:0;accent-color:var(--lf-accent,#1f7a4d);flex-shrink:0}
.lf-opts label:has(input:checked){border-color:var(--lf-accent,#1f7a4d);background:var(--lf-soft,#e9f4ec)}
.lf-when{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lf-when[hidden]{display:none}
.lf-when>fieldset,.lf-when>.lf-f:only-child{grid-column:1/-1}
.lf-submit{min-height:54px;border:0;border-radius:8px;background:var(--lf-accent,#1f7a4d);color:#fff;font:inherit;font-size:17px;font-weight:700;cursor:pointer}
.lf-submit:hover{filter:brightness(.92)}
.lf-submit[disabled]{opacity:.7;cursor:wait}
.lf-note{margin:0;font-size:13px;line-height:1.6;color:#5c6b61}
.lf-error{display:none;padding:12px 14px;border-radius:8px;background:#fde8ea;color:#8c1d2c;font-size:15px}
.lf-error.on{display:block}

.vet-apply{--lf-accent:#35543b;--lf-soft:#eef3e3;--lf-line:#d9cdbb;--lf-ink:#35543b;margin:0 56px 34px;padding:28px 32px;display:grid;grid-template-columns:.75fr 1.25fr;gap:36px;align-items:start;background:#fffdf8;border:1px solid #d9cdbb;border-radius:12px;scroll-margin-top:90px}
.vet-apply h3{margin:0 0 10px;font-size:26px;line-height:1.25;font-weight:800;color:#35543b}
.vet-apply-copy p{margin:0;font-size:15px;line-height:1.7;color:#716b5e}
@media(max-width:760px){
.lf,.lf-when{grid-template-columns:1fr}
.vet-apply{grid-template-columns:1fr;gap:18px;margin:0 16px 28px;padding:22px 16px}}
.lf .lf-submit{font-weight:700!important}
.lf .lf-opts label{flex:1 1 110px;width:auto;max-width:none}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Running ribbon */
.sale-ribbon{padding:0!important;overflow:hidden;text-align:left}
.marquee{overflow:hidden;direction:ltr}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.marquee-group{display:flex;flex-shrink:0;align-items:center}
.marquee-group span{padding:9px 0;white-space:nowrap}
.marquee-group i{font-style:normal;padding:0 26px;opacity:.75}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation-duration:120s}}

/* Fighter coupon */
.sale-benefit.coupon{display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;gap:0;padding:0;border:0;border-radius:14px;background:#f5dc51;color:#10170c;box-shadow:0 0 34px #f5dc5126;overflow:hidden;
 -webkit-mask:radial-gradient(circle 13px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
 mask:radial-gradient(circle 13px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;transition:transform .2s}
.sale-benefit.coupon:hover{transform:translateY(-2px)}
.coupon-stub{display:grid;align-content:center;justify-items:center;gap:2px;padding:16px 34px;background:var(--sale-lime);border-inline-end:3px dashed #10170c55;text-align:center}
.coupon-stub small{font-size:12px;font-weight:700;color:#24331a}
.coupon-stub b{font-size:38px;line-height:1;font-weight:900;letter-spacing:-1px;color:#10170c}
.coupon-body{display:grid;align-content:center;gap:5px;padding:16px 26px}
.coupon-tag{justify-self:start;font-size:11px;font-weight:900;letter-spacing:.5px;background:#10170c;color:var(--sale-lime);padding:4px 10px;border-radius:4px}
.sale-benefit.coupon strong{font-size:22px;line-height:1.25;font-weight:900;color:#10170c}
.coupon-terms{font-size:13px;color:#3d4325}
.coupon-cta{align-self:center;margin-inline:22px 30px;background:#10170c;color:var(--sale-lime);font-weight:900;font-size:15px;padding:13px 20px;border-radius:6px;white-space:nowrap}

/* Fit-check form in the hero style */
.join{position:relative;overflow:hidden;margin:30px 0 20px;padding:40px 44px;display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start;scroll-margin-top:90px;border-radius:14px;color:#fff;
 background:radial-gradient(ellipse at 3% 40%,#16404470,transparent 55%),radial-gradient(ellipse at 95% 15%,#334d2045,transparent 50%),#090d0e;
 --lf-accent:#c5f18d;--lf-soft:#c5f18d1a;--lf-line:#2e3d3a;--lf-ink:#e6eee9}
.join::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 3px,#63746a 4px)}
.join>*{position:relative}
.join-kicker{margin:0 0 12px;font-size:14px;font-weight:900;letter-spacing:1px;color:var(--sale-cyan);direction:ltr;text-align:right}
.join h2{margin:0 0 14px;font-size:clamp(32px,4vw,48px);line-height:1.12;font-weight:900;letter-spacing:-1px;color:#fff}
.join h2 em{font-style:normal;color:var(--sale-lime)}
.join-copy>p:last-child{margin:0;font-size:17px;line-height:1.65;color:#c4cfcc}
.join .lf input[type=text],.join .lf input[type=tel],.join .lf input[type=email],.join .lf input[type=number],.join .lf select{background:#111a19;border-color:#2e3d3a;color:#fff}
.join .lf input::placeholder{color:#7f908a}
.join .lf select option{background:#111a19;color:#fff}
.join .lf-opts label{background:#111a19;border-color:#2e3d3a;color:#e6eee9}
.join .lf-opts label:has(input:checked){background:#c5f18d1a;border-color:var(--sale-lime);color:#fff}
.join .lf-submit{background:var(--sale-lime);color:#10180b;font-weight:900!important;box-shadow:0 0 25px #b1e77d30}
.join .lf-note{color:#a9b5b0}
@media(max-width:760px){
.join{grid-template-columns:1fr;gap:22px;padding:28px 18px;margin-inline:0}
.sale-benefit.coupon{grid-template-columns:1fr;width:calc(100% - 40px);-webkit-mask:none;mask:none}
.coupon-stub{grid-auto-flow:column;justify-content:space-between;align-items:center;padding:12px 16px;border-inline-end:0;border-bottom:3px dashed #10170c55}
.coupon-stub b{font-size:30px}
.coupon-body{padding:12px 16px 4px}
.sale-benefit.coupon strong{font-size:18px}
.coupon-terms{font-size:12px}
.coupon-cta{justify-self:start;margin:10px 16px 14px;font-size:14px;padding:11px 16px}
.marquee-group i{padding:0 16px}}

/* Neon flicker on BLACK FRIDAY (soft dips, under 3 flashes per second) */
.sale-outline{animation:neon-flicker 4.5s linear infinite}
@keyframes neon-flicker{
 0%,18%,22%,25%,53%,57%,100%{opacity:1;-webkit-text-stroke-color:#bfe695;text-shadow:0 0 6px #c5f18daa,0 0 18px #9add6e80,0 0 42px #9add6e55}
 20%,24%,55%{opacity:.35;-webkit-text-stroke-color:#6f8a57;text-shadow:none}
 70%{opacity:.85;text-shadow:0 0 4px #c5f18d66,0 0 12px #9add6e40}
 72%{opacity:1;text-shadow:0 0 6px #c5f18daa,0 0 18px #9add6e80,0 0 42px #9add6e55}}

/* Gentle coupon swing */
.sale-benefit.coupon{animation:coupon-swing 3.2s ease-in-out infinite;transform-origin:50% 0}
.sale-benefit.coupon:hover{animation-play-state:paused}
@keyframes coupon-swing{0%,100%{rotate:-.8deg}50%{rotate:.8deg}}
@media(max-width:760px){@keyframes coupon-swing{0%,100%{rotate:-1deg}50%{rotate:1deg}}}

/* December deals: one per course */
.sale-lead b{color:var(--sale-lime);font-weight:700}
.deals{position:relative;max-width:1092px;width:calc(100% - 88px);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.deal{--deal-bg:#f5dc51;--deal-stub:#c5f18d;display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:#10170c;background:var(--deal-bg);border-radius:14px;overflow:hidden;box-shadow:0 0 30px #f5dc511f;transform-origin:50% 0;animation:coupon-swing 3.4s ease-in-out infinite;
 -webkit-mask:radial-gradient(circle 11px at 0 92px,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 92px,#0000 98%,#000) right/51% 100% no-repeat;
 mask:radial-gradient(circle 11px at 0 92px,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 92px,#0000 98%,#000) right/51% 100% no-repeat}
.deal:nth-child(2){animation-delay:-1.1s}
.deal:nth-child(3){animation-delay:-2.2s}
.deal:hover{animation-play-state:paused}
.deal-hd{--deal-bg:#c5f18d;--deal-stub:#e2fbc0}
.deal-sf{--deal-bg:#7fe6f2;--deal-stub:#c4f5fb}
.deal-vet{--deal-bg:#f5dc51;--deal-stub:#c5f18d}
.deal-stub{height:92px;box-sizing:border-box;display:grid;align-content:center;justify-items:center;text-align:center;background:var(--deal-stub);border-bottom:3px dashed #10170c55;padding:8px 14px}
.deal-stub small{font-size:12px;font-weight:700;color:#24331a}
.deal-stub b{font-size:30px;line-height:1.05;font-weight:900;letter-spacing:-.5px}
.deal-hd .deal-stub b{font-size:24px}
.deal-body{display:grid;align-content:start;gap:8px;padding:16px 20px 18px}
.deal-tag{justify-self:start;font-size:11px;font-weight:900;letter-spacing:.4px;background:#10170c;color:var(--deal-stub);padding:4px 9px;border-radius:4px}
.deal strong{font-size:19px;line-height:1.25;font-weight:900}
.deal-text{font-size:13px;line-height:1.55;color:#2c3420}
.deal-cta{justify-self:start;align-self:end;margin-top:4px;background:#10170c;color:#fff;font-weight:700;font-size:14px;padding:10px 16px;border-radius:6px}
.card-deal{display:inline-block;margin-top:8px;padding:5px 10px;border-radius:6px;background:#fff6c7;border:1px dashed #c9a800;color:#4a3d00!important;font-weight:700;font-size:13px!important}
.deal-extra>summary{background:#fff6c7;border:1px dashed #c9a800;border-radius:8px;font-weight:700;color:#4a3d00}
.sf-module .sf-price{display:inline-block;margin:12px 0 0;padding:8px 14px;border-radius:8px;background:#7fe6f2;color:#06232a;font-size:15px}
.sf-module .sf-price b{font-size:20px;font-weight:900}
@media(max-width:900px){.deals{grid-template-columns:1fr;width:calc(100% - 40px);gap:14px}}
@media(max-width:760px){
.sale-lead br{display:none}
.deal{grid-template-rows:none;grid-template-columns:118px 1fr;border-radius:12px;-webkit-mask:none;mask:none;animation-name:coupon-swing-sm}
.deal-stub{height:auto;border-bottom:0;border-inline-end:3px dashed #10170c55;padding:10px 8px}
.deal-stub b{font-size:22px}
.deal-hd .deal-stub b{font-size:17px}
.deal-stub small{font-size:10px}
.deal-body{gap:5px;padding:11px 13px 12px}
.deal-tag{font-size:10px;padding:3px 7px}
.deal strong{font-size:15px}
.deal-text{display:none}
.deal-cta{font-size:12px;padding:7px 11px;margin-top:2px}}
@keyframes coupon-swing-sm{0%,100%{rotate:-.6deg}50%{rotate:.6deg}}
