/*! BestSteakIdahoSprings.com · v1 Dark Espresso · MTN Prime
    Single stylesheet: base components (mobile first) followed by the v1 theme. */
/* ==========================================================================
   Base layer: reset, accessibility, layout and components (mobile first).
   Theme tokens live in :root of each version's section below.
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,iframe{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,p,figure,blockquote,ul,ol,dl{margin:0}
ul[role="list"],ol[role="list"]{list-style:none;padding:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
address{font-style:normal}
h1,h2,h3{font-family:var(--font-head);line-height:1.1;font-weight:700;text-wrap:balance}
p{text-wrap:pretty}

/* ---------- accessibility */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:1rem;top:-4rem;z-index:1000;padding:.75rem 1.25rem;background:var(--accent);color:var(--accent-ink);font-weight:700;border-radius:var(--radius-sm);text-decoration:none;transition:top .2s}
.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
:focus:not(:focus-visible){outline:none}

/* ---------- layout */
.container{width:min(100% - 2rem,var(--max,76rem));margin-inline:auto}
.container.narrow{--max:52rem}
.section{padding-block:clamp(4rem,10vw,7.5rem);position:relative}
.section-head{max-width:46rem;margin-bottom:clamp(2rem,5vw,3.5rem)}
.section-head h2,.intro-copy h2,.story-copy h2{font-size:clamp(2rem,6vw,3.4rem);margin-block:.35rem .9rem}
.section-lead,.lead{font-size:clamp(1.05rem,2.4vw,1.2rem);color:var(--muted);max-width:42rem}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.eyebrow .icon{width:1rem;height:1rem}
.icon{width:1.25rem;height:1.25rem;flex:none}
.fine-print{margin-top:2rem;font-size:.9rem;color:var(--muted)}
.section-cta{margin-top:2.5rem}
.text-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent-text);font-weight:600;text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px}
.text-link:hover{text-decoration-thickness:2px}
.text-link .icon{width:1rem;height:1rem}

/* ---------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;padding:.8rem 1.4rem;border-radius:var(--radius-btn);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.btn .icon{width:1.15rem;height:1.15rem}
.btn-lg{min-height:3.5rem;padding:1rem 1.75rem;font-size:1.05rem}
.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--accent-text);color:var(--accent-text);transform:translateY(-2px)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------- header */
.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:background-color .3s,box-shadow .3s}
.header-inner{width:min(100% - 2rem,80rem);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}
.brand{display:inline-flex;padding:.25rem;border-radius:var(--radius-sm)}
.brand-logo{width:auto;height:2.6rem}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--line-strong);color:var(--text);cursor:pointer}
.nav-toggle .icon{width:1.5rem;height:1.5rem}
.nav-toggle .icon-close,.nav-open .nav-toggle .icon-open{display:none}
.nav-open .nav-toggle .icon-close{display:block}
.site-nav{position:fixed;inset:4.5rem 0 auto 0;max-height:calc(100dvh - 4.5rem);overflow:auto;background:var(--drawer-bg,var(--bg));border-bottom:1px solid var(--line);padding:1rem 1rem 1.5rem;display:none;flex-direction:column;gap:1rem;box-shadow:0 24px 48px rgb(0 0 0 / .25)}
.nav-open .site-nav{display:flex}
.nav-list{list-style:none;margin:0;padding:0;display:grid}
.nav-list a{display:block;padding:.85rem .5rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--line)}
.nav-list a:hover{color:var(--accent-text)}
.nav-cta{width:100%}
@media (min-width:64rem){
  .nav-toggle{display:none}
  .site-nav{position:static;display:flex;flex-direction:row;align-items:center;gap:1.5rem;padding:0;background:none;border:0;box-shadow:none;max-height:none;overflow:visible}
  .nav-list{display:flex;gap:.25rem}
  .nav-list a{padding:.5rem .7rem;border:0;border-radius:var(--radius-sm);font-size:.95rem}
  .nav-cta{width:auto}
}

/* ---------- hero shared */
.hero{position:relative;isolation:isolate}
.hero h1{font-size:clamp(2.6rem,11vw,6rem);letter-spacing:-.01em}
.h1-kicker{display:block;font-family:var(--font-body);font-size:clamp(.85rem,2.4vw,1rem);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-text);margin-bottom:.9rem;line-height:1.4}
.h1-main{display:block}
.hero-lead{font-size:clamp(1.05rem,2.6vw,1.3rem);max-width:36rem;margin-block:1.25rem 2rem;color:var(--hero-muted,var(--muted))}
.hero-ctas{margin-bottom:1.75rem}
.rating-chip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.6rem;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--line-strong);text-decoration:none;font-size:.92rem;background:var(--chip-bg,transparent)}
.rating-chip:hover{border-color:var(--accent-text)}
.stars{display:inline-flex;gap:.1rem;color:var(--star)}
.stars .star{width:1rem;height:1rem}
.stars-lg .star{width:1.35rem;height:1.35rem}

