:root{--bg:#16110d;--bg2:#211912;--card:#2a2018;--line:#3d2f23;--ink:#f3e9dd;--muted:#b9a894;--copper:#c8763b;--copper2:#e3a36b;--ok:#7fc77a;--warn:#ffb454;--r:12px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.55 'Source Sans 3',system-ui,sans-serif}
a{color:var(--copper2)}h1,h2,h3{font-family:Oswald,Impact,sans-serif;line-height:1.1;letter-spacing:.3px;margin:.2em 0 .5em}
h1{font-size:clamp(34px,8vw,56px);text-transform:uppercase}h2{font-size:28px;margin-top:1.6em;color:var(--copper2);text-transform:uppercase}h3{font-size:22px}
main{min-height:70vh}.wrap{max-width:860px;margin:0 auto;padding:24px 16px}.narrow{max-width:560px}.center{text-align:center}
.muted{color:var(--muted)}.tiny{font-size:14px}.lead{font-size:21px}.ok{color:var(--ok);font-weight:700}.warn{color:var(--warn)}
.top{position:sticky;top:0;z-index:9;background:rgba(22,17,13,.96);border-bottom:2px solid var(--copper);display:flex;align-items:center;justify-content:space-between;padding:10px 16px;flex-wrap:wrap}
.brand{font-family:Oswald,sans-serif;font-size:21px;color:var(--ink);text-decoration:none;text-transform:uppercase;display:flex;align-items:center;gap:8px}.brand b{color:var(--copper2)}
.rolls{display:inline-flex}.rolls i{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--copper2),var(--copper) 60%,#7a4220);display:block;margin-right:-4px;border:2px solid var(--bg)}
.burger{font-size:30px;cursor:pointer;padding:0 6px;display:none}
nav{display:flex;gap:4px 16px;flex-wrap:wrap;align-items:center}nav a{color:var(--ink);text-decoration:none;font-weight:600;padding:6px 0}nav a:hover{color:var(--copper2)}
@media(max-width:820px){.burger{display:block}nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding:8px 0}nav a{padding:12px 4px;border-bottom:1px solid var(--line);font-size:20px}#nav:checked~nav{display:flex}nav .btn{margin-top:10px;text-align:center}}
.btn{display:inline-block;background:var(--copper);color:#1a0f07;font-weight:700;text-decoration:none;border:0;border-radius:var(--r);padding:12px 20px;font-size:18px;cursor:pointer;font-family:inherit;margin:4px 6px 4px 0;min-height:48px;line-height:24px}
.btn:hover{background:var(--copper2)}.btn.big{font-size:22px;padding:16px 28px;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.5px}
.btn.small{font-size:16px;padding:8px 14px;min-height:40px}.btn.ghost{background:transparent;color:var(--copper2);border:2px solid var(--copper)}
.hero{text-align:center;padding:56px 16px 40px;background:radial-gradient(ellipse at top,#3a2414 0%,var(--bg) 70%);border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(42px,11vw,84px);margin:.1em 0}.hero .sub{font-size:clamp(22px,5vw,30px);color:var(--copper2);font-weight:700;margin:0 0 24px}
.kicker{text-transform:uppercase;letter-spacing:3px;color:var(--muted);font-weight:700;margin:0}.when{margin-top:18px;color:var(--muted)}
.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:24px 0}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:12px 0;color:var(--ink);text-decoration:none;position:relative}
a.card:hover{border-color:var(--copper)}.card h3{color:var(--copper2)}
.jobs{list-style:none;padding:0}.jobs li{background:var(--card);border-left:5px solid var(--copper);border-radius:8px;padding:14px;margin:10px 0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.jobs li b{flex:1 1 100%;font-size:20px}
.pill{background:var(--copper);color:#1a0f07;border-radius:99px;padding:2px 10px;font-weight:700;font-size:15px}
.tag{display:inline-block;background:var(--bg2);border:1px solid var(--line);border-radius:99px;padding:2px 10px;font-size:14px;margin:2px 4px 2px 0}
.skills{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}
.skills li{background:var(--bg2);border-radius:8px;padding:10px 12px}.skills b{display:block;color:var(--copper2)}.skills span{color:var(--muted);font-size:16px}
.bigday{text-align:center;background:var(--card);border:2px solid var(--copper);border-radius:var(--r);padding:20px;margin:16px 0}
.bigday b{display:block;font-family:Oswald,sans-serif;font-size:56px;text-transform:uppercase;color:var(--copper2)}.bigday span{font-size:22px}
.steps li{margin:8px 0;font-size:20px}.perks{list-style:none;padding:0}.perks li{font-size:24px;padding:12px 0 12px 44px;border-bottom:1px solid var(--line);position:relative}
.perks li:before{content:"";position:absolute;left:4px;top:18px;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--copper2),var(--copper) 60%,#7a4220)}
.callout{background:#3a2414;border-radius:var(--r);padding:16px;margin:20px 0}
.form label{display:block;margin:14px 0;font-weight:600}
.form input:not([type=checkbox]),.form textarea,.form select,select,input[type=date]{display:block;width:100%;margin-top:6px;background:#0f0b08;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:18px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--copper);border-color:var(--copper)}
fieldset{border:1px solid var(--line);border-radius:var(--r);padding:12px;margin:18px 0}legend{font-family:Oswald,sans-serif;font-size:20px;padding:0 6px;color:var(--copper2)}
label.check{display:flex;gap:12px;align-items:flex-start;margin:10px 0;font-weight:400;cursor:pointer}
label.check input{width:26px;height:26px;flex:0 0 26px;accent-color:var(--copper);margin-top:2px}
label.check small{display:block;color:var(--muted);font-size:15px}
.skillrow{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.skillrow .check{flex:1}.skillrow .yrs{width:84px;margin:6px 0;font-size:14px;font-weight:400}.skillrow .yrs input{padding:8px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 10px}
@media(max-width:420px){.grid2{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.flash{max-width:860px;margin:12px auto 0;padding:0 16px}.flash p{background:#2c3a22;border-radius:10px;padding:10px 14px;margin:6px 0}.flash.err p{background:#4a1f17}
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.wall figure{margin:0;background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}.wall figure.approved{border-color:var(--ok)}
.wall img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.wall figcaption{padding:8px 10px}.wall figcaption span,.wall figcaption em{display:block;color:var(--muted);font-size:15px}
.specs{background:var(--card);border-radius:var(--r);padding:8px 16px;border-left:5px solid var(--copper)}.specs p{margin:10px 0}
.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.files figure{margin:0}.files img{width:100%;border-radius:var(--r)}
.filelink small{display:block;color:var(--muted)}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:700px){.tiles{grid-template-columns:repeat(4,1fr)}}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;text-decoration:none;color:var(--muted);text-align:center}
.tile b{display:block;font-family:Oswald,sans-serif;font-size:40px;color:var(--ink)}.tile.hot{border-color:var(--copper);background:#3a2414}.tile.hot b{color:var(--copper2)}
.row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.avatar{float:right;width:72px;height:72px;border-radius:50%;object-fit:cover;margin-left:10px}
.bigphoto{max-width:100%;border-radius:var(--r)}.details{white-space:pre-wrap;background:var(--bg2);border-radius:8px;padding:8px 10px}
.checkin.in{border-color:var(--ok)}.job.closed{opacity:.55}.rsvp{border:2px solid var(--copper)}
.tbl{width:100%;border-collapse:collapse;font-size:16px}.tbl td,.tbl th{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left}
details summary{cursor:pointer;font-weight:700;padding:8px 0;color:var(--copper2)}
.foot{border-top:1px solid var(--line);padding:24px 16px 40px;text-align:center;color:var(--muted);font-size:16px}.foot p{margin:4px 0}
.hero{padding-top:28px}.home3d{max-width:900px;margin:18px auto 6px;text-align:left}.home3d .stage{height:min(52vh,520px);min-height:300px;border:1px solid var(--line)}
.home3d .ctrls{justify-content:center}
/* Uncle Sam recruiting poster hero */
.poster-wrap{padding:18px 12px 8px;background:radial-gradient(ellipse at top,#3a2414 0%,var(--bg) 70%)}
.poster{max-width:560px;margin:0 auto;background:#e8d8c4;color:#1f2a5a;text-align:center;padding:18px 18px 22px;
  border:6px solid #b8262b;outline:6px solid #e8d8c4;box-shadow:0 0 0 12px #1f2a5a,0 18px 40px rgba(0,0,0,.6);margin-top:12px;margin-bottom:22px}
.poster .sam{display:block;width:min(78%,340px);height:auto;margin:0 auto;mix-blend-mode:multiply}
.poster .wny{font-family:'Alfa Slab One',Oswald,Impact,serif;font-weight:400;color:#b8262b;font-size:clamp(52px,15vw,104px);line-height:.95;
  margin:6px 0 4px;letter-spacing:1px;text-transform:uppercase;-webkit-text-stroke:2px #1f2a5a;paint-order:stroke fill}
.poster .for{font-family:Oswald,Impact,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(22px,5.6vw,34px);line-height:1.1;margin:0 0 10px;color:#1f2a5a}
.poster .orders{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(17px,4.2vw,22px);letter-spacing:.5px;border-top:3px solid #1f2a5a;border-bottom:3px solid #1f2a5a;padding:8px 0;margin:8px 0 14px;color:#1f2a5a}
.poster .enlist{background:#b8262b;color:#fff;border:3px solid #1f2a5a}.poster .enlist:hover{background:#1f2a5a}
.poster .station{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:15px;letter-spacing:1px;margin:12px 0 0;color:#1f2a5a}
.hero3d{padding-top:20px}.hero3d h2{margin-top:0}
.topgrid{max-width:1180px;margin:0 auto}.hero3d{text-align:center;padding:10px 4px 20px}.hero3d .home3d{margin-top:8px}
@media(min-width:960px){.topgrid{display:grid;grid-template-columns:minmax(380px,460px) 1fr;gap:34px;align-items:start}
 .poster{margin-top:12px}.poster .wny{font-size:84px}.hero3d{padding-top:14px}.hero3d .home3d .stage{height:min(66vh,640px)}}
