/* Landing typography sized for the wider Benzin letterforms. */
.site-header { height:auto; min-height:76px; gap:1.5rem; padding-block:1rem; flex-wrap:wrap; }
.site-nav { flex-wrap:wrap; gap:1rem; font-size:.95rem; letter-spacing:.03em; }
.site-nav a:nth-child(2) { display:block; }
.wordmark { font-size:1.4rem; letter-spacing:-.03em; }
.eyebrow { font-size:.95rem; letter-spacing:.08em; line-height:1.4; }
.hero { min-height:0; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.hero-copy { min-height:0; padding:clamp(2rem,5vw,5rem); justify-content:center; container-type:inline-size; }
.hero h1 { max-width:none; width:100%; margin:1.25rem 0 1.5rem; font-size:clamp(1.75rem,4vw,3.75rem); font-size:clamp(1.5rem,9.5cqw,4rem); font-weight:700; line-height:1.16; letter-spacing:-.025em; }
.intro { max-width:32rem; margin:0 0 1.5rem; font-size:1.125rem; line-height:1.5; }
.hero .button { min-height:62px; max-width:100%; padding:1rem 1.85rem; font-size:1.05rem; letter-spacing:.025em; text-align:center; }
.hero-photo { min-height:0; overflow:hidden; position:relative; }
.hero-photo img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; }
.photo-caption { font-size:.85rem; }
.section { padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,5rem); }
.section-title,.feature-copy .section-title,.process-copy .section-title { max-width:none; font-size:clamp(1.7rem,2.7vw,2.75rem); font-weight:700; line-height:1.2; letter-spacing:-.025em; margin:1rem 0 2rem; text-wrap:balance; }
.drop { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.drop > div { min-width:0; container-type:inline-size; }
.drop .section-title { font-size:clamp(1.3rem,8.2cqw,2.75rem); margin-bottom:0; }
.drop p { max-width:none; margin:0; transform:none; font-family:var(--sans); font-size:clamp(.95rem,4.6cqw,1.6rem); line-height:1.55; letter-spacing:0; text-transform:none; text-align:left; }
@media (min-width:721px) {
  .drop p { margin-left:clamp(10.5rem,21vw,21rem); }
}
.split-feature,.process { grid-template-columns:repeat(2,minmax(0,1fr)); }
.feature-copy,.process-copy { padding:clamp(2rem,4.5vw,4.5rem); min-width:0; justify-content:center; }
.feature-photo { min-height:0; position:relative; }
.feature-photo img { position:absolute; width:100%; height:100%; object-fit:cover; }
.spec-list { margin:2rem 0 0; }
.spec-list li { gap:1rem; font-size:1rem; line-height:1.4; letter-spacing:.025em; }
.feature-statement { margin:2.5rem 0 0; font-size:clamp(1.1rem,1.8vw,1.8rem); font-weight:700; line-height:1.3; letter-spacing:-.02em; }
.process-copy p { max-width:30rem; margin:0; font-size:1.125rem; line-height:1.55; }
.process-photo { min-height:0; position:relative; }
.process-photo img { position:absolute; width:100%; height:100%; max-height:none; object-fit:cover; }
.reviews-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.step { padding:1.5rem; min-width:0; }
.step-number { font-size:1rem; }
.step h3 { margin:1.5rem 0 .75rem; font-family:var(--display); font-weight:700; font-size:clamp(.95rem,1.25vw,1.2rem); letter-spacing:-.02em; line-height:1.4; }
.step p { font-size:1.05rem; line-height:1.5; }
.site-footer { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
.footer-links { font-size:1rem; gap:1rem 1.5rem; }
.meta-note { font-size:.85rem; line-height:1.5; }
@media (min-width:721px) {
  .hero,.split-feature,.process { min-height:clamp(600px,52vw,780px); }
  .hero-copy,.feature-copy,.process-copy { padding-block:clamp(3rem,6vw,6rem); }
}
@media (max-width:900px) {
  .hero-copy { padding:2rem 1.5rem; }
  .feature-copy,.process-copy { padding:2rem 1.5rem; }
  .section-title,.feature-copy .section-title,.process-copy .section-title { font-size:1.75rem; }
  .steps { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .site-header { gap:.75rem; padding:1rem 1.25rem; }
  .site-nav { gap:.6rem .9rem; font-size:.9rem; }
  .hero,.drop,.split-feature,.process { grid-template-columns:minmax(0,1fr); }
  .hero-copy { padding:2.5rem 1.25rem; }
  .hero-photo { grid-row:auto; aspect-ratio:1.1; }
  .hero h1 { font-size:clamp(1.5rem,9.5cqw,3.5rem); }
  .drop { gap:2rem; }
  .drop .section-title { font-size:clamp(1.3rem,8.2cqw,2.5rem); }
  .drop p { font-size:clamp(.95rem,4.6cqw,1.5rem); }
  .feature-photo { aspect-ratio:1.1; }
  .feature-statement { font-size:clamp(1.1rem,4.8vw,1.65rem); }
  .process-photo { aspect-ratio:1.1; }
  .reviews-grid,.site-footer { grid-template-columns:minmax(0,1fr); }
  .review-image { padding:1rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .hero .button,.site-nav a::after { transition:none; }
}
