:root{--green-deep: #44542F;--green: #4A5A36;--sage: #8A9A6B;--sage-soft: #B6C196;--paper: #F6EFE1;--paper-2: #F1E8D6;--ivory: #FCF8EF;--butter: #E6C77A;--wheat: #C2A877;--ink: #2E2C25;--ink-soft: #5C574B;--line: #D8CDB4;--shadow: 30 28 18}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Work Sans,sans-serif;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(140% 120% at 50% -10%,#FBF6EA 0%,var(--paper) 42%,var(--paper-2) 100%);font-weight:350;line-height:1.6;-webkit-font-smoothing:antialiased;position:relative;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E")}.sheet{position:relative;z-index:1;max-width:660px;margin:0 auto;padding:clamp(2.4rem,6vw,4.6rem) clamp(1.4rem,6vw,3.4rem) 5rem}.reveal{opacity:0;transform:translateY(14px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}@keyframes rise{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1;transform:none}html{scroll-behavior:auto}}header{text-align:center}.badge{width:clamp(132px,32vw,168px);height:auto;margin:0 auto .4rem;display:block;filter:drop-shadow(0 6px 16px rgb(var(--shadow) / .1))}.establishment{font-family:Fraunces,serif;font-optical-sizing:auto;font-weight:400;font-style:italic;color:var(--green);font-size:clamp(1.18rem,4.4vw,1.5rem);line-height:1.35;letter-spacing:.01em;margin-top:.7rem}.dateline{margin-top:1.5rem;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.sprig{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:1.5rem auto 0;color:var(--sage)}.sprig:before,.sprig:after{content:"";height:1px;width:min(34vw,150px);background:linear-gradient(90deg,transparent,var(--line) 60%,var(--line))}.sprig:after{transform:scaleX(-1)}.sprig svg{width:34px;height:34px;flex:none}main{margin-top:2.8rem}.course{margin-bottom:2.9rem}.course-head{display:flex;align-items:center;gap:.85rem;margin-bottom:1.4rem}.course-head h2{font-family:Fraunces,serif;font-weight:500;font-size:.84rem;letter-spacing:.32em;text-transform:uppercase;color:var(--green-deep);white-space:nowrap}.course-head .rule{flex:1;height:1px;background:var(--line)}.course-head svg{width:22px;height:22px;color:var(--sage);flex:none}.course-note{font-family:Fraunces,serif;font-style:italic;font-size:.86rem;color:var(--ink-soft);margin:-.7rem 0 1.4rem}.item{display:grid;grid-template-columns:1fr auto;column-gap:1.2rem;align-items:baseline;padding:.55rem 0}.item+.item{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.item-name{font-family:Fraunces,serif;font-optical-sizing:auto;font-weight:500;font-size:1.16rem;color:var(--ink);line-height:1.3}.item-desc{font-size:.84rem;color:var(--ink-soft);font-style:italic;margin-top:.15rem;max-width:42ch}.item-price{font-family:Fraunces,serif;font-weight:400;font-size:1.08rem;color:var(--green);font-variant-numeric:tabular-nums}.seasonal{background:color-mix(in srgb,var(--ivory) 70%,transparent);border:1px solid var(--line);border-radius:3px;padding:1.15rem 1.3rem;display:flex;gap:1rem;align-items:center}.seasonal svg{width:38px;height:38px;color:var(--sage);flex:none}.seasonal p{font-family:Fraunces,serif;font-style:italic;font-size:.95rem;color:var(--ink-soft);line-height:1.5}.seasonal strong{color:var(--green-deep);font-weight:500;font-style:normal}.find{margin-top:1rem;background:linear-gradient(var(--paper-2),var(--paper-2)) padding-box}.find-grid{display:grid;gap:1.15rem}.find-row{display:flex;gap:.9rem;align-items:flex-start}.find-row svg{width:21px;height:21px;color:var(--sage);flex:none;margin-top:.18rem}.find-row h3{font-family:Work Sans,sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green-deep);margin-bottom:.12rem}.find-row p{font-size:.95rem;color:var(--ink-soft)}.find-row a{color:var(--green);text-decoration:none;border-bottom:1px solid var(--sage-soft);padding-bottom:1px}.find-row a:hover{color:var(--green-deep);border-color:var(--green)}#preorder{scroll-margin-top:1.5rem}.form-intro{margin-top:.4rem}.form-intro p{font-family:Fraunces,serif;font-style:italic;color:var(--ink-soft);font-size:.96rem;margin-top:.5rem;max-width:48ch}form{margin-top:1.9rem}fieldset{border:none;margin-bottom:1.7rem}legend{font-family:Work Sans,sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green-deep);margin-bottom:.85rem}.order-line{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.5rem 0}.order-line+.order-line{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.order-line .ol-name{font-family:Fraunces,serif;font-size:1rem;color:var(--ink)}.order-line .ol-price{font-size:.78rem;color:var(--ink-soft)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--ivory);overflow:hidden}.stepper button{width:34px;height:34px;border:none;background:transparent;font-size:1.2rem;line-height:1;color:var(--green);cursor:pointer;font-family:Fraunces,serif;transition:background .18s}.stepper button:hover{background:color-mix(in srgb,var(--sage) 22%,transparent)}.stepper button:disabled{color:var(--line);cursor:default;background:transparent}.stepper output{min-width:1.7rem;text-align:center;font-variant-numeric:tabular-nums;font-size:.95rem;color:var(--ink)}.segmented{display:flex;flex-wrap:wrap;gap:.6rem}.segmented label{flex:1 1 auto;border:1px solid var(--line);border-radius:3px;padding:.7rem 1rem;cursor:pointer;background:var(--ivory);font-size:.9rem;color:var(--ink-soft);transition:all .18s;text-align:center}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented label:hover{border-color:var(--sage)}.segmented input:checked+span{color:var(--green-deep);font-weight:500}.segmented label:has(input:checked){border-color:var(--green);background:color-mix(in srgb,var(--sage) 16%,var(--ivory));box-shadow:inset 0 0 0 1px var(--green)}.field{margin-bottom:1.05rem}.field label{display:block;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.4rem;font-weight:500}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}input[type=text],input[type=tel],input[type=email],input[type=date],textarea{width:100%;font-family:Work Sans,sans-serif;font-size:.96rem;color:var(--ink);background:var(--ivory);border:1px solid var(--line);border-radius:3px;padding:.72rem .85rem;transition:border-color .18s,box-shadow .18s}textarea{resize:vertical;min-height:78px}input:focus,textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--sage) 28%,transparent)}.hint{font-size:.78rem;color:var(--ink-soft);font-style:italic;margin-top:.55rem}.submit{margin-top:.5rem;width:100%;font-family:Work Sans,sans-serif;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--paper);background:var(--green-deep);border:none;border-radius:3px;padding:1.05rem;cursor:pointer;transition:background .2s,transform .1s}.submit:hover{background:#364425}.submit:active{transform:translateY(1px)}.confirm{display:none;text-align:center;padding:2rem 1.4rem;border:1px solid var(--sage-soft);border-radius:4px;background:color-mix(in srgb,var(--sage) 12%,var(--ivory))}.confirm.show{display:block;animation:rise .6s ease forwards}.confirm svg{width:42px;height:42px;color:var(--green);margin-bottom:.6rem}.confirm h3{font-family:Fraunces,serif;font-weight:500;font-size:1.4rem;color:var(--green-deep);margin-bottom:.5rem}.confirm p{color:var(--ink-soft);font-size:.95rem;max-width:40ch;margin:0 auto .4rem}.confirm .summary{font-family:Fraunces,serif;font-style:italic;color:var(--ink);margin:1rem 0}.confirm a{color:var(--green);font-weight:500}.block{margin-top:3.4rem}.block>.course-head{margin-bottom:1.6rem}footer{margin-top:4rem;padding-top:2.2rem;border-top:1px solid var(--line);text-align:center}footer .mark{width:60px;opacity:.9;margin:0 auto 1rem;display:block}footer .name{font-family:Fraunces,serif;font-style:italic;color:var(--green);font-size:1.05rem;margin-bottom:.7rem}footer .contact{font-size:.86rem;color:var(--ink-soft);line-height:1.9}footer .contact a{color:var(--green);text-decoration:none;border-bottom:1px solid var(--sage-soft)}footer .contact a:hover{color:var(--green-deep)}footer .fine{margin-top:1.1rem;font-size:.72rem;color:var(--wheat);letter-spacing:.04em}.pill{position:fixed;right:clamp(1rem,4vw,2rem);bottom:clamp(1rem,4vw,2rem);z-index:20;display:inline-flex;align-items:center;gap:.5rem;background:var(--green-deep);color:var(--paper);text-decoration:none;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:.85rem 1.3rem;border-radius:999px;box-shadow:0 8px 24px rgb(var(--shadow) / .22);transition:transform .2s,background .2s,opacity .3s}.pill:hover{background:#364425;transform:translateY(-2px)}.pill svg{width:16px;height:16px}.pill .count{background:var(--butter);color:var(--ink);border-radius:999px;min-width:18px;height:18px;font-size:.7rem;display:none;align-items:center;justify-content:center;padding:0 5px;letter-spacing:0}.pill .count.show{display:inline-flex}@media(max-width:460px){.grid-2{grid-template-columns:1fr}.pill span.label{display:none}.pill{padding:.9rem}}.site-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:1.1rem 1.6rem;margin-top:16px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.site-nav a{color:var(--green);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;transition:color .2s ease,border-color .2s ease}.site-nav a:hover{color:var(--green-deep);border-bottom-color:var(--sage)}.site-nav a[aria-current=page]{color:var(--green-deep);border-bottom-color:var(--butter)}
