/* Review layer: approved BrazHome colors and Manrope. */
:root { color-scheme:light; }
html { scroll-padding-top:24px; }
body { margin:0; }
.review-notice { padding:8px 20px; background:var(--ink); color:#fff; font:11px/1.5 Arial,sans-serif; text-align:center; letter-spacing:.05em; }
.skip-link { position:absolute; top:-100px; left:16px; z-index:100; padding:12px 18px; background:#fff; color:var(--ink); }
.skip-link:focus { top:8px; }
.wrap { max-width:1240px; padding-inline:40px; }
header.site { position:relative; }
.nav { height:100px; }
.brand-logo { height:68px; width:auto; }
.hero .wrap { padding-top:64px; padding-bottom:64px; }
.hero:has(.hero-photo) .wrap { display:grid; grid-template-columns:1fr 1.08fr; gap:54px; align-items:center; }
.hero .eyebrow svg { display:none; }
.hero h1 { font-size:clamp(42px,4.5vw,64px); max-width:19ch; letter-spacing:-.055em; line-height:1.09; }
.hero-emphasis { color:var(--navy); }
.hero .sub { max-width:52ch; line-height:1.8; }
.hero .pills { gap:12px; margin-top:26px; }
.hero .pills .pill:first-child { display:none; }
.hero-photo { margin:0; min-width:0; }
.hero-photo img { display:block; width:100%; height:490px; object-fit:cover; object-position:50% 50%; border-radius:4px; }
.hero-photo figcaption { color:#44515F; font-size:10px; line-height:1.6; margin-top:12px; }
.brand-promise { padding:72px 0; border-bottom:1px solid var(--stone); }
.promise-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.promise-layout h2 { margin:18px 0 0; font-size:36px; line-height:1.25; letter-spacing:-.035em; }
.promise-layout p { font-size:18px; line-height:1.85; color:#44515F; margin:0 0 24px; }
.trustbar .row { justify-content:space-between; }
.trustbar { background:var(--navy); }
.section { padding:76px 0; }
.section-head h2 { font-size:clamp(30px,3.5vw,42px); }
.card,.review { border-radius:6px; }
.btn { font-size:13px; min-height:48px; border-radius:5px; }
.btn-primary:hover,.btn-ghost:hover,.card:hover { transform:none; }
.service-selector { padding:48px 0 0; }
.service-choices { display:grid; grid-template-columns:repeat(3,1fr); margin-top:20px; border:1px solid var(--stone); }
.service-choices a { padding:28px; display:grid; gap:12px; color:var(--ink); text-decoration:none; }
.service-choices a+a { border-left:1px solid var(--stone); }
.service-choices a:hover { background:var(--soft); }
.service-choices span { font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#44515F; }
.service-choices strong { font-size:20px; letter-spacing:-.035em; }
.service-choices small { font-size:12px; color:var(--navy); }
.quote-price-note { border:1px solid var(--stone); border-left:3px solid var(--navy); padding:28px; background:#fff; }
.quote-price-note h2 { margin:12px 0; font-size:26px; letter-spacing:-.04em; }
.quote-price-note h2 span { color:var(--navy); }
.quote-price-note p { margin:12px 0 0; line-height:1.75; }
.quote-steps { margin-bottom:28px; }
.form-card { border-radius:6px; box-shadow:none; }
.field input,.field select,.field textarea { font-size:16px; }
.mobile-contact { display:none; }
@media(max-width:1000px) {
 .wrap { padding-inline:28px; }
 .hero:has(.hero-photo) .wrap { gap:30px; }
 .hero-photo img { height:430px; }
 .nav-links { gap:16px; }
 .promise-layout { gap:48px; }
}
@media(max-width:760px) {
 body { padding-bottom:80px; }
 .wrap { padding-inline:22px; }
 .nav { height:82px; }
 .brand-logo { height:54px; }
 .nav-cta .btn { display:none; }
 .hero:has(.hero-photo) .wrap { grid-template-columns:1fr; gap:32px; padding-top:38px; padding-bottom:32px; }
 .hero h1 { font-size:43px; line-height:1.1; }
 .hero .sub { font-size:15px; }
 .hero-photo img { height:auto; aspect-ratio:4/3; object-fit:cover; }
 .hero-photo figcaption { font-size:10px; }
 .hero .cta-row { flex-wrap:wrap; }
 .hero .btn { padding-inline:16px; }
 .hero .pills { margin-top:20px; }
 .brand-promise { padding:46px 0; }
 .promise-layout { grid-template-columns:1fr; gap:26px; }
 .promise-layout h2 { font-size:30px; }
 .promise-layout p { font-size:16px; }
 .section { padding:48px 0; }
 .trustbar .row { gap:16px; }
 .service-choices { grid-template-columns:1fr; }
 .service-choices a+a { border-left:0; border-top:1px solid var(--stone); }
 .service-choices a { padding:24px; }
 .quote-price-note { padding:22px; }
 .mobile-contact { position:fixed; bottom:0; left:0; right:0; z-index:40; display:grid; grid-template-columns:1fr 1.2fr; gap:10px; background:var(--cream); border-top:1px solid var(--stone); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); }
 .mobile-contact a { min-height:46px; display:flex; justify-content:center; align-items:center; border:1px solid var(--navy); border-radius:4px; font-size:12px; font-weight:700; }
 .mobile-contact a:last-child { background:var(--navy); color:#fff; }
}
.hero .wrap { padding-inline:40px; }
@media(max-width:760px) { .hero .wrap { padding-inline:22px; } }

/* Final review: explicit step numbers and usable anchor targets. */
.step .n::before { content:none; }
#quote-form { scroll-margin-top:24px; }
.hero a[href^="tel:"] { white-space:nowrap; }
@media(max-width:760px) {
 body:has(input:focus,select:focus,textarea:focus) .mobile-contact { display:none; }
}

.quote-page .hero .wrap { max-width:760px; padding-top:32px; padding-bottom:28px !important; }
.quote-page .hero h1 { font-size:clamp(32px,4vw,42px); max-width:none; margin:14px 0; }
.quote-page .hero .sub { font-size:15px; line-height:1.7; max-width:none; }
.quote-page main>.section { padding-top:28px; }
.quote-page .quote-steps { margin-top:32px; }
.quote-page .quote-price-note { padding:20px 24px; }
.quote-page .quote-price-note h2 { font-size:23px; }

/* Manual v1.0: readable body, identifiable controls, vector menu. */
body { font-size:16px; line-height:1.65; background:var(--cream); }
input[type],select,textarea { border-color:var(--muted); }
.burger svg { width:24px; height:24px; display:block; }
.hero .sub,.quote-page .hero .sub { font-size:16px; }
.lb-links .lk .lk-ico { color:var(--teal-ink); }
.lb-links .lk-primary .lk-ico { color:var(--paper); }
