/* Homepage-specific layouts and WordPress-safe controls. */
:root { --home-copy:#bbb; --home-rule:rgba(255,255,255,.14); }
body { background:var(--black,#060606)!important; overflow-x:clip; }
a { color:inherit; text-underline-offset:5px; }
button,summary { font:inherit; }
[hidden] { display:none!important; }
:focus-visible { outline:2px solid var(--white); outline-offset:5px; }
[id] { scroll-margin-top:96px; }
.skip-link { position:fixed; z-index:300; left:20px; top:10px; padding:12px 18px; background:var(--white); color:var(--black); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.nav { background:rgba(6,6,6,.82); }
.nav-links { gap:24px; }
.nav-links a,.footer-links a { display:inline-flex; align-items:center; min-height:44px; }
.nav-links a { color:#ccc; }
.nav-links .nav-cta { color:var(--black); }
.nav-logo { position:relative; z-index:102; }
.mobile-toggle { min-width:44px; min-height:44px; position:relative; z-index:102; color:var(--white); }
.mobile-toggle:hover,.mobile-toggle:focus { background:transparent; color:var(--white); }
.nav.menu-open,.nav:has(.nav-links.open) { backdrop-filter:none!important; -webkit-backdrop-filter:none!important; transition:background .3s; }
.wrap { width:100%; max-width:1400px; padding-inline:clamp(20px,4vw,48px); margin-inline:auto; }
.section { padding-block:clamp(64px,8vw,112px); }
.eyebrow { color:var(--platinum); font-size:.6875rem; font-weight:600; text-transform:uppercase; letter-spacing:.17em; margin-bottom:18px; }
.home-title,.home-heading,.service-name { font-family:var(--font-display); font-weight:500; letter-spacing:-.045em; color:var(--white); }
.home-heading { font-size:clamp(2rem,4vw,3.5rem); line-height:1.12; margin:0; }
.lede { font-size:1rem; line-height:1.8; color:var(--home-copy); max-width:680px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:40px; }
.section-heading .lede { max-width:420px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.btn { min-height:52px; justify-content:center; text-align:center; line-height:1.4; white-space:normal; }
.btn-light { color:var(--black); }
.btn-ghost { color:var(--white); }
.text-link { display:inline-flex; align-items:center; min-height:44px; color:var(--white); font-size:.875rem; font-weight:500; }
.home-hero { position:relative; min-height:min(940px,100svh); display:flex; align-items:center; padding-block:160px 100px; isolation:isolate; }
.hero-photo { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.hero-photo picture,.hero-photo img { width:100%; height:100%; }
.hero-photo img { object-fit:cover; object-position:50% 58%; }
.home-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(6,6,6,.9),rgba(6,6,6,.47) 70%),linear-gradient(0deg,#060606,transparent 45%); }
.home-title { font-size:clamp(3.1rem,6.8vw,6.6rem); line-height:1.03; max-width:1060px; margin:0 0 28px; }
.home-title em { color:var(--platinum-light); font-style:normal; }
.hero-mantra { color:var(--white); font-size:clamp(1.1rem,2vw,1.35rem); margin-bottom:12px; }
.hero-description { max-width:620px; color:#ddd; font-size:1rem; line-height:1.8; }
.hero-note { margin-top:20px; color:#ccc; font-size:.8125rem; }
.hero-note a { min-height:44px; display:inline-flex; align-items:center; }
.trust-strip { border-block:1px solid var(--home-rule); background:var(--dark); }
.trust-list { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; padding-block:24px; color:#ccc; font-size:.8125rem; }
.trust-list li::before { content:'+'; margin-right:12px; color:var(--white); }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.service-card { background:var(--dark); border:1px solid var(--home-rule); border-radius:14px; overflow:hidden; }
.service-photo { aspect-ratio:1.45; overflow:hidden; }
.service-photo picture,.service-photo img { width:100%; height:100%; }
.service-photo img { object-fit:cover; }
.service-photo.coating img { object-position:50% 58%; }
.service-copy { padding:clamp(24px,3vw,40px); }
.service-name { font-size:clamp(1.8rem,2.8vw,2.65rem); line-height:1.15; margin:0 0 18px; }
.service-copy p { color:var(--home-copy); line-height:1.8; }
.service-list { list-style:none; display:grid; gap:10px; color:#ccc; font-size:.875rem; margin-top:20px; }
.service-list li::before { content:'—'; margin-right:10px; color:var(--platinum); }
.reviews-section { border-top:1px solid var(--home-rule); }
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.review { margin:0; padding:30px; border:1px solid var(--home-rule); border-radius:12px; background:var(--dark); }
.review blockquote { margin:0; color:#eee; font-size:1rem; line-height:1.8; }
.review figcaption { margin-top:24px; color:#bbb; font-size:.8125rem; }
.care-section { background:var(--dark); border-block:1px solid var(--home-rule); }
.care-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,80px); align-items:center; }
.care-copy .lede { margin-top:24px; }
.care-photo { border-radius:14px; overflow:hidden; aspect-ratio:1.1; }
.care-photo picture,.care-photo img { height:100%; width:100%; }
.care-photo img { object-fit:cover; object-position:50% 50%; }
.care-links { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:22px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; list-style:none; }
.step { border-top:1px solid var(--home-rule); padding-top:24px; }
.step-number { display:block; color:var(--platinum); font-size:.75rem; margin-bottom:20px; }
.step h3 { color:var(--white); font-size:1.25rem; font-weight:500; margin-bottom:14px; }
.step p { color:var(--home-copy); line-height:1.8; font-size:.9375rem; }
.specialist-section { border-top:1px solid var(--home-rule); }
.specialist-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.specialist-card { text-decoration:none; display:block; border:1px solid var(--home-rule); border-radius:12px; padding:28px; background:var(--dark); }
.specialist-card:hover { background:var(--gray-950); }
.specialist-card h3 { color:var(--white); font-size:1.2rem; font-weight:500; margin:0 0 12px; }
.specialist-card p { color:var(--home-copy); font-size:.875rem; line-height:1.7; }
.specialist-card span { display:block; color:var(--platinum-light); font-size:.8125rem; margin-top:20px; }
.coverage-section { border-top:1px solid var(--home-rule); }
.coverage-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:start; }
.coverage-copy .lede { margin-top:22px; }
.area-list { list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.area-list li { border:1px solid var(--home-rule); border-radius:100px; padding:9px 15px; font-size:.8125rem; color:#ccc; }
.faq { border-bottom:1px solid var(--home-rule); }
.faq summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; padding:24px 0; color:var(--white); font-size:1rem; line-height:1.5; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; flex-shrink:0; font-size:1.2rem; }
.faq[open] summary::after { content:'−'; }
.faq p { color:var(--home-copy); line-height:1.8; font-size:.9375rem; padding-bottom:24px; }
.quote-section { background:var(--dark); border-block:1px solid var(--home-rule); }
.quote-section .home-heading { max-width:780px; }
.quote-section .lede { margin-top:24px; }
.contact-links { display:flex; gap:16px 30px; flex-wrap:wrap; margin-top:22px; }
.contact-links a { min-height:44px; display:inline-flex; align-items:center; color:#ccc; font-size:.875rem; }
.contact-note { margin-top:14px; color:#bbb; font-size:.8125rem; }
.footer-brand-text,.footer-links a,.footer-links span,.footer-bottom,.footer-bottom a { color:#aaa; }
.footer-links { gap:2px; }
.footer-heading { color:#ccc; }
.footer-links address { font-style:normal; color:#aaa; font-size:.8125rem; line-height:1.8; padding-top:10px; }
.float-cta .btn { width:100%; }
@media(min-width:769px) { .mobile-toggle { display:none!important; } }
@media(max-width:1024px) {
 .section-heading { align-items:start; flex-direction:column; }
 .section-heading .lede { max-width:680px; }
 .review-grid { gap:16px; }
 .review { padding:24px; }
 .specialist-grid { grid-template-columns:repeat(2,1fr); }
 .coverage-grid { gap:40px; }
}
@media(max-width:768px) {
 .nav:not(.is-enhanced) { position:relative; }
 .nav:not(.is-enhanced) .nav-inner { min-height:72px; height:auto; flex-wrap:wrap; gap:12px; padding-block:16px; }
 .nav:not(.is-enhanced) .nav-links { display:flex; flex-wrap:wrap; gap:8px 20px; }
 .home-hero { min-height:790px; min-height:100svh; padding-block:130px 70px; }
 .home-title { font-size:clamp(2.7rem,9.5vw,4.7rem); }
 .home-hero::before { background:linear-gradient(90deg,rgba(6,6,6,.88),rgba(6,6,6,.65)),linear-gradient(0deg,#060606,transparent 50%); }
 .hero-photo img { object-position:58% 50%; }
 .hero-actions { flex-direction:column; max-width:390px; }
 .hero-actions .btn { width:100%; }
 .trust-list { grid-template-columns:1fr 1fr; gap:16px; }
 .service-grid,.review-grid,.care-grid,.steps,.coverage-grid { grid-template-columns:1fr; }
 .care-photo { aspect-ratio:1.25; }
 .steps { gap:28px; }
 .specialist-grid { grid-template-columns:1fr 1fr; gap:12px; }
 .specialist-card { padding:22px; }
 .nav-links.open { height:100dvh; max-height:100dvh; overflow-y:auto; padding:92px 20px 30px; }
 .nav-links.open a { min-height:44px; }
 .nav-links.open .nav-cta { font-size:.95rem; }
 body { padding-bottom:84px; }
 .float-cta { padding-bottom:max(14px,env(safe-area-inset-bottom)); }
 .footer-inner { gap:32px; }
}
@media(max-width:420px) { .specialist-grid { grid-template-columns:1fr; } .trust-list { font-size:.75rem; gap:14px; } }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
}
