/* Shared finishing layer. Footer text intentionally stays neutral. */
:root{--accent:#b4d7cc;--accent-strong:#92c3b4}
[hidden]{display:none!important}
.hero{background:radial-gradient(ellipse at 15% 20%,#b4d7cc12,transparent 55%),#0a0d0c}
.hero h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.08;max-width:13ch}
.hero .eyebrow{margin-bottom:1.2rem}
.hero .card{padding:.7rem;background:#151918;transform:rotate(1deg)}
.hero .card img{width:100%;height:auto;min-height:160px;object-fit:contain}
a:hover{color:#e5f5ef}.btn-primary:hover{background:#cee8df}.btn{border-radius:.8rem}
header nav a[aria-current="page"]:not(.btn){color:var(--accent)}
.card:hover,.zone-card .btn{border-color:var(--accent)}
.secondary{border:1px solid #65736e;color:#fff}
.content-section{padding:clamp(2.8rem,7vw,5rem) 1rem;border-top:1px solid #252c29}
.section-wrap{max-width:1120px;margin:auto}
.section-wrap>h2,.pricing-explainer>h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.025em;color:#fff;font-weight:750;margin-bottom:1.6rem;max-width:27ch}
.section-wrap>p{max-width:65ch;color:#bbb}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.feature{padding:1.8rem;background:#111714;border:1px solid #293a32;border-radius:1rem}
h3{line-height:1.3}.feature h3,.pricing-explainer h3{font-size:1.2rem;font-weight:700;color:#fff;margin:.8rem 0}.feature p,.pricing-explainer p{color:#b9c0bc}
.step-number{font-size:.8rem;color:var(--accent);letter-spacing:.15em;font-weight:700}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.choice-card{border:1px solid #36443d;border-radius:1rem;padding:1.6rem;display:flex;flex-direction:column;gap:1.5rem;background:#121613;transition:background .2s,border-color .2s}
.choice-card strong{color:#fff;font-size:1.35rem}.choice-card span{font-size:.9rem}.choice-card:hover{background:#1b2821;border-color:var(--accent)}
.action-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.6rem}
.faq{max-width:820px}.faq details{border-bottom:1px solid #38423d;padding:1.1rem 0}.faq summary{cursor:pointer;font-weight:600;font-size:1.1rem;color:#fff;padding:.5rem 0}.faq p{padding:.6rem 0;color:#bcc4bf}
.similar-project{margin-top:1.2rem;width:100%;font-size:.9rem}
.pricing-explainer{margin-top:3rem;padding:1.8rem;border:1px solid #39443e;border-radius:1rem}.pricing-explainer>p{margin-top:1.3rem}
fieldset{min-width:0;border:0;padding:0;margin:0}fieldset>.form-field,fieldset>.form-row{margin-top:1rem}legend{font-size:1.35rem;font-weight:700;color:#fff;padding:.5rem 0}
.form-field select{display:block;width:100%;padding:.8rem 1rem;border:1px solid #525252;border-radius:.75rem;background:#171717;color:#fff;font:inherit}
.quote-progress{color:var(--accent);font-size:.9rem;border-top:3px solid var(--accent);padding-top:.7rem}
#quote-form{padding:clamp(1rem,3vw,1.6rem);border:1px solid #35413b;border-radius:1.2rem;background:#101412}
#quote-form:focus-within{border-color:#7a9e8b}
input:focus,textarea:focus{box-shadow:0 0 0 2px #b4d7cc30}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
footer a,footer .badge,footer a:hover,footer .badge:hover{color:#e0e0e0}footer .badge:hover{border-color:#aaa}
.review-avatar{background:#b4d7cc15!important;color:var(--accent)!important}.review-slide{border-color:#35413b!important}.review-controls button:hover{color:#fff!important;border-color:var(--accent)!important}
.mobile-contact a:first-child{background:var(--accent);border-color:var(--accent)}
@keyframes arrive{from{opacity:.7;transform:translateY(12px)}to{opacity:1;transform:none}}.arrived{animation:arrive .5s ease-out both}
@media(max-width:760px){.feature-grid,.choice-grid{grid-template-columns:1fr}.hero .card{transform:none}.content-section{padding-top:3rem;padding-bottom:3rem}.pricing-explainer{padding:1.2rem}.hero h1{max-width:16ch}.direct-contact{padding:1rem}.direct-contact a[href^="mailto:"]{font-size:clamp(.7rem,3.5vw,.9rem)}header nav{row-gap:.3rem!important}.reviews-card{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.arrived{animation:none}}
