@import url('/jns-layout.css');
[hidden]{display:none!important}.review-strip{letter-spacing:.04em}.site-header{border-bottom-color:#ffffff19}.header-inner{gap:16px;min-height:94px}.site-header .pdm-brand,.footer .pdm-brand{display:inline-flex;min-width:162px;width:162px;align-items:center;gap:1px;text-align:center;color:#fff}.pdm-brand-mark{width:112px;height:28px;color:var(--gold)}.pdm-brand strong{font:700 1.47rem/1 var(--font-head);white-space:nowrap;text-transform:uppercase;letter-spacing:.012em}.pdm-brand small{font-size:.57rem;line-height:1.6;letter-spacing:.025em;color:#fff}.pdm-header-cta{white-space:nowrap}.pdm-footer-contact{font-size:.85rem;line-height:1.6;overflow-wrap:anywhere;color:#d8e0d7}.pdm-hero .hero-scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.pdm-hero .hero-scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101a13f5 0%,#101a13da 34%,#101a1370 62%,#101a1322 100%);pointer-events:none}.pdm-hero .hero-scene-copy{position:relative;z-index:2;padding:72px 0 126px}.pdm-hero .home-heading{margin:0;max-width:860px}.pdm-hero .heading-main{display:block;max-width:14ch;font-size:clamp(3.55rem,6.7vw,6.75rem);line-height:.96}.pdm-hero .heading-location{color:#ecd9a4}.pdm-hero .lead{max-width:500px}.pdm-hero .hero-actions{display:flex;align-items:stretch;gap:12px}.pdm-hero .button-outline{background:#17201b;color:white;border-color:#ffffff85;text-shadow:none}.pdm-form-note{font-size:.83rem;color:var(--muted);margin:8px 0 0}.pdm-form-result{padding:14px 16px;margin:12px 0;background:#eef3e9;border:1px solid #c5d4bc;border-radius:3px}.pdm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.pdm-card{border:1px solid var(--line);background:white;padding:23px;min-width:0}.pdm-card h3{margin-bottom:8px}.pdm-card p{margin:0;font-size:.91rem;color:var(--muted)}.pdm-card .text-link{margin-top:17px}.pdm-empty{background:#e9ede7;border:1px solid var(--line);border-left:4px solid var(--gold);padding:22px 24px;margin-top:16px}.pdm-empty p{margin:0;color:var(--muted)}.pdm-faq{max-width:880px;margin-top:24px}.pdm-faq details{border-block-end:1px solid var(--line);padding:13px 0}.pdm-faq summary{min-height:44px;display:list-item;cursor:pointer;font-weight:700;padding:8px 0}.pdm-faq p{margin:0;padding:0 0 10px;color:var(--muted)}.pdm-interior{padding:46px 0 58px;text-align:center}.pdm-interior h1{max-width:22ch;margin:0 auto 18px}.pdm-interior .lead{margin:0 auto 22px}.pdm-interior figure{margin:36px auto 0;max-width:900px;overflow:hidden;border-radius:4px;background:#17201b}.pdm-interior figure img{width:100%;aspect-ratio:2.4;object-fit:cover}.pdm-interior figure figcaption{color:#e0e7dc;text-align:left;font-size:.77rem;padding:10px 14px}.pdm-content{max-width:870px;padding:0 0 55px}.pdm-content section{padding:23px 0;border-top:1px solid var(--line)}.pdm-content h2{margin:0 0 14px}.pdm-content p{margin:0 0 10px}.pdm-process{counter-reset:step}.pdm-process .pdm-card:before{counter-increment:step;content:'0' counter(step);color:var(--gold-dark);font-weight:700;display:block;margin-bottom:10px}.pdm-pairs{margin-top:22px}.pdm-pairs article{margin:0;background:white;border:1px solid var(--line);padding:14px}.pdm-pairs h3{margin:0 0 10px}.pdm-pairs .pair-frames{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pair-frames figure{margin:0;background:#17201b;color:#fff}.pair-frames img{width:100%;aspect-ratio:1;object-fit:cover}.pair-frames figcaption{padding:6px 9px;font-size:.82rem}.pdm-areas-note{margin-top:12px}.pdm-surface{padding-block:48px}.pdm-form-separation{margin-top:16px}.pdm-masthead-note{color:#dbe3d8;font-size:.85rem}
@media(max-width:850px){.pdm-header-cta{display:none}.pdm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdm-hero .hero-scene-copy{padding-top:45px;padding-bottom:108px}}
@media(max-width:650px){.site-header .pdm-brand,.footer .pdm-brand{width:143px;min-width:143px}.pdm-brand strong{font-size:1.3rem}.pdm-brand-mark{width:97px;height:24px}.header-inner{min-height:80px}.pdm-hero.hero-home-scene{aspect-ratio:auto;min-height:415px}.pdm-hero .hero-scene-copy{padding:28px 0 86px}.pdm-hero .hero-scene-video{object-position:62% center}.pdm-hero .hero-scene-shade{background:linear-gradient(180deg,#101a13ed 0%,#101a13ab 60%,#101a138a 100%)}.pdm-hero .heading-main{max-width:14ch;font-size:clamp(2.48rem,10.6vw,3.2rem)}.pdm-hero .heading-location{font-size:1.18rem}.pdm-hero .hero-actions{display:grid;grid-template-columns:1fr}.pdm-hero .hero-actions .button{width:100%;justify-content:center}.pdm-grid{grid-template-columns:1fr}.pdm-interior{padding-top:32px}.pdm-interior h1{font-size:clamp(2.25rem,9vw,3rem);max-width:20ch}.pdm-interior figure img{aspect-ratio:1.6}.pdm-surface{padding-block:33px}.pdm-card{padding:17px}.pdm-hero + .estimate-overlap{margin-top:-51px}.pdm-form-result{font-size:.87rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.button{transition:none}}
.pdm-hero .heading-main{margin-inline:auto}
@media(max-width:650px){.site-header .mobile-menu{margin-left:auto}}
/* The reused J&S grid expects individual headings and text as children. Here each band owns a full-width wrap. */
#main > .content-section{display:block;padding:46px 0 54px;margin:0;border-top:1px solid var(--line)}
#main > .content-section h2{margin-bottom:17px}
.pdm-pairs article{min-width:0}.pdm-pairs .pair-frames{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){#main > .content-section{padding:31px 0 40px}}

@font-face {
  font-family: 'Barlow Condensed';
  src: url('/fonts/barlow-condensed-latin-700-normal.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Barlow Condensed';
  src: url('/fonts/barlow-condensed-latin-800-italic.woff2') format('woff2');
  font-style: italic;
  font-weight: 800;
  font-display: swap;
}

:root {
  --navy: #101b2b;
  --paper: #f2f5f8;
  --ink: #172537;
  --muted: #46586a;
  --line: #c7d1de;
  --soft: #e5ecf3;
  --gold: #ff844c;
  --gold-dark: #a13c15;
  --font-head: 'Barlow Condensed', 'Public Sans', sans-serif;
}

.review-strip {
  background: var(--soft);
  color: var(--ink);
}

.site-header, .footer, .pdm-hero, .pdm-interior figure, .pair-frames figure {
  background: var(--navy);
}

.site-header {
  border-bottom-color: #ffffff2b;
}

.site-header .pdm-brand, .footer .pdm-brand {
  width: auto;
  min-width: 0;
  flex: none;
  flex-direction: row;
  gap: 10px;
  text-align: left;
}

.pdm-brand-mark {
  width: 58px;
  height: 58px;
  flex: none;
  object-fit: contain;
}

.pdm-brand-type {
  display: grid;
  gap: 4px;
}

.pdm-brand strong {
  color: #fff1d7;
  font: italic 800 1.7rem/.95 var(--font-head);
  letter-spacing: .012em;
}

.pdm-brand small {
  color: #e0e8f2;
  white-space: nowrap;
}

.pdm-header-actions {
  display: flex;
  gap: 8px;
  flex: none;
}

.pdm-header-actions .button {
  padding-inline: 14px;
  white-space: nowrap;
}

.site-header .desktop-nav {
  gap: clamp(12px, 1.35vw, 22px);
  justify-content: center;
}

.site-header .mobile-menu summary {
  border-color: #8292a6;
}

.site-header .mobile-menu nav, .lead {
  color: var(--ink);
}

.pdm-menu-call {
  padding: 12px 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.pdm-hero.hero-home-scene {
  min-height: 0;
  padding: 0;
  background: radial-gradient(ellipse at 78% 48%, #2c4358, var(--navy) 63%);
  text-align: left;
}

.pdm-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(16px, 3vw, 52px);
  max-width: 1190px;
  padding: 40px 0 112px;
}

.pdm-hero .hero-scene-shade {
  background: linear-gradient(90deg, #0b1423f5 5%, #101b2bd4 53%, #101b2b88 100%);
}

.pdm-hero .hero-scene-copy {
  width: 100%;
  padding: 0;
  align-items: flex-start;
  text-shadow: none;
}

.pdm-hero .heading-main {
  max-width: 16ch;
  margin-inline: 0;
  color: #fff1d7;
  font-size: clamp(3.6rem, 6.7vw, 6.4rem);
  line-height: .95;
  letter-spacing: -.012em;
}

.pdm-hero .heading-location, .pdm-hero .eyebrow {
  color: #ffa378;
}

.pdm-hero .heading-location {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  font-weight: 700;
}

.pdm-hero .lead {
  max-width: 465px;
  color: #f2f5f8;
}

.pdm-hero .hero-actions {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
}

.pdm-hero .hero-actions .button {
  min-height: 54px;
  padding-inline: 22px;
  text-transform: none;
  font-size: 1rem;
}

.pdm-hero .hero-actions .pdm-call {
  min-width: 112px;
}

.pdm-hero-mascot {
  position: relative;
  width: min(100%, 510px);
  height: auto;
  justify-self: center;
  filter: drop-shadow(0 10px 24px #0b142370);
}

.pdm-call.button-outline {
  justify-content: center;
  background: transparent;
  color: #fff1d7;
  border-color: #fff1d7aa;
  border-radius: 4px;
  font-family: var(--font-body);
  font-weight: 700;
  cursor: pointer;
}

.pdm-call.button-outline:hover {
  background: #fff1d7;
  color: var(--navy);
  border-color: #fff1d7;
}

.pdm-call-dialog {
  width: min(440px, calc(100% - 32px));
  padding: 28px;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.pdm-call-dialog::backdrop {
  background: #101b2bcc;
}

.pdm-call-dialog p {
  margin: 12px 0 22px;
}

.button-gold {
  background: var(--gold);
  color: #201811;
  border-color: #d6602e;
}

.button-gold:hover {
  background: #ff9b6d;
  color: #201811;
}

.button-gold:active {
  background: #ee7541;
  color: #201811;
}

.button-gold:focus-visible {
  box-shadow: 0 0 0 5px var(--gold-dark);
}

.service-list {
  margin-top: 22px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
}

.service-list .service-row {
  grid-template-columns: minmax(0, 1fr) 18px;
  gap: 18px;
  padding: 16px clamp(16px, 2.5vw, 30px);
}

.service-list .service-row:first-child {
  border-radius: 5px 5px 0 0;
}

.service-list .service-row:last-child {
  border-bottom: 0;
  border-radius: 0 0 5px 5px;
}

.service-list .service-row small {
  max-width: 85ch;
  font-size: .9rem;
}

.service-list .service-row::after {
  content: '';
  justify-self: center;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--gold-dark);
  border-right: 2px solid var(--gold-dark);
  transform: rotate(45deg);
}

.service-row:hover, .service-row:focus-visible, .pdm-empty, .pdm-form-result, .preview-status {
  background: var(--soft);
}

.service-list .service-row:focus-visible {
  outline-color: var(--gold-dark);
  outline-offset: -3px;
}

.pdm-form-result, .upload-hold {
  border-color: #8b9aae;
}

.estimate-form input:not([type=file]), .estimate-form textarea {
  border-color: #8292a6;
}

.estimate-overlap {
  box-shadow: 0 18px 48px #101b2b24;
}

.footer, .pdm-footer-contact, .pdm-interior figure figcaption {
  color: #e0e8f2;
}

.footer p, .footer-bottom {
  color: #bbc9d9;
}

.footer-bottom {
  border-top-color: #3a4b60;
}

.pdm-analytics-preferences {
  max-width: 260px;
}

.pdm-analytics-preferences summary {
  min-height: 44px;
  padding: 10px 0;
  color: #fff;
  cursor: pointer;
  font-size: .82rem;
}

.pdm-analytics-preferences button {
  background: transparent;
  cursor: pointer;
}

.pdm-analytics-preferences #analytics-status {
  margin: 8px 0 0;
}

@media (max-width: 1100px) {
  .pdm-header-actions {
    display: none;
  }
}

@media (max-width: 650px) {
  .service-list .service-row {
    grid-template-columns: minmax(0, 1fr) 12px;
    gap: 12px;
    padding: 14px;
  }

  .site-header .pdm-brand {
    gap: 7px;
  }

  .site-header .pdm-brand-mark {
    width: 46px;
    height: 46px;
  }

  .pdm-brand strong {
    font-size: 1.42rem;
  }

  .pdm-hero .hero-scene-shade {
    background: linear-gradient(180deg, #101b2bf5, #101b2b88);
  }

  .pdm-hero-inner {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 27px 69px;
    gap: 22px;
  }

  .pdm-hero .hero-scene-copy {
    text-align: center;
    align-items: center;
  }

  .pdm-hero .heading-main {
    margin-inline: auto;
    font-size: clamp(2.55rem, 10.9vw, 4.15rem);
  }

  .pdm-hero .lead {
    margin-top: 15px;
  }

  .pdm-hero .hero-actions {
    width: min(100%, 390px);
    justify-content: center;
    margin-top: 18px;
    gap: 10px;
  }

  .pdm-hero .hero-actions .button {
    width: auto;
    min-height: 49px;
    padding-inline: 14px;
  }

  .pdm-hero .hero-actions .button-gold {
    flex: 1 1 auto;
  }

  .pdm-hero .hero-actions .pdm-call {
    flex: 0 1 31%;
    min-width: 78px;
  }

  .pdm-hero-mascot {
    width: min(62%, 280px);
  }

  .mobile-sticky .button-gold {
    flex: 1 1 auto;
    justify-content: center;
  }

  .mobile-sticky .pdm-call {
    min-width: 90px;
  }
}

@media (max-width: 355px) {
  .site-header .header-inner {
    gap: 9px;
  }

  .site-header .pdm-brand-mark {
    width: 38px;
    height: 38px;
  }

  .site-header .pdm-brand strong {
    font-size: 1.22rem;
  }

  .site-header .pdm-brand small {
    font-size: .52rem;
  }
}
