:root{color-scheme:light;--stone:#f3eee5;--paper:#fbf8f2;--espresso:#302119;--muted:#6f6056;--line:#d6cabb;--serif:Baskerville,"Times New Roman",serif;--sans:system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--stone);color:var(--espresso);font:16px/1.5 var(--sans)}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
:focus-visible{outline:2px solid #785a3d;outline-offset:4px}
.bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:20px clamp(20px,4vw,68px);border-bottom:1px solid var(--line)}
.logo{font:clamp(21px,2.2vw,31px)/1 var(--serif);white-space:nowrap}
.bar nav{display:flex;gap:clamp(14px,4vw,60px)}
.bar nav,.city{font-size:.88rem}
.city span{margin-left:.55rem}
.hero-intro{text-align:center;padding:clamp(30px,4.4vw,72px) 20px 32px}
.eyebrow{margin:0 0 12px;color:var(--muted);font-size:.71rem;text-transform:uppercase;letter-spacing:.16em;font-weight:650}
h1,h2{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.035em}
h1{font-size:clamp(43px,7.1vw,114px);margin:0 0 20px}
h2{font-size:clamp(31px,4.2vw,64px);margin:0 0 20px}
.lede{color:var(--muted);font-size:clamp(15px,1.45vw,20px);margin:0 0 24px}
.rule-link{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:7px 0;border-bottom:1px solid currentColor;font-family:var(--serif);font-size:1.14rem}
.hero-image{position:relative;margin:0 clamp(12px,2.4vw,42px)}
.hero-image img{display:block;width:100%;height:clamp(225px,29vw,520px);object-fit:cover;object-position:65% center}
.hero-image figcaption{position:absolute;right:10px;bottom:8px;padding:2px 6px;color:#fff;background:#35251ac9;font-size:.64rem}
.shell{width:min(1320px,calc(100% - clamp(32px,8vw,132px)));margin-inline:auto}
.categories,.page{padding-block:clamp(36px,6vw,90px)}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.category{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:baseline;padding:22px 14px;border-bottom:1px solid var(--line)}
.category strong{font:1.48rem/1.03 var(--serif)}
.category small,.category p,.waiting>span{color:var(--muted);font-size:.72rem;margin:.45rem 0 0}
.waiting>span{font-size:.65rem}
.about{background:var(--espresso);color:var(--stone);padding:clamp(40px,7vw,100px) clamp(20px,8vw,130px)}
.about .eyebrow{color:#cbb6a3}.about p:last-child{max-width:48ch}
footer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:25px clamp(20px,4vw,68px);border-top:1px solid var(--line);font-size:.84rem}
.page{min-height:65vh}.page h1{font-size:clamp(42px,6.2vw,88px);overflow-wrap:anywhere}.page h2{margin-top:34px}
.back{display:inline-block;margin-bottom:20px;color:var(--muted);font-size:.88rem}
.filters,.actions,.form-pair{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:20px 0}
label{display:grid;gap:7px;color:var(--espresso);font-size:.89rem;font-weight:550}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #a89685;border-radius:0;background:var(--paper);color:var(--espresso);font:inherit;font-size:16px}
textarea{resize:vertical}
button,.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;min-height:45px;border:1px solid var(--espresso);background:var(--espresso);color:var(--paper);padding:10px 17px;font:inherit;cursor:pointer}
.secondary{background:transparent;color:var(--espresso)}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{border:1px solid var(--line);background:var(--paper)}
.card-cover,.profile-photo{display:block;overflow:hidden;background:#e4d8c8}
.card-cover{aspect-ratio:4/3}.card-cover img,.profile-photo img{width:100%;height:100%;object-fit:cover;display:block}
.card-info{padding:16px}.card-info h2{margin:0;font-size:clamp(24px,3vw,37px);overflow-wrap:anywhere}
.placeholder{height:100%;min-height:140px;display:grid;place-items:center;font:76px var(--serif);color:#6e5540;background:linear-gradient(135deg,#eee5d9,#c6ad95)}
.profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.13fr);gap:clamp(20px,5vw,80px);align-items:start}.profile-photo{aspect-ratio:4/4.8}.description{white-space:pre-line}.detail,.price{color:var(--muted)}.portfolio{padding-left:1.1rem}.portfolio a{text-decoration:underline}
.narrow{max-width:730px}.editor{display:grid;gap:18px}.form-pair>*{flex:1 1 230px}.form-pair{margin:0}
fieldset{border:1px solid var(--line);padding:14px}fieldset label+label{margin-top:8px}.choice{display:flex;align-items:center;gap:10px}.choice input{width:auto}
.notice,.empty,.share{padding:16px;background:#e9dfd2}.share{margin-top:25px}.share h2{font-size:30px;margin:0}.share button{margin-top:10px}
.admin-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px}.admin-categories>div{padding:12px;background:var(--paper)}.admin-categories p{font-size:.83rem;margin:3px 0}
.admin-list>a{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}.admin-list span{font-size:.82rem}.editor-cover{width:min(200px,100%)}.editor-cover img{width:100%;display:block}
[hidden]{display:none!important}
@media(max-width:850px){.category-grid,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city{display:none}.admin-list>a{grid-template-columns:1fr 1fr}.admin-list>a>span:last-child{text-align:right}}
@media(max-width:520px){.bar{padding:15px 16px}.bar nav{gap:12px;font-size:.75rem}.category-grid,.profile{grid-template-columns:1fr}.category{padding:13px 0}.category strong{font-size:1.34rem}.card-grid{gap:9px}.card-info{padding:10px}.card-info .eyebrow{font-size:.6rem;letter-spacing:.06em}.card-info .rule-link{font-size:.9rem;gap:6px}.card-info h2{font-size:1.25rem}.card-info p{font-size:.8rem}.profile-photo{aspect-ratio:4/3}.filters label{flex:1 0 100%}.hero-intro{padding-bottom:24px}}
.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.photo-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.join small{font-weight:400;color:var(--muted)}.join button:disabled{opacity:.7;cursor:default}
@media(max-width:360px){.bar{gap:8px}.bar nav{gap:8px;font-size:.69rem}.bar .logo{font-size:19px}}
.more-categories{margin-top:22px}.more-categories summary{cursor:pointer;font-weight:600;padding:12px 0}.more-categories .category-grid{margin-top:8px}
.extra-directions{border:1px solid var(--line);padding:12px 14px}.extra-directions summary{cursor:pointer;font-weight:600;padding:4px 0}.extra-directions p{color:var(--muted);font-size:.88rem}.direction-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px 16px}.direction-list label{min-height:32px}
.profile-video{display:block;width:100%;max-width:560px;aspect-ratio:16/9;border:0;background:#302119}.profile-video:is(video){height:auto;max-height:65vh;aspect-ratio:auto}
.participant-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin:4px 0 8px;padding:4px;background:var(--paper);border:1px solid var(--line)}.participant-logo img{display:block;width:100%;height:100%;object-fit:contain}.card-info .participant-logo{width:40px;height:40px}
