.b-bold{--motion-ease:cubic-bezier(.16, 1, .3, 1)}.b-bold .b-hero-line{color:inherit;display:block}.b-bold .b-hero-line:last-child{color:var(--action)}.b-bold .b-hero,.b-bold .b-commercial{overflow:clip}@media (prefers-reduced-motion:no-preference){.b-bold .b-hero-line{animation:b-hero-line-enter .85s var(--motion-ease) backwards}.b-bold .b-hero-line:nth-child(2){animation-delay:.14s}.b-bold .b-hero-line:nth-child(3){animation-delay:.21s}.b-bold .b-hero .eyebrow{animation:b-hero-eyebrow .6s .1s var(--motion-ease) backwards}.b-bold .b-ribbon span{animation:b-ribbon-arrive .8s var(--motion-ease) backwards}.b-bold .b-ribbon span:nth-child(2){animation-delay:.1s}.b-bold .b-ribbon span:nth-child(3){animation-delay:.18s}.b-bold .b-ribbon span:nth-child(4){animation-delay:.24s}.b-bold .material-panel:not([hidden]) .material-photo{animation:b-material-settle .65s var(--motion-ease) both}.b-bold .material-panel:not([hidden]) .material-copy>*{animation:b-detail-enter .45s var(--motion-ease) backwards}.b-bold .material-panel:not([hidden]) .material-copy>:nth-child(2){animation-delay:40ms}.b-bold .material-panel:not([hidden]) .material-copy>:nth-child(3){animation-delay:80ms}.b-bold .material-panel:not([hidden]) .material-copy>:nth-child(4){animation-delay:.12s}.b-bold .material-panel:not([hidden]) .material-copy>:nth-child(5){animation-delay:.16s}.b-bold .disclosure-content:not([hidden]),.b-bold .main-nav.is-open{animation:b-detail-enter .32s var(--motion-ease) both}.b-bold .disclosure-sign{transition:rotate .3s var(--motion-ease), color .2s}.b-bold .disclosure.expanded .disclosure-sign{rotate:180deg}.b-bold .disclosure h3 button,.b-bold .concern-options button,.b-bold .material-tabs button{transition:background-color .2s,color .2s,border-color .2s}.b-bold .button{isolation:isolate;transition:background-color .2s, transform .3s var(--motion-ease), box-shadow .3s;position:relative;overflow:hidden}.b-bold .button:before{content:"";z-index:-1;transition:transform .45s var(--motion-ease);background:#ffffff24;position:absolute;inset:0;transform:translate(-115%)skew(-18deg)}.b-bold .button:is(:hover,:focus-visible):before{transform:translate(0)skew(-18deg)}.b-bold .button:active{transform:translateY(1px)scale(.98)}.b-bold :is(.button,.text-link) svg{transition:transform .3s var(--motion-ease)}.b-bold :is(.button,.text-link):is(:hover,:focus-visible) svg{transform:translate(5px)}.b-bold .main-nav>a:not(.button){text-underline-offset:8px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .18s,text-underline-offset .25s}.b-bold .main-nav>a:is(:hover,:focus-visible){-webkit-text-decoration-color:var(--action);text-decoration-color:var(--action);text-underline-offset:5px}.b-bold .field :is(input,select){transition:border-color .18s,box-shadow .2s}.b-bold .field :is(input,select):focus-visible{border-color:var(--ink);box-shadow:0 4px 0 var(--action)}.b-bold .form-result:not(:empty){animation:b-detail-enter .3s var(--motion-ease)}@supports (animation-timeline:view()){.b-bold .b-commercial>.photo{animation:linear both b-roof-drift;animation-timeline:view();animation-range:entry exit}}}@keyframes b-ribbon-arrive{0%{opacity:.2;transform:translate(35px)}to{opacity:1;transform:translate(0)}}@keyframes b-material-settle{0%{opacity:.35;transform:translateY(14px)rotate(0)scale(.98)}to{opacity:1;transform:translateY(0)rotate(-3deg)scale(1)}}@keyframes b-detail-enter{0%{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes b-roof-drift{0%{transform:scale(1.12)translateY(-3%)}to{transform:scale(1.12)translateY(3%)}}@media (prefers-reduced-motion:reduce){html:has(.b-bold){scroll-behavior:auto}.b-bold *,.b-bold :before,.b-bold :after{transition:none!important;animation:none!important}.b-bold .button:hover{transform:none}}@keyframes b-hero-line-enter{0%{clip-path:inset(0 0 100%);transform:translateY(24px)}to{clip-path:inset(0);transform:translateY(0)}}@keyframes b-hero-eyebrow{0%{opacity:0}to{opacity:1}}@media (max-width:700px) and (prefers-reduced-motion:no-preference){.b-bold .b-hero-properties figure:first-child .photo{animation:none}@supports (animation-timeline:view()){.b-bold .b-hero-properties figure:first-child{view-timeline-name:--hero-photo}.b-bold .b-hero-properties figure:first-child .photo{animation:linear both b-hero-photo-depth;animation-timeline:--hero-photo;animation-range:exit}}}@keyframes b-hero-photo-depth{0%{transform:scale(1)}to{transform:scale(1.09)}}
.b-starting-points{background:var(--dark);color:#fff;--focus:#fff}.b-starting-heading{justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:64px;display:flex}.b-starting-heading h2{max-width:600px}.b-starting-heading p{margin-bottom:0;font-size:18px}.b-starting-heading .button{flex-shrink:0}.b-roof-paths{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;display:grid}.b-roof-paths article{border-top:1px solid #ffffff50;padding-top:28px}.b-roof-paths h3{font:400 clamp(28px, 2.7vw, 40px)/1.15 var(--font-anton-b), sans-serif;text-transform:uppercase;color:var(--action);margin-bottom:28px}.b-roof-paths h4{margin:0 0 16px;font-size:19px;line-height:1.4}.b-roof-paths p{color:#eef0ec;font-size:16px}.b-roof-paths ul{color:#c9cec7;padding-left:18px;font-size:14px;line-height:1.7}.b-roof-paths li{margin-bottom:8px;padding-left:5px}.b-roof-paths li::marker{color:var(--action)}.b-services .section-heading h2{max-width:760px;font-size:clamp(42px,4.5vw,64px)}.b-services .section-heading>p{max-width:330px;font-size:18px}.b-roofing-features{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:72px 7%;display:grid}.b-service-image{height:360px;position:relative;overflow:hidden}.b-service-image .photo{object-position:center}.b-roofing-story figcaption{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.6}.b-service-story-copy{padding-top:28px}.b-service-story-copy h3{font:400 clamp(36px, 4vw, 58px)/1.1 var(--font-anton-b), sans-serif;text-transform:uppercase;margin-bottom:16px}.b-service-story-copy .b-service-area{margin-bottom:16px;font-weight:750}.b-service-story-copy p{max-width:58ch;font-size:16px}.b-project-services{border-top:2px solid var(--ink);grid-template-columns:1fr 2fr;gap:7%;margin-top:88px;padding-top:56px;display:grid}.b-project-services>h3{font:400 clamp(36px, 3.5vw, 52px)/1.1 var(--font-anton-b), sans-serif}.b-service-directory{grid-template-columns:1fr 1fr;gap:40px 48px;display:grid}.b-service-directory h4{letter-spacing:-.025em;margin:0 0 16px;font-size:23px;line-height:1.25}.b-service-directory p{margin-bottom:16px;font-size:16px}.b-service-directory .text-link{align-items:flex-start;gap:12px}.b-service-directory .text-link svg{margin-top:2px}@media (prefers-reduced-motion:no-preference) and (hover:hover){.b-service-image .photo{transition:transform .8s var(--motion-ease)}.b-roofing-story:hover .photo{transform:scale(1.035)}}@media (max-width:1000px){.b-roof-paths{gap:28px}.b-starting-heading{flex-direction:column;align-items:flex-start;gap:28px}.b-service-image{height:280px}.b-project-services{grid-template-columns:1fr;gap:36px}.b-project-services>h3 br{display:none}}@media (max-width:700px){.b-starting-heading{margin-bottom:40px}.b-starting-heading h2{max-width:390px}.b-roof-paths{grid-template-columns:1fr;gap:32px}.b-roof-paths h3{margin-bottom:20px;font-size:34px}.b-roof-paths ul{font-size:15px}.b-roofing-features{grid-template-columns:1fr;gap:48px}.b-roofing-story:nth-child(2){padding-top:0}.b-service-image,.b-roofing-story:nth-child(2) .b-service-image{height:260px}.b-services .section-heading h2{font-size:40px}.b-services .section-heading>p{font-size:16px}.b-project-services{margin-top:56px;padding-top:36px}.b-project-services>h3 br{display:initial}.b-service-directory{grid-template-columns:1fr;gap:32px}.b-service-directory article{border-top:1px solid var(--rule);padding-top:24px}}.b-process-journey{background:#f4f3ed;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);align-items:start;gap:8%;display:grid}.b-journey-intro{padding-block:20px 48px;position:sticky;top:64px}.b-bold .b-journey-intro h2{text-wrap:initial;max-width:9ch;margin-bottom:32px;font-size:clamp(42px,4.6vw,68px);line-height:1.08}.b-journey-intro>p{max-width:32ch;margin-bottom:32px;font-size:18px;line-height:1.65}.b-journey-route{position:relative}.b-journey-line{width:200px;height:780px;position:absolute;top:0;left:0;overflow:visible}.b-journey-line path{stroke-width:5px}.b-journey-track{stroke:#d5d8cd}.b-journey-draw{stroke:var(--action)}.b-journey-stages{margin:0;padding:0;list-style:none;position:relative}.b-journey-stages li{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:28px;min-height:260px;display:grid}.b-journey-stages li:nth-child(2){margin-left:80px}.b-journey-stages li:last-child{min-height:200px}.b-journey-number{background:var(--ink);color:#fff;width:112px;height:120px;font:400 64px/1 var(--font-anton-b), sans-serif;clip-path:polygon(0 12%,100% 0,100% 88%,0 100%);place-items:center;display:grid}.b-journey-stages li:nth-child(2) .b-journey-number{background:var(--action);color:var(--ink)}.b-journey-stages li:last-child .b-journey-number{color:var(--ink);background:#dce1d2}.b-journey-copy{padding-top:16px}.b-journey-copy h3{font:400 clamp(28px, 2.5vw, 36px)/1.16 var(--font-anton-b), sans-serif;max-width:14ch;margin-bottom:20px}.b-journey-copy p{max-width:30ch;margin:0;font-size:17px;line-height:1.7}@media (max-width:1100px){.b-process-journey{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5%}.b-journey-stages li{grid-template-columns:88px minmax(0,1fr);gap:20px;min-height:280px}.b-journey-stages li:nth-child(2){margin-left:40px}.b-journey-number{width:88px;height:100px;font-size:52px}.b-journey-line{width:100px;height:840px;left:16px}}@media (max-width:700px){.b-process-journey{grid-template-columns:1fr;gap:28px}.b-journey-intro{padding-block:0 16px;position:static}.b-bold .b-journey-intro h2{max-width:13ch;margin-bottom:24px;font-size:44px}.b-journey-intro>p{font-size:17px}.b-journey-stages li{grid-template-columns:72px minmax(0,1fr);gap:20px;min-height:270px}.b-journey-stages li:nth-child(2){margin-left:28px}.b-journey-number{width:72px;height:90px;font-size:46px}.b-journey-copy{padding-top:10px}.b-journey-copy h3{margin-bottom:16px;font-size:28px}.b-journey-copy p{font-size:16px}.b-journey-line{width:70px;height:810px;left:16px}.b-journey-stages li:last-child{min-height:0}}
.b-bold .b-reviews{background:#f3f3eb;padding-block:96px}.b-reviews-intro{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px;display:flex}.b-reviews-intro .eyebrow{margin-bottom:20px}.b-review-stars{color:#a33d0c;gap:3px;display:inline-flex}.b-reviews-rating p{margin:12px 0 6px;font-size:16px}.b-reviews-rating strong{font-size:32px}.b-reviews-rating>span{color:var(--muted);font-size:14px}.b-reviews-grid{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.b-reviews-grid figure{flex-direction:column;align-items:flex-start;margin:0;padding:32px 30px;display:flex}.b-reviews-grid figure:first-child{padding-left:0}.b-reviews-grid figure+figure{border-left:1px solid var(--rule)}.b-review-photo{aspect-ratio:4/3;width:100%;margin-bottom:24px;display:block;position:relative;overflow:hidden}.b-review-photo img{object-fit:cover}.b-reviews-grid figcaption a{text-underline-offset:3px;font-size:14px}.b-reviews-grid blockquote{margin:22px 0 32px}.b-reviews-grid blockquote p{margin:0;font-size:clamp(21px,2vw,28px);line-height:1.5}.b-reviews-grid figcaption{gap:7px;margin-top:auto;font-size:15px;display:grid}.b-reviews-grid figcaption span{color:var(--muted);font-size:14px}.b-reviews-link{width:fit-content;margin-top:32px}@media (max-width:700px){.b-bold .b-reviews{padding-block:64px}.b-reviews-intro{flex-direction:column;align-items:flex-start;gap:28px;margin-bottom:32px}.b-bold .b-reviews h2{font-size:44px}.b-reviews-grid{grid-template-columns:1fr}.b-reviews-grid figure,.b-reviews-grid figure:first-child{padding:28px 0}.b-reviews-grid figure+figure{border-left:0;border-top:1px solid var(--rule)}}.b-reviews .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.b-bold .b-before-after{background:var(--dark);color:#fff;--focus:#fff;padding-block:96px}.b-before-after-intro{justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:40px;display:flex}.b-before-after-intro .eyebrow{color:var(--action);margin-bottom:20px}.b-before-after-intro h2{margin:0}.b-before-after-intro h2 span{color:var(--action)}.b-before-after-intro>p{color:#d1d6ce;max-width:350px;margin:0;font-size:16px;line-height:1.7}.b-before-after-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.b-before-after-grid figure{border:1px solid #ffffff30;margin:0;overflow:hidden}.b-comparison-label{background:#2a302b;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.b-comparison-label>span:first-child{letter-spacing:.1em;text-transform:uppercase;font-size:14px;font-weight:800}.b-comparison-label>span:last-child{font-size:14px}.b-comparison-label-after{background:var(--action);color:var(--ink)}.b-comparison-photo{aspect-ratio:4/3;position:relative;overflow:hidden}.b-comparison-photo img{object-fit:cover}.b-comparison-photo-before img{object-position:center top}.b-before-after-grid figcaption{padding:24px}.b-before-after-grid h3{margin:0 0 12px;font-size:21px;font-weight:650;line-height:1.35}.b-before-after-grid figcaption p{color:#d1d6ce;max-width:48ch;margin:0;font-size:15px;line-height:1.7}.b-before-after-footer{justify-content:space-between;align-items:center;gap:24px;margin-top:32px;display:flex}.b-before-after-footer p{margin:0;font-size:14px;line-height:1.7}.b-before-after-footer p a{color:#d1d6ce;text-underline-offset:4px;font-size:14px;display:block}.b-before-after-footer p a:hover{color:var(--action)}@media (max-width:700px){.b-bold .b-before-after{padding-block:64px}.b-before-after-intro{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:32px}.b-bold .b-before-after h2{font-size:44px}.b-before-after-intro .eyebrow{font-size:14px}.b-before-after-grid{grid-template-columns:1fr}.b-comparison-label,.b-before-after-grid figcaption{padding:20px}.b-before-after-footer{flex-direction:column;align-items:flex-start}}
