#product-options .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

#product-options .feature {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
:root{
  /* Palette extracted from styleguide.jpg */
  --bg: #fdfdfe;       /* very light background */
  --text: #252a34;     /* primary text (dark) */
  --muted: #9eabb3;    /* muted text / subtle labels */
  --accent: #62fb18;   /* bright accent (green) */
  --accent-2: #c4fcb0; /* soft secondary accent */
  --vox-green: #50B840; /* brand green used in Vox sections */
  --surface: #ffffff;  /* cards / surfaces */
  --sg-gray: #5b5f67;  /* styleguide gray for buttons/accents */
  --border: rgba(37,42,52,0.06);
  --container:1100px;
}

/* Bilo font family: please add font files to `fonts/` (woff2 preferred)
   Expected filenames (examples):
     fonts/Bilo-Regular.woff2
     fonts/Bilo-Bold.woff2
     fonts/Bilo-Italic.woff2
   If you have different filenames, update the paths below accordingly. */
@font-face{
  font-family: 'Bilo';
  src: url('fonts/Bilo-Regular.woff2') format('woff2'),
       url('fonts/Bilo-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: 'Bilo';
  src: url('fonts/Bilo-Bold.woff2') format('woff2'),
       url('fonts/Bilo-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: 'Bilo';
  src: url('fonts/Bilo-Italic.woff2') format('woff2'),
       url('fonts/Bilo-Italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Use Bilo across the site with sensible fallbacks */
body{font-family: 'Bilo', Inter, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}
/* enable smooth in-page scrolling for anchor links */
html{scroll-behavior:smooth}
.container{max-width:var(--container);margin:0 auto;padding:.9375rem 1.25rem}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.375rem 0}
.logo{display:inline-block;text-decoration:none}
.logo img{height:138px;display:block}
.site-header{background:#423F3F;border-bottom:1px solid rgba(255,255,255,0.06)}
.nav{display:flex;gap:1rem;margin-left:auto;align-items:center}
.nav a{color:#fff;font-weight:700;text-decoration:none;padding:.45rem .6rem}
.nav .btn.outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.12);padding:.45rem .75rem;border-radius:8px}
.nav a:hover,.nav .btn.outline:hover{opacity:.92}
.nav.open{display:block}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Hamburger button */
.nav-toggle{display:none;background:transparent;border:0;width:40px;height:40px;padding:6px;align-items:center;justify-content:center;cursor:pointer}
.hamburger{position:relative;display:inline-block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,background .25s ease}
.hamburger::before,.hamburger::after{content:"";position:absolute;left:0;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,top .25s ease}
.hamburger::before{top:-7px}
.hamburger::after{top:7px}
.nav-toggle[aria-expanded="true"] .hamburger{background:transparent}
.nav-toggle[aria-expanded="true"] .hamburger::before{transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .hamburger::after{transform:translateY(-7px) rotate(-45deg)}
.hero{padding:2.25rem 0 3rem;background:var(--bg);text-align:center}
.hero h1{font-size:2.25rem;margin:0 0 .25rem;line-height:1.05}

/* Headline color: apply brand neutral dark */
h1,h2,h3,h4,h5,h6{
  color:#423F3F;
  text-align:center;
}
.hero-logo{display:flex;justify-content:center;align-items:center;margin-bottom:2rem}
.hero-logo img{height:198px;max-width:480px;width:100%;object-fit:contain}
.hero .lead{color:var(--muted);max-width:680px;margin:0 auto 1rem;font-size:calc(1rem + 2pt)}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:8px;text-decoration:none;border:0}
.btn.outline{background:transparent;color:var(--accent);border:1px solid rgba(98,251,24,0.12);margin-left:.5rem}

/* Use styleguide gray for hero CTAs for readability */
.hero .btn{background:var(--sg-gray);color:#fff}
.hero .btn.outline{background:transparent;color:var(--sg-gray);border-color:rgba(91,95,103,0.12);margin-left:.5rem}

/* Subheading under Why VOX */
.subhead{font-family:'Bilo', Inter, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;color:#59ba47;font-size:1.25rem;margin-top:.35rem;font-weight:700}

/* Centered image under subhead (hero booth image) */
.subhead-image{display:flex;justify-content:center;margin-top:1.5rem;margin-bottom:1rem}
/* Render ~15% smaller than 1050px (~892px) */
.subhead-image img{max-width:892px;width:100%;height:auto;border-radius:8px}
.people-pressing-img{max-width:892px;width:100%;height:auto;border-radius:8px;display:block}

/* Match hero CTA card width to other Vox sections (full vox-container width) */
.hero .vox-how__cta{max-width:1100px;width:100%;margin-left:auto;margin-right:auto}
.feature-image img{max-width:100%;height:auto;border-radius:8px;display:block;margin-bottom:.75rem}
.features{padding:1.875rem 0}
.features > h2 { text-align:center; font-size:calc(1.6rem + 2pt); margin-bottom:.35rem }
.features > h3 { text-align:center }
.product-options-heading{font-size:calc(1.6rem + 2pt);text-align:center}
.features .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.feature{background:var(--surface);padding:1.25rem;border-radius:10px;box-shadow:0 8px 20px rgba(15,23,32,0.04)}
.gallery{padding:1.5rem 0}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;justify-content:center;justify-items:center}
.gallery-grid img{width:100%;height:auto;border-radius:8px;display:block;justify-self:center}
.how{padding:1.5rem 0}
.muted{color:var(--muted);font-size:.95rem}
.contact{padding:1.5rem 0}
.contact-form{display:grid;gap:.5rem;max-width:540px}
#contact .vox-container{max-width:100%}
#contact .vox-how__header{text-align:center}
#contact .contact-form{width:100%;margin-left:auto;margin-right:auto}
.contact-form input,.contact-form textarea{padding:.6rem;border:1px solid var(--border);border-radius:8px}
.form-result{margin-top:.5rem}

/* Client Portal (login) button color */
#loginForm .btn{background:var(--vox-green)}
#loginForm .btn:hover{filter:brightness(.95)}

.site-footer{padding:1.125rem 0;text-align:center;color:var(--muted)}
@media (max-width:900px){
  .features .grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .features .grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  /* Mobile menu: hidden by default and animated slide-in */
  .nav{display:flex;flex-direction:column;background:#000;position:absolute;right:1rem;top:64px;padding:.75rem;border-radius:8px;box-shadow:0 10px 30px rgba(15,23,32,0.12);width:240px;gap:.5rem;transform:translateX(12px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .28s cubic-bezier(.2,.9,.2,1),opacity .22s ease,visibility .01s linear .22s}
  .nav.open{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform .28s cubic-bezier(.2,.9,.2,1),opacity .22s ease}
  .nav a{display:block;padding:.6rem .75rem;border-radius:6px;color:#fff;font-weight:700;text-decoration:none}
  .nav a + a{margin-top:.4rem}
  .nav .btn.outline{width:100%;padding:.6rem .75rem;box-sizing:border-box;text-align:center}
  .nav-toggle{display:flex}
}

