:root{--teal:#0e7c86;--teal-d:#0a4f57;--sun:#f6c933;--cream:#fbf6e9;--ink:#16292c;--paper:#fff}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.65}
h1,h2,h3,.display{font-family:'Alfa Slab One',Georgia,serif;font-weight:400;letter-spacing:.01em;line-height:1.1}
.eyebrow{font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--teal)}
.utility{background:var(--teal-d);color:#fff;font-size:.9rem}
.utility a{color:#fff;text-decoration:none;font-weight:600}
.utility .sep{opacity:.4;margin:0 .6rem}
.navbar{background:var(--cream);border-bottom:3px solid var(--sun)}
.navbar-brand{font-family:'Alfa Slab One',serif;color:var(--teal-d);font-size:1.5rem}
.navbar-brand span{color:var(--teal)}
.nav-link{font-weight:600;color:var(--ink)!important}
.nav-link:hover{color:var(--teal)!important}
.btn-sun{background:var(--sun);color:var(--ink);font-weight:700;border:2px solid var(--ink);border-radius:999px;padding:.7rem 1.6rem;box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.btn-sun:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);color:var(--ink)}
.btn-ghost{border:2px solid var(--teal-d);color:var(--teal-d);font-weight:700;border-radius:999px;padding:.7rem 1.6rem}
.btn-ghost:hover{background:var(--teal-d);color:#fff}
/* hero */
.hero{position:relative;overflow:hidden;padding:4rem 0 5rem}
.chart-bg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.2em;font-family:'Alfa Slab One',serif;color:var(--teal);opacity:.09;pointer-events:none;user-select:none;padding-right:2%;line-height:1;white-space:nowrap}
.chart-bg span:nth-child(1){font-size:9rem}.chart-bg span:nth-child(2){font-size:6.5rem}.chart-bg span:nth-child(3){font-size:4.5rem}.chart-bg span:nth-child(4){font-size:3.2rem}.chart-bg span:nth-child(5){font-size:2.2rem}.chart-bg span:nth-child(6){font-size:1.5rem}
.hero h1{font-size:clamp(2.8rem,7vw,5.4rem);color:var(--teal-d)}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--sun) 62%)}
.hero .lead{max-width:34rem}
.arch{border-radius:999px 999px 18px 18px;border:4px solid var(--ink);box-shadow:10px 10px 0 var(--sun);overflow:hidden;background:var(--paper);max-width:340px;margin-inline:auto}
.arch img{width:100%;display:block;aspect-ratio:347/640;object-fit:cover}
.hours-chip{display:inline-block;background:var(--paper);border:2px solid var(--ink);border-radius:12px;padding:.5rem .9rem;font-size:.95rem}
/* ticker */
.ticker{background:var(--teal-d);color:var(--sun);overflow:hidden;white-space:nowrap;padding:.7rem 0;border-block:3px solid var(--ink)}
.ticker-track{display:inline-block;animation:tick 40s linear infinite;font-family:'Alfa Slab One',serif;letter-spacing:.06em}
.ticker-track span{margin:0 1.4rem}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}
section{padding:5rem 0}
h2{font-size:clamp(2rem,4.5vw,3.2rem);color:var(--teal-d)}
/* services index */
.svc{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.svc li{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem;padding:1.1rem 0;border-bottom:2px solid var(--ink)}
@media(min-width:768px){.svc li{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem;align-items:baseline}}
.svc h3{font-size:1.5rem;color:var(--teal-d);margin:0}
.svc p{margin:0}
/* brands */
.brands{background:var(--teal-d);color:#fff}
.brands h2{color:var(--sun)}
.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
.brand-grid div{border:2px solid rgba(255,255,255,.35);border-radius:10px;padding:.9rem .6rem;text-align:center;font-family:'Alfa Slab One',serif;font-size:1.05rem}
.brand-grid.value div{font-family:'DM Sans',sans-serif;font-weight:600;font-size:.95rem;border-style:dashed}
.brands a{color:var(--sun)}
/* specials */
.card-sp{background:var(--paper);border:3px solid var(--ink);border-radius:16px;padding:1.6rem;height:100%;box-shadow:6px 6px 0 var(--sun)}
.card-sp .big{font-family:'Alfa Slab One',serif;font-size:2.4rem;color:var(--teal)}
/* about */
.about{background:var(--sun)}
.about h2{color:var(--ink)}
.about .eyebrow{color:var(--teal-d)}
.frame{border:4px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 var(--teal-d);overflow:hidden;background:#fff}
.frame img{width:100%;display:block;object-fit:cover}
.tilt{transform:rotate(-2deg)}
/* contact */
.map{border:4px solid var(--ink);border-radius:18px;overflow:hidden;min-height:340px;height:100%}
.map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.hrs{list-style:none;padding:0;margin:0}
.hrs li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--ink);padding:.4rem 0;gap:1rem}
footer{background:var(--ink);color:#d8e3e4;padding:3rem 0 2rem}
footer a{color:var(--sun)}
footer .display{color:#fff;font-size:1.6rem}
.powered{display:inline-block;margin-top:1rem;padding:.35rem .9rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:.85rem;text-decoration:none;color:#fff}
.powered strong{color:var(--sun)}
@media(max-width:767px){.chart-bg span:nth-child(1){font-size:5rem}.chart-bg span:nth-child(2){font-size:3.6rem}.chart-bg span:nth-child(3){font-size:2.6rem}section{padding:3.5rem 0}.hero{padding:2.5rem 0 3.5rem}}
