/* Shared layouts for editable service, material, area and company blocks. */
.drm-inner-page .drm-page-hero{padding-top:32px;padding-bottom:56px}
.drm-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--drm-slate);margin-bottom:28px;font-size:14px}
.drm-breadcrumbs p{font-size:14px}.drm-breadcrumbs p+p:before{content:'/';padding-right:10px}
.drm-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.drm-page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.drm-page-hero-grid:not(:has(.drm-page-hero-image)){grid-template-columns:minmax(0,820px)}
.drm-page-hero-copy{display:flex;flex-direction:column;gap:20px}
.drm-page-hero-copy h1{font-size:clamp(36px,2.2vw + 28px,60px);max-width:20ch}
.drm-page-hero-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.drm-page-hero-image figcaption{margin-top:10px}
.drm-jump-nav{padding:12px max(20px,calc((100% - 1200px)/2));display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;background:var(--drm-white);border-block:1px solid var(--drm-line)}
.drm-jump-nav .drm-jump-link a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;font-size:14px;border:1px solid var(--drm-line);border-radius:6px;background:var(--drm-paper);text-decoration:none}
.drm-jump-nav .drm-jump-link a:hover{background:var(--drm-mist);border-color:var(--drm-steel)}
.drm-page-section{display:flex;flex-direction:column;gap:28px;scroll-margin-top:100px}
.drm-page-section>h2{max-width:26ch}.drm-reading{max-width:760px;display:flex;flex-direction:column;gap:20px}
.drm-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px}
.drm-info-card{border:1px solid var(--drm-line);border-radius:8px;padding:24px;background:var(--drm-white);display:flex;flex-direction:column;gap:12px}
.drm-info-card h3{font-size:21px}.drm-info-card p{color:var(--drm-slate)}
.drm-scope-notice{padding:20px;border-radius:8px;background:var(--drm-mist);display:flex;flex-direction:column;gap:8px}
.drm-scope-notice h3{font-size:18px}.drm-scope-notice p{font-size:16px;color:var(--drm-slate)}
.drm-scope-content{min-width:0}
.drm-scope-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.drm-scope-list>li{position:relative;border-top:1px solid var(--drm-line);padding:20px 0 20px 36px;display:flex;flex-direction:column;gap:6px}
.drm-scope-list>li::before{content:'';position:absolute;left:0;top:24px;width:20px;height:20px;border:2px solid var(--drm-navy);border-radius:4px}
.drm-scope-list h3{font-size:18px;line-height:1.35}.drm-scope-list p{font-size:16px;color:var(--drm-slate);line-height:1.55}
.drm-scope-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding-top:20px;border-top:1px solid var(--drm-line)}
.drm-warranty-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px}
.drm-warranty-comparison{border:1px solid var(--drm-line);border-radius:8px;padding:24px;background:#fff}
.drm-warranty-row{display:flex;flex-direction:column;gap:8px}.drm-warranty-row+.drm-warranty-row{border-top:1px solid var(--drm-line);margin-top:20px!important;padding-top:20px}
.drm-warranty-row h3,.drm-warranty-documents h3{font-size:21px}
.drm-warranty-row p{font-size:17px;color:var(--drm-slate)}
.drm-warranty-documents{background:var(--drm-mist);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:14px}
.drm-warranty-documents ul{padding-left:22px;display:flex;flex-direction:column;gap:10px;color:var(--drm-slate)}
.drm-replacement-process .drm-process-grid{gap:32px}.drm-replacement-process .drm-step p:not(.drm-step-number){color:#c5d3db}
.drm-replacement-process .drm-step{border-top-color:#405462}.drm-redesign .drm-replacement-process .drm-step-number{color:#f2a272}
.drm-cta-band.drm-dark{background:var(--drm-navy);border-top-color:#23465c}.drm-cta-band.drm-dark .drm-cta-copy p{color:#c5d3db}
.drm-base-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start}
.drm-base-office{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-radius:8px}
.drm-base-phone a{min-height:44px;display:inline-flex;align-items:center;font-size:22px;font-weight:600}
.drm-coverage-card{padding:28px;border:1px solid var(--drm-line);border-radius:8px;background:#fff;display:flex;flex-direction:column;gap:18px}
.drm-coverage-schematic{list-style:none;padding-left:12px;border-left:2px solid var(--drm-line);display:flex;flex-direction:column;gap:4px}
.drm-coverage-schematic>li{position:relative;padding:4px 0 12px 14px}.drm-coverage-schematic>li::before{content:'';position:absolute;left:-20px;top:21px;width:12px;height:12px;background:var(--drm-steel);border:2px solid #fff;outline:1px solid var(--drm-line);border-radius:50%}
.drm-coverage-schematic a{min-height:44px;display:inline-flex;align-items:center;font-size:19px;font-weight:600}
@media(max-width:987px){.drm-base-grid{gap:32px}}
@media(max-width:767px){.drm-warranty-grid,.drm-base-grid{grid-template-columns:minmax(0,1fr)}.drm-replacement-process .drm-process-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:599px){.drm-scope-list{grid-template-columns:minmax(0,1fr)}}
.drm-detail-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px 64px;align-content:start}
.drm-detail-section>.drm-info-grid{align-content:start;grid-template-columns:repeat(2,minmax(0,1fr))}
.drm-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.drm-material-choice{display:flex;flex-direction:column;gap:16px;min-width:0}
.drm-material-choice img{aspect-ratio:16/10;object-fit:cover;border-radius:8px;width:100%}
.drm-material-choice ul{padding-left:22px;display:flex;flex-direction:column;gap:8px;color:var(--drm-slate);font-size:16px;line-height:1.55}
.drm-editorial-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center}
.drm-editorial-split img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.drm-island-photo-row{padding-top:0;padding-bottom:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.drm-island-photo-row img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.drm-guide-heading{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:end}
.drm-guide-copy{display:flex;flex-direction:column;gap:24px}.drm-guide-copy h1{max-width:19ch}.drm-guide-heading>.wp-block-buttons{justify-content:flex-end;flex-wrap:nowrap}.drm-guide-heading .wp-block-button__link{padding-inline:20px}
.drm-guide-hero.drm-page-hero{padding-bottom:40px}
.drm-related-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px 32px}
.drm-contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.drm-contact-details,.drm-contact-form{display:flex;flex-direction:column;gap:20px;min-width:0}
.drm-contact-phone a{font-size:32px;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.drm-contact-details a{overflow-wrap:anywhere}
body:has(iframe[data-form-id]:focus) .drm-mobile-cta{visibility:hidden}
.drm-form-shell{min-height:600px;scroll-margin-top:100px}.drm-form-shell iframe{width:100%;height:660px;border:0;border-radius:8px;display:block;background:var(--drm-paper)}
.drm-map-shell{width:100%;min-height:350px;background:var(--drm-mist);border-radius:8px;overflow:hidden}.drm-map-shell iframe{width:100%;height:350px;border:0;display:block}
.drm-document p{max-width:72ch}.drm-document h2{margin-top:16px}.drm-type-legal .drm-page-hero-copy h1{max-width:none}
.drm-inner-page .drm-project-grid:has(>article:only-child){grid-template-columns:minmax(0,620px)}
.drm-gallery-grid.wp-block-gallery.has-nested-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;align-items:start}
.drm-gallery-grid.wp-block-gallery.has-nested-images>.wp-block-image{width:auto!important;margin:0!important;display:flex;flex-direction:column;flex-grow:0;align-self:start;min-width:0}
.drm-gallery-grid.wp-block-gallery.has-nested-images>.wp-block-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.drm-gallery-grid.wp-block-gallery.has-nested-images>.wp-block-image figcaption{position:static!important;max-height:none!important;overflow:visible!important;background:none!important;margin-top:10px!important;padding:0!important;color:var(--drm-slate)!important;text-align:left;font-size:14px;line-height:1.5;backdrop-filter:none}
.drm-gallery-grid.wp-block-gallery.has-nested-images>.wp-block-image figcaption::before{display:none}
@media(max-width:987px){.drm-gallery-grid.wp-block-gallery.has-nested-images{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.drm-gallery-grid.wp-block-gallery.has-nested-images{grid-template-columns:minmax(0,1fr);gap:28px}}
.drm-inner-page .drm-project-grid:has(>article:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.drm-inner-page :where(section,div)[id]{scroll-margin-top:104px}
@media(min-width:988px){.drm-type-area-hub #st-james-city .drm-editorial-split>figure{order:2}}
@media(max-width:987px){.drm-contact-grid{gap:32px}.drm-page-hero-grid,.drm-editorial-split{gap:32px}.drm-inner-page .drm-project-grid:has(>article:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.drm-page-hero-grid,.drm-editorial-split,.drm-contact-grid{grid-template-columns:minmax(0,1fr)}.drm-page-hero-grid{gap:28px}.drm-three-grid{grid-template-columns:minmax(0,1fr);gap:40px}.drm-island-photo-row{grid-template-columns:minmax(0,1fr)}.drm-breadcrumbs{margin-bottom:20px}.drm-contact-phone a{font-size:28px}.drm-inner-page .drm-project-grid:has(>article:nth-child(4)){grid-template-columns:minmax(0,1fr)}}
@media(max-width:987px){.drm-detail-section{display:flex;gap:24px}.drm-detail-section>.drm-info-grid{width:100%}}
@media(max-width:479px){.drm-detail-section>.drm-info-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1239px){.drm-guide-heading{grid-template-columns:minmax(0,1fr)}.drm-guide-heading>.wp-block-buttons{justify-content:flex-start;flex-wrap:wrap}}

/* Shoreline: shared visual language, purpose-specific editable compositions. */
.drm-shoreline{--sh-navy:#06283d;--sh-paper:#fafaf7;--sh-steel:#0e5d8c;--sh-slate:#405462;--sh-pale:#eef3f4;--sh-line:#d9e2e5;background:#fff;color:var(--sh-navy);font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif}
.drm-shoreline *{box-sizing:border-box;min-width:0}
.drm-shoreline :is(h1,h2,h3,p,figure,ul,ol){margin:0}
.drm-shoreline :is(h1,h2){font-weight:400;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}
.drm-shoreline h1{font-size:clamp(38px,4.4vw,64px);max-width:22ch}
.drm-shoreline h2{font-size:clamp(30px,3vw,44px);max-width:26ch}
.drm-shoreline h3{font-size:21px;line-height:1.3;font-weight:600}
.drm-shoreline p,.drm-shoreline li{font-size:18px;line-height:1.65;color:var(--sh-slate)}
.drm-shoreline a{color:var(--sh-steel);text-underline-offset:4px;transition:color 180ms ease,text-underline-offset 180ms ease}
.drm-shoreline a:hover{color:var(--sh-navy);text-underline-offset:7px}
.drm-shoreline a:focus-visible,.drm-shoreline summary:focus-visible{outline:3px solid var(--sh-steel);outline-offset:4px}
.sh-section{padding:clamp(56px,7vw,104px) 0;scroll-margin-top:112px}
.sh-wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.sh-section h2+p,.sh-section h3+p{margin-top:16px}
.sh-section>.sh-wrap>.sh-lead{max-width:710px;margin-top:16px}
.sh-reading{max-width:760px}.sh-reading>p+p{margin-top:20px}
.drm-shoreline .sh-label{font-size:14px;line-height:1.5;font-weight:600;color:var(--sh-steel);margin-bottom:10px}
.drm-shoreline .sh-caption,.drm-shoreline .wp-element-caption{font-size:14px;line-height:1.5;color:var(--sh-slate)}
.drm-shoreline .sh-lead{font-size:19px;line-height:1.65}
.drm-shoreline .sh-photo img{display:block;width:100%;height:auto;object-fit:cover;border-radius:0}
.drm-shoreline .sh-photo figcaption{margin-top:10px}
.drm-shoreline .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.drm-shoreline .wp-block-button__link{min-height:52px;padding:14px 24px;font-size:17px;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:600}
.sh-navy{background:var(--sh-navy);color:white}.sh-steel{background:var(--sh-steel);color:white}.sh-paper{background:var(--sh-paper)}.sh-pale{background:var(--sh-pale)}
.drm-shoreline :is(.sh-navy,.sh-dock,.sh-steel) .is-style-drm-outline .wp-block-button__link{color:#fff;border-color:#fff;background:transparent}.drm-shoreline :is(.sh-navy,.sh-dock,.sh-steel) .is-style-drm-outline .wp-block-button__link:hover{background:#fff;color:var(--sh-navy)}
.drm-shoreline :is(.sh-navy,.sh-steel) :is(h1,h2,h3){color:#fff}
.drm-shoreline :is(.sh-navy,.sh-steel) :is(p,li){color:#e3eaee}
.drm-shoreline :is(.sh-navy,.sh-steel) a:not(.wp-block-button__link){color:#fff}
.drm-shoreline .sh-navy a:focus-visible{outline-color:#fff}
.sh-editorial-open{padding-top:64px}.sh-editorial-open h1{font-size:clamp(44px,6.4vw,96px);max-width:none}
.sh-editorial-grid{display:grid;grid-template-columns:4fr 8fr;gap:56px;margin-top:48px;align-items:start}
.sh-opening-copy{padding-top:44px}.sh-photo-pair{display:grid;grid-template-columns:5fr 3fr;gap:16px}
.sh-photo-pair .sh-portrait img{aspect-ratio:4/5}.sh-photo-pair .sh-offset{margin-top:120px}.sh-photo-pair .sh-offset img{aspect-ratio:3/4}
.sh-photo-open{position:relative;padding:0 0 72px}.sh-photo-open>.sh-photo img{height:clamp(480px,46vw,680px);width:100%;object-position:58% 46%}
.sh-photo-open>.sh-photo figcaption{position:absolute;right:28px;bottom:22px;max-width:40%;margin:0;text-align:right}
.sh-dock{position:absolute;bottom:0;background:var(--sh-navy);padding:44px 48px 48px;width:min(600px,52%);color:#fff}
.drm-shoreline .sh-dock :is(h1,p){color:#fff}.sh-dock h1+p{margin-top:20px}.sh-dock .sh-label{color:#c5d3db}
.sh-concise-open{padding-top:64px}.sh-concise-open .sh-reading{margin-top:24px}
.sh-panorama-open{padding-top:0}.sh-panorama-open>.sh-photo img{height:clamp(220px,27vw,400px)}.sh-panorama-open>.sh-photo figcaption{max-width:1200px;margin:10px auto 24px;padding-inline:48px}
.sh-credentials{padding:24px 0 20px;background:var(--sh-pale);border-top:1px solid var(--sh-line)}
.sh-credential-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.sh-credential{border-left:1px solid #c9d6db;padding-left:20px}.sh-credential:first-child{padding-left:0;border:0}
.sh-credentials .sh-label{font-size:13px;font-weight:400;color:var(--sh-slate)}.sh-credentials .sh-caption{margin-top:16px}.sh-credential p{font-size:17px}
.sh-decisions{margin-top:40px}.sh-decision{display:grid;grid-template-columns:5fr 1fr 5fr;gap:24px;padding:28px 0;border-top:1px solid var(--sh-line);align-items:center}.sh-decision:first-child{border-top:2px solid var(--sh-navy)}
.drm-shoreline .sh-decision-situation{font-size:25px;line-height:1.35;color:var(--sh-navy)}.sh-decision-arrow{font-size:32px}.sh-decision-destination p{font-size:17px}
.sh-gallery-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:40px}.sh-gallery-door .sh-photo img{aspect-ratio:3/4}.sh-gallery-door h3{padding:20px 16px;background:#0b3a57}.sh-gallery-door h3 a{display:flex;justify-content:space-between;gap:12px;text-decoration:none}
.sh-coverage{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:start}.sh-coverage-image img{aspect-ratio:4/5}.sh-island-line{border-left:2px solid #8db6cf;margin:32px 0 28px 9px;padding-left:28px;display:flex;flex-direction:column;gap:24px}.sh-place{position:relative}.sh-place:before{content:"";position:absolute;left:-35px;top:7px;width:12px;height:12px;border:2px solid var(--sh-steel);background:#fff;border-radius:50%}.sh-place:first-child:before{background:var(--sh-steel)}.sh-place h3{font-weight:400}.sh-place h3+p{font-size:15px;margin-top:4px}
.sh-faq{display:grid;grid-template-columns:4fr 7fr;gap:72px}.sh-faq-intro{align-self:start;position:sticky;top:112px}.sh-faq-phone{margin-top:12px!important;font-size:24px!important}.sh-faq-list .drm-question{background:transparent;border:0;border-top:1px solid var(--sh-line);padding:0;border-radius:0}.sh-faq-list summary{padding:22px 30px 22px 0;font-size:19px;font-weight:400;line-height:1.45;cursor:pointer}.sh-faq-list .drm-question p{padding:0 0 24px;font-size:17px}.sh-faq-list summary:hover{color:var(--sh-steel)}
.sh-close{display:grid;grid-template-columns:42fr 58fr;padding:0;align-items:stretch}.sh-close-copy{padding:64px clamp(24px,4vw,64px);display:flex;flex-direction:column;align-items:flex-start;gap:20px}.drm-shoreline .sh-display-phone a{font-size:clamp(32px,4vw,56px);line-height:1.2;text-decoration:none;white-space:nowrap}.sh-close .wp-block-buttons{margin-top:0}.sh-close-facts{display:flex;flex-direction:column;gap:4px}.sh-close-facts .sh-label{margin:14px 0 0}.sh-close-facts p{font-size:16px;overflow-wrap:anywhere}.sh-close-photo{position:relative;height:100%}.sh-close-photo img{height:100%!important;min-height:500px}.sh-close-photo figcaption{position:absolute;bottom:0;left:0;background:var(--sh-navy);color:white!important;padding:8px 12px;margin:0!important}
.sh-inline-close{display:flex;justify-content:space-between;align-items:center;gap:36px}.sh-inline-close .wp-block-buttons{flex-shrink:0}
.sh-quiet-section{padding-block:16px}.drm-shoreline .sh-quiet{background:var(--sh-pale);padding:20px 24px;border-left:3px solid #b7470a;font-size:17px;max-width:850px}
.sh-rows{margin-top:40px}.sh-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;border-top:1px solid var(--sh-line);padding:26px 0;scroll-margin-top:112px}.sh-row>.sh-label{font-size:28px;font-weight:300;color:#6e8796}.sh-row-copy{display:grid;grid-template-columns:4fr 7fr;gap:32px}.sh-row-copy h3+p{margin:0}.sh-row-copy p{font-size:17px}
.sh-editorial{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center}.sh-editorial-copy>.sh-lead{margin:20px 0 28px}.sh-editorial-photo img{aspect-ratio:4/3}.sh-editorial-copy ul{padding-left:20px}.sh-editorial-copy li+li{margin-top:14px}.sh-editorial.reverse .sh-photo{order:2}.sh-editorial.reverse{grid-template-columns:5fr 7fr}
.sh-repair-opening{display:grid;grid-template-columns:1fr 1fr;gap:80px}.sh-repair-intro>.sh-lead{margin:24px 0}.sh-repair-routes h2{font-size:26px}.sh-symptom-link a{display:flex;min-height:64px;padding-block:18px;border-bottom:1px solid #3a5d72;text-decoration:none;justify-content:space-between}.sh-symptom-link a:after{content:'→';margin-left:16px;color:#f2a272}.sh-repair-strip img{height:clamp(170px,18vw,260px)!important}.sh-repair-strip figcaption{max-width:1200px;margin:10px auto 0!important;padding-inline:48px}
.sh-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}.sh-compare-column .sh-photo img{aspect-ratio:3/2}.sh-compare-column>h3{margin-top:18px;font-size:28px;font-weight:400}.sh-compare-facts{margin:24px 0}.sh-compare-facts .sh-label{border-top:1px solid var(--sh-line);padding-top:16px;margin:16px 0 6px}.sh-compare-facts p{font-size:17px}
.sh-spine{margin:40px 0 24px;border-top:2px solid var(--sh-navy)}.sh-spine-row{display:grid;grid-template-columns:4fr 7fr;gap:40px;padding:24px 0;border-bottom:1px solid var(--sh-line)}.sh-spine-answers{display:grid;grid-template-columns:1fr 1fr;gap:32px}.sh-spine .sh-label{font-size:13px}.sh-spine p{font-size:17px}
.sh-estimate{display:grid;grid-template-columns:4fr 7fr;gap:64px;align-items:start}.sh-estimate-intro>.sh-lead{margin-top:20px}.sh-estimate-sheet{padding:40px;background:#fff;box-shadow:0 12px 32px #06283d12}.sh-scope-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;border-top:1px solid var(--sh-line);padding:20px 0}.sh-scope-row:first-child{margin-top:24px;border-top:2px solid var(--sh-navy)}.sh-scope-copy h3{font-size:18px}.sh-scope-copy p{font-size:16px}
.sh-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:48px}.sh-stage{position:relative;border-top:1px solid #8db6cf;padding-top:24px}.sh-stage-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:white;border-radius:50%;color:var(--sh-steel)!important;font-size:16px!important;margin-top:-40px!important;margin-bottom:20px!important}.sh-stage p{font-size:17px}
.sh-orbit{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:48px;margin-top:40px}.sh-orbit-side{display:flex;flex-direction:column;justify-content:center;gap:32px}.sh-orbit-factor{border-top:1px solid var(--sh-line);padding-top:20px}.sh-orbit-factor p{font-size:17px}.sh-orbit-image img{height:100%!important;min-height:400px}.sh-orbit-image{display:flex;flex-direction:column}
.sh-guided{display:grid;grid-template-columns:210px minmax(0,1fr)}.sh-guide-rail{padding:96px 16px 96px 28px;position:relative}.sh-guide-rail>.wp-block-group{position:sticky;top:112px}.sh-guide-rail>.sh-label{position:sticky;top:112px}.sh-guide-rail{align-self:stretch}.sh-guide-rail>p:first-child{display:none}.sh-guide-links{position:sticky;top:112px;border-left:1px solid #c9d6db;padding-left:20px}.sh-guide-link{position:relative}.sh-guide-link:before{content:"";position:absolute;left:-26px;top:17px;width:11px;height:11px;border:1px solid #8db6cf;border-radius:50%;background:#fff;transition:background 180ms ease,transform 240ms ease}.sh-guide-link a{display:flex;align-items:center;min-height:46px;font-size:15px;text-decoration:none}.sh-guide-link:has([aria-current])::before{background:var(--sh-steel);transform:scale(1.25)}.sh-guide-link [aria-current]{font-weight:600;color:var(--sh-navy)}.sh-guide-rail>p:last-child{position:sticky;top:420px;margin-top:24px;font-size:15px}.sh-guide-compact-wrap{display:none}.sh-guided-content>.sh-section>.sh-wrap{padding-inline:48px}.sh-guided .sh-section h2{font-size:clamp(30px,2.8vw,42px)}
.sh-feature-image{max-width:1360px;margin:32px auto 20px!important}.sh-feature-image img{aspect-ratio:21/9}.sh-feature-heading{display:flex;justify-content:space-between;align-items:end;gap:32px}.sh-mosaic{display:grid;grid-template-columns:7fr 3fr 2fr;grid-template-rows:300px 300px;gap:12px;margin:40px 0 24px}.sh-mosaic .sh-photo{position:relative}.sh-mosaic .sh-photo img{height:100%;width:100%}.sh-mosaic-0{grid-column:1;grid-row:1/3}.sh-mosaic-1{grid-column:2/4}.sh-mosaic figcaption{position:absolute;bottom:0;left:0;max-width:95%;padding:6px 10px;background:var(--sh-navy);color:#fff!important;margin:0!important}
.sh-guide-compact summary{padding:16px;cursor:pointer;font-weight:600}.sh-guide-compact{border:1px solid #c9d6db;border-radius:6px}.sh-compact-links{padding:0 16px 12px}.sh-compact-links a{display:flex;min-height:44px;align-items:center}
.sh-guide-inner{position:sticky;top:112px}.sh-guide-inner>.sh-guide-links{position:relative;top:auto}.sh-guide-inner>p:last-child{margin-top:24px}.sh-guide-inner a{font-size:15px}
.sh-guide-links:before{content:"";position:absolute;left:-1px;top:22px;width:2px;height:var(--sh-guide-progress,0px);background:var(--sh-steel);transition:height 240ms ease}
@media(min-width:1280px){.sh-guide-rail{display:flex;flex-direction:column;align-items:stretch}.sh-guide-links{flex:none}}
@media(max-width:1279px){.sh-guided{display:block}.sh-guide-rail{display:none}.sh-guide-compact-wrap{display:block;padding-block:24px}.sh-guided-content>.sh-section>.sh-wrap{padding-inline:clamp(20px,5vw,48px)}}
@media(max-width:1023px){.sh-credential-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sh-credential{padding-left:0;border:0;border-top:1px solid var(--sh-line);padding-top:12px}.sh-editorial-grid{gap:32px}.sh-close{grid-template-columns:1fr 1fr}.sh-close-copy{padding:40px 24px}}
@media(max-width:899px){.sh-editorial-grid,.sh-repair-opening,.sh-faq,.sh-editorial,.sh-editorial.reverse,.sh-estimate,.sh-coverage{grid-template-columns:1fr;gap:36px}.sh-opening-copy{padding:0}.sh-photo-pair .sh-offset{margin-top:48px}.sh-row-copy{grid-template-columns:1fr;gap:10px}.sh-faq-intro{position:static}.sh-editorial.reverse .sh-photo{order:0}.sh-comparison{gap:20px}.sh-orbit{grid-template-columns:1fr 1fr;gap:32px}.sh-orbit-image{grid-column:1/-1;grid-row:1}.sh-orbit-image img{max-height:380px;min-height:0;aspect-ratio:16/9}.sh-track{grid-template-columns:1fr 1fr;gap:48px 32px}.sh-coverage-image img{aspect-ratio:16/10}.sh-inline-close{display:block}.sh-feature-heading{display:block}.sh-feature-heading p{margin-top:20px}.sh-photo-open>.sh-photo figcaption{max-width:35%;font-size:12px}}
@media(max-width:767px){.sh-section{padding-block:56px}.sh-editorial-open,.sh-concise-open{padding-top:40px}.sh-editorial-grid{margin-top:32px}.sh-photo-open{padding:0}.sh-photo-open>.sh-photo img{height:280px}.sh-photo-open>.sh-photo figcaption{position:static;text-align:left;max-width:none;padding:12px 20px;margin:0}.sh-photo-open>.sh-wrap{padding:0}.sh-dock{position:static;width:100%;padding:28px 20px 32px}.sh-photo-open>.sh-photo{display:flex;flex-direction:column}.sh-photo-open>.sh-photo figcaption{order:2}.sh-credential-grid{grid-template-columns:1fr 1fr}.sh-credentials{padding-block:20px}.sh-credential:first-child{border-top:1px solid var(--sh-line);padding-top:12px}.sh-decision{grid-template-columns:1fr;gap:14px}.sh-decision-arrow{display:none}.drm-shoreline .sh-decision-situation{font-size:22px}.sh-gallery-doors,.sh-comparison{grid-template-columns:1fr;gap:32px}.sh-gallery-door .sh-photo img{aspect-ratio:16/10}.sh-gallery-door h3{padding:16px}.sh-compare-column .sh-photo img{aspect-ratio:16/9}.sh-compare-facts{display:grid;grid-template-columns:100px 1fr;gap:14px 16px}.sh-compare-facts .sh-label{margin:0;padding-top:0;border:0}.sh-compare-facts p{margin:0}.sh-close{display:flex;flex-direction:column-reverse;padding:0}.sh-close-copy{padding:36px 20px 44px;gap:20px}.sh-close-photo img{min-height:0;aspect-ratio:16/10}.sh-close-facts{max-width:100%}.drm-shoreline .sh-display-phone a{font-size:clamp(30px,8.6vw,40px)}.sh-spine-row{grid-template-columns:1fr;gap:18px}.sh-spine-answers{gap:20px}.sh-estimate-sheet{padding:24px 20px}.sh-track{display:flex;flex-direction:column;gap:32px;border-left:1px solid #8db6cf;margin-left:16px;padding-left:30px}.sh-stage{border:0;padding:0}.sh-stage-number{position:absolute;left:-47px;top:0;margin:0!important}.sh-stage h3{padding-top:4px}.sh-orbit{display:flex;flex-direction:column}.sh-orbit-image{order:-1}.sh-orbit-side{gap:24px}.sh-feature-image img{aspect-ratio:4/3}.sh-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px}.sh-mosaic-0{grid-column:1/-1;grid-row:auto}.sh-mosaic-1{grid-column:1/-1}.sh-mosaic .sh-photo img{height:auto;aspect-ratio:4/3}.sh-mosaic .sh-mosaic-0 img{aspect-ratio:4/3}.sh-mosaic figcaption{font-size:12px!important}.sh-guided-content>.sh-section>.sh-wrap{padding-inline:20px}.sh-repair-strip figcaption,.sh-panorama-open>.sh-photo figcaption{padding-inline:20px}.sh-quiet-section{padding-block:8px}.drm-shoreline .sh-quiet{padding:16px;font-size:16px}.sh-row{grid-template-columns:34px 1fr;gap:12px}.sh-row>.sh-label{font-size:24px}}
.sh-home-services{display:flex;flex-direction:column;gap:0;margin-top:40px}.sh-home-service{display:grid;grid-template-columns:5fr 6fr;gap:56px;align-items:center;border-top:1px solid var(--sh-line);padding-block:32px}.sh-home-service:nth-child(2){grid-template-columns:6fr 5fr}.sh-home-service:nth-child(2)>.sh-photo{order:2}.sh-home-service .sh-photo img{aspect-ratio:16/9}.sh-home-service-copy>h3{font-size:32px;font-weight:400}.sh-home-service-copy>p{margin-top:16px}.sh-home-material{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:center}.sh-home-material-image img{aspect-ratio:4/5}.sh-home-material .sh-reading>p{margin-top:24px}
.sh-contact-layout{display:grid;grid-template-columns:4fr 7fr;gap:80px;align-items:start}.sh-contact-facts{display:flex;flex-direction:column;gap:8px}.sh-contact-facts>.sh-label{border-top:1px solid var(--sh-line);padding-top:20px;margin-top:16px}.sh-contact-facts a{overflow-wrap:anywhere}.sh-contact-help{margin-top:40px}.sh-contact-help h2{font-size:26px}.sh-contact-help ul{padding-left:20px;margin-top:20px}.sh-contact-help li{font-size:17px}.sh-form-panel{padding:32px;border:1px solid var(--sh-line);border-radius:8px;background:#fff}.sh-form-panel h2{font-size:30px;margin-bottom:24px}.sh-form-panel .sh-caption{margin-top:24px}.sh-form-panel .drm-enquiry{padding:0;border:0;box-shadow:none}.sh-contact-map{display:grid;grid-template-columns:4fr 7fr;gap:64px}.sh-contact-map iframe{max-width:100%}
.sh-register{margin:40px 0 20px}.sh-register-row{display:grid;grid-template-columns:3fr 2fr 3fr 2fr;gap:24px;align-items:center;padding:24px 0;border-top:1px solid var(--sh-line)}.sh-register-row h3{font-size:18px}.sh-register-row p{font-size:16px}.sh-register-row .sh-credential-number{font-size:21px;font-weight:600;color:var(--sh-navy)}.sh-documentation{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:center;margin-top:48px}.sh-documentation .drm-bbb-badge img{max-width:240px}.sh-history-copy{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:32px}
.sh-roles{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px}.sh-role{border-top:2px solid var(--sh-navy);padding-top:24px}.sh-city-links{display:flex;flex-direction:column;gap:0;margin-top:32px}.sh-city-links a{display:flex;min-height:64px;align-items:center;border-top:1px solid var(--sh-line);font-size:24px}.sh-area-destinations{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;margin-top:40px}.sh-area-destination{border-top:1px solid var(--sh-line);padding-block:24px}.sh-area-destination h3+p{font-size:16px}.sh-sitemap-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 40px;margin-top:32px}.sh-sitemap-links a{display:flex;align-items:center;min-height:48px;border-top:1px solid var(--sh-line)}
.sh-gallery-tabs{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:28px}.sh-gallery-tab a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--sh-line)}.sh-gallery-collection{padding-top:0}.sh-gallery-collection .wp-block-gallery{gap:40px 24px!important}.sh-gallery-collection .wp-block-gallery figure.wp-block-image{margin:0!important;flex-grow:0!important}.sh-gallery-collection .wp-block-gallery figure.wp-block-image img{aspect-ratio:4/3;object-fit:cover;border-radius:0}.sh-gallery-collection .wp-block-gallery figure.wp-block-image figcaption{position:static!important;background:none!important;color:var(--sh-slate)!important;padding:12px 0!important;text-align:left!important;font-size:16px!important;overflow:visible!important;max-height:none!important}.sh-document-copy{max-width:820px}.sh-document-copy h2{font-size:30px;margin:40px 0 20px}.sh-document-copy p+p{margin-top:20px}
.sh-page-contact #overview{padding-bottom:32px}.sh-page-contact #request-estimate{padding-top:32px}.sh-gallery-collection figcaption{font-weight:400!important}
.sh-footer-trust{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:32px;align-items:center;border-top:1px solid #23465c;margin-top:40px!important;padding-top:24px}.sh-footer-label{font-size:14px!important;color:#c5d3db!important}.sh-footer-license a{min-height:44px;display:inline-flex;align-items:center;font-size:17px}.sh-footer-bbb{display:flex;gap:20px;align-items:center}.sh-footer-bbb .drm-bbb-badge{width:130px;flex-shrink:0}.sh-footer-bbb-copy p{font-size:14px;color:#c5d3db}.sh-footer-bbb-copy a{font-size:15px;min-height:44px;display:inline-flex;align-items:center}.sh-footer .drm-footer-bottom{margin-top:24px}
@media(max-width:899px){.sh-footer-trust{grid-template-columns:1fr 1fr}.sh-footer-bbb{grid-column:1/-1}}
@media(max-width:767px){.sh-footer-trust{grid-template-columns:1fr;gap:20px}.sh-footer-bbb{grid-column:auto}.sh-footer-bbb-copy a{font-size:14px}}
@media(max-width:899px){.sh-contact-layout,.sh-contact-map,.sh-home-material{grid-template-columns:1fr;gap:40px}.sh-register-row{grid-template-columns:1fr 1fr}.sh-home-service,.sh-home-service:nth-child(2){grid-template-columns:1fr 1fr;gap:28px}.sh-documentation{grid-template-columns:200px 1fr;gap:32px}}
@media(max-width:767px){.sh-home-service,.sh-home-service:nth-child(2){grid-template-columns:1fr;gap:24px}.sh-home-service:nth-child(2)>.sh-photo{order:0}.sh-home-service-copy>h3{font-size:28px}.sh-home-material-image img{aspect-ratio:4/3}.sh-form-panel{padding:24px 16px}.sh-contact-layout{gap:48px}.sh-register-row,.sh-documentation,.sh-history-copy,.sh-roles,.sh-area-destinations,.sh-sitemap-links{grid-template-columns:1fr;gap:16px}.sh-register-row{padding-block:24px}.sh-documentation{gap:24px}.sh-history-copy{gap:24px}.sh-area-destinations{gap:0}.sh-gallery-collection .wp-block-gallery{gap:32px!important}.sh-gallery-collection .wp-block-gallery figure.wp-block-image{width:100%!important}}
/* Shoreline interaction fidelity: readable states first, restrained motion second. */
.drm-shoreline{--sh-sticky-top:132px;--sh-ease:cubic-bezier(.4,0,.2,1)}
.sh-guide-rail>.sh-guide-inner{top:var(--sh-sticky-top);align-self:flex-start;width:100%;max-height:calc(100svh - var(--sh-sticky-top) - 24px);overflow-y:auto;padding:2px 4px 4px 8px;scrollbar-width:thin}
.sh-guide-inner>.sh-guide-links{top:auto;position:relative}
.drm-shoreline .sh-guide-link{margin:0!important}
.sh-guide-link:before{top:17px;z-index:1;transition:background-color 420ms var(--sh-ease),transform 420ms var(--sh-ease)}
.sh-guide-link[data-sh-state="passed"]:before{background:#9ecbe0;border-color:var(--sh-steel)}
.sh-guide-link[data-sh-state="current"]:before{background:var(--sh-steel);border-color:var(--sh-steel)}
.drm-shoreline .sh-guide-link a{color:var(--sh-slate);font-weight:400;line-height:1.3}
.drm-shoreline .sh-guide-link [aria-current]{color:var(--sh-navy);font-weight:600}
.drm-shoreline .sh-guide-link a:hover{text-decoration:underline;color:var(--sh-steel)}
.sh-guide-links:before{background:#9ecbe0;transition:height 420ms var(--sh-ease)}
.sh-faq-intro{top:var(--sh-sticky-top)}
.drm-shoreline .sh-decision-arrow{position:relative;display:block;height:20px;font-size:0;color:var(--sh-steel);align-self:center;min-width:60px;width:100%;margin:0}
.sh-decision-arrow:before{content:"";position:absolute;left:0;right:8px;top:9px;height:1px;background:currentColor;transform-origin:left;transition:transform 420ms var(--sh-ease)}
.sh-decision-arrow:after{content:"";position:absolute;right:0;top:5px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid currentColor;transition:transform 420ms var(--sh-ease)}
.sh-decision{grid-template-columns:5fr 1.4fr 5fr;gap:32px;border-bottom:1px solid var(--sh-line);border-top:0}
.sh-decision:first-child{border-top:2px solid var(--sh-navy)}
.sh-decision-help{margin-top:24px!important}
.sh-spine-row{grid-template-columns:3fr 4fr 3fr;gap:0;padding:0}
.sh-spine-answer{padding:28px 24px}
.sh-spine-question{background:var(--sh-pale);padding:28px 24px;display:flex;align-items:center;border-inline:1px solid var(--sh-line)}
.sh-spine-question h3{font-size:20px;font-weight:400}
.sh-gallery-count{background:#0b3a57;padding:0 16px 20px;font-size:14px!important;color:#cbe6f2!important}
.sh-decision:focus-within .sh-decision-arrow:after{transform:translateX(5px)}
.sh-decision:focus-within .sh-decision-arrow:before{transform:scaleX(1.035)}
.sh-faq-list{counter-reset:sh-question}
.sh-faq-list summary{counter-increment:sh-question;display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:14px;padding-right:0}
.sh-faq-list summary:before{content:counter(sh-question,decimal-leading-zero);font-size:14px;line-height:28px;color:var(--sh-steel);transition:color 180ms var(--sh-ease)}
.sh-faq-list details[open] summary:before{color:#b7470a}
.sh-faq-list details[open] summary{color:var(--sh-navy)}
.sh-faq-list .drm-question p{padding-left:42px}
.sh-stage:before{content:"";position:absolute;height:2px;top:-1px;left:0;width:0;background:#fff;transition:width 1000ms var(--sh-ease)}
.sh-stage.is-seen:before{width:100%}
.sh-stage-number{position:relative;z-index:1;transition:background-color 420ms var(--sh-ease),color 420ms var(--sh-ease)}
.sh-stage.is-seen .sh-stage-number{background:#cbe6f2}
.sh-gallery-door .sh-photo{overflow:hidden}
.sh-gallery-door img{transition:transform 800ms var(--sh-ease)}
.sh-gallery-door h3 span{transition:transform 420ms var(--sh-ease)}
.sh-gallery-door:focus-within h3{background:#0e5d8c}
.sh-gallery-door:focus-within h3 span{transform:translate(3px,-3px)}
.sh-gallery-collection .wp-lightbox-container{outline:2px solid transparent;outline-offset:3px;transition:outline-color 180ms var(--sh-ease)}
.sh-gallery-collection .wp-lightbox-container:focus-within{outline-color:var(--sh-steel)}
.sh-gallery-collection .wp-lightbox-container .lightbox-trigger{opacity:1!important;background:#06283de6!important;color:white!important;min-width:44px;min-height:44px}
.sh-gallery-collection .wp-lightbox-container .lightbox-trigger{width:auto!important;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:4px}
.sh-gallery-collection .lightbox-trigger:after{content:"Enlarge";font:500 12px/1.2 "Segoe UI",Arial,sans-serif;color:#fff}
.sh-gallery-collection .lightbox-trigger svg{flex:none}
@supports(interpolate-size:allow-keywords){
 .sh-faq-list details,.drm-native-footer .drm-footer-links{interpolate-size:allow-keywords}
 .sh-faq-list details::details-content,.drm-native-footer .drm-footer-links::details-content{height:0;overflow:clip;transition:height 550ms cubic-bezier(.4,0,.2,1),content-visibility 550ms allow-discrete}
 .sh-faq-list details[open]::details-content,.drm-native-footer .drm-footer-links[open]::details-content{height:auto}
}
.sh-symptom-link a:after{transition:transform 420ms var(--sh-ease)}
.sh-symptom-link a:focus-visible:after{transform:translateX(5px)}
@media(hover:hover) and (pointer:fine){
 .sh-decision:hover .sh-decision-arrow:after{transform:translateX(5px)}
 .sh-decision:hover .sh-decision-arrow:before{transform:scaleX(1.035)}
 .sh-gallery-door:hover img{transform:scale(1.025)}
 .sh-gallery-door:hover h3{background:#0e5d8c}
 .sh-gallery-door:hover h3 span{transform:translate(3px,-3px)}
 .sh-gallery-collection .wp-lightbox-container:hover{outline-color:var(--sh-steel)}
 .sh-symptom-link a:hover:after{transform:translateX(5px)}
}
@media(max-width:767px){
 .sh-spine-row{grid-template-columns:1fr 1fr}
 .sh-spine-question{grid-column:1/-1;grid-row:1;border:0;padding:20px}
 .sh-spine-answer{padding:20px 14px}
 .sh-spine-answer p{font-size:16px}
 .sh-decision{grid-template-columns:1fr;gap:16px}
 .drm-shoreline .sh-decision-arrow{width:64px;min-width:0;height:16px}
 .sh-stage:before{height:100%;width:2px;left:-31px;top:0;transform:scaleY(0);transform-origin:top;transition:transform 1000ms var(--sh-ease)}
 .sh-stage.is-seen:before{width:2px;transform:scaleY(1)}
 .sh-stage-number{position:absolute}
 .sh-faq-list summary{gap:10px;grid-template-columns:24px minmax(0,1fr) 28px}
 .sh-faq-list .drm-question p{padding-left:34px}
}
@media(prefers-reduced-motion:reduce){.drm-shoreline *,.drm-shoreline *:before,.drm-shoreline *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(prefers-reduced-motion:reduce){.sh-faq-list details::details-content,.drm-native-footer .drm-footer-links::details-content{transition:none!important}}


