#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%;
}

/* Keep Product Options images uniform */
#product-options .feature-image{width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:8px;margin-bottom:.75rem}
#product-options .feature-image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;margin:0}
: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 */
  --section-pad: 44px;
  --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-item{position:relative;display:flex;align-items:center}
.nav-item .nav-parent{color:#fff;font-weight:700;text-decoration:none;padding:.45rem .6rem;display:inline-block;background:transparent;border:0;cursor:pointer;font-family:inherit;font-size:inherit}
.nav-item .nav-parent:focus{outline:2px solid rgba(255,255,255,0.35);outline-offset:2px;border-radius:6px}
.nav-item .subnav{display:none;position:absolute;left:0;top:100%;background:#423F3F;border:1px solid rgba(255,255,255,0.12);border-radius:8px;padding:.35rem;min-width:160px;z-index:20;flex-direction:column}
.nav-item .subnav a{display:block;padding:.45rem .6rem;border-radius:6px}
.nav-item:hover .subnav,.nav-item:focus-within .subnav{display:flex}
.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:var(--section-pad) 0;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}
.hero .vox-how__cta{
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.hero .vox-how__ctaBtns{justify-content:center;width:100%}
.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}

/* FAQ */
.vox-faq{background:var(--bg);padding:var(--section-pad) 0}
.vox-faq__header{text-align:center;margin-bottom:18px}
.vox-faq__title{margin:0 0 8px;font-size:clamp(26px,3vw,38px);line-height:1.1;letter-spacing:-0.02em}
.vox-faq__subtitle{margin:0 auto;color:var(--muted);font-size:16px;line-height:1.6;max-width:70ch}
.vox-faq__list{display:grid;gap:12px;max-width:900px;margin:0 auto}
.vox-faq__item{border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,32,0.04);padding:12px 16px}
.vox-faq__item summary{cursor:pointer;font-weight:700;list-style:none}
.vox-faq__item summary::-webkit-details-marker{display:none}
.vox-faq__item p{margin:10px 0 0;color:var(--text);font-size:14px;line-height:1.6}

/* Blog */
.vox-blog{background:var(--bg);padding:var(--section-pad) 0}
.vox-blog__header{text-align:center;margin-bottom:18px}
.vox-blog__title{margin:0 0 8px;font-size:clamp(26px,3vw,38px);line-height:1.1;letter-spacing:-0.02em}
.vox-blog__subtitle{margin:0 auto;color:var(--muted);font-size:16px;line-height:1.6;max-width:70ch}
.vox-blog__list{display:grid;gap:14px;max-width:900px;margin:0 auto}
.vox-blogCard{border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,32,0.04);padding:16px}
.vox-blogCard__meta{margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.4;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.vox-blogCard__title{margin:0 0 8px;text-align:left;font-size:clamp(20px,2.5vw,28px);line-height:1.2}
.vox-blogCard__excerpt{margin:0 0 10px;color:var(--text);font-size:15px;line-height:1.6}
.vox-blogCard__link{display:inline-block;color:var(--vox-green);font-weight:700;text-decoration:none}
.vox-blogCard__link:hover{text-decoration:underline}

/* Blog post */
.vox-post{background:var(--bg);padding:var(--section-pad) 0}
.vox-post__header{max-width:900px;margin:0 auto 18px;text-align:center}
.vox-post__meta{margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.4;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.vox-post__title{margin:0 0 8px;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-0.02em}
.vox-post__subtitle{margin:0 auto;color:var(--muted);font-size:16px;line-height:1.6;max-width:70ch}
.vox-post__content{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 20px rgba(15,23,32,0.04);padding:20px}
.vox-post__content h2{text-align:left;margin:16px 0 8px;font-size:clamp(22px,2.4vw,30px);line-height:1.2}
.vox-post__content p,.vox-post__content li{font-size:15px;line-height:1.7;color:var(--text)}
.vox-post__back{color:var(--vox-green);font-weight:700;text-decoration:none}
.vox-post__back:hover{text-decoration:underline}

/* VoxMerch artwork marquee */
.vox-marquee{
  overflow:hidden;
  border-radius:12px;
  padding:8px 0;
}
.vox-marquee__track{
  display:flex;
  gap:16px;
  width:max-content;
  animation: voxMarquee 48s linear infinite;
}
.vox-marquee__track img{
  width:260px;
  height:260px;
  object-fit:cover;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(15,23,32,0.08);
  flex:0 0 auto;
}
.vox-marquee__track:hover{animation-play-state:paused}

@keyframes voxMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

@media (max-width:900px){
  .vox-marquee__track img{width:220px;height:220px}
}
@media (max-width:640px){
  .vox-marquee__track img{width:180px;height:180px}
}

/* Photo carousel (homepage) */
.vox-carouselSection{padding:1.25rem 0 0}
.vox-carousel{--carousel-gap:12px;background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,32,0.04);padding:var(--carousel-gap)}
.vox-carousel__track{display:flex;gap:var(--carousel-gap);padding:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.vox-carousel__track::-webkit-scrollbar{display:none}
.vox-carousel__track{scrollbar-width:none}
.vox-carousel__track img{flex:0 0 calc((100% - (2 * var(--carousel-gap))) / 3);width:calc((100% - (2 * var(--carousel-gap))) / 3);height:auto;max-height:420px;object-fit:cover;scroll-snap-align:start;display:block;border-radius:8px}

@media (max-width:900px){
  .vox-carousel__track img{flex-basis:calc((100% - var(--carousel-gap)) / 2);width:calc((100% - var(--carousel-gap)) / 2)}
}
@media (max-width:640px){
  .vox-carousel__track img{flex-basis:100%;width:100%}
}
.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:var(--container);padding:0 20px}
#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){
  :root{--section-pad:32px}
  .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-item{width:100%;flex-direction:column;align-items:stretch;gap:.25rem}
  .nav-item .nav-parent{display:block;padding:.6rem .75rem;border-radius:6px}
  .nav-item .subnav{position:static;display:flex;background:transparent;border:0;padding:0 0 0 .75rem;min-width:0}
  .nav-item .subnav a{padding:.6rem .75rem}
  .nav-toggle{display:flex}
}

