/* The M Factor — brutalist: borders, mono, acid yellow */
:root{ --k:#111111; --w:#FFFFFF; --y:#E9FF35; --l:#CDBBFF; --g2:#EDEDED; --b:3px; --pad:20px; --maxw:1320px;
  --disp:'Archivo Black','Arial Black',Impact,sans-serif; --mono:'Space Mono','Courier New',monospace; }
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:var(--mono); font-size:15px; line-height:1.5; color:var(--k); background:var(--w); }
a{ color:inherit; }
h1,h2,h3{ font-family:var(--disp); font-weight:400; text-transform:uppercase; line-height:.95; margin:0; letter-spacing:-.01em; }
h1{ font-size:clamp(3.4rem,15vw,15rem); }
h2{ font-size:clamp(2rem,5.5vw,4.6rem); }
h3{ font-size:1.25rem; }
p{ margin:0 0 1em; }
.up{ text-transform:uppercase; letter-spacing:.06em; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); }
.wrap>*{ min-width:0; }
.box{ border:var(--b) solid var(--k); }
.y{ background:var(--y); } .l{ background:var(--l); } .k{ background:var(--k); color:var(--w); } .g{ background:var(--g2); }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 20px; border:var(--b) solid var(--k); background:var(--y); color:var(--k); font-family:var(--disp); text-transform:uppercase; font-size:.95rem; text-decoration:none; cursor:pointer; box-shadow:6px 6px 0 var(--k); transition:transform .08s, box-shadow .08s; white-space:nowrap; }
.btn:hover{ transform:translate(3px,3px); box-shadow:3px 3px 0 var(--k); }
.btn:active{ transform:translate(6px,6px); box-shadow:0 0 0 var(--k); }
.btn-k{ background:var(--k); color:var(--w); } .btn-w{ background:var(--w); }
.btn-block{ width:100%; }
.k .btn{ box-shadow:6px 6px 0 var(--y); border-color:var(--y); } .k .btn:hover{ box-shadow:3px 3px 0 var(--y); }

/* top bar: cells */
.bar{ position:sticky; top:0; z-index:100; background:var(--w); border-bottom:var(--b) solid var(--k); }
.bar .cells{ display:grid; grid-template-columns:auto 1fr auto auto auto; }
.bar .cells>*{ padding:14px 18px; border-right:var(--b) solid var(--k); display:flex; align-items:center; white-space:nowrap; text-decoration:none; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; min-width:0; }
.bar .cells>:last-child{ border-right:0; }
.bar .brand{ font-family:var(--disp); font-size:1.05rem; letter-spacing:0; }
.bar nav{ gap:22px; overflow:hidden; }
.bar nav a{ text-decoration:none; padding:4px 0; border-bottom:var(--b) solid transparent; }
.bar nav a:hover,.bar nav a.active{ border-bottom-color:var(--k); }
.bar .book{ background:var(--y); font-family:var(--disp); letter-spacing:0; }
.bar .book:hover{ background:var(--k); color:var(--w); }
.bar .cells>.burger{ display:none; border:0; background:transparent; font-family:var(--disp); font-size:.9rem; text-transform:uppercase; cursor:pointer; padding:14px 18px; }
.drawer{ display:none; }

/* hero */
.hero{ border-bottom:var(--b) solid var(--k); position:relative; overflow:hidden; }
.hero h1{ padding:34px var(--pad) 10px; white-space:nowrap; }
.hero h1 span{ display:inline-block; }
.hero h1 .o{ -webkit-text-stroke:3px var(--k); color:transparent; }
.hero .sub{ display:grid; grid-template-columns:1fr 1fr; border-top:var(--b) solid var(--k); }
.hero .sub>div{ padding:22px var(--pad); min-width:0; }
.hero .sub>div:first-child{ border-right:var(--b) solid var(--k); }
.hero .sub p{ margin:0 0 10px; font-size:1rem; }
.hero .sub p.big{ font-family:var(--disp); font-size:clamp(1.2rem,2.4vw,1.9rem); text-transform:uppercase; line-height:1.05; }
.stk{ position:absolute; right:4%; top:20px; background:var(--y); border:var(--b) solid var(--k); padding:12px 18px; font-family:var(--disp); text-transform:uppercase; font-size:1rem; transform:rotate(-6deg); box-shadow:8px 8px 0 var(--k); }
.stk small{ display:block; font-family:var(--mono); font-size:.7rem; letter-spacing:.08em; }

