.public-page{background:#eeece5;color:#080806;min-height:70vh}
.public-page *,.research-host *{box-sizing:border-box}
.public-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.public-hero{background:#11110e;color:#fffef9;padding:74px 0 78px;border-bottom:9px solid #f6df00}
.public-kicker{font:800 12px/1.3 ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:#8c7800;margin:0 0 20px}
.public-hero .public-kicker{color:#f6df00}
.public-hero h1{max-width:1060px;margin:0;font-size:clamp(3rem,6.6vw,6.5rem);line-height:.96;letter-spacing:-.065em;text-transform:uppercase}
.public-lead{max-width:780px;margin:26px 0 0;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.52;color:#ddd9cf}
.public-section{padding:84px 0;border-bottom:1px solid #aaa69b}
.public-section--soft{background:#e2dfd5}
.public-section--yellow{background:#f6df00;border-color:#080806}
.public-section--yellow .public-kicker{color:#4a4000}
.public-section h2{max-width:900px;font-size:clamp(2.15rem,4.5vw,4.3rem);line-height:1.02;letter-spacing:-.055em;margin:0 0 27px}
.public-section p{line-height:1.55;font-size:1.05rem}
.public-split{display:grid;grid-template-columns:1fr 1fr;gap:55px}
.public-split>div:last-child{max-width:590px}
.public-grid{display:grid;gap:14px;margin:28px 0}
.public-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.public-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.public-grid article{background:#fffef9;border:1px solid #080806;padding:24px;min-width:0}
.public-grid article h2{font-size:1.9rem;margin:12px 0}
.public-grid article h3{font-size:1.35rem;margin:12px 0}
.public-grid article p{color:#504d45;font-size:.96rem}
.public-grid article small{font:800 12px ui-monospace,monospace;color:#786300}
.public-grid article a{color:#080806;font-weight:800;text-decoration-color:#ba9a00;text-decoration-thickness:2px}
.public-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.public-button{display:inline-flex;align-items:center;min-height:50px;padding:13px 19px;background:#f6df00;border:1px solid #f6df00;color:#080806!important;text-decoration:none;font-weight:800}
.public-button--outline{background:transparent;color:inherit!important;border-color:currentColor}
.public-button--dark{background:#080806;color:#fffef9!important;border-color:#080806}
.public-hero .public-button--outline{color:#fffef9!important}
.public-note{padding:15px 18px;border-left:4px solid #080806;background:#f6df00;margin:28px 0}
.public-link-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.public-link-list a{color:#080806;padding:10px 12px;border:1px solid #aaa69b;text-decoration:none;font-weight:700}
.public-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px 0}
.public-choice{display:flex;flex-direction:column;text-align:left;gap:9px;cursor:pointer;background:#fffef9;color:#080806;border:2px solid #080806;padding:20px;font:inherit;min-height:145px}
.public-choice span,.public-choice small{font:800 12px ui-monospace,monospace;text-transform:uppercase}
.public-choice strong{font-size:1.25rem;line-height:1.25}
.public-choice[aria-pressed=true]{background:#f6df00;box-shadow:5px 5px 0 #080806}
.public-choice:focus-visible,.public-page a:focus-visible{outline:3px solid #9c8000;outline-offset:3px}
.public-stage{border:1px solid #817c70;padding:20px;margin:30px 0;display:flex;flex-wrap:wrap;gap:14px}
.public-stage legend{font-weight:800;padding:0 8px}
.public-stage p{width:100%;margin:0;color:#5b574d;font-size:.92rem}
.public-stage label{display:inline-flex;gap:6px;align-items:center}
.public-result{background:#fffef9;border:2px solid #080806;padding:26px;margin:30px 0}
.public-result h2{font-size:clamp(1.7rem,3vw,2.6rem)}
.public-result a{color:#080806;font-weight:800}
.public-state{display:inline-block;padding:7px 10px;background:#eee9d8;font-weight:700}
.research-host{background:#eeece5;color:#080806;min-height:70vh;padding:12px 0 40px}
.research-host>.public-wrap{padding:60px 0}
@media(max-width:900px){.public-grid--four,.public-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.public-split{grid-template-columns:1fr;gap:16px}}
@media(max-width:620px){.public-wrap{width:calc(100% - 32px)}.public-hero{padding:52px 0 58px}.public-section{padding:58px 0}.public-grid--four,.public-grid--three,.public-choice-grid{grid-template-columns:1fr}.public-choice{min-height:120px}.public-stage{display:grid}.public-actions .public-button{width:100%;justify-content:center}}
