:root { --red:#ED2127; --ink:#111; --muted:#555; --line:#e5e5e5; --bg:#fff; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font:18px/1.65 'Roboto', Arial, sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--ink); }
.draftbar { background:var(--red); color:#fff; text-align:center; font-size:14px; padding:6px 12px; }
.top { display:flex; justify-content:space-between; align-items:center; padding:18px 24px; border-bottom:4px solid var(--ink); }
.logo { display:block; line-height:0; } .logo img { width:96px; height:96px; }
.top { gap:24px; } .nav { display:flex; align-items:center; gap:22px; margin-left:auto; } .nav a { font-family:'Barlow Condensed', sans-serif; font-size:20px; letter-spacing:1px; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px; }
.call { white-space:nowrap; font-family:'Barlow Condensed', sans-serif; font-size:20px; letter-spacing:1px; text-decoration:none; }
main { max-width:720px; margin:0 auto; padding:0 24px 48px; }
.kicker { font-family:'Barlow Condensed', sans-serif; text-transform:uppercase; letter-spacing:3px; color:var(--muted); font-size:17px; margin:40px 0 8px; }
h1 { font-family:'Noto Serif Display', Georgia, serif; font-weight:400; font-size:clamp(30px, 6vw, 56px); line-height:1.1; margin:0 0 18px; overflow-wrap:break-word; }
h2 { font-family:'Noto Serif Display', Georgia, serif; font-weight:500; font-size:30px; line-height:1.2; margin:44px 0 12px; }
h3 { font-family:'Barlow Condensed', sans-serif; font-weight:600; font-size:23px; letter-spacing:.5px; margin:30px 0 6px; }
p, li { max-width:65ch; }
ul, ol { padding-left:1.3em; }
li { margin:6px 0; }
.lede { font-size:21px; }
.promise { font-weight:500; border-left:4px solid var(--ink); padding-left:14px; }
.about { border-top:1px solid var(--line); margin-top:28px; padding-top:20px; overflow:hidden; }
.headshot { float:left; width:160px; height:auto; margin:6px 22px 8px 0; }
.cta { border:2px solid var(--ink); padding:24px 26px; margin:40px 0; }
.cta h2 { margin-top:0; }
.button { display:inline-block; background:var(--red); color:#fff; text-decoration:none; font-family:'Barlow Condensed', sans-serif; font-weight:600; font-size:22px; letter-spacing:1.5px; text-transform:uppercase; padding:14px 26px; min-height:48px; }
.button:hover, .button:focus { background:#c0141a; }
.small { font-size:15px; color:var(--muted); }
.posts ul { list-style:none; padding:0; }
.posts li a { display:block; padding:20px 22px; margin:0 0 16px; border:2px solid var(--ink); text-decoration:none; }
.posts li a:hover, .posts li a:focus { background:#f6f6f6; }
.pmore { display:inline-block; margin-top:10px; font-family:'Barlow Condensed', sans-serif; font-weight:600; font-size:19px; letter-spacing:1px; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px; }
.ptitle { display:block; font-family:'Noto Serif Display', Georgia, serif; font-size:24px; }
.pdesc { display:block; color:var(--muted); font-size:16px; }
.vgroup { margin-top:52px; }
.video h3 { font-family:'Noto Serif Display', Georgia, serif; font-weight:500; font-size:24px; letter-spacing:0; }
.video { margin:28px 0; padding-top:8px; border-top:1px solid var(--line); }
.frame { position:relative; width:100%; background:#000; margin:12px 0; }
.frame.wide { aspect-ratio:16/9; }
.frame.tall { aspect-ratio:9/16; max-width:260px; }
.frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.formbox { margin:24px 0 8px; }
mark.open { background:#fff4c2; color:#5a4500; padding:0 3px; }
.signoff { font-weight:500; margin-top:28px; }
footer { border-top:4px solid var(--ink); padding:24px; font-size:14px; color:var(--muted); line-height:1.6; }
footer p { max-width:900px; margin:4px auto; }
footer a { color:var(--muted); }
.eho { display:flex; align-items:center; gap:8px; }
@media (max-width:600px) { body { font-size:17px; } .top { padding:14px 16px; } main { padding:0 16px 40px; } .logo img { width:80px; height:80px; } .headshot { width:120px; margin-right:16px; } .kicker { font-size:15px; letter-spacing:2px; } .call { font-size:17px; } .top { flex-wrap:wrap; row-gap:12px; } .nav { order:3; width:100%; margin-left:0; gap:16px; flex-wrap:wrap; row-gap:6px; } .nav a { font-size:17px; } .button { display:block; text-align:center; } }
