:root{
  --bg:#000;
  --ink:#fff;
  --muted:rgba(255,255,255,.76);
  --muted2:rgba(255,255,255,.58);
  --line:rgba(255,255,255,.12);
  --gold:#D4AF37;
  --gold2:#F5D76E;
  --r:18px;
  --r2:26px;
  --max:1120px;
  --shadow: 0 18px 56px rgba(0,0,0,.58);
  --shadow2: 0 10px 32px rgba(0,0,0,.42);
  --ease: cubic-bezier(.2,.8,.2,1);
  --ease2: cubic-bezier(.16,1,.3,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(860px 560px at 16% 0%, rgba(212,175,55,.11), transparent 62%),
    radial-gradient(980px 560px at 92% 10%, rgba(245,215,110,.06), transparent 64%),
    var(--bg);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  overflow-x:hidden;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  letter-spacing: .2px;
}

a{ color:inherit; }
img{ display:block; max-width:100%; }
button, input, select, textarea{ font: inherit; }

/* Ambient texture */
.fx{ position:fixed; inset:0; pointer-events:none; z-index:0; }
.fx-grain{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='420' height='420' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  opacity:.20;
}
.fx-vignette{
  background: radial-gradient(circle at 50% 10%, transparent 0%, rgba(0,0,0,.36) 60%, rgba(0,0,0,.82) 100%);
  opacity:.70;
}

main{ position:relative; z-index:1; }
.wrap{ width:min(var(--max), calc(100% - 44px)); margin-inline:auto; }
@media (max-width:520px){ .wrap{ width:calc(100% - 28px);} }

/* Header (not sticky) */
.header{
  position:relative;
  z-index:20;
  background: rgba(0,0,0,.40);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding: 12px 0;
}
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand__logo{
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid var(--line);
  background: transparent;
  padding:4px;
}
.brand__wordmark{
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  color: rgba(255,255,255,.90);
}
.nav{ display:flex; gap:10px; align-items:center; }
.nav a{
  text-decoration:none;
  color:rgba(255,255,255,.74);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:11px;
  padding:10px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
}
.nav a:hover{ transform: translateY(-1px); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); }
@media (max-width:860px){ .nav{ display:none; } }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  text-decoration:none;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 12px;
  background: rgba(255,255,255,.05);
  backdrop-filter: blur(10px);
  transition: transform .14s var(--ease), background .14s var(--ease), border-color .14s var(--ease), filter .14s var(--ease);
  user-select:none;
  white-space:nowrap;
}
.btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.18); }
.btn:active{ transform: translateY(0) scale(.99); }
.btn--gold{
  color:#0b0b0b;
  background: linear-gradient(180deg, rgba(245,215,110,.96), rgba(212,175,55,.88));
  border-color: rgba(212,175,55,.58);
  box-shadow: 0 18px 44px rgba(212,175,55,.14);
  position:relative;
  overflow:hidden;
}
/* Premium shimmer (subtle) */
@media (prefers-reduced-motion: no-preference){
  .btn--gold::after{
    content:"";
    position:absolute; inset:-10px;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.20), transparent);
    transform: translateX(-90%) rotate(12deg);
    animation: shimmer 2.9s ease-in-out infinite;
    pointer-events:none;
  }
  @keyframes shimmer{
    0%{transform: translateX(-95%) rotate(12deg)}
    55%{transform: translateX(-10%) rotate(12deg)}
    100%{transform: translateX(110%) rotate(12deg)}
  }
}

/* Panels + cards */
.panel{
  border-radius: var(--r2);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  overflow:hidden;
  box-shadow: var(--shadow);
}
.panel__head{
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
}
.h2{ margin:0; font-size: clamp(18px, 2.2vw, 28px); letter-spacing:.06em; text-transform:uppercase; }
.p{ margin: 8px 0 0; color: var(--muted); line-height: 1.55; }

.card{
  border-radius: var(--r);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.20);
  padding: 16px;
  box-shadow: var(--shadow2);
}

