.hero{margin:4px 0 28px}.hero__headline{font-family:var(--ff-serif);font-weight:500;text-transform:none;font-size:clamp(1.7rem,4.2vw,2.5rem);line-height:1.2;color:var(--plum);margin:0 0 12px}.hero__detail{font-size:1.15rem;color:var(--plum);margin:0 0 10px;max-width:60ch}.early-unlock{font-size:.95rem;margin:0 0 8px}.early-unlock a{font-weight:700}.hero__sub{font-size:1.1rem;color:var(--plum-light);margin:0 0 18px;max-width:60ch}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 12px}.tile{background:#fff;border:1px solid var(--border);border-top:5px solid #8a8f98;border-radius:6px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}.tile--good{border-top-color:var(--good)}.tile--warn{border-top-color:var(--mid)}.tile--bad{border-top-color:var(--bad)}.tile__label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tile__value{font-family:var(--ff-heading);font-size:1.9rem;color:var(--plum);line-height:1.1}.tile__detail{font-size:.88rem;color:var(--muted)}.share{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.btn--small{padding:9px 14px;font-size:.78rem}.small{font-size:.85rem}.demand{font-family:var(--ff-serif);font-size:1.25rem;color:var(--plum);border-left:4px solid var(--gold);padding:4px 0 4px 14px;margin:8px 0 0}.advice{background:var(--plum-faint);border-radius:6px;padding:12px 14px;margin:12px 0 0}.ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.ai{border-radius:6px;padding:16px;border:1px solid var(--border);background:#fff}.ai strong{display:block;font-size:1.05rem;color:var(--plum)}.ai span{display:block;font-weight:700;margin:4px 0}.ai--yes span{color:var(--good)}.ai--no span{color:var(--bad)}.ai--cited span{color:var(--mid)}.ai--none span{color:var(--muted)}.ai .rec{margin:6px 0 0;font-size:.92rem}.excerpt{margin:10px 0 0;font-size:.92rem}.excerpt summary{cursor:pointer;color:var(--plum);font-weight:700}.excerpt blockquote{margin:8px 0 0;padding:10px 12px;background:var(--cream);border-left:3px solid var(--gold);border-radius:0 4px 4px 0;line-height:1.5}.excerpt mark{background:#f3e3c4;color:inherit;padding:0 2px;border-radius:2px}.excerpt .sources{margin:6px 0 0;color:var(--muted);font-size:.85rem}.readout{font-size:1.08rem;margin:6px 0 10px;max-width:70ch}.gaps{padding-left:1.2em}.gaps li{margin:0 0 6px}.sample-banner{background:var(--plum);color:#fff;padding:10px 14px;border-radius:4px;margin:12px 0 0}.sample-banner a{color:var(--gold-light);font-weight:700}.map{margin:12px 0}.map--live{width:100%;max-width:560px;aspect-ratio:1 / 1;height:auto;border-radius:8px;border:1px solid var(--border);overflow:hidden;background:#efe9e2}.map-line{font-size:1.1rem;color:var(--plum);max-width:62ch}.map--live .maplibregl-ctrl-group button{width:32px;height:32px}.map--live .maplibregl-ctrl-attrib{font-size:10px}.pin{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--ff-base);font-weight:900;font-size:.95rem;border:2px solid #fff;box-shadow:0 2px 6px #4a304359}.pin.cell--top{background:#3f7a4e}.pin.cell--mid{background:var(--gold)}.pin.cell--low{background:#a9564a}.pin.cell--none{background:#f8f6f3d9;color:#8a7f86;border:2px dashed #a99ea6;box-shadow:none}.pin--you{width:34px;height:34px;background:var(--plum);color:var(--gold-light);font-size:1.1rem;border:3px solid var(--gold);box-shadow:0 0 0 4px #4a30432e,0 2px 8px #4a304373}.pin.cell--unchecked{background:#fff;color:var(--muted)}.legend__you{background:var(--plum)}.comps{padding-left:1.2em;margin:0}.grid{display:grid;gap:6px;max-width:420px;margin:12px 0}.cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;font-weight:900;color:#fff;font-size:1.05rem}.cell--top{background:var(--good)}.cell--mid{background:var(--mid)}.cell--low{background:var(--bad)}.cell--none{background:#8a8f98}.cell--unchecked{background:#fff;color:var(--muted);border:1px dashed var(--border)}.legend{display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem}.legend span{color:#fff;padding:3px 8px;border-radius:3px;font-weight:700}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);font-size:.95rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{background:var(--plum-faint);color:var(--plum)}.summary{border-left:4px solid var(--gold)}.summary p{margin:0 0 10px}.plan h2{margin-top:0}.action{border-top:1px solid var(--border);padding:14px 0 4px;display:flex;gap:14px}.action__n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--plum);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:2px}.action__why{color:var(--plum-light);margin:0 0 6px!important}.plan__locked{margin:12px 0 0;padding:10px 12px;background:var(--plum-faint);border-radius:4px}.rival th:first-child{font-weight:400;color:var(--muted);background:none}.rival thead th{text-align:left}.rival td.win{font-weight:900;color:var(--good)}.rival td.lose{color:var(--bad)}.action h3{font-family:var(--ff-base);text-transform:none;font-size:1.05rem;margin:0 0 4px}.action p{margin:0}.unlock{border:2px solid var(--gold)}.unlock__list{padding-left:1.2em;margin:0 0 16px}.cta{background:var(--plum);color:#fff;border:0}.cta h3{color:#fff}.cta .btn{background:var(--gold);color:var(--plum)}.working{display:flex;gap:12px;align-items:center}.spinner{width:20px;height:20px;border:3px solid var(--border);border-top-color:var(--plum);border-radius:50%;animation:spin .9s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}@media(max-width:640px){.tiles{grid-template-columns:1fr}}@media print{.excerpt summary{display:none}.hero__headline{font-size:20pt}.tiles{grid-template-columns:repeat(3,1fr)}.tile,.ai,.cta,.summary,.plan{break-inside:avoid}.cta{background:#fff;color:var(--text);border:1px solid var(--border)}.cta h3{color:var(--plum)}.map--live{max-width:420px}.sample-banner{color:var(--plum);background:none;border:1px solid var(--plum)}}
