/* Brand system pulled from dobriskeyprivatechef.com: Cormorant Garamond + Jost; ivory/linen/ink/antique gold */
:root{--bg:#fbfaf7;--alt:#f3eee4;--ink:#111110;--mute:#76736d;--acc:#a68b5b;--gold:#b08d57;--line:rgba(29,29,27,.14);--card:#fff;--warn:#8a2f22;--ease:cubic-bezier(.25,.1,.25,1)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:300 16px/1.7 Jost,system-ui,sans-serif;letter-spacing:.01em}
a{color:var(--ink);text-decoration-color:var(--acc);text-underline-offset:3px}
header{position:sticky;top:0;z-index:10;background:rgba(251,250,247,.97);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);padding:1.1rem 3rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
header.pub{justify-content:center}
.brand{display:flex;align-items:center;gap:1rem;text-decoration:none}.brand img{height:34px;display:block}
.studio{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--acc);border-left:1px solid var(--line);padding-left:1rem}
nav a{font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;text-decoration:none;margin-left:2rem;font-weight:400;transition:color .4s var(--ease)}nav a:hover{color:var(--acc)}
main{max-width:1100px;margin:0 auto;padding:3rem 2rem 2rem}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;line-height:1.15;letter-spacing:.005em}
h1{font-size:2.6rem;margin:.2em 0 .6em}h1 em,h2 em{font-style:italic;color:var(--acc)}h2{font-size:1.65rem;margin:0 0 1rem}h3{font-size:1.3rem;font-weight:400;margin:.6rem 0 .4rem}
.eyebrow{font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--acc);font-weight:400;margin:0 0 .6rem}
.card{background:var(--card);border:1px solid var(--line);padding:2rem;margin:1.4rem 0;display:block;color:inherit;text-decoration:none;transition:border-color .5s var(--ease)}
a.card:hover{border-color:var(--acc)}
.btn{display:inline-block;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:.95rem 2.2rem;font:400 .68rem Jost,sans-serif;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:background .6s var(--ease),color .6s var(--ease)}
.btn:hover{background:var(--ink);color:var(--bg)}.btn.ghost{border-color:var(--line)}.btn.ghost:hover{border-color:var(--ink)}
.btn.sm{padding:.55rem 1.1rem;font-size:.6rem}.btn:disabled{opacity:.35;cursor:default}.btn.danger{border-color:var(--warn);color:var(--warn)}.btn.danger:hover{background:var(--warn);color:#fff}
.btn.big{width:100%;padding:1.2rem;background:var(--ink);color:var(--bg)}.btn.big:hover{background:var(--acc);border-color:var(--acc)}
.row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.grid2>.card,.grid3>.card{margin:0}
.stat{text-align:center}.stat b{display:block;font:300 3rem/1.1 "Cormorant Garamond",serif;color:var(--ink)}.stat{font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--mute)}
.form label,.genform label{display:block;margin:1.1rem 0;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);font-weight:400}
input,select,textarea{width:100%;padding:.8rem .2rem;border:0;border-bottom:1px solid var(--line);font:300 1rem Jost,sans-serif;letter-spacing:.01em;text-transform:none;color:var(--ink);background:transparent;margin-top:.3rem;border-radius:0;transition:border-color .4s}
input:focus,select:focus,textarea:focus{outline:0;border-bottom-color:var(--acc)}textarea{border:1px solid var(--line);padding:.7rem}
input[type=range]{border:0;accent-color:var(--acc);padding:0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
fieldset{border:0;border-top:1px solid var(--line);margin:1.6rem 0 0;padding:1.2rem 0 .4rem}legend{font:400 1.25rem "Cormorant Garamond",serif;padding:0 .8rem 0 0;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:.55rem}.chip input{display:none}
.chip span{display:inline-block;padding:.55rem 1.1rem;border:1px solid var(--line);font-size:.85rem;cursor:pointer;color:var(--ink);text-transform:none;letter-spacing:.02em;transition:all .35s var(--ease);background:#fff}
.chip input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip span:hover{border-color:var(--acc)}
.chk{display:block!important;text-transform:none!important;letter-spacing:0!important;font-size:1rem!important;color:var(--ink)!important;margin:.5rem 0!important}.chk input,.shop input{width:auto;margin-right:.7rem;accent-color:var(--acc)}
.tag{font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;border:1px solid var(--acc);color:var(--acc);padding:.15rem .5rem;vertical-align:middle;font-family:Jost,sans-serif}.tag.soft{border-color:var(--line);color:var(--mute)}
.muted{color:var(--mute)}.small{font-size:.85rem}.warn{color:var(--warn);font-weight:400}
dl{display:grid;grid-template-columns:120px 1fr;gap:.5rem 1rem;margin:0}dt{color:var(--mute);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;padding-top:.3rem}dd{margin:0}
.list{padding-left:1.1rem}.list li{margin:.5rem 0}
.taste{font:400 1.2rem/1.55 "Cormorant Garamond",serif;background:var(--alt);border-left:2px solid var(--gold);padding:1.2rem 1.4rem;margin:0 0 .6rem}
.hist{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr auto;gap:.8rem;align-items:end}.hist input,.hist select{margin:0}
.genform{display:grid;grid-template-columns:.6fr 1.2fr 1fr 2fr auto;gap:1rem;align-items:end}.genform label{margin:0}.gen{background:var(--alt)}
.course h3{font-size:1.6rem;margin:0}.course .acts{display:flex;gap:.5rem}.why{color:var(--acc)}
.inline{display:inline}.x{border:0;background:none;color:var(--mute);cursor:pointer;font-size:1rem}.link{border:0;background:none;color:var(--ink);cursor:pointer;padding:0;font:inherit;text-decoration:underline;text-decoration-color:var(--acc)}
.shop{list-style:none;padding:0;margin:0}.shop li{padding:.75rem 0;border-bottom:1px solid var(--line)}.shop input:checked+span{text-decoration:line-through;color:var(--mute)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.wh{text-align:center;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);padding:.7rem 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--alt)}
.day{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:110px;padding:.5rem;font-size:.8rem}.day.dim{background:var(--bg);opacity:.55}.day.today{box-shadow:inset 0 0 0 1px var(--acc)}
.cal.week .day{min-height:260px}.dn{color:var(--ink);text-decoration:none;font:400 1.05rem "Cormorant Garamond",serif}
.ev{display:block;border-left:2px solid var(--gold);background:var(--alt);color:var(--ink);padding:.35rem .5rem;margin-top:.4rem;text-decoration:none;font-size:.75rem;line-height:1.3}
.calnav{margin:-.4rem 0 1.2rem;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase}.calnav a{margin-right:1.4rem;text-decoration:none}.calnav a.on{color:var(--acc)}
footer{text-align:center;color:var(--mute);padding:4rem 1rem 3rem;font-size:.8rem;border-top:1px solid var(--line);margin-top:3rem}
footer .mono{width:64px}footer .fname{font:400 1.2rem "Cormorant Garamond",serif;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin:.8rem 0 .2rem}footer p{margin:.3rem 0}
.qhero,.thanks{text-align:center;max-width:640px;margin:1rem auto 2.5rem}.qhero h1,.thanks h1{font-size:3rem}
.lede{font:400 1.25rem/1.6 "Cormorant Garamond",serif;color:#33312d}.sig{font:italic 400 1.35rem "Cormorant Garamond",serif;color:var(--acc);margin-top:1.4rem}
.thanks{padding:3rem 0}.mono.big{width:96px;margin-bottom:1.6rem}
header.pub~main .form{max-width:720px;margin-left:auto;margin-right:auto;padding:2.6rem 3rem}
@media(max-width:760px){header{padding:.9rem 1.2rem}.brand img{height:26px}.studio{display:none}nav{width:100%;display:flex;justify-content:space-between}nav a{margin:0;font-size:.6rem;letter-spacing:.2em}
 main{padding:2rem 1.1rem}h1{font-size:2.1rem}.grid2,.grid3,.two,.genform{grid-template-columns:1fr!important}.hist{grid-template-columns:1fr 1fr}.card{padding:1.4rem}
 .qhero h1,.thanks h1{font-size:2.4rem}.lede{font-size:1.15rem}header.pub~main .form{padding:1.6rem 1.2rem}.chip span{padding:.7rem 1rem;font-size:.9rem}
 .cal.week{grid-template-columns:1fr}.cal.week .day{min-height:70px}.day{min-height:64px;font-size:.66rem;padding:.3rem}.ev{font-size:.62rem}dl{grid-template-columns:1fr}dt{padding-top:.6rem}}
@media print{header,footer,.btn{display:none}}
.store{font-size:1.2rem;margin:1.4rem 0 .2rem;border-bottom:1px solid var(--ink);padding-bottom:.3rem;display:flex;justify-content:space-between}
.shop li{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.cost{white-space:nowrap;color:var(--mute);font-size:.85rem}
.price{width:4.6rem;padding:.2rem;text-align:right;margin:0;font-size:.9rem}.price.ov{color:var(--acc);border-bottom-color:var(--acc)}
.totals{display:flex;gap:1rem;margin-top:1.4rem;border-top:1px solid var(--ink);padding-top:1rem}.totals div{flex:1}.totals span{display:block;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--mute)}.totals b{font:400 1.8rem "Cormorant Garamond",serif}
.notice{background:var(--alt);border-left:2px solid var(--gold);padding:1rem 1.2rem;margin:1rem 0}
.ptable{overflow-x:auto;padding:1rem}.ptable table{border-collapse:collapse;width:100%;font-size:.85rem}.ptable th{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);font-weight:400;text-align:left;padding:.5rem}.ptable td{padding:.15rem .4rem;border-bottom:1px solid var(--line)}.ptable td input{width:4.5rem;margin:0;padding:.3rem 0}
.navbtn{background:none;border:0;cursor:pointer;font:400 .68rem Jost,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--mute);margin-left:2rem;padding:0}.navbtn:hover{color:var(--acc)}
.login{max-width:420px;margin:2rem auto;text-align:center}.login .form{text-align:left;margin-top:2rem}
@media(max-width:760px){.navbtn{margin:0;font-size:.6rem;letter-spacing:.2em}}