/* Sections */
.section{ padding: 14px 0 34px; position:relative; }
.section::before{
  content:"";
  position:absolute; left:50%; top:-1px;
  width:min(940px, 120vw);
  height:1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(212,175,55,.22), transparent);
  opacity:.85;
}

/* HERO */
.hero{ padding: 28px 0 14px; }
.hero__grid{ display:grid; grid-template-columns: 1.05fr .95fr; }
.hero__copy{
  padding: 26px;
  background:
    radial-gradient(720px 260px at 12% 0%, rgba(212,175,55,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border-top-left-radius: var(--r2);
  border-bottom-left-radius: var(--r2);
  border-right: 1px solid rgba(255,255,255,.08);
}
.hero__brandfloat{
  width:64px; height:64px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.20);
  padding:8px;
  display:inline-grid;
  place-items:center;
  margin-bottom: 12px;
}
.hero__brandfloat img{ width:100%; height:100%; object-fit:contain; }

.h1{ font-size: clamp(34px, 4.6vw, 58px); line-height: 1.03; margin: 10px 0 10px; letter-spacing:.02em; }
.sub{ color: var(--muted); line-height: 1.6; margin: 0 0 12px; max-width: 62ch; }

.selector{ display:flex; flex-wrap:wrap; gap:10px; margin: 14px 0 8px; }
.chip{
  padding: 10px 12px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.92);
  font-weight: 900; letter-spacing: .12em; text-transform: uppercase; font-size: 12px;
  cursor:pointer;
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
}
.chip:hover{ transform: translateY(-1px); }
.chip.is-active{ border-color: rgba(212,175,55,.42); background: rgba(212,175,55,.12); }
.assist{ color: rgba(255,255,255,.66); font-size: 13px; line-height: 1.5; margin: 0 0 8px; }

.hero__cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 10px; }

.hero__media{
  position:relative;
  min-height: 420px;
  background:#070707;
  border-top-right-radius: var(--r2);
  border-bottom-right-radius: var(--r2);
  overflow:hidden;
}
.hero__img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position: 50% 60%;
  filter: brightness(1.10) contrast(1.12) saturate(1.18);
  transform: scale(1.03);
}
.hero__overlay{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.56) 0%, rgba(0,0,0,.18) 44%, rgba(0,0,0,.34) 100%),
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.20) 40%, rgba(0,0,0,.62) 100%),
    radial-gradient(620px 420px at 92% 12%, rgba(212,175,55,.16) 0%, transparent 62%);
}
/* Plates spotlight (masked feel) */
.hero__spotlight{
  position:absolute; left:50%; bottom:-14%;
  width:min(980px, 125%);
  height:min(560px, 80%);
  transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(245,215,110,.26), rgba(0,0,0,0) 70%);
  filter: blur(12px);
  opacity:.95;
  pointer-events:none;
}

/* Mobile hero: lighter overlay */
@media (max-width:900px){
  .hero__grid{ grid-template-columns: 1fr; }
  .hero__copy{ border-radius: var(--r2); border-right:none; }
  .hero__media{
    min-height: 340px;
    border-radius: var(--r2);
    margin-top: 12px;
  }
  .hero__overlay{
    background:
      linear-gradient(90deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.10) 50%, rgba(0,0,0,.24) 100%),
      linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.16) 44%, rgba(0,0,0,.52) 100%),
      radial-gradient(620px 420px at 92% 12%, rgba(212,175,55,.16) 0%, transparent 62%);
  }
}

/* Gallery */
.gallery{ padding: 18px 20px 20px; }
.shot{
  border-radius: var(--r2);
  border: 1px solid rgba(255,255,255,.10);
  overflow:hidden;
  background:#060606;
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  position:relative;
}
.shot img{ width:100%; height: 290px; object-fit:cover; display:block; }
.shot__overlay{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.56) 78%, rgba(0,0,0,.86) 100%),
    radial-gradient(520px 220px at 14% 0%, rgba(212,175,55,.18), transparent 62%);
}
.shot__cap{
  position:absolute; left:16px; right:16px; bottom:14px;
}
.cap__title{ font-weight:900; letter-spacing:.10em; text-transform:uppercase; font-size:12px; color: rgba(255,255,255,.92); }
.cap__line{ margin-top:6px; color: rgba(255,255,255,.72); line-height:1.45; max-width:44ch; font-size:13px; }

