/* Quote Fix: the offer first, then the live Trace. Same tokens as the site. */
.qf-hero{position:relative;background:linear-gradient(90deg,rgba(4,6,12,.92),rgba(4,6,12,.72) 55%,rgba(4,6,12,.34)),var(--qf-img) center/cover no-repeat;border-bottom:1px solid var(--line2);padding:clamp(20px,3.4vw,44px) 0}
.qf-live{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font:500 13px/1.35 "Geist Mono",ui-monospace,monospace;color:var(--ink);margin:0 0 10px;min-height:1.4em}
.qf-live b{font-weight:500;color:var(--sig);letter-spacing:.1em;white-space:nowrap}
.qf-live b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sig);margin-right:7px;animation:qf-p 1.6s infinite}
@keyframes qf-p{50%{opacity:.25}}
.qf-hero h1{font-size:clamp(32px,5.1vw,66px);line-height:1.02;letter-spacing:-.03em;margin:0 0 12px;max-width:19em;text-wrap:balance}
.qf-sum{font-size:clamp(17px,1.65vw,22px);line-height:1.3;color:var(--ink);font-weight:500;margin:0 0 14px;max-width:44em}
.qf-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.qf-3>div{background:rgba(10,16,28,.9);border:1px solid var(--line3);border-radius:var(--r2);padding:12px 14px;min-width:0}
.qf-3 small{display:block;font:500 11px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.14em;color:var(--sig);margin-bottom:7px}
.qf-3 strong{display:block;font-size:clamp(17px,1.7vw,22px);line-height:1.16;letter-spacing:-.012em;color:var(--ink)}
.qf-3 span{display:block;margin-top:5px;font-size:14px;line-height:1.35;color:var(--mut)}
.qf-act{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.qf-act .btn{font-size:17px;padding:15px 22px;min-height:52px;justify-content:center;white-space:nowrap}
.qf-act em{font-style:normal;font-size:14px;color:var(--mut)}
.qf-inline{list-style:none;border:1px solid var(--line3);border-radius:var(--r2);padding:16px;margin:8px 0;background:var(--bg2,#0a101c)}
.qf-inline p{margin:0 0 10px;color:var(--ink);font-weight:600;font-size:18px;line-height:1.25}
.qf-inline .qf-act .btn{font-size:15px;padding:11px 15px;min-height:44px}
.qf-diff{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
@media(min-width:900px){.qf-diff{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
.qf-diff img,.qf-card img{display:block;width:100%;height:auto;border-radius:var(--r2);border:1px solid var(--line2)}
.qf-diff ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.qf-diff li b{display:block;color:var(--ink);font-size:clamp(18px,1.7vw,22px);line-height:1.2;margin-bottom:3px}
.qf-diff li{color:var(--mut);font-size:15.5px;line-height:1.45}
.qf-card{padding:0!important;overflow:hidden}
.qf-card img{border:0;border-radius:0;aspect-ratio:16/9;object-fit:cover}
.qf-card div{padding:16px}
.qf-card h3{margin-top:0}
.qf-tag{display:inline-block;font:600 11px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.1em;background:var(--warn);color:#04060c;padding:5px 7px;border-radius:4px;margin-bottom:9px}
.qf-bar{display:none}
@media(min-width:769px){.qf-bar{display:flex;position:fixed;z-index:50;left:0;right:0;bottom:0;align-items:center;justify-content:center;gap:16px;background:rgba(4,6,12,.97);border-top:1px solid var(--line3);padding:9px 16px;transform:translateY(110%);transition:transform .25s}.qf-bar.on{transform:none}.qf-bar p{margin:0;color:var(--ink);font-weight:600;font-size:15.5px}.qf-bar .btn{padding:9px 15px;font-size:15px;white-space:nowrap}}
.qf-page .tr-live .tr-hero{min-height:0;padding:28px 0 8px;justify-content:flex-start}
.qf-page .tr-hero h2{font-size:clamp(28px,3.4vw,46px);line-height:1.05;letter-spacing:-.025em;margin:8px 0 10px}
.qf-page .tr-live .tr-hero .tr-note{margin-top:10px}
@media(max-width:760px){.qf-3{grid-template-columns:minmax(0,1fr);gap:7px}.qf-3>div{padding:10px 12px}.qf-3 span{margin-top:3px;font-size:13.5px}.qf-hero{background:linear-gradient(rgba(4,6,12,.9),rgba(4,6,12,.93)),var(--qf-img) center/cover no-repeat}.qf-act .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.qf-live b::before{animation:none}.qf-bar{transition:none}}
/* Quote Fix video test (11-06): hidden unless da-qfv.js puts this visitor in group b */
.qf-vid{display:none}
.qfv-b .qf-vid{display:block}
.qf-vid-in{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:center}
@media(min-width:760px){.qf-vid-in{grid-template-columns:300px minmax(0,1fr);gap:36px}}
.qf-vid-f{position:relative;width:min(300px,72vw);margin:0 auto}
.qf-vid video{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:var(--r2);border:1px solid var(--line2);background:#05070d}
.qf-vid-snd{position:absolute;right:10px;top:10px;font:600 12.5px/1 inherit;padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(4,6,12,.72);color:#fff;cursor:pointer}
.qf-vid-t h2{margin:6px 0 10px}
.qf-vid-t p{color:var(--mut);font-size:16px;line-height:1.5;max-width:52ch}
.qf-vid-t .qf-act{margin:16px 0 8px}
/* Layout-shift fix (11-06): the live caption grew this line from 1 to 3 rows after load and pushed the hero down (CLS ~0.3 on phones). Reserve the rows up front and clamp. */
.qf-live{display:block;height:calc(3 * 1.35em);min-height:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.qf-live b{margin-right:12px}
@media(min-width:760px){.qf-live{height:calc(2 * 1.35em);-webkit-line-clamp:2}}