/* strip */
.strip{ border-bottom:var(--b) solid var(--k); display:grid; grid-template-columns:repeat(4,1fr); }
.strip>div{ padding:18px var(--pad); border-right:var(--b) solid var(--k); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; min-width:0; }
.strip>div:last-child{ border-right:0; }
.strip b{ display:block; font-family:var(--disp); font-size:1.9rem; letter-spacing:0; line-height:1; margin-bottom:4px; }

/* section head */
.sh{ display:grid; grid-template-columns:auto 1fr; border-bottom:var(--b) solid var(--k); }
.sh>*{ padding:22px var(--pad); min-width:0; }
.sh .n{ font-family:var(--disp); font-size:2rem; border-right:var(--b) solid var(--k); background:var(--k); color:var(--w); display:flex; align-items:center; }
.sh h2{ font-size:clamp(1.6rem,3.6vw,3rem); }
.sh p{ margin:6px 0 0; font-size:.85rem; }
section{ border-bottom:var(--b) solid var(--k); }

/* search */
.search{ padding:26px var(--pad); }
.search label{ display:block; font-family:var(--disp); text-transform:uppercase; font-size:.9rem; margin-bottom:10px; }
.search input{ width:100%; font:inherit; font-family:var(--disp); font-size:clamp(1.4rem,4vw,3rem); text-transform:uppercase; padding:14px 18px; border:var(--b) solid var(--k); background:var(--w); color:var(--k); border-radius:0; outline:none; }
.search input:focus{ background:var(--y); }
.search .hint{ font-size:.75rem; margin:8px 0 0; text-transform:uppercase; letter-spacing:.06em; }
.results{ list-style:none; margin:14px 0 0; padding:0; border:var(--b) solid var(--k); display:none; }
.results.on{ display:block; }
.results li{ display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:16px; padding:12px 16px; border-bottom:var(--b) solid var(--k); cursor:pointer; align-items:baseline; }
.results li:last-child{ border-bottom:0; }
.results li.sel,.results li:hover{ background:var(--k); color:var(--y); }
.results li b{ font-family:var(--disp); font-weight:400; text-transform:uppercase; }
.results li .now{ font-family:var(--disp); }
.results li.none{ cursor:default; color:inherit; background:transparent; }

/* table */
.tbl{ width:100%; border-collapse:collapse; }
.tbl th,.tbl td{ text-align:left; padding:14px var(--pad); border-bottom:var(--b) solid var(--k); border-right:var(--b) solid var(--k); vertical-align:middle; }
.tbl th:last-child,.tbl td:last-child{ border-right:0; }
.tbl th{ font-family:var(--disp); font-weight:400; text-transform:uppercase; font-size:.8rem; background:var(--k); color:var(--w); }
.tbl tr:nth-child(even) td{ background:var(--g2); }
.tbl tbody tr:hover td{ background:var(--k); color:var(--y); }
.tbl td.svc{ font-family:var(--disp); text-transform:uppercase; font-size:1.05rem; }
.tbl td.svc small{ display:block; font-family:var(--mono); text-transform:none; font-size:.78rem; opacity:.8; margin-top:3px; }
.tbl td.num{ white-space:nowrap; font-size:.9rem; }
.tbl td.now{ font-family:var(--disp); font-size:1.3rem; white-space:nowrap; }
.tbl td.was{ text-decoration:line-through; opacity:.6; white-space:nowrap; }
.tbl td.act a{ text-decoration:none; font-family:var(--disp); text-transform:uppercase; font-size:.8rem; }
.tbl .cat td{ background:var(--y) !important; color:var(--k) !important; font-family:var(--disp); text-transform:uppercase; font-size:1.2rem; }
.table-wrap{ overflow-x:auto; }
.table-wrap .tbl{ min-width:720px; }

