:root{--sky:#dcebf7;--sky2:#c3dcf0;--maroon:#7a1f33;--maroon-d:#5a1626;--sun:#f2b42b;--ink:#1c2430;--mute:#4f5b6b;--paper:#fffdf8}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'DM Sans',system-ui,sans-serif;font-size:1.06rem;line-height:1.65;color:var(--ink);background:var(--paper);overflow-x:clip}
h1,h2,h3,h4,.slab{font-family:'Alfa Slab One',Georgia,serif;font-weight:400;line-height:1.05;letter-spacing:.005em}
h2{font-size:clamp(2rem,4.6vw,3.2rem);color:var(--maroon)}
a{color:var(--maroon)}
.eyebrow{font-family:'DM Mono',monospace;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--maroon);margin-bottom:.6rem;font-weight:500}
.btn-awn{background:var(--maroon);color:#fff;border:0;border-radius:999px;padding:.8rem 1.6rem;font-weight:700;box-shadow:4px 4px 0 var(--sun)}
.btn-awn:hover{background:var(--maroon-d);color:#fff}
.btn-line{border:2px solid var(--maroon);color:var(--maroon);border-radius:999px;padding:.75rem 1.5rem;font-weight:700;background:transparent}
.btn-line:hover{background:var(--maroon);color:#fff}
/* nav */
.navbar{background:var(--paper);border-bottom:1px solid #e3e8ee}
.navbar-brand{display:flex;align-items:center;gap:.7rem;font-family:'Alfa Slab One',serif;color:var(--maroon);font-size:1.25rem;line-height:1.05}
.navbar-brand img{height:38px;width:auto}
.navbar-brand small{display:block;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;color:var(--mute);text-transform:uppercase}
.nav-link{font-weight:600;color:var(--ink)!important}
.nav-link:hover{color:var(--maroon)!important}
.nav-call{background:var(--maroon);color:#fff!important;border-radius:999px;padding:.45rem 1.1rem!important;margin-left:.5rem}
/* hero */
.hero{background:var(--sky);padding:3.5rem 0 5.5rem;position:relative}
.hero h1{font-size:clamp(2.6rem,6.4vw,4.8rem);color:var(--maroon)}
.hero h1 span{display:block;color:var(--ink)}
.hero p.lead{max-width:34rem;color:var(--ink)}
.hero-photo{position:relative;filter:drop-shadow(8px 8px 0 var(--maroon))}
.hero-photo img{width:100%;aspect-ratio:4/3.4;object-fit:cover;object-position:62% 40%;display:block;clip-path:polygon(0 18%,50% 0,100% 18%,100% 100%,0 100%)}
.hours-chip{display:inline-block;background:var(--sun);color:var(--ink);font-weight:700;border-radius:8px;padding:.35rem .8rem;font-size:.95rem}
/* awning scallop divider */
.awning{height:34px;background:
 radial-gradient(circle at 25px 0,var(--maroon) 24px,transparent 25px) 0 0/50px 34px repeat-x;margin-top:-1px}
.awning.on-sky{background-color:var(--sky)}
.awning.flip{transform:scaleY(-1)}
.awn-stripe{background:repeating-linear-gradient(90deg,var(--maroon) 0 40px,#fff 40px 80px);height:14px}
section{padding:5rem 0}
/* services index */
.svc .accordion-item{border:0;border-bottom:2px solid var(--ink);background:transparent;border-radius:0}
.svc .accordion-button{font-family:'Alfa Slab One',serif;font-size:clamp(1.4rem,3vw,2.1rem);color:var(--ink);background:transparent;box-shadow:none;padding:1.1rem 0}
.svc .accordion-button:not(.collapsed){color:var(--maroon);background:transparent}
.svc .accordion-button::after{filter:hue-rotate(300deg)}
.svc .accordion-body{padding:0 0 1.5rem}
.svc ul{columns:2;column-gap:2rem;padding-left:1.1rem;margin-top:.8rem}
.svc li{margin-bottom:.25rem;break-inside:avoid}
.svc li::marker{color:var(--sun)}
.quick{background:#fff;border:2px solid var(--ink);border-radius:14px;padding:1.4rem;box-shadow:6px 6px 0 var(--sun)}
.quick ul{columns:1;list-style:none;padding:0}
.quick li{padding:.35rem 0;border-bottom:1px dashed #cdd5de}
/* trust band */
.trust{background:var(--maroon);color:#fff;text-align:center;padding:4.5rem 0}
.trust h2{color:#fff}
.trust p{max-width:44rem;margin:1rem auto 0;font-size:1.2rem;color:#f6e9ec}
/* reviews */
.rev{background:var(--sky)}
.card-rev{background:#fff;border-radius:14px;padding:1.6rem;height:100%;border-top:8px solid var(--maroon);box-shadow:0 6px 0 rgba(28,36,48,.12)}
.card-rev.big{border-top-color:var(--sun)}
.card-rev .who{font-family:'DM Mono',monospace;font-size:.85rem;color:var(--maroon);text-transform:uppercase;letter-spacing:.1em;margin-top:1rem}
.stars{color:var(--sun);letter-spacing:.15em;font-size:1.1rem;-webkit-text-stroke:.5px #a87400}
/* contact */
.info{list-style:none;padding:0;margin:0}
.info li{display:flex;gap:.8rem;padding:.7rem 0;border-bottom:1px solid #e3e8ee}
.info b{min-width:5.5rem;font-family:'DM Mono',monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--maroon);padding-top:.15rem}
.map{border:0;width:100%;height:100%;min-height:380px;border-radius:14px;box-shadow:8px 8px 0 var(--maroon)}
footer{background:var(--ink);color:#cfd6df;padding:3rem 0 1.5rem}
footer a{color:#fff}
footer .pw a{color:var(--sun);font-weight:700;text-decoration:none}
footer .accept{height:34px;width:auto;background:#fff;border-radius:6px;padding:3px}
.foot-logo{height:42px;width:auto;background:#fff;border-radius:8px;padding:4px}
@media(max-width:767px){section{padding:3.5rem 0}.svc ul{columns:1}.hero{padding:2rem 0 4rem}.navbar-brand small{display:none}}
