@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400;font-display:swap;src:url(/f/bodoni-moda-400.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:600;font-display:swap;src:url(/f/bodoni-moda-600.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(/f/jost-300.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(/f/jost-400.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(/f/jost-500.woff2) format("woff2")}

*,*::before,*::after{box-sizing:border-box}
body{margin:0}
.site{--radius-btn:6px;--radius-card:8px;--maxw:1160px;--gutter:16px;--accent2:var(--primary);--logo-tile:var(--primary);--logo-mark:var(--ground);
  container-type:inline-size;container-name:site;min-height:100vh;background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.55;-webkit-text-size-adjust:100%;overflow-wrap:anywhere}
.site h1,.site h2,.site h3{font-family:var(--font-head);font-weight:var(--head-weight);line-height:1.15;margin:0 0 .5em;color:var(--ink)}
.site h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.1rem)}
.site h2{font-size:1.55rem}.site h3{font-size:1.15rem}
.site p{margin:0 0 1em}
.site a{color:var(--link,var(--primary));text-underline-offset:.18em}
.site a:hover{text-decoration-thickness:2px}
.site :focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.skip{position:absolute;left:8px;top:-60px;z-index:50;background:var(--surface);color:var(--ink);padding:10px 14px;border-radius:6px}
.skip:focus{top:8px}
.vh,.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.preview-note{margin:0;padding:6px var(--gutter);background:#3a3a3a;color:#fff;font:600 13px/1.4 system-ui,sans-serif;text-align:center}
.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}

.hdr{background:var(--hdrbg,var(--surface));border-bottom:1px solid var(--rule)}
.hdr-in{max-width:var(--maxw);margin:0 auto;padding:10px var(--gutter);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hdr-brand{display:inline-flex;align-items:center;min-height:44px;color:var(--logo-ink,var(--primary));text-decoration:none}
.logo{display:inline-flex;align-items:center}.logo-svg{height:34px;width:auto;max-width:100%}
.hdr-nav{margin-left:auto}.hdr-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0}
.hdr-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--navink,var(--ink));text-decoration:none;font-weight:600}
.hdr-nav a:hover{text-decoration:underline}
.place-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--rule);border-radius:999px;font-size:.9rem;color:var(--ink2)}
.hdr-masthead .hdr-in{flex-direction:column;gap:8px}
.hdr-masthead .hdr-nav{margin:0}
.hdr-masthead .hdr-brand{margin:0 auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--radius-btn);border:2px solid var(--primary);background:transparent;color:var(--primary);font:600 1rem/1.2 var(--font-body);text-decoration:none;cursor:pointer}
.btn-primary,.btn-add{background:var(--primary);color:var(--onprimary);border-color:var(--primary)}
.site .btn-primary,.site .btn-add{color:var(--onprimary)}
.btn-square{--radius-btn:2px}.btn-pill{--radius-btn:999px}.btn-soft{--radius-btn:12px}

main{display:block}
main:focus{outline:none}
.home>*,.page{max-width:var(--maxw);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.page{padding-top:20px;padding-bottom:48px}
.page-text,.page-form{max-width:780px}
.sec{padding-top:36px;padding-bottom:12px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.more{font-weight:600}
.hero{padding-top:40px;padding-bottom:32px}
.intro{max-width:62ch;color:var(--ink2);font-size:1.08rem}
.empty,.order-note,.count,.lede,.hint{color:var(--muted)}
.order-note{font-size:.95rem}

.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0 0 14px;padding:0;font-size:.93rem;color:var(--muted)}
.crumbs li+li::before{content:"›";margin:0 6px 0 2px}
.crumbs a{color:var(--muted)}

.search{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:12px 0}
.search-f{flex:1 1 220px;display:flex;flex-direction:column;gap:4px}
.search label,.simple-form label,.add-form label,.filter label{font-weight:600;font-size:.95rem}
.site input,.site select,.site textarea{font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--inputb);border-radius:var(--radius-input,var(--radius-btn));padding:10px 12px;min-height:44px;width:100%}
.search-big input{min-height:54px;font-size:1.1rem}
.search .btn{flex:none}

.cats{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.cat a{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;color:var(--ink);text-decoration:none;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--surface)}
.cat a:hover .cat-name{text-decoration:underline}
.cat-name{font-weight:600;flex:1}
.cat-count{color:var(--muted);font-size:.9rem;white-space:nowrap}
.cat-ic{display:inline-flex;color:var(--primary)}
.cat-num{font-variant-numeric:tabular-nums;color:var(--muted);min-width:2.2em}
.areas{list-style:none;margin:12px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.areas a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;border:1px solid var(--rule);border-radius:999px;color:var(--ink);text-decoration:none;background:var(--surface)}
.cat-table{width:100%;border-collapse:collapse;margin:12px 0}
.cat-table th,.cat-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--rule)}
.cat-table td{text-align:right;font-variant-numeric:tabular-nums}
.cat-table thead th{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.cat-table th a{display:inline-flex;align-items:center;gap:8px;min-height:32px;color:var(--ink);font-weight:600}

.cards{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.card{display:flex;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-card)}
.card-name{font-size:1.1rem;margin:0 0 4px}.card-name a{color:var(--ink);text-decoration:none}.card-name a:hover{text-decoration:underline}
.card-where,.card-phone,.card-cat{margin:0 0 4px;font-size:.95rem;color:var(--ink2)}
.card-phone a{display:inline-block;padding:6px 0;color:var(--ink2)}
.card-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:var(--tint);color:var(--primary);flex:none}
.cards-row{grid-template-columns:1fr;gap:0}
.card-row{border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;padding:14px 4px}
.chip{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--tint);color:var(--ink2);font-size:.85rem;text-decoration:none}
a.chip{display:inline-flex;align-items:center;min-height:32px}

