/* Hailbelt Roofworks — generated theme */
:root{--c-primary:#2B2D2F;--c-accent:#B33A3A;--c-bg:#E8E6E1;--c-ink:#232425;--font-display:'Oswald',system-ui,sans-serif;--font-body:'Roboto',system-ui,sans-serif;--radius:4px;--hero-bg:linear-gradient(180deg,#2B2D2F 0%,#3A3D40 100%);--hero-ink:#F2F0EB;--header-bg:#2B2D2F;--header-ink:#F2F0EB;--footer-bg:#1E1F21;--alt-bg:#DEDBD4;--card-bg:#FFFFFF;}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--c-ink);background:var(--c-bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--c-primary)}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;color:var(--c-ink)}
h1{font-size:clamp(2rem,6vw,3.2rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.1rem);margin-bottom:.75rem}
h3{font-size:1.12rem;margin-bottom:.35rem}
.container{width:min(1100px,92%);margin:0 auto}
.narrow{max-width:760px}
.center{text-align:center}
.skip-link{position:absolute;left:-999px;top:0;background:var(--c-ink);color:var(--c-bg);padding:.5rem 1rem;z-index:99}
.skip-link:focus{left:0}
.icon{width:1.2em;height:1.2em;vertical-align:-.22em}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg,var(--c-bg));border-bottom:1px solid color-mix(in srgb,var(--c-ink),transparent 88%);box-shadow:0 1px 8px rgb(0 0 0/.06)}
.header-inner{display:flex;align-items:center;gap:1rem;padding:.65rem 0}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:1.08rem;color:var(--header-ink,var(--c-ink))}
.brand-mark{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:calc(var(--radius)*.55);background:var(--c-primary);color:#fff}
.brand-mark .icon{width:1.25rem;height:1.25rem}
.site-nav{display:none;margin-left:auto}
.site-nav a{text-decoration:none;color:var(--header-ink,var(--c-ink));font-size:.95rem;padding:.4rem .65rem;border-radius:6px}
.site-nav a:hover{background:color-mix(in srgb,var(--c-primary),transparent 88%)}
.nav-toggle{display:inline-flex;flex-direction:column;gap:5px;margin-left:.25rem;background:none;border:0;padding:.55rem;cursor:pointer}
.nav-toggle span{width:22px;height:2px;background:var(--header-ink,var(--c-ink));transition:.2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.brand-name{white-space:nowrap}
.header-cta{margin-left:auto;white-space:nowrap}
.header-cta span{display:none}
@media(min-width:700px){.header-cta span{display:inline}}
@media(min-width:880px){
 .site-nav{display:flex;gap:.15rem;align-items:center}
 .nav-toggle{display:none}
 .header-cta{margin-left:0}
}
@media(max-width:879.5px){
 .site-nav.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--header-bg,var(--c-bg));border-bottom:1px solid color-mix(in srgb,var(--c-ink),transparent 85%);padding:.75rem 4%;box-shadow:0 12px 24px rgb(0 0 0/.12)}
 .site-nav.open a{padding:.7rem .5rem;border-bottom:1px solid color-mix(in srgb,var(--c-ink),transparent 92%)}
}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1.15rem;border-radius:var(--radius);font-weight:700;text-decoration:none;border:2px solid transparent;font-family:var(--font-body);cursor:pointer;font-size:.98rem}
.btn-call{background:var(--c-accent);color:var(--btn-ink,#fff)}
.btn-call:hover{filter:brightness(1.08)}
.btn-ghost{border-color:color-mix(in srgb,var(--c-primary),transparent 40%);color:var(--c-primary);background:transparent}
.btn-ghost:hover{background:color-mix(in srgb,var(--c-primary),transparent 90%)}
.btn-lg{padding:.85rem 1.5rem;font-size:1.08rem}
/* hero */
.hero{background:var(--hero-bg);color:var(--hero-ink,var(--c-ink));overflow:hidden}
.hero-inner{display:grid;gap:2rem;padding:3.2rem 0;align-items:center}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--c-accent);margin-bottom:.6rem}
.hero h1{color:var(--hero-ink,var(--c-ink));margin-bottom:1rem}
.hero-sub{font-size:1.12rem;max-width:34rem;opacity:.92}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 .9rem}
.hero .btn-ghost{border-color:color-mix(in srgb,var(--hero-ink,var(--c-ink)),transparent 55%);color:var(--hero-ink,var(--c-ink))}
.hero-note{font-size:.88rem;opacity:.75}
.hero-art{display:none}
@media(min-width:900px){.hero-inner{grid-template-columns:1.15fr .85fr;padding:4.5rem 0}.hero-art{display:block}}
/* sections */
.section{padding:3rem 0}
@media(min-width:900px){.section{padding:4.2rem 0}}
.section-sub{max-width:40rem;margin-bottom:1.5rem;opacity:.85}
.alt{background:var(--alt-bg,color-mix(in srgb,var(--c-primary),var(--c-bg) 94%))}
.cards{display:grid;gap:1.1rem;grid-template-columns:1fr;margin-top:1.4rem}
@media(min-width:640px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card-bg,#fff);border:1px solid color-mix(in srgb,var(--c-ink),transparent 90%);border-radius:var(--radius);padding:1.5rem;box-shadow:0 2px 10px rgb(0 0 0/.04);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgb(0 0 0/.09)}
.card-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:calc(var(--radius)*.6);background:color-mix(in srgb,var(--c-primary),transparent 88%);color:var(--c-primary);margin-bottom:.9rem}
.card-icon .icon{width:1.5rem;height:1.5rem}
.why-grid{display:grid;gap:1.4rem;margin-top:1.2rem}
@media(min-width:760px){.why-grid{grid-template-columns:repeat(3,1fr)}}
.why-item h3{color:var(--c-primary)}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.1rem}
.chips li{background:color-mix(in srgb,var(--c-primary),transparent 90%);color:var(--c-primary);font-weight:600;font-size:.92rem;padding:.35rem .85rem;border-radius:999px}
/* metros served */
.metros-grid{display:grid;gap:1.1rem;grid-template-columns:1fr;margin-top:1.4rem}
@media(min-width:640px){.metros-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.metros-grid{grid-template-columns:repeat(3,1fr)}}
.metro-card{background:var(--card-bg,#fff);border:1px solid color-mix(in srgb,var(--c-ink),transparent 90%);border-radius:var(--radius);padding:1.2rem 1.3rem;box-shadow:0 2px 10px rgb(0 0 0/.04)}
.metro-card h3{display:flex;align-items:baseline;gap:.55rem;color:var(--c-primary);margin-bottom:.55rem}
.metro-state{font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-accent);border:1px solid color-mix(in srgb,var(--c-accent),transparent 60%);border-radius:999px;padding:.08rem .5rem}
.metro-card .chips{margin-top:0}
.faq{background:var(--card-bg,#fff);border:1px solid color-mix(in srgb,var(--c-ink),transparent 88%);border-radius:calc(var(--radius)*.7);margin-top:.7rem;padding:0}
.faq summary{cursor:pointer;font-weight:700;padding:1rem 1.2rem;list-style:none;position:relative}
.faq summary::after{content:"+";position:absolute;right:1.1rem;font-size:1.3rem;color:var(--c-accent)}
.faq[open] summary::after{content:"\2212"}
.faq p{padding:0 1.2rem 1.1rem;opacity:.9}
/* cta band */
.cta-band{background:var(--c-primary);color:#fff;padding:3.2rem 0}
.cta-inner{text-align:center}
.cta-band h2{color:#fff}
.cta-band p{max-width:36rem;margin:.5rem auto 1.4rem;opacity:.9}
/* page head */
.page-head{background:var(--alt-bg,color-mix(in srgb,var(--c-primary),var(--c-bg) 93%));padding:2.8rem 0 2.2rem}
.lede{font-size:1.1rem;opacity:.85;max-width:42rem;margin-top:.6rem}
/* steps + about */
.steps{list-style:none;display:grid;gap:1.1rem;margin:1.2rem 0 2rem}
@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{background:var(--card-bg,#fff);border:1px solid color-mix(in srgb,var(--c-ink),transparent 88%);border-radius:var(--radius);padding:1.3rem}
.steps h3{color:var(--c-accent)}
.disclosure-box{border-left:4px solid var(--c-accent);background:color-mix(in srgb,var(--c-accent),transparent 93%);padding:1.2rem 1.4rem;border-radius:0 var(--radius) var(--radius) 0;margin:1.6rem 0}
.section .narrow h2{margin-top:1.8rem}
.section .narrow p{margin-bottom:.9rem}
/* contact */
.contact-grid{display:grid;gap:1.4rem}
@media(min-width:860px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-card{background:var(--card-bg,#fff);border:1px solid color-mix(in srgb,var(--c-ink),transparent 88%);border-radius:var(--radius);padding:1.7rem}
.contact-card h3{margin-top:1.3rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-primary)}
.big-phone{display:inline-block;font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2rem);font-weight:700;margin:.4rem 0;color:var(--c-accent);text-decoration:none}
.hours{list-style:none}
.hours li{display:flex;justify-content:space-between;border-bottom:1px dashed color-mix(in srgb,var(--c-ink),transparent 85%);padding:.4rem 0;font-size:.95rem}
.contact-form{display:grid;gap:.45rem;margin-top:.6rem}
.contact-form label{font-weight:600;font-size:.92rem;margin-top:.5rem}
.contact-form input,.contact-form textarea{font:inherit;padding:.6rem .75rem;border:1.5px solid color-mix(in srgb,var(--c-ink),transparent 70%);border-radius:calc(var(--radius)*.5);background:var(--c-bg)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--c-accent);border-color:transparent}
.form-consent{font-size:.8rem;opacity:.75;margin:.5rem 0}
.form-alt{margin-top:1rem;font-size:.92rem}
/* guides */
.guide-card{display:block;text-decoration:none;color:inherit}
.guide-eyebrow{text-transform:uppercase;font-size:.74rem;letter-spacing:.12em;font-weight:700;color:var(--c-accent);margin-bottom:.4rem}
.guide-more{color:var(--c-primary);font-weight:700;font-size:.92rem}
.article h1{margin:.3rem 0 .8rem}
.article h2{margin-top:2rem}
.article ul,.article ol{margin:0 0 1rem 1.3rem}
.article li{margin-bottom:.4rem}
.article-cta{background:color-mix(in srgb,var(--c-primary),var(--c-bg) 92%);border:1px solid color-mix(in srgb,var(--c-primary),transparent 75%);border-radius:var(--radius);padding:1.6rem;margin:2.4rem 0 1.6rem;text-align:center}
.article-cta h2{margin-top:0}
/* legal */
.legal h2{margin-top:2.2rem}
.legal h3{margin-top:1.3rem}
.legal ul{margin:0 0 1rem 1.3rem}
.placeholder-block{background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgb(0 0 0/.03) 12px,rgb(0 0 0/.03) 24px);border:1.5px dashed color-mix(in srgb,var(--c-ink),transparent 55%);padding:1rem 1.2rem;border-radius:calc(var(--radius)*.6);font-style:italic}
/* footer */
.site-footer{background:var(--footer-bg,var(--c-ink));color:var(--footer-ink,#fff);margin-top:0;padding:3rem 0 1.6rem}
.footer-grid{display:grid;gap:2rem}
@media(min-width:760px){.footer-grid{grid-template-columns:1.4fr 1fr 1.4fr}}
.footer-logo{font-family:var(--font-display);font-weight:700;font-size:1.2rem}
.footer-tag{opacity:.75;margin:.3rem 0 1rem}
.footer-col{display:grid;gap:.4rem;align-content:start}
.footer-head{font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;opacity:.65;margin-bottom:.3rem}
.site-footer a{color:var(--footer-ink,#fff);text-decoration:none;opacity:.88;font-size:.95rem}
.site-footer a:hover{opacity:1;text-decoration:underline}
.site-footer .btn-call{opacity:1}
.footer-legal{border-top:1px solid rgb(255 255 255/.16);margin-top:2.2rem;padding-top:1.3rem;font-size:.84rem;opacity:.75}
.footer-legal p{margin-bottom:.4rem}


h1,h2{text-transform:uppercase;letter-spacing:.03em}
.hero{position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:46px;background:var(--c-bg);clip-path:polygon(0 100%,100% 100%,100% 0,50% 78%,0 0)}
.hero-inner{padding-bottom:5rem}
.kicker{color:#E08A8A}
.brand-mark{background:#B33A3A}
.site-nav a:hover{background:rgb(255 255 255/.12)}
.cta-band{background:#B33A3A}
.steps h3{color:#B33A3A}
