/* True Vet Value · widget app v2 — gate → sc calculator / guide (in iframe) */
:root{
  --w-bg:#F4EEE1;--w-surface:#FFFFFF;--w-soft:#FAF6EC;--w-field:#F4EDDD;
  --w-text:#1D1C10;--w-text2:#4A4930;--w-text3:#7A7E5C;
  --w-line:#E3DCC9;--w-line2:#D9D2BE;--w-accent:#C08A1A;--w-gold:#E8A820;
  --w-gold-ink:#8a6212; /* gold-family ink that passes AA on cream surfaces */
  --w-inset:inset 0 1px 2px rgba(29,28,16,.07);
  --w-shadow:0 1px 2px rgba(29,28,16,.05),0 14px 36px -18px rgba(29,28,16,.22);
  --w-seg:#4A4930;--w-segline:#5c5b3f;--w-segtext:#F3EAD7;
  --sans:'Archivo',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --disp:'Anton',sans-serif;
}
[data-tvvw="dark"]{
  --w-bg:#1D1C10;--w-surface:#2A2817;--w-soft:#222013;--w-field:rgba(255,255,255,.05);
  --w-text:#F4EEE1;--w-text2:#D9CFB4;--w-text3:#9C9C78;
  --w-line:rgba(228,201,139,.16);--w-line2:rgba(228,201,139,.28);--w-accent:#E8A820;--w-gold:#E8A820;
  --w-gold-ink:#E8A820;
  --w-inset:inset 0 1px 2px rgba(0,0,0,.35);
  --w-shadow:0 1px 2px rgba(0,0,0,.3),0 22px 48px -24px rgba(0,0,0,.75);
  --w-seg:#3C3B26;--w-segline:#54533a;--w-segtext:#EDE3CC;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:transparent}
body{font-family:var(--sans);color:var(--w-text);-webkit-font-smoothing:antialiased;line-height:1.5}
button{font-family:inherit}

@keyframes tvvwPulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes tvvwIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.band-dot{animation:none}.step{animation:none}}

/* ===== card ===== */
.tvvw{max-width:416px;margin:0 auto;background:var(--w-bg);border:2px groove var(--w-line2);
  border-radius:4px;box-shadow:var(--w-shadow);overflow:hidden}

