:root { --ink:#26433d; --sage:#dce9df; --mist:#f7f5ef; --clay:#c96f57; --cream:#fffdf8; --text-muted:rgba(38,67,61,.72); --line:rgba(38,67,61,.13); --shadow:0 18px 50px rgba(38,67,61,.1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; padding:0; background:var(--cream); color:var(--ink); font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p,blockquote { margin:0; } h1,h2,blockquote,.quote-panel p { font-family:Georgia,serif; } h2 { font-size:clamp(2rem,4vw,2.65rem); line-height:1.15; } h3 { font-size:1.1rem; line-height:1.3; } svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.container { width:min(100% - 2rem,72rem); margin:auto; }.narrow { max-width:50rem; }.section { padding:4.5rem 0; }.section-mist { background:var(--mist); }.section-sage { background:var(--sage); }.eyebrow { display:flex; align-items:center; gap:.65rem; color:var(--clay); font-size:.78rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }.eyebrow::before { content:""; width:2rem; height:1px; background:currentColor; }.section-intro { max-width:40rem; }.section-intro > p:last-child { margin-top:1rem; color:var(--text-muted); }.centered { text-align:center; margin-inline:auto; }.centered .eyebrow { justify-content:center; }
.site-header { position:sticky; top:0; z-index:20; background:rgb(255 253 248 / .94); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }.header-inner { min-height:4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }.brand,.header-actions,.phone-link,.button,.trust-badge,.card-label { display:flex; align-items:center; }.brand { gap:.65rem; line-height:1.2; }.brand strong,.brand small { display:block; }.brand strong { font-size:.9rem; }.brand small { margin-top:.15rem; color:var(--text-muted); font-size:.72rem; }.brand-mark,.icon-box { display:grid; place-items:center; background:var(--sage); }.brand-mark { width:2.5rem; height:2.5rem; border-radius:50%; }.brand-logo { width:2.5rem; height:2.5rem; object-fit:contain; flex-shrink:0; }.desktop-nav { display:none; gap:1.5rem; font-size:.9rem; font-weight:650; }.desktop-nav a:hover,.phone-link:hover,.site-footer a:hover { color:var(--clay); }.header-actions { gap:.4rem; }.phone-link { display:none; gap:.45rem; min-height:48px; padding:.5rem; font-size:.85rem; font-weight:700; }.button { min-height:48px; justify-content:center; gap:.5rem; padding:.65rem 1.2rem; border:1px solid transparent; border-radius:999px; font-weight:750; text-align:center; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }.button-small { min-height:44px; padding:.5rem .9rem; font-size:.82rem; }.button-dark { color:#fff; background:var(--ink); }.button-primary { color:#fff; background:var(--clay); }.button-primary:hover { background:#ad5944; }.button-outline { border-color:var(--line); background:transparent; }.button-outline:hover { background:var(--sage); }.button-light { width:100%; color:var(--ink); background:#d8aa8e; }.button-light:hover { background:#e6b99d; }
.hero { position:relative; overflow:hidden; }.hero-glow { position:absolute; top:-6rem; right:-10rem; width:25rem; height:25rem; border-radius:50%; background:var(--sage); filter:blur(70px); opacity:.7; }.hero-grid { position:relative; display:grid; gap:3.5rem; padding-top:4.5rem; padding-bottom:5rem; }.hero-content h1 { margin-top:1rem; font-size:clamp(2.7rem,8vw,4.4rem); line-height:1.12; }.hero-content h1 em { color:var(--clay); font-weight:400; }.lead { max-width:38rem; margin-top:1.4rem; color:var(--text-muted); font-size:1.1rem; }.button-row { display:grid; gap:.75rem; margin-top:2rem; }.trust-badge { width:max-content; max-width:100%; gap:.75rem; margin-top:2rem; padding:.7rem 1rem; border:1px solid var(--line); border-radius:1rem; background:#ffffffb3; box-shadow:0 4px 15px rgb(38 67 61 / .05); font-size:.82rem; }.trust-badge > span { display:grid; place-items:center; flex:0 0 auto; width:2.25rem; height:2.25rem; border-radius:50%; background:var(--sage); }.trust-badge strong,.trust-badge small { display:block; }.trust-badge small { color:var(--text-muted); }.hero-card { position:relative; aspect-ratio:4/5; max-width:30rem; margin:auto; padding:1.6rem; border-radius:2.5rem; background:var(--sage); box-shadow:var(--shadow); }.hero-card-inner { height:100%; display:flex; flex-direction:column; justify-content:space-between; padding:1.7rem; border:1px solid #ffffffaa; border-radius:1.7rem; background:#fffdf8b8; }.accent-icon { color:var(--clay); width:2.7rem; height:2.7rem; }.hero-card blockquote { font-size:clamp(1.7rem,5vw,2.4rem); line-height:1.15; }.hero-card p { color:var(--text-muted); font-size:.9rem; }.home-label { position:absolute; bottom:-1.2rem; left:-.5rem; padding:.65rem 1rem; border-radius:1rem; background:#fff; box-shadow:var(--shadow); font-size:.82rem; }.home-label small,.home-label span { display:block; }.home-label small { color:var(--clay); font-size:.65rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.concern-grid,.steps,.price-grid,.about-grid { display:grid; gap:1rem; }.concern-grid { margin-top:2.5rem; }.concern-card { padding:1.5rem; border-radius:1.5rem; background:#fff; box-shadow:0 3px 12px rgb(38 67 61 / .04); }.icon-box { width:3rem; height:3rem; border-radius:1rem; }.concern-card h3 { margin-top:1.2rem; }.concern-card p,.steps p,.price-card > p:not(.price),.area-card > p,.area-card small,.about-content > p { margin-top:.6rem; color:var(--text-muted); font-size:.94rem; }.about-grid { gap:2.5rem; }.quote-panel { display:flex; min-height:25rem; flex-direction:column; justify-content:space-between; padding:2.25rem; border-radius:2.5rem; color:#fff; background:var(--ink); }.quote-panel > svg { width:2.5rem; height:2.5rem; color:#d8aa8e; }.quote-panel p { font-size:clamp(1.8rem,5vw,2.5rem); line-height:1.25; }.quote-panel span { padding-top:1.2rem; border-top:1px solid #ffffff26; color:#ffffffa6; font-size:.85rem; }.about-content h2 { margin-top:.75rem; }.about-content .text-link { display:inline-flex; align-items:center; gap:.5rem; min-height:48px; margin-top:1.2rem; color:var(--clay); font-weight:750; }.steps { margin:2.5rem 0 0; padding:0; list-style:none; }.steps li { position:relative; padding:1.75rem; border-radius:1.5rem; background:var(--cream); }.steps li > span { font:3rem/1 Georgia,serif; color:#c96f57aa; }.steps li > svg { position:absolute; top:2rem; right:1.75rem; }.steps h3 { margin-top:2rem; }.price-grid { gap:1.25rem; }.price-card,.area-card { padding:1.75rem; border-radius:2rem; }.price-card { border:1px solid var(--line); }.area-card { color:#fff; background:var(--ink); }.card-label { gap:.75rem; }.card-label .eyebrow::before { display:none; }.price-card h2,.area-card h2 { margin-top:1.2rem; }.price { margin-top:1rem; font-size:2rem; font-weight:750; }.price span { color:var(--text-muted); font-size:1rem; font-weight:400; }.info-box { padding:1rem; border-radius:1rem; background:var(--mist); }.area-card .icon-box { color:var(--ink); background:#ffffff20; }.area-card .eyebrow { color:#d8aa8e; }.area-card > p,.area-card small { color:#ffffffbf; }.zip-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem; }.zip-tags span { padding:.3rem .75rem; border:1px solid #ffffff40; border-radius:999px; font-size:.85rem; }.area-card small { display:block; margin-top:1.5rem; }
.faq-list { display:grid; gap:.7rem; margin-top:2.5rem; }.faq-list details { padding:1.2rem; border-radius:1rem; background:#fff; }.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:32px; cursor:pointer; font-weight:750; list-style:none; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary svg { flex:0 0 auto; }.faq-list details[open] summary svg { transform:rotate(45deg); }.faq-list details p { margin-top:1rem; color:var(--text-muted); font-size:.94rem; }
.contact-shell { padding:2.25rem 1.5rem; border-radius:2rem; color:#fff; background:var(--ink); box-shadow:var(--shadow); }.contact-shell .eyebrow { color:#d8aa8e; }.contact-shell h2 { margin-top:.75rem; }.contact-intro { max-width:42rem; margin-top:1rem; color:#ffffffbf; }.contact-actions { display:grid; gap:.75rem; margin-top:2rem; max-width:32rem; }.button-contact-outline { color:#fff; border-color:#ffffff66; background:transparent; }.button-contact-outline:hover { border-color:#fff; background:#ffffff1a; }.contact-note { max-width:42rem; margin-top:1.5rem; color:#ffffffb3; font-size:.84rem; }.site-footer { padding:2.5rem 0 5.5rem; border-top:1px solid var(--line); }.footer-inner { display:flex; flex-direction:column; gap:1.25rem; color:var(--text-muted); font-size:.88rem; }.footer-inner nav { display:flex; flex-wrap:wrap; gap:1.25rem; font-weight:650; color:var(--ink); }.footer-inner small { font-size:.75rem; }.mobile-bar { position:fixed; z-index:30; right:0; bottom:0; left:0; display:grid; grid-template-columns:1fr 1fr; gap:.5rem; padding:.5rem; border-top:1px solid var(--line); background:#fffdf8f2; box-shadow:0 -5px 20px rgb(0 0 0 / .08); backdrop-filter:blur(10px); }.mobile-bar .button { padding-inline:.5rem; font-size:.85rem; }
@media (min-width:40rem) { .container { width:min(100% - 3rem,72rem); }.section { padding:6rem 0; }.button-row,.contact-actions { display:flex; }.button-row .button,.contact-actions .button { width:auto; }.concern-grid { grid-template-columns:repeat(2,1fr); }.price-grid { grid-template-columns:repeat(2,1fr); }.contact-shell { padding:3rem; }.site-footer { padding-bottom:2.5rem; }.footer-inner { flex-direction:row; align-items:center; justify-content:space-between; }.mobile-bar { display:none; } }
@media (min-width:64rem) { .desktop-nav,.phone-link { display:flex; }.hero-grid { grid-template-columns:1.1fr .9fr; align-items:center; min-height:41rem; }.hero-card { width:100%; }.concern-grid { grid-template-columns:repeat(4,1fr); }.about-grid { grid-template-columns:1fr 1fr; align-items:center; }.steps { grid-template-columns:repeat(3,1fr); }.price-card,.area-card { padding:2.5rem; } }
.certification-logo { width:2.9rem; height:2.9rem; object-fit:contain; }.quote-panel { overflow:hidden; padding:0; }.profile-photo { display:block; width:100%; height:20rem; object-fit:cover; object-position:center 36%; }.quote-panel-content { display:flex; min-height:18rem; flex-direction:column; justify-content:space-between; padding:2.25rem; }.quote-panel-content > svg { width:2.5rem; height:2.5rem; color:#d8aa8e; }
.legal-content { max-width:54rem; padding-top:3.5rem; padding-bottom:4.5rem; }.legal-content h1 { margin-top:.75rem; font-size:clamp(2.5rem,7vw,3.6rem); line-height:1.1; }.legal-intro { margin-top:1rem; color:var(--text-muted); }.legal-content section { margin-top:2.25rem; }.legal-content h2 { margin-bottom:.75rem; font:700 1.3rem/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }.legal-content p+p { margin-top:.8rem; }.legal-content a { text-decoration:underline; text-underline-offset:.18em; }.legal-note { margin-top:2.5rem; padding:1rem 1.2rem; border-radius:1rem; background:var(--mist); color:var(--text-muted); font-size:.9rem; }.legal-page .site-footer { padding-bottom:2.5rem; }.legal-page .footer-inner { flex-wrap:wrap; }