/* Run of service */
.grid3{
  display:grid; grid-template-columns: 1fr 1fr 1fr;
  gap:14px; padding: 18px 20px 20px;
}
.flowcard{ box-shadow:none; }
.flowtop{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.num{
  width:44px; height:34px; border-radius:12px;
  border:1px solid rgba(212,175,55,.34);
  background: rgba(212,175,55,.10);
  display:grid; place-items:center;
  font-weight:900; letter-spacing:.10em;
}
.tag{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color: rgba(255,255,255,.70); font-weight:900; text-align:right; }
.cardtitle{ margin:12px 0 6px; font-weight:900; font-size:16px; }
.cardline{ margin:0; color: var(--muted); line-height:1.55; font-size:14px; max-width:42ch; }
.bullets{ margin:10px 0 0; padding-left: 18px; color: var(--muted); line-height:1.55; }
.bullets li{ margin: 6px 0; }
.bullets strong{ color: rgba(255,255,255,.92); font-weight:900; }

@media (max-width: 900px){ .grid3{ grid-template-columns: 1fr; } }

/* Standard */
.chefgrid{
  display:grid; grid-template-columns: 1.05fr .95fr;
  gap:14px; padding: 18px 20px 20px;
}
.chefbox{ box-shadow:none; }
.chefword{
  font-weight:900; letter-spacing:.12em; text-transform:uppercase;
  font-size:12px; color: rgba(255,255,255,.80);
}
.chefpara{ margin-top:12px; }

.chefletters--vertical div{
  display:flex;
  gap:10px;
  align-items:baseline;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  padding:10px 12px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
}
.leadletter{ display:inline-block; width:20px; color: var(--gold2); font-weight:900; }

@media (max-width: 900px){ .chefgrid{ grid-template-columns: 1fr; } }

/* Identity pause */
.identity{
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  gap:14px;
  padding: 26px 20px 24px;
  align-items:stretch;
}
.identity__img{ position:relative; border-radius: var(--r2); overflow:hidden; border:1px solid rgba(255,255,255,.10); background:#060606; }
.identity__portrait{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; filter: contrast(1.05) saturate(1.05); }
.identity__glow{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(520px 340px at 50% 18%, rgba(212,175,55,.16), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.68));
}
.identity__copy{ display:flex; flex-direction:column; justify-content:center; gap:12px; }
.quote{
  margin:0;
  padding: 16px 16px;
  border-radius: var(--r);
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.20);
  box-shadow: var(--shadow2);
  font-weight: 800;
  letter-spacing:.02em;
  line-height:1.55;
  color: rgba(255,255,255,.92);
}
.quote--soft{ color: rgba(255,255,255,.84); }

@media (max-width: 900px){
  .identity{ grid-template-columns: 1fr; }
  .identity__img{ min-height: 340px; }
}

/* Lock in form */
.cols{
  display:grid; grid-template-columns: repeat(12, 1fr);
  gap:14px; padding: 18px 20px 20px;
}
.span7{ grid-column: span 7; }
.span5{ grid-column: span 5; }
.formgrid{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.full{ grid-column: 1 / -1; }

.label{
  display:block; font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color: rgba(255,255,255,.68); margin-bottom:6px; font-weight:900;
}
.input{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: var(--ink);
  padding: 12px 12px;
  outline:none;
  font-size:14px;
}
textarea.input{ resize: vertical; }
.hint{
  margin-top:6px;
  font-size:12px;
  color: rgba(245,215,110,.80);
  min-height: 14px;
}
/* Warm validation highlight (no harsh red) */
.is-error .input{
  border-color: rgba(245,215,110,.55);
  box-shadow: 0 0 0 3px rgba(245,215,110,.10);
}

.actions{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:12px;
}
.formcard{ position:relative; }

.sidecard{ box-shadow:none; }
.sidehead{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.sideword{
  font-weight:900; letter-spacing:.10em; text-transform:uppercase; font-size:12px;
  color: rgba(255,255,255,.86);
}
.sideactions{ margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; }

.iconbtn{
  width:44px; height:44px; display:grid; place-items:center;
  border-radius:999px; border:1px solid var(--line);
  background: rgba(255,255,255,.05);
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
  text-decoration:none;
  position:relative;
  overflow:hidden;
}
.iconbtn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); }
.iconbtn svg{ width:20px; height:20px; fill: currentColor; opacity:.95; }

