/* CLASSIC & TRUSTED: serif headings, cream paper, utility bar, framed photo, form high on the page */
:root{--fd:"Libre Baskerville",Georgia,serif;--fb:"Source Sans 3","Segoe UI",system-ui,sans-serif;--ink:#1d232b;--muted:#5d6670;--bg:#fff;--line:#d9d2c3;--r-in:4px;--r-btn:4px}
.s-classic h1,.s-classic h2,.s-classic h3{font-family:var(--fd);font-weight:700;letter-spacing:-.01em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:4px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem;letter-spacing:.01em;transition:background .2s,transform .15s}
.btn-primary{background:var(--a);color:var(--on-a)}
.btn-primary:hover{filter:brightness(.94)}
.btn-accent{background:var(--a);color:var(--on-a)}
.btn-outline{box-shadow:inset 0 0 0 2px var(--p);color:var(--p)}
.btn-outline-light{box-shadow:inset 0 0 0 2px rgb(255 255 255/.7);color:#fff}
.btn-lg{padding:15px 26px;font-size:1.05rem}
.util{background:var(--p);color:rgb(255 255 255/.88);font-size:.88rem}
.util-in{display:flex;gap:26px;align-items:center;min-height:40px}
.util-in>span{display:inline-flex;gap:7px;align-items:center}
.util .phone-sample{margin-left:auto;font-weight:700;color:#fff}
.hdr{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;box-shadow:0 6px 18px -14px rgb(0 0 0/.25)}
.hdr-in{display:flex;align-items:center;gap:30px;min-height:84px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.crest{width:50px;height:56px;display:grid;place-items:center;background:var(--p);color:#fff;font-family:var(--fd);font-weight:700;font-size:1.15rem;clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);padding-bottom:8px;box-shadow:inset 0 0 0 3px var(--a)}
.brand-name{display:block;font-family:var(--fd);font-weight:700;font-size:1.12rem;color:var(--p);line-height:1.15;max-width:14em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand small{display:block;color:var(--muted);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.nav{display:flex;gap:26px;margin-left:auto;font-weight:600}
.nav a{text-decoration:none;color:var(--ink);padding:6px 0;border-bottom:2px solid transparent}.nav a:hover{border-color:var(--a)}
.hero{background:linear-gradient(180deg,#f7f1e6 0%,var(--p2) 100%);border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:72px 0 80px}
.kicker{font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--a);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:28px;height:2px;background:currentColor}
.s-classic h1{font-size:clamp(2.3rem,4.4vw,3.6rem);line-height:1.12;color:var(--p)}
.s-classic h1 .hl{font-style:italic;color:var(--a);font-weight:400}
.sub{font-size:1.18rem;color:var(--muted);margin:20px 0 24px;max-width:32em}
.checks li{display:flex;gap:12px;align-items:flex-start;margin:12px 0;font-size:1.02rem}
.checks .ico{width:26px;height:26px;padding:5px;border-radius:50%;background:var(--p);color:#fff;flex:none;margin-top:1px}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-photo{margin:0;position:relative}
.hero-photo::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:2px solid var(--a);z-index:0}
.hero-photo img{position:relative;z-index:1;width:100%;height:auto;aspect-ratio:4/3.3;object-fit:cover;box-shadow:0 30px 60px -30px rgb(0 0 0/.45);border:1px solid rgb(0 0 0/.08)}
.hero-photo figcaption{position:relative;z-index:2;margin:-46px 16px 0 auto;width:max-content;max-width:calc(100% - 32px);background:rgb(255 255 255/.94);padding:6px 12px;font-size:.8rem;color:var(--muted)}
.seals{background:#fff;border-bottom:1px solid var(--line)}
.seals-in{display:grid;grid-template-columns:repeat(4,1fr)}
.seal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:30px 16px;font-weight:600;color:var(--p)}
.seal+.seal{border-left:1px solid var(--line)}
.seal .ico{width:46px;height:46px;padding:11px;border-radius:50%;border:2px solid var(--a);color:var(--a)}
.sec{padding:92px 0}
.sec-paper{background:var(--p2)}
.sec h2{font-size:clamp(1.9rem,3.4vw,2.7rem);color:var(--p);line-height:1.18}
.sec-head{margin-bottom:44px;max-width:640px}.sec-head.center{text-align:center;margin-inline:auto}.sec-head.center .kicker{justify-content:center}
.muted{color:var(--muted)}
.q-in{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.timeline{margin-top:30px;position:relative}
.timeline::before{content:"";position:absolute;left:21px;top:10px;bottom:10px;width:2px;background:var(--line)}
.timeline li{display:flex;gap:20px;padding:0 0 28px;position:relative}
.tl-n{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:50%;background:#fff;border:2px solid var(--p);color:var(--p);font-family:var(--fd);font-weight:700;font-size:1.1rem}
.timeline h3{font-size:1.15rem;color:var(--p);margin:8px 0 4px}.timeline p{color:var(--muted)}
.q-card{background:#fff;border:1px solid var(--line);border-top:6px solid var(--p);padding:38px;box-shadow:0 30px 60px -40px rgb(0 0 0/.4)}
.q-card h2{margin-bottom:4px}.q-card .muted{margin-bottom:22px}
.svc-list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.svc{display:flex;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.svc-i{width:56px;height:56px;flex:none;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:var(--p)}
.svc-i .ico{width:26px;height:26px}
.svc h3{font-size:1.2rem;color:var(--p);margin-bottom:6px}.svc p{color:var(--muted)}
.area-in{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:stretch}
.area-box{border:1px solid var(--line);padding:40px;background:#fff}
.area-box>p{color:var(--muted);margin:10px 0 20px}
.town-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 20px}
.town-list li{display:flex;gap:8px;align-items:center;font-weight:600;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.town-list .ico{color:var(--a)}
.area-quote{background:var(--p);color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.pull{font-family:var(--fd);font-style:italic;font-size:1.55rem;line-height:1.4}
.area-quote .muted{color:rgb(255 255 255/.7)}
.area-quote .btn{align-self:flex-start}
.narrow{max-width:820px}
.faq details{background:#fff;border:1px solid var(--line);margin-bottom:-1px;padding:0 24px}
.faq summary{font-family:var(--fd);font-size:1.08rem;color:var(--p)}
.faq-x{color:var(--a)}
.band{background:var(--p);color:#fff;padding:60px 0;background-image:linear-gradient(90deg,rgb(0 0 0/.15),transparent)}
.band-in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.band h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
.band .ctas{margin:0}
.foot{background:#1d232b;color:#bfc6ce;padding:64px 0 28px}
.foot-in{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.foot .brand-name{color:#fff;margin-bottom:12px}
.foot b{color:#fff;display:block;margin-bottom:10px;font-family:var(--fd)}
.foot li{margin:6px 0}
@media (max-width:980px){.nav{display:none}.hdr .btn{margin-left:auto}.hero-in{grid-template-columns:1fr;gap:48px}.hero-photo{max-width:620px}.seals-in{grid-template-columns:1fr 1fr}.seal:nth-child(3){border-left:0}.seal:nth-child(n+3){border-top:1px solid var(--line)}.q-in,.area-in{grid-template-columns:1fr}.svc-list{grid-template-columns:1fr}.foot-in{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.util-in{gap:14px;font-size:.8rem}.util-in>span:nth-child(2){display:none}.hdr-in{min-height:70px;gap:12px}.crest{width:40px;height:46px;font-size:.95rem}.brand-name{font-size:1rem}.brand small{display:none}.hdr .btn{display:none}.hero-in{padding:40px 0 56px}.hero-photo::before{inset:12px -10px -12px 12px}.sec{padding:60px 0}.q-card,.area-box,.area-quote{padding:24px 18px}.town-list{grid-template-columns:1fr 1fr}.ctas .btn{flex:1 1 100%}.seal{padding:20px 10px;font-size:.9rem}.foot-in{grid-template-columns:1fr}}