/* ---------- intro / features */
.intro .container{display:grid;gap:2.5rem}
.intro-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.features{display:grid;gap:1rem;grid-template-columns:1fr}
.feature{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.feature-icon{width:2rem;height:2rem;color:var(--accent-text);margin-bottom:1rem}
.feature h3{font-size:1.25rem;margin-bottom:.4rem}
.feature p{color:var(--muted);font-size:.97rem}
@media (min-width:40rem){.features{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){
  .intro .container{grid-template-columns:1.1fr .9fr;align-items:center;column-gap:4rem}
  .intro .features{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}
}

/* ---------- steak cards */
.cuts{display:grid;gap:1.25rem;grid-template-columns:1fr}
.cut{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.cut-media{overflow:hidden;aspect-ratio:4/3}
.cut-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.cut:hover .cut-media img{transform:scale(1.05)}
.cut-body{padding:1.25rem 1.35rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.cut-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.cut-name{font-size:1.4rem}
.badge{flex:none;font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px;background:var(--badge-bg);color:var(--badge-ink)}
.cut-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.95rem}
.cut-price{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--accent-text);margin-left:auto}
.cut-desc{color:var(--muted);font-size:.97rem}
@media (min-width:40rem){.cuts{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){
  .cuts{grid-template-columns:repeat(3,1fr)}
  .cut:last-child:nth-child(3n+1){grid-column:1/-1;flex-direction:row}
  .cut:last-child:nth-child(3n+1) .cut-media{flex:0 0 calc((100% - 2.5rem)/3);aspect-ratio:auto;min-height:15rem}
  .cut:last-child:nth-child(3n+1) .cut-body{justify-content:center;padding:2rem 2.5rem}
}

/* ---------- sides & menu columns */
.menu-cols{display:grid;gap:1.5rem}
.menu-col{padding:1.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.menu-col h3{display:flex;align-items:center;gap:.6rem;font-size:1.35rem;margin-bottom:1rem}
.menu-col h3 .icon{color:var(--accent-text)}
.price-list li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px dashed var(--line)}
.price-list .price{font-weight:600;color:var(--accent-text);white-space:nowrap}
.side-list li{padding:.6rem 0 .6rem 1.4rem;border-bottom:1px dashed var(--line);position:relative}
.side-list li::before{content:"";position:absolute;left:0;top:1.15rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent)}
.doneness-title{margin-top:2rem}
.doneness{list-style:none;padding:0;display:grid;gap:.4rem}
.done-step{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .8rem;border-radius:var(--radius-sm);font-size:.93rem;border-left:6px solid}
.done-1{border-color:#B8323A}.done-2{border-color:#D0555A}.done-3{border-color:#D98A7A}.done-4{border-color:#A9776A}.done-5{border-color:#6E4F43}
.done-name{font-weight:600}
.done-desc{color:var(--muted);text-align:right}
@media (min-width:64rem){.menu-cols{grid-template-columns:repeat(3,1fr)}}

/* ---------- photo pop-ups */
.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-bottom:2.5rem}
.shot-btn{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:var(--radius);overflow:hidden;text-align:left}
.shot-btn img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .5s ease}
.shot-btn:hover img{transform:scale(1.06)}
.shot-label{position:absolute;left:0;right:0;bottom:0;padding:2rem .9rem .8rem;font-weight:600;font-size:.95rem;line-height:1.3;color:#fff;background:linear-gradient(transparent,rgb(0 0 0 / .82))}
.shot-zoom{position:absolute;top:.6rem;right:.6rem;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--accent);color:var(--accent-ink)}
.shot-zoom .icon{width:1.1rem;height:1.1rem}
@media (min-width:48rem){.shots{grid-template-columns:repeat(3,1fr)}}
@media (min-width:64rem){.shots{grid-template-columns:repeat(6,1fr)}}
.shot-dialog{border:0;padding:0;border-radius:var(--radius);max-width:min(92vw,40rem);width:100%;background:var(--surface-solid,var(--bg));color:var(--text);box-shadow:0 40px 80px rgb(0 0 0 / .5)}
.shot-dialog::backdrop{background:rgb(0 0 0 / .72);backdrop-filter:blur(4px)}
.shot-dialog[open]{animation:pop .28s ease}
.dialog-inner{position:relative;padding:0 0 1.5rem}
.dialog-inner h3,.dialog-inner p,.dialog-inner .btn{margin-inline:1.5rem}
.dialog-inner h3{font-size:1.6rem;margin-top:1.25rem;margin-bottom:.5rem}
.dialog-inner p{color:var(--muted);margin-bottom:1rem}
.dialog-img{width:100%;max-height:62vh;object-fit:cover}
.dialog-close{position:absolute;top:.75rem;right:.75rem;z-index:1;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;border:0;background:rgb(0 0 0 / .7);color:#fff;cursor:pointer}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}

/* ---------- gallery */
.g-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.g-item figure{height:100%}
.g-item img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm)}
@media (min-width:48rem){
  .g-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:13rem}
  .g-item img{aspect-ratio:auto}
  .g-1,.g-4{grid-column:span 2;grid-row:span 2}
}

