/* October 2026: readable headings and a shorter route from browsing to contact. */
main h1,main h2,.home-page .hero h1,.home-page .hero h1 em,
main .studio-teaser h2,.closing h2,.coupon-copy h2 {
  -webkit-text-stroke:0; text-shadow:none; letter-spacing:-.025em;
  color:#12334d;
}
.home-page .hero h1,.home-page .hero h1 em,main .studio-teaser h2 {color:#fff}
.home-page .hero h1 {font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.12}
.home-page .hero-content {min-width:0}
main .hero .hero-content>p:not(.eyebrow) {font-family:'DM Sans',Arial,sans-serif;font-size:1.1rem;line-height:1.65}
main .hero .hero-content>.hero-offer {font-size:.875rem;margin:8px 0 0;color:#fff}
.hero-offer a {text-underline-offset:3px}
.actions .button.secondary {margin:0;background:white;color:#0752a6;border-color:#0752a6}
.trust-details {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 5%;background:#e8f0f6;border-bottom:1px solid #c6d8e6;font-family:'DM Sans',Arial,sans-serif}
.trust-details strong,.trust-details span {display:block;line-height:1.5}
.trust-details strong {font-size:1rem}.trust-details span{font-size:.875rem;color:#365269}
.owner-intro {display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:38px;border-bottom:1px solid #c6d8e6}
.owner-intro>div {max-width:780px}.owner-intro h2{font-size:1.75rem;margin-bottom:12px}
.owner-intro .eyebrow{margin-bottom:12px}.owner-intro .inline-link{flex-shrink:0}
main .owner-intro p:not(.eyebrow) {font:1rem/1.7 'DM Sans',Arial,sans-serif;margin:0}
.ba-item figcaption span{display:block;font: .875rem/1.5 'DM Sans',Arial,sans-serif;margin-top:6px}
.coupon-copy small {font-size:.875rem;line-height:1.6;display:block}
.footer-coupon {min-width:0}.coupon-stamp strong{white-space:nowrap}
.contact-intro{padding-block:36px 24px}.contact-intro h1{margin-bottom:16px;font-size:clamp(2rem,5vw,3.25rem)}
.contact-intro .lead {font:1.1rem/1.65 'DM Sans',Arial,sans-serif}
.contact-intro .actions{margin-bottom:0}
.contact-layout{padding-top:28px;align-items:start}
.contact-layout form{background:#fff;padding:28px;border:1px solid #c6d8e6;border-radius:10px;min-width:0}
.contact-layout h2{font-size:1.6rem}.contact-layout form p,.contact-layout .project-box p{font:1rem/1.65 'DM Sans',Arial,sans-serif}
.contact-layout form label{font-size:1rem}.contact-layout form input,.contact-layout form textarea,.contact-layout form select{font-size:1rem}
.contact-layout form .caption{font-size:.875rem!important}
.contact-layout .project-box{position:sticky;top:20px}
.contact-layout .button{margin-top:18px}.contact-layout .form-choice{display:flex;gap:12px;align-items:center}
.contact-layout .form-choice input {width:auto;max-width:none}
.contact-layout .form-choice label{margin:0;font-weight:400}
.form-status{padding:12px 0;margin:0!important}.form-status:not(:empty){border-top:1px solid #d4e2ec;margin-top:18px!important}
.form-status.error{color:#9a241b}.form-status.success{color:#155234}
.form-fallback{margin-top:16px}.form-fallback a{color:#0752a6}
.spam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}
.scope-panel {border-left:4px solid #075fcb;background:#edf4f9;padding:24px;margin:28px 0}
.scope-panel h2{margin-top:0!important;font-size:1.5rem!important}
.scope-panel li{font:1rem/1.65 'DM Sans',Arial,sans-serif;margin-bottom:10px}
.community-resource {margin-top:28px;padding:22px;border:1px solid #c3d6e5;background:#f6faff}
.community-resource h2{margin-top:0!important}.community-resource a{color:#0752a6}
.mobile-contact{display:none}
@media(max-width:700px){
  .topbar{gap:8px;align-items:center;padding:8px 4%}
  .topbar>span{display:none}.topbar>a{font: .875rem/1.4 'DM Sans',Arial,sans-serif;letter-spacing:0}
  .topbar .holiday-services-button{padding:8px;font-size:.75rem}
  header{min-height:68px;padding:8px 4%;gap:10px}
  header .brand{font-size:1rem;letter-spacing:1px;gap:8px}header .brand small{font-size:.625rem;letter-spacing:.7px}
  header .brand img{width:42px;height:42px}.menu-toggle{min-width:60px;min-height:44px;font-size:.875rem}
  .home-page .hero-photo{background-image:none}
  .home-page .hero h1{font-size:clamp(1.875rem,8vw,2.625rem);line-height:1.15;white-space:normal}
  .home-page .hero-content{width:100%;padding:28px 5%}
  main .hero .hero-content>p:not(.eyebrow){font-size:1rem}
  .hero-logo{display:none}.hero .actions{gap:10px;margin:22px 0 12px}
  .hero .button{padding:12px 16px;font-size:1rem}
  .trust-details{grid-template-columns:1fr;gap:14px;padding:22px 5%}
  .trust-details>div{padding-bottom:12px;border-bottom:1px solid #c6d8e6}.trust-details>div:last-child{border:0;padding:0}
  .owner-intro{display:block;padding-block:28px}.owner-intro h2{font-size:1.6rem}
  .owner-intro .inline-link{margin-top:18px}
  .contact-intro{padding-block:26px 22px}.contact-intro .actions{gap:10px;margin-top:18px}
  .contact-intro .button{padding:12px 16px}.contact-layout{gap:28px;padding-top:20px}
  .contact-layout form{padding:20px}.contact-layout .project-box{position:static}
  .contact-layout .form-choice{align-items:flex-start}.contact-layout .form-choice input{margin-top:7px}
  .mobile-contact{position:fixed;inset:auto 0 0;z-index:50;display:grid;grid-template-columns:1fr 1fr;background:#0752a6;box-shadow:0 -2px 10px #091d3026;padding-bottom:env(safe-area-inset-bottom)}
  .mobile-contact a{padding:14px 10px;text-align:center;text-decoration:none;font:600 1rem/1.4 'DM Sans',Arial,sans-serif;color:#fff;min-height:50px}
  .mobile-contact a+a{border-left:1px solid #ffffff70}body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
}
@media(min-width:701px){.home-page .hero-photo{background-image:url('../images/house-exterior-960.webp')}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep headings readable against the older decorative type rules. */
body main h1,body main h2,body .project-closing h2 {text-shadow:none!important;-webkit-text-stroke:0!important;color:#12334d!important}
body.home-page main .hero h1,body.home-page main .hero h1 em,body main .studio-teaser h2{color:#fff!important}
body .project-closing .coupon-copy small{font-size:.875rem!important;line-height:1.6}
@media(max-width:700px){body .topbar>a{font-size:.875rem!important} .mobile-contact{gap:0} }

/* DM Serif Display: artisan headline type, regular and true italic. */
@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/dm-serif-display-italic.woff2') format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/dm-serif-display-normal.woff2') format('woff2')}
body :is(h1,h2,h3,h4,h5,h6),body :is(h1,h2,h3,h4,h5,h6) :is(em,strong,span){font-family:'DM Serif Display',Georgia,serif!important;font-weight:400!important;font-synthesis:none;letter-spacing:normal}
