:root{
  --navy:#0b1a2e; --navy-2:#132a47; --blue:#2f8ff0; --blue-d:#1f6fc4; --ink:#1b2430; --muted:#5a6675;
  --line:#e3e8ef; --bg:#ffffff; --soft:#f4f7fb; --radius:10px; --max:1140px;
  --font: system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
img{max-width:100%;height:auto}
a{color:var(--blue-d)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
h1,h2,h3{line-height:1.2;color:var(--navy)}
h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 .6em}
h3{font-size:1.2rem;margin:1.2em 0 .4em}

.topbar{background:var(--blue-d);color:#fff;font-size:.88rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:700;text-decoration:none}

.site-header{background:var(--navy);position:sticky;top:0;z-index:5}
.site-header .wrap{display:flex;align-items:center;gap:16px;min-height:76px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;line-height:1.15;font-size:.95rem;margin-right:auto}
.brand img{width:88px;height:auto}
#nav ul{list-style:none;margin:0;padding:0}
#nav>ul{display:flex;gap:4px;align-items:center}
#nav a,#nav button{color:#e8eef6;text-decoration:none;font:inherit;font-size:.95rem;background:none;border:0;padding:10px 12px;border-radius:6px;cursor:pointer;display:block}
#nav a:hover,#nav button:hover,#nav a[aria-current]{color:#fff;background:var(--navy-2)}
.has-sub{position:relative}
.has-sub button::after{content:" ▾";font-size:.8em}
.sub{display:none;position:absolute;top:100%;left:0;background:var(--navy);min-width:230px;padding:6px!important;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.has-sub:hover .sub,.has-sub.open .sub{display:block}
.menu-toggle{display:none;background:none;border:1px solid #47607f;color:#fff;border-radius:6px;padding:8px 12px;font:inherit}

.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:8px;border:2px solid var(--blue);transition:background .15s}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-sm{padding:9px 14px;font-size:.92rem}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

.hero{background:linear-gradient(135deg,var(--navy) 0%,#163a63 100%);color:#e8eef6;padding:56px 0 60px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-60px;bottom:-40px;width:520px;height:260px;opacity:.08;
  background:linear-gradient(135deg,transparent 49.5%,#fff 49.5%,#fff 51%,transparent 51%),linear-gradient(225deg,transparent 49.5%,#fff 49.5%,#fff 51%,transparent 51%);background-size:50% 100%;background-repeat:no-repeat;background-position:left,right}
.hero h1{color:#fff;font-size:clamp(1.9rem,4.5vw,3rem);margin:.2em 0 .3em;max-width:860px}
.hero-home{padding:80px 0 88px}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#8cc4ff;font-size:.85rem;margin:0}
.lead{font-size:1.15rem;max-width:760px;margin:0}

.section{padding:56px 0}
.section.alt{background:var(--soft)}
.prose{max-width:780px}
.prose p,.prose li{color:#2c3744}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;align-items:start}
.grid-4{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card h3{margin-top:0}
.card .tag{display:inline-block;background:#e6f1fe;color:var(--blue-d);font-weight:700;font-size:.8rem;padding:3px 8px;border-radius:999px;margin-bottom:8px}
.card.featured{border:2px solid var(--blue)}
.ticks{list-style:none;padding:0}
.ticks li{padding-left:28px;position:relative;margin:.45em 0}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding:0 0 18px 56px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}
.steps strong{display:block;color:var(--navy)}
details.faq{border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:10px 0;background:#fff}
details.faq summary{font-weight:700;cursor:pointer;color:var(--navy)}
details.faq p{margin:.6em 0 0}
.verify{background:#fff3b0;outline:2px dashed #e0b400;padding:0 4px}
.post-list{list-style:none;padding:0}
.post-list li{border-bottom:1px solid var(--line);padding:14px 0}
.post-list a{font-weight:700;text-decoration:none;font-size:1.08rem}

form.estimate{display:grid;gap:14px;max-width:640px}
form.estimate label{font-weight:600;display:grid;gap:6px;font-size:.95rem}
form.estimate input,form.estimate select,form.estimate textarea{font:inherit;padding:11px 12px;border:1px solid #c5cfdb;border-radius:8px;width:100%}
form.estimate .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hidden{display:none}

.cta-band{background:var(--navy);color:#e8eef6;padding:52px 0;text-align:center}
.cta-band h2{color:#fff}.cta-band .cta-row{justify-content:center}
.site-footer{background:#07121f;color:#b8c4d3;padding:44px 0 18px;font-size:.95rem}
.site-footer a{color:#dbe6f3;text-decoration:none}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.35em 0}
.foot-brand{color:#fff;font-weight:800;font-size:1.1rem;margin-top:0}
.foot-h{color:#fff;font-weight:700;margin-top:0}
.legal{border-top:1px solid #1d2c40;margin-top:28px;padding-top:14px;font-size:.85rem}

@media (max-width:900px){
  .menu-toggle{display:block}
  .site-header .btn-sm{display:none}
  #nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:8px 16px 16px;border-top:1px solid #1d3352}
  #nav.open{display:block}
  #nav>ul{flex-direction:column;align-items:stretch}
  .sub{position:static;box-shadow:none;padding-left:14px!important}
  .grid-3,.grid-2,.grid-4,form.estimate .row{grid-template-columns:1fr}
  .hero-home{padding:56px 0 60px}
}

/* Instant roof estimate form (from SEC's original estimator page) */
.sec-wrap{max-width:940px;margin:0 auto}
.sec-card{border:1px solid #dce5f1;border-radius:16px;padding:25px;box-shadow:0 4px 22px rgba(10,40,80,.06);background:#fff}
.sec-card h2{font-size:23px;margin:0 0 8px}
.sec-muted{color:#52647b;font-size:14px;margin:0 0 20px}
.sec-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:18px}
.sec-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.sec-field.wide{grid-column:1/-1}
#sec-estimator label{font-weight:700;font-size:14px}
.sec-field input,.sec-field select,.sec-field textarea{font:inherit;border:1px solid #aebfd3;border-radius:8px;padding:12px;width:100%;max-width:100%;margin:0;background:#fff;color:#17283e}
.sec-field input:focus,.sec-field select:focus,.sec-field textarea:focus{outline:3px solid #c9e5ff;border-color:#1365b5}
.sec-field small{color:#52647b;font-size:12px}
.sec-note{background:#eef6ff;border-left:4px solid #1466b6;padding:14px 16px;border-radius:8px;margin:16px 0;font-size:14px}
#sec-estimator .sec-check{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:14px;font-weight:400}
.sec-check input{margin-top:5px;accent-color:#0b63b7}
.sec-btn{display:block;width:100%;background:#1167b9;color:#fff;font:700 17px var(--font);border:0;border-radius:9px;padding:16px;cursor:pointer}
.sec-btn:hover{background:#084f94}.sec-btn:disabled{opacity:.6;cursor:wait}
.sec-status{margin-top:14px;border-radius:9px;padding:12px 15px;display:none}
.sec-status.success{display:block;background:#e8f7ec;color:#155a29}
.sec-status.error{display:block;background:#fff0ed;color:#9a2a17}
.sec-fine{font-size:12px;color:#52647b;margin:14px 0 0}
.sec-hidden{position:absolute;left:-9999px;opacity:0}
.sec-bottom{text-align:center;margin-top:23px;font-size:13px;color:#50627a}.sec-bottom b{color:#092c59}
.sec-req{color:#b42318}
@media(max-width:620px){.sec-grid{grid-template-columns:1fr}.sec-card{padding:20px 16px}}
.table-wrap{overflow-x:auto;margin:1em 0}
.table-wrap table{border-collapse:collapse;min-width:520px;width:100%}
.table-wrap th,.table-wrap td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.table-wrap th{background:#f3f5f8}
.note{font-size:.92rem;color:#5a6573;border-left:3px solid var(--line);padding-left:12px}
.post-cta{margin-top:2em}
.post-meta{color:#5a6573;font-size:.95rem;margin:0 0 1em}
.post-hero{margin:0 0 1.5em}
.post-hero img{width:100%;height:auto;border-radius:10px;display:block}
.page-img{width:100%;height:auto;border-radius:10px;display:block;margin:0 0 1.2em}
/* brand graphics */
.hero-home .wrap{position:relative}
.hero-home h1,.hero-home .lead{max-width:620px}
.hero-mascot{position:absolute;right:24px;bottom:-88px;height:400px;width:auto;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}
@media (max-width:980px){.hero-home h1,.hero-home .lead{max-width:none}.hero-mascot{display:none}}
.al-flag{float:right;width:110px;height:auto;margin:0 0 10px 16px}
.card-owl{display:flex;align-items:center;gap:12px}
.card-owl h3{margin:0}
.owl-badge{width:64px;height:auto;flex:none}
.foot-owl{width:84px;height:auto;display:block;margin-bottom:8px}
.foot-tag{font-style:italic;opacity:.85;margin-top:-4px}
.owl-404{float:right;width:180px;height:auto;margin:0 0 12px 20px}
@media (max-width:600px){.owl-404{width:120px}.al-flag{width:84px}}
