.seo-section{border-top:1px solid var(--line);background:var(--ink-2)}
.seo-section>h2{margin:0 0 1.5rem;font-family:var(--font-display),sans-serif;font-weight:400;font-size:clamp(3rem,6vw,6rem);line-height:.95;text-transform:uppercase}
.seo-section>p:not(.section-kicker){max-width:900px;color:rgba(242,234,220,.8);font-size:1.05rem;line-height:1.85}
.seo-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);margin:2rem 0 4rem}
.seo-link-grid a{padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600}
.seo-link-grid a:hover,.seo-link-grid a:focus-visible{background:var(--orange);color:var(--ink)}
.seo-faq{margin-top:3.5rem}
.seo-faq>h2{font-size:clamp(2.3rem,4vw,4rem);font-family:var(--font-display),sans-serif;font-weight:400;line-height:1.1;margin-bottom:1.5rem;text-transform:uppercase}
.seo-faq details{border-top:1px solid var(--line);padding:1.1rem 0}
.seo-faq details:last-child{border-bottom:1px solid var(--line)}
.seo-faq summary{cursor:pointer;font-size:1.05rem;line-height:1.6;font-weight:650;padding-right:1rem}
.seo-faq summary::marker{color:var(--orange)}
.seo-faq details p{color:rgba(242,234,220,.8);font-size:1rem;line-height:1.8;max-width:900px;margin:1rem 0 .25rem}
.seo-inline-link,.seo-next-step a,.service-content p a{color:var(--orange);text-decoration:underline;text-underline-offset:.2em}
.seo-next-step{margin-top:2.5rem;padding:1.5rem;border:1px solid var(--line)}
.seo-next-step h3{margin:0 0 .75rem}.seo-next-step p{margin:0}
footer>.seo-business{display:flex;flex-direction:column;gap:.65rem;max-width:900px;margin:1.5rem auto 0;font-style:normal;line-height:1.7;text-align:center;color:rgba(242,234,220,.8)}
footer>.seo-business span{font-size:.82rem;overflow-wrap:anywhere}
.seo-business a:hover,.seo-business a:focus-visible{color:var(--orange)}
.seo-contact-list{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1rem;margin:2rem 0;line-height:1.8}
.seo-contact-list dt{font-weight:650;color:var(--orange)}.seo-contact-list dd{margin:0;overflow-wrap:anywhere}
.seo-table-wrap{overflow-x:auto;margin:2rem 0;border:1px solid var(--line)}
.seo-table-wrap table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.7;text-align:left}
.seo-table-wrap caption{padding:1rem;text-align:left;font-weight:650}.seo-table-wrap th,.seo-table-wrap td{padding:1rem;border-top:1px solid var(--line);vertical-align:top}
.seo-table-wrap th{color:var(--orange)}.seo-table-wrap td{color:rgba(242,234,220,.8)}
.seo-faq summary:focus-visible,.seo-section a:focus-visible,.seo-business a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
@media(max-width:720px){.seo-link-grid{grid-template-columns:1fr}.seo-contact-list{grid-template-columns:1fr;gap:.35rem}.seo-contact-list dd{margin-bottom:1rem}.seo-next-step{padding:1rem}.seo-table-wrap th,.seo-table-wrap td{padding:.75rem}.seo-business span{font-size:.8rem}}