/* Footer */
.footer{
  padding: 28px 0 96px;
  color: rgba(255,255,255,.72);
  border-top: 1px solid rgba(255,255,255,.10);
  margin-top: 24px;
}
.footer__inner{
  display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
}
.credit{ font-size:12px; letter-spacing:.08em; color: rgba(255,255,255,.62); }
.credit a{ text-decoration:none; }

@media (max-width: 900px){
  .cols{ grid-template-columns: 1fr; }
  .span7,.span5{ grid-column:auto; }
  .formgrid{ grid-template-columns: 1fr; }
  .actions{ grid-template-columns: 1fr; }
}

/* Sticky bar (single system) */
.sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  background: rgba(0,0,0,.70);
  backdrop-filter: blur(12px);
  border-top: 1px solid var(--line);
  padding: 10px 0;
}
.sticky__inner{
  display:grid;
  grid-template-columns: 48px 1fr 44px 44px; /* ✅ now supports 2 icons */
  gap:10px;
  align-items:center;
}
.sticky__brand{
  width:48px; height:48px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.20);
  padding:8px;
  display:grid; place-items:center;
}
.sticky__brand img{ width:100%; height:100%; object-fit:contain; }
.sticky__cta{ width:100%; }
@media (min-width: 901px){
  .sticky{ display:none; }
}

/* ✅ Colored brand icon styles */
.iconbtn--ig{
  color:#fff;
  border-color: rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 30% 110%, #feda75 0%, #fa7e1e 25%, #d62976 55%, #962fbf 75%, #4f5bd5 100%);
}
.iconbtn--ig:hover{ filter: brightness(1.03); }

.iconbtn--fb{
  color:#fff;
  border-color: rgba(255,255,255,.14);
  background: #1877F2;
}
.iconbtn--fb:hover{ filter: brightness(1.04); }

/* Toast */
.toast{
  position:fixed; left:50%; transform: translateX(-50%);
  bottom: 88px; z-index: 90; pointer-events:none;
  opacity:0;
  transition: opacity .18s var(--ease), transform .18s var(--ease);
}
.toast.is-showing{ opacity:1; transform: translateX(-50%) translateY(-4px); }
.toast__inner{
  display:flex; align-items:center; gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(212,175,55,.34);
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 40px rgba(0,0,0,.44);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px;
  color: rgba(255,255,255,.92);
}
.toast__dot{ width:8px; height:8px; border-radius:999px; background: var(--gold2); }

/* Focus mode */
.focusOverlay{ z-index:40; }
.focusOverlay.is-on{ opacity:1; pointer-events:auto; }

.formcard.is-focused{
  box-shadow: 0 22px 68px rgba(0,0,0,.70);
  border-color: rgba(245,215,110,.22);
}

/* Reveal: default visible; only hide when JS is running */
.reveal{ opacity:1; transform:none; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
  .btn--gold::after{ display:none !important; }
}

/* Hooks (hero micro-cards) */
.hooks{ display:grid; gap:10px; margin: 10px 0 4px; }
.hook{
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.86);
  line-height: 1.45;
  font-weight: 800;
  letter-spacing: .01em;
}

/* Run of Service interactive */
.ros{ padding: 18px 20px 20px; display:grid; grid-template-columns: 280px 1fr; gap:14px; }
.ros__steps{ display:grid; gap:10px; align-content:start; }
.step{
  width:100%;
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  cursor:pointer;
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .12em;
  font-size: 12px;
  min-width: 0;
}
.step:hover{ transform: translateY(-1px); }
.step.is-active{ border-color: rgba(212,175,55,.40); background: rgba(212,175,55,.10); }
.step__num{
  width:46px; height:34px; border-radius: 12px;
  border: 1px solid rgba(212,175,55,.34);
  background: rgba(0,0,0,.24);
  display:grid; place-items:center;
  letter-spacing:.10em;
  flex: 0 0 auto;
}

