:root{--c-bg:#fbf8f3;--c-surface:#ffffff;--c-surface-2:#eff0f0;--c-ink:#1f1a14;--c-muted:#736e69;--c-line:#e1ddd8;--c-brand:#1d2227;--c-on-brand:#ffffff;--c-brand-text:#1d2227;--c-accent:#b3612a;--c-on-accent:#ffffff;--c-dark:#0c0f14;--c-on-dark:#f5f7fa;--c-muted-on-dark:#afb1b5;--c-accent-on-dark:#b6662f;--c-card:var(--c-surface);--c-card-2:var(--c-bg);--c-band:var(--c-surface);--c-chip:var(--c-bg);--c-chip-2:var(--c-surface);--c-muted-card:var(--c-muted);--c-muted-band:var(--c-muted);--c-link:var(--c-brand-text);--c-link-card:var(--c-brand-text);--c-link-band:var(--c-brand-text);--c-link-chip:var(--c-brand-text);--c-link-chip-2:var(--c-brand-text);--c-star:var(--c-accent);--c-field:var(--c-muted);--c-fill:var(--c-brand);--c-on-fill:var(--c-on-brand);--c-fill-icon:var(--c-accent);--c-act:var(--c-accent);--c-on-act:var(--c-on-accent);--c-act-dark:var(--c-accent);--c-on-act-dark:var(--c-on-accent);--c-hero:var(--c-brand);--p:var(--c-brand-text);--pd:var(--c-dark);--a:var(--c-accent);--ink:var(--c-ink);--soft:var(--c-surface);--line:var(--c-line);--muted:var(--c-muted);--f-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--f-head:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--fs-base:16px;--lh-body:1.6;--fw-body:400;--fw-med:500;--fw-semi:600;--fw-bold:700;--fw-black:700;--fw-head:600;--fw-h3:600;--ls-head:-.02em;--lh-head:1.08;--case-head:none;--fs-h1:clamp(32px,3.043vw + 21.04px,60px);--fs-h2:clamp(26px,1.304vw + 21.3px,38px);--fs-h3:21px;--fs-h1p:clamp(30px,1.087vw + 26.09px,40px);--fs-h2p:clamp(24px,0.326vw + 22.83px,27px);--case-btn:none;--ls-btn:normal;--fs-btn:1rem;--ls-label:.14em;--w-max:1180px;--w-text:70ch;--gutter:20px;--r-sm:12px;--r-md:14px;--r-lg:20px;--r-img:20px;--r-in:10px;--r-btn:10px;--sp-section:88px;--sp-block:40px;--gap:22px;--sp-hero:110px;--sp-hero-b:90px;--sp-phero:64px;--sp-phero-b:56px;--hdr-h:70px;--sh-card:0 14px 34px -26px rgba(0,0,0,.35);--sh-lift:0 18px 40px -22px rgba(0,0,0,.35);--sh-photo:0 30px 60px -30px rgba(0,0,0,.45);--sh-form:0 30px 60px -30px rgba(0,0,0,.5);--step--1:14.2px;--step-0:clamp(16px,0vw + 16px,16px);--step-1:clamp(18px,0.217vw + 17.22px,20px);--step-2:clamp(20px,0.543vw + 18.04px,25px);--step-3:clamp(23px,0.87vw + 19.87px,31px);--step-4:clamp(25px,1.522vw + 19.52px,39px);--step-5:clamp(29px,2.065vw + 21.57px,48px);--step-6:clamp(32px,3.043vw + 21.04px,60px);--w-head:600;--track-head:-.02em;--wrap:1180px;--measure:70ch;--r-s:12px;--r-m:14px;--r-l:20px;--sec-y:88px;--density:1}
@media (max-width:900px){:root{--sp-section:64px;--sec-y:64px;--sp-hero:80px;--sp-hero-b:70px;--sp-phero:64px;--sp-phero-b:56px}}
body{--r:var(--r-md)}
body,.tone-base,.mnav-panel{background-color:var(--c-bg);background-image:none;color:var(--c-ink);--t-fg:var(--c-ink);--t-fg-2:var(--c-muted);--t-link:var(--c-link);--t-glass:var(--c-band);--t-glass-line:var(--c-line);--t-outline:var(--c-line);--t-star:var(--c-star);--t-star-off:var(--c-line);--t-edge:var(--c-ink);--t-act:var(--c-act);--t-on-act:var(--c-on-act);--t-fill:var(--c-fill);--t-on-fill:var(--c-on-fill);--t-fill-icon:var(--c-fill-icon)}
.sec-soft,.tone-band,.tone-tint,.side-call{background-color:var(--c-band);background-image:none;color:var(--c-ink);--t-fg:var(--c-ink);--t-fg-2:var(--c-muted-band);--t-link:var(--c-link-band);--t-glass:var(--c-card-2);--t-glass-line:var(--c-line);--t-outline:var(--c-line);--t-star:var(--c-star);--t-star-off:var(--c-line);--t-edge:var(--c-ink);--t-act:var(--c-act);--t-on-act:var(--c-on-act);--t-fill:var(--c-fill);--t-on-fill:var(--c-on-fill);--t-fill-icon:var(--c-fill-icon)}
.card,.form,.area-card,.side-card,.faq,.review.light,.stat,.dd-menu{background-color:var(--c-card);background-image:none;color:var(--c-ink);--t-fg:var(--c-ink);--t-fg-2:var(--c-muted-card);--t-link:var(--c-link-card);--t-glass:var(--c-chip);--t-glass-line:var(--c-line);--t-outline:var(--c-line);--t-star:var(--c-star);--t-star-off:var(--c-line);--t-edge:var(--c-ink);--t-act:var(--c-act);--t-on-act:var(--c-on-act);--t-fill:var(--c-fill);--t-on-fill:var(--c-on-fill);--t-fill-icon:var(--c-fill-icon)}
.sec-soft .card,.sec-soft .form,.sec-soft .area-card,.sec-soft .side-card,.sec-soft .faq,.sec-soft .review.light,.sec-soft .stat,.sec-soft .dd-menu,.tone-band .card,.tone-band .form,.tone-band .area-card,.tone-band .side-card,.tone-band .faq,.tone-band .review.light,.tone-band .stat,.tone-band .dd-menu,.tone-tint .card,.tone-tint .form,.tone-tint .area-card,.tone-tint .side-card,.tone-tint .faq,.tone-tint .review.light,.tone-tint .stat,.tone-tint .dd-menu{background-color:var(--c-card-2);background-image:none;color:var(--c-ink);--t-fg:var(--c-ink);--t-fg-2:var(--c-muted);--t-link:var(--c-link);--t-glass:var(--c-chip-2);--t-glass-line:var(--c-line);--t-outline:var(--c-line);--t-star:var(--c-star);--t-star-off:var(--c-line);--t-edge:var(--c-ink);--t-act:var(--c-act);--t-on-act:var(--c-on-act);--t-fill:var(--c-fill);--t-on-fill:var(--c-on-fill);--t-fill-icon:var(--c-fill-icon)}
.sec-dark,.tone-deep,.foot{background-color:var(--c-dark);background-image:none;color:var(--c-on-dark);--t-fg:var(--c-on-dark);--t-fg-2:var(--c-muted-on-dark);--t-link:var(--c-accent-on-dark);--t-glass:rgba(255,255,255,.07);--t-glass-line:rgba(255,255,255,.16);--t-outline:rgba(255,255,255,.7);--t-star:var(--c-accent-on-dark);--t-star-off:rgba(255,255,255,.3);--t-edge:var(--c-on-dark);--t-act:var(--c-act-dark);--t-on-act:var(--c-on-act-dark);--t-fill:var(--c-act-dark);--t-on-fill:var(--c-on-act-dark);--t-fill-icon:var(--c-on-act-dark)}
.hero,.phero,.sec-cta{background-color:var(--c-dark);background-image:none;color:var(--c-on-dark);--t-fg:var(--c-on-dark);--t-fg-2:var(--c-on-dark);--t-link:var(--c-on-dark);--t-glass:rgba(255,255,255,.12);--t-glass-line:rgba(255,255,255,.24);--t-outline:rgba(255,255,255,.7);--t-star:var(--c-accent-on-dark);--t-star-off:rgba(255,255,255,.3);--t-edge:var(--c-on-dark);--t-act:var(--c-act-dark);--t-on-act:var(--c-on-act-dark);--t-fill:var(--c-act-dark);--t-on-fill:var(--c-on-act-dark);--t-fill-icon:var(--c-on-act-dark)}
.tone-brand,.th-roofpedia .foot{background-color:var(--c-brand);background-image:none;color:var(--c-on-brand);--t-fg:var(--c-on-brand);--t-fg-2:var(--c-on-brand);--t-link:var(--c-on-brand);--t-glass:transparent;--t-glass-line:var(--c-on-brand);--t-outline:var(--c-on-brand);--t-star:var(--c-on-brand);--t-star-off:transparent;--t-edge:var(--c-on-brand);--t-act:var(--c-on-brand);--t-on-act:var(--c-brand);--t-fill:var(--c-on-brand);--t-on-fill:var(--c-brand);--t-fill-icon:var(--c-brand)}
.tone-accent{background-color:var(--c-accent);background-image:none;color:var(--c-on-accent);--t-fg:var(--c-on-accent);--t-fg-2:var(--c-on-accent);--t-link:var(--c-on-accent);--t-glass:transparent;--t-glass-line:var(--c-on-accent);--t-outline:var(--c-on-accent);--t-star:var(--c-on-accent);--t-star-off:transparent;--t-edge:var(--c-on-accent);--t-act:var(--c-on-accent);--t-on-act:var(--c-accent);--t-fill:var(--c-on-accent);--t-on-fill:var(--c-accent);--t-fill-icon:var(--c-accent)}
.hero,.phero,.sec-cta{background-image:linear-gradient(135deg,var(--c-hero),var(--c-dark))}.sec-cta{--t-fg-2:var(--c-muted-on-dark);--t-link:var(--c-accent-on-dark)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--hdr-h);-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--f-body);font-size:var(--fs-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--t-link);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--f-head);line-height:var(--lh-head);margin:0 0 .5em;letter-spacing:var(--ls-head);font-weight:var(--fw-head);text-transform:var(--case-head);text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-weight:var(--fw-h3)}h4{font-weight:var(--fw-h3)}p{text-wrap:pretty}
.wrap{max-width:var(--w-max);margin:0 auto;padding:0 var(--gutter)}.narrow{max-width:820px}.center{text-align:center}.nw{white-space:nowrap}
.ic{flex:none}
.preview-bar{background:#111;color:#fff;text-align:center;font:.85rem/1.5 system-ui,sans-serif;padding:8px 14px}.preview-bar a{color:#ffd66b}.preview-bar .pv-go{display:inline-block;margin:4px 0 0 6px;background:#ffd66b;color:#111;font-weight:700;padding:3px 12px;border-radius:999px;text-decoration:none;white-space:nowrap}
.top{position:sticky;top:0;z-index:40;background:var(--c-bg);border-bottom:1px solid var(--c-line)}
@supports (backdrop-filter:blur(8px)) and (background:color-mix(in srgb,red 50%,blue)){.top{background:color-mix(in srgb,var(--c-bg) 94%,transparent);backdrop-filter:saturate(1.4) blur(8px)}}
.top-in{display:flex;align-items:center;gap:22px;min-height:70px;position:relative}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:var(--fw-black);font-size:1.08rem;min-width:0}
.brand-name{font-family:var(--f-head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo{height:42px;width:auto}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-sm);background:var(--t-fill);color:var(--t-fill-icon);flex:none}
.nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-weight:var(--fw-semi);font-size:.95rem}.nav>a,.dd>a{text-decoration:none;color:var(--t-fg-2);display:inline-flex;align-items:center;gap:4px;padding:24px 0}
.nav>a:hover,.dd>a:hover,.nav>a[aria-current],.dd>a[aria-current]{color:var(--t-link)}.nav>a[aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.dd{position:relative}.dd-menu{display:none;position:absolute;top:100%;left:-18px;min-width:280px;border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:0 24px 50px -20px rgba(0,0,0,.35);padding:8px}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}.dd-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);text-decoration:none;font-weight:var(--fw-semi)}.dd-menu a:hover{background:var(--c-chip);color:var(--c-link-chip)}.dd-menu .ic{color:var(--t-link)}.dd-menu .dd-all{border-top:1px solid var(--c-line);border-radius:0 0 var(--r-sm) var(--r-sm);margin-top:4px;color:var(--t-link)}
.mnav{display:none}.mnav summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);border:1px solid var(--t-glass-line)}.mnav summary::-webkit-details-marker{display:none}
.mnav-panel{position:absolute;left:0;right:0;top:100%;border-bottom:1px solid var(--c-line);box-shadow:0 24px 40px -24px rgba(0,0,0,.4);padding:10px var(--gutter) 18px;display:grid;max-height:75vh;overflow:auto}
.mnav-panel a{padding:12px 0;text-decoration:none;font-weight:var(--fw-bold);border-bottom:1px solid var(--c-line)}.mnav-panel a[aria-current]{color:var(--t-link)}.mnav-sub{display:grid;padding-left:14px}.mnav-sub a{font-weight:var(--fw-med);color:var(--t-fg-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--r-btn);padding:11px 20px;min-height:44px;text-decoration:none;border:2px solid transparent;cursor:pointer;font:inherit;font-size:var(--fs-btn);font-weight:var(--fw-bold);text-transform:var(--case-btn);letter-spacing:var(--ls-btn);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}.btn-lg{padding:15px 26px;font-size:calc(var(--fs-btn) * 1.05)}.btn-block{width:100%}
.btn-call{background:var(--t-fill);color:var(--t-on-fill)}.btn-accent{background:var(--t-act);color:var(--t-on-act);box-shadow:0 10px 24px -10px var(--t-act)}.btn-ghost{border-color:var(--t-outline);color:var(--t-fg)}.btn-outline{border-color:var(--t-outline);color:var(--t-fg);background:transparent}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.hero,.phero{position:relative;background-size:cover;background-position:center;overflow:hidden}.hero{padding:calc(var(--sp-hero) + var(--hdr-over,0px)) 0 var(--sp-hero-b)}.phero{padding:calc(var(--sp-phero) + var(--hdr-over,0px)) 0 var(--sp-phero-b)}
.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.1),transparent 45%)}
.has-photo>.hero-shade{background:linear-gradient(100deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.72) 55%,rgba(0,0,0,.66) 100%)}.phero.has-photo>.hero-shade{background:linear-gradient(100deg,rgba(0,0,0,.88),rgba(0,0,0,.74))}
.has-photo>.hero-shade::after{content:"";position:absolute;inset:0;background:var(--c-dark);opacity:.35}
.hero-in{position:relative}.hero h1{max-width:15ch}.phero h1{font-size:var(--fs-h1p);max-width:24ch}.kicker{display:inline-flex;align-items:center;gap:7px;background:var(--t-glass);border:1px solid var(--t-glass-line);padding:6px 13px;border-radius:999px;font-weight:var(--fw-semi);font-size:.9rem;margin:0 0 18px}
.lead{font-size:clamp(1.05rem,1.8vw,1.25rem);max-width:60ch;color:var(--t-fg-2);margin:0 0 28px}.phero .lead{margin-bottom:20px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.88rem;margin:0 0 14px;color:var(--t-fg-2)}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.chips{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-wrap:wrap;gap:10px}.chips li{display:flex;align-items:center;gap:8px;background:var(--t-glass);border:1px solid var(--t-glass-line);padding:8px 14px;border-radius:var(--r-sm);font-size:.92rem}
.chips-list{display:grid;gap:8px;max-width:640px;margin:0 0 28px}.chips-list li{justify-content:flex-start;font-size:1rem}
.is-funnel .hero{padding:calc(80px + var(--hdr-over,0px)) 0 70px}.is-funnel .foot{padding:28px 0 40px}
.stars{color:var(--t-star-off);letter-spacing:1px;white-space:nowrap}.stars .on{color:var(--t-star)}
.sec{padding:var(--sp-section) 0}.sec-dark a:not(.btn),.tone-deep a:not(.btn){color:var(--t-link)}
.sec-head{max-width:720px;margin:0 0 var(--sp-block)}.sec-head p{color:var(--t-fg-2);font-size:1.08rem;margin:0}
.row-head{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.row-head>div{max-width:720px}
.more{display:inline-flex;align-items:center;gap:6px;font-weight:var(--fw-bold);color:var(--t-link);text-decoration:none}.more:hover{text-decoration:underline}.more-line{margin:22px 0 0}
.grid{display:grid;gap:var(--gap)}.cards{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
.card{border:1px solid var(--c-line);border-radius:var(--r);padding:26px;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}.card:hover{box-shadow:var(--sh-lift);transform:translateY(-3px)}
.card-link{text-decoration:none}.card p{color:var(--t-fg-2);margin:0 0 16px}.card-more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:var(--fw-bold);color:var(--t-link);font-size:.95rem}
.card-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--r);background:var(--c-chip);color:var(--c-link-chip);margin-bottom:16px}.sec-soft .card-ic,.tone-band .card-ic{background:var(--c-chip-2);color:var(--c-link-chip-2)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.split-top{align-items:start}.split-text p{color:var(--t-fg-2);font-size:1.05rem}.split-photo{margin:0}.split-photo img{border-radius:var(--r-img);box-shadow:var(--sh-photo);aspect-ratio:4/3;object-fit:cover;width:100%}
.why{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:16px}.split.solo{grid-template-columns:1fr}.split.solo .split-text{max-width:820px}.split.solo .why{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.why li{display:flex;gap:14px}.why-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-sm);background:var(--c-fill);color:var(--c-fill-icon);flex:none}.why strong{display:block}.why span{color:var(--t-fg-2);font-size:.95rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.stat{border:1px solid var(--c-line);border-radius:var(--r);padding:26px;text-align:center}.stat strong{display:block;font-family:var(--f-head);font-size:2.2rem;font-weight:var(--fw-head);color:var(--t-link);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat span{color:var(--t-fg-2);font-weight:var(--fw-semi)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery figure{margin:0}.gallery img{border-radius:var(--r-sm);aspect-ratio:1/1;object-fit:cover;width:100%}
.rating-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rating-line.big{font-size:1.1rem;margin:0}.reviews{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
.review{margin:0;background:var(--t-glass);border:1px solid var(--t-glass-line);border-radius:var(--r);padding:24px}.review p{margin:12px 0 16px;font-size:1.02rem}.review footer{font-weight:var(--fw-bold)}.review footer span{font-weight:var(--fw-body)}
.review.light{box-shadow:var(--sh-card);border-color:var(--c-line)}.wall{columns:3 300px;column-gap:22px;margin-bottom:36px}.wall .review{break-inside:avoid;margin:0 0 22px}
.towns{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}.towns li{display:flex;align-items:center;gap:6px;background:var(--t-glass);color:var(--t-fg);border-radius:999px;padding:6px 12px;font-size:.9rem;font-weight:var(--fw-semi)}
.towns li a{display:flex;align-items:center;gap:6px;text-decoration:none}.towns li:has(a):hover{background:var(--c-fill);color:var(--c-on-fill)}.towns-big li{font-size:1rem;padding:9px 16px}
.area-card{border:1px solid var(--c-line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--sh-card)}.area-line{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;font-weight:var(--fw-semi)}.area-line a{text-decoration:none}.area-line .ic{color:var(--t-link)}
.hours{width:100%;border-collapse:collapse;margin-top:14px;font-size:.95rem;font-variant-numeric:tabular-nums}.hours th{text-align:left;font-weight:var(--fw-semi);padding:6px 0;color:var(--t-fg-2)}.hours td{text-align:right;padding:6px 0}.hours tr+tr{border-top:1px solid var(--c-line)}
.faq{border:1px solid var(--c-line);border-radius:var(--r-sm);padding:0 20px;margin:0 0 10px}.faq summary{cursor:pointer;font-weight:var(--fw-bold);padding:18px 0;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";float:right;font-size:1.3rem;line-height:1.2;color:var(--t-link)}.faq[open] summary::after{content:"–"}.faq p{margin:0 0 18px;color:var(--t-fg-2)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.prose{font-size:1.07rem}.prose p{margin:0 0 1.1em}.prose h2{font-size:var(--fs-h2p);margin-top:0}.prose .faq-head{margin-top:44px}.prose a{color:var(--t-link);font-weight:var(--fw-semi)}.prose-photo{margin:0 0 30px}.prose-photo img{border-radius:var(--r-img);aspect-ratio:16/9;object-fit:cover;width:100%}
.side{position:sticky;top:96px;display:grid;gap:18px}.side-card{border:1px solid var(--c-line);border-radius:var(--r-lg);padding:24px;display:grid;gap:12px;box-shadow:var(--sh-card)}.side-card h3{margin:0}
.side-links{list-style:none;padding:0;margin:0;display:grid}.side-links a{display:flex;align-items:center;gap:10px;padding:9px 0;text-decoration:none;font-weight:var(--fw-semi);border-top:1px solid var(--c-line)}.side-links li:first-child a{border-top:0}.side-links .ic{color:var(--t-link)}.side-links a:hover{color:var(--t-link)}
.sec-cta .split-text p{color:var(--t-fg-2)}
.form{border-radius:var(--r-lg);padding:30px;display:grid;gap:14px;box-shadow:var(--sh-form)}.form-light{border:1px solid var(--c-line);box-shadow:var(--sh-card)}.form label{display:grid;gap:6px;font-weight:var(--fw-semi);font-size:.92rem}.form label span{font-weight:var(--fw-body);color:var(--t-fg-2)}
.form input,.form textarea{font:inherit;font-size:1rem;font-weight:var(--fw-body);color:var(--c-ink);border:1px solid var(--c-field);border-radius:var(--r-in);padding:12px 14px;background:var(--c-bg);min-height:48px}.form input:focus,.form textarea:focus{outline:2px solid var(--t-link);outline-offset:1px;border-color:transparent}
.addr{position:relative;display:block}.addr-list{position:absolute;left:0;right:0;top:100%;z-index:40;margin:4px 0 0;padding:4px 0;list-style:none;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-in);box-shadow:var(--sh-card,0 8px 24px rgba(0,0,0,.16));max-height:280px;overflow:auto}.addr-list li{padding:10px 14px;cursor:pointer;color:var(--c-ink);font-size:.95rem;line-height:1.35}.addr-list li[aria-selected=true],.addr-list li:hover{background:var(--c-bg)}.addr-list .addr-by{cursor:default;padding:4px 14px 2px;font-size:.72rem;color:var(--c-muted);text-align:right}.addr-list .addr-by:hover{background:none}
.form-note{margin:0;font-size:.88rem;color:var(--c-muted-band);background:var(--c-band);border-radius:var(--r-in);padding:10px 12px}.form-msg{margin:0;font-weight:var(--fw-semi)}.form-consent{margin:0;grid-column:1/-1;font-size:.74rem;line-height:1.45;opacity:.78}.hp{position:absolute;left:-9999px}
.form .pl-sms-box{grid-column:1/-1;margin:0}.form .consent.pl-sms-box label.cb{display:flex;gap:10px;align-items:flex-start;font-family:var(--f-body,inherit);font-weight:var(--fw-body);font-size:.8rem;line-height:1.45;letter-spacing:normal;text-transform:none;cursor:pointer}.form .consent.pl-sms-box .cb input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0;border:0;background:none;accent-color:var(--t-link)}.form .pl-sms-box .fine{margin:6px 0 0 28px;font-size:.74rem;line-height:1.45;opacity:.78}.form .pl-sms-box .fine a{color:inherit;text-decoration:underline}.form .pl-one-box label.cb{font-size:.9rem;font-weight:600}.form .pl-one-box details.fine summary{cursor:pointer;text-decoration:underline;width:max-content;max-width:100%}.form .pl-one-box details.fine p{margin:6px 0 0}
.pay-line{display:flex;gap:10px;align-items:flex-start;font-weight:var(--fw-med);color:var(--t-fg-2)}.pay-line strong{color:var(--t-fg)}.pay-line .ic{color:var(--t-link);margin-top:3px}
.social-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.foot{padding:64px 0 0;color:var(--t-fg-2)}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}.foot strong{display:block;color:var(--t-fg);font-size:1.1rem;margin-bottom:8px}.foot h4{color:var(--t-fg);font-size:.95rem;margin:0 0 14px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.foot a{text-decoration:none}.foot a:hover{color:var(--t-fg);text-decoration:underline}.foot-brand p{margin:0 0 16px}.foot-contact li{display:flex;gap:9px;align-items:flex-start}
.social{display:flex;gap:14px}.social a{color:var(--t-fg)}.foot-base{border-top:1px solid var(--t-glass-line);margin-top:44px;padding-top:22px;padding-bottom:40px}.made{margin:0;font-size:.85rem}.made a{color:var(--t-link)}.legal{margin:0 0 12px;font-size:.8rem;line-height:1.55;max-width:var(--measure,72ch);color:var(--t-fg-2)}
.callbar{display:none}
@media (max-width:980px){.layout{grid-template-columns:1fr}.side{position:static}.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.split.solo .why{grid-template-columns:1fr}.nav{display:none}.btn-call{margin-left:auto}.mnav{display:block}.split{grid-template-columns:1fr;gap:36px}.gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.btn-call span{display:none}.btn-call{padding:11px}.callbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:50;justify-content:center;align-items:center;gap:10px;background:var(--c-act);color:var(--c-on-act);font-weight:var(--fw-black);text-decoration:none;border-radius:var(--r-btn);padding:15px;min-height:52px;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}.foot-grid{grid-template-columns:1fr}.foot-base{padding-bottom:100px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
body{font-synthesis:none}
/* roofpedia */
.s-roofpedia{--rp-ink:#1d2227;--rp-ink2:#3a434c;--rp-mute:#69727b;--rp-faint:#9aa2aa;--rp-paper:#f6f2ea;--rp-paper2:#efe9dd;--rp-card:#fff;--rp-line:#e3dccd;--rp-line2:#d6cdba;--rp-cu:#b4622a;--rp-cu2:#8d4a1c;--rp-cubg:#f6e7da;--rp-slate:#34414c;--rp-moss:#4c6a37;--rp-mossbg:#e6eedc;--rp-sky:#dfeaf1;--rp-skyink:#3f6378;--rp-star:#e3a63a;--rp-ok:#2f7a4a;--rp-okbg:#e2f1e6;--rp-r:14px;--rp-shadow:0 1px 2px rgba(29,34,39,.06),0 8px 24px rgba(29,34,39,.07);--rp-serif:'Fraunces',Georgia,serif;--rp-sans:'Instrument Sans',system-ui,sans-serif;--rp-mono:'IBM Plex Mono',ui-monospace,monospace;position:relative;padding:clamp(40px,6vw,64px) 0;color:var(--rp-ink);font-family:var(--rp-sans)}
.s-roofpedia img{display:block;max-width:100%}
.s-roofpedia h1,.s-roofpedia h2,.s-roofpedia h3{font-family:var(--rp-serif);font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:0}
.s-roofpedia h4{font-family:var(--rp-serif);font-weight:600;margin:0}
.rp-eyebrow{font:500 12px/1.2 var(--rp-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--rp-cu2);margin:0}
.rp-eyebrow.lt{color:#f3c9a6}.rp-eyebrow.mo{color:var(--rp-moss)}
.rp-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.rp-head h2{font-size:clamp(28px,3.4vw,38px);max-width:680px;margin-top:8px}
.rp-h2{font-size:clamp(26px,3vw,32px);margin:0 0 6px}
.rp-lead{margin:8px 0 0;color:var(--rp-mute);max-width:600px}.rp-lead.big{font-size:18px;color:var(--rp-ink2);max-width:720px}
.rp-mute{color:var(--rp-mute);margin:8px 0 0}.rp-mute a{color:var(--rp-cu2);font-weight:600}
.rp-fine{font-size:12.5px;color:var(--rp-mute);margin:10px 0 0}
.rp-arr{font-weight:600}
.rp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:12px 18px;font:600 15px/1.1 var(--rp-sans);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s,transform .15s}
.rp-btn:hover{transform:translateY(-1px)}
.rp-btn.cu{background:var(--rp-cu);color:#fff}.rp-btn.cu:hover{background:var(--rp-cu2);color:#fff}
.rp-btn.ink{background:var(--rp-ink);color:#fff}
.rp-btn.line{background:transparent;border:1.5px solid var(--rp-line2);color:var(--rp-ink)}.rp-btn.line:hover{border-color:var(--rp-ink)}
.rp-btn.sm{padding:9px 13px;font-size:14px;border-radius:9px}
.rp-ctas{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.rp-inp{font:inherit;font-size:15.5px;border:1.5px solid var(--rp-line);border-radius:11px;padding:12px 13px;background:#fff;color:var(--rp-ink);width:100%;min-width:0}
.rp-inp:focus{outline:2px solid var(--rp-cu);outline-offset:1px;border-color:transparent}
.rp-tag{display:inline-block;font:500 10.5px/1.2 var(--rp-mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:5px;background:var(--rp-paper2);color:var(--rp-ink2)}
.rp-tag.cu{background:var(--rp-cubg);color:var(--rp-cu2)}.rp-tag.mo{background:var(--rp-mossbg);color:var(--rp-moss)}.rp-tag.sk{background:var(--rp-sky);color:var(--rp-skyink)}
.rp-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rp-line2);background:#fff;border-radius:999px;padding:7px 13px;font:500 14px/1.2 var(--rp-sans);color:var(--rp-ink);text-decoration:none;cursor:pointer}
.rp-chip b{font:500 12px var(--rp-mono);color:var(--rp-mute)}
.rp-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:14.5px;margin:0}
.rp-kv dt{color:var(--rp-mute)}.rp-kv dd{margin:0;font:400 14px var(--rp-mono)}.rp-kv dd.w{font-family:var(--rp-sans)}

/* the bar for pros, the breadcrumb */
.s-roofpedia--probar{padding:0;background:var(--rp-ink);color:#e9e4da;font-size:13.5px}
.rp-bar-in p{margin:0;padding:8px 0;text-align:center;line-height:1.4}.s-roofpedia .rp-bar-in a{color:#f3c9a6;font-weight:600;text-decoration:none;white-space:nowrap}.s-roofpedia .rp-bar-in a:hover{text-decoration:underline}
.s-roofpedia--crumb{padding:18px 0 0;background:transparent}
.rp-crumbs{font-size:13.5px;color:var(--rp-mute);display:flex;gap:8px;flex-wrap:wrap}.s-roofpedia .rp-crumbs a{text-decoration:none;color:var(--rp-ink2)}.s-roofpedia .rp-crumbs a:hover{color:var(--rp-cu2)}

/* the home's hero: the finder and the house */
.s-roofpedia--hero{padding:0;overflow:hidden;background:linear-gradient(180deg,#e7eff4 0%,#f3f0e8 72%,var(--rp-paper) 100%)}
.rp-hero-in{display:grid;grid-template-columns:1fr 1.08fr;gap:34px;align-items:center;padding-top:46px;padding-bottom:40px}
.rp-hero-t{font-size:clamp(58px,8vw,96px)!important;font-weight:700!important;letter-spacing:-.045em!important;line-height:.92!important;margin:12px 0 4px!important}
.rp-say{font:400 clamp(20px,2.2vw,26px)/1.2 var(--rp-serif);color:var(--rp-ink2);margin:10px 0 22px;max-width:520px}
.rp-say em,.rp-say .s-accent{font-style:italic;color:var(--rp-cu2)}
.rp-finder{background:#fff;border:1px solid var(--rp-line);border-radius:18px;box-shadow:0 14px 40px rgba(29,34,39,.12);padding:8px;max-width:580px}
.rp-ftabs{display:flex;gap:4px;padding:2px 2px 8px}
.rp-ftabs button{border:0;background:transparent;padding:8px 12px;border-radius:9px;font:600 14px var(--rp-sans);color:var(--rp-mute);cursor:pointer}
.rp-ftabs button.on{background:var(--rp-paper2);color:var(--rp-ink)}
.rp-find{display:grid;grid-template-columns:1.1fr 1fr auto;gap:6px;margin:0}
.rp-find--sm{grid-template-columns:1fr}
.rp-q{display:grid;grid-template-columns:1fr auto;gap:6px;margin:0}
.rp-gres ul{list-style:none;margin:8px 4px 4px;padding:0;display:grid;gap:2px}.rp-gres a{display:block;padding:7px 8px;border-radius:8px;text-decoration:none;font-weight:500}.rp-gres a:hover{background:var(--rp-paper2)}
.rp-gres p{margin:10px 6px 4px;color:var(--rp-mute);font-size:14px}
.rp-counts{display:flex;flex-wrap:wrap;gap:6px 14px;margin:14px 2px 0;font-size:13.5px;color:var(--rp-mute)}.rp-counts b{font:500 13.5px var(--rp-mono);color:var(--rp-ink)}
.rp-house-box{position:relative}
.rp-house{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 30px rgba(29,34,39,.16))}
.rp-spot{cursor:pointer;outline:none}
.rp-spot circle.p{fill:var(--rp-cu);stroke:#fff;stroke-width:3}
.rp-spot text{fill:#fff;font:700 13px var(--rp-sans);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.rp-spot .halo{fill:var(--rp-cu);opacity:.25;transform-origin:center;transform-box:fill-box;animation:rp-pulse 2.2s ease-out infinite}
.rp-spot.on circle.p,.rp-spot:focus-visible circle.p{fill:var(--rp-ink)}
@keyframes rp-pulse{0%{transform:scale(1);opacity:.45}100%{transform:scale(2.3);opacity:0}}
@media (prefers-reduced-motion:reduce){.rp-spot .halo{animation:none}}
.rp-hl{opacity:0;transition:opacity .25s;pointer-events:none}.rp-hl.on{opacity:1}
.rp-spotcard{position:relative;margin:-34px auto 0;max-width:540px;z-index:2;background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(29,34,39,.22);padding:16px 18px;border:1px solid var(--rp-line)}
.rp-spotcard[hidden]{display:none}
.rp-spotcard .top{display:flex;gap:10px;align-items:center;justify-content:space-between}
.rp-spotcard h3{font-size:22px;margin-top:6px}
.rp-spotcard ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}
.rp-spotcard li>a{text-decoration:none;display:flex;gap:8px;align-items:baseline;font-size:15px}.rp-spotcard li>a::before{content:"→";color:var(--rp-cu)}
.rp-spotcard li.none{font-size:14.5px;color:var(--rp-mute)}.rp-spotcard li.none a{color:var(--rp-cu2);font-weight:600}.rp-spotcard li a:hover{color:var(--rp-cu2)}
.rp-spotcard .x{border:0;background:var(--rp-paper2);border-radius:8px;width:30px;height:30px;font-size:16px;cursor:pointer}
.rp-hint{font:400 12px var(--rp-mono);color:var(--rp-mute);text-align:center;margin:8px 0 0}.rp-hint[hidden]{display:none}

/* the tools row */
.s-roofpedia--tools{padding-bottom:20px}
.rp-toolgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.rp-tool{background:#fff;border:1px solid var(--rp-line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--rp-ink);transition:transform .15s,box-shadow .15s}
.rp-tool:hover{transform:translateY(-2px);box-shadow:var(--rp-shadow)}
.rp-tool .ic{font-size:24px}.rp-tool b{font-size:15px;line-height:1.2}.rp-tool small{font-size:13px;color:var(--rp-mute);line-height:1.35}

/* the guides by hub */
.rp-hubs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rp-hubc{background:#fff;border:1px solid var(--rp-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--rp-ink);transition:transform .15s,box-shadow .15s}
.rp-hubc:hover{transform:translateY(-2px);box-shadow:var(--rp-shadow)}
.rp-hubc .ph{height:150px;position:relative;background:var(--rp-paper2);display:block}
.rp-hubc .ph img{width:100%;height:100%;object-fit:cover}
.rp-hubc .ph .rp-tag{position:absolute;left:12px;top:12px}
.rp-hubc .bd{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.rp-hubc b{font:600 24px/1.1 var(--rp-serif);letter-spacing:-.02em}
.rp-hubc ul{margin:0;padding:0;list-style:none;font-size:14.5px;color:var(--rp-ink2);display:grid;gap:5px}.rp-hubc li::before{content:"— ";color:var(--rp-faint)}
.rp-hubc .more{margin-top:auto;font-weight:600;font-size:14px;color:var(--rp-cu2)}
.rp-hubc--all{background:var(--rp-ink);color:#efe9de;border-color:var(--rp-ink)}.rp-hubc--all .bd{justify-content:flex-end;min-height:260px;background:repeating-linear-gradient(-30deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px)}
.rp-hubc--all b{color:#fff;font-size:30px}.rp-hubc--all .more{color:#f3c9a6}.rp-hubc--all .rp-tag{align-self:flex-start;background:rgba(255,255,255,.1);color:#f3c9a6}
.rp-hubc-x{color:#c9c3b8;font-size:14.5px}

/* try colors */
.s-roofpedia--colors{padding-top:0}
.rp-design{background:var(--rp-ink);color:#f1ece3;border-radius:22px;display:grid;grid-template-columns:1.05fr 1fr;gap:10px;overflow:hidden}
.rp-design .l{padding:40px 40px 36px}
.rp-design h2{font-size:clamp(28px,3.4vw,40px);color:#fff;margin-top:8px}
.rp-design p{color:#c9c3b8}
.rp-sw{display:grid;gap:12px;margin:18px 0 22px}
.rp-sw .lbl{font:500 11px var(--rp-mono);letter-spacing:.12em;text-transform:uppercase;color:#8e8a82;margin-bottom:6px}
.rp-sw .dots{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.rp-sw button{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.18);padding:0;cursor:pointer}
.rp-sw button.on{outline:2px solid #fff;outline-offset:2px}
.rp-sw .nm{font-size:13px;color:#e6e0d5;margin-left:4px}
.rp-design .r{background:linear-gradient(180deg,#cfe0ea,#eef1ec);display:grid;place-items:center;padding:20px}
.rp-design .r svg{width:100%;max-width:520px;height:auto}

/* the roof calculator */
.s-roofpedia--calc{padding-top:0}
.rp-calc{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--rp-line);border-radius:22px;overflow:hidden}
.rp-calc .l{padding:34px 36px}.rp-calc .r{background:var(--rp-paper2);padding:34px 36px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.rp-calc h2{font-size:clamp(26px,3vw,34px);margin-top:8px}
.rp-calc .g{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.rp-calc label,.rp-range{font-size:13px;font-weight:600;color:var(--rp-ink2);display:grid;gap:5px}
.rp-big{font:700 64px/1 var(--rp-serif);letter-spacing:-.03em}.rp-big small{font:500 18px var(--rp-sans);color:var(--rp-mute);letter-spacing:0}

/* for pros */
.s-roofpedia--pros{padding-top:0}
.rp-pros{background:linear-gradient(135deg,#2a3239,#1d2227);color:#efe9de;border-radius:24px;padding:48px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.rp-pros::after{content:"";position:absolute;inset:auto -40px -60px auto;width:320px;height:320px;background:repeating-linear-gradient(-30deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px);border-radius:50%}
.rp-pros h2{font-size:clamp(30px,4vw,44px);color:#fff;margin-top:8px}
.rp-pros .rp-stat{font:400 22px/1.3 var(--rp-serif);color:#f3c9a6;margin:12px 0 0}
.rp-pros ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:9px}
.rp-pros li{display:flex;gap:10px;align-items:baseline}.rp-pros li::before{content:"✓";color:#9fd3a8;font-weight:700}
.rp-claim{background:#fff;color:var(--rp-ink);border-radius:18px;padding:22px;position:relative;z-index:1}
.rp-claim h3{font-size:22px}.rp-claim p{margin:8px 0 0;color:var(--rp-mute);font-size:14.5px}

/* the Moss check */
.s-roofpedia--moss{padding:22px 0 8px}
.rp-moss{display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border:1px solid #cfdcc0;border-radius:20px;overflow:hidden;box-shadow:var(--rp-shadow)}
.rp-moss .l{padding:22px 24px;display:grid;gap:12px}.rp-moss h2{font-size:26px}
.rp-moss .mcq{display:grid;gap:6px}.rp-moss .mcq>span{font-size:13px;font-weight:600;color:var(--rp-ink2)}.rp-moss .mcq>div{display:flex;gap:6px;flex-wrap:wrap}
.rp-moss .rp-chip.on{background:var(--rp-moss);border-color:var(--rp-moss);color:#fff}
.rp-moss .r{background:var(--rp-mossbg);padding:22px 24px}
.rp-moss .r h3{font-size:24px;margin:0 0 8px}.rp-moss .r ul{margin:0;padding-left:18px;font-size:15px;color:var(--rp-ink2)}.rp-moss .r li{margin:5px 0}

/* compare quotes, the pitch finder */
.s-roofpedia--compare{padding-top:30px}
.rp-tscroll{overflow-x:auto;margin-top:14px}
.rp-cmp{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--rp-line);border-radius:16px;overflow:hidden;font-size:14.5px}
.rp-cmp th,.rp-cmp td{padding:9px 12px;border-top:1px solid var(--rp-line);text-align:left;vertical-align:middle}
.rp-cmp tr:first-child th,.rp-cmp tr:first-child td{border-top:0}
.rp-cmp th{font-weight:600;color:var(--rp-ink2);background:var(--rp-paper2);width:34%}
.rp-cmp td input[type=text],.rp-cmp td input[type=number]{font:inherit;font-size:14.5px;border:1.5px solid var(--rp-line);border-radius:9px;padding:7px 9px;width:100%;min-width:0;background:#fff}
.rp-cmp td input[type=checkbox]{width:20px;height:20px;accent-color:var(--rp-cu)}
.rp-cmp .res td{background:#fff9f3;font-weight:600}
.rp-cmpout{margin-top:14px;background:var(--rp-ink);color:#efe9de;border-radius:16px;padding:18px 20px;display:grid;gap:8px}.rp-cmpout b{color:#f3c9a6}
.s-roofpedia--pitch{padding-top:20px}
.rp-pitch{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
.rp-pitch svg{width:100%;max-width:340px}.rp-pitch svg text{font:600 14px var(--rp-mono);fill:#fff}
.rp-range{max-width:300px;margin:12px 0 14px}.rp-range input{accent-color:var(--rp-cu)}

/* a hub page */
.s-roofpedia--hub{padding:0}
.rp-hubhd{background:linear-gradient(180deg,var(--rp-cubg),var(--rp-paper));padding:20px 0 40px}
.rp-hubhd .g{display:grid;grid-template-columns:1fr 1.05fr;gap:36px;align-items:center}.rp-hubhd .g.solo{grid-template-columns:1fr}
.rp-hubhd h1{font-size:clamp(48px,6.4vw,76px);font-weight:700;letter-spacing:-.04em;margin-top:10px}
.rp-hubhd .lead{font:400 clamp(19px,2vw,23px)/1.3 var(--rp-serif);color:var(--rp-ink2);margin:12px 0 0;max-width:620px}
.rp-subs{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.rp-hubart.box{background:#fff;border:1px solid var(--rp-line);border-radius:var(--rp-r);box-shadow:var(--rp-shadow);padding:14px}
.rp-hubart.pic img{width:100%;height:auto;max-height:360px;object-fit:cover;border-radius:18px;box-shadow:var(--rp-shadow)}
.rp-parts{width:100%;height:auto}.rp-parts .lab{font:600 13px var(--rp-sans);fill:var(--rp-ink)}
.rp-hubbody{padding-top:34px;padding-bottom:60px}
.rp-gh{font-size:21px!important;margin:30px 0 12px!important;color:var(--rp-cu2)}.rp-gh small{font:500 12px var(--rp-mono);color:var(--rp-mute)}
.rp-glist{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.rp-gcard{background:#fff;border:1px solid var(--rp-line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--rp-ink);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.rp-gcard:hover{transform:translateY(-2px);box-shadow:var(--rp-shadow)}
.rp-gim{display:block;height:140px;background:var(--rp-paper2)}.rp-gim img{width:100%;height:100%;object-fit:cover}
.rp-gph{display:block;width:100%;height:100%;background:repeating-linear-gradient(-30deg,var(--rp-paper2) 0 10px,#e8e1d3 10px 20px)}
.rp-gbd{padding:14px 14px 16px;display:grid;gap:6px}.rp-gbd b{font:600 19px/1.2 var(--rp-serif)}.rp-gbd small{font:400 11.5px var(--rp-mono);color:var(--rp-mute)}

/* a page the design made (/tools/) */
.s-roofpedia--pagehead{padding:14px 0 18px}
.rp-ph1{font-size:clamp(40px,5vw,60px)!important;font-weight:700!important;margin-top:10px!important}

/* a guide: its top, its tool, its contents, beside it */
.s-roofpedia--ghead{padding:14px 0 8px}
.rp-gh1{font-size:clamp(34px,4.6vw,54px)!important;max-width:880px;margin-top:10px!important;text-wrap:balance}
.rp-by{display:flex;gap:6px 14px;align-items:center;flex-wrap:wrap;margin:14px 0 0;font-size:14px;color:var(--rp-mute)}
.rp-by .who{display:flex;align-items:center;gap:8px;color:var(--rp-ink);font-weight:600}
.rp-by .who i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--rp-ink);color:#fff;font-style:normal;font-size:13px}
.s-roofpedia--toolbox{padding:14px 0 6px}
.rp-toolbox{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:var(--rp-cubg);border:1px solid #ecd2bd;border-radius:18px;padding:16px 18px}
.rp-toolbox .ic{width:52px;height:52px;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:26px}
.rp-toolbox .tx{display:grid;gap:3px}.rp-toolbox b{font:600 21px/1.2 var(--rp-serif)}.rp-toolbox .tx>span{font-size:14.5px;color:var(--rp-ink2)}
.rp-toolbox .rp-ctas{margin:0}
.s-roofpedia--toc{padding:22px 0 0}
.rp-toc-h{font:500 11px var(--rp-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rp-mute);margin:0 0 10px}
.rp-toc ol{list-style:none;margin:0;padding:0;font-size:14px}
.rp-toc a{display:block;text-decoration:none;color:var(--rp-ink2);padding:5px 0 5px 12px;border-left:2px solid var(--rp-line);line-height:1.35}
.rp-toc a:hover{color:var(--rp-ink)}.rp-toc a.on{border-color:var(--rp-cu);color:var(--rp-ink);font-weight:600}
.s-roofpedia--aside{padding:22px 0 50px}
.rp-aside{display:flex;flex-direction:column;gap:14px}
.rp-card{background:#fff;border:1px solid var(--rp-line);border-radius:var(--rp-r);box-shadow:var(--rp-shadow);padding:18px}
.rp-card h4{font-size:20px;margin:0 0 6px}.rp-card>p{margin:0 0 12px;font-size:14px;color:var(--rp-mute)}
.rp-card .rp-btn{width:100%}
.rp-mini{display:grid;gap:8px}
.rp-mini a{display:grid;grid-template-columns:56px 1fr;gap:10px;text-decoration:none;align-items:center;font-size:14px;font-weight:500;line-height:1.3;color:var(--rp-ink)}
.rp-mini a:hover span{color:var(--rp-cu2)}
.rp-mini img,.rp-mini .rp-gph{width:56px;height:44px;object-fit:cover;border-radius:8px}
.rp-more{display:inline-block;margin-top:12px;font-weight:600;font-size:14px;color:var(--rp-cu2);text-decoration:none}
.rp-mini a.new b{font:600 11px var(--rp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rp-ok);margin-right:2px}
.rp-fresh{margin-bottom:34px}.rp-fresh .rp-gh{margin-top:0!important}
.rp-claimline{font-size:13.5px;color:var(--rp-mute);margin:0}.s-roofpedia .rp-claimline a{color:var(--rp-cu2);font-weight:600}

/* find a pro, on any other page */
.s-roofpedia--findpro{padding:10px 0 60px}
.rp-findpro{background:var(--rp-cubg);border:1px solid #ecd2bd;border-radius:20px;padding:26px 28px;display:grid;gap:14px}
.rp-findpro h2{font-size:clamp(24px,3vw,30px);margin-top:6px}

/* 📍 the directory: a town's pros, a state's towns, a pro's page */
.s-roofpedia--dir,.s-roofpedia--state,.s-roofpedia--alldir{padding:14px 0 30px}
.rp-dirhd{padding-bottom:6px}.rp-dirhd .rp-subs{margin-top:18px}
.rp-dirbody{padding-top:18px}
.rp-trade{padding-top:26px;scroll-margin-top:90px}
.rp-trade .rp-head{margin-bottom:14px;align-items:center}.rp-trade h2{font-size:clamp(24px,2.8vw,30px)}.rp-trade h2 small{font:500 13px var(--rp-mono);color:var(--rp-mute);letter-spacing:0}
.rp-dlist{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rp-biz{background:#fff;border:1px solid var(--rp-line);border-radius:16px;padding:14px 16px;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center}
.rp-biz.on{border-color:#bcd8c4;box-shadow:0 0 0 3px #e8f3eb}
.rp-biz .av{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font:700 18px var(--rp-serif);color:#fff}
.rp-biz h3{font:600 17px/1.25 var(--rp-sans)!important;letter-spacing:0!important;margin:0}
.rp-biz .meta{margin:3px 0 0;font-size:13.5px;color:var(--rp-mute)}
.rp-biz .rp-tag{margin-top:6px}
.rp-biz .side{display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right}
.rp-stars{color:var(--rp-star);letter-spacing:1px}.rp-stars span{color:#d9d2c3}
.rp-tag.ok{background:var(--rp-okbg);color:var(--rp-ok)}
.s-roofpedia .rp-claimlink{font-size:12.5px;font-weight:600;color:var(--rp-cu2);text-decoration:none}.s-roofpedia .rp-claimlink:hover{text-decoration:underline}
.rp-call{white-space:nowrap}
.rp-dirfoot{display:grid;gap:18px;padding-top:30px}
.rp-towns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 10px}
.rp-townc{background:#fff;border:1px solid var(--rp-line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--rp-ink);transition:transform .15s,box-shadow .15s}
.rp-townc:hover{transform:translateY(-2px);box-shadow:var(--rp-shadow)}
.rp-townc b{font:600 21px/1.2 var(--rp-serif)}.rp-townc span{font-size:14px;color:var(--rp-ink2)}.rp-townc small{font-size:12.5px;color:var(--rp-mute)}.rp-townc small b{font:500 12px var(--rp-mono);color:var(--rp-ink)}
.rp-townc .more{margin-top:6px;font-weight:600;color:var(--rp-cu2)}
.rp-sth{margin-top:26px!important}.rp-sth a{text-decoration:none}.rp-sth a:hover{color:var(--rp-cu2)}
.s-roofpedia--divider{padding:26px 0 0}
.rp-divider{font-size:clamp(22px,2.4vw,26px)!important;padding-top:22px;border-top:1px solid var(--rp-line2);color:var(--rp-ink2)}
.s-roofpedia--pro{padding:0}
.rp-prohd{background:linear-gradient(180deg,#e3ecf2,var(--rp-paper));padding:18px 0 0}
.rp-prohd .g{display:grid;grid-template-columns:96px minmax(0,1fr);gap:22px;align-items:start;padding-bottom:18px}.rp-prohd .g>div{min-width:0}
.rp-prohd .rp-btn{white-space:normal;text-align:center}
.rp-prohd .lg{width:96px;height:96px;border-radius:22px;background:var(--rp-slate);color:#fff;display:grid;place-items:center;font:700 36px var(--rp-serif);box-shadow:var(--rp-shadow)}
.rp-prohd h1{margin-top:6px!important}
.rp-prohd .meta{margin:6px 0 0;color:var(--rp-ink2);font-size:15px}
.rp-prohd .rp-tag{margin-top:8px}
.rp-ptabs{display:flex;gap:4px;border-bottom:1px solid var(--rp-line);overflow-x:auto}
.rp-ptabs a{padding:11px 14px;text-decoration:none;font-weight:600;font-size:15px;color:var(--rp-mute);border-bottom:2px solid transparent;white-space:nowrap}
.rp-ptabs a[aria-current]{color:var(--rp-ink);border-color:var(--rp-cu)}
.s-roofpedia--near{padding:10px 0 50px}

.rp-nopic{display:block;width:100%;height:100%}
.rp-mini .rp-nopic{width:56px;height:44px;border-radius:8px;flex:none}
/* 🔎 the results page */
.rp-find--res{grid-template-columns:1.1fr 1fr auto auto;max-width:820px;margin:18px 0 8px;background:#fff;border:1px solid var(--rp-line);border-radius:18px;box-shadow:0 14px 40px rgba(29,34,39,.12);padding:8px}
.rp-near{white-space:nowrap}
.rp-res{min-height:120px;padding-top:8px;scroll-margin-top:84px}
.rp-res-idle,.rp-res-none,.rp-searching{font-size:16.5px;color:var(--rp-ink2);background:#fff;border:1px dashed var(--rp-line2);border-radius:14px;padding:18px 20px;margin:6px 0 14px}
.rp-searching{display:flex;align-items:center;gap:12px;border-style:solid}
.rp-spin{width:20px;height:20px;border-radius:50%;border:3px solid var(--rp-cubg);border-top-color:var(--rp-cu);animation:rp-spin .8s linear infinite;flex:none}
@keyframes rp-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.rp-spin{animation:none}}
.rp-res-h{margin:14px 0 12px}.rp-res-h h2{font-size:clamp(24px,2.8vw,30px);margin:0}.rp-res-h h2 b{color:var(--rp-cu2)}.rp-res-h p{margin:4px 0 0;color:var(--rp-mute);font-size:14px}
.rp-res-h.sub{margin-top:30px;padding-top:20px;border-top:1px solid var(--rp-line2)}
.rp-res-note{font-size:14px;color:var(--rp-ink2);background:var(--rp-sky);border-radius:10px;padding:10px 12px;margin:0 0 12px}
.rp-res-more{margin:14px 0 0}
.rp-res-towns{margin-top:28px}
/* 🏠 the house designer page */
.rp-designer{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start;margin-top:8px}
.rp-dview{background:linear-gradient(180deg,#cfe0ea,#eef1ec);border-radius:22px;padding:18px;position:sticky;top:12px}
.rp-dhouse{width:100%;height:auto;display:block}
.rp-dsum{font-size:15px;color:var(--rp-ink);margin:12px 4px 10px;min-height:2.6em}
.rp-dctl{background:var(--rp-ink);color:#f1ece3;border-radius:22px;padding:22px 22px 8px}
.rp-dctl .rp-sw{margin:14px 0}.rp-dctl .rp-sw .lbl{color:#b7b1a7}.rp-dctl .rp-sw .nm{color:#fff;letter-spacing:0;text-transform:none;font:600 13px var(--rp-sans);margin-left:6px}
.rp-dseg{margin:0 0 14px}.rp-dseg .lbl{display:block;font:500 11px var(--rp-mono);letter-spacing:.12em;text-transform:uppercase;color:#b7b1a7;margin-bottom:6px}
.rp-dseg>div{display:flex;flex-wrap:wrap;gap:6px}
.rp-dctl .rp-chip{background:transparent;color:#f1ece3;border-color:rgba(255,255,255,.28)}.rp-dctl .rp-chip.on{background:#fff;color:var(--rp-ink);border-color:#fff}
.rp-dshare{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:16px}.rp-dshare .rp-fine{margin:0;flex:1 1 320px}
.rp-dnext{margin-top:30px;padding-top:22px;border-top:1px solid var(--rp-line2)}
@media (max-width:1100px){.rp-toolgrid{grid-template-columns:repeat(3,1fr)}.rp-glist{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){
  .rp-bar-in p{font-size:12.5px;text-align:left}
  .rp-hero-in{grid-template-columns:1fr;padding-top:22px;gap:16px}
  .rp-say{margin:6px 0 14px}
  .rp-find,.rp-q{grid-template-columns:1fr}
  .rp-spotcard{margin-top:-6px}
  .rp-toolgrid{grid-template-columns:1fr 1fr}
  .rp-hubs{grid-template-columns:1fr 1fr;gap:10px}.rp-hubc .ph{height:96px}.rp-hubc b{font-size:19px}.rp-hubc ul{display:none}.rp-hubc--all .bd{min-height:0}.rp-hubc--all b{font-size:22px}
  .rp-design{grid-template-columns:1fr}.rp-design .l{padding:26px 20px}
  .rp-calc{grid-template-columns:1fr}.rp-calc .l,.rp-calc .r{padding:24px 20px}.rp-big{font-size:48px}
  .rp-pros{grid-template-columns:1fr;padding:26px 20px;gap:22px}
  .rp-moss{grid-template-columns:1fr}.rp-moss .l,.rp-moss .r{padding:18px}.rp-moss h2{font-size:21px}
  .rp-pitch{grid-template-columns:1fr}
  .rp-cmp{font-size:13px}.rp-cmp th,.rp-cmp td{padding:7px 6px}.rp-cmp th{width:30%}
  .rp-hubhd .g{grid-template-columns:1fr}.rp-glist{grid-template-columns:1fr 1fr;gap:10px}.rp-gim{height:96px}.rp-gbd b{font-size:16px}
  .s-roofpedia--toc{display:none}
  .rp-toolbox{grid-template-columns:auto 1fr;padding:14px}.rp-toolbox .ic{width:44px;height:44px;font-size:22px}.rp-toolbox b{font-size:18px}.rp-toolbox .rp-ctas{grid-column:1/-1}
  .rp-toolbox .rp-btn{flex:1 1 auto}
  .s-roofpedia--ghead{padding-top:10px}
  .rp-findpro{padding:20px 16px}
  .rp-dlist{grid-template-columns:1fr}
  .rp-biz{grid-template-columns:44px 1fr;gap:12px}.rp-biz .av{width:44px;height:44px;font-size:16px}
  .rp-biz .side{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:left}
  .rp-biz .rp-call{flex:1 1 auto}
  .rp-towns{grid-template-columns:1fr 1fr}
  .rp-prohd .g{grid-template-columns:64px minmax(0,1fr);gap:14px}.rp-prohd .lg{width:64px;height:64px;font-size:24px;border-radius:16px}
  .rp-prohd .rp-ctas{grid-column:1/-1}
  .rp-find--res{grid-template-columns:1fr 1fr}.rp-find--res .rp-inp{grid-column:1/-1}
  .rp-designer{grid-template-columns:1fr;gap:12px}.rp-dctl{padding:18px 16px 4px}
  .rp-dview{position:sticky;top:70px;z-index:5;padding:8px 10px 4px;box-shadow:0 10px 24px -14px rgba(29,34,39,.45)}.rp-dhouse{max-height:27vh}
  .rp-dsum{font-size:12.5px;margin:4px 2px 4px;min-height:0;line-height:1.35}
}
/* imported */
.s-imported{position:relative;padding:var(--sec-y,clamp(64px,8vw,112px)) 0;color:var(--t-fg,var(--c-ink))}.s-imported:not([class*="tone-"]){background:var(--c-bg)}.s-imported .s-head{max-width:760px;margin:0 0 clamp(32px,4vw,52px)}.s-imported .s-head--row{max-width:none;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px}.s-imported .s-head--row .s-head-in{max-width:720px}.s-imported .s-head--center{margin-inline:auto;text-align:center}.s-imported .s-head--center .s-eyebrow{justify-content:center}.s-imported .s-head h2{margin:0;text-wrap:balance}.s-imported .s-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:var(--step--1,.8125rem);font-weight:var(--fw-semi,600);letter-spacing:.12em;text-transform:uppercase;color:var(--t-link,var(--c-brand-text))}.s-imported .s-eyebrow::before{content:"";width:22px;height:2px;background:currentColor;flex:none}.s-imported .s-lead{margin:16px 0 0;font-size:var(--step-1,1.125rem);line-height:1.6;color:var(--t-fg-2,var(--c-muted));max-width:var(--measure,62ch);text-wrap:pretty}.s-imported .s-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:var(--fw-semi,600);color:var(--t-link,var(--c-brand-text));text-decoration:none;text-underline-offset:4px}.s-imported .s-link:hover{text-decoration:underline}.s-imported .s-link .ic{transition:transform .2s}.s-imported .s-link:hover .ic{transform:translateX(3px)}.s-imported .s-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.s-imported .s-num{font-variant-numeric:tabular-nums}.s-imported p{text-wrap:pretty}.s-imported img{display:block;max-width:100%}@media (prefers-reduced-motion:reduce){.s-imported *{transition:none!important}}.s-imported .s-im-in{max-width:var(--measure,68ch);overflow-wrap:break-word}.s-imported--wide .s-im-in{max-width:none}.s-imported--wide .s-im-in > p,.s-imported--wide .s-im-in > ul,.s-imported--wide .s-im-in > ol{max-width:var(--measure,68ch)}.s-imported .s-im-t{margin:0 0 clamp(16px,2.4vw,28px);font-size:var(--step-5,clamp(2rem,1.2rem + 2.6vw,3.2rem));line-height:1.1;text-wrap:balance}.s-imported .s-im-h{margin:clamp(26px,3.2vw,40px) 0 12px;font-size:var(--step-2,1.45rem);line-height:1.25}.s-imported p{margin:0 0 16px;line-height:1.7}.s-imported .s-im-list{margin:0 0 18px;padding-left:1.2em}.s-imported .s-im-list li{margin:0 0 8px;line-height:1.6}.s-imported .s-im-fig{margin:clamp(20px,2.6vw,32px) 0}.s-imported .s-im-fig img{width:100%;height:auto;border-radius:var(--r-img,var(--r-md,12px))}.s-imported .s-im-fig.s-im-nat{max-width:var(--im-w)}.s-imported .s-im-do{margin:clamp(24px,3vw,36px) 0 0}.s-imported .s-im-hero{margin:0 0 clamp(28px,3.4vw,44px);padding:0 0 clamp(24px,3vw,36px);border-bottom:1px solid var(--line,#e3e7ee)}.s-imported .s-im-hero p{font-size:var(--step-1,1.15rem);line-height:1.6;max-width:60ch}.s-imported .s-im-hero .s-im-do{margin:clamp(18px,2.2vw,26px) 0 0}.s-imported .s-im-rated{margin:0 0 4px;font-weight:600}.s-imported .s-im-call{display:inline-flex;align-items:center}.s-imported .s-im-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:clamp(10px,1.4vw,16px);margin:clamp(20px,2.6vw,32px) 0}.s-imported .s-im-grid figure{margin:0}.s-imported .s-im-grid img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-img,var(--r-md,12px));display:block}.s-imported .s-im-cards figure{display:flex;flex-direction:column;gap:8px;min-width:0}.s-imported .s-im-cards figcaption{display:flex;flex-direction:column;gap:2px;line-height:1.35}.s-imported .s-im-card-name{font-weight:600;overflow-wrap:anywhere}.s-imported .s-im-card-more{font-size:.92em;opacity:.78;overflow-wrap:anywhere}.s-imported .s-im-cards figure.s-im-nat img{width:var(--im-w);max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0}.s-imported .s-im-tl.s-im-tl,.s-imported .s-im-tl.s-im-tl p,.s-imported .s-im-tl.s-im-tl li{text-align:left}.s-imported .s-im-tc.s-im-tc,.s-imported .s-im-tc.s-im-tc p,.s-imported .s-im-tc.s-im-tc li{text-align:center}.s-imported .s-im-tr.s-im-tr,.s-imported .s-im-tr.s-im-tr p,.s-imported .s-im-tr.s-im-tr li{text-align:right}.s-imported .s-im-list.s-im-tl.s-im-tl{list-style-position:outside;padding-left:1.2em}.s-imported .s-im-list.s-im-tc.s-im-tc,.s-imported .s-im-list.s-im-tr.s-im-tr,.s-imported .s-im-tc.s-im-tc ul,.s-imported .s-im-tr.s-im-tr ul{list-style-position:inside;padding-left:0}.s-imported .s-im-hero .s-im-tl.s-im-tl p{margin-left:0;margin-right:auto}.s-imported .s-im-hero .s-im-tc.s-im-tc p{margin-left:auto;margin-right:auto}.s-imported .s-im-hero .s-im-tr.s-im-tr p{margin-left:auto;margin-right:0}
:root{--f-head:"Fraunces",Georgia,Cambria,"Times New Roman",serif;--f-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--f-accent:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body{font-family:var(--f-body)}h1,h2,h3,h4,.brand-name,.stat strong{font-family:var(--f-head)}
/* ════ Roofpedia: draft 1 (2026-10-28) ════ */
.th-roofpedia{--rp-ink:#1d2227;--rp-ink2:#3a434c;--rp-mute:#69727b;--rp-faint:#9aa2aa;--rp-paper:#f6f2ea;--rp-paper2:#efe9dd;--rp-card:#fff;--rp-line:#e3dccd;--rp-line2:#d6cdba;--rp-cu:#b4622a;--rp-cu2:#8d4a1c;--rp-cubg:#f6e7da;--rp-slate:#34414c;--rp-moss:#4c6a37;--rp-mossbg:#e6eedc;--rp-sky:#dfeaf1;--rp-skyink:#3f6378;--rp-star:#e3a63a;--rp-ok:#2f7a4a;--rp-okbg:#e2f1e6;--rp-r:14px;--rp-shadow:0 1px 2px rgba(29,34,39,.06),0 8px 24px rgba(29,34,39,.07);--rp-serif:'Fraunces',Georgia,serif;--rp-sans:'Instrument Sans',system-ui,sans-serif;--rp-mono:'IBM Plex Mono',ui-monospace,monospace;--f-head:var(--rp-serif);--f-body:var(--rp-sans);--c-act:#b4622a;--c-on-act:#fff}
body.th-roofpedia,.th-roofpedia main{background:var(--rp-paper);color:var(--rp-ink);font-family:var(--rp-sans);-webkit-font-smoothing:antialiased}
.th-roofpedia h1,.th-roofpedia h2,.th-roofpedia h3{font-family:var(--rp-serif);font-weight:600;letter-spacing:-.02em;line-height:1.08;text-transform:none}
.th-roofpedia h4{font-family:var(--rp-sans);letter-spacing:0;text-transform:none}
.th-roofpedia a{color:inherit}

/* ── the header: paper, the house mark, the name and "part of Papalocal" ── */
.th-roofpedia .top{position:sticky;top:0;z-index:40;background:rgba(246,242,234,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rp-line);color:var(--rp-ink)}
.th-roofpedia .top-in{min-height:68px;gap:18px}
.th-roofpedia .brand{gap:10px;text-decoration:none;color:var(--rp-ink);flex:none}
.th-roofpedia .brand .logo,.th-roofpedia .brand .mark{display:none}
.th-roofpedia .brand::before{content:"";width:34px;height:34px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Crect width='34' height='34' rx='9' fill='%231d2227'/%3E%3Cpath d='M6 19L17 9L28 19' stroke='%23b4622a' stroke-width='3.4' fill='none' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cpath d='M10 18v8h14v-8' stroke='%23f6f2ea' stroke-width='2.4' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.th-roofpedia .brand-name{font:700 25px/1 var(--rp-serif);letter-spacing:-.4px;color:var(--rp-ink);overflow:visible}
.th-roofpedia .brand-name::after{content:"part of Papalocal";display:block;font:500 9.5px/1.2 var(--rp-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rp-mute);margin-top:3px}
.th-roofpedia .nav{gap:4px;margin-left:auto}
.th-roofpedia .nav>a,.th-roofpedia .nav .dd>a{font-weight:500;font-size:15px;color:var(--rp-ink2);padding:8px 11px;border-radius:9px;text-decoration:none;white-space:nowrap}
.th-roofpedia .nav>a:hover,.th-roofpedia .nav .dd>a:hover,.th-roofpedia .nav a[aria-current="page"]{background:var(--rp-paper2);color:var(--rp-ink)}
.th-roofpedia .nav .dd-menu{background:#fff;border:1px solid var(--rp-line);border-radius:14px;padding:8px;min-width:220px;box-shadow:0 24px 50px -20px rgba(29,34,39,.35)}
.th-roofpedia .nav .dd-menu a{display:block;padding:9px 12px;font-size:14.5px;font-weight:500;border-radius:9px;text-decoration:none}
.th-roofpedia .nav .dd-menu a:hover{background:var(--rp-paper2)}
/* the menu's own pages drawn as the draft's two buttons: Tools (copper) and For pros (outline) */
.th-roofpedia .nav>a[href="/tools/"]{background:var(--rp-cu);color:#fff;font-weight:600;margin-left:6px}
.th-roofpedia .nav>a[href="/tools/"]:hover,.th-roofpedia .nav>a[href="/tools/"][aria-current="page"]{background:var(--rp-cu2);color:#fff}
.th-roofpedia .nav>a[href="/join-us/"]{border:1.5px solid var(--rp-line2);font-weight:600;color:var(--rp-ink)}
.th-roofpedia .btn{border-radius:11px;font-weight:600;letter-spacing:0;text-transform:none}
.th-roofpedia .btn-go,.th-roofpedia .btn-accent,.th-roofpedia .btn-act{background:var(--rp-cu);color:#fff;border-color:var(--rp-cu)}
.th-roofpedia .btn-go:hover,.th-roofpedia .btn-accent:hover,.th-roofpedia .btn-act:hover{background:var(--rp-cu2);color:#fff}
.th-roofpedia .mnav{margin-left:auto}
.th-roofpedia .mnav summary{border:1.5px solid var(--rp-line2);border-radius:11px;background:#fff;color:var(--rp-ink)}
.th-roofpedia .mnav-panel{background:#fff;border-radius:0 0 16px 16px}
.th-roofpedia .mnav-panel a{color:var(--rp-ink);font-weight:600}
.th-roofpedia .mnav-panel a[href="/tools/"]{color:var(--rp-cu2)}
.th-roofpedia .mnav-sub a{font-weight:500;color:var(--rp-mute)}

/* ── a brought-over page: the draft's guide article ── */
.th-roofpedia .s-imported{background:var(--rp-paper);padding-top:clamp(14px,2.4vw,26px);padding-bottom:clamp(48px,6vw,80px)}
.th-roofpedia .s-imported .s-im-in{max-width:760px;margin-inline:auto;font-size:18px;line-height:1.72;color:#262c31}
.th-roofpedia .s-imported--wide .s-im-in{max-width:1080px}
.th-roofpedia .s-imported .s-im-hero{border-bottom:0;padding-bottom:0;margin-bottom:clamp(18px,2.4vw,28px)}
.th-roofpedia .s-imported .s-im-t{font:600 clamp(34px,4.6vw,54px)/1.06 var(--rp-serif);letter-spacing:-.025em;color:var(--rp-ink);margin:0;text-wrap:balance}
.th-roofpedia .s-imported .s-im-hero p{color:var(--rp-ink2)}
.th-roofpedia .s-imported h2.s-im-h,.th-roofpedia .s-imported .s-im-in>h2{font:600 clamp(24px,2.6vw,30px)/1.15 var(--rp-serif);color:var(--rp-ink);margin:1.5em 0 .45em;letter-spacing:-.015em;clear:both;scroll-margin-top:90px}
.th-roofpedia .s-imported h3.s-im-h,.th-roofpedia .s-imported .s-im-in>h3{font:600 21px/1.25 var(--rp-serif);color:var(--rp-ink);margin:1.3em 0 .4em}
.th-roofpedia .s-imported p{margin:0 0 16px}
.th-roofpedia .s-imported .s-im-list{padding-left:22px}
.th-roofpedia .s-imported .s-im-list li{margin:6px 0}
.th-roofpedia .s-imported .s-im-list li::marker{color:var(--rp-cu)}
.th-roofpedia .s-imported .s-im-fig{margin:6px 0 24px}
.th-roofpedia .s-imported .s-im-fig img,.th-roofpedia .s-imported .s-im-grid img{border-radius:14px}
.th-roofpedia .s-imported .s-im-do .btn{background:var(--rp-cu);color:#fff;border:0;padding:13px 20px;border-radius:11px;text-decoration:none}
.th-roofpedia .s-imported .s-im-do .btn:hover{background:var(--rp-cu2)}
/* a button to ANOTHER website is a contributor's credit (the backlink the guide gave them, papalocal-scripts/roofpedia-pages.php):
   drawn as the draft's credit box, a real followed link to their own website */
.th-roofpedia .s-imported .s-im-do:has(>a[href^="http"]:not([href*="papalocal.com"])){display:grid;grid-template-columns:52px 1fr;gap:4px 14px;align-items:center;background:#fff;border:1px solid var(--rp-line);border-radius:16px;padding:16px 18px;margin:22px 0 26px;box-shadow:var(--rp-shadow)}
.th-roofpedia .s-imported .s-im-do:has(>a[href^="http"]:not([href*="papalocal.com"]))::before{content:"↗";grid-row:span 2;width:52px;height:52px;border-radius:13px;background:var(--rp-moss);color:#fff;display:grid;place-items:center;font:700 22px/1 var(--rp-sans)}
.th-roofpedia .s-imported .s-im-do:has(>a[href^="http"]:not([href*="papalocal.com"]))::after{content:"Credited · their own website";order:-1;font:500 11px/1.2 var(--rp-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rp-mute);grid-column:2;grid-row:1}
.th-roofpedia .s-imported .s-im-do>a[href^="http"]:not([href*="papalocal.com"]){grid-column:2;grid-row:2;justify-self:start;background:transparent;color:var(--rp-ink);padding:0;font:600 17px/1.3 var(--rp-sans);text-decoration:underline;text-decoration-color:var(--rp-line2);text-underline-offset:4px;white-space:normal}
.th-roofpedia .s-imported .s-im-do>a[href^="http"]:not([href*="papalocal.com"]):hover{background:transparent;color:var(--rp-cu2)}
/* a list page (the pros, a town's pros): a small picture beside each name */
.th-roofpedia .s-imported .s-im-fig.s-im-nat{float:left;clear:left;margin:6px 18px 12px 0;max-width:min(var(--im-w),34%)}
.th-roofpedia .s-imported .s-im-fig.s-im-nat img{border-radius:10px;box-shadow:none}
.th-roofpedia .s-imported .s-im-in::after{content:"";display:block;clear:both}
.th-roofpedia .s-imported .s-im-grid{gap:14px}
.th-roofpedia .s-imported .s-im-cards figure{background:#fff;border:1px solid var(--rp-line);border-radius:14px;padding:10px}
.th-roofpedia .s-imported .s-im-cards figcaption{display:grid;gap:4px;padding-top:8px}
.th-roofpedia .s-imported .s-im-card-name{font:600 17px/1.3 var(--rp-serif);color:var(--rp-ink)}
.th-roofpedia .s-imported .s-im-card-more{font:400 14.5px/1.5 var(--rp-sans);color:var(--rp-ink2);opacity:1}

/* ── a guide: the draft's three columns on a computer (contents · the words · find a pro), as wide as the header's; one column on a phone ── */
@media (min-width:1100px){
  .th-roofpedia main:has(>.s-roofpedia--toc){display:grid;grid-template-columns:minmax(16px,1fr) 170px 30px minmax(0,640px) 30px 270px minmax(16px,1fr);align-items:start}
  .th-roofpedia main:has(>.s-roofpedia--toc)>*{grid-column:1/-1;min-width:0}
  .th-roofpedia main:has(>.s-roofpedia--toc)>.s-roofpedia--toc{grid-column:2;position:sticky;top:92px}
  .th-roofpedia main:has(>.s-roofpedia--toc)>.s-imported{grid-column:4;padding-top:8px;background:transparent}
  .th-roofpedia main:has(>.s-roofpedia--toc)>.s-roofpedia--aside{grid-column:6;position:sticky;top:92px}
  .th-roofpedia main:has(>.s-roofpedia--toc)>.s-imported .wrap,.th-roofpedia main:has(>.s-roofpedia--toc)>.s-roofpedia--toc .wrap,.th-roofpedia main:has(>.s-roofpedia--toc)>.s-roofpedia--aside .wrap{padding:0;max-width:none}
  .th-roofpedia main:has(>.s-roofpedia--toc)>.s-imported .s-im-in{max-width:none}
}

/* ── 📲 "Roofpedia runs on Papalocal": the app band, the map, the bar, the pill ── */
.th-roofpedia .rp-app{background:linear-gradient(120deg,#8d4a1c 0%,#b4622a 48%,#c97a3d 100%);color:#fff;position:relative;overflow:hidden}
.th-roofpedia .rp-app::before{content:"";position:absolute;right:-90px;top:-120px;width:420px;height:420px;border-radius:50%;background:repeating-linear-gradient(-30deg,rgba(255,255,255,.07) 0 14px,transparent 14px 28px)}
.th-roofpedia .rp-app-in{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;padding-top:clamp(34px,5vw,54px);padding-bottom:clamp(34px,5vw,54px)}
.th-roofpedia .rp-app-mark{width:72px;height:72px;border-radius:20px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:36px}
.th-roofpedia .rp-app-eye{margin:0;font:500 12px/1 var(--rp-mono);letter-spacing:.14em;text-transform:uppercase;color:#fbe1cc}
.th-roofpedia .rp-app-t{margin:10px 0 0;font:600 clamp(30px,4vw,48px)/1.02 var(--rp-serif);letter-spacing:-.025em;color:#fff}
.th-roofpedia .rp-app-t em{font-style:italic;color:#fff}
.th-roofpedia .rp-app-x{margin:10px 0 0;max-width:520px;color:#fbe1cc;font-size:16.5px}
.th-roofpedia .rp-app-btns,.th-roofpedia .rp-pop-btns{display:flex;gap:12px;flex-wrap:wrap}
.th-roofpedia .rp-store{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:9px 20px 9px 16px;border-radius:14px;background:#14181c;color:#fff;text-decoration:none;box-shadow:0 14px 30px -14px rgba(0,0,0,.6);transition:transform .15s}
.th-roofpedia .rp-store:hover{transform:translateY(-2px);color:#fff}
.th-roofpedia .rp-store svg{width:26px;height:26px;flex:none}
.th-roofpedia .rp-store span{display:flex;flex-direction:column;line-height:1.1}.th-roofpedia .rp-store small{font-size:11px;opacity:.8}.th-roofpedia .rp-store strong{font-size:19px;font-weight:700}
.th-roofpedia .rp-map{background:var(--rp-ink);color:#c9c3b8;border-bottom:1px solid #343b42}
.th-roofpedia .rp-map-in{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-top:48px;padding-bottom:34px}
.th-roofpedia .rp-map h4{font:500 11.5px/1 var(--rp-mono);letter-spacing:.12em;text-transform:uppercase;color:#8e8a82;margin:0 0 12px}
.th-roofpedia .rp-map ul{list-style:none;margin:0;padding:0}
.th-roofpedia .rp-map a{display:block;text-decoration:none;color:#e6e0d5;padding:4px 0;font-size:14.5px}
.th-roofpedia .rp-map a:hover{color:#fff;text-decoration:underline}
.th-roofpedia .rp-bar{display:none}
.th-roofpedia .rp-pill{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.th-roofpedia .rp-pill-btn{display:inline-flex;align-items:center;gap:8px;background:var(--rp-ink);color:#fff;text-decoration:none;font:600 14.5px/1 var(--rp-sans);padding:13px 18px;border-radius:999px;box-shadow:0 14px 34px -10px rgba(29,34,39,.55);border:1px solid rgba(255,255,255,.12)}
.th-roofpedia .rp-pill-btn:hover{background:#000;color:#fff}
.th-roofpedia .rp-pill{transition:opacity .2s,transform .2s}
.th-roofpedia .rp-pill.rp-pill--away{opacity:0;transform:translateY(12px);pointer-events:none}
/* beside a guide's three columns the pill is just its icon, in the margin */
@media (min-width:1100px){.th-roofpedia:has(main>.s-roofpedia--toc) .rp-pill-btn{width:52px;height:52px;padding:0;justify-content:center;font-size:22px}
  .th-roofpedia:has(main>.s-roofpedia--toc) .rp-pill-tx{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.th-roofpedia .rp-pop{background:#fff;color:var(--rp-ink);border:1px solid var(--rp-line);border-radius:18px;padding:16px;width:340px;box-shadow:0 30px 60px -20px rgba(29,34,39,.45)}
.th-roofpedia .rp-pop[hidden]{display:none}
.th-roofpedia .rp-pop-hd{display:flex;justify-content:space-between;align-items:center;gap:10px}
.th-roofpedia .rp-pop-hd b{font:600 19px/1.2 var(--rp-serif)}
.th-roofpedia .rp-pop p{margin:6px 0 12px;font-size:14px;color:var(--rp-mute)}
.th-roofpedia .rp-pop-x{border:0;background:var(--rp-paper2);border-radius:8px;width:30px;height:30px;font-size:17px;line-height:1;cursor:pointer;color:var(--rp-ink)}
.th-roofpedia .rp-pop .rp-store{min-height:50px;padding:8px 14px 8px 12px}.th-roofpedia .rp-pop .rp-store strong{font-size:16px}
/* the footer's last line stays clear of the pill (and, on a phone, of the bar) */
.th-roofpedia .foot-base{padding-bottom:84px}

/* ── the footer: ink ── */
.th-roofpedia .foot{background:var(--rp-ink);color:#c9c3b8;border:0;padding-top:30px}
.th-roofpedia .foot h4{color:#8e8a82;font:500 11.5px/1 var(--rp-mono);letter-spacing:.12em;text-transform:uppercase}
.th-roofpedia .foot a{color:#e6e0d5;text-decoration:none}.th-roofpedia .foot a:hover{color:#fff}
.th-roofpedia .foot-brand strong{font:700 26px/1 var(--rp-serif);color:#fff;text-transform:none;letter-spacing:-.4px}
.th-roofpedia .foot-brand p{max-width:320px;color:#c9c3b8}
.th-roofpedia .foot-base{border-top-color:#343b42;color:#8e8a82}
.th-roofpedia .foot-grid>div:has(>.foot-contact:empty){display:none}   /* no phone, no address (site.phone_off): no empty "Get in touch" column */
.th-roofpedia .foot .ic{color:#f3c9a6}

@media (max-width:1100px){.th-roofpedia .nav>a,.th-roofpedia .nav .dd>a{padding:8px 8px;font-size:14.5px}}
@media (max-width:760px){
  .th-roofpedia .top-in{min-height:60px;gap:10px}.th-roofpedia .brand-name{font-size:22px}.th-roofpedia .brand::before{width:30px;height:30px}
  .th-roofpedia .s-imported .s-im-in{font-size:17px}
  .th-roofpedia .rp-app-in{grid-template-columns:1fr;gap:16px}.th-roofpedia .rp-app-mark{display:none}
  .th-roofpedia .rp-store{flex:1 1 150px;justify-content:center}
  .th-roofpedia .rp-map-in{grid-template-columns:1fr 1fr;gap:22px 18px;padding-top:36px}
  .th-roofpedia .rp-pill{display:none}
  .th-roofpedia .rp-bar{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom)) 12px;background:rgba(246,242,234,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--rp-line2);box-shadow:0 -10px 30px -18px rgba(29,34,39,.45)}
  .th-roofpedia .rp-bar-app,.th-roofpedia .rp-bar-go{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 14px;border-radius:12px;font:600 15px/1.1 var(--rp-sans);text-decoration:none;white-space:nowrap}
  .th-roofpedia .rp-bar-app{background:var(--rp-ink);color:#fff}
  .th-roofpedia .rp-bar-go{background:var(--rp-cu);color:#fff;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .th-roofpedia .rp-bar-x{width:36px;height:46px;border:0;background:transparent;color:var(--rp-mute);font-size:24px;line-height:1;cursor:pointer;padding:0}
  .th-roofpedia .foot-base{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .rp-bar-off .th-roofpedia .rp-bar{display:none}
  .rp-bar-off .th-roofpedia .foot-base{padding-bottom:28px}
}
@media (max-width:360px){.th-roofpedia .rp-bar-app{padding:0 10px;font-size:14px}.th-roofpedia .rp-bar-go{padding:0 10px;font-size:14px}}
@media print{.th-roofpedia .rp-bar,.th-roofpedia .rp-pill{display:none}}
.tone-base.tone-base{background-color:var(--c-bg);background-image:none;color:var(--c-ink);--t-fg:var(--c-ink);--t-fg-2:var(--c-muted);--t-link:var(--c-link);--t-glass:var(--c-band);--t-glass-line:var(--c-line);--t-outline:var(--c-line);--t-star:var(--c-star);--t-star-off:var(--c-line);--t-edge:var(--c-ink);--t-act:var(--c-act);--t-on-act:var(--c-on-act);--t-fill:var(--c-fill);--t-on-fill:var(--c-on-fill);--t-fill-icon:var(--c-fill-icon)}
.tone-band.tone-band{background-color:var(--c-band);background-image:none;color:var(--c-ink);--t-fg:var(--c-ink);--t-fg-2:var(--c-muted-band);--t-link:var(--c-link-band);--t-glass:var(--c-card-2);--t-glass-line:var(--c-line);--t-outline:var(--c-line);--t-star:var(--c-star);--t-star-off:var(--c-line);--t-edge:var(--c-ink);--t-act:var(--c-act);--t-on-act:var(--c-on-act);--t-fill:var(--c-fill);--t-on-fill:var(--c-on-fill);--t-fill-icon:var(--c-fill-icon)}
.tone-brand.tone-brand{background-color:var(--c-brand);background-image:none;color:var(--c-on-brand);--t-fg:var(--c-on-brand);--t-fg-2:var(--c-on-brand);--t-link:var(--c-on-brand);--t-glass:transparent;--t-glass-line:var(--c-on-brand);--t-outline:var(--c-on-brand);--t-star:var(--c-on-brand);--t-star-off:transparent;--t-edge:var(--c-on-brand);--t-act:var(--c-on-brand);--t-on-act:var(--c-brand);--t-fill:var(--c-on-brand);--t-on-fill:var(--c-brand);--t-fill-icon:var(--c-brand)}
.tone-deep.tone-deep{background-color:var(--c-dark);background-image:none;color:var(--c-on-dark);--t-fg:var(--c-on-dark);--t-fg-2:var(--c-muted-on-dark);--t-link:var(--c-accent-on-dark);--t-glass:rgba(255,255,255,.07);--t-glass-line:rgba(255,255,255,.16);--t-outline:rgba(255,255,255,.7);--t-star:var(--c-accent-on-dark);--t-star-off:rgba(255,255,255,.3);--t-edge:var(--c-on-dark);--t-act:var(--c-act-dark);--t-on-act:var(--c-on-act-dark);--t-fill:var(--c-act-dark);--t-on-fill:var(--c-on-act-dark);--t-fill-icon:var(--c-on-act-dark)}
.tone-accent.tone-accent{background-color:var(--c-accent);background-image:none;color:var(--c-on-accent);--t-fg:var(--c-on-accent);--t-fg-2:var(--c-on-accent);--t-link:var(--c-on-accent);--t-glass:transparent;--t-glass-line:var(--c-on-accent);--t-outline:var(--c-on-accent);--t-star:var(--c-on-accent);--t-star-off:transparent;--t-edge:var(--c-on-accent);--t-act:var(--c-on-accent);--t-on-act:var(--c-accent);--t-fill:var(--c-on-accent);--t-on-fill:var(--c-accent);--t-fill-icon:var(--c-accent)}
.o-size-sm{--fs-base:14.4px;--step--1:12.8px;--step-0:clamp(14px,0vw + 14px,14px);--step-1:clamp(16px,0.217vw + 15.22px,18px);--step-2:clamp(18px,0.435vw + 16.43px,22px);--step-3:clamp(20px,0.87vw + 16.87px,28px);--step-4:clamp(23px,1.304vw + 18.3px,35px);--step-5:clamp(26px,1.848vw + 19.35px,43px);--step-6:clamp(29px,2.717vw + 19.22px,54px)}.o-size-sm.o-size-sm h1{font-size:calc(var(--fs-h1) * .9)}.o-size-sm.o-size-sm h2{font-size:calc(var(--fs-h2) * .9)}.o-size-sm.o-size-sm h3{font-size:calc(var(--fs-h3) * .9)}.o-size-lg{--fs-base:18.4px;--step--1:16.4px;--step-0:clamp(18px,0vw + 18px,18px);--step-1:clamp(21px,0.217vw + 20.22px,23px);--step-2:clamp(23px,0.652vw + 20.65px,29px);--step-3:clamp(26px,1.087vw + 22.09px,36px);--step-4:clamp(29px,1.63vw + 23.13px,44px);--step-5:clamp(33px,2.391vw + 24.39px,55px);--step-6:clamp(37px,3.478vw + 24.48px,69px)}.o-size-lg.o-size-lg h1{font-size:calc(var(--fs-h1) * 1.15)}.o-size-lg.o-size-lg h2{font-size:calc(var(--fs-h2) * 1.15)}.o-size-lg.o-size-lg h3{font-size:calc(var(--fs-h3) * 1.15)}.o-size-xl{--fs-base:21.1px;--step--1:18.8px;--step-0:clamp(21px,0vw + 21px,21px);--step-1:clamp(24px,0.217vw + 23.22px,26px);--step-2:clamp(27px,0.652vw + 24.65px,33px);--step-3:clamp(30px,1.196vw + 25.7px,41px);--step-4:clamp(34px,1.848vw + 27.35px,51px);--step-5:clamp(38px,2.826vw + 27.83px,64px);--step-6:clamp(42px,4.022vw + 27.52px,79px)}.o-size-xl.o-size-xl h1{font-size:calc(var(--fs-h1) * 1.32)}.o-size-xl.o-size-xl h2{font-size:calc(var(--fs-h2) * 1.32)}.o-size-xl.o-size-xl h3{font-size:calc(var(--fs-h3) * 1.32)}
.o-space-tight{--sec-y:48px;--sp-section:48px}.o-space-roomy{--sec-y:128px;--sp-section:128px}@media (max-width:900px){.o-space-tight{--sec-y:38px;--sp-section:38px}.o-space-roomy{--sec-y:86px;--sp-section:86px}}
.o-wide{--w-max:1400px}.o-full{--w-max:100%}
.o-align-center.o-align-center{text-align:center}.o-align-center.o-align-center h1,.o-align-center.o-align-center h2,.o-align-center.o-align-center h3,.o-align-center.o-align-center h4,.o-align-center.o-align-center p,.o-align-center.o-align-center li,.o-align-center.o-align-center .s-lead,.o-align-center.o-align-center .s-eyebrow,.o-align-center.o-align-center .s-head,.o-align-center.o-align-center .sec-head,.o-align-center.o-align-center .s-head-in{text-align:center}.o-align-center.o-align-center .s-head,.o-align-center.o-align-center .sec-head,.o-align-center.o-align-center .s-lead,.o-align-center.o-align-center .s-head-in{margin-inline:auto}.o-align-center.o-align-center .s-eyebrow{justify-content:center}.o-align-center.o-align-center .s-eyebrow::before{display:none}
.o-align-left.o-align-left{text-align:left}.o-align-left.o-align-left h1,.o-align-left.o-align-left h2,.o-align-left.o-align-left h3,.o-align-left.o-align-left h4,.o-align-left.o-align-left p,.o-align-left.o-align-left li,.o-align-left.o-align-left .s-lead,.o-align-left.o-align-left .s-eyebrow,.o-align-left.o-align-left .s-head,.o-align-left.o-align-left .sec-head,.o-align-left.o-align-left .s-head-in{text-align:left}.o-align-left.o-align-left .s-head,.o-align-left.o-align-left .sec-head,.o-align-left.o-align-left .s-lead,.o-align-left.o-align-left .s-head-in{margin-inline:0}.o-align-left.o-align-left .s-eyebrow{justify-content:flex-start}

