:root{--ink:#1c1915;--paper:#fbf6ec;--kraft:#e6d2ac;--kraft-d:#b88a4f;--tape:#f5b700;--muted:#5d554a}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-size:1.06rem;line-height:1.65}
h1,h2,h3{font-family:'Anton',sans-serif;font-weight:400;line-height:1.02;letter-spacing:.01em;text-transform:uppercase}
h2{font-size:clamp(2.1rem,4.6vw,3.4rem);margin-bottom:1.4rem;max-width:18ch}
a{color:inherit}
.btn{border-radius:2px;font-weight:700;padding:.7rem 1.4rem}
.btn-tape{background:var(--tape);border:2px solid var(--ink);color:var(--ink)}
.btn-tape:hover{background:var(--ink);color:var(--tape);border-color:var(--ink)}
.btn-line{border:2px solid currentColor;color:inherit;background:transparent}
.btn-line:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.hero .btn-line:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
:focus-visible{outline:3px solid var(--tape);outline-offset:2px}

.util{background:var(--tape);color:var(--ink);font-size:.88rem;font-weight:500;padding:.35rem 0}
.util a{font-weight:700;text-decoration:none}
.util .container{justify-content:space-between}
.navbar{background:var(--ink);padding:.6rem 0}
.navbar-brand{font-family:'Anton',sans-serif;font-size:1.55rem;color:var(--paper)!important;text-transform:uppercase;letter-spacing:.03em;line-height:1}
.navbar-brand span{color:var(--tape)}
.nav-link{color:var(--paper)!important;font-weight:500}
.nav-link:hover{color:var(--tape)!important}
.navbar-toggler{border-color:rgba(255,255,255,.4)}
.navbar-toggler-icon{filter:invert(1)}
.navbar .btn-tape{padding:.45rem 1.1rem}
.navbar .btn-tape:hover{background:var(--paper);color:var(--ink)}

.hero{background:var(--ink);color:var(--paper);padding:clamp(2rem,5vw,3.5rem) 0 clamp(2.5rem,5vw,4rem);position:relative}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:repeating-linear-gradient(-45deg,var(--tape) 0 14px,var(--ink) 14px 28px)}
.hero h1{font-size:clamp(3rem,7.4vw,6rem);margin-bottom:1.2rem}
.lead-in{font-size:1.2rem;max-width:34em;opacity:.92}
.hero-photo{position:relative;margin:0;max-width:380px;margin-inline:auto}
.hero-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 40%;max-height:min(66vh,480px);border-radius:3px;border:6px solid var(--kraft)}
.label-sticker{position:absolute;left:-14px;bottom:22px;background:#fff;color:var(--ink);border:3px solid var(--ink);padding:.3rem .8rem;transform:rotate(-4deg);display:flex;align-items:center;gap:.5rem;font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:1.15rem;line-height:1.2}
.label-sticker i{font-style:normal;color:var(--tape);background:var(--ink);padding:0 .3rem}

.ticker{background:var(--kraft);border-bottom:3px solid var(--ink);overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;animation:tick 32s linear infinite}
.ticker span{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.25rem;padding:.55rem 1.4rem;letter-spacing:.04em}
.ticker span:after{content:"";display:inline-block;width:10px;height:10px;background:var(--ink);margin-left:2.8rem;transform:rotate(45deg)}
@keyframes tick{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}

.sec{padding:clamp(3.5rem,8vw,6rem) 0}
.idx{list-style:none;padding:0;margin:0;border-top:3px solid var(--ink)}
.idx li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1rem 3rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid rgba(28,25,21,.3);transition:background .2s}
.idx li:hover{background:var(--kraft)}
.idx h3{font-size:clamp(2rem,4.5vw,3.4rem);margin:0}
.idx p{margin:0;color:var(--muted)}
.note{margin-top:1.5rem;max-width:44em;color:var(--muted)}
@media(max-width:767px){.idx li{grid-template-columns:1fr}}

.why{background:var(--tape);border-block:3px solid var(--ink);padding:3rem 0}
.why h2{margin:0}
.why b{display:block;font-family:'Anton',sans-serif;font-size:3.2rem;line-height:1;font-weight:400;text-transform:uppercase}
.why span{display:block;font-weight:500}

.quote-band{background:var(--ink);color:var(--paper);padding:clamp(3rem,7vw,5rem) 0;text-align:center}
.quote-band blockquote{font-family:'Anton',sans-serif;font-size:clamp(1.6rem,3.6vw,2.7rem);line-height:1.2;max-width:26em;margin:0 auto 1rem;text-transform:none;letter-spacing:.01em}
.quote-band p{margin:0;color:var(--tape);font-weight:700}

.about-photo{margin:0;max-width:420px;margin-inline:auto}
.about-photo img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:3px;border:6px solid var(--kraft);transform:rotate(1.5deg)}
#about p{max-width:38em}

.gallery{padding:0 0 clamp(3rem,7vw,5rem)}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px;display:block}

.areas{background:var(--kraft);border-block:3px solid var(--ink)}
.towns{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.towns li{background:var(--paper);border:2px solid var(--ink);padding:.35rem .8rem;font-weight:700;font-size:.95rem}

.faq .accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:var(--ink);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-active-bg:var(--kraft);--bs-accordion-active-color:var(--ink);--bs-accordion-border-radius:0;--bs-accordion-inner-border-radius:0;max-width:860px}
.accordion-item{border-radius:0!important;border-width:0 0 2px}
.accordion-button{font-weight:700;font-size:1.1rem;color:var(--ink);background:transparent;padding:1.1rem .5rem}
.accordion-button:not(.collapsed){box-shadow:none}
.accordion-header{font-family:'DM Sans',sans-serif;text-transform:none;letter-spacing:0;font-size:inherit;margin:0}

.contact{background:var(--ink);color:var(--paper)}
.contact .btn-line:hover{background:var(--paper);color:var(--ink)}
.contact .btn-tape:hover{background:var(--paper);color:var(--ink)}
.label-card{background:#fff;color:var(--ink);border:3px solid var(--ink);padding:1.2rem 1.4rem;max-width:420px;transform:rotate(-1deg);outline:3px dashed var(--kraft-d);outline-offset:4px}
.map iframe{width:100%;height:100%;min-height:380px;border:0;border-radius:3px}

footer{background:var(--ink);color:rgba(251,246,236,.75);border-top:1px solid rgba(255,255,255,.15);padding:1.4rem 0;font-size:.9rem}
footer a{color:var(--tape)}
@media(max-width:575px){.util .container{justify-content:center}.hero h1{font-size:2.9rem}}
