@font-face{font-family:AmigoDisplay;src:url('/fraunces-display.woff') format('woff');font-weight:900;font-style:normal;font-display:swap}
:root{--ink:#492213;--ink-soft:#62331f;--cream:#faeed7;--paper:#fff5e2;--red:#b7441c;--gold:#e8ae3c;--orange:#db7629;--blue:#b7441c;--blue-bright:#a53c19;--line:#d8bd91;--muted:#715440}
body,.subpage{background:var(--cream);color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif}
body{background-image:url('/paper-grain.svg');font-size:17px}
h1,h2,h3,.quick-strip strong,.rating-card strong{font-family:AmigoDisplay,'Cooper Black',Georgia,serif;font-weight:900}
h1{font-size:clamp(52px,6.1vw,94px);line-height:1.03;letter-spacing:-.055em;text-wrap:balance}
h1 span{display:block;color:var(--red);font-weight:900}
h2{font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
h3{letter-spacing:-.025em}p{text-wrap:pretty}
.site-header,.interior-header{position:relative;inset:auto;height:126px;padding:8px max(28px,calc((100vw - 1400px)/2));background:var(--cream);background-image:url('/paper-grain.svg');color:var(--ink);border:0;box-shadow:none;isolation:isolate;gap:32px}
.site-header:after{content:'';position:absolute;z-index:-1;left:0;right:0;bottom:-25px;height:100px;background:url('/california-stripes.svg') center bottom / 100% 100% no-repeat;pointer-events:none}
.brand{flex-shrink:0}.brand-logo{width:270px;max-width:100%;height:auto}.brand-name{display:none}
.site-header nav{gap:24px}.site-header nav a{font-size:16px;font-weight:800}.header-links{gap:24px;align-items:center}
.nav-call{padding:11px 19px;border:2px solid var(--red);border-radius:999px;background:var(--red);color:var(--paper);white-space:nowrap}
.hero{width:100%;height:auto;min-height:650px;margin:0;display:block;position:relative;padding:0;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.hero-image{position:absolute;inset:0 0 0 auto;width:64%;height:100%;object-fit:cover;object-position:60% center;border:0;border-radius:0;box-shadow:none;z-index:0}
.hero-shade{display:none}
.hero-content{position:relative;z-index:1;width:59%;min-height:650px;margin:0;padding:82px 6.5% 70px max(30px,calc((100vw - 1400px)/2));background:var(--cream);background-image:url('/paper-grain.svg');border-radius:0 43% 43% 0 / 0 50% 50% 0;box-shadow:12px 0 0 var(--gold),26px 0 0 var(--orange),40px 0 0 var(--red)}
.hero-content h1{margin-bottom:24px}.hero-content .eyebrow{max-width:500px;margin-bottom:20px}.hero-copy{color:var(--ink);font-size:clamp(17px,1.45vw,22px);line-height:1.55;max-width:570px;margin-bottom:28px;font-weight:600}
.eyebrow{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.hero-actions{gap:14px}.button{padding:14px 24px;min-height:54px;border:2px solid var(--red);border-radius:999px;font-weight:800;box-shadow:none;transition:background .18s ease,transform .18s ease}
.button-primary{background:var(--red);color:var(--paper)}.button-primary:hover,.nav-call:hover{background:#913316}.button-secondary{background:transparent;color:var(--ink);border-color:#bca37b;backdrop-filter:none}.button-secondary:hover{background:#f0dfbb}
.hero .button-primary{font-size:20px;padding:15px 26px}.hero .button-secondary{font-size:15px}
.hero-appointment{margin:20px 0 0;font-weight:800;font-size:15px}.hero-appointment a{text-decoration-thickness:1px;text-underline-offset:4px}
.trust-row{margin-top:16px;gap:6px 20px;color:var(--muted);font-size:13px}.trust-row strong{color:var(--ink)}
.quick-strip{width:min(1400px,calc(100% - 56px));margin:28px auto 0;background:#efdcba;border:0;border-radius:22px;box-shadow:none;color:var(--ink)}
.quick-strip div{min-height:104px;padding:23px 30px;border-right:1px solid #d2b78e}.quick-strip span{color:var(--red);font-size:18px}.quick-strip strong{font-size:21px}.quick-strip small{color:var(--muted);font-size:14px}
.section{width:min(1280px,calc(100% - 64px));padding:90px 0}.section-heading{max-width:840px;margin-bottom:36px}.section-heading>p:last-child,.proof-card>p,.contact>div:first-child>p:last-child{color:var(--muted);font-size:18px}
.service-grid{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.service-grid article{background:#f1dfbf;border:0;border-radius:22px;box-shadow:none;min-height:280px;overflow:hidden}.service-card{padding:28px 24px;min-height:100%;height:100%;border-radius:22px;transition:background .18s ease}.service-card:hover{background:#ead1a6}.service-number{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;color:var(--paper);font-size:15px;background:linear-gradient(to bottom,var(--gold) 0 25%,var(--orange) 25% 50%,var(--red) 50% 75%,var(--ink) 75%);text-shadow:0 1px 3px #492213}
.service-grid h3{font-size:28px;line-height:1.08;margin:24px 0 12px}.service-grid p{color:var(--muted);font-size:15px}.service-card strong{color:var(--red);font-size:13px}
.repair-gallery,.seo-detail,.faq{padding-top:25px}.repair-photo-grid{gap:24px}.repair-photo-card{background:#f1dfbf;border:0;border-radius:22px;box-shadow:none}.repair-photo-card img{border:0;filter:sepia(.16) saturate(.85)}.repair-photo-card h3{font-size:26px}.repair-photo-card p{color:var(--muted)}.photo-label{color:var(--red);font-size:12px}
.detail-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:40px}.detail-grid p{color:var(--muted)}
.proof{padding-top:25px;gap:24px}.proof-card,.rating-card{border:0;border-radius:26px;box-shadow:none}.proof-card{background:#f1dfbf;padding:48px}.proof-card li{color:var(--ink)}.proof-card li:before{color:var(--red)}.rating-card{background:var(--red);color:var(--paper);padding:38px}.rating-card p,.rating-card .eyebrow{color:var(--paper)}.rating-card strong{font-size:32px;line-height:1.15}.rating-card a{text-decoration:underline;text-underline-offset:5px}.quote-mark{color:var(--gold);opacity:1;font-size:100px}
.contact{grid-template-columns:minmax(0,1fr) 420px;gap:70px}.contact-card{background:#f1dfbf;color:var(--ink);border:0;border-radius:26px;box-shadow:none;padding:36px}.phone-link{color:var(--red)}.contact-card>span,.contact-card p{color:var(--muted)}.directions-link{color:var(--red)}
.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq details p{color:var(--muted)}.faq summary{font-size:18px}
footer{background:var(--ink);color:var(--cream);border-top:12px solid var(--red);box-shadow:0 -8px 0 var(--orange),0 -16px 0 var(--gold);font-size:14px;padding:44px max(28px,calc((100vw - 1280px)/2));gap:28px}.footer-brand .brand-logo{width:190px}.footer-links{flex-wrap:wrap;gap:10px 18px}.footer-links a,.business-hours{color:var(--cream)}
.interior-hero{min-height:0;grid-template-columns:1.1fr .9fr;background:transparent;border-bottom:1px solid var(--line);overflow:hidden}.interior-copy{padding:80px clamp(28px,6vw,100px) 70px}.interior-copy h1{font-size:clamp(42px,4.7vw,72px);line-height:1.07}.interior-copy>p:not(.eyebrow){color:var(--muted)}.interior-hero>img{height:100%;min-height:0;max-height:700px;object-fit:cover;border-left:12px solid var(--orange);filter:sepia(.18) saturate(.85)}.breadcrumbs{flex-wrap:wrap;color:var(--muted)}.breadcrumbs a{color:var(--red)}
.issue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.issue-grid article{background:#f1dfbf;border:0;border-radius:22px;box-shadow:none;padding:30px}.issue-grid h3{font-size:27px;line-height:1.15}.issue-grid p,.steps-list p{color:var(--muted)}.steps-list{border-top:1px solid var(--line)}.steps-list>div{border-bottom:1px solid var(--line)}.steps-list strong{color:var(--red)}.steps-list b{color:var(--ink)}
.local-note{background:#edcf92;border:0;border-radius:28px;padding:50px 54px}.local-note>p:last-child{color:var(--ink)}.cta-band{background:var(--red);color:var(--paper);border:0;border-radius:28px;box-shadow:none;padding:48px 50px;width:min(1280px,calc(100% - 64px))}.cta-band .eyebrow{color:var(--cream)}.cta-band .button{background:var(--paper);color:var(--red);border-color:var(--paper)}
.related-grid a{background:#f1dfbf;border:0;border-radius:22px;box-shadow:none}.related-grid span{color:var(--red)}.appointment-card{background:#f1dfbf;border:0;border-radius:28px;box-shadow:none;padding:50px}.appointment-card p:last-child{color:var(--muted)}
.type-panel{background:linear-gradient(160deg,#e8ae3c 0 31%,#db7629 31% 64%,#b7441c 64%);border:0;border-radius:140px 140px 24px 24px;box-shadow:none;margin-top:65px;margin-bottom:65px;padding:60px 32px;gap:16px}.type-panel span{background:var(--cream);border:0;border-radius:12px;color:var(--ink)}
.skip-link{background:var(--gold);color:var(--ink)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8a3215;outline-offset:5px}.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--red)}footer a:focus-visible{outline-color:var(--gold)}
@media(min-width:801px) and (max-width:1150px){.site-header{height:110px;padding-inline:28px;gap:20px}.brand-logo{width:220px}.site-header nav,.header-links{gap:16px}.site-header nav a{font-size:14px}.hero-content{padding-left:32px;padding-right:7%;width:62%;min-height:610px}.hero{min-height:610px}.hero-image{width:62%}.hero h1{font-size:clamp(58px,6.4vw,76px)}.hero .button-primary{font-size:18px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact{grid-template-columns:minmax(0,1fr) 380px;gap:35px}}
@media(max-width:800px){
 .site-header,.interior-header{height:98px;padding:8px 20px;gap:16px;position:relative}.brand-logo{width:190px}.site-header nav{gap:8px}.site-header nav a{font-size:14px}.nav-call{padding:10px 13px}.menu-toggle{border:1px solid #bda27c;color:var(--ink);border-radius:999px;padding:10px 13px;min-height:44px}.site-header:after{bottom:-12px;height:43px;background-size:130% 100%;background-position:right bottom}
 .header-links{top:98px;background:var(--cream);border-bottom:3px solid var(--orange);box-shadow:0 8px 16px #49221318;padding:16px 20px}.menu-open .header-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.header-links a{padding:10px;min-height:44px}
 .hero{display:flex;flex-direction:column;min-height:0;overflow:hidden}.hero-content{width:100%;min-height:0;padding:54px 24px 42px;border-radius:0;box-shadow:none}.hero-content h1{font-size:clamp(48px,10vw,76px);max-width:680px;letter-spacing:-.05em}.hero-content .eyebrow{font-size:11px}.hero-copy{font-size:18px;max-width:560px}.hero-actions{gap:12px}.hero-actions .button{width:auto}.hero .button-primary{font-size:18px}.hero-appointment{font-size:14px}.trust-row{font-size:13px}
 .hero-image{position:relative;inset:auto;order:2;display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:60% center;border-radius:0;border-top:8px solid var(--gold);box-shadow:0 -8px 0 var(--orange),0 -16px 0 var(--red);margin-top:16px}
 .quick-strip{width:calc(100% - 40px);grid-template-columns:1fr;border-radius:20px;margin-top:22px}.quick-strip div{min-height:92px;padding:22px 24px;border-right:0;border-bottom:1px solid #d2b78e}.quick-strip div:last-child{border-bottom:0}.quick-strip strong{font-size:21px}
 .section{width:calc(100% - 40px);padding:60px 0}.section-heading{margin-bottom:28px}h2{font-size:clamp(34px,7vw,48px)}.section-heading>p:last-child{font-size:17px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-grid article{min-height:0}.service-card{padding:24px 20px}.service-grid h3{font-size:25px;margin-top:24px}.service-grid p{font-size:14px}.service-card strong{font-size:12px}
 .repair-gallery,.seo-detail,.faq{padding-top:20px}.repair-photo-grid{gap:20px}.repair-photo-card h3{font-size:26px}.proof{grid-template-columns:1fr;gap:20px;width:calc(100% - 40px)}.proof-card,.rating-card{padding:30px;border-radius:24px}.rating-card{min-height:310px}.proof-card ul{grid-template-columns:1fr}.contact{grid-template-columns:1fr;gap:30px}.contact-card{padding:30px}.detail-grid{grid-template-columns:1fr;gap:24px}.detail-grid p{font-size:17px}
 .interior-hero,.interior-hero-text{grid-template-columns:1fr}.interior-copy{padding:54px 24px 42px}.interior-copy h1{font-size:clamp(42px,9vw,64px)}.interior-hero>img{border-left:0;border-top:8px solid var(--orange);height:auto;min-height:0;max-height:420px;aspect-ratio:4/3}.issue-grid,.related-grid{grid-template-columns:1fr}.issue-grid article{min-height:0;padding:28px}.split-detail{grid-template-columns:1fr;gap:28px}.local-note{width:calc(100% - 40px);padding:32px 26px;border-radius:24px}.cta-band{width:calc(100% - 40px);padding:32px 26px;border-radius:24px;margin-bottom:50px}.cta-band .button{width:100%}.appointment-card{padding:32px 26px;border-radius:24px}.type-panel{margin:0 24px 44px;padding:42px 26px;border-radius:100px 100px 20px 20px}
 footer{margin-top:30px;padding:36px 24px;gap:24px;margin-bottom:calc(76px + env(safe-area-inset-bottom))}.footer-links{display:flex;gap:12px 20px}.mobile-call{background:var(--red);color:var(--paper);border-top:2px solid var(--cream);box-shadow:0 -5px 0 var(--orange);padding-bottom:max(14px,env(safe-area-inset-bottom));font-size:17px}
}
@media(max-width:480px){.site-header{padding-inline:14px;gap:8px;height:88px}.brand-logo{width:150px}.site-header nav{gap:6px}.site-header nav a{font-size:12px}.nav-call{padding:10px 12px}.menu-toggle{padding:10px;font-size:12px}.header-links{top:88px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0}.service-card{padding:26px}.service-grid h3{font-size:30px;margin-top:20px}.service-grid p{font-size:16px}.service-card strong{font-size:14px}.hero-actions .button{width:100%}.hero h1{font-size:clamp(44px,11vw,53px)}.hero-content{padding-inline:22px}.hero-appointment{line-height:1.6}.hero .button-primary{font-size:18px}.phone-link{font-size:clamp(28px,8vw,36px)}}
@media(max-width:350px){.brand-logo{width:125px}.nav-call{padding-inline:9px}.menu-toggle{padding-inline:8px}.hero h1{font-size:41px}.hero-content{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card{transition:none}}
