/* ============================================================
   BRUTAL — neo-brutalist data
   Scoped to body.d-brutal. 1rem = 10px.
   ============================================================ */
body.d-brutal{
  --br-k:#0a0a0a;--br-bg:#fffbe8;--br-o:var(--biz);--br-y:#ffd23f;--br-b:#7cc4ff;--br-p:#ff9ecd;--br-g:#8ef0a8;--br-l:#c9b6ff;
  --br-bw:3px;--br-sh:6px 6px 0 var(--br-k);
  --bg-primary:var(--br-bg);--bg-secondary:#fff4c9;--bg-card:#fff;--bg-inset:#fff4c9;
  --fg-primary:var(--br-k);--fg-soft:#222;--fg-muted:#444;--border-color:var(--br-k);--border-strong:var(--br-k);
  background:var(--br-bg);color:var(--br-k);font-family:'Space Grotesk',system-ui,sans-serif
}
body.d-brutal h1,body.d-brutal h2,body.d-brutal h3{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;letter-spacing:-.02em}
.br-t-y{background:var(--br-y)}.br-t-b{background:var(--br-b)}.br-t-p{background:var(--br-p)}.br-t-g{background:var(--br-g)}.br-t-o{background:var(--br-o);color:#fff}.br-t-l{background:var(--br-l)}

/* nav */
body.d-brutal .bx-nav{background:var(--br-bg);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:var(--br-bw) solid var(--br-k)}
body.d-brutal .bx-nav.scrolled{box-shadow:0 4px 0 var(--br-k);border-bottom-color:var(--br-k)}
body.d-brutal .bx-brand-mark{border:var(--br-bw) solid var(--br-k);border-radius:0;background:#fff}
body.d-brutal .bx-brand-txt b{font-family:'Archivo Black',sans-serif;font-weight:400}
body.d-brutal .bx-brand-txt small{font-family:'Space Mono',monospace;color:#333}
body.d-brutal .bx-nav-links a{color:var(--br-k);font-weight:700;font-size:1.25rem}
body.d-brutal .bx-nav-links a::after{height:4px;background:var(--br-o)}
body.d-brutal .bx-nav-cta{border-radius:0;background:var(--br-y);color:var(--br-k);border:var(--br-bw) solid var(--br-k);box-shadow:3px 3px 0 var(--br-k);font-weight:700}
body.d-brutal .bx-nav-cta:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--br-k);filter:none}

/* hero */
.br-hero{padding:calc(var(--nav-h) + 5rem) 3rem 6rem;background-image:linear-gradient(var(--br-k) 1px,transparent 1px),linear-gradient(90deg,var(--br-k) 1px,transparent 1px);background-size:40px 40px;background-color:var(--br-bg);background-position:-1px -1px;position:relative}
.br-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,251,232,.88),rgba(255,251,232,.95))}
.br-hero-in{position:relative;max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.35fr .65fr;gap:4rem;align-items:stretch}
.br-tagline{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:2.6rem}
.br-sticker{display:inline-block;padding:.6rem 1.4rem;background:var(--br-o);color:#fff;border:var(--br-bw) solid var(--br-k);font-weight:700;font-size:1.3rem;text-transform:uppercase;transform:rotate(-2deg);box-shadow:3px 3px 0 var(--br-k)}
.br-sticker-w{background:#fff;color:var(--br-k);transform:rotate(1.5deg)}
body.d-brutal .bh-open{border-radius:0;border:var(--br-bw) solid var(--br-k)!important;color:var(--br-k)!important;background:var(--br-g)!important}
body.d-brutal .bh-open.is-shut{background:var(--br-p)!important}
.br-hero h1{font-size:clamp(6.4rem,12vw,16rem);line-height:.82;letter-spacing:-.05em;text-transform:uppercase}
.br-dot{color:var(--br-o)}
.br-sub{display:inline-block;margin-top:2.6rem;font-size:clamp(1.7rem,2vw,2.3rem);font-weight:700;background:var(--br-y);padding:.4rem 1.2rem;border:var(--br-bw) solid var(--br-k)}
.br-lede{font-size:1.75rem;line-height:1.55;margin-top:2.4rem;max-width:56ch;font-weight:500}
.br-actions{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:3.4rem}
.br-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.6rem 2.6rem;border:var(--br-bw) solid var(--br-k);box-shadow:var(--br-sh);font-size:1.5rem;font-weight:700;text-transform:uppercase;transition:transform .12s,box-shadow .12s}
.br-btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--br-k)}
.br-btn:active{transform:translate(6px,6px);box-shadow:0 0 0 var(--br-k)}
.br-btn-o{background:var(--br-o);color:#fff}
.br-btn-w{background:#fff;color:var(--br-k)}

.br-board{background:#fff;border:var(--br-bw) solid var(--br-k);box-shadow:10px 10px 0 var(--br-k);display:flex;flex-direction:column}
.br-board-head{display:flex;justify-content:space-between;padding:1.2rem 1.6rem;background:var(--br-k);color:#fff;font-family:'Space Mono',monospace;font-size:1.2rem}
.br-board-head span:first-child{color:var(--br-g)}
.br-board-logo{padding:2rem;border-bottom:var(--br-bw) solid var(--br-k);display:flex;justify-content:center;background:#fff}
.br-board-logo img{max-height:70px;width:auto}
.br-stat{flex:1;padding:2rem 2.2rem;border-bottom:var(--br-bw) solid var(--br-k);display:flex;flex-direction:column;justify-content:center}
.br-stat:last-child{border-bottom:0}
.br-stat b{font-family:'Archivo Black',sans-serif;font-weight:400;font-size:clamp(3.4rem,4vw,4.8rem);line-height:1;letter-spacing:-.03em}
.br-stat span{font-family:'Space Mono',monospace;font-size:1.25rem;font-weight:700;text-transform:uppercase;margin-top:.6rem}

.br-tape{overflow:hidden;background:var(--br-k);color:#fff;border-block:var(--br-bw) solid var(--br-k);transform:rotate(-1deg);margin:0 -2rem;padding:1.4rem 0}
.br-tape-track{display:flex;width:max-content;gap:4rem;animation:br-tape 30s linear infinite}
.br-tape span{font-family:'Space Mono',monospace;font-size:1.6rem;font-weight:700;white-space:nowrap;text-transform:uppercase}
.br-tape span:nth-child(odd){color:var(--br-g)}
.br-tape span:nth-child(even){color:var(--br-y)}
@keyframes br-tape{to{transform:translateX(-50%)}}

/* sections */
.br-sec{padding:9rem 3rem 0}
.br-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.br-h{font-size:clamp(4rem,6.4vw,8rem);line-height:.9;text-transform:uppercase;margin-bottom:4rem}
.br-h small{font-family:'Space Mono',monospace;font-size:.3em;vertical-align:middle}
.br-hl-mark{display:inline-block;background:var(--br-o);color:#fff;padding:0 .2em;border:var(--br-bw) solid var(--br-k)}
.br-box{background:#fff;border:var(--br-bw) solid var(--br-k);box-shadow:var(--br-sh);padding:3.4rem}
.br-about{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}
.br-about-copy p{font-size:1.7rem;line-height:1.65;font-weight:500}
.br-about-copy p+p{margin-top:1.6rem;padding-top:1.6rem;border-top:2px dashed var(--br-k)}

.br-svc{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
.br-card{border:var(--br-bw) solid var(--br-k);box-shadow:var(--br-sh);padding:2.8rem;transition:transform .15s,box-shadow .15s}
.br-card:hover{transform:translate(-4px,-4px) rotate(-.6deg);box-shadow:10px 10px 0 var(--br-k)}
.br-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem}
.br-card-ico{width:56px;height:56px;background:#fff;color:var(--br-k);border:var(--br-bw) solid var(--br-k);display:flex;align-items:center;justify-content:center;font-size:2.2rem}
.br-card-n{font-family:'Space Mono',monospace;font-weight:700;font-size:1.4rem}
.br-card h3{font-size:2.4rem;line-height:1.05;text-transform:uppercase}
.br-card p{font-size:1.45rem;line-height:1.5;margin-top:1.2rem;font-weight:500}

.br-hl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border:var(--br-bw) solid var(--br-k);background:#fff;box-shadow:var(--br-sh)}
.br-hl-item{padding:2.8rem;border-right:var(--br-bw) solid var(--br-k);margin-right:calc(var(--br-bw) * -1)}
.br-hl-item i{font-size:2.6rem;color:var(--br-o);margin-bottom:1.6rem;display:block}
.br-hl-item h3{font-size:2rem;text-transform:uppercase;line-height:1.1}
.br-hl-item p{font-size:1.35rem;margin-top:.8rem}

.br-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
.br-gal-item{border:var(--br-bw) solid var(--br-k);box-shadow:var(--br-sh);padding:0;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in;transition:transform .15s}
.br-gal-item:hover{transform:rotate(-1deg) scale(1.02)}
.br-gal-item img{width:100%;height:100%;object-fit:cover}

.br-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.4rem}
.br-rev-card{border:var(--br-bw) solid var(--br-k);box-shadow:var(--br-sh);padding:3rem}
.br-rev-card blockquote{font-size:1.8rem;font-weight:600;line-height:1.45}
.br-rev-card figcaption{margin-top:1.8rem;font-family:'Space Mono',monospace;font-weight:700}

body.d-brutal .hours-card{max-width:none;gap:1.2rem}
body.d-brutal .hours-row{border-radius:0;border:var(--br-bw) solid var(--br-k);box-shadow:4px 4px 0 var(--br-k);font-weight:600}
body.d-brutal .hours-row .ht{font-family:'Space Mono',monospace;color:var(--br-k)}
body.d-brutal .hours-row.is-today{background:var(--br-y)}
body.d-brutal .hours-row.is-today .hd::after{background:var(--br-k);border-radius:0}

.br-contact{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;background:var(--br-b);border:var(--br-bw) solid var(--br-k);box-shadow:12px 12px 0 var(--br-k);padding:4rem}
.br-contact-copy>p{font-size:1.7rem;font-weight:500;margin:-2rem 0 3rem;max-width:40ch}
body.d-brutal .ci{border-radius:0;border:var(--br-bw) solid var(--br-k);box-shadow:4px 4px 0 var(--br-k);background:#fff}
body.d-brutal .ci:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--br-k)}
body.d-brutal .ci-ico{border-radius:0;background:var(--br-y);color:var(--br-k);border:2px solid var(--br-k)}
body.d-brutal .ci-ico.wa{background:var(--br-g);color:var(--br-k)}
body.d-brutal .contact-form{border-radius:0;border:var(--br-bw) solid var(--br-k);box-shadow:var(--br-sh)}
body.d-brutal .contact-form h3{font-family:'Archivo Black',sans-serif;font-weight:400;font-size:2.4rem;text-transform:uppercase;margin-bottom:2rem}
body.d-brutal .cf-field>span{color:var(--br-k);font-family:'Space Mono',monospace}
body.d-brutal .cf-field input,body.d-brutal .cf-field textarea{border-radius:0;border:var(--br-bw) solid var(--br-k);background:var(--br-bg)}
body.d-brutal .cf-field input:focus,body.d-brutal .cf-field textarea:focus{box-shadow:4px 4px 0 var(--br-o);border-color:var(--br-k)}
body.d-brutal .btn-onbiz{background:var(--br-o);border-radius:0;border:var(--br-bw) solid var(--br-k);box-shadow:var(--br-sh);transition:transform .12s,box-shadow .12s}
body.d-brutal .btn-onbiz:hover{filter:none;transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--br-k)}
body.d-brutal .btn-onbiz:active{transform:translate(6px,6px);box-shadow:none}
.br-map{margin-top:3rem}
body.d-brutal .biz-map{border-radius:0;border:var(--br-bw) solid var(--br-k);box-shadow:var(--br-sh)}
.br-share{max-width:var(--max-w);margin:6rem auto 0;padding:0 3rem}
body.d-brutal .biz-share{border-top:var(--br-bw) solid var(--br-k)}
body.d-brutal .biz-share-btn{border-radius:0;border:2px solid var(--br-k);color:var(--br-k);background:#fff}

body.d-brutal .bx-foot{background:var(--br-k);color:#fff;border-top:0}
body.d-brutal .bx-foot p,body.d-brutal .bx-foot li,body.d-brutal .bx-foot a{color:#ddd}
body.d-brutal .bx-foot-col h2{color:var(--br-y);font-family:'Space Mono',monospace}
body.d-brutal .bx-foot .bx-brand-txt b{color:#fff}
body.d-brutal .bx-foot .btn{border-radius:0}
body.d-brutal .bx-foot .btn-outline{border-color:#fff;color:#fff}
body.d-brutal .bx-foot-bottom{border-top-color:#333}
body.d-brutal .fx-grain{display:none}

@media (max-width:980px){
  .br-hero-in,.br-about,.br-contact{grid-template-columns:1fr}
  .br-svc,.br-gal{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .br-hero{padding:calc(var(--nav-h) + 3rem) 1.6rem 4rem}
  .br-sec{padding:7rem 1.6rem 0}
  .br-svc,.br-gal{grid-template-columns:1fr}
  .br-contact{padding:2rem;box-shadow:6px 6px 0 var(--br-k)}
  .br-hl-item{border-right:0;border-bottom:var(--br-bw) solid var(--br-k);margin:0}
  .br-share{padding:0 1.6rem}
}
@media (prefers-reduced-motion:reduce){.br-tape-track{animation:none}}
