.snow-page *, .snow-home * { min-width: 0; letter-spacing: 0; }
.snow-page h1 { font-size: 46px; max-width: 660px; }
.snow-page h2, .snow-home h2 { font-size: 32px; }
.snow-page h3 { font-size: 21px; }
.snow-page .hero { position: relative; isolation: isolate; overflow: hidden; padding: 48px 0 34px; background: #0d493e; }
.snow-hero-copy { position: relative; z-index: 2; }
.snow-hero-copy .breadcrumbs { color: #e8f2ed; font-size: 14px; margin-bottom: 18px; }
.snow-hero-copy .breadcrumbs a { text-decoration: underline; }
.snow-hero-copy .lead { max-width: 600px; color: #fff; font-size: 19px; }
.snow-hero-copy .eyebrow { letter-spacing: 0; }
.snow-hero-copy .btn.primary { background: #d7f45b; color: #172817; border-color: #d7f45b; }
.snow-hero-copy .btn.ghost { color: #fff; border-color: #dbe5e2; }
.snow-hero-media { position: absolute; inset: 0; z-index: -1; margin: 0; }
.snow-hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(6,32,27,.96),rgba(6,32,27,.9) 40%,rgba(6,32,27,.08) 78%); }
.snow-hero-media picture, .snow-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.snow-hero-media figcaption { position: absolute; z-index: 1; right: 18px; bottom: 8px; font-size: 11px; color: #fff; background: #183c32; padding: 3px 7px; }
.snow-highlights { display: flex; flex-wrap: wrap; gap: 8px 22px; padding-left: 20px; margin: 24px 0 0; font-size: 14px; }
.snow-page .btn, .snow-home .btn { max-width: 100%; white-space: normal; text-align: center; padding: 10px 16px; }
.snow-page-nav { display: flex; flex-wrap: wrap; gap: 10px 22px; padding-block: 18px; border-bottom: 1px solid #dbe5e2; }
.snow-page-nav a, .snow-page p a { color: #0d5847; text-decoration: underline; text-underline-offset: 3px; }
.snow-object-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 28px; }
.snow-object-grid > div { border-top: 3px solid #126b58; padding-top: 18px; }
.snow-example-layout, .snow-parking-layout, .snow-home-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; align-items: center; }
.snow-photo, .snow-home figure { margin: 0; }
.snow-photo img, .snow-home img { width: 100%; height: auto; border-radius: 6px; }
.snow-photo figcaption, .snow-home figcaption { color: #536563; font-size: 12px; margin-top: 8px; }
.snow-example-layout { margin-top: 28px; }
.snow-checklist { padding-left: 22px; }
.snow-checklist li { margin-bottom: 10px; }
.snow-note { margin-top: 24px; padding: 18px 22px; border-left: 4px solid #2c6fbb; background: #eff5fa; }
.snow-price-layout, .snow-order-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 36px; align-items: start; }
.snow-price-factors { margin: 24px 0 0; }
.snow-price-factors > div { display: grid; grid-template-columns: minmax(0,.6fr) minmax(0,1fr); gap: 18px; border-top: 1px solid #c9d7d1; padding: 16px 0; }
.snow-price-factors dt { font-weight: 700; }
.snow-price-factors dd { margin: 0; }
.snow-quote { padding: 24px; background: #fff; border: 1px solid #c9d7d1; border-radius: 6px; }
.snow-muted { margin: 14px 0 0; color: #536563; font-size: 14px; }
.snow-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 28px; }
.snow-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.snow-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; padding-left: 22px; margin-top: 28px; }
.snow-steps li::marker { font-weight: 700; color: #126b58; }
.snow-steps p { margin-top: 10px; }
.snow-form { display: grid; gap: 16px; border: 1px solid #c9d7d1; box-shadow: none; }
.snow-form label { display: grid; gap: 6px; font-size: 15px; font-weight: 700; }
.snow-form input, .snow-form select, .snow-form textarea { width: 100%; max-width: 100%; font: inherit; font-weight: 400; padding: 12px; border: 1px solid #9fb5ad; border-radius: 4px; background: #fff; color: #102422; }
.snow-form textarea { resize: vertical; }
.snow-form :focus-visible, .snow-page a:focus-visible, .snow-home a:focus-visible { outline: 3px solid #2c6fbb; outline-offset: 3px; }
.snow-phone { font-size: 24px; font-weight: 700; }
.snow-page .faq details { background: #fff; border-radius: 6px; }
.snow-page .faq p { margin: 16px 0 0; }
.snow-related { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 24px; }
.snow-related .card { display: flex; flex-direction: column; gap: 12px; height: auto; padding: 22px; border-radius: 6px; }
.snow-related h3, .snow-related p { margin: 0; }
.snow-related span { margin-top: auto; color: #0d5847; text-decoration: underline; }
.snow-final { background: #e8f1ec; }
.snow-kicker { font-size: 14px; font-weight: 700; color: #126b58; }
@media (max-width:760px) {
  .snow-page h1 { font-size: 30px; }
  .snow-page h2, .snow-home h2 { font-size: 26px; }
  .snow-page h3 { font-size: 20px; }
  .snow-page .hero { padding: 22px 0 0; }
  .snow-hero-copy .lead { font-size: 17px; }
  .snow-hero-copy .breadcrumbs { font-size: 13px; margin-bottom: 14px; }
  .snow-hero-copy .hero-actions { margin-top: 18px; gap: 10px; }
  .snow-hero-media { position: relative; z-index: 0; margin-top: 24px; }
  .snow-hero-media::after { display: none; }
  .snow-hero-media picture, .snow-hero-media img { height: auto; object-fit: contain; }
  .snow-hero-media figcaption { position: static; font-size: 11px; padding: 8px 18px; }
  .snow-highlights { margin-top: 18px; gap: 6px 22px; }
  .snow-page .section, .snow-home.section { padding-block: 36px; }
  .snow-object-grid, .snow-example-layout, .snow-parking-layout, .snow-home-layout, .snow-price-layout, .snow-order-layout, .snow-related, .snow-columns { grid-template-columns: 1fr; gap: 24px; }
  .snow-steps { grid-template-columns: 1fr; gap: 14px; }
  .snow-price-factors > div { grid-template-columns: 1fr; gap: 6px; }
  .snow-form, .snow-quote { padding: 18px; }
  .snow-phone { font-size: 22px; }
  .snow-home figure { order: 2; }
}
