:root{--ivory:#FAF6F0;--mauve:#B48A93;--plum:#2E2433;--sage:#9BAF9A;--gold:#C9A45C;--line:#e7ddd3}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--plum);font:16px/1.6 Inter,system-ui,sans-serif}
h1,h2,h3,.brand{font-family:"Cormorant Garamond",Fraunces,Georgia,serif;font-weight:600;line-height:1.15}
h1{font-size:clamp(2.2rem,5vw,3.6rem);margin:.2em 0 .3em}h2{font-size:1.9rem;margin:1.4em 0 .4em}h3{font-size:1.45rem;margin:.1em 0 .2em}
a{color:#7a4f5a}a:hover{color:var(--plum)}
.stagebar{background:var(--plum);color:var(--gold);text-align:center;font-size:.78rem;padding:.35rem;letter-spacing:.04em}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.5rem;padding:1rem clamp(1rem,4vw,3rem);border-bottom:1px solid var(--line)}
.brand{font-size:1.7rem;text-decoration:none;color:var(--plum);display:flex;flex-direction:column}.brand small{font:500 .72rem Inter,sans-serif;color:var(--mauve);letter-spacing:.06em;text-transform:uppercase}
.top nav{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem}.top nav a{text-decoration:none;font-size:.93rem;color:var(--plum)}.top nav a:hover{color:var(--mauve)}
.hero{position:relative;min-height:540px;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(46,36,51,.25),rgba(46,36,51,.85)),url(/img/degas-ballet-class.jpg) center 30%/cover;color:var(--ivory)}
.heroin{max-width:760px;padding:4rem clamp(1rem,5vw,4rem)}.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--gold)}
.lede{font-size:1.18rem;max-width:62ch}.lede.small{font-size:1.08rem;color:#4a3d4f}
.credit{position:absolute;right:1rem;bottom:.5rem;font-size:.7rem;opacity:.8;margin:0}
.btn{display:inline-block;background:var(--plum);color:var(--ivory);padding:.75rem 1.3rem;border-radius:999px;text-decoration:none;font-weight:600;margin:.3rem .3rem 0 0}
.hero .btn{background:var(--gold);color:var(--plum)}.btn.ghost{background:transparent;border:1px solid var(--ivory);color:var(--ivory)}
.btn:hover{opacity:.9;color:inherit}.btn.placeholder{background:#ddd3cc;color:#6b5e66;cursor:not-allowed}
.wrap{max-width:1140px;margin:0 auto;padding:2.5rem clamp(1rem,4vw,2rem)}
.finder{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem;margin:1rem 0 1.5rem;box-shadow:0 6px 24px rgba(46,36,51,.05)}
.finder .row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
#q{flex:1 1 260px;font:inherit;padding:.75rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--ivory)}
.pricesel select{font:inherit;padding:.5rem;border-radius:8px;border:1px solid var(--line);margin-left:.4rem}
fieldset{border:0;padding:0;margin:.8rem 0 0}legend{font-size:.85rem;color:#6b5e66;margin-bottom:.4rem}
.chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;padding:.35rem .8rem;margin:.2rem .25rem .2rem 0;font-size:.9rem;cursor:pointer;background:var(--ivory)}
.chip:has(input:checked){background:var(--plum);color:var(--ivory);border-color:var(--plum)}
.count{font-size:.88rem;color:#6b5e66;margin:.6rem 0 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem 1.3rem}.card h3 a{text-decoration:none;color:var(--plum)}
.card[hidden]{display:none}.loc{color:#6b5e66;font-size:.9rem;margin:0 0 .5rem}.price{font-size:.9rem;color:#5b4b55;border-top:1px dashed var(--line);padding-top:.5rem}
.badges{display:flex;flex-wrap:wrap;gap:.35rem;margin:.3rem 0 .6rem}
.b{display:inline-block;font-size:.72rem;font-weight:600;padding:.22rem .6rem;border-radius:999px;letter-spacing:.02em}
.b.sage{background:var(--sage);color:#1f2b1f}.b.mauve{background:var(--mauve);color:#fff}.b.line{border:1px solid var(--plum)}.b.gold{background:var(--gold);color:var(--plum)}.b.grey{background:#ece6e0;color:#6b5e66}.b.feat{background:var(--plum);color:var(--gold)}
.note{font-size:.88rem;color:#6b5e66}.small{font-size:.85rem}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;border-top:1px solid var(--line)}
.citylist{display:flex;flex-wrap:wrap;gap:.6rem}.citylist a{border:1px solid var(--plum);border-radius:999px;padding:.5rem 1.1rem;text-decoration:none;color:var(--plum)}
.crumbs{font-size:.85rem}.lcols{display:grid;grid-template-columns:1.6fr 1fr;gap:2rem}
.facts{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.3rem;align-self:start}.facts h2{margin-top:.2em}
.facts table{width:100%;border-collapse:collapse;font-size:.92rem}.facts th{text-align:left;font-weight:500;padding:.35rem 0;border-bottom:1px solid var(--line)}.facts td{text-align:right;border-bottom:1px solid var(--line)}
.sourcebox{margin-top:2rem;background:#f3ece6;border-radius:16px;padding:1rem 1.3rem;font-size:.9rem;word-break:break-word}.sourcebox h2{font-size:1.3rem;margin-top:.3em}
.warn{background:#fff4df;border-left:4px solid var(--gold);padding:.6rem .9rem;font-size:.9rem}.disclose{font-size:.85rem;color:#6b5e66;font-style:italic}
.prose{max-width:760px}.prose p{font-size:1.07rem}.prose h2{font-size:1.7rem}.dropcap::first-letter{font-family:"Cormorant Garamond",serif;float:left;font-size:4.2rem;line-height:.85;padding:.3rem .5rem 0 0;color:var(--mauve)}
.pull{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-style:italic;color:#6d4a55;border-left:3px solid var(--gold);padding-left:1rem;margin:1.6rem 0}
.badgedefs dt{margin-top:1rem}.badgedefs dd{margin:.3rem 0 0}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.tier{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.3rem}.tier.feat{border-color:var(--gold)}.amt{font-weight:600}
figure{margin:1.5rem 0}figure img{width:100%;border-radius:14px;display:block}figcaption{font-size:.8rem;color:#6b5e66;margin-top:.3rem}
.endcta{margin-top:2rem}
footer{background:var(--plum);color:#e9e1d8;margin-top:3rem;padding:2.5rem clamp(1rem,4vw,3rem) 1rem}footer a{color:#e9e1d8;display:block;margin:.2rem 0;text-decoration:none}footer a:hover{color:var(--gold)}
.fwrap{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.fbrand{font-family:"Cormorant Garamond",serif;font-size:1.5rem;color:var(--gold)}
.sis a{display:inline;color:var(--gold)}.legal{max-width:1140px;margin:2rem auto 0;font-size:.75rem;opacity:.75}
@media(max-width:760px){.lcols,.fwrap{grid-template-columns:1fr}.hero{min-height:480px}.top nav{gap:.2rem .9rem}.top nav a{font-size:.86rem}}

.three-t{margin:1.5rem 0}.tier .pop{display:inline-block;background:var(--gold);color:var(--plum);font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;margin:0}.tier.feat{border-width:2px}.btn.gold{background:var(--gold);color:var(--plum)}.btn.ghost-d{background:transparent;border:1px solid var(--plum);color:var(--plum)}.amt{font-size:1.5rem;font-family:"Cormorant Garamond",serif}
.amt .small{font-family:Inter,sans-serif;font-size:.85rem;color:#6b5e66}