/* ===== header strip ===== */
.hdr{display:flex;align-items:center;gap:9px;padding:7px 10px;background:#15140B;border-bottom:2px groove #47492f}
.hdr-logo{display:inline-flex;height:24px;flex:none}
.hdr-logo svg{height:100%;width:auto;display:block}
.hdr-word{font:800 12.5px/1 var(--sans);letter-spacing:.055em;color:#F4EEE1;white-space:nowrap}
.hdr-word b{color:#E8A820;font-weight:800}
.hdr-spacer{flex:1}
.stamp{display:inline-flex;align-items:center;padding:4px 7px;border-radius:3px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);
  font:600 8px/1 var(--mono);letter-spacing:.09em;color:#8f8a6f;white-space:nowrap}
.stamp--sc{background:rgba(95,194,126,.16);border-color:#5Fc27e;color:#8fdea6}
.hdr-btn{display:inline-grid;place-items:center;width:30px;height:30px;flex:none;border-radius:3px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);color:#c9c3ac;cursor:pointer;padding:0}
.hdr-btn:hover{background:rgba(255,255,255,.12)}
.hdr-btn:focus-visible{outline:2px solid var(--w-gold);outline-offset:2px}
/* author display rules (and grid-item blockification of the icon SVGs) beat the
   UA [hidden] rule — restate it, as .step/.errline/.recap already do */
.hdr-btn[hidden],.hdr-btn svg[hidden]{display:none}

/* ===== notice band ===== */
.band{display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 12px;
  background:linear-gradient(180deg,#F2B62E,#E09A12);border-bottom:2px groove #f4cf7a;color:#23220f}
.band-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:tvvwPulse 2s ease-in-out infinite;flex:none}
.band-lbl{font:700 9px/1.3 var(--mono);letter-spacing:.12em}
.band--gate{background:linear-gradient(180deg,#39FF9E,#12D97A);border-bottom-color:#6effb9;color:#04241a;
  box-shadow:0 0 16px rgba(45,255,158,.55),0 1px 0 rgba(0,0,0,.15)}
.band--gate .band-lbl{text-shadow:0 0 10px rgba(120,255,200,.45)}
.band--gate .band-dot{box-shadow:0 0 6px rgba(4,36,26,.5)}

/* ===== steps (shared) ===== */
.step{padding:20px 16px 16px;animation:tvvwIn .2s ease-out}
.step[hidden]{display:none}
.step--center{text-align:center}
.step--flush{padding:0}
.step-h{font:800 23px/1.16 var(--sans);letter-spacing:-.02em;color:var(--w-text);margin-bottom:7px}
.step-h--big{font-size:25px;line-height:1.14}
.step-h--done{font-size:24px;line-height:1.15}
.lede{font:500 13.5px/1.5 var(--sans);color:var(--w-text2);text-wrap:pretty;margin-bottom:14px}
.stack{display:flex;flex-direction:column;gap:5px}

/* ===== buttons ===== */
.btn{border-radius:4px;cursor:pointer}
.btn-gold{font:800 14px/1 var(--sans);color:#23220f;background:linear-gradient(180deg,#F2B62E,#E09A12);
  border:2px groove #f4cf7a;padding:8px 20px}
.btn-gold:hover{filter:brightness(1.05)}
.btn-olive{font:700 13.5px/1 var(--sans);color:var(--w-segtext);background:var(--w-seg);
  border:2px groove var(--w-segline);padding:8px 20px}
.btn-olive:hover{border-color:var(--w-gold)}
.btn-row{min-height:42px;padding:11px 14px;text-align:left;width:100%}
.btn-gold.btn-row{min-height:46px;padding:12px 14px}
.btn:focus-visible,.pill:focus-visible,.seg:focus-visible,.cta:focus-visible,.tray-btn:focus-visible{
  outline:2px solid var(--w-gold);outline-offset:2px}
.consent-hit:focus-visible{outline:2px solid var(--w-gold);outline-offset:-8px;border-radius:4px}

/* ===== gate ===== */
.gate-h{margin-bottom:12px;padding:5px;background:var(--w-seg);border:2px groove var(--w-segline);
  border-radius:4px;font:800 25px/1.16 var(--sans);letter-spacing:-.02em;color:var(--w-segtext)}
.gate-h .gold{color:var(--w-gold)}
.copy{font:500 12.5px/1.4 var(--sans);color:var(--w-text2);text-wrap:pretty;margin-bottom:8px}
.copy b{color:var(--w-text)}
.copy--em{font-weight:700;color:var(--w-text);margin-bottom:9px}
.copy--last{margin-bottom:0}
.copy--tight{margin:4px 0 16px}
.panel-soft{margin-bottom:9px;padding:5px;border-radius:4px;background:rgba(74,73,48,.14);border:1px groove var(--w-line2)}
.panel-soft .copy{margin-bottom:9px}
.panel-soft .copy--last{margin-bottom:0}
.welcome{font:800 16px/1.3 var(--sans);color:var(--w-text)}
.gate-row{display:flex;gap:20px}
.gate-col{flex:1;display:flex;flex-direction:column;gap:5px}
.microlbl{font:600 9.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--w-text3);text-align:center}
.trust{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:11px;
  font:500 9px/1.4 var(--mono);letter-spacing:.04em;color:var(--w-text3)}
.trust svg{flex:none}

/* ===== sc form ===== */
.hero{padding:11px 14px;background:linear-gradient(150deg,#2A2F18 0%,#141710 100%);border-bottom:2px groove #47492f}
.hero-lbl{font:600 8px/1 var(--mono);letter-spacing:.15em;color:#9C9C78}
.hero-row{display:flex;align-items:baseline;gap:9px;margin-top:4px}
.hero-val{font:900 27px/1 var(--sans);letter-spacing:-.02em;color:#E8A820}
.hero-gross{font:500 10px/1.3 var(--mono);color:#c9c3ac;white-space:nowrap}
.formbody{padding:14px 14px 16px}
.sec{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.sec-lbl{font:600 9px/1 var(--mono);letter-spacing:.13em;color:var(--w-text3)}
.sec-rule{flex:1;border-bottom:1px dashed var(--w-line)}
.grid6{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:14px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-bottom:14px}
.row2{display:flex;gap:5px;margin-bottom:6px}
.pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 4px;border-radius:4px;cursor:pointer;
  font:600 11px/1 var(--mono);background:var(--w-seg);color:var(--w-segtext);border:2px groove var(--w-segline)}
.pill:hover{border-color:var(--w-gold)}
.pill.on{background:linear-gradient(180deg,#F2B62E,#E09A12);color:#23220f;border-color:#f4cf7a}
.pill-pt{gap:5px}
.pt-box{display:inline-grid;place-items:center;width:15px;height:15px;flex:none;border-radius:3px;
  background:transparent;border:1px solid var(--w-segtext);color:transparent;font:700 12px/1 var(--sans)}
.pill-pt.on .pt-box{background:#23220f;border-color:#23220f;color:var(--w-gold)}
.pt-lbl{font:600 9px/1.3 var(--mono);letter-spacing:.09em}
.seg{display:inline-flex;align-items:center;justify-content:center;flex:1;padding:8px 12px;border-radius:4px;cursor:pointer;
  font:700 12px/1.15 var(--sans);text-align:center;background:var(--w-seg);color:var(--w-segtext);border:2px groove var(--w-segline)}
.seg:hover{border-color:var(--w-gold)}
.seg.on{background:linear-gradient(180deg,#F2B62E,#E09A12);color:#23220f;border-color:#f4cf7a}
.tray{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 11px;background:var(--w-soft);
  border:1px groove var(--w-line2);border-radius:4px;margin-bottom:14px}
.tray-lbl{flex:1;font:600 9px/1.3 var(--mono);letter-spacing:.09em;color:var(--w-text3)}
.tray-btn{display:inline-grid;place-items:center;width:30px;height:30px;flex:none;border-radius:3px;
  background:var(--w-field);border:1px groove var(--w-line2);color:var(--w-text2);font:700 16px/1 var(--sans);cursor:pointer;padding:0}
.tray-btn:hover{border-color:var(--w-gold)}
.tray-val{min-width:20px;text-align:center;font:700 14px/1 var(--mono);color:var(--w-text)}

/* ===== inputs / consent / cta ===== */
.field{width:100%;font:500 13.5px/1.2 var(--sans);color:var(--w-text);background:var(--w-field);
  border:1px groove var(--w-line2);border-radius:4px;padding:10px 11px;min-height:40px;
  box-shadow:var(--w-inset);outline:none}
.field::placeholder{color:var(--w-text3)}
.field:focus{border-color:var(--w-accent);box-shadow:0 0 0 2px rgba(192,138,26,.26)}
[data-tvvw="dark"] .field:focus{box-shadow:0 0 0 2px rgba(232,168,32,.28)}
.field.err{border-color:#c1554a;box-shadow:0 0 0 2px rgba(193,85,74,.25)}
.field-mono{font-family:var(--mono);font-size:13px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.consent{display:flex;align-items:center;gap:4px;margin-top:12px;cursor:pointer}
.consent-hit{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;cursor:pointer}
.box{display:inline-grid;place-items:center;width:24px;height:24px;flex:none;border-radius:4px;
  box-shadow:var(--w-inset);background:var(--w-field);border:1px groove var(--w-line2);
  color:transparent;font:700 15px/1 var(--sans)}
.box.on{background:linear-gradient(180deg,#F2B62E,#E09A12);border:2px groove #f4cf7a;color:#23220f}
.box.err{outline:2px solid #c1554a;outline-offset:2px}
.consent-text{flex:1;font:500 10.5px/1.45 var(--sans);color:var(--w-text2)}
.cta{width:100%;margin-top:12px;padding:10px 16px;border-radius:4px;
  font:400 19px/1 var(--disp);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;
  color:#23220f;background:linear-gradient(180deg,#F2B62E,#E09A12);border:2px groove #f4cf7a}
.cta:hover{filter:brightness(1.05)}
.cta[data-ready="false"]{opacity:.55;cursor:not-allowed}
.note{margin-top:7px;font:500 8.5px/1.5 var(--mono);letter-spacing:.04em;color:var(--w-text3);text-align:center}
.errline{margin-top:6px;font:600 9.5px/1.4 var(--mono);color:#c1554a;text-align:center}
.errline[hidden]{display:none}
.legal{margin-top:10px;font:400 8.5px/1.6 var(--mono);letter-spacing:.03em;color:var(--w-text2);text-align:center}

/* ===== guide ===== */
.panel-olive{padding:11px 12px;background:var(--w-seg);border:2px groove var(--w-segline);border-radius:4px;
  margin-bottom:14px;font:500 9.5px/1.6 var(--mono);color:var(--w-segtext)}

/* ===== done ===== */
.done-ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:4px;
  background:var(--w-soft);border:2px groove var(--w-line2);color:#3f7a54;margin-bottom:13px}
.lede--done{margin-bottom:16px}
.lede--done b{color:var(--w-text)}
.recap{padding:13px;background:var(--w-soft);border:2px groove var(--w-line2);border-radius:4px;box-shadow:var(--w-inset)}
.recap[hidden]{display:none}
.recap-lbl{font:600 8px/1 var(--mono);letter-spacing:.14em;color:var(--w-text3)}
.recap-val{font:900 27px/1.1 var(--sans);color:var(--w-gold-ink);margin:5px 0 3px}
.recap-sub{font:500 10px/1.4 var(--mono);color:var(--w-text2)}
.done-note{margin-top:12px;padding:10px 12px;text-align:left;background:var(--w-field);
  border:1px groove var(--w-line2);border-radius:4px;font:500 9px/1.55 var(--mono);color:var(--w-text2)}
.btn-close{width:100%;min-height:42px;margin-top:12px;padding:11px;font:700 12.5px/1 var(--sans)}

/* ===== wide embed (≥600px host container) =====================================
   The iframe is always 100% of the host container, so this media query IS a
   container query. Below the trigger nothing here applies — the 416px card
   layout above is the mobile/narrow truth. Values from the 2026-07 650px
   handoff (brand/design-handoff-2026-07/"TVV Widget v2 (650px).dc.html").
   Trigger is 600, not the design's nominal 650: the layout is fluid and holds
   to ~600, and real host columns sit just under 650 (truevetvalue.com's
   tablet-breakpoint column is 644px) — a near-miss must not fall back to the
   tall card. */
@media (min-width:600px){
  .tvvw{max-width:650px}

  /* brand bar grows */
  .hdr{gap:11px;padding:13px 14px}
  .hdr-logo{height:38px}
  .hdr-word{font-size:17px}

  /* gate: big centered headline panel, then pitch | decision panel */
  #step-gate{padding:22px 22px 18px}
  .gate-h{margin-bottom:16px;padding:26px 20px;font-size:32px;line-height:1.18}
  .gate-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:stretch}
  .gate-pitch{min-width:0;text-align:left}
  .gate-decide{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:12px;
    padding:16px;background:rgba(74,73,48,.14);border:1px groove var(--w-line2);border-radius:4px}
  .welcome{font-size:18px}
  .copy--tight{margin:4px 0 0}
  .gate-row{flex-direction:column;gap:12px}
  .gate-row .btn{padding:12px 20px;font-size:15px}
  .trust{margin-top:14px}

  /* value form: bigger hero, sections 1–3 | section 4 split by dashed rule */
  .hero-lbl{font-size:9px}
  .hero-row{gap:11px;margin-top:5px}
  .hero-val{font-size:40px}
  .hero-gross{font-size:12px}
  .formbody{display:grid;grid-template-columns:1fr 1fr;padding:16px 18px 18px}
  .form-left{min-width:0;padding-right:18px;border-right:1px dashed var(--w-line)}
  .form-right{min-width:0;padding-left:18px;display:flex;flex-direction:column}
  .form-right .consent{margin-top:auto;padding-top:12px}
  .formbody>.legal{grid-column:1/-1}

  /* guide: pitch | contact form */
  #step-guide{padding:22px 22px 18px}
  .guide-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}
  .guide-pitch{min-width:0}
  .guide-form{min-width:0;display:flex;flex-direction:column}
  .step-h--big{font-size:27px;line-height:1.14}
  .guide-pitch .panel-olive{margin-bottom:0}

  /* done: centered column capped at 480px */
  #step-done{padding:24px 18px 20px}
  .done-wrap{max-width:480px;margin:0 auto}
}

/* ===== footer ===== */
.ftr{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;
  background:#15140B;border-top:2px groove #47492f}
.ftr span{font:600 8.5px/1.3 var(--mono);letter-spacing:.1em;color:#8f8a6f}
.ftr-flag{flex:none;display:block;border-radius:1px}
.ftr2{padding:6px 12px;background:#15140B;border-top:1px solid rgba(255,255,255,.06);text-align:center;
  font:500 8.5px/1.4 var(--mono);letter-spacing:.08em;color:#8f8a6f}
