/* PYQ portal UX layer */
.pq-hero{position:relative;overflow:hidden;padding:56px 0 64px;background:radial-gradient(760px 420px at 90% 0%,rgba(203,108,230,.2),transparent 62%),radial-gradient(600px 380px at 0% 100%,rgba(18,194,160,.14),transparent 60%),#F8F5FC;color:#1E0A38;border-bottom:1px solid #EBE2F3}
.pq-hero .wrap{position:relative}
.pq-hero h1{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.05;letter-spacing:-.03em;margin:12px 0 14px;max-width:18ch;color:#1E0A38}
.pq-hero p{color:#4a3d63;max-width:56ch;line-height:1.65}
.pq-hero .eyebrow{color:#8B2BBE;font-weight:700}.pq-hero .small,.pq-hero nav.small{color:#6B5C82;font-size:.9rem}.pq-hero nav.small a{color:#8B2BBE}
.pq-hero .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 14px}
.pq-split{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.pq-demo{position:relative;min-height:340px}
.pq-tag{position:absolute;top:-12px;right:8px;z-index:3;background:#1E0A38;color:#fff;font:600 .72rem 'Instrument Sans',sans-serif;padding:5px 11px;border-radius:99px}
.pq-room,.pq-res{background:#fff;border:1px solid #EBE2F3;border-radius:20px;box-shadow:0 28px 60px -26px rgba(60,20,110,.38)}
.pq-room{padding:18px;position:relative;z-index:1;max-width:430px}
.pq-bar{display:flex;justify-content:space-between;align-items:center;font:600 .78rem 'Instrument Sans',sans-serif;color:#6B5C82;margin-bottom:10px}
.pq-bar b{font:700 .95rem 'Bricolage Grotesque',sans-serif;color:#1E0A38;font-variant-numeric:tabular-nums}
.pq-prog{height:6px;border-radius:9px;background:#F0E8F8;overflow:hidden;margin-bottom:14px}.pq-prog i{display:block;height:100%;width:38%;background:linear-gradient(90deg,#12C2A0,#CB6CE6);border-radius:9px}
.pq-q{font:700 1rem 'Bricolage Grotesque',sans-serif;margin:0 0 10px;color:#1E0A38}
.pq-o{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1.5px solid #EBE2F3;border-radius:12px;margin-bottom:7px;font-size:.92rem;color:#3b2f55;transition:all .3s}
.pq-o b{width:24px;height:24px;border-radius:50%;background:#F4EEFA;display:grid;place-items:center;font-size:.76rem}
.pq-o.pick{animation:pqPick 6s infinite}
@keyframes pqPick{0%,25%{border-color:#EBE2F3;background:#fff}35%,90%{border-color:#8B2BBE;background:#F6ECFC}100%{border-color:#EBE2F3;background:#fff}}
.pq-dots{display:flex;gap:5px;margin-top:12px}.pq-dots i{width:20px;height:20px;border-radius:6px;background:#F0E8F8}.pq-dots i.d{background:#12C2A0}.pq-dots i.c{outline:2px solid #8B2BBE}
.pq-res{position:absolute;right:0;bottom:-26px;width:230px;padding:16px;z-index:2;display:flex;gap:14px;align-items:center;animation:pqFloat 5s ease-in-out infinite}
@keyframes pqFloat{50%{transform:translateY(-8px)}}
.pq-ring{width:64px;height:64px;flex:none}.pq-ring circle{fill:none;stroke-width:8}.pq-ring .bg{stroke:#F0E8F8}.pq-ring .fg{stroke:#12C2A0;stroke-linecap:round;stroke-dasharray:176;stroke-dashoffset:176;transform:rotate(-90deg);transform-origin:center;animation:pqRing 2.2s .4s ease forwards}
@keyframes pqRing{to{stroke-dashoffset:44}}
.pq-res b{display:block;font:800 1.15rem 'Bricolage Grotesque',sans-serif}.pq-res span{font-size:.78rem;color:#6B5C82;line-height:1.35}
.pq-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.pq-feat{background:#fff;border:1px solid #EBE2F3;border-radius:16px;padding:18px;display:flex;gap:14px;align-items:flex-start}
.pq-feat svg{flex:none;width:38px;height:38px;padding:9px;border-radius:12px;background:#F4EEFA;color:#8B2BBE}
.pq-feat b{display:block;font:700 1rem 'Bricolage Grotesque',sans-serif;margin-bottom:3px}.pq-feat span{font-size:.9rem;color:#5b4d78;line-height:1.5}
.pq-strip{margin:0;padding:22px 0;background:#fff;border-bottom:1px solid #EBE2F3}.pq-strip .pq-feats{margin-top:0;grid-template-columns:repeat(4,1fr)}.pq-strip .pq-feat{border:0;padding:6px;background:none}
.pq-faq details{background:#fff;border:1px solid #EBE2F3;border-radius:14px;padding:4px 18px;margin-bottom:10px}
.pq-faq summary{cursor:pointer;font:700 1rem 'Bricolage Grotesque',sans-serif;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.pq-faq summary::after{content:"+";color:#8B2BBE;font-size:1.3rem;line-height:1;transition:transform .2s}.pq-faq details[open] summary::after{transform:rotate(45deg)}
.pq-faq details p{margin:0 0 14px;color:#4a3d63;line-height:1.65}
.pq-empty{background:#fff;border:1.5px dashed #D9C6EC;border-radius:20px;padding:26px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:18px 0 6px}
.pq-empty svg{width:46px;height:46px;color:#8B2BBE;flex:none}.pq-empty div{flex:1;min-width:220px}.pq-empty b{font:700 1.1rem 'Bricolage Grotesque',sans-serif}.pq-empty p{margin:4px 0 0!important;font-size:.95rem}
.pq-buy{position:fixed;left:0;right:0;bottom:0;z-index:950;background:#fff;border-top:1px solid #EBE2F3;box-shadow:0 -10px 30px rgba(30,10,56,.12);padding:10px 16px;display:none;align-items:center;justify-content:space-between;gap:12px;transform:translateY(110%);transition:transform .3s}
.pq-buy.on{transform:none}.pq-buy span{font-size:.85rem;color:#5b4d78;line-height:1.3}.pq-buy b{display:block;color:#1E0A38}
/* test room */
#test-head{position:sticky;top:var(--pq-hh,0px);z-index:40;border-radius:16px;box-shadow:0 8px 24px rgba(30,10,56,.1)}
#test-head .progress{height:6px;border-radius:9px;background:#F0E8F8;overflow:hidden}#test-head .progress i{display:block;height:100%;background:linear-gradient(90deg,#12C2A0,#CB6CE6);transition:width .3s}
#timer.warn{color:#c2253d!important;animation:pqBlink 1s infinite}@keyframes pqBlink{50%{opacity:.55}}
.pq-pal{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 4px;padding:12px;background:#fff;border:1px solid #EBE2F3;border-radius:14px}
.pq-pal button{width:36px;height:36px;border-radius:10px;border:1.5px solid #E3D6F0;background:#fff;font:700 .85rem 'Instrument Sans',sans-serif;color:#5b4d78;cursor:pointer;transition:all .15s}
.pq-pal button.a{background:#12C2A0;border-color:#12C2A0;color:#04332a}.pq-pal button:hover{border-color:#8B2BBE}
.pq-leg{width:100%;font-size:.8rem;color:#6B5C82;margin:2px 0 0}
.qcard{border-radius:18px;scroll-margin-top:150px;transition:box-shadow .2s}
.qcard .option{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1.5px solid #EBE2F3;border-radius:12px;margin:8px 0;cursor:pointer;transition:all .15s;background:#fff}
.qcard .option:hover{border-color:#CB6CE6}.qcard .option:has(input:checked){border-color:#8B2BBE;background:#F6ECFC}
.qcard .option input{margin-top:4px;accent-color:#8B2BBE}
.qcard.ok{border-left:5px solid #12C2A0}.qcard.bad{border-left:5px solid #e0526a}.qcard.skip{border-left:5px solid #FFB020}
.pq-ov{position:fixed;inset:0;z-index:2000;background:rgba(30,10,56,.55);display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}
.pq-md{background:#fff;border-radius:20px;padding:26px;max-width:420px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.35)}.pq-md h3{margin:0 0 8px;font:700 1.3rem 'Bricolage Grotesque',sans-serif}.pq-md p{margin:0 0 18px;color:#4a3d63}.pq-md div{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.pq-score{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.pq-score svg{width:118px;height:118px}.pq-score circle{fill:none;stroke-width:11}.pq-score .bg{stroke:#F0E8F8}.pq-score .fg{stroke:#12C2A0;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1.4s ease}.pq-score text{font:800 22px 'Bricolage Grotesque',sans-serif;fill:#1E0A38}
.pq-filt{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 4px}.pq-filt button{border:1.5px solid #E3D6F0;background:#fff;border-radius:99px;padding:8px 14px;font:600 .85rem 'Instrument Sans',sans-serif;cursor:pointer}.pq-filt button.on{background:#1E0A38;color:#fff;border-color:#1E0A38}
@media (max-width:900px){.pq-split{grid-template-columns:1fr}.pq-demo{min-height:380px}.pq-feats,.pq-strip .pq-feats{grid-template-columns:1fr 1fr}.pq-buy{display:flex}}
@media (max-width:560px){.pq-feats,.pq-strip .pq-feats{grid-template-columns:1fr}.pq-res{position:relative;margin:-14px 0 0 auto;bottom:auto}.pq-pal button{width:34px;height:34px}}
@media (prefers-reduced-motion:reduce){.pq-o.pick{animation:none;border-color:#8B2BBE;background:#F6ECFC}.pq-res{animation:none}.pq-ring .fg{animation:none;stroke-dashoffset:44}}
.pq-hero:not(:has(.pq-split))::after{content:"";position:absolute;right:-40px;top:-30px;width:560px;height:100%;min-height:380px;opacity:.55;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 420' fill='none' stroke='%238B2BBE' stroke-opacity='.3' stroke-width='1.4'%3E%3Cpath d='M40 120C170 50 300 98 392 176C470 242 520 330 498 400'/%3E%3Cpath d='M90 170C200 110 300 150 378 216C446 274 480 340 470 400'/%3E%3Cpath d='M150 230C220 190 300 210 364 264C410 304 430 350 424 400'/%3E%3Cpath d='M210 290C250 270 300 280 332 308C356 330 366 360 362 400'/%3E%3C/svg%3E") no-repeat right top/contain}
.pq-hero nav.small{margin-bottom:12px}
.pq-res{bottom:-44px}.pq-demo{min-height:380px}
