/* seo.css — components for the local SEO pages, restyled for redesign v2.
   Loaded after styles.css. Uses the same tokens (see :root in styles.css). */

/* 3-way CTA group: Get a Free Quote · Text Us · Call */
.cta-trio{display:flex;flex-wrap:wrap;gap:12px}
.btn-text{background:transparent;color:#fff;border:2px solid rgba(255,138,71,.75);padding:17px 24px;min-height:52px;text-decoration:none}
.btn-text:hover{background:rgba(239,98,19,.14);border-color:var(--orange-300)}
.btn-text::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1.1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1.1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E") center/contain no-repeat}
.cta-band .btn-text,.section-light .btn-text,.on-light .btn-text{color:var(--ink);border-color:rgba(29,36,39,.55)}
.cta-band .btn-text:hover{background:rgba(255,255,255,.18);border-color:var(--ink)}
.section-light .btn-text:hover{border-color:var(--orange)}
@media (max-width:560px){.cta-trio{flex-direction:column}.cta-trio .btn{width:100%}}

/* Long-form copy */
.prose{max-width:780px}
.prose p{margin-top:18px;font-size:17.5px;line-height:1.72;color:#353d40}
.prose p:first-child{margin-top:0}
.prose .eyebrow + .section-title{margin-top:16px}
.prose h3{font-size:22px;margin-top:38px}
.prose a,.faq a,.slab-section a,.svc-card p a,.callout a{color:var(--orange-600);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.section-title{font-size:clamp(28px,3.6vw,44px);margin-top:16px}
.prose .section-title + p{margin-top:22px}
.section-dark .prose p,.section-dark .faq-a{color:var(--muted-dark)}
.section-dark .prose a,.section-dark .faq a{color:var(--orange-300)}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
@media (max-width:900px){.two-col{grid-template-columns:1fr;gap:36px}}

/* Tick lists */
.ticks{margin-top:4px;display:grid;gap:10px}
.ticks li{position:relative;padding:14px 18px 14px 50px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:16.5px;line-height:1.55;color:#353d40}
.ticks li::before{content:"";position:absolute;left:16px;top:15px;width:22px;height:22px;border-radius:50%;background:var(--orange-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4530c' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat}
.ticks strong{color:var(--ink)}
.section-light .ticks li{background:#fff}
.section-dark .ticks li{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:var(--muted-dark)}
.section-dark .ticks li::before{background-color:rgba(239,98,19,.18);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8b47' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.section-dark .ticks strong{color:#fff}
.ticks.prose{max-width:860px}

/* Inline step-1 quote teaser */
.teaser-wrap{padding:0 0 96px}
section + .teaser-wrap{padding-top:0}
.quote-teaser{position:relative;overflow:hidden;background:radial-gradient(700px 300px at 100% 0%,rgba(239,98,19,.22),transparent 60%),var(--ink);color:#fff;padding:40px 40px 32px;border-radius:16px;box-shadow:var(--shadow-2)}
.quote-teaser::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--orange)}
.quote-teaser .eyebrow{color:var(--orange-300)}
.quote-teaser h3{font-size:clamp(24px,2.8vw,34px);color:#fff;margin-top:12px}
.quote-teaser .teaser-sub{margin-top:10px;color:var(--muted-dark);font-size:16.5px;max-width:600px}
.teaser-fields{display:grid;grid-template-columns:1.3fr .8fr auto;gap:14px;align-items:end;margin-top:26px}
.teaser-fields .field{margin-bottom:0}
.quote-teaser .field label{color:#e6e9ea}
.quote-teaser .field input,.quote-teaser .field select{border-color:transparent;min-height:54px}
.quote-teaser .btn{min-height:54px}
.teaser-alt{margin-top:16px;font-size:15px;color:var(--muted-dark)}
.teaser-alt a{color:#fff;font-weight:600;border-bottom:2px solid var(--orange)}
.teaser-alt a:hover{color:var(--orange-300)}
@media (max-width:760px){.teaser-fields{grid-template-columns:1fr}.quote-teaser{padding:30px 22px 26px;border-radius:12px}.quote-teaser .btn{width:100%}}

/* Process steps */
.steps-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:none}
.steps-4 > div{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:28px 24px}
.steps-4 .k{display:inline-flex;font-family:var(--font-label);font-weight:700;font-size:12.5px;color:var(--orange-300);letter-spacing:.14em;background:rgba(239,98,19,.14);border-radius:999px;padding:6px 12px}
.steps-4 h3{font-size:19px;margin-top:14px;color:#fff}
.steps-4 p{margin-top:10px;color:var(--muted-dark);font-size:15.5px;line-height:1.6}
section:not(.section-dark) .steps-4 > div{background:#fff;border-color:var(--line)}
section:not(.section-dark) .steps-4 h3{color:var(--ink)}
section:not(.section-dark) .steps-4 p{color:var(--muted)}
section:not(.section-dark) .steps-4 .k{color:var(--orange-600);background:var(--orange-50)}
@media (max-width:900px){.steps-4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps-4{grid-template-columns:1fr}}

/* Size table (cost page) */
.size-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-1)}
.size-table th,.size-table td{text-align:left;padding:18px 22px;border-bottom:1px solid var(--line);vertical-align:top;font-size:16px;line-height:1.55}
.size-table tr:last-child th,.size-table tr:last-child td{border-bottom:0}
.size-table thead th{font-family:var(--font-label);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--ink)}
.size-table tbody th{font-family:var(--font-display);font-stretch:112%;font-weight:900;font-size:22px;text-transform:uppercase;white-space:nowrap;color:var(--ink)}
.size-table tbody tr:hover{background:var(--paper)}
.size-table .sq{display:block;font-family:var(--font-label);font-stretch:100%;font-weight:700;font-size:13px;color:var(--orange-600);letter-spacing:.06em;margin-top:6px}
@media (max-width:760px){
 .size-table thead{display:none}
 .size-table,.size-table tbody,.size-table tr,.size-table th,.size-table td{display:block;width:100%}
 .size-table tr{border-bottom:1px solid var(--line)}
 .size-table td{border-bottom:none;padding-top:4px}
 .size-table td::before{content:attr(data-label);display:block;font-family:var(--font-label);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
}

/* Slab section + callouts */
.slab-section .grid-2 .svc-card{padding:32px 30px}
.callout{margin-top:28px;border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:var(--r-sm);background:var(--paper);padding:20px 24px;font-size:16.5px;line-height:1.6}
.section-light .callout{background:#fff}
.section-dark .callout{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);border-left-color:var(--orange);color:var(--muted-dark)}

/* FAQ */
.faq{max-width:900px;display:grid;gap:12px;border:0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s ease,box-shadow .2s ease}
.faq details[open]{border-color:var(--line-2);box-shadow:var(--shadow-1)}
.faq summary{list-style:none;cursor:pointer;padding:20px 64px 20px 24px;position:relative;font-family:var(--font-display);font-stretch:106%;font-weight:800;font-size:18px;text-transform:uppercase;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:var(--orange-50);color:var(--orange-600);font-family:var(--font-body);font-weight:700;font-size:22px;line-height:32px;text-align:center;transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--orange-600)}
.faq-a{padding:0 24px 22px;color:#353d40;font-size:16.5px;line-height:1.7;max-width:800px}
.faq-a p + p{margin-top:12px}
.section-dark .faq details{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.section-dark .faq summary{color:#fff}
.section-dark .faq summary::after{background:rgba(239,98,19,.18);color:var(--orange-300)}

/* Related pages */
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:none;border:0}
.related-grid a{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px 52px;box-shadow:var(--shadow-1);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.related-grid a::after{content:"\2192";position:absolute;left:24px;bottom:18px;font-weight:700;font-size:20px;color:var(--orange-600);transition:transform .2s ease}
.related-grid a:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--orange)}
.related-grid a:hover::after{transform:translateX(5px)}
.related-grid .k{font-family:var(--font-label);font-weight:700;font-size:12.5px;letter-spacing:.14em;color:var(--orange-600);text-transform:uppercase}
.related-grid h4{font-size:19px;margin-top:10px}
.related-grid p{margin-top:8px;font-size:15.5px;color:var(--muted)}
@media (max-width:900px){.related-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.related-grid{grid-template-columns:1fr}}
