:root{--char:#16110e;--ash:#241c17;--ember:#e0662b;--flame:#f2a541;--cream:#f6ead8;--smoke:#b9aa98;--blue:#2f8be0}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--char);color:var(--cream);font:17px/1.65 "Source Sans 3",system-ui,sans-serif}
h1,h2,h3{font-family:"Oswald",Impact,sans-serif;text-transform:uppercase;letter-spacing:.03em;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,6vw,4.2rem)}h2{font-size:clamp(1.7rem,4vw,2.6rem);color:var(--flame)}h3{font-size:1.25rem}
a{color:var(--flame)}img{max-width:100%;display:block}
.wrap{max-width:1150px;margin:auto;padding:0 22px}
header{position:sticky;top:0;z-index:10;background:rgba(22,17,14,.92);backdrop-filter:blur(8px);border-bottom:1px solid #3a2d24}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font-family:Oswald,sans-serif;text-transform:uppercase;font-size:1.1rem}
.brand img{width:50px}
.nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0}
.nav ul a{color:var(--cream);text-decoration:none;font-weight:600;text-transform:uppercase;font-size:.9rem;letter-spacing:.06em}
.nav ul a:hover,.nav ul a.on{color:var(--flame)}
.menu-btn{display:none;background:none;border:1px solid var(--smoke);color:var(--cream);font-size:1.3rem;padding:4px 10px;border-radius:6px}
@media(max-width:820px){.menu-btn{display:block}.nav ul{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;background:var(--char);padding:16px 22px;gap:14px;border-bottom:1px solid #3a2d24}.nav ul.open{display:flex}}
.hero{position:relative;overflow:hidden;padding:80px 0 90px;background:radial-gradient(ellipse at 70% 110%,rgba(224,102,43,.45),transparent 60%),radial-gradient(ellipse at 20% -10%,rgba(185,170,152,.18),transparent 55%),linear-gradient(#1b1411,#120d0b)}
.hero:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.012' numOctaves='3'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");mix-blend-mode:screen;animation:drift 30s linear infinite alternate;pointer-events:none}
@keyframes drift{to{transform:translateY(-40px) scale(1.08)}}
.hero .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;position:relative}
.hero img.logo{width:100%;max-width:420px;margin:auto;filter:drop-shadow(0 0 40px rgba(224,102,43,.45))}
.eyebrow{color:var(--ember);font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.85rem}
.lede{font-size:1.2rem;color:var(--smoke);max-width:36em}
.btn{display:inline-block;background:var(--ember);color:#fff;padding:13px 26px;border-radius:40px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;border:0;cursor:pointer;margin:6px 8px 0 0}
.btn.ghost{background:transparent;border:2px solid var(--flame);color:var(--flame)}
.btn:hover{filter:brightness(1.12)}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr;text-align:center}.hero img.logo{max-width:260px;order:-1}.lede{margin:auto}}
section{padding:70px 0}section.alt{background:var(--ash)}
.page-head{padding:60px 0 30px;background:linear-gradient(180deg,#2a1d15,var(--char))}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:linear-gradient(160deg,#2c211a,#1d1612);border:1px solid #3d2e24;border-radius:14px;padding:24px}
.card h3{color:var(--cream)}.card p{color:var(--smoke);margin:.3em 0}
.price{color:var(--flame);font-weight:700;font-family:Oswald,sans-serif;letter-spacing:.03em}
.tag{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;background:rgba(224,102,43,.15);color:var(--flame);padding:3px 10px;border-radius:20px;margin-bottom:8px}
.note{font-size:.9rem;color:var(--smoke);font-style:italic}
.ph{background:#4a2a10;color:#ffd38a;padding:1px 6px;border-radius:4px;font-family:monospace;font-size:.9em}
.steps{counter-reset:s}.steps .card:before{counter-increment:s;content:counter(s);display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ember);font:700 1.2rem Oswald,sans-serif;margin-bottom:10px}
form fieldset{border:1px solid #3d2e24;border-radius:14px;padding:20px;margin:0 0 22px}
legend{font-family:Oswald,sans-serif;text-transform:uppercase;color:var(--flame);padding:0 8px;font-size:1.1rem}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
label{display:block;font-weight:600;font-size:.92rem}
input,select,textarea{width:100%;margin-top:4px;padding:10px 12px;background:#120d0b;border:1px solid #4a3a2e;border-radius:8px;color:var(--cream);font:inherit}
.checks label{font-weight:400;display:flex;gap:8px;align-items:flex-start;margin:6px 0}.checks input{width:auto;margin-top:6px}
footer{background:#0e0a08;padding:40px 0;color:var(--smoke);font-size:.92rem;border-top:3px solid var(--ember)}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
.strip{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}.strip span{border:1px solid #4a3a2e;border-radius:30px;padding:6px 16px;color:var(--smoke)}
/* photos */
.hero.photo{background:linear-gradient(90deg,rgba(18,13,11,.94) 0%,rgba(18,13,11,.78) 45%,rgba(18,13,11,.35) 100%),url("photos/rib-racks-on-grate.jpg") center 40%/cover}
.hero.photo:before{display:none}
.gallery{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:22px}
.gallery figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid #3d2e24;background:#1d1612}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .4s}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{padding:8px 12px;font-size:.88rem;color:var(--smoke)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.split img{border-radius:14px;border:1px solid #3d2e24;width:100%;max-height:560px;object-fit:cover}
@media(max-width:820px){.split{grid-template-columns:1fr}}
.fleet{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.fleet .card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.fleet .card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid #3d2e24}
.fleet .card .body{padding:20px 22px 22px}
.fleet .noimg{aspect-ratio:4/3;display:grid;place-items:center;background:radial-gradient(circle at 50% 120%,rgba(224,102,43,.35),transparent 70%),#1a1310;border-bottom:1px solid #3d2e24;color:var(--smoke);font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem}
.fleet .nick{color:var(--flame);font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}
.fleet dl{margin:10px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.95rem}
.fleet dt{color:var(--flame);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;padding-top:3px}
.fleet dd{margin:0;color:var(--smoke)}
.tbl{overflow-x:auto;border:1px solid #3d2e24;border-radius:14px}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid #3d2e24}
th{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--flame);background:#1d1612;font-weight:500}
tr:last-child td{border-bottom:0}tfoot td{font-weight:700;color:var(--cream);background:#241c17}
.nav ul{gap:18px}