[hidden]{display:none!important}
.guide-page .service-hero{grid-template-columns:1fr;min-height:0}
.guide-page .service-hero-copy{max-width:1100px;padding-bottom:3rem}
.guide-page .service-hero h1{font-size:clamp(3.5rem,8vw,8rem)}
.guide-page .service-body{display:block}
.guide-page .service-content{max-width:1050px;margin:auto;padding:0}
.guide-date{font-size:.88rem!important;color:var(--orange)!important}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);margin:2rem 0 3rem}
.guide-grid>a{display:block;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.guide-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange)}
.guide-grid h3{margin:1rem 0}.guide-grid p{font-size:.95rem}.guide-grid a:hover{background:rgba(255,255,255,.04)}
.review-card{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:2rem;align-items:center;margin:3rem 0;padding:1.5rem;border:1px solid var(--line)}
.review-card img{width:170px;height:170px;background:white}
.review-card h2{font-size:2rem!important}.review-card p{font-size:.95rem}
.quote-form,.quote-result{margin:2rem 0 3rem;padding:1.5rem;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}
.quote-form label,.quote-result label{display:block;margin:1.1rem 0 .6rem;font-size:1rem;font-weight:600;line-height:1.6}
.quote-form label span{font-size:.85rem;font-weight:400;color:rgba(242,234,220,.75)}
.quote-form input,.quote-form select,.quote-form textarea,.quote-result textarea{width:100%;min-width:0;border:1px solid rgba(242,234,220,.4);border-radius:0;background:var(--ink);color:var(--cream,#f2eadc);font:inherit;padding:.9rem;line-height:1.5}
.quote-form input::placeholder,.quote-form textarea::placeholder{color:rgba(242,234,220,.65)}
.quote-form select{color-scheme:dark}.quote-form input[type=file]{font-size:.88rem;overflow:hidden}
.quote-form textarea,.quote-result textarea{resize:vertical}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus,.quote-result textarea:focus{outline:2px solid var(--orange);outline-offset:3px}
.quote-form button,.quote-actions .button{margin-top:1.3rem}
.form-note,.quote-form p[role=status],.quote-result p[role=status]{font-size:.88rem!important;line-height:1.7!important;overflow-wrap:anywhere}
.quote-actions{display:flex;gap:.8rem;flex-wrap:wrap}.quote-actions .button{white-space:normal}
.photo-previews{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}
.photo-previews img{width:160px;height:120px;object-fit:contain;background:#101315;border:1px solid var(--line)}
.consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:100;background:#f2eadc;color:#101315;box-shadow:0 -4px 30px rgba(0,0,0,.3);border-top:3px solid var(--orange);padding:1.1rem clamp(1rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:1.2rem;max-height:70vh;overflow-y:auto}
.consent-banner h2{font:600 1rem/1.5 Inter,Arial,sans-serif;text-transform:none;letter-spacing:0;margin:0 0 .4rem}
.consent-banner p{font:400 .85rem/1.6 Inter,Arial,sans-serif;max-width:760px;margin:0}
.consent-banner a{text-decoration:underline;text-underline-offset:.2em}
.consent-actions{display:flex;gap:.6rem;flex-shrink:0}
.consent-actions button{background:#101315;border:1px solid #101315;color:#f2eadc;padding:.8rem;cursor:pointer;font:600 .85rem/1.4 Inter,Arial,sans-serif}
.consent-actions button:first-child{background:transparent;color:#101315}
.consent-settings{display:block;margin:1.5rem auto 0;background:transparent;border:1px solid var(--line);color:inherit;font:inherit;font-size:.82rem;padding:.7rem 1rem;cursor:pointer}
footer>.footer-services,footer>.seo-business,footer>.consent-settings{grid-column:1/-1}
button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
button{font-family:inherit;cursor:pointer}
@media(max-width:900px){.consent-banner{display:block}.consent-actions{margin-top:1rem;flex-wrap:wrap}.guide-page .service-hero-copy{padding-bottom:2rem}footer>.wordmark{grid-column:auto}}
@media(max-width:600px){.guide-grid,.form-grid{grid-template-columns:1fr}.quote-form,.quote-result{padding:1rem}.review-card{grid-template-columns:1fr;padding:1rem}.review-card img{justify-self:center}.guide-grid>a{padding:1rem}.quote-actions{display:block}.quote-actions .button{width:100%;justify-content:center}.consent-actions button{flex:1}.guide-page .service-hero h1{font-size:clamp(3.1rem,12vw,5rem)}}
@media(max-width:900px){.project-grid,.project-cta{grid-template-columns:minmax(0,1fr)}.project-card,.project-cta{min-width:0}.project-cta h3{overflow-wrap:anywhere}.project-cta a{white-space:normal}}
