/*=========================================================
   VOUCH — proof & protection toolkit (scoped: .vc-*)
=========================================================*/
.vouch-section{ margin-bottom:70px; }
.vouch-section .vc-badge{ display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:1px; padding:4px 12px; border-radius:20px; background:linear-gradient(135deg,#FFD166,#5BE08A); color:#06101f; margin-left:10px; vertical-align:middle; }
.vc-tabs{ display:flex; gap:8px; overflow-x:auto; padding-bottom:8px; margin-bottom:18px; }
.vc-tabs button{ white-space:nowrap; background:var(--bg-card); border:1px solid var(--border); color:var(--text-light); padding:10px 18px; border-radius:12px; cursor:pointer; font:inherit; transition:.25s; }
.vc-tabs button:hover{ border-color:var(--primary); }
.vc-tabs button.on{ background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; border-color:transparent; }
.vc-card{ background:var(--bg-card); border:1px solid var(--border); border-radius:20px; padding:22px; margin-bottom:18px; backdrop-filter:blur(10px); }
.vc-card h3{ font-size:1.15rem; margin-bottom:6px; }
.vc-card h4{ font-size:.95rem; margin:14px 0 6px; color:var(--text-light); }
.vc-sub{ color:var(--text-muted); margin-bottom:16px; line-height:1.6; }
.vc-g{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.vc-w{ grid-column:1/-1; }
.vc-card label{ display:block; font-size:.8rem; color:var(--text-muted); margin-bottom:4px; }
.vc-card input[type=text],.vc-card input:not([type]),.vc-card input[type=date],.vc-card textarea,.vc-card input[inputmode]{ width:100%; padding:11px 12px; border-radius:12px; border:1px solid var(--border); background:rgba(255,255,255,.04); color:var(--text); font:inherit; }
.vc-card textarea{ resize:vertical; }
.vc-card input:focus,.vc-card textarea:focus,.vc-tabs button:focus-visible,.vc-btn:focus-visible{ outline:2px solid var(--warning); outline-offset:2px; }
.vc-btn{ background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; border:0; padding:11px 18px; border-radius:12px; cursor:pointer; font:inherit; font-weight:600; transition:.25s; }
.vc-btn:hover{ transform:translateY(-2px); }
.vc-btn.ghost{ background:var(--bg-card); border:1px solid var(--border); color:var(--text); font-weight:400; }
.vc-btn.arm{ border-color:var(--danger); color:var(--danger); }
.vc-row{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.vc-code{ font-size:clamp(2rem,6vw,3.2rem); font-weight:800; letter-spacing:-.01em; margin:10px 0; background:linear-gradient(135deg,var(--success),var(--primary)); -webkit-background-clip:text; background-clip:text; color:transparent; overflow-wrap:anywhere; }
.vc-mt{ font-size:.82rem; color:var(--text-muted); }
.vc-pill{ display:inline-block; font-size:.75rem; font-weight:700; padding:3px 10px; border-radius:12px; border:1px solid var(--success); color:var(--success); }
.vc-pill.warn{ border-color:var(--warning); color:var(--warning); }
.vc-pill.bad{ border-color:var(--danger); color:var(--danger); }
.vc-bar{ height:9px; background:rgba(255,255,255,.08); border-radius:5px; overflow:hidden; margin-top:8px; }
.vc-bar i{ display:block; height:100%; background:var(--success); transition:width .4s; }
.vc-ck{ display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-bottom:1px dashed var(--border); cursor:pointer; color:var(--text); font-size:1rem; }
.vc-ck input{ width:20px; height:20px; flex:none; accent-color:var(--success); margin-top:2px; }
.vc-pre{ white-space:pre-wrap; overflow-wrap:anywhere; background:rgba(255,255,255,.04); border:1px solid var(--border); border-radius:12px; padding:14px; font:.9rem/1.55 inherit; margin:12px 0; color:var(--text-light); }
.vc-big{ font-size:2.6rem; font-weight:800; color:var(--primary-light); line-height:1; }
@media (max-width:640px){ .vc-g{ grid-template-columns:1fr; } }

/*=========================================================
   VOUCH HERO + TILES (top of the site)
=========================================================*/
.vc-hero{ display:grid; grid-template-columns:1.3fr 1fr; gap:22px; align-items:stretch; margin-bottom:22px; }
.vc-hero-copy{ padding:34px; border-radius:var(--radius); border:1px solid var(--border); background:linear-gradient(135deg,rgba(20,168,155,.22),rgba(245,165,36,.10)); display:flex; flex-direction:column; justify-content:center; }
.vc-kicker{ display:inline-block; align-self:flex-start; font-size:.78rem; font-weight:700; padding:5px 12px; border-radius:20px; background:rgba(245,165,36,.18); color:var(--secondary); margin-bottom:14px; }
.vc-hero-copy h2{ font-size:clamp(2.6rem,6vw,4.2rem); line-height:1; letter-spacing:-.03em; margin-bottom:12px; }
.vc-lead{ font-size:1.1rem; line-height:1.6; color:var(--text-light); max-width:30em; }
.vc-today{ padding:26px; border-radius:var(--radius); border:1px solid var(--border); background:rgba(255,255,255,.04); display:flex; flex-direction:column; justify-content:center; gap:8px; }
.vc-today-l{ font-size:.9rem; color:var(--text-muted); }
.vc-today-code{ font-family:'Sora','Inter',sans-serif; font-size:clamp(1.6rem,3.4vw,2.3rem); font-weight:800; line-height:1.15; color:var(--primary-light); overflow-wrap:anywhere; }
.vc-today .vc-btn{ align-self:flex-start; margin-top:8px; }
.vc-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:22px; }
.vc-tile{ text-align:left; display:flex; flex-direction:column; gap:4px; padding:18px; border-radius:var(--radius); border:1px solid var(--border); background:rgba(255,255,255,.035); color:var(--text); font:inherit; cursor:pointer; transition:.25s; }
.vc-tile:hover{ border-color:var(--primary); transform:translateY(-3px); background:rgba(20,168,155,.10); }
.vc-tile i{ font-size:1.3rem; color:var(--secondary); margin-bottom:6px; }
.vc-tile b{ font-size:1rem; }
.vc-tile span{ font-size:.85rem; color:var(--text-muted); }
.vc-tile:focus-visible{ outline:2px solid var(--secondary); outline-offset:2px; }
.vc-ul{ margin:6px 0 10px 20px; line-height:1.7; color:var(--text-light); }
@media (max-width:900px){ .vc-hero{ grid-template-columns:1fr; } .vc-tiles{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .vc-tiles{ grid-template-columns:1fr; } .vc-hero-copy{ padding:24px; } }
