/* ============================================================
   LAKE EFFECT COATINGS — PREMIUM: reveal, dividers, responsive
   ============================================================ */

/* ---- Scroll reveal — TRANSFORM/Y ONLY, never opacity-only
   (FORGE ledger L3/B16: opacity reveal can strand content invisible).
   No-JS / reduced-motion = fully visible by default. ---- */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease); will-change: opacity, transform; }
.reveal.is-in { opacity: 1; transform: none; }
.reveal-stagger > * { opacity: 0; transform: translateY(24px); transition: opacity 0.6s var(--ease), transform 0.6s var(--ease); }
.reveal-stagger.is-in > * { opacity: 1; transform: none; }
.reveal-stagger.is-in > *:nth-child(2) { transition-delay: 0.08s; }
.reveal-stagger.is-in > *:nth-child(3) { transition-delay: 0.16s; }
.reveal-stagger.is-in > *:nth-child(4) { transition-delay: 0.24s; }
.reveal-stagger.is-in > *:nth-child(5) { transition-delay: 0.32s; }
.reveal-stagger.is-in > *:nth-child(6) { transition-delay: 0.40s; }
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-stagger > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---- Section depth + texture (kills the flat-block feel) ---- */
.section--ink { position: relative; isolation: isolate; background: #161618; }
.section--ink > .container { position: relative; z-index: 1; }
.section--ink::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(72% 60% at 88% -12%, rgba(192,39,45,0.16), transparent 56%),
    radial-gradient(60% 70% at 4% 110%, rgba(120,130,150,0.08), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");
  background-size: auto, auto, 200px 200px; mix-blend-mode: normal; }
.section--ink::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; z-index: 1;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent); }
.section--paper { position: relative; isolation: isolate; background: linear-gradient(180deg, #fafaf8, #f1f1ee); }
.section--paper > .container { position: relative; z-index: 1; }
.section--paper::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(56% 48% at 50% -8%, rgba(192,39,45,0.045), transparent 60%); }
/* warm hairline between stacked light sections */
.section + .section--paper, .section--paper + .section { border-top: 1px solid rgba(28,28,28,0.06); }

/* ---- Angled section divider (real geometry, not a fake triangle) ---- */
.divider-angle { position: relative; }
.divider-angle::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 60px; background: inherit; clip-path: polygon(0 100%, 100% 0, 100% 100%); }

/* ---- Section eyebrow centered helper already in base ---- */

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  .hero__wrap { grid-template-columns: 1fr; gap: 2.5rem; min-height: 0; padding-block: clamp(2.5rem, 2rem + 3vw, 4rem); }
  .hero__art { max-width: 440px; margin-inline: auto; }
  .hero__copy { max-width: 640px; }
}
@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer__top { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .step:not(:last-child) .step__num::after { display: none; }
  .stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
  .nav, .header__phone { display: none; }
  .burger { display: inline-flex; }
  .split { grid-template-columns: 1fr; }
  .split__media { order: -1; max-width: 540px; }
  .versus { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .gallery { grid-template-columns: repeat(2, 1fr); }
  .gallery__item.is-wide, .gallery__item.is-tall { grid-column: auto; grid-row: auto; }
  .sticky-cta { display: grid; }
  body { padding-bottom: 70px; }
}

@media (max-width: 560px) {
  :root { --section-y: 3rem; --gutter: 1.15rem; }
  .grid-2, .grid-3, .grid-4, .stats, .steps { grid-template-columns: 1fr; }
  .section-head { margin-bottom: 1.6rem; }
  .hero__title { font-size: clamp(2.5rem, 1.5rem + 6vw, 3.2rem); }
  .hero__sub { font-size: var(--fs-base); }
  .hero__ribbon .container { grid-template-columns: repeat(2, 1fr); }
  .hero__ribbon .rib { padding: 1.3rem 0.6rem; }
  .hero__ribbon .rib:nth-child(odd)::before { display: none; }
  .hero__ribbon .rib:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,0.1); }
  .hero__review { left: 0; right: 0; width: auto; position: relative; bottom: auto; margin-top: 1rem; }
  .hero__art::before { inset: 12px -10px -10px 12px; }
  .hero__cta { flex-wrap: wrap; }
  .hero__cta .btn { width: 100%; }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .topbar .topbar__contact .hide-xs { display: none; }
  .hero__actions .btn { width: 100%; }
  .stamp { width: 104px; height: 104px; right: 8px; bottom: -14px; }
  .stamp b { font-size: 1.6rem; }
}
