/* KeepYourCut v8 theme: homey local-shop look. Loaded AFTER the shared kyc.css, overrides only.
   Palette: cream paper, charcoal ink, deep green (actions), brass (rules + details), warm wood.
   Type: Libre Caslon Text (headings, prices) + Public Sans (body, labels). No gradients, glow or glass. */
:root{
  --paper:#F4EEE3; --paper-2:#EBE2D3; --card:#FBF8F2; --ink:#2A2824; --ink-2:#4B463E; --mute:#7A7266;
  --ox:#2F4A3A; --ox-d:#243A2D; --brass:#A47E45; --wood:#6E4B2E; --rule:rgba(42,40,36,.14);
  --disp:'Libre Caslon Text',Georgia,'Times New Roman',serif;
  --serif:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Public Sans',system-ui,-apple-system,sans-serif;
}
body{background:var(--paper);background-image:none;font:400 17px/1.62 var(--serif);color:var(--ink)}
.mono{font-family:var(--serif);font-weight:600;font-size:.7rem;letter-spacing:.14em}
.disp{font-family:var(--disp);font-weight:400;text-transform:none;letter-spacing:-.01em;line-height:1.08}
h2.disp{font-size:clamp(2.2rem,4.6vw,3.3rem)}
.kicker{color:var(--brass)}
.kicker:before{background:var(--brass)}