.guide-cards{list-style:none;margin:16px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.guide-card{padding:18px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-card)}
.guide-no{display:block;font:700 .9rem var(--font-head);color:var(--muted);margin-bottom:6px}
.guide-title{font-size:1.2rem}.guide-title a{color:var(--ink)}
.guide-list,.guide-index{list-style:none;margin:8px 0;padding:0}
.guide-list li,.guide-index li{padding:10px 0;border-bottom:1px solid var(--rule)}
.guide-list a{display:inline-block;padding:4px 0;font-weight:600}
.guide-index h2{font-size:1.25rem}
.prose{max-width:68ch}.prose em{font-style:normal;font-weight:700}
.prose ol{padding-left:1.4em}
.fact-box,.facts{margin:24px 0;padding:18px;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--surface)}
.facts dl,.fact-box dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 10px}
.facts dt,.fact-box dt{font-size:.9rem;color:var(--muted)}.facts dd,.fact-box dd{margin:0;font:700 1.5rem var(--font-head)}
.src{font-size:.88rem;color:var(--muted);margin:0}
.not-do{margin-top:28px}
.band-add{margin-top:32px;margin-bottom:12px;padding:28px var(--gutter);background:var(--tint);border-radius:var(--radius-card);display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.band-add h2{margin:0}.band-add p{margin:0;flex:1 1 200px}

.listing{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"crumbs crumbs" "head facts" "desc facts" "hours facts" "more more";gap:0 32px;align-items:start}
.listing .crumbs{grid-area:crumbs}.l-head{grid-area:head}.l-facts{grid-area:facts}.l-desc{grid-area:desc}.l-hours{grid-area:hours}.l-more{grid-area:more}
.l-ic{display:none}
.l-cats{list-style:none;margin:6px 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.l-facts{padding:18px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-card)}
.l-facts dl{margin:0 0 12px}.l-facts dl>div{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:8px 0;border-bottom:1px solid var(--rule)}
.l-facts dt{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;grid-column:1/-1}
.l-facts dd{margin:0;grid-column:1/-1;font-weight:600}
.l-facts dd a{display:inline-block;padding:4px 0}
.l-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.l-owner{display:flex;flex-wrap:wrap;gap:4px 18px;margin:8px 0 0;font-size:.95rem}
.l-owner a{display:inline-flex;align-items:center;min-height:44px}
.l-hours dl>div{display:flex;gap:12px;padding:4px 0}.l-hours dt{min-width:7em;font-weight:600}.l-hours dd{margin:0}
.l-desc,.l-hours,.l-more{padding-top:20px}

.add-form,.simple-form{display:flex;flex-direction:column;gap:10px;max-width:560px;margin-top:12px}
.simple-form fieldset,.add-form fieldset{border:1px solid var(--rule);border-radius:var(--radius-card);padding:12px;display:flex;flex-direction:column;gap:8px}
.step{display:flex;flex-direction:column;gap:8px}
.row3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.row3>div{display:flex;flex-direction:column;gap:4px}
.check{display:flex;align-items:center;gap:10px;min-height:44px}.check input{width:22px;min-height:22px;height:22px}
.progress{height:8px;background:var(--tint);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--primary)}
.step-of{margin:0;color:var(--muted);font-weight:600}
.form-nav{display:flex;justify-content:space-between;gap:10px;margin-top:6px}
.form-err{margin:0;padding:10px 12px;border-left:4px solid #B35C00;background:#FFF4E8;color:#5a2e00}
.form-done{padding:20px;border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--surface)}
.preview-only{font-size:.92rem;color:var(--ink2)}
.steps3{padding-left:1.3em}
.filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:8px 0}.filter select{width:auto;min-width:200px}