/* grid of cells */
.cells4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.cells4>div{ padding:26px var(--pad); border-right:var(--b) solid var(--k); min-width:0; }
.cells4>div:last-child{ border-right:0; }
.cells4 .n{ font-family:var(--disp); font-size:3.2rem; line-height:1; margin-bottom:12px; }
.cells4 h3{ margin-bottom:8px; }
.cells4 p{ font-size:.88rem; margin:0; }
.cells3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.cells3>div{ padding:26px var(--pad); border-right:var(--b) solid var(--k); min-width:0; }
.cells3>div:last-child{ border-right:0; }
.cells3 h3{ margin-bottom:10px; }
.cells2{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.cells2>div{ padding:30px var(--pad); border-right:var(--b) solid var(--k); min-width:0; }
.cells2>div:last-child{ border-right:0; }
.big{ font-family:var(--disp); font-size:clamp(1.3rem,2.6vw,2rem); text-transform:uppercase; line-height:1.05; }
.giant{ font-family:var(--disp); font-size:clamp(6rem,18vw,18rem); line-height:.8; }
.hours{ list-style:none; padding:0; margin:0; }
.hours li{ display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:2px dashed var(--k); font-size:.88rem; text-transform:uppercase; }
.hours li:last-child{ border-bottom:0; }
.hours li span:last-child{ font-family:var(--disp); text-align:right; }
.addr{ font-family:var(--disp); font-size:clamp(1.3rem,3vw,2.2rem); text-transform:uppercase; line-height:1.05; margin:0 0 14px; }
.faq details{ border-bottom:var(--b) solid var(--k); }
.faq details:last-child{ border-bottom:0; }
.faq summary{ list-style:none; cursor:pointer; padding:18px var(--pad); font-family:var(--disp); text-transform:uppercase; font-size:1.05rem; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; }
.faq summary::-webkit-details-marker{ display:none; } .faq summary::after{ content:"+"; font-size:1.6rem; line-height:1; }
.faq details[open] summary{ background:var(--y); } .faq details[open] summary::after{ content:"\2013"; }
.faq details p{ padding:14px var(--pad) 20px; margin:0; font-size:.92rem; max-width:70ch; }
.looks{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.look{ padding:26px var(--pad); border-right:var(--b) solid var(--k); border-bottom:var(--b) solid var(--k); min-width:0; display:flex; flex-direction:column; }
.look:nth-child(3n){ border-right:0; }
.look:nth-child(odd){ background:var(--g2); }
.look .no{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.look h3{ font-size:1.5rem; margin:10px 0 12px; }
.look p{ font-size:.88rem; flex:1; }
.look .m{ display:flex; justify-content:space-between; align-items:center; gap:10px; border-top:var(--b) solid var(--k); padding-top:12px; font-size:.85rem; }
.look .m b{ font-family:var(--disp); font-size:1.2rem; } .look .m s{ opacity:.6; margin-right:6px; }
.look .m a{ font-family:var(--disp); text-transform:uppercase; text-decoration:none; font-size:.8rem; }
.look .m a:hover{ background:var(--k); color:var(--y); }

/* form */
.form{ border:var(--b) solid var(--k); }
.frow{ display:grid; grid-template-columns:1fr 1fr; }
.f{ padding:14px var(--pad); border-bottom:var(--b) solid var(--k); min-width:0; }
.frow .f:first-child{ border-right:var(--b) solid var(--k); }
.f label{ display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.f input,.f select,.f textarea{ width:100%; font:inherit; padding:10px 12px; border:2px solid var(--k); background:var(--w); color:var(--k); border-radius:0; }
.f input:focus,.f select:focus,.f textarea:focus{ outline:none; background:var(--y); }
.f textarea{ min-height:90px; resize:vertical; }
.est{ display:grid; grid-template-columns:repeat(3,1fr); border-bottom:var(--b) solid var(--k); }
.est>div{ padding:14px var(--pad); border-right:var(--b) solid var(--k); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; min-width:0; }
.est>div:last-child{ border-right:0; background:var(--y); }
.est b{ display:block; font-family:var(--disp); font-size:1.6rem; letter-spacing:0; line-height:1; margin-top:4px; }
.fsub{ padding:var(--pad); }
.fine{ font-size:.74rem; margin:12px 0 0; }
.success{ display:none; border:var(--b) solid var(--k); padding:26px var(--pad); background:var(--y); }
.success h3{ font-size:1.6rem; margin-bottom:10px; }
.legal{ max-width:76ch; padding:40px var(--pad) 60px; }
.legal h2{ font-size:1.4rem; margin:26px 0 8px; }
.legal p,.legal li{ font-size:.92rem; overflow-wrap:anywhere; }
.phead{ border-bottom:var(--b) solid var(--k); padding:34px var(--pad) 26px; }
.phead h1{ font-size:clamp(2.4rem,8vw,7rem); }
.phead p{ margin:12px 0 0; max-width:70ch; }
.crumbs{ font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:12px; }

/* footer */
.foot{ background:var(--k); color:var(--w); font-size:.82rem; }
.foot .cells4>div{ border-right-color:var(--w); padding:30px var(--pad); }
.foot h4{ font-family:var(--disp); font-weight:400; text-transform:uppercase; font-size:.85rem; margin:0 0 12px; color:var(--y); }
.foot ul{ list-style:none; padding:0; margin:0; display:grid; gap:6px; } .foot li{ overflow-wrap:anywhere; min-width:0; }
.foot a{ text-decoration:none; } .foot a:hover{ color:var(--y); text-decoration:underline; }
.foot p{ overflow-wrap:anywhere; }
.foot .bottom{ border-top:var(--b) solid var(--w); padding:16px var(--pad); display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:.72rem; text-transform:uppercase; }
.foot .bottom ul{ display:flex; gap:14px; flex-wrap:wrap; }
.mcta{ display:none; }

@media (max-width:1200px){ .bar .cells>.city{ display:none; } .bar .cells{ grid-template-columns:auto 1fr auto auto; } .bar nav{ gap:14px; } .bar .cells>*{ padding:14px 12px; } .bar nav a{ font-size:.72rem; } }
@media (max-width:900px){
  .bar .cells{ grid-template-columns:1fr auto auto; }
  .bar .cells>nav,.bar .cells>.tel,.bar .cells>.city{ display:none; } .bar .cells>.burger{ display:flex; border-left:var(--b) solid var(--k); border-right:0; }
  .drawer{ display:block; position:absolute; left:0; right:0; top:100%; background:var(--w); border-bottom:var(--b) solid var(--k); transform:translateY(-6px); opacity:0; pointer-events:none; transition:.15s; }
  .drawer.open{ transform:none; opacity:1; pointer-events:auto; }
  .drawer a{ display:block; padding:14px var(--pad); border-bottom:2px solid var(--k); font-family:var(--disp); text-transform:uppercase; text-decoration:none; }
  .hero .sub,.cells2{ grid-template-columns:1fr; } .hero .sub>div:first-child,.cells2>div{ border-right:0; border-bottom:var(--b) solid var(--k); } .cells2>div:last-child{ border-bottom:0; }
  .strip,.cells4{ grid-template-columns:1fr 1fr; } .strip>div:nth-child(2),.cells4>div:nth-child(2){ border-right:0; } .strip>div:nth-child(-n+2),.cells4>div:nth-child(-n+2){ border-bottom:var(--b) solid var(--k); }
  .cells3,.looks{ grid-template-columns:1fr 1fr; } .cells3>div:nth-child(2){ border-right:0; } .cells3>div{ border-bottom:var(--b) solid var(--k); } .look:nth-child(3n){ border-right:var(--b) solid var(--k); } .look:nth-child(2n){ border-right:0; }
  .stk{ position:static; display:inline-block; margin:18px var(--pad) 0; transform:rotate(-2deg); }
  .hero h1{ font-size:clamp(3rem,20vw,9rem); white-space:normal; }
}
@media (max-width:600px){
  :root{ --pad:16px; }
  .strip,.cells4,.cells3,.looks,.frow,.est{ grid-template-columns:1fr; }
  .strip>div,.cells4>div,.cells3>div,.est>div{ border-right:0; border-bottom:var(--b) solid var(--k); } .strip>div:last-child,.cells4>div:last-child,.cells3>div:last-child,.est>div:last-child{ border-bottom:0; }
  .look{ border-right:0 !important; }
  .frow .f:first-child{ border-right:0; }
  .sh{ grid-template-columns:1fr; } .sh .n{ border-right:0; border-bottom:var(--b) solid var(--k); }
  .results li{ grid-template-columns:minmax(0,1fr) auto; } .results li .mins{ display:none; }
  .bar .brand{ font-size:.9rem; }
  .mcta{ display:block; position:fixed; left:0; right:0; bottom:0; z-index:200; padding:10px var(--pad); background:var(--w); border-top:var(--b) solid var(--k); }
  .mcta .btn{ box-shadow:none; }
  body{ padding-bottom:78px; } body.pg-book{ padding-bottom:0; } body.pg-book .mcta{ display:none; }
}
