:root{--ink:#0e3b3c;--ink2:#082a2b;--butter:#f6e9a8;--paper:#fffdf4;--gold:#e9a820;--mute:#4d6667;--line:#0e3b3c}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink2);background:var(--paper);font-size:1.06rem;line-height:1.65}
h1,h2,h3,h4,.brand b{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.02;color:var(--ink)}
.mono,.eyebrow{font-family:'DM Mono',monospace;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
a{color:var(--ink)}
.util{background:var(--ink);color:var(--butter);font-size:.88rem;padding:.4rem 0}
.util a{color:var(--butter);text-decoration:none;margin-left:1.2rem;font-weight:600}
.util a:hover{text-decoration:underline}
.navbar{background:var(--paper);border-bottom:3px solid var(--ink);padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{width:46px;height:46px;object-fit:cover;object-position:left center;border-radius:50%}
.brand b{font-size:1.25rem;display:block}
.brand small{display:block;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:.2rem}
.nav-link{font-weight:700;color:var(--ink)!important;font-size:.95rem}
.nav-link:hover{text-decoration:underline;text-underline-offset:5px}
.btn-ink{background:var(--ink);color:var(--butter);font-weight:700;border-radius:0;border:2px solid var(--ink);padding:.7rem 1.4rem}
.btn-ink:hover{background:var(--gold);color:var(--ink);border-color:var(--ink)}
.btn-line{background:transparent;color:var(--ink);font-weight:700;border-radius:0;border:2px solid var(--ink);padding:.7rem 1.4rem}
.btn-line:hover{background:var(--ink);color:var(--butter)}
.hero{background:var(--butter);border-bottom:3px solid var(--ink);padding:4.5rem 0 4rem;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.6rem,6.2vw,4.8rem);text-transform:uppercase;margin:.6rem 0 1.2rem}
.hero h1 em{font-style:normal;background:var(--ink);color:var(--butter);padding:0 .15em;display:inline-block;transform:rotate(-1.5deg)}
.hero p.lead{max-width:34rem;font-size:1.2rem}
.inset{position:relative;border:3px solid var(--ink);box-shadow:12px 12px 0 var(--ink);background:#fff;transform:rotate(1.5deg)}
.inset img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:60% 40%}
.stamp{position:absolute;right:-20px;bottom:-34px;width:150px;height:150px;transform:rotate(-14deg);color:#0e3b3c;opacity:.92}
.stamp-bg{background:var(--butter);border-radius:50%}
section{padding:5rem 0}
h2{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:1rem}
.idx{border-top:3px solid var(--ink);list-style:none;padding:0;margin:0}
.idx li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:1.5rem;padding:1.3rem 0;border-bottom:1px solid var(--ink);align-items:baseline}
.idx h3{font-size:clamp(1.5rem,3.4vw,2.3rem);text-transform:uppercase;margin:0}
.idx p{margin:0}
.idx .tags{font-family:'DM Mono',monospace;font-size:.8rem;color:var(--mute);margin-top:.4rem;display:block;line-height:1.5}
.irs{background:var(--ink);color:var(--paper)}
.irs h2,.irs .eyebrow{color:var(--butter)}
.irs .pill{display:inline-block;border:2px solid var(--butter);color:var(--butter);padding:.35rem .9rem;margin:.25rem .2rem .25rem 0;font-weight:600;font-size:.95rem;position:relative}
.irs .pill:nth-child(3n){transform:rotate(-1deg)}
.irs .pill:nth-child(3n+1){transform:rotate(.8deg)}
.irs .stampbig{position:absolute;right:4%;top:2rem;width:200px;opacity:.12;transform:rotate(12deg);color:var(--butter)}
.qb{background:var(--gold);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.qb li{border-bottom:2px solid var(--ink);padding:.7rem 0;font-weight:700;font-size:1.15rem;list-style:none}
.qb ul{padding:0;margin:0;border-top:2px solid var(--ink)}
.band{background:var(--ink2);color:var(--butter);padding:0;position:relative}
.band::before{content:"";position:absolute;inset:0;background:url(img/hall.webp) center/cover;opacity:.28}
.band .in{position:relative;padding:5rem 0}
.band blockquote{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(1.7rem,4vw,3rem);line-height:1.12;max-width:50rem;margin:0}
.res a.card{border:2px solid var(--ink);border-radius:0;padding:1.3rem;text-decoration:none;height:100%;background:#fff;box-shadow:6px 6px 0 var(--ink);transition:transform .15s}
.res a.card:hover{transform:translate(-3px,-3px)}
.res a.card b{font-family:'Bricolage Grotesque',sans-serif;font-size:1.3rem;display:block}
.badges img{height:54px;width:auto;margin:.4rem 1.4rem .4rem 0}
.contact{background:var(--butter);border-top:3px solid var(--ink)}
.contact .big{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2rem,6vw,3.6rem);color:var(--ink);text-decoration:none;display:block;line-height:1}
.contact iframe{width:100%;height:340px;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}
footer{background:var(--ink2);color:var(--butter);padding:2.5rem 0;font-size:.92rem}
footer a{color:var(--butter)}
footer .logo{background:#fff;padding:.6rem .9rem;display:inline-block}
footer .logo img{height:36px;width:auto;display:block}
@media(max-width:767px){.idx li{grid-template-columns:1fr;gap:.4rem}.stamp{width:110px;height:110px;right:-6px;bottom:-26px}section{padding:3.5rem 0}.hero{padding:3rem 0 3.5rem}.util a{margin-left:.7rem}.inset{margin-top:1rem}}
