/* Destination-only layout. The approved homepage never loads this stylesheet. */
.destination-page .destination-eyebrow { color: var(--blue); font-size: .8125rem; line-height: 1.5; letter-spacing: .14em; font-weight: 650; margin-bottom: 12px; }
.destination-page .destination-hero { overflow: hidden; }
.destination-page .destination-hero-content { min-height: 510px; padding-block: 54px 56px; display: flex; align-items: center; }
.destination-page .destination-hero-message { max-width: 635px; color: #fff; }
.destination-page .destination-hero h1 { max-width: 660px; margin-bottom: 20px; }
.destination-page .destination-hero .destination-eyebrow { color: #edf4fc; margin-bottom: 17px; }
.destination-page .destination-hero-copy { max-width: 600px; }
.destination-page .destination-hero-copy p { color: #f4f8ff; font-size: 1.04rem; line-height: 1.6; }
.destination-page .destination-hero-copy p + p { margin-top: 13px; }
.destination-page .destination-hero-message > .btn { margin-top: 25px; }
.destination-page .destination-hero--installation .hero-background { object-position: 75% 42%; }
.destination-page .destination-hero--replacement .hero-background { object-position: 65% 22%; }
.destination-page .destination-hero--downspouts .hero-background { object-position: right 43%; }
.destination-page .destination-hero--about .hero-background { object-position: 68% 49%; }
.destination-page .destination-hero--area .hero-background { object-position: center 70%; }
.destination-page .destination-hero--estimate .hero-background { object-position: right 40%; }
.destination-page .destination-hero--estimate .destination-hero-content { min-height: 405px; }
.destination-page .destination-prose { max-width: 890px; }
.destination-page .destination-prose h2 { margin-bottom: 18px; }
.destination-page .destination-prose > p:not(.destination-eyebrow) + p { margin-top: 12px; }
.destination-page .destination-section + .destination-section { border-top: 1px solid var(--line); }
.destination-page .destination-links { display: flex; gap: 15px 30px; flex-wrap: wrap; margin-top: 22px; }
.destination-page .destination-links .text-link { display: inline-block; font-size: 1rem; }
.destination-page .destination-section--services .destination-prose { max-width: none; }
.destination-page .destination-section--services .destination-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; }
.destination-page .destination-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 60px; height: 60px; border: 1px solid var(--blue); border-radius: 50%; color: var(--blue); background: #fff; }
.destination-page .destination-icon svg { width: 29px; height: 29px; }
.destination-page .destination-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; margin-top: 34px; text-align: center; }
.destination-page .destination-benefits .destination-icon { margin-bottom: 14px; }
.destination-page .destination-benefits h3 { font-family: Georgia,"Times New Roman",serif; font-size: 1.25rem; font-weight: 700; margin-bottom: 10px; }
.destination-page .destination-benefits p { max-width: 355px; margin-inline: auto; line-height: 1.5; }
.destination-page .destination-process { padding-block: 38px; }
.destination-page .destination-process .process-grid { grid-template-columns: 300px minmax(0,1fr); }
.destination-page .destination-process .process-intro { display: block; }
.destination-page .destination-process .destination-eyebrow { color: #96d5ff; }
.destination-page .destination-process .process-intro h2 { max-width: none; }
.destination-page .destination-locations { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 28px; margin-top: 30px; }
.destination-page .destination-locations h3 { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.destination-page .destination-locations h3 svg { width: 21px; height: 25px; color: var(--blue); flex-shrink: 0; }
.destination-page .destination-locations p { line-height: 1.5; }
.destination-page .destination-availability { padding-top: 0; }
.destination-page .destination-availability .destination-estimate-card:not(:has(.confirmation)) { padding: 30px; background: var(--pale); border-radius: 4px; }
.destination-page .destination-availability .destination-estimate-card > h2 { margin-bottom: 14px; }
.destination-page .destination-availability .estimate-form { margin-top: 23px; }
.destination-page .destination-about-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; margin-top: 35px; }
.destination-page .destination-about-principle .destination-icon { margin-bottom: 18px; }
.destination-page .destination-about-principle h2 { font-size: 1.65rem; margin-bottom: 14px; }
.destination-page .destination-about-principle p + p { margin-top: 12px; }
.destination-page .destination-estimate-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 70px; padding-block: 38px 48px; }
.destination-page .destination-form-title { margin-bottom: 23px; font-size: 2rem; }
.destination-page .destination-estimate-layout .estimate-form { grid-template-columns: minmax(0,1fr); gap: 15px; }
.destination-page .destination-estimate-layout .form-error { grid-row: auto; }
.destination-page .destination-form-support { font-size: .875rem; line-height: 1.5; margin-top: 14px; }
.destination-page .destination-next-steps h2 { font-size: 2rem; margin-bottom: 27px; }
.destination-page .destination-step-list { list-style: none; display: grid; gap: 24px; margin: 0; padding: 0; }
.destination-page .destination-step-list li { position: relative; display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 17px; }
.destination-page .destination-step-list li:not(:last-child)::after { content: ''; position: absolute; left: 23px; top: 50px; bottom: -20px; width: 1px; background: var(--line); }
.destination-page .destination-step-list .destination-icon { width: 46px; height: 46px; border: 0; background: var(--pale); }
.destination-page .destination-step-list .destination-icon svg { width: 24px; height: 24px; }
.destination-page .destination-step-list h3 { margin: 1px 0 6px; }
.destination-page .destination-step-list p { line-height: 1.5; }
.destination-page .destination-contact-options { display: flex; flex-wrap: wrap; gap: 18px 30px; margin-top: 24px; }
.destination-page .destination-final-layout { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.destination-page .destination-final .final-copy { max-width: 790px; }
.destination-page .destination-final h2 { max-width: none; }
.destination-page .destination-final .destination-eyebrow { color: #96d5ff; }
.destination-page .destination-final .btn { flex-shrink: 0; }

/* The approved centered confirmation component remains intact. */
.destination-page .destination-estimate-layout:has(.confirmation) { grid-template-columns: minmax(0,1fr); gap: 0; position: relative; z-index: 2; margin-top: -280px; }
.destination-page .destination-estimate-layout:has(.confirmation) .destination-next-steps { margin-top: 48px; }
.destination-page .destination-availability .estimate-card:has(.confirmation) { background: #fff; }

@media (max-width: 980px) {
  .destination-page .destination-hero-content { min-height: 490px; padding-block: 44px; }
  .destination-page .destination-hero-message { max-width: 600px; }
  .destination-page .destination-benefits,.destination-page .destination-about-principles { gap: 28px; }
  .destination-page .destination-process .process-grid { grid-template-columns: 1fr; }
  .destination-page .destination-locations { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .destination-page .destination-estimate-layout { gap: 38px; }
  .destination-page .destination-final-layout { gap: 30px; }
}
@media (max-width: 720px) {
  .destination-page .destination-hero-content { min-height: 0; padding-block: 38px 42px; }
  .destination-page .destination-hero-message { max-width: none; }
  .destination-page .destination-hero h1 { max-width: none; font-size: 2.65rem; }
  .destination-page .destination-hero-copy p { font-size: 1rem; line-height: 1.6; }
  .destination-page .destination-hero .hero-background { object-position: 73% center; }
  .destination-page .destination-hero--downspouts .hero-background { object-position: 85% center; }
  .destination-page .destination-hero--estimate .destination-hero-content { min-height: 0; }
  .destination-page .destination-hero-message > .btn { width: 100%; max-width: 390px; margin-top: 25px; }
  .destination-page .destination-eyebrow { font-size: .8125rem; letter-spacing: .11em; }
  .destination-page .destination-section { padding-block: 35px; }
  .destination-page .destination-benefits { grid-template-columns: 1fr; text-align: left; gap: 26px; }
  .destination-page .destination-benefits article { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 0 17px; }
  .destination-page .destination-benefits .destination-icon { width: 52px; height: 52px; grid-row: 1 / 3; margin: 0; }
  .destination-page .destination-benefits h3 { margin-bottom: 8px; }
  .destination-page .destination-benefits p { max-width: none; margin: 0; }
  .destination-page .destination-section--services .destination-links { grid-template-columns: 1fr; gap: 18px; }
  .destination-page .destination-links { gap: 18px; }
  .destination-page .destination-links .text-link { min-height: 44px; padding-block: 9px; }
  .destination-page .destination-locations { grid-template-columns: 1fr; gap: 25px; }
  .destination-page .destination-locations h3 { margin-bottom: 8px; }
  .destination-page .destination-locations p { padding-left: 29px; }
  .destination-page .destination-availability { padding-bottom: 35px; }
  .destination-page .destination-availability .destination-estimate-card:not(:has(.confirmation)) { padding: 24px 20px; }
  .destination-page .destination-availability .estimate-form { grid-template-columns: 1fr; }
  .destination-page .destination-availability .form-error { grid-row: auto; }
  .destination-page .destination-about-principles { grid-template-columns: 1fr; gap: 30px; }
  .destination-page .destination-about-principle { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 0 17px; }
  .destination-page .destination-about-principle .destination-icon { width: 52px; height: 52px; grid-column: 1; grid-row: 1 / 6; margin: 0; }
  .destination-page .destination-about-principle > :not(.destination-icon) { grid-column: 2; }
  .destination-page .destination-about-principle h2 { font-size: 1.5rem; }
  .destination-page .destination-estimate-layout { grid-template-columns: minmax(0,1fr); padding-block: 32px 38px; gap: 38px; }
  .destination-page .destination-form-title,.destination-page .destination-next-steps h2 { font-size: 1.8rem; }
  .destination-page .destination-estimate-layout:has(.confirmation) { margin-top: -170px; }
  .destination-page .destination-estimate-layout:has(.confirmation) .destination-next-steps { margin-top: 35px; }
  .destination-page .destination-final-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 25px; }
  .destination-page .destination-final .btn { width: 100%; max-width: 390px; }
}