.notice{background:var(--ink);color:#E6DDCC;font-family:var(--serif);font-size:.74rem;letter-spacing:.01em;padding:8px 14px}
.notice b{font-weight:600}
header.top{background:var(--paper);border-bottom:1px solid var(--rule)}
header.top .wrap{height:72px}
.wordmark b{font-family:var(--disp);font-weight:700;text-transform:none;font-size:1.4rem;letter-spacing:0}
.wordmark span{font-family:var(--serif);font-weight:500;font-size:.66rem;letter-spacing:.12em;margin-top:5px}
header nav{font-family:var(--serif);font-weight:500;font-size:.88rem;letter-spacing:0;text-transform:none;gap:30px}

.btn{font:600 .98rem/1 var(--serif);letter-spacing:.01em;text-transform:none;border-radius:6px;padding:15px 24px;background:var(--ox);color:#F7F2E8}
.btn:hover{background:var(--ox-d)}
.btn.small{padding:11px 16px;font-size:.9rem}
.btn.line{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}
.link{font-family:var(--serif);font-weight:600;font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--ox);text-underline-offset:5px}

/* hero */
.hero{padding:30px 0 0}
.hero h1{font-family:var(--disp)!important;font-weight:400;text-transform:none;line-height:1.02;letter-spacing:-.015em;font-size:clamp(3.1rem,13vw,6rem)!important;margin:4px 0 20px}
.hero h1 .l2{color:var(--ox);-webkit-text-stroke:0;font-style:italic}
.hero .lead{font-size:1.12rem;max-width:40ch;color:var(--ink-2)}
.facts{border-top:1px solid var(--ink)}
.facts dt{font-family:var(--serif);font-weight:600;font-size:.68rem;letter-spacing:.12em}
.facts dd{font-size:.98rem}
.facts .open{color:var(--ox);font-weight:600}.facts .closed{color:#8A4B2A}
.hero figcaption{font-family:var(--serif);font-weight:500;font-size:.7rem;letter-spacing:.08em;background:rgba(42,40,36,.72);color:#F4EEE3;padding:5px 9px;bottom:16px}
@media(min-width:900px){
  .hero{padding:64px 0 72px}
  .hero .grid{grid-template-columns:1fr 1fr;gap:72px;align-items:center}
  .hero .grid>div:first-child{padding-bottom:0}
  .hero figure img{min-height:0;height:auto;aspect-ratio:4/5;border-radius:4px}
  .hero figcaption{left:16px}
}
/* the one ornament: a thin brass double rule instead of the striped pole */
.pole{height:6px;background:none;border-top:1px solid var(--brass);border-bottom:1px solid var(--brass);border-left:0;border-right:0;max-width:1180px;margin:0 auto}

section{padding:72px 0}
@media(min-width:900px){section{padding:96px 0}}

/* prices: a cream menu card on deep green */
#prices{background:var(--ox);color:#F1EADC}
#prices .kicker{color:#D3B781}#prices .kicker:before{background:#D3B781}
#prices .sec-head p,#prices .after p{color:#D9D2C2}
#prices .btn{background:#F4EEE3;color:var(--ox)}#prices .btn:hover{background:#fff}
.board{background:var(--card);background-image:none;border:1px solid #C9AE7E;outline:1px solid #C9AE7E;outline-offset:-9px;box-shadow:none;
  padding:30px 26px 30px;font-family:var(--serif);text-transform:none;letter-spacing:0;color:var(--ink);border-radius:2px}
.board h3{font-family:var(--disp);font-style:italic;font-weight:400;font-size:1.25rem;letter-spacing:0;color:var(--wood);margin:4px 0 10px}
.board li{font-size:1rem;padding:8px 0;font-weight:500}
.board li .dots{border-bottom:1.5px dotted rgba(42,40,36,.3);transform:translateY(-5px)}
.board li .pr{font-family:var(--disp);font-size:1.1rem;font-weight:400}
.board li small{font-size:.8rem;color:var(--mute);letter-spacing:0;font-weight:400;margin-top:0}
.board .foot{font-size:.8rem;color:var(--mute);letter-spacing:0;border-top:1px solid var(--rule);padding-top:16px}
.pb figure img{border-radius:2px}
@media(min-width:900px){.board{padding:44px 54px 46px}}

/* crew */
.crew img{border-radius:4px;filter:none}
.crew .nm{font-family:var(--disp);font-weight:400;text-transform:none;font-size:1.6rem;line-height:1.1;margin-top:14px}
.crew .meta{font-size:.95rem}
.crew .meta .mono{color:var(--brass)}
.roster .nm{font-family:var(--disp);font-weight:400;text-transform:none;font-size:1.8rem}

/* visit */
#visit{background:var(--paper-2)}
table.hours td:last-child{font-family:var(--serif);font-size:.95rem;letter-spacing:0}
table.hours tr.today td:first-child:after{font:600 .6rem var(--serif);background:var(--ox);border-radius:3px;padding:3px 7px}
.addr{font-family:var(--disp);font-size:1.5rem}
.map{border:1px solid var(--rule);border-radius:4px}
.mapwrap .mono{border-radius:3px}
.walkin{border-top:1px solid var(--ink)}

/* rules */
.rules{border-top:1px solid var(--ink)}
.rules li:before{font-family:var(--disp);font-style:italic;font-size:1.1rem;color:var(--brass);padding-top:0}
.rules b{font-family:var(--disp);font-weight:400;text-transform:none;font-size:1.35rem;line-height:1.2;margin-bottom:4px}

/* reviews */
.proof{border-bottom:1px solid var(--ink)}
.stamp{border:1.5px solid var(--brass);outline:1px solid var(--brass);transform:none;width:170px;height:170px}
.stamp .n{font-family:var(--disp);font-weight:400;font-size:3.4rem;line-height:1}
.stamp .s{font-family:var(--serif);font-weight:600}
.proof .said{font-family:var(--disp);font-size:clamp(1.3rem,2.3vw,1.7rem);line-height:1.4}

.gal{gap:8px}.gal img{border-radius:3px}

footer{background:var(--ink);color:#DCD3C3}
footer .big{font-family:var(--disp);font-weight:400;text-transform:none;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.05;color:#F4EEE3}
footer .cols .mono{color:#C9AE7E}
footer .by{font-family:var(--serif);font-weight:500;letter-spacing:.04em;text-transform:none;font-size:.78rem;color:#A39A8A}

.thumb{background:var(--paper);border-top:1px solid var(--rule)}

/* booking drawer */
.bk .sheet{background:var(--paper);background-image:none}
@media(min-width:900px){.bk .sheet{border-left:1px solid var(--rule)}}
.bk .bar{border-bottom:1px solid var(--rule)}
.bk .bar button{font:600 .82rem var(--serif);letter-spacing:0;text-transform:none}
.bk .bar .ttl{font-family:var(--disp);font-weight:700;text-transform:none;font-size:1.15rem}
.bk .prog span{font:600 .64rem var(--serif);letter-spacing:.1em}
.bk .prog span.on{background:var(--ox);color:#F7F2E8}
.bk .prog span.done{color:var(--ox)}
.bk h4{font-family:var(--disp);font-weight:400;text-transform:none;font-size:1.9rem;line-height:1.1;margin-bottom:6px}
.bk .sum{font:500 .8rem var(--serif);letter-spacing:0;text-transform:none}
.bk .foot{border-top:1px solid var(--rule)}
.opt:first-of-type{border-top:1px solid var(--ink)}
.opt .av{border-radius:50%;background:var(--wood);font-family:var(--disp);font-weight:400;filter:none}
.opt .t{font-family:var(--serif);font-weight:600;font-size:1.05rem;text-transform:none;line-height:1.25}
.opt .p{font-family:var(--disp);font-size:1.05rem}
.opt:hover .t{text-decoration:none}.opt:hover{background:var(--paper-2)}
.opt.sel{background:var(--ox);color:#F7F2E8}.opt.sel .d{color:#CFD8CF}
.day{border:1px solid rgba(42,40,36,.35);border-radius:6px;background:var(--card)}
.day small{font:600 .6rem var(--serif);letter-spacing:.1em}
.day b{font-family:var(--disp);font-weight:400;font-size:1.45rem;margin:2px 0}
.day.sel{background:var(--ox);border-color:var(--ox);color:#F7F2E8}
.day[disabled]{background:transparent;border-color:var(--rule)}
.slots h5{font:600 .66rem var(--serif);letter-spacing:.12em}
.time{border:1px solid rgba(42,40,36,.3);border-radius:6px;background:var(--card);font:500 .95rem var(--serif)}
.time:hover{border-color:var(--ox)}
.time.sel{background:var(--ox);border-color:var(--ox)}
.fld span{font:600 .66rem var(--serif);letter-spacing:.12em}
.fld input,.fld textarea{font:400 1.05rem var(--serif);border:1px solid #B9AE9C;border-radius:6px;background:#FFFDF8}
.fld input:focus,.fld textarea:focus{outline:2px solid var(--ox);outline-offset:1px}
.policy{border-left:3px solid var(--brass)}
.card{background:var(--card);border:1px solid #C9AE7E;border-radius:6px;box-shadow:none}
.card .shop{font-family:var(--disp);font-weight:700;text-transform:none;font-size:1.4rem;line-height:1.15}
.card dt{font:600 .62rem var(--serif);letter-spacing:.12em}
.card .when{font-family:var(--disp);font-weight:400;text-transform:none;font-size:1.25rem;line-height:1.25}
.card dl div{border-bottom:1px dashed rgba(42,40,36,.18)}
/* client booking page + owner page h1s use --disp; keep them sentence case */
main.o h1{font-family:var(--disp)!important;font-weight:400!important;text-transform:none!important;font-size:2.4rem!important}
main.o h2{font-family:var(--disp)!important;font-weight:400!important;text-transform:none!important;border-bottom:1px solid var(--ink)!important}
.pole{max-width:none;margin:0 max(var(--pad),calc((100% - 1180px)/2 + var(--pad)))}
@media(max-width:899px){
  .wordmark b{font-size:1.12rem}
  .wordmark span{font-size:.6rem}
  header.top .wrap{height:64px}
  .hero figure img{object-position:62% 88%}
}
.pole{display:none}
