/* Deferred styles. Everything below the fold and shared components. */

section{padding:44px 0}
section.tight{padding:30px 0}
.section-lead{max-width:60ch;font-size:1.05rem}
.eyebrow{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-text);margin-bottom:8px}
.band{background:var(--paper-2)}
.band-navy{background:var(--navy);color:#dbe6ee}
.band-navy h2,.band-navy h3{color:#fff}
.band-navy a{color:var(--copper-2)}
.rule{height:4px;border:0;margin:0;background:linear-gradient(90deg,var(--copper-1),var(--copper-2) 40%,var(--slate) 75%,var(--navy))}

/* Cards and gallery now live in critical.css, because they size image boxes and
   have to apply on the first paint. */

/* Lists */
.ticks{list-style:none;margin:0 0 1em;padding:0;display:grid;gap:8px}
.ticks li{position:relative;padding-left:26px}
.ticks li::before{content:"";position:absolute;left:2px;top:.55em;width:11px;height:11px;border-radius:2px;background:linear-gradient(135deg,var(--copper-1),var(--copper-2))}
@media(min-width:700px){.ticks-2{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* About (.about-grid is in critical.css, it sizes a photo column) */
.about-facts{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.about-facts li{position:relative;background:#fff;border:1px solid var(--slate-light);border-radius:8px;padding:14px 16px 14px 38px}
.about-facts li::before{content:"";position:absolute;left:16px;top:1.32em;width:11px;height:11px;border-radius:2px;background:linear-gradient(135deg,var(--copper-1),var(--copper-2))}
.about-facts strong{display:block;color:var(--ink);font-size:1.02rem}
.about-facts span{font-size:.94rem}

/* Trust row */
.trust{list-style:none;margin:0;padding:0;display:grid;gap:14px}
@media(min-width:700px){.trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.trust{grid-template-columns:repeat(4,minmax(0,1fr))}}
.trust li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:18px}
.trust strong{display:block;color:#fff;font-size:1.05rem;margin-bottom:4px}
.trust span{font-size:.94rem}

/* Areas */
.areas-lead{max-width:60ch}
.areas-list{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;font-weight:600;color:var(--ink)}
@media(min-width:760px){.areas-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.areas-list li{position:relative;padding-left:18px;font-size:.97rem}
.areas-list li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--copper-3)}
.areas-note{font-size:.95rem}

/* Contact strip */
.contact-strip{background:var(--navy);color:#dbe6ee;padding:34px 0}
.contact-strip h2{color:#fff;margin-bottom:.3em}
.contact-strip p{margin:0;font-size:1rem}
.contact-strip-inner{display:grid;gap:18px;align-items:center}
.contact-strip-actions{display:grid;gap:12px}
@media(min-width:860px){
 .contact-strip-inner{grid-template-columns:1.2fr auto}
 .contact-strip-actions{display:flex;gap:14px}
}
.contact-strip .btn-ghost{border-color:rgba(255,255,255,.65);color:#fff}

/* FAQ */
.faq{display:grid;gap:12px;max-width:78ch}
@media(min-width:980px){.faq{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
.faq details{background:#fff;border:1px solid var(--slate-light);border-radius:var(--radius);padding:0}
.faq summary{cursor:pointer;padding:16px 18px;font-weight:800;color:var(--ink);min-height:48px;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--copper-text);line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .faq-a{padding:0 18px 16px;margin:0;font-size:.99rem}

/* Breadcrumbs */
.crumbs{font-size:.88rem;padding:14px 0 0;color:var(--body)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li::after{content:"\203A";margin-left:6px;color:var(--slate)}
.crumbs li:last-child::after{content:""}
.crumbs a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding-right:2px}

/* Forms */
.form-card{background:#fff;border:1px solid var(--slate-light);border-radius:var(--radius);padding:22px}
.lead-form label{display:block;margin:14px 0 5px;font-weight:700;color:var(--ink)}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:13px;font-size:16px;font-family:inherit;color:var(--ink);border:1px solid #c3ced6;border-radius:8px;background:#fff;min-height:48px}
.lead-form textarea{min-height:110px;resize:vertical}
.lead-form .hint{font-size:.86rem;color:var(--body);margin:6px 0 0}
.lead-form button{width:100%;margin-top:18px}
.form-alert{border-radius:8px;padding:14px 16px;margin:0 0 16px;font-weight:600}
.form-alert-ok{background:#e8f4ec;border:1px solid #b3d8c1;color:#1c4b2e}
.form-alert-err{background:#fdeceb;border:1px solid #f0bcb8;color:#7d2019}
.form-alert a{color:inherit}

/* Contact page */
.contact-grid{display:grid;gap:26px}
@media(min-width:880px){.contact-grid{grid-template-columns:1fr 1fr;align-items:start}}
.contact-facts{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.contact-facts li{display:grid;gap:2px}
.contact-facts .lab{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--copper-text)}
.contact-facts a{font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;min-height:48px}
.contact-facts address{font-style:normal;font-size:1.02rem;color:var(--ink)}

/* Service page header */
.page-head{background:var(--paper-2);border-bottom:1px solid var(--slate-light);padding:8px 0 34px}
.page-head h1{margin-top:14px}
.page-head p{max-width:62ch;font-size:1.06rem;margin-bottom:0}

/* Thank you / 404 */
.slim{max-width:620px;margin:0 auto;text-align:center;padding:56px 0}
.slim h1{margin-bottom:.5em}
.slim .btn{margin:6px 4px}

/* Footer */
.site-footer{background:var(--ink);color:#c2cfd9;padding:40px 0 0;font-size:.95rem}
.footer-grid{display:grid;gap:26px}
@media(min-width:760px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.footer-name{color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:8px}
.footer-line{margin:0 0 6px}
.footer-h{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.11em;margin-bottom:12px}
.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.footer-list a{color:#c2cfd9;text-decoration:none;display:inline-flex;align-items:center;min-height:48px}
.footer-list a:hover{color:#fff;text-decoration:underline}
.footer-list li:not(:has(a)){padding:8px 0}
.footer-contact address{font-style:normal;padding:8px 0}
@media(min-width:760px){
 .footer-list{gap:9px}
 .footer-list a{min-height:0;display:inline}
 .footer-list li:not(:has(a)),.footer-contact address{padding:0}
}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:18px;padding-bottom:18px}
.footer-bottom p{margin:0;font-size:.86rem;color:#8b9aa6}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
