@font-face{font-family:Oswald;src:url(Oswald.ttf);font-weight:200 700;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(IBMPlexMono-Medium.ttf);font-weight:400 500;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(IBMPlexMono-Bold.ttf);font-weight:700;font-display:swap}
:root{--hv:#FFE600;--ink:#101010;--paper:#FFF7E0;--red:#E4261B;--grey:#2a2a2a;--ok:#1c7a3a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:#fff;font:17px/1.5 "Barlow","Inter",system-ui,sans-serif}
a{color:inherit}
.c{max-width:1120px;margin:0 auto;padding:0 18px}
h1,h2,h3,.cond{font-family:Oswald,Impact,"Arial Narrow",sans-serif;text-transform:uppercase;line-height:1;margin:0;font-weight:700;letter-spacing:.005em}
.mono{font-family:"Plex Mono",ui-monospace,Menlo,monospace}
/* top bar */
.hazard{height:14px;background:repeating-linear-gradient(-45deg,var(--hv) 0 18px,var(--ink) 18px 36px)}
.preview{background:var(--red);color:#fff;font:700 12px/1.3 "Plex Mono",monospace;text-align:center;padding:6px 10px;text-transform:uppercase}
nav{display:flex;justify-content:space-between;align-items:center;padding:14px 0;gap:12px;flex-wrap:wrap}
.logo{font:700 26px/1 Oswald,Impact,sans-serif;text-transform:uppercase;text-decoration:none}
.logo b{background:var(--hv);color:var(--ink);padding:0 6px;margin-right:2px}
nav .links{display:flex;gap:16px;font:600 15px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em}
nav .links a{text-decoration:none;border-bottom:2px solid transparent}
nav .links a:hover{border-color:var(--hv)}
.btn{display:inline-block;background:var(--hv);color:var(--ink);font:700 20px/1 Oswald,Impact,sans-serif;text-transform:uppercase;letter-spacing:.03em;padding:15px 22px;text-decoration:none;border:0;cursor:pointer;box-shadow:5px 5px 0 #fff}
.btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 #fff}
.btn.dark{background:var(--ink);color:var(--hv);box-shadow:5px 5px 0 var(--hv)}
.ghost{font:600 16px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em}
/* hero */
.hero{padding:26px 0 46px;display:grid;gap:34px}
h1{line-height:1.05}
.hero h1{font-size:clamp(52px,16vw,128px);line-height:1.04}
.hero h1 span{background:var(--hv);color:var(--ink);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero .sub{font:700 clamp(26px,7vw,44px)/1 Oswald,sans-serif;text-transform:uppercase;color:var(--hv);margin:18px 0 14px}
.hero p.lead{font-size:19px;max-width:34em;margin:0 0 22px}
.hero .cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.price-flag{display:inline-block;background:#fff;color:var(--ink);font:700 12px "Plex Mono",monospace;padding:3px 7px;text-transform:uppercase;transform:rotate(-2deg)}
/* phone */
.phone{width:min(100%,340px);margin:0 auto;background:#000;border:10px solid #3b3b3b;border-radius:38px;box-shadow:0 0 0 3px #000,12px 12px 0 var(--hv);overflow:hidden;position:relative}
.phone .notch{height:22px;background:#000;position:relative}
.phone .notch:after{content:"";position:absolute;left:50%;top:6px;width:80px;height:10px;margin-left:-40px;background:#222;border-radius:9px}
.phone .screen{background:#ece8dc;color:var(--ink);max-height:1050px;overflow:hidden;position:relative}
.phone.full .screen{max-height:none}
.phone .screen:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,#ece8dc)}
.phone.full .screen:after{display:none}
.mailbar{background:#fff;padding:10px 12px;border-bottom:1px solid #ccc;font:13px/1.35 system-ui,sans-serif}
.mailbar b{display:block;font-size:14px}
.mailbar small{color:#666}
.mbody{padding:12px}
.mhead{background:var(--ink);color:var(--hv);padding:12px;margin:-12px -12px 12px}
.mhead h3{font-size:30px;color:var(--hv)}
.mhead p{margin:4px 0 0;font:500 12px "Plex Mono",monospace;color:#fff;text-transform:none}
.sec{font:700 18px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:5px 8px;margin:14px 0 8px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.sec.new{background:var(--hv);color:var(--ink)}
.sec.old{background:var(--ink);color:#fff}
.sec small{font:700 10px "Plex Mono",monospace;letter-spacing:0}
.tk{background:var(--paper);border:1px solid #cfc7a8;padding:10px 10px 10px 12px;margin:0 0 10px;font:500 12.5px/1.45 "Plex Mono",monospace;position:relative;color:var(--ink);border-left:6px solid var(--ink)}
.new-t .tk,.tk.n{border-left-color:var(--red)}
.tk:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:radial-gradient(circle at 6px 0,transparent 5px,var(--paper) 5.5px) 0 0/12px 6px repeat-x;filter:drop-shadow(0 1px 0 #cfc7a8)}
.tk .nm{font:700 20px/1.05 Oswald,sans-serif;text-transform:uppercase;display:block;margin-bottom:4px;word-break:break-word}
.tk .nm.w{color:#777;font-style:italic;text-transform:none;font-weight:500;font-size:16px}
.tk .row{display:flex;flex-wrap:wrap;gap:4px 10px}
.chip{display:inline-block;background:var(--ink);color:#fff;padding:0 5px;font-size:11px;text-transform:uppercase}
.chip.y{background:var(--hv);color:var(--ink);outline:1px solid var(--ink)}
.chip.r{background:var(--red)}
.chip.g{background:var(--ok)}
.tk a{font-weight:700}
.stamp{position:absolute;right:8px;bottom:12px;border:2px solid var(--red);color:var(--red);font:700 10px "Plex Mono",monospace;padding:1px 4px;transform:rotate(6deg);text-transform:uppercase;background:rgba(255,247,224,.8)}
.foot{font:11px/1.45 system-ui,sans-serif;color:#444;border-top:2px dashed #999;margin-top:14px;padding-top:10px}
.cap{font:500 12px "Plex Mono",monospace;color:#bbb;text-align:center;margin-top:16px}
/* sections */
section{padding:46px 0}
section.y{background:var(--hv);color:var(--ink)}
section.p{background:var(--paper);color:var(--ink)}
.h2{font-size:clamp(40px,10vw,84px);margin-bottom:22px}
.steps{display:grid;gap:16px;counter-reset:s}
.step{border:3px solid var(--ink);background:#fff;padding:18px 18px 18px 76px;position:relative;box-shadow:6px 6px 0 var(--ink);color:var(--ink)}
.step:before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;bottom:0;width:58px;background:var(--ink);color:var(--hv);font:700 46px/1 Oswald,sans-serif;display:flex;align-items:center;justify-content:center}
.step h3{font-size:28px;margin-bottom:6px}
.step p{margin:0}
.cards{display:grid;gap:14px;grid-template-columns:1fr}
.card{border:2px solid #fff;padding:16px}
.card h3{font-size:26px;color:var(--hv);margin-bottom:6px}
.card p{margin:0}
.price{display:grid;gap:20px;align-items:center}
.bigprice{background:var(--ink);color:#fff;padding:26px 22px;position:relative;box-shadow:8px 8px 0 var(--red)}
.bigprice .n{font:700 clamp(84px,24vw,150px)/.85 Oswald,sans-serif;color:var(--hv)}
.bigprice .n small{font-size:.28em;color:#fff;display:block;margin-top:10px}
.bigprice ul{padding-left:18px;margin:16px 0 0}
.flag{position:absolute;top:-14px;right:10px;background:var(--red);color:#fff;font:700 12px "Plex Mono",monospace;padding:5px 8px;transform:rotate(3deg);text-transform:uppercase}
details{border-top:3px solid var(--ink);padding:14px 0}
details:last-child{border-bottom:3px solid var(--ink)}
summary{font:700 24px/1.1 Oswald,sans-serif;text-transform:uppercase;cursor:pointer;list-style:none;padding-right:30px;position:relative}
summary::after{content:"+";position:absolute;right:0;top:0}
details[open] summary::after{content:"–"}
details p{margin:10px 0 0;max-width:42em}
form.signup{background:#fff;color:var(--ink);padding:20px;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);display:grid;gap:14px}
label{font:700 15px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:4px}
input[type=email],input[type=text],select{width:100%;font:17px "Barlow",sans-serif;padding:12px;border:2px solid var(--ink);background:var(--paper)}
fieldset{border:2px solid var(--ink);padding:10px;margin:0}
legend{font:700 15px Oswald,sans-serif;text-transform:uppercase;padding:0 6px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:15px}
.checks label{font:500 15px "Barlow",sans-serif;text-transform:none;letter-spacing:0;margin:0}
.note{font:500 12px/1.4 "Plex Mono",monospace;background:var(--ink);color:var(--hv);padding:8px 10px}
.small{font-size:14px;opacity:.85}
.tbl{width:100%;border-collapse:collapse;font:500 13px/1.4 "Plex Mono",monospace;background:var(--paper);color:var(--ink)}
.tbl th{background:var(--ink);color:var(--hv);font:700 14px Oswald,sans-serif;text-transform:uppercase;text-align:left;padding:8px}
.tbl td{padding:8px;border-bottom:1px dashed #b8b090;vertical-align:top}
.tblwrap{overflow-x:auto}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.stat{background:var(--ink);color:#fff;padding:14px;border-left:8px solid var(--hv)}
.stat b{font:700 44px/1 Oswald,sans-serif;color:var(--hv);display:block}
.stat span{font:500 12px "Plex Mono",monospace}
.stat.red{border-left-color:var(--red)}
.thin{background:#fff;color:var(--ink);border:3px dashed var(--red);padding:12px;font:500 13px/1.45 "Plex Mono",monospace;margin:20px 0}
.crumb{font:500 12px "Plex Mono",monospace;color:#bbb;padding:6px 0}
footer{background:#000;border-top:14px solid var(--hv);padding:30px 0 40px;font-size:14px;color:#ccc}
footer .ogl{font:500 12px/1.5 "Plex Mono",monospace;color:#fff}
footer a{color:var(--hv)}
@media(min-width:760px){
 body{font-size:18px}
 .hero{grid-template-columns:1.25fr .75fr;align-items:center;padding-top:44px}
 .cards{grid-template-columns:repeat(3,1fr)}
 .steps{grid-template-columns:repeat(3,1fr)}
 .step{padding:84px 18px 18px}
 .step:before{right:0;bottom:auto;width:auto;height:64px;justify-content:flex-start;padding-left:18px}
 .price{grid-template-columns:1fr 1fr}
 .stats{grid-template-columns:repeat(4,1fr)}
 .two{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
}

/* DRAFT legal pages (structure from ContractSpotter terms/privacy) */
.legal{max-width:760px;padding:30px 0 60px;line-height:1.55}
.legal h1{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:clamp(36px,9vw,64px);margin:10px 0}
.legal h2{font-family:Oswald,sans-serif;text-transform:uppercase;margin:28px 0 8px}
.legal .meta{font:500 12px 'Plex Mono',monospace;color:#555}
.legal .card{border:2px solid #111;padding:12px 14px;margin:14px 0}
.legal .toc{padding-left:18px}
.legal code.ph{background:#FFE600;padding:0 4px}
.draft-banner{background:#d00;color:#fff;padding:10px 12px;font-weight:600}
/* v1 functional additions (NFL Brand will restyle) */
main{padding:18px 0 40px}main h1{font-size:clamp(34px,8vw,64px);margin-bottom:14px}
form.join{background:var(--paper);color:var(--ink);padding:18px;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--hv);max-width:640px}
form.join label{display:block;font-weight:700;margin:12px 0 4px}form.join select,form.join input[type=email]{width:100%;font:inherit;padding:10px;border:2px solid var(--ink);background:#fff}
form.join fieldset{border:2px solid var(--ink);margin:12px 0;padding:8px 12px}form.join .opt{display:block;font-weight:400;margin:4px 0}
form.join .hp{position:absolute;left:-9999px}#join-msg{margin-top:10px;font-weight:700}.small{font-size:14px}.legal{background:#fff;color:#111;padding:18px;max-width:46em}.legal h2{font-size:24px;margin:22px 0 6px;color:#111}.legal table{border-collapse:collapse;width:100%}.legal td,.legal th{border:1px solid #bbb;padding:6px;text-align:left;vertical-align:top;font-size:15px}