.ftr{margin-top:56px;background:var(--footbg,var(--ink));color:var(--footink,#fff);--logo-tile:var(--footink,#fff);--logo-mark:var(--footbg,var(--ink))}
.ftr-in{max-width:var(--maxw);margin:0 auto;padding:32px var(--gutter) 28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px}
.ftr .logo{color:var(--footink,#fff)}.ftr-tag{margin:8px 0 0;opacity:.92}
.ftr-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 20px}
.ftr-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--footink,#fff)}
.operator{grid-column:1/-1;margin:8px 0 0;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--footink,#fff) 30%,transparent);font-size:.88rem}
.tabbar{display:none}
@container site (max-width:700px){
  .site h1{font-size:2rem}
  .hdr-in{gap:6px 12px}.hdr-nav{order:3;width:100%;margin:0}.hdr-nav ul{gap:0 16px}
  .hdr-split .place-chip{display:none}
  .btn-add{margin-left:auto;padding:8px 12px;font-size:.92rem}
  .hdr-masthead .btn-add{margin:0 auto}
  .listing{grid-template-columns:1fr;grid-template-areas:"crumbs" "head" "facts" "desc" "hours" "more"}
  .ftr-in{grid-template-columns:1fr}
  .row3{grid-template-columns:1fr 1fr}.row3>div:first-child{grid-column:1/-1}
  .cats,.cards{grid-template-columns:1fr}
  .search .btn{width:100%}
}
@media (prefers-reduced-motion:no-preference){.site .btn,.site .cat a{transition:background-color .15s,color .15s,border-color .15s}}
.home>.facts,.home>.band-add{width:calc(100% - 2*var(--gutter));max-width:calc(var(--maxw) - 2*var(--gutter))}
.site a.chip{color:var(--ink2)}

.site{--font-head:"Bodoni Moda",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-body:"Jost",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--head-weight:400;--primary:#0C0C0C}

.d-luxury{--ground:#0C0C0C;--surface:#141414;--ink:#F3EEE4;--ink2:#DDD5C6;--muted:#B5AC9C;--rule:#3B342A;--inputb:#8A7D66;--tint:#221E17;--focus:#7FB2FF;--primary:#C9A96E;--onprimary:#0C0C0C;--footbg:#000000;--footink:#E9E1D2;--radius-btn:0;--radius-card:0;--logo-tile:#C9A96E;--logo-mark:#0C0C0C;--logo-ink:#C9A96E;font-weight:300}
.d-luxury .site h1,.d-luxury h1,.d-luxury h2{font-weight:400;letter-spacing:.01em}
.d-luxury .hdr{background:var(--ground);border-bottom:1px solid var(--rule)}
.d-luxury .hdr-nav a{font-weight:400;text-transform:uppercase;letter-spacing:.18em;font-size:.8rem}
.d-luxury .btn{text-transform:uppercase;letter-spacing:.14em;font-weight:500;font-size:.85rem}
.d-luxury .hero-lux{text-align:center;padding:72px var(--gutter) 40px}
.d-luxury .lux-kicker{text-transform:uppercase;letter-spacing:.4em;color:var(--primary);font-size:.8rem}
.d-luxury .h1-home{font-size:clamp(2.6rem,1.6rem + 4.6vw,5.4rem);font-style:italic}
.d-luxury .hero-lux hr{width:80px;border:0;border-top:1px solid var(--primary);margin:24px auto}
.d-luxury .hero-lux .intro{margin:0 auto;color:var(--ink2)}
.d-luxury .sec h2{text-align:center;font-style:italic}
.d-luxury .cats-roman{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;max-width:900px;margin:0 auto}
.d-luxury .cats-roman .cat a{border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none;padding:18px 0}
.d-luxury .cats-roman .cat-num{font:400 1.4rem var(--font-head);color:var(--primary);min-width:2.6em}
.d-luxury .cats-roman .cat-name{font:400 1.25rem var(--font-head)}
.d-luxury .card{background:var(--surface);border-color:var(--rule)}
.d-luxury .card-name a{color:var(--ink)}
.d-luxury .chip,.d-luxury a.chip{background:transparent;border:1px solid var(--primary);color:var(--primary)}
.d-luxury .band-add{background:var(--surface);border:1px solid var(--primary);justify-content:center;text-align:center}
.d-luxury .listing-centred{display:block;max-width:820px;text-align:center}
.d-luxury .listing-centred .crumbs ol{justify-content:center}
.d-luxury .listing-centred .l-cats{justify-content:center}
.d-luxury .listing-centred h1{font-style:italic;font-size:clamp(2.4rem,1.6rem + 3vw,4rem)}
.d-luxury .listing-centred .l-facts{background:none;border:0;border-top:1px solid var(--primary);border-bottom:1px solid var(--primary);border-radius:0;padding:16px 0}
.d-luxury .listing-centred .l-facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0}
.d-luxury .listing-centred .l-facts dl>div{border:0;border-right:1px solid var(--rule);padding:8px 12px;justify-items:center}
.d-luxury .listing-centred .l-facts dt{justify-content:center;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}
.d-luxury .listing-centred .l-actions,.d-luxury .listing-centred .l-owner{justify-content:center}
.d-luxury .listing-centred .l-hours dl>div{justify-content:center}
@container site (max-width:700px){.d-luxury .cats-roman{grid-template-columns:1fr}.d-luxury .listing-centred .l-facts dl>div{border-right:0;border-bottom:1px solid var(--rule)}}
