/* Ivan's Pro Painting, page content in the rebuilt Modernist system.
   Loaded after styles-v2/v3, interactive.css and site.css on every inner page, so the existing
   markup (and every URL, schema block and form) stays exactly as it was and only the look changes:
   Archivo throughout, heavy tight headings, square corners, hairline rules, wide-tracked labels. */
body.fw-inner, body.fw-inner button, body.fw-inner input, body.fw-inner select, body.fw-inner textarea,
body.fw-inner h1, body.fw-inner h2, body.fw-inner h3, body.fw-inner h4, body.fw-inner p, body.fw-inner li,
body.fw-inner a, body.fw-inner span, body.fw-inner b, body.fw-inner strong, body.fw-inner em, body.fw-inner label,
body.fw-inner summary, body.fw-inner figcaption, body.fw-inner blockquote, body.fw-inner td, body.fw-inner th, body.fw-inner div {
  font-family: var(--font) !important;
}
body.fw-inner { color: var(--muted-dark); -webkit-font-smoothing: antialiased; }
body.fw-inner .scrollprog { display: none; }

/* headings: heavy and tight, no serif italics */
body.fw-inner h1, body.fw-inner h2, body.fw-inner h3 { font-weight: 800; letter-spacing: -0.02em; text-wrap: balance; color: var(--text-dark); }
body.fw-inner h1 { line-height: 1.04; }
body.fw-inner h2 { line-height: 1.1; }
body.fw-inner h1 em, body.fw-inner h2 em { font-style: normal; font-weight: 800; color: inherit; }
body.fw-inner .hero h1, body.fw-inner .hero h1 em { color: #fff; }
body.fw-inner .hero h1 { font-size: clamp(34px, 4.6vw, 60px); }
body.fw-inner .sec-head h2 { font-size: clamp(28px, 3.4vw, 44px); }

/* eyebrows as the system's tracked, hairline-led labels */
body.fw-inner .eyebrow, body.fw-inner .dd-eyebrow {
  display: inline-flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--blue-mid);
}
body.fw-inner .eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; flex: none; }
body.fw-inner .hero .eyebrow { color: var(--accent-dark); }
body.fw-inner .sec-head { text-align: left; max-width: 1160px; }
body.fw-inner .sec-head .eyebrow { justify-content: flex-start; }

/* buttons: square, red fill, heavy label */
body.fw-inner .btn, body.fw-inner button.btn, body.fw-inner .leadcard button[type="submit"] {
  border-radius: 0; box-shadow: none; font-weight: 800; letter-spacing: 0; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--red); color: #fff; border: 2px solid transparent; text-transform: none; transition: background .2s ease;
}
body.fw-inner .btn:hover, body.fw-inner .leadcard button[type="submit"]:hover { background: var(--red-hover); color: #fff; }
body.fw-inner .hero .callrow .btn { box-shadow: none; }
body.fw-inner a.telbig { font-weight: 800; letter-spacing: 0; font-variant-numeric: tabular-nums; }

/* surfaces and rules */
body.fw-inner .reviews { background: var(--paper-2); }
body.fw-inner .card, body.fw-inner .step, body.fw-inner .tier, body.fw-inner .leadcard, body.fw-inner .why3-item, body.fw-inner .termrow li,
body.fw-inner .faq details, body.fw-inner .sp-card, body.fw-inner .ba-card, body.fw-inner .answer, body.fw-inner .atable {
  border-radius: 0 !important; box-shadow: none !important;
}
body.fw-inner .card { border: 1px solid var(--line); background: #fff; transition: border-color .2s ease, transform .2s ease; }
body.fw-inner a.card:hover { border-color: var(--text-dark); transform: translateY(-2px); }
body.fw-inner .card h3 { font-size: 20px; }
body.fw-inner .card img, body.fw-inner .jobgal img, body.fw-inner .gallery2 img, body.fw-inner .crewgrid img { border-radius: 0 !important; }
body.fw-inner .chip, body.fw-inner .trustchips .chip { border-radius: 0; font-weight: 700; }

/* FAQ: ruled list with a plus/minus, like the home page */
body.fw-inner .faq details { border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 0; }
body.fw-inner .faq details:first-child { border-top: 1px solid var(--line); }
body.fw-inner .faq summary { font-weight: 800; font-size: 19px; color: var(--text-dark); padding: 22px 40px 22px 0; letter-spacing: -0.01em; }
body.fw-inner .faq summary::after { color: var(--red); font-weight: 400; }
body.fw-inner .faq .a { padding: 0 0 22px; font-size: 17px; line-height: 1.6; color: var(--muted-dark); }

/* lead form card */
body.fw-inner .leadcard { border: 1px solid var(--line); border-top: 4px solid var(--red); }
body.fw-inner .leadcard h3 { font-weight: 800; }
body.fw-inner .leadcard input, body.fw-inner .leadcard select, body.fw-inner .leadcard textarea { border-radius: 0; }

/* hero: navy wash over the job photo, copy flush left */
body.fw-inner .hero.has-photo .hero-bg::after { background: linear-gradient(90deg, rgba(11,30,53,.92) 0%, rgba(11,30,53,.78) 45%, rgba(11,30,53,.45) 100%); }

/* call-to-action band */
body.fw-inner .ctaband { background: var(--ink); }
body.fw-inner .ctaband h2 { color: #fff; font-size: clamp(28px, 3.2vw, 42px); }

/* motion: content rises in on scroll (site.js adds .rv/.in); nothing moves under reduced motion */
@media (prefers-reduced-motion: no-preference) {
  body.fw-inner .rv { opacity: 0; transform: translateY(18px); transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
  body.fw-inner .rv.in { opacity: 1; transform: none; }
}

/* check lists: block layout so a bold lead-in and its sentence wrap as one paragraph on phones */
body.fw-inner .list-check li { display: block; position: relative; padding-left: 32px; }
body.fw-inner .list-check li::before { position: absolute; left: 0; top: .25em; }
body.fw-inner .mobile-bar .btn-line { background: transparent; border-color: var(--rule-ink-2); color: #fff; }