/* ---------- reviews */
.rating-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:1rem;color:var(--muted)}
.rating-num{font-family:var(--font-head);font-size:3rem;line-height:1;font-weight:700;color:var(--text)}
.review-list{display:grid;gap:1.25rem}
.review figure{height:100%;display:flex;flex-direction:column;gap:1rem;padding:1.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.review blockquote{margin:0;flex:1}
.review blockquote p{font-size:1.02rem}
.review figcaption{display:flex;align-items:center;gap:.8rem}
.review cite{display:block;font-style:normal;font-weight:700}
.review-src{display:block;font-size:.85rem;color:var(--muted)}
.avatar{display:grid;place-items:center;flex:none;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-family:var(--font-head);font-size:1.2rem}
@media (min-width:48rem){.review-list{grid-template-columns:repeat(2,1fr)}}
@media (min-width:72rem){.review-list{grid-template-columns:repeat(4,1fr)}}

/* ---------- story */
.story-grid{display:grid;gap:2.5rem;align-items:center}
.story-media{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;align-items:end}
.story-fig img{width:100%;object-fit:cover;border-radius:var(--radius)}
.story-fig-1 img{aspect-ratio:3/4}
.story-fig-2 img{aspect-ratio:1;margin-bottom:2.5rem}
.story-copy p{color:var(--muted);margin-bottom:1.25rem}
.story-copy .dogs{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.25rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);color:var(--text)}
.dogs .icon{color:var(--accent-text);width:1.6rem;height:1.6rem;margin-top:.1rem}
@media (min-width:64rem){.story-grid{grid-template-columns:1fr 1fr;gap:5rem}}

/* ---------- visit */
.visit-grid{display:grid;gap:1.25rem}
.visit-card{padding:1.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}
.visit-card h3{display:flex;align-items:center;gap:.6rem;font-size:1.4rem;margin-bottom:1rem}
.visit-card h3 .icon{color:var(--accent-text)}
.hours caption{text-align:left;position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hours th,.hours td{padding:.65rem 0;border-bottom:1px dashed var(--line);text-align:left;font-weight:500}
.hours td{text-align:right;color:var(--muted);white-space:nowrap;padding-left:.75rem}
.hours th{font-size:.95rem}
@media (max-width:30rem){.visit-card{padding:1.35rem}}
.services-title{margin-top:2rem}
.services li a{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem;padding:.65rem 0;border-bottom:1px dashed var(--line);text-decoration:none}
.services li a:hover strong{color:var(--accent-text)}
.services span{color:var(--muted);font-size:.95rem}
.address{margin-bottom:1.25rem;line-height:1.8}
.address a{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.25em}
.address a:hover{color:var(--accent-text)}
.map-wrap{border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line);margin-bottom:1.25rem;aspect-ratio:16/10}
.map-wrap iframe{width:100%;height:100%;border:0}
@media (min-width:64rem){.visit-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}}

