@font-face{font-family:"Barlow Condensed";src:url("../assets/fonts/barlow-condensed-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../assets/fonts/barlow-condensed-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../assets/fonts/barlow-condensed-800.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("../assets/fonts/manrope-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("../assets/fonts/manrope-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("../assets/fonts/manrope-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

:root{
  --ink:#151515;--ink-soft:#403d39;--paper:#fff8ef;--paper-deep:#f1e7db;--white:#fff;
  --red:#d91f26;--red-dark:#a70e14;--teal:#0f6867;--yellow:#f2c94c;--line:#d8cfc4;
  --shadow:0 18px 45px rgba(36,28,23,.14);--radius:14px;--shell:min(1180px,calc(100% - 40px));
  --display:"Barlow Condensed",sans-serif;--body:Manrope,sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.7;text-rendering:optimizeLegibility}
::selection{background:var(--red);color:#fff}
::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--paper-deep)}::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--paper-deep);border-radius:999px}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:.22em}
a:hover{text-decoration-color:var(--red)}
:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.shell{width:var(--shell);margin-inline:auto;min-width:0}
.skip-link{position:fixed;z-index:1000;left:18px;top:12px;transform:translateY(-150%);background:#fff;color:#000;padding:.7rem 1rem;border-radius:8px;font-weight:700}
.skip-link:focus{transform:none}
.topline{background:var(--ink);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.02em}
.topline__inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.site-header{position:relative;z-index:50;background:rgba(255,248,239,.97);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:86px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.brand img{width:218px;height:auto}
.desktop-nav{display:flex;justify-content:center;align-items:center;gap:24px}
.desktop-nav a{font-size:.88rem;font-weight:700;text-decoration:none;padding:.35rem 0;border-bottom:2px solid transparent}
.desktop-nav a[aria-current="page"],.desktop-nav a:hover{border-color:var(--red)}
.header-phone{display:flex;flex-direction:column;text-decoration:none;font-family:var(--display);font-size:1.3rem;font-weight:800;line-height:1.05;text-align:right}
.header-phone span{font-family:var(--body);font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--red)}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{list-style:none;width:46px;height:46px;border-radius:12px;background:var(--ink);display:grid;place-content:center;gap:5px;cursor:pointer}
.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;width:22px;height:2px;background:#fff}
.mobile-menu nav{position:absolute;right:0;top:56px;width:min(320px,calc(100vw - 30px));background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:18px;display:grid;gap:4px}
.mobile-menu nav>a:not(.button){padding:.65rem .4rem;text-decoration:none;font-weight:700;border-bottom:1px solid var(--line)}
h1,h2,h3{font-family:var(--display);line-height:.98;letter-spacing:-.025em;margin:0 0 .75rem;text-wrap:balance}
h1{font-size:clamp(3.2rem,6vw,5.75rem);font-weight:800}
h2{font-size:clamp(2.5rem,4.4vw,4.45rem);font-weight:800}
h3{font-size:clamp(1.55rem,2.1vw,2rem);font-weight:700}
p{margin:0 0 1rem}.lead{font-size:clamp(1.1rem,1.5vw,1.27rem);max-width:62ch;color:var(--ink-soft)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.25rem;border-radius:999px;border:2px solid transparent;font-weight:800;text-decoration:none;line-height:1.1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(25,18,15,.18);text-decoration:none}.button--red{background:var(--red);color:#fff}.button--red:hover{background:var(--red-dark)}
.button--dark{background:var(--ink);color:#fff}.button--light{background:#fff;color:var(--ink)}.button--outline{border-color:var(--ink);color:var(--ink)}
.text-link{font-weight:800;text-decoration-color:var(--red)}.text-link--light{color:#fff;text-decoration-color:#fff}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px}
.hero{position:relative;overflow:hidden;background:var(--paper)}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:repeating-linear-gradient(90deg,var(--red) 0 44px,transparent 44px 55px);background-size:55px 100%;animation:tape-shift 4s linear infinite}
.hero__grid{display:grid;grid-template-columns:.84fr 1.16fr;align-items:stretch;min-height:610px}.hero__grid>*{min-width:0}
.hero__copy{position:relative;z-index:2;padding:78px 48px 92px 0;display:flex;flex-direction:column;justify-content:center}
.hero__copy:before{content:"";position:absolute;z-index:-1;left:-50vw;right:-16%;top:0;bottom:0;background:var(--paper)}
.hero h1 span{color:var(--red)}
.hero__copy .lead{max-width:50ch}
.hero__proof{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:26px;font-size:.84rem;font-weight:700}
.hero__proof span{display:flex;align-items:center;gap:7px}.hero__proof span:before{content:"";display:block;flex:0 0 21px;width:21px;height:21px;background:url("../assets/icons/check.svg") center/contain no-repeat}
.hero__image{position:relative;min-height:610px;background:var(--ink);overflow:hidden}
.hero__image img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero__image:before{content:"";position:absolute;z-index:2;inset:22px;border:2px solid rgba(255,255,255,.8);border-radius:10px;pointer-events:none}
.hero__image-note{position:absolute;z-index:3;right:32px;bottom:30px;max-width:245px;background:rgba(21,21,21,.92);color:#fff;padding:14px 16px;border-radius:10px;font-size:.78rem;line-height:1.45}
.service-strip{background:var(--ink);color:#fff;padding:20px 0}.service-strip__inner{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;font-family:var(--display);font-size:1.18rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.service-strip span{display:flex;align-items:center;gap:24px}.service-strip span:not(:last-child):after{content:"";width:8px;height:8px;background:var(--red);transform:rotate(45deg)}
section{padding:92px 0}.section--tight{padding:66px 0}.section--paper-deep{background:var(--paper-deep)}.section--ink{background:var(--ink);color:#fff}.section--white{background:#fff}
.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;margin-bottom:44px}.section-head p{max-width:58ch;margin:0;color:var(--ink-soft)}.section--ink .section-head p{color:#d7d1ca}
.red-path{position:relative}.red-path:before{content:"";position:absolute;left:calc(50% - 1px);top:0;bottom:0;width:2px;background:var(--red);opacity:.24}
.scope-list{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.scope-list>.scope-item:nth-child(1),.scope-list>.scope-item:nth-child(4){grid-column:span 7}.scope-list>.scope-item:nth-child(2),.scope-list>.scope-item:nth-child(3){grid-column:span 5}
.scope-item{position:relative;background:#fff;border-radius:var(--radius);padding:30px 30px 28px 88px;box-shadow:0 12px 28px rgba(44,32,22,.08);min-height:150px}
.scope-item img{position:absolute;left:28px;top:31px;width:36px;height:36px;object-fit:contain}.scope-item h3{font-size:1.65rem}.scope-item p{color:var(--ink-soft);margin:0}
.scope-list>.scope-item--wide{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;padding-left:32px;background:var(--teal);color:#fff}.scope-item--wide p{color:#e9ffff}.scope-item--wide .button{margin-left:22px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:step}.step{position:relative;padding:35px 36px 32px 64px;border-top:2px solid #4b4b4b;counter-increment:step}.step:before{content:counter(step);position:absolute;left:0;top:27px;width:44px;height:44px;display:grid;place-items:center;background:var(--red);border-radius:50%;font-family:var(--display);font-size:1.5rem;font-weight:800}.step h3{font-size:1.75rem}.step p{color:#cfc9c1;margin:0}.step:not(:last-child):after{content:"";position:absolute;right:-7px;top:-8px;width:14px;height:14px;background:var(--red);transform:rotate(45deg)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split--reverse .split__media{order:2}
.photo-window{position:relative}.photo-window img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.photo-window:after{content:"";position:absolute;right:-18px;bottom:-18px;width:92px;height:92px;border:10px solid var(--red);border-left:0;border-top:0;border-radius:0 0 16px 0}
.estimate-factors{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}.factor{display:grid;grid-template-columns:130px 1fr;gap:22px;padding:17px 0;border-bottom:1px solid var(--line)}.factor strong{font-family:var(--display);font-size:1.25rem}.factor p{margin:0;color:var(--ink-soft)}
.quote-band{background:var(--red);color:#fff;padding:54px 0}.quote-band blockquote{margin:0;font-family:var(--display);font-size:clamp(2rem,3.5vw,3.5rem);font-weight:700;line-height:1.05;max-width:22ch}.quote-band p{margin:16px 0 0;font-weight:700}
.guide-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}.guide-card{grid-column:span 4;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 34px rgba(42,31,25,.09);display:flex;flex-direction:column}.guide-card:first-child{grid-column:span 8;display:grid;grid-template-columns:1.15fr .85fr}.guide-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.guide-card:first-child img{height:100%;aspect-ratio:auto}.guide-card__body{padding:25px}.guide-card__body p{color:var(--ink-soft)}.guide-card h2,.guide-card h3{font-size:1.75rem}.guide-card:first-child h2,.guide-card:first-child h3{font-size:2.4rem}.guide-card .text-link{margin-top:auto;align-self:flex-start}
.faq-list{display:grid;gap:12px;max-width:900px;margin:36px auto 0}.faq-list details{background:#fff;border-radius:var(--radius);box-shadow:0 8px 24px rgba(38,28,23,.07);padding:0 24px}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-family:var(--display);font-size:2rem;color:var(--red)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{padding:0 40px 22px 0;color:var(--ink-soft)}
.page-hero{position:relative;padding:76px 0 66px;background:var(--ink);color:#fff;overflow:hidden}.page-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,var(--red) 0 34px,transparent 34px 43px);background-size:43px 100%;animation:tape-shift 4s linear infinite}.page-hero__grid{display:grid;grid-template-columns:1fr .48fr;gap:70px;align-items:end}.page-hero .lead{color:#d8d1c9}.crumbs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px;color:#cfc8c0;font-size:.83rem}.crumbs a{color:#fff}.page-hero__aside{border-top:1px solid #585858;padding-top:22px}.page-hero__aside strong{display:block;font-family:var(--display);font-size:1.45rem;margin-bottom:4px}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:74px;align-items:start}.prose{max-width:74ch}.prose h2{font-size:2.7rem;margin-top:2.2rem}.prose h3{margin-top:1.8rem}.prose ul,.prose ol{padding-left:1.25rem}.prose li{margin-bottom:.55rem}.prose a{font-weight:700;color:var(--red-dark)}.prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.94rem}.prose th,.prose td{text-align:left;vertical-align:top;padding:14px;border-bottom:1px solid var(--line)}.prose th{background:var(--ink);color:#fff}.prose .callout{background:var(--paper-deep);border-radius:var(--radius);padding:24px;margin:28px 0}.prose .source-note{font-size:.83rem;color:#5d5750}.prose figure{margin:34px 0}.prose figure img{border-radius:var(--radius);width:100%;aspect-ratio:16/9;object-fit:cover}.prose figcaption{font-size:.78rem;color:#625d57;margin-top:8px}
.side-card{position:sticky;top:24px;background:var(--red);color:#fff;border-radius:var(--radius);padding:28px}.side-card h2{font-size:2rem}.side-card p{color:#ffe8e8}.side-card .button{width:100%;margin-bottom:14px}.side-card .text-link{display:block;text-align:center}
.meta-row{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.84rem;color:#6b645d;margin:0 0 24px}.article-hero{padding:56px 0 0}.article-hero__image{width:100%;height:min(58vw,570px);object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.article-layout{padding-top:62px}.toc{background:#fff;border-radius:var(--radius);padding:22px 26px;margin:25px 0}.toc strong{font-family:var(--display);font-size:1.25rem}.toc ol{margin:.7rem 0 0}.source-list{font-size:.9rem}.source-list li{margin-bottom:.8rem}
.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}.contact-card{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:0 12px 30px rgba(40,29,22,.08)}.contact-card a{font-family:var(--display);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;color:var(--red-dark)}
.hours-table{display:grid;grid-template-columns:repeat(2,1fr);gap:0 34px}.hours-table div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.checklist{display:grid;gap:12px;margin-top:24px}.checklist li{list-style:none;position:relative;padding-left:38px}.checklist li:before{content:"";position:absolute;left:0;top:.1rem;width:25px;height:25px;background:url("../assets/icons/check.svg") center/contain no-repeat}
.error-page{min-height:68vh;display:grid;place-items:center;text-align:center;padding:80px 20px}.error-code{font-family:var(--display);font-size:clamp(8rem,24vw,18rem);font-weight:800;line-height:.7;color:var(--red);opacity:.16}.error-page h1{margin-top:-1.6rem}
.closing-cta{background:var(--red);color:#fff;padding:60px 0}.closing-cta__grid{display:grid;grid-template-columns:1fr auto;gap:55px;align-items:center}.closing-cta h2{font-size:clamp(2.8rem,5vw,5rem)}.closing-cta p{max-width:58ch;color:#ffe8e8}.closing-cta__actions{display:flex;flex-direction:column;align-items:center;gap:14px}
.site-footer{background:var(--ink);color:#f8f1e8;padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:48px}.site-footer h2{font-size:1.35rem;text-transform:uppercase;letter-spacing:.05em}.site-footer a{display:block;margin-bottom:.5rem}.site-footer p{color:#beb7af;font-size:.9rem}.footer-brand img{width:220px;margin-bottom:18px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #373737;padding-top:22px;margin-top:48px;color:#999;font-size:.75rem}

@media (max-width:980px){
  .desktop-nav,.header-phone{display:none}.mobile-menu{display:block}.nav-wrap{grid-template-columns:1fr auto}
  .hero__grid{grid-template-columns:1fr}.hero__copy{padding:62px 0 52px}.hero__copy:before{right:-50vw}.hero__image{min-height:480px}.hero__image-note{left:24px;right:auto}
  .section-head,.split,.content-grid,.page-hero__grid{grid-template-columns:1fr}.section-head{gap:18px}.split{gap:42px}.split--reverse .split__media{order:0}
  .steps{grid-template-columns:1fr}.step:not(:last-child):after{display:none}.red-path:before{display:none}
  .guide-card,.guide-card:first-child{grid-column:span 6;display:flex}.guide-card:first-child img{aspect-ratio:16/10;height:auto}
  .side-card{position:static}.footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  :root{--shell:min(1180px,calc(100% - 28px))}.topline__hours{display:none}.nav-wrap{min-height:74px;gap:14px}.brand img{width:175px}
  h1{font-size:clamp(2.75rem,12vw,3.7rem)}h2{font-size:clamp(2.35rem,11vw,3.5rem)}section{padding:68px 0}.section--tight{padding:50px 0}
  .hero__copy,.hero__copy .lead{max-width:100%}.actions{align-items:flex-start}.actions>*{max-width:100%}.hero__proof span{min-width:0}.contact-card a{overflow-wrap:anywhere}
  .hero__copy{padding-top:48px}.hero__image{min-height:390px}.hero__image:before{inset:14px}.hero__image-note{bottom:18px;left:18px;right:18px;max-width:none}
  .service-strip__inner{justify-content:flex-start}.service-strip span{width:100%;justify-content:space-between}.service-strip span:not(:last-child):after{display:block}
  .scope-list{grid-template-columns:1fr}.scope-list>.scope-item,.scope-list>.scope-item--wide{grid-column:auto}.scope-item--wide{display:block}.scope-item--wide .button{margin:18px 0 0}
  .factor{grid-template-columns:1fr;gap:2px}.guide-grid{display:block}.guide-card,.guide-card:first-child{margin-bottom:18px}.page-hero{padding-top:56px}.article-hero__image{height:52vw;min-height:260px}
  .contact-cards,.hours-table{grid-template-columns:1fr}.closing-cta__grid{grid-template-columns:1fr}.closing-cta__actions{align-items:flex-start}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
}
@keyframes tape-shift{to{background-position:55px 0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.hero:after,.page-hero:after{animation:none}}
