/* Commercial pages extend the existing Madio visual identity. */
.main-nav { font-size:.875rem; gap:18px; letter-spacing:0; }
.brand { flex:0 0 175px; }
.service-cta { display:inline-block; margin-top:20px; padding-bottom:6px; color:#794515; border-bottom:1px solid currentColor; font-size:.9375rem; font-weight:700; line-height:1.5; }
.service-card { display:flex; flex-direction:column; }
.service-card .service-cta { margin-top:auto; padding-top:22px; align-self:flex-start; }
.quote-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:70px; padding-block:80px; position:relative; z-index:1; }
.quote-copy h2 { font-size:clamp(2rem,4vw,3.5rem); max-width:550px; }
.quote-copy > p { font-size:1rem; color:#d1cec7; line-height:1.7; }
.quote-copy .eyebrow { color:var(--copper-light); }
.quote-copy .quote-note { font-size:.875rem; margin-top:26px; }
.quote-steps { padding-left:22px; color:#ddd8d0; font-size:1rem; line-height:1.7; }
.quote-steps li { padding-block:5px; }
.quote-form { padding:30px; background:#24231f; border:1px solid #575044; min-width:0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.quote-form label { display:flex; flex-direction:column; gap:8px; font-size:.9375rem; line-height:1.4; font-weight:600; min-width:0; }
.quote-form input,.quote-form select,.quote-form textarea { width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #aaa196; background:#fff; color:#171714; font:inherit; font-size:1rem; border-radius:2px; }
.quote-form textarea { resize:vertical; }
.quote-form small,.quote-form .optional { color:#d0c9be; font-size:.875rem; font-weight:400; }
.field-wide { grid-column:1/-1; }
.quote-form .form-help { color:#d0c9be; font-size:.875rem; line-height:1.6; margin:20px 0; }
.quote-form .button { cursor:pointer; font-size:1rem; font-family:inherit; width:100%; line-height:1.5; text-align:center; white-space:normal; }
.quote-form .form-status { font-size:1rem; line-height:1.6; padding:16px; border-left:3px solid var(--copper-light); background:#171714; }
[hidden] { display:none !important; }
.landing-hero { min-height:0; }
.landing-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:64px; padding-block:60px; }
.landing-copy h1 { font-size:clamp(2.4rem,4.8vw,4.7rem); }
.landing-copy > p { font-size:1.125rem; color:#d3cfc6; line-height:1.65; }
.landing-copy .eyebrow { font-size:.875rem; color:var(--copper-light); }
.landing-copy .landing-location { font-size:.875rem; margin-top:28px; }
.landing-photo { margin:0; border:1px solid #4e493f; background:#24231f; }
.landing-photo img { width:100%; height:460px; object-fit:contain; }
.landing-photo figcaption { padding:14px 18px; font-size:.875rem; color:#d9d2c7; line-height:1.5; }
.scope-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.scope-grid article { padding:26px 0; border-top:2px solid var(--copper); }
.scope-grid h2,.scope-note h2 { font-size:1.5rem; line-height:1.25; }
.scope-grid p,.scope-note p { font-size:1rem; line-height:1.7; color:#514b43; }
.scope-note { margin-top:26px; padding:26px; border:1px solid #c6bbac; background:#fff; }
.case-section { background:#fff; }
.case-section h2 { font-size:clamp(2rem,4vw,3rem); }
.case-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:28px; margin-top:35px; }
.case-card { border:1px solid #d5cec2; background:var(--paper); min-width:0; }
.case-card img { width:100%; height:360px; object-fit:contain; background:#24231f; }
.case-card > div { padding:24px; }
.case-card h3 { font-size:1.375rem; line-height:1.3; margin:0 0 12px; }
.case-card p { font-size:1rem; line-height:1.7; color:#514b43; }
.closing-cta { padding:60px 0; background:#23221f; color:#fff; }
.closing-cta h2 { font-size:clamp(1.75rem,3.5vw,2.6rem); margin-bottom:28px; max-width:760px; }
.closing-cta .service-cta { margin-left:24px; color:var(--copper-light); }
.quote-sticky { position:fixed; bottom:18px; right:18px; z-index:45; padding:15px 20px; color:#171714; background:var(--copper-light); box-shadow:0 4px 20px #0004; border:1px solid #fff8; font-size:.9375rem; font-weight:700; }
.careers-heading h1 { color:var(--ink); font-size:clamp(2.2rem,4.8vw,4rem); line-height:1.1; }
.button,.text-link,.contact-kicker,.footer-links,.footer-meta { font-size:.875rem; }
.service-card p,.section-heading > p { font-size:1rem; }
.site-footer { padding-bottom:70px; }
@media (min-width:881px) and (max-width:1180px) {
  .main-nav { gap:10px; font-size:.875rem; flex-wrap:wrap; justify-content:flex-end; padding-block:10px; }
  .main-nav > a:not(.nav-cta) { padding-block:8px; }
  .header-inner { gap:20px; }
}
@media (max-width:880px) {
  .quote-layout,.landing-grid { grid-template-columns:1fr; gap:32px; padding-block:44px; }
  .scope-grid { grid-template-columns:1fr; gap:8px; }
  .landing-photo img { height:400px; }
  .quote-form { padding:22px; }
  .main-nav { font-size:1rem; }
  .scope-note { padding:22px; }
}
@media (max-width:520px) {
  .form-grid { grid-template-columns:1fr; }
  .landing-copy h1 { font-size:2.4rem; }
  .landing-photo img { height:340px; }
  .quote-copy .button { font-size:.875rem; padding-inline:12px; }
  .closing-cta .service-cta { display:block; margin-left:0; width:fit-content; }
  .quote-sticky { bottom:10px; right:10px; padding:12px 16px; }
  .quote-form { padding:18px; }
  .cookie-banner { max-height:65dvh; overflow:auto; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
}
