:root{--ink:#111820;--muted:#5d6874;--paper:#fff;--wash:#f3f6f9;--line:#d9dee3;--accent:#075dff;--accent2:#0047c7;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;background:#fff}a{color:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.narrow{max-width:820px}
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{text-decoration:none;display:flex;align-items:center}.logo img{display:block;width:220px;max-height:58px;object-fit:contain;object-position:left center}.main-nav{display:flex;gap:18px;font-size:.92rem}.main-nav a{text-decoration:none}.mobile-toggle{display:none;border:0;background:none;font:inherit}
.button{display:inline-block;border:0;border-radius:4px;background:var(--accent);color:white;text-decoration:none;padding:13px 19px;font-weight:700;cursor:pointer}.button:hover{background:var(--accent2)}.button-outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}.button-light{background:white;color:var(--ink)}.text-link{font-weight:700;text-decoration:none}
.hero{min-height:590px;display:grid;align-items:center;background:linear-gradient(115deg,#edf0f2,#fff 60%,#e5e9ec)}.hero-photo{position:relative;background-image:url("/assets/flourtown-shop.webp");background-size:cover;background-position:center 48%;color:white;min-height:650px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,17,.92) 0%,rgba(4,10,17,.78) 42%,rgba(4,10,17,.22) 75%,rgba(4,10,17,.08) 100%)}.hero-content{position:relative;z-index:1}.hero-photo .hero-intro{color:#eef4ff}.hero-photo .eyebrow{color:#78a8ff}.button-ghost{color:white;border-color:white}.button-ghost:hover{background:white;color:var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.75rem;font-weight:800;color:var(--accent)}h1,h2,h3{line-height:1.08;margin-top:0}h1{font-size:clamp(3.2rem,8vw,6.3rem);letter-spacing:-.05em;max-width:820px;margin-bottom:24px}h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.03em}.hero-intro,.large-copy{font-size:1.17rem;color:var(--muted);max-width:700px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.trust-strip{background:var(--ink);color:white}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;text-align:center;padding:18px 0;font-weight:700;font-size:.9rem}.section{padding:88px 0}.section-light{background:var(--wash)}.section-dark{background:var(--ink);color:white}.section-dark p{color:#d6dce1}.section-dark .eyebrow{color:#e2a6a7}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
.card-grid,.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card,.info-card{border:1px solid var(--line);padding:27px;background:white}.service-card p,.info-card p{color:var(--muted)}.step span{display:block;color:var(--accent);font-weight:800;margin-bottom:22px}.location-grid,.reviews-wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px}.location-card{border:1px solid rgba(255,255,255,.22);padding:32px}.location-card address{font-style:normal}.location-card a:not(.button){color:white}
details{border-top:1px solid var(--line);padding:19px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font-weight:750;cursor:pointer}details p{color:var(--muted)}
.review-location{border:1px solid var(--line);padding:27px;background:white}.stars{letter-spacing:.08em;font-size:1.15rem}.review-source{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.page-hero{padding:92px 0 64px;background:var(--wash)}.page-hero h1{font-size:clamp(2.7rem,6vw,5rem)}.prose{max-width:820px}.prose h2{font-size:2rem;margin-top:48px}.prose p,.prose li{color:#3f4a55}.callout{border-left:5px solid var(--accent);background:var(--wash);padding:20px 24px;margin:30px 0}.split,.estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.estimate-section{background:#eceff1}.estimate-form{background:white;border:1px solid var(--line);padding:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-weight:700;margin-bottom:17px}input,select,textarea{width:100%;padding:12px;margin-top:7px;border:1px solid #bcc4cb;border-radius:3px;font:inherit}.upload-box{border:1px dashed #9ca7b0;padding:18px}.upload-box small,.form-note{display:block;color:var(--muted);font-size:.82rem}
.site-footer{background:#0f151b;color:#d7dde2;padding:55px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr;gap:28px}.footer-grid address{font-style:normal}.footer-grid a{color:white}.footer-logo{display:inline-block;color:white}.copyright{border-top:1px solid #313a42;margin-top:38px;padding-top:18px;font-size:.82rem;color:#9ba6af}
@media(max-width:900px){.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.mobile-toggle{display:block}.header-button{display:none}.trust-grid,.card-grid,.steps{grid-template-columns:1fr 1fr}.split,.estimate-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:calc(100% - 28px)}h1{font-size:3.05rem}.hero{min-height:530px}.section{padding:65px 0}.trust-grid,.card-grid,.steps,.location-grid,.reviews-wrap,.form-row,.footer-grid{grid-template-columns:1fr}.trust-grid{text-align:left}.section-heading{display:block}}
.work-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:16px}.work-grid figure{margin:0;overflow:hidden;background:#0b1016}.work-grid img{width:100%;height:100%;min-height:250px;object-fit:cover;display:block}.work-main{grid-row:1 / span 2;position:relative}.work-main figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 22px 18px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:white;font-weight:700}.location-photo-card{padding:0;overflow:hidden}.location-photo-card>img{width:100%;height:280px;object-fit:cover;display:block}.location-copy{padding:30px}.location-feature{background:#0f151b;padding:0}.location-feature img{width:100%;max-height:620px;object-fit:cover;display:block}.footer-logo img{width:250px}.site-footer .logo img{filter:none}@media(max-width:900px){.logo img{width:180px}.work-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.work-main{grid-column:1 / -1;grid-row:auto}.work-main img{height:420px}}@media(max-width:620px){.hero-photo{min-height:610px;background-position:62% center}.hero-overlay{background:linear-gradient(90deg,rgba(4,10,17,.94),rgba(4,10,17,.67))}.logo img{width:155px}.work-grid{grid-template-columns:1fr}.work-main{grid-column:auto}.work-main img,.work-grid img{height:280px}.location-photo-card>img{height:220px}}

.review-quote{margin:22px 0 4px;font-size:1.18rem;line-height:1.45;font-weight:700}.review-attribution{margin:0 0 18px;color:var(--muted);font-size:.9rem}

.about-photo{margin:38px 0 28px}.about-photo img{width:100%;height:auto;max-height:560px;object-fit:cover;display:block;border-radius:10px}

.address-directions{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.address-directions:hover{opacity:.8}

.drp-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 24px;padding-left:22px;margin:18px 0 34px}.drp-list li{color:#3f4a55;font-weight:700}@media(max-width:620px){.drp-list{grid-template-columns:1fr 1fr}}
