/* TOOLBELT SEO FOR ROOFERS STAGING V1.0.1 */
.seo-roofers-page { overflow:hidden; }
.seo-roofers-page .body-copy { color:var(--muted); }
.seo-roofers-page .section-dark .body-copy { color:#adb4bb; }
.seo-roofers-page #seo-pricing, .seo-roofers-page #seo-enquiry { scroll-margin-top:96px; }
.seo-roofers-hero { --hero-image:url('/assets/images/roofers/01-roofer-repairing-slate-roof-over-village.webp'); min-height:720px; display:flex; align-items:center; }
.seo-roofers-hero::before { background:linear-gradient(90deg,rgba(7,9,11,.97),rgba(7,9,11,.86) 43%,rgba(7,9,11,.28) 72%,rgba(7,9,11,.08)),var(--hero-image) 72% center/cover; }
.seo-roofers-hero h1 { max-width:850px; font-size:clamp(4rem,6.8vw,6.8rem); }
.seo-roofers-hero p { max-width:720px; }
.seo-roofers-hero__proof { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.seo-roofers-hero__proof span { border:1px solid rgba(255,255,255,.24); padding:9px 12px; color:#e9edf0; font-size:.7rem; font-weight:800; letter-spacing:.08em; }
.seo-roofers-section-intro { margin-bottom:42px; }
.seo-roofers-section-intro h2 { max-width:760px; }
.seo-roofers-media img { aspect-ratio:4/3; }
.seo-roofers-intent-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.seo-roofers-intent-card { border:1px solid #30353b; padding:38px; background:#111419; min-width:0; }
.seo-roofers-card-kicker { color:var(--accent); font-size:.72rem; font-weight:900; letter-spacing:.13em; margin-bottom:18px; }
.seo-roofers-intent-card h3 { font-size:2.6rem; max-width:540px; }
.seo-roofers-intent-card p { color:#b9c0c7; margin-top:20px; }
.seo-roofers-intent-card ul { list-style:none; padding:0; margin:26px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#30353b; }
.seo-roofers-intent-card li { padding:13px 14px; background:#111419; color:#f0f2f3; font-size:.83rem; }
.seo-roofers-intent-card li::before { content:'✓'; color:var(--accent); font-weight:900; margin-right:8px; }
.seo-roofers-search-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.seo-roofers-search-grid article { padding:28px; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); min-height:220px; min-width:0; }
.seo-roofers-search-grid article:nth-child(7) { grid-column:span 2; }
.seo-roofers-search-grid span { font-family:var(--heading); font-size:2.8rem; line-height:1; font-weight:800; color:var(--accent); }
.seo-roofers-search-grid h3 { margin-top:18px; font-size:1.55rem; }
.seo-roofers-search-grid p { margin-top:12px; color:var(--muted); font-size:.86rem; }
.seo-roofers-caption { margin-top:18px; color:var(--muted); font-size:.78rem; }
.seo-roofers-signal-list { border-top:1px solid var(--line); }
.seo-roofers-signal-list > div { display:grid; grid-template-columns:150px 1fr; gap:24px; padding:18px 0; border-bottom:1px solid var(--line); }
.seo-roofers-signal-list strong { font-size:.82rem; text-transform:uppercase; letter-spacing:.05em; }
.seo-roofers-signal-list span { color:var(--muted); font-size:.86rem; }
.seo-roofers-text-link { display:inline-flex; margin-top:24px; font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; border-bottom:2px solid var(--accent); padding-bottom:3px; }
.seo-roofers-service-panel { display:grid; grid-template-columns:1.25fr .75fr; gap:54px; align-items:start; }
.seo-roofers-service-tags { display:flex; flex-wrap:wrap; gap:10px; }
.seo-roofers-service-tags span { background:#0f1215; color:#fff; padding:12px 14px; font-size:.75rem; font-weight:800; letter-spacing:.04em; }
.seo-roofers-service-copy { border-left:6px solid var(--accent); padding-left:28px; }
.seo-roofers-service-copy h3 { font-size:2.5rem; }
.seo-roofers-service-copy p { margin-top:18px; color:var(--muted); }
.seo-roofers-content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.seo-roofers-content-grid article { border:1px solid var(--line); padding:32px; min-height:280px; background:#fff; }
.seo-roofers-content-grid article h3 { font-size:2rem; }
.seo-roofers-content-grid article p { margin-top:18px; color:var(--muted); }
.seo-roofers-content-grid .seo-roofers-content-featured { background:var(--ink); color:#fff; border-color:var(--ink); }
.seo-roofers-content-grid .seo-roofers-content-featured p { color:#bcc3ca; }
.seo-roofers-dual-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.seo-roofers-dual-grid h2 { font-size:clamp(3rem,4.5vw,4.5rem); }
.seo-roofers-clean-list { list-style:none; padding:0; margin:28px 0 0; columns:2; column-gap:24px; }
.seo-roofers-clean-list li { break-inside:avoid; border-top:1px solid #30353b; padding:11px 0; color:#e8ebee; font-size:.84rem; }
.seo-roofers-clean-list li::before { content:'✓'; color:var(--accent); margin-right:8px; font-weight:900; }
.seo-roofers-avoid { margin-top:28px; padding:22px; border:1px solid #30353b; display:flex; flex-wrap:wrap; gap:8px; }
.seo-roofers-avoid strong { width:100%; color:var(--accent); font-size:.75rem; letter-spacing:.08em; }
.seo-roofers-avoid span { border:1px solid #383e45; color:#c6ccd1; padding:7px 9px; font-size:.72rem; }
.seo-roofers-conversion-panel { background:#111419; color:#fff; padding:28px; box-shadow:var(--shadow); }
.seo-roofers-conversion-step { display:grid; grid-template-columns:60px 1fr; gap:18px; align-items:center; padding:24px 0; border-bottom:1px solid #30353b; }
.seo-roofers-conversion-step span { font-family:var(--heading); color:var(--accent); font-size:2.8rem; font-weight:900; line-height:1; }
.seo-roofers-conversion-step strong { font-family:var(--heading); font-size:1.9rem; }
.seo-roofers-conversion-actions { display:flex; flex-wrap:wrap; gap:8px; padding-top:24px; }
.seo-roofers-conversion-actions span { border:1px solid #3a4047; padding:8px 10px; color:#c7ccd1; font-size:.7rem; font-weight:800; }
.seo-roofers-pricing-head { margin-bottom:46px; }
.seo-roofers-pricing-grid .price-card { padding-top:42px; }
.seo-roofers-best-for { min-height:96px !important; }
.seo-roofers-price-note { max-width:960px; }
.seo-roofers-pricing-parent-link { text-align:center; margin-top:14px; }
.seo-roofers-pricing-parent-link a { color:#fff; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--accent); padding-bottom:2px; }
.seo-roofers-outline { background:transparent; color:var(--ink); border:1px solid #555; }
.seo-roofers-site-stack { border:1px solid var(--line); }
.seo-roofers-site-stack > div { display:grid; grid-template-columns:60px 1fr; gap:18px; padding:22px 24px; border-bottom:1px solid var(--line); }
.seo-roofers-site-stack > div:last-child { border-bottom:0; }
.seo-roofers-site-stack span { font-family:var(--heading); color:var(--accent); font-size:2.5rem; font-weight:900; line-height:1; }
.seo-roofers-site-stack strong { display:block; font-size:.82rem; }
.seo-roofers-site-stack small { display:block; grid-column:2; color:var(--muted); margin-top:-12px; }
.seo-roofers-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.seo-roofers-process-grid article { min-height:255px; padding:28px; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.seo-roofers-process-grid span { font-family:var(--heading); font-size:3rem; font-weight:900; color:var(--accent); line-height:1; }
.seo-roofers-process-grid h3 { margin-top:18px; font-size:1.7rem; }
.seo-roofers-process-grid p { margin-top:12px; color:var(--muted); font-size:.86rem; }
.seo-roofers-expectations { display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:start; }
.seo-roofers-expectations h2 { font-size:clamp(3.2rem,5vw,5rem); }
.seo-roofers-expectations .body-copy { margin-top:24px; }
.seo-roofers-report-panel { border:1px solid #30353b; padding:34px; }
.seo-roofers-report-panel h3 { font-size:2.2rem; }
.seo-roofers-report-panel p { margin-top:18px; color:#b8c0c7; }
.seo-roofers-faq { align-items:start; }
.seo-roofers-faq-list { display:grid; }
.seo-roofers-faq-item { border-top:1px solid var(--line); padding:0; }
.seo-roofers-faq-item:last-child { border-bottom:1px solid var(--line); }
.seo-roofers-faq-item summary { list-style:none; cursor:pointer; padding:20px 42px 20px 0; font-weight:800; position:relative; }
.seo-roofers-faq-item summary::-webkit-details-marker { display:none; }
.seo-roofers-faq-item summary::after { content:'+'; position:absolute; right:4px; top:11px; font-family:var(--heading); font-size:2rem; color:var(--accent); }
.seo-roofers-faq-item[open] summary::after { content:'−'; }
.seo-roofers-faq-item p { padding:0 40px 22px 0; color:var(--muted); font-size:.9rem; }
.seo-roofers-faq-item p a { border-bottom:1px solid var(--accent); }
.seo-roofers-form-title { font-size:3.5rem; margin-bottom:28px; }
.seo-roofers-page .contact-panel small { display:block; color:#8f969d; font-size:.72rem; margin-top:16px; }

@media(max-width:1000px){
  .seo-roofers-search-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seo-roofers-search-grid article:nth-child(7) { grid-column:auto; }
  .seo-roofers-content-grid { grid-template-columns:1fr; }
  .seo-roofers-content-grid article { min-height:0; }
  .seo-roofers-service-panel,.seo-roofers-dual-grid,.seo-roofers-expectations { grid-template-columns:1fr; }
  .seo-roofers-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seo-roofers-best-for { min-height:0 !important; }
}
@media(max-width:760px){
  .seo-roofers-hero { min-height:660px; padding-top:104px; }
  .seo-roofers-hero::before { background:linear-gradient(180deg,rgba(7,9,11,.36),rgba(7,9,11,.94) 58%,rgba(7,9,11,.99)),var(--hero-image) 74% center/cover; }
  .seo-roofers-hero h1 { font-size:clamp(3.8rem,16vw,5rem); }
  .seo-roofers-intent-grid { grid-template-columns:1fr; }
  .seo-roofers-intent-card { padding:28px 24px; }
  .seo-roofers-intent-card h3 { font-size:2.2rem; }
  .seo-roofers-intent-card ul { grid-template-columns:1fr; }
  .seo-roofers-search-grid { grid-template-columns:1fr; }
  .seo-roofers-search-grid article { min-height:0; }
  .seo-roofers-signal-list > div { grid-template-columns:1fr; gap:4px; }
  .seo-roofers-clean-list { columns:1; }
  .seo-roofers-process-grid { grid-template-columns:1fr; }
  .seo-roofers-process-grid article { min-height:0; }
  .seo-roofers-pricing-head { margin-bottom:34px; }
  .seo-roofers-form-title { font-size:2.7rem; }
  .seo-roofers-faq-item summary { padding-right:34px; }
}
@media(max-width:520px){
  .seo-roofers-hero h1 { font-size:clamp(2.85rem,12.5vw,3.15rem); }
  .seo-roofers-hero p { font-size:.98rem; }
  .seo-roofers-hero__proof { gap:7px; }
  .seo-roofers-hero__proof span { font-size:.62rem; padding:7px 8px; }
  .seo-roofers-service-tags span { width:100%; }
  .seo-roofers-conversion-step { grid-template-columns:48px 1fr; }
  .seo-roofers-conversion-step span { font-size:2.3rem; }
  .seo-roofers-conversion-step strong { font-size:1.55rem; }
}
