:root{--red:#c8102e;--dark:#111;--ink:#222;--mut:#666;--bg:#f5f5f5}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;height:auto;display:block}a{color:var(--red)}
.wrap{max-width:1140px;margin:0 auto;padding:0 16px}
.topbar{background:#000;color:#bbb;font-size:13px;padding:4px 0;display:none}.topbar a{color:#fff;text-decoration:none}
header.site{position:sticky;top:0;z-index:50;background:var(--dark);border-bottom:4px solid var(--red)}
.hdr{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{text-decoration:none;color:#fff;display:flex;flex-direction:column;line-height:1;margin-right:auto}
.logo{font:900 30px/1 Georgia,serif;color:var(--red);letter-spacing:1px;text-shadow:1px 1px 0 #fff3}
.tag{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#ddd;margin-top:3px}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-weight:700;padding:10px 16px;border-radius:6px;border:2px solid var(--red)}
.btn:hover{background:#a00d25}.btn.ghost{background:transparent;color:var(--red)}.btn.ghost.light{color:#fff;border-color:#fff}
.call span{display:none}
.menu summary{list-style:none;color:#fff;cursor:pointer;padding:8px 10px;border:1px solid #555;border-radius:6px}.menu summary::-webkit-details-marker{display:none}
.menu ul{position:absolute;left:0;right:0;top:100%;background:var(--dark);margin:0;padding:8px 16px;list-style:none;border-bottom:4px solid var(--red)}
.menu li a,.desk a{display:block;color:#fff;text-decoration:none;padding:10px 4px;border-bottom:1px solid #333}
[aria-current]{color:var(--red)!important}
nav.desk{display:none}
.hero{background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.72)),url(images/rightcol-home.gif) center/cover;color:#fff;padding:48px 0}
.eyebrow{color:#ff5a6e;text-transform:uppercase;letter-spacing:2px;font-weight:700;margin:0}
.hero h1{font-size:30px;line-height:1.2;margin:8px 0 12px}.lead{font-size:18px}.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.cards{display:grid;gap:16px;margin-top:-24px;position:relative}
.card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #0002;text-decoration:none;color:var(--ink);border-top:5px solid var(--red)}
.card img{width:100%;height:170px;object-fit:cover}.card h2,.card p,.card .more{margin:10px 16px}.card .more{display:block;color:var(--red);font-weight:700;margin-bottom:16px}
.split{display:grid;gap:24px;margin:32px auto}.pics{display:grid;gap:10px}.pics.row{grid-template-columns:1fr 1fr;margin:16px 0}.pics img{border-radius:8px;width:100%;object-fit:cover}
.hoursband{background:var(--dark);color:#fff;border-radius:10px;padding:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.hoursband h2{margin:0;color:var(--red)}.hoursband p{margin:4px 0}
.partners{text-align:center;margin:40px 0}.partners h2{font-size:18px}.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;align-items:center;margin:16px 0}
.page{padding-top:24px;padding-bottom:24px}.page h1{border-left:6px solid var(--red);padding-left:12px}
.chips span{display:inline-block;background:var(--bg);border:1px solid #ddd;border-radius:20px;padding:4px 12px;margin:4px}
.ticks li{margin-bottom:8px}.note{background:#fff4f5;border-left:4px solid var(--red);padding:10px 14px}
details.rent{border:1px solid #ddd;border-radius:8px;margin:8px 0;background:#fff}details.rent summary{cursor:pointer;padding:14px 16px;font-weight:700;background:var(--bg);border-radius:8px}details.rent[open] summary{background:var(--dark);color:#fff}details.rent small{font-weight:400;opacity:.7}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:8px;border-bottom:1px solid #eee;text-align:left}th{background:var(--red);color:#fff}tr:nth-child(even) td{background:#fafafa}
.brands{columns:1;column-gap:24px}.bcol{break-inside:avoid;margin-bottom:16px}.bcol h3{color:var(--red);border-bottom:2px solid var(--red);margin:0 0 6px}.bcol ul{margin:0;padding-left:18px}
.callout{background:var(--dark);color:#fff;border-radius:10px;padding:24px;text-align:center}.callout .cta{justify-content:center}.small{font-size:14px;opacity:.8}
.map{width:100%;height:320px;border:0;border-radius:8px}.wide{width:100%;border-radius:8px}
footer{background:var(--dark);color:#ccc;margin-top:40px;padding:24px 0;border-top:4px solid var(--red)}footer a{color:#fff}footer h3{color:var(--red);margin-bottom:4px}
.motto{text-align:center;font-weight:700;color:#fff;letter-spacing:1px}.fgrid{display:grid;gap:8px}.copy{text-align:center;font-size:13px;opacity:.7}
@media(min-width:600px){.cards{grid-template-columns:repeat(3,1fr)}.brands{columns:2}.fgrid{grid-template-columns:repeat(3,1fr)}.call span{display:inline}}
@media(min-width:900px){.topbar{display:block}.menu{display:none}nav.desk{display:block;width:100%}nav.desk ul{display:flex;list-style:none;margin:0;padding:0;gap:4px;flex-wrap:wrap}nav.desk a{border:0;padding:6px 10px;font-weight:600}nav.desk a:hover{color:var(--red)}
.hero{padding:80px 0 72px}.hero h1{font-size:44px;max-width:800px}.split{grid-template-columns:2fr 1fr}.brands{columns:3}}
html{scroll-behavior:smooth}
.brand img{height:52px;width:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:99;background:#fff;padding:8px}
.hero{position:relative;background:linear-gradient(100deg,rgba(0,0,0,.85),rgba(0,0,0,.55)),url(images/rightcol-home.gif) center 30%/cover}
.badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:86px;height:86px;border-radius:50%;background:var(--red);color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:1px;box-shadow:0 0 0 4px #fff3}.badge b{font-size:28px;line-height:1}
.eyebrow{color:#fff;opacity:.9;text-transform:none;letter-spacing:.5px;font-size:18px}
.ic{width:26px;height:26px;color:var(--red);vertical-align:-5px}
.card{transition:transform .25s,box-shadow .25s}.card:hover,.card:focus-visible{transform:translateY(-4px);box-shadow:0 10px 28px #0003}
.card img{transition:transform .4s}.card:hover img{transform:scale(1.04)}.card{isolation:isolate}
.btn{transition:background .2s,transform .2s}.btn:hover{transform:translateY(-1px)}
.logos img{filter:grayscale(1);opacity:.75;transition:.25s}.logos a:hover img{filter:none;opacity:1}
.chipgrid{columns:auto}.chipgrid .bcol ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chipgrid .bcol li{background:var(--bg);border:1px solid #ddd;border-radius:20px;padding:4px 12px;font-size:14px;transition:.2s}.chipgrid .bcol li:hover{border-color:var(--red);color:var(--red)}
.chipgrid .bcol{margin-bottom:20px}
.js-anim .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.js-anim .reveal.in{opacity:1;transform:none}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--red);color:#fff;text-align:center;font-weight:700;padding:14px;text-decoration:none;box-shadow:0 -2px 10px #0004}
body{padding-bottom:52px}
#totop{position:fixed;right:16px;bottom:70px;width:44px;height:44px;border-radius:50%;border:0;background:#111;color:#fff;font-size:20px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s;z-index:61}#totop.show{opacity:.9;pointer-events:auto}
.desk-call{display:none}
.cards{grid-template-columns:1fr}
@media(min-width:600px){.cards{grid-template-columns:repeat(2,1fr)}.desk-call{display:inline-block}}
@media(min-width:900px){.callbar{display:none}body{padding-bottom:0}#totop{bottom:20px}.cards{grid-template-columns:repeat(4,1fr)}.split .pics{grid-template-columns:1fr}.hero .badge{position:absolute;right:16px;top:40px;width:120px;height:120px;font-size:14px}.hero .badge b{font-size:40px}.hero .wrap{position:relative}}
:focus-visible{outline:3px solid #ff5a6e;outline-offset:2px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(min-width:900px){.hero .lead,.hero h1,.hero .eyebrow{max-width:calc(100% - 150px)}}


.brand{display:flex;flex-direction:row;align-items:center;gap:10px}
.brand .jacks{width:56px;height:56px;flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
@media(max-width:600px){.brand .jacks{width:44px;height:44px}}

/* ===== Black · Red · Gold theme ===== */
:root{--gold:#c9a227;--gold-lt:#e6c766;--gold-grad:linear-gradient(90deg,#8f6f12,#e6c766 30%,#c9a227 55%,#f3dc8a 75%,#8f6f12)}
header.site{border-bottom:0;box-shadow:0 2px 0 0 var(--red)}
header.site::after{content:"";display:block;height:3px;background:var(--gold-grad)}
.topbar{border-bottom:1px solid #3a2f0c}
.brand .jacks{filter:drop-shadow(0 0 3px rgba(201,162,39,.45))}
.btn{border-color:var(--gold)}
.btn:hover{border-color:var(--gold-lt);box-shadow:0 0 0 2px rgba(201,162,39,.25)}
.btn.ghost{border-color:var(--gold);color:var(--red)}
.btn.ghost.light{border-color:var(--gold-lt);color:#fff}
main h1{position:relative;padding-bottom:8px}
main h1::after{content:"";position:absolute;left:0;bottom:0;width:90px;height:3px;background:var(--gold-grad);border-radius:2px}
.card{border-top:3px solid var(--gold)}
.hoursband{border:1px solid var(--gold)}
.hoursband h2,footer h3{color:var(--gold-lt)}
footer{border-top:0;position:relative}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold-grad)}
footer::after{content:"";position:absolute;left:0;right:0;top:3px;height:2px;background:var(--red)}
footer a:hover{color:var(--gold-lt)}
.chips span{border:1px solid rgba(201,162,39,.55)}
/* Chicago skyline (original drawing) */
footer{margin-top:110px}
footer .skyline{position:absolute;left:0;right:0;bottom:100%;height:96px;background:url(images/chicago-skyline.svg) center bottom/auto 96px repeat-x;opacity:.9;pointer-events:none}
.hero{position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:url(images/chicago-skyline.svg) center bottom/auto 70px repeat-x;opacity:.22;pointer-events:none}
.badge{background:radial-gradient(circle at 35% 30%,#2a2a2a,#000 70%);color:#fff;border:3px solid #C8102E;box-shadow:0 0 0 3px #d4af37,0 0 0 5px #8a6d1f,0 4px 14px rgba(0,0,0,.5)}.badge b{background:linear-gradient(180deg,#f7e08a,#d4af37 50%,#9c7a1e);-webkit-background-clip:text;background-clip:text;color:transparent}
/* skyline pop */
footer{margin-top:180px}
footer .skyline{height:160px;background:url(images/chicago-skyline.svg?v=c) center bottom/auto 160px no-repeat;opacity:1}
@media(max-width:700px){footer{margin-top:120px}footer .skyline{height:100px;background-size:auto 100px}}
.hero::after{display:none!important}
.topsky{height:150px;background:#111 url(images/skyline-top.svg?v=w) center bottom/auto 100% no-repeat;border-bottom:3px solid #d4af37}@media(max-width:700px){.topsky{height:90px}}

/* ===== Dark theme (matches sunset skyline) ===== */
:root{--ink:#eee;--mut:#bbb;--bg:#1f1f1f;--page:#151515}
body{background:var(--page);color:var(--ink)}
main{background:radial-gradient(1200px 500px at 50% 0,rgba(200,16,46,.10),transparent 70%),radial-gradient(900px 400px at 85% 40%,rgba(201,162,39,.06),transparent 70%)}
a{color:var(--gold-lt)}a:hover{color:#fff}
main h1,main h2{color:#fff}main h3{color:var(--gold-lt)}
.card{background:linear-gradient(180deg,#222,#1a1a1a);color:var(--ink);box-shadow:0 6px 20px rgba(0,0,0,.6),0 0 0 1px #2c2c2c}
.card h2{color:#fff}.card .more{color:var(--gold-lt)}.card:hover{box-shadow:0 6px 24px rgba(0,0,0,.7),0 0 0 1px var(--gold)}
.hoursband,.callout{background:linear-gradient(135deg,#1c1c1c,#0d0d0d)}
.btn.ghost{color:#fff;background:transparent}.btn.ghost:hover{background:var(--red)}
.btn:hover{color:#fff}
.chips span,.chipgrid .bcol li{background:#222;color:#eee;border-color:rgba(201,162,39,.55)}
.chipgrid .bcol li:hover{color:var(--gold-lt);border-color:var(--gold-lt)}
.bcol h3{color:var(--gold-lt);border-bottom-color:var(--red)}
.note{background:#2a1215;color:#f3f3f3}
details.rent{background:#1c1c1c;border-color:#333}details.rent summary{background:#232323;color:#fff}details.rent[open] summary{background:#0d0d0d;color:var(--gold-lt);border-bottom:2px solid var(--red)}details.rent small{opacity:.85}
th,td{border-bottom-color:#333}tr:nth-child(even) td{background:#1b1b1b}td{color:#eee}
.logos{background:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 0 0 2px var(--gold),0 6px 20px rgba(0,0,0,.6)}
.partners h2{color:#fff}
.map{border:2px solid var(--gold)!important;border-radius:10px}
input,select,textarea{background:#1c1c1c;color:#eee;border:1px solid #444}
.small{opacity:.85}
.skip:focus{color:#111}
footer .skyline{background-image:url(images/chicago-skyline.svg?v=d)}
/* Authorized service logo strip */
.authstrip{text-align:center;margin:28px 0}.authstrip h2{color:#fff;font-size:18px;margin:0 0 12px;letter-spacing:.5px}.authstrip h2 span{color:var(--gold)}
.authlogos{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.authlogos a{background:#fff;border-radius:12px;box-shadow:0 0 0 2px var(--gold),0 6px 18px rgba(0,0,0,.5);width:220px;height:110px;display:flex;align-items:center;justify-content:center;padding:14px 20px}
.authlogos img{max-height:80px;max-width:100%;width:auto;height:auto}
@media(max-width:520px){.authlogos{gap:10px}.authlogos a{width:calc(50% - 5px);height:86px;padding:10px}.authlogos img{max-height:62px}}
.logos img.svglogo{height:26px;width:auto}.logos img[alt=Greenlee].svglogo{height:30px}
.authlogos img{filter:grayscale(1) brightness(.6)}
