/* theme-veterans.css — Veterans Month (November 2026) campaign page
   Built ON the site system: uses style.css tokens (--accent, --kmr-green*, --charcoal,
   --font-display/heading/body) and site classes (.btn, .tag, .eyebrow, .section-title,
   .hero-badge, .section-*, .tck, .container). Everything page-specific is scoped
   under .vt-page. Loaded AFTER style.css. Touches no nav, footer or other page. */

body.theme-veterans{background:var(--black,#0a0a0a)}
.vt-page{--vt-navh:71px;overflow:hidden}
.vt-page *{box-sizing:border-box}
.vt-page [hidden]{display:none!important}
.vt-page #request,.vt-page section{scroll-margin-top:calc(var(--vt-navh) + 16px)}

/* shared heading rhythm (neutralize default h2 margins) */
.vt-page .section-title{margin:0}
.vt-page .section-header .eyebrow{margin-bottom:.75rem}
.vt-page .vt-why-copy .eyebrow{margin-bottom:.75rem}

/* ---------- HERO (full-bleed photo, like homepage .hero) ---------- */
.vt-hero{position:relative;isolation:isolate;min-height:min(100vh,940px);display:flex;flex-direction:column;justify-content:center;padding:var(--vt-navh) 0 0;background:#0d0f0c}
.vt-hero-photo{position:absolute;inset:0;z-index:-2;background:url("../images/kmr-vets-hero-wide.jpg") 78% 42%/cover no-repeat}
.vt-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(10,10,10,.95) 0%,rgba(10,10,10,.86) 30%,rgba(10,10,10,.35) 58%,rgba(10,10,10,.05) 78%),
  linear-gradient(0deg,rgba(10,10,10,.9) 0%,transparent 28%),
  linear-gradient(180deg,rgba(10,10,10,.6) 0%,transparent 22%)}
.vt-hero-inner{flex:1;display:flex;align-items:center;width:100%}
.vt-hero-text{max-width:660px;padding:2.5rem 0 2.75rem}
.vt-page .vt-hero-text .tag{display:inline-flex;align-items:center;gap:.5rem;background:rgba(74,103,65,.25);border:1px solid var(--kmr-green,#4a6741);color:#8fb489;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.45rem 1rem;border-radius:2px;margin-bottom:1.6rem;backdrop-filter:blur(4px)}
.vt-page .vt-hero-text .tag:before{content:"";width:6px;height:6px;background:var(--kmr-green-lt,#6a8f65);border-radius:50%}
.vt-page .vt-headline{font-family:var(--font-display);font-size:clamp(3.8rem,7.6vw,7.2rem);font-weight:900;line-height:.88;text-transform:uppercase;letter-spacing:-.015em;margin:0 0 1.6rem;color:var(--off-white,#e8e4de);text-shadow:0 4px 30px rgba(0,0,0,.45)}
.vt-page .vt-headline .line-green{color:var(--kmr-green-lt,#6a8f65)}
.vt-page .vt-headline .line-gold{color:var(--accent,#c8a84b)}
.vt-page .vt-sub{font-size:1.18rem;line-height:1.6;color:rgba(232,228,222,.82);max-width:540px;margin:0 0 2rem}
.vt-page .vt-sub strong{color:var(--off-white,#e8e4de)}
.vt-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem}
.vt-page .vt-hero-actions .btn-outline{background:rgba(10,10,10,.35);color:var(--off-white,#e8e4de);border:2px solid rgba(232,228,222,.7);backdrop-filter:blur(4px)}
.vt-page .vt-hero-actions .btn-outline:hover{background:var(--off-white,#e8e4de);color:var(--black,#0a0a0a)}
.vt-badges{display:flex;gap:2.4rem;flex-wrap:wrap;padding-top:1.4rem;border-top:1px solid rgba(232,228,222,.14);max-width:560px}
.vt-page .vt-badges .hero-badge{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}
.vt-page .vt-badges .num{font-family:var(--font-display);font-size:2.1rem;font-weight:900;color:var(--accent,#c8a84b);line-height:1}
.vt-page .vt-badges .label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(232,228,222,.6)}
.vt-hero-bar{position:relative;border-top:1px solid rgba(232,228,222,.1);background:rgba(10,10,10,.6);backdrop-filter:blur(6px)}
.vt-hero-bar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--kmr-green,#4a6741),var(--accent,#c8a84b))}
.vt-hero-bar .container{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;padding-bottom:1.1rem;font-family:var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(232,228,222,.6)}

/* ---------- OFFER CARD (mirrors homepage .trial-card) ---------- */
.vt-card{background:rgba(12,12,12,.97);border:2px solid rgba(200,168,75,.25);border-top:4px solid var(--kmr-green,#4a6741);border-radius:8px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.8)}
.vt-card-body{padding:1.9rem 2rem 1.8rem}
.vt-page .vt-card-title{font-family:var(--font-display);font-size:1.75rem;font-weight:900;line-height:1.02;text-transform:uppercase;letter-spacing:.01em;margin:0 0 .5rem;color:#fff}
.vt-page .vt-card-title span{color:var(--accent,#c8a84b)}
.vt-page .vt-status{font-size:.85rem;line-height:1.5;color:var(--light-grey,#888);margin:0 0 1.1rem}
.vt-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem .75rem}
.vt-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.vt-field.vt-wide{grid-column:1/-1}
.vt-page .vt-field label{display:block;margin:0;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,228,222,.7)}
.vt-page .vt-field label em{font-style:normal;font-weight:600;color:var(--light-grey,#888);letter-spacing:.06em}
.vt-page .vt-field input,.vt-page .vt-field select{
  -webkit-appearance:none;appearance:none;width:100%;height:46px;margin:0;
  background:var(--charcoal,#1a1a1a);border:1px solid var(--mid-grey,#3a3a3a);border-radius:var(--radius,3px);
  color:var(--off-white,#e8e4de);font:400 16px/1.2 var(--font-body);padding:0 .8rem;box-shadow:none;
  transition:border-color .2s,background-color .2s;
}
.vt-page .vt-field select{padding-right:2rem;background-image:linear-gradient(45deg,transparent 50%,#c8a84b 50%),linear-gradient(135deg,#c8a84b 50%,transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.vt-page .vt-field select:invalid{color:var(--light-grey,#888)}
.vt-page .vt-field select option{color:#111;background:#fff}
.vt-page .vt-field input::placeholder{color:#6f6f6f}
.vt-page .vt-field input:focus,.vt-page .vt-field select:focus{outline:0;border-color:var(--accent,#c8a84b);background-color:#202020}
.vt-page .vt-hp{display:none!important}
.vt-page .vt-attest{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 0;font-size:.8rem;line-height:1.5;color:rgba(232,228,222,.75);cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400;font-family:var(--font-body)}
.vt-page .vt-attest input,.vt-page .sms-consent-cb{width:18px;height:18px;min-width:18px;margin:1px 0 0;accent-color:var(--kmr-green,#4a6741)}
.vt-page .vt-submit{display:block;width:100%;margin-top:1rem;text-align:center}
.vt-page .vt-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.vt-page .vt-fine{margin:.7rem 0 0;text-align:center;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--light-grey,#888)}

/* A2P SMS consent — injected by forms.js; restyled for the dark card */
.vt-page .sms-consent-wrap{margin:.9rem 0 0;padding:.7rem .8rem;background:rgba(255,255,255,.03);border:1px solid var(--mid-grey,#3a3a3a);border-radius:var(--radius,3px)}
.vt-page .sms-consent-label{display:flex;align-items:flex-start;gap:.6rem;margin:0;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400}
.vt-page .sms-consent-text{font-size:.72rem;line-height:1.5;color:rgba(232,228,222,.6)}
.vt-page .sms-consent-text a{color:var(--accent,#c8a84b);text-decoration:underline}
.vt-page .sms-consent-error{margin-top:.4rem;color:#e7a3a3;font-size:.78rem}

.vt-done{text-align:center;padding:1.5rem .5rem}
.vt-page .vt-done p{color:rgba(232,228,222,.75);font-size:.95rem;line-height:1.6;margin:0 auto 1.2rem;max-width:340px}
.vt-done-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--kmr-green,#4a6741);margin-bottom:.9rem}
.vt-page .vt-done-icon svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* ---------- CLAIM: steps + form card ---------- */
.vt-claim-grid{display:grid;grid-template-columns:1fr 460px;gap:4.5rem;align-items:start}
.vt-claim-copy{padding-top:.5rem}
.vt-page .vt-claim-copy .eyebrow{margin-bottom:.75rem}
.vt-steps{list-style:none;margin:2.2rem 0 1.8rem;padding:0;max-width:520px}
.vt-page .vt-steps li{display:grid;grid-template-columns:64px 1fr;gap:1rem;margin:0;padding:1.4rem 0;border-top:1px solid #2c2c2c}
.vt-page .vt-steps li:last-child{border-bottom:1px solid #2c2c2c}
.vt-page .vt-step-num{display:block;font-family:var(--font-display);font-size:2.6rem;font-weight:900;line-height:.9;color:var(--accent,#c8a84b)}
.vt-page .vt-steps h3{font-family:var(--font-display);font-size:1.35rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .3rem;color:#fff}
.vt-page .vt-steps p{margin:0;color:rgba(232,228,222,.7);font-size:.98rem;line-height:1.6}
.vt-page .vt-contact{margin:0;color:rgba(232,228,222,.7)}
.vt-page .vt-contact a{color:var(--accent,#c8a84b);font-weight:600;text-decoration:none}

/* ---------- WHY ---------- */
.vt-why-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}
.vt-why-media{position:relative;border-radius:var(--radius,3px);overflow:hidden;box-shadow:var(--shadow-card,0 4px 24px rgba(0,0,0,.5));aspect-ratio:4/3}
.vt-why-media:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--accent,#c8a84b)}
.vt-page .vt-why-media img{display:block;width:100%!important;height:100%!important;object-fit:cover}
.vt-page .vt-lead{font-size:1.08rem;line-height:1.7;color:rgba(232,228,222,.78);margin:1.2rem 0 1.5rem}
.vt-page .vt-list{list-style:none;margin:0 0 2rem;padding:0}
.vt-page .vt-list li{display:flex;gap:.8rem;align-items:flex-start;margin:0;padding:.85rem 0;border-top:1px solid #262626;color:rgba(232,228,222,.75);line-height:1.6}
.vt-page .vt-list li:last-child{border-bottom:1px solid #262626}
.vt-page .vt-list .tck{margin-top:.35rem}
.vt-page .vt-list b{color:#fff}

/* ---------- FAQ ---------- */
.vt-faq-wrap{max-width:860px}
.vt-faq-list{border-top:1px solid #2e2e2e}
.vt-page .vt-faq details{border-bottom:1px solid #2e2e2e}
.vt-page .vt-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;min-height:44px;padding:1.15rem 0;font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--off-white,#e8e4de)}
.vt-page .vt-faq summary::-webkit-details-marker{display:none}
.vt-page .vt-faq summary:after{content:"+";flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;padding-bottom:2px;border:1px solid var(--kmr-green,#4a6741);border-radius:2px;color:var(--accent,#c8a84b);font:400 20px/1 var(--font-body);transition:transform .2s}
.vt-page .vt-faq details[open] summary:after{transform:rotate(45deg)}
.vt-page .vt-faq summary:hover{color:var(--accent,#c8a84b)}
.vt-page .vt-faq details p{margin:0 0 1.3rem;color:rgba(232,228,222,.72);line-height:1.7;max-width:720px}
.vt-page .vt-faq details a{color:var(--accent,#c8a84b)}

/* ---------- FINAL ---------- */
.vt-final{text-align:center}
.vt-page .vt-final .eyebrow{color:var(--accent,#c8a84b)}
.vt-page .vt-final .section-title{margin:0 0 2rem;color:#fff}
.vt-page .vt-terms{max-width:860px;margin:3rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.14);font-size:.75rem;line-height:1.65;color:rgba(232,228,222,.6);text-align:left}

/* focus visibility */
.vt-page a:focus-visible,.vt-page button:focus-visible,.vt-page summary:focus-visible{outline:2px solid var(--accent,#c8a84b);outline-offset:3px}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
  .vt-claim-grid{grid-template-columns:1fr 420px;gap:2.5rem}
  .vt-why-grid{gap:2.5rem}
}
@media(max-width:900px){
  .vt-page{--vt-navh:64px}
  /* phone: continuous photo hero. Layout is tied to screen WIDTH (like the photo), never height,
     so the copy always starts below the tag lettering on every phone. */
  .vt-hero{min-height:0;justify-content:flex-start;padding-top:calc(var(--vt-navh) + 62vw)}
  .vt-hero-photo{bottom:auto;height:calc(var(--vt-navh) + 116vw);background:url("../images/kmr-vets-hero-mobile.jpg") center var(--vt-navh)/100% auto no-repeat}
  .vt-hero:before{background:linear-gradient(180deg,rgba(10,10,10,.45) 0,rgba(10,10,10,0) calc(var(--vt-navh) + 10vw),rgba(10,10,10,0) calc(var(--vt-navh) + 50vw),rgba(10,10,10,.86) calc(var(--vt-navh) + 74vw),#0a0a0a calc(var(--vt-navh) + 108vw))}
  .vt-hero-inner{flex:0 0 auto}
  .vt-hero-text{padding:0 0 2.2rem;max-width:none}
  .vt-page .vt-headline{font-size:clamp(3rem,14.5vw,5.2rem);margin-bottom:.9rem}
  .vt-page .vt-sub{font-size:1.02rem;margin-bottom:1.5rem}
  .vt-hero-actions{flex-direction:column;margin-bottom:0}
  .vt-page .vt-hero-actions .btn{width:100%;text-align:center}
  .vt-page .vt-hero-actions .btn-outline{display:none}
  .vt-badges,.vt-hero-bar .container{display:none}
  .vt-hero-bar{background:none;border:0;backdrop-filter:none}
  .vt-claim-grid{grid-template-columns:1fr;gap:2rem}
  .vt-card{max-width:560px;width:100%;margin:0 auto}
  .vt-claim-copy{order:2;max-width:560px;margin:0 auto;width:100%}
  .vt-why-grid{grid-template-columns:1fr}
  .vt-why-media{aspect-ratio:16/10}
}
@media(max-width:560px){
  .vt-page .section{padding:3.5rem 0}
  .vt-page .container{padding-left:1rem;padding-right:1rem}
  .vt-page .vt-hero-text .tag{font-size:.66rem;letter-spacing:.14em;margin-bottom:1rem}
  .vt-card-body{padding:1.25rem 1.1rem 1.3rem}
  .vt-page .vt-card-title{font-size:1.5rem}
  .vt-fields{grid-template-columns:1fr}
  .vt-page .vt-faq summary{font-size:1.08rem}
}