/* ✅ prevent “SELECTION” spill: let label shrink + wrap safely on mobile */
.step__label{
  color: rgba(255,255,255,.82);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ros__panel{
  border-radius: var(--r2);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  padding: 18px 18px;
  box-shadow: var(--shadow2);
}
.ros__title{ font-weight: 900; font-size: 18px; letter-spacing: .02em; }
.ros__body{ margin: 8px 0 12px; color: var(--muted); line-height: 1.55; }
.ros__needHead{ font-weight: 900; letter-spacing: .12em; text-transform: uppercase; font-size: 11px; color: rgba(255,255,255,.78); margin: 14px 0 10px; }
.needgrid{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
.needcard{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  padding: 12px 12px;
}
.needtitle{ font-weight: 900; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; color: rgba(255,255,255,.90); }
.needlist{ margin: 10px 0 0; padding-left: 18px; color: rgba(255,255,255,.72); line-height: 1.55; }
.ros__cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 14px; }

/* Mobile: stepper collapses into horizontal tabs */
@media (max-width: 900px){
  .ros{ grid-template-columns: 1fr; }
  .ros__steps{
    grid-auto-flow: column;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
  }
  .step{
    padding: 10px 10px;
    justify-content:center;
    flex-wrap: wrap; /* ✅ allow safe wrap */
    row-gap: 8px;
    min-width: 0;
    text-align:center;
  }
  .step__num{ width:42px; }
  .step__label{
    white-space: normal;          /* ✅ fixes spill */
    overflow: visible;
    text-overflow: unset;
    letter-spacing: .10em;        /* ✅ slightly tighter for mobile */
    font-size: 11px;              /* ✅ small nudge down */
    line-height: 1.1;
  }
  .needgrid{ grid-template-columns: 1fr; }
}

/* Small value line */
.miniValue{
  margin-top: 12px;
  color: rgba(245,215,110,.86);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}

/* V4 patch */
.hero__logo{display:flex;justify-content:flex-start;margin-bottom:18px}
.hero__logo img{width:clamp(170px,18vw,240px);max-width:240px;height:auto;filter:drop-shadow(0 10px 26px rgba(0,0,0,.62))}
@media (max-width:900px){.hero__logo{justify-content:center;margin-bottom:22px}.hero__logo img{width:210px;max-width:240px}}
.btn--gold{color:#0b0b0b !important}
@media (max-width:900px){.input{font-size:16px}}
.focusOverlay{ z-index:40; }
.sticky{z-index:60}

/* V5: Center alignment where it matters (mobile-first) */
@media (max-width: 900px){
  .hero__copy{ text-align:center; }
  .hero__cta{ justify-content:center; }
  .selector{ justify-content:center; }
  .assist{ margin-left:auto; margin-right:auto; }
  .hooks{ text-align:left; } /* hooks stay readable */
  .panel__head{ text-align:center; }
  .panel__head .p{ margin-left:auto; margin-right:auto; max-width:62ch; }
}

/* V5: Ensure all button text is visible on mobile */
.btn{ color: rgba(255,255,255,.92); }
.btn--gold{ color:#0b0b0b !important; }

/* V5: Logo entrance overlay on hero image (doesn't block face) */
.hero__logoOverlay{
  position:absolute;
  top: 16px;
  left: 16px;
  width: 86px;
  height: 86px;
  padding: 10px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.16);
  backdrop-filter: blur(10px);
  display:grid;
  place-items:center;
  z-index: 3;
  pointer-events:none;
  transform: translateY(-8px);
  opacity: 0;
}
.hero__logoOverlay img{ width:100%; height:100%; object-fit:contain; filter: drop-shadow(0 10px 26px rgba(0,0,0,.55)); }

html.js .hero__logoOverlay.is-in{ opacity: 1; transform:none; transition: opacity .65s var(--ease2), transform .65s var(--ease2); }

@media (max-width: 900px){
  .hero__logoOverlay{
    left: 14px;
    top: 14px;
    width: 92px;
    height: 92px;
  }
}

/* V5: Make hero overlay slightly lighter on mobile if image is dark */
@media (max-width: 900px){
  .hero__img{ filter: brightness(1.18) contrast(1.10) saturate(1.16); }
}

/* V6: Focus mode fix — overlay dims page but never blocks form controls */
.focusOverlay{
  position:fixed; inset:0;
  background: rgba(0,0,0,.55);
  opacity:0; pointer-events:none;
  transition: opacity .20s var(--ease);
}
.focusOverlay.is-on{ opacity:1; pointer-events:auto; }
.formcard{ position: relative; z-index: 60; }
.sticky{ z-index: 70; }

/* V7: Centered authority (Chef CP archetype: presence + control) */
.hero__copy{ text-align:center; }
.hero__cta{ justify-content:center; }
.selector{ justify-content:center; }
.assist{ margin-left:auto; margin-right:auto; }
.panel__head{ text-align:center; }
.panel__head .p{ margin-left:auto; margin-right:auto; max-width: 66ch; }
.grid3, .chefgrid, .identity, .cols{ justify-items:center; }
.card, .ros__panel{ text-align:center; }
.bullets, .needlist{ text-align:left; margin-left:auto; margin-right:auto; max-width: 36ch; }
.sidecard, .formcard{ text-align:center; }
.sideactions{ justify-content:center; }
.footer__inner{ justify-content:center; text-align:center; }

/* Header nav only, centered */
.header__inner--navonly{ justify-content:center; }
.nav--center{ display:flex !important; justify-content:center; gap:10px; width:100%; }
@media (max-width: 860px){ .nav--center{ gap:8px; flex-wrap:wrap; } }

/* Single big logo: no pill/container */
.heroLogo{
  display:block;
  width: min(360px, 78vw);
  height:auto;
  margin: 6px auto 18px;
  filter: drop-shadow(0 16px 42px rgba(0,0,0,.70));
}

/* Entrance animation for logo */
html.js .heroLogo--enter{ opacity:0; transform: translateY(-10px) scale(.98); }
html.js .heroLogo--enter.is-visible{ opacity:1; transform:none; transition: opacity .75s var(--ease2), transform .75s var(--ease2); }

/* Ensure hero media doesn't overpower logo readability */
.hero__media{ margin-top: 10px; }

/* V8: Header removed */
body{ padding-top: 0 !important; }

/* V9: Progressive reveal (never blanks content if JS fails) */
.reveal{ opacity:1; transform:none; }
html.reveal-on .reveal{ opacity:0; transform: translateY(10px); transition: opacity .55s var(--ease2), transform .55s var(--ease2); }
html.reveal-on .reveal.is-visible{ opacity:1; transform:none; }

/* V10: Ensure hero controls are clickable (no overlay capture) */
.hero__copy{ position:relative; z-index: 5; }
.hero__media{ position:relative; z-index: 1; pointer-events:none; }

/* V10: Toast visibility */
.toast{ z-index: 999; }
.toast{ bottom: 104px; } /* above sticky bar */
@media (min-width: 901px){ .toast{ bottom: 28px; } }

/* V10: Footer subtle + link looks like link */
.footer{ opacity: .88; }
.credit a{
  color: rgba(255,255,255,.86);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.credit a:hover{ opacity: .92; }

/* V11: Toast on/off state */
.toast{ opacity:0; transform: translateY(6px); pointer-events:none; transition: opacity .2s var(--ease), transform .2s var(--ease); }
.toast.is-on{ opacity:1; transform:none; }

/* V13: Footer credit (subtle, link-like) */
.credit a{
  color: rgba(255,255,255,.42);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(255,255,255,.22);
}
.credit a:hover{
  color: rgba(255,255,255,.56);
  text-decoration-color: rgba(255,255,255,.34);
}