/* ---------- booking form */
.booking{display:grid;gap:1rem}
.field{display:grid;gap:.4rem}
.field label{font-size:.85rem;font-weight:600;letter-spacing:.04em}
.field input,.field select{width:100%;min-height:3rem;padding:.7rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--input-line,var(--line-strong));background:var(--input-bg,transparent);color:var(--text);color-scheme:var(--scheme,light)}
.field input:focus-visible,.field select:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--accent-text)}
.field input[aria-invalid="true"]{border-color:#FF6B6B}
.form-note{font-size:.85rem;color:var(--muted)}

/* ---------- FAQ */
.faq-list{display:grid;gap:.75rem}
.faq-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.35rem;cursor:pointer;list-style:none;border-radius:var(--radius)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{font-size:1.15rem;font-family:var(--font-body);font-weight:600;line-height:1.4}
.faq-icon{color:var(--accent-text);transition:transform .25s}
.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-item p{padding:0 1.35rem 1.35rem;color:var(--muted)}

/* ---------- CTA band */
.cta-band{overflow:hidden;text-align:center}
.cta-bg{position:absolute;inset:0;z-index:-1}
.cta-bg img{width:100%;height:100%;object-fit:cover}
.cta-bg::after{content:"";position:absolute;inset:0;background:var(--cta-shade,rgb(0 0 0 / .72))}
.cta-band h2{font-size:clamp(2rem,6vw,3.6rem);max-width:48rem;margin:0 auto 1rem}
.cta-band p{max-width:38rem;margin:0 auto 2rem;font-size:1.1rem}
.cta-band .btn-row{justify-content:center}

/* ---------- footer */
.site-footer{background:var(--footer-bg);color:var(--footer-text);padding-top:4rem;border-top:1px solid var(--line)}
.footer-grid{display:grid;gap:2.5rem;padding-bottom:3rem}
.footer-logo{width:12rem;height:auto;margin-bottom:1.25rem}
.footer-brand p{color:var(--footer-muted);max-width:22rem;margin-bottom:1.5rem}
.footer-title{font-size:1rem;font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;color:var(--footer-heading,var(--footer-text))}
.footer-col ul li{margin-bottom:.35rem}
.footer-col a{display:inline-flex;align-items:center;gap:.6rem;min-height:2.25rem;text-decoration:none;color:var(--footer-muted)}
.footer-col a:hover{color:var(--footer-text);text-decoration:underline;text-underline-offset:.25em}
.footer-col address{display:grid;gap:.35rem}
.footer-col address .icon{color:var(--footer-accent);width:1.1rem;height:1.1rem}
.footer-hours li{display:flex;justify-content:space-between;gap:1rem;color:var(--footer-muted);padding:.3rem 0;border-bottom:1px dashed var(--footer-line)}
.social{display:flex;gap:.6rem}
.social a{display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:50%;border:1px solid var(--footer-line);color:var(--footer-text);transition:background-color .2s,color .2s,border-color .2s}
.social a:hover{background:var(--footer-accent);border-color:var(--footer-accent);color:var(--footer-accent-ink)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-block:1.5rem 2rem;border-top:1px solid var(--footer-line);font-size:.88rem;color:var(--footer-muted)}
.footer-bottom a{color:var(--footer-text)}
@media (min-width:48rem){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){.footer-grid{grid-template-columns:1.4fr 1fr 1.1fr 1.1fr}}

/* ---------- motion & print */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media print{.site-header,.nav-toggle,.map-wrap,.hero-ctas,.booking{display:none!important}body{background:#fff;color:#000}}

/* ==========================================================================
   v1 · Dark Espresso — espresso/charcoal, copper accents, Playfair + Inter
   ========================================================================== */
:root{
  --bg:#12100E;--surface:#1A1714;--surface-solid:#1A1714;--text:#F4F1EA;--muted:#BFB7AA;
  --accent:#C87D55;--accent-hover:#D9956F;--accent-ink:#12100E;--accent-text:#DB9A74;--focus:#F2B68F;
  --line:rgb(244 241 234 / .12);--line-strong:rgb(244 241 234 / .3);
  --header-bg:rgb(18 16 14 / .86);--drawer-bg:#12100E;--chip-bg:rgb(18 16 14 / .55);
  --star:#E3A06F;--badge-bg:#C87D55;--badge-ink:#12100E;
  --footer-bg:#0B0A09;--footer-text:#F4F1EA;--footer-muted:#B3AB9F;--footer-line:rgb(244 241 234 / .12);--footer-accent:#C87D55;--footer-accent-ink:#12100E;
  --font-head:"Playfair Display",Georgia,"Times New Roman",serif;--font-body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --radius:4px;--radius-sm:2px;--radius-btn:2px;--scheme:dark;--max:76rem;
}
body{background:radial-gradient(120% 60% at 50% 0%,#1C1815 0%,#12100E 60%) fixed,#12100E}
.h1-main{font-style:italic;font-weight:500}
.section-head h2,.intro-copy h2,.story-copy h2{font-weight:500}

/* hero: full-screen cinematic */
.hero{min-height:calc(100svh - 4.5rem);display:flex;align-items:flex-end;overflow:hidden;padding-block:6rem 4.5rem}
.hero-media{position:absolute;inset:0;z-index:-3}
.hero-img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;animation:slowburn 26s ease-in-out infinite alternate;transform-origin:60% 55%}
@keyframes slowburn{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
.hero-shade{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(90deg,rgb(18 16 14 / .94) 0%,rgb(18 16 14 / .72) 45%,rgb(18 16 14 / .25) 100%),
  linear-gradient(0deg,#12100E 0%,rgb(18 16 14 / 0) 40%)}
.hero-inner{position:relative}
.hero h1{max-width:13ch}
.hero .eyebrow{margin-bottom:1.5rem;padding:.45rem .9rem;border:1px solid rgb(200 125 85 / .5);border-radius:999px;letter-spacing:.12em;font-size:.72rem}
.hero-lead{color:#E2DCD1}
.embers{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ember{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:#F0A06A;box-shadow:0 0 10px 3px rgb(240 140 80 / .7);opacity:0;animation:rise 9s linear infinite}
.e1{left:55%;animation-delay:0s}.e2{left:62%;animation-delay:1.2s;animation-duration:11s}.e3{left:70%;animation-delay:2.4s}.e4{left:78%;animation-delay:.6s;animation-duration:12s}
.e5{left:84%;animation-delay:3.3s}.e6{left:66%;animation-delay:4.1s;animation-duration:10s}.e7{left:90%;animation-delay:5s}.e8{left:58%;animation-delay:6.2s;animation-duration:13s}
.e9{left:74%;animation-delay:7s}.e10{left:81%;animation-delay:2s;animation-duration:8s}.e11{left:47%;animation-delay:8.1s}.e12{left:95%;animation-delay:3.8s;animation-duration:14s}
@keyframes rise{0%{transform:translate(0,0) scale(1);opacity:0}10%{opacity:1}100%{transform:translate(-60px,-90vh) scale(.3);opacity:0}}
.scroll-cue{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);width:2.2rem;height:3.4rem;border:2px solid var(--line-strong);border-radius:999px;display:none}
.scroll-cue span{position:absolute;left:50%;top:.6rem;width:4px;height:.7rem;margin-left:-2px;border-radius:2px;background:var(--accent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(1.2rem)}}
@media (min-width:48rem){.scroll-cue{display:block}.hero{align-items:center}}

/* copper hairlines */
.section-head::after{content:"";display:block;width:4rem;height:2px;margin-top:1.5rem;background:var(--accent)}
.intro{background:linear-gradient(180deg,#12100E,#171411)}
.feature{background:transparent;border-color:var(--line);border-top:2px solid var(--accent)}
.cut{background:#16130F;border-color:var(--line);transition:border-color .3s,transform .3s}
.cut:hover{border-color:rgb(200 125 85 / .6);transform:translateY(-4px)}
.cut-name{font-weight:500}
.cut-price{font-family:var(--font-body);font-weight:600;font-size:1.25rem}
.sides{background:#0F0D0B}
.menu-col{background:transparent}
.done-step{background:rgb(244 241 234 / .04)}
.cta-band{padding-block:clamp(5rem,12vw,9rem)}
.cta-band h2{font-weight:500;font-style:italic}
.cta-band p{color:#E2DCD1}
.review figure{background:#16130F;position:relative}
.review figure::before{content:"“";position:absolute;top:.2rem;right:1.2rem;font-family:var(--font-head);font-size:5rem;line-height:1;color:rgb(200 125 85 / .3)}
.g-item img{filter:saturate(.92) contrast(1.05);transition:filter .4s}
.g-item img:hover{filter:none}
.story{background:#0F0D0B}
.visit-card{background:#16130F}
.faq-item{background:transparent}
.map-wrap iframe{filter:grayscale(.4) invert(.9) hue-rotate(180deg) contrast(.9)}
/* Prime rib band (2026-10-05): photo shown as a photo, faded into the page; text on the dark side.
   Also fixes the old version, where the photo sat behind the page and never showed. */
.cta-band{isolation:isolate;display:flex;flex-direction:column;padding-top:0;text-align:left}
.cta-band .cta-bg{position:relative;inset:auto;z-index:0;order:-1;height:15rem;margin-bottom:2rem}
.cta-band .cta-bg::after{display:none}
.cta-band .cta-bg img{object-position:50% 78%;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.cta-band h2,.cta-band p{margin-left:0}
.cta-band .btn-row{justify-content:flex-start}
@media (min-width:64rem){
  .cta-band{display:block;padding-block:clamp(5rem,9vw,8rem)}
  .cta-band .cta-bg{position:absolute;inset:0 0 0 auto;width:64%;height:auto;margin:0;z-index:-1}
  .cta-band .cta-bg img{object-position:50% 70%;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%),linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent 0,#000 45%),linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%);
    mask-composite:intersect}
  .cta-band h2{max-width:30rem}
  .cta-band p{max-width:28rem}
}
