/* Orchard & Vessel, Empress sample: "Abundant still life". */

:root {
  --ground: #17221A;
  --ground-2: #1F2E23;
  --leafdk: #2B4531;
  --cream: #F6EEE1;
  --paper: #EDE1CD;
  --ink: #1E2A20;
  --ink-2: #4A5345;
  --blush: #EFC9BD;
  --blush-bg: #F4DCD1;
  --plum: #5A1F3E;
  --plum-dk: #43162E;
  --gold: #D4AA55;
  --gold-ink: #7A5619;
  --kraft: #D8BE97;
  --focus: #5A1F3E;
  --serif: "Lora", "Palatino Linotype", Palatino, "Book Antiqua", "Iowan Old Style", Georgia, serif;
  --sans: "Gill Sans", "Gill Sans MT", Corbel, "Avenir Next", "Segoe UI", sans-serif;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --slow: 1.2s;
  --gut: clamp(1rem, 4.2vw, 4.5rem);
  --grain: url(grain.svg);
  --edge: url(edge.svg);
  interpolate-size: allow-keywords;
}

:root { --ba: #F2B6C0; --bb: #F6E7D2; --bc: #B23C74; --bd: #8B6FB0; --leaf: #3F5E35; --leaf2: #6F8F4A; --bloss: #FAE8EC; --fruit: #A88A3E; --hip: #8E2A20; --glow: #F2D4C6; --on-cups: 0; --on-spikes: 0; --on-bloss: 0; --on-hips: 0; --on-leafy: 0; --on-moth: 0; --on-apple: 0; --on-quince: 0; --on-plum: 0; --on-cherry: 0; --on-fbloss: 0; --now: 6; }
:root:has(#m1:checked) { --ba:#6B2A4A;--bb:#EEE6D3;--bc:#E3A03A;--bd:#B8566E;--leaf:#2E4832;--leaf2:#56704A;--bloss:#F3E9EA;--fruit:#A4843C;--hip:#9A2E22;--glow:#C9B99A;--on-hips:1;--on-apple:1;--now:1 }
:root:has(#m2:checked) { --ba:#C98FA0;--bb:#D5553F;--bc:#EDE3C4;--bd:#7A2E4E;--leaf:#35533A;--leaf2:#6C8A4C;--bloss:#E0674F;--glow:#E6C9A8;--on-cups:1;--on-bloss:1;--on-apple:1;--now:2 }
:root:has(#m3:checked) { --ba:#F4ECCB;--bb:#E9B63F;--bc:#F3DDE3;--bd:#5B2A6E;--leaf:#4F7340;--leaf2:#8CA85A;--bloss:#F7E4E8;--glow:#F1E3B4;--on-cups:1;--on-bloss:1;--on-fbloss:1;--on-leafy:1;--now:3 }
:root:has(#m4:checked) { --ba:#EFA27A;--bb:#6B2346;--bc:#F4C9CF;--bd:#E07A92;--leaf:#5A7D43;--leaf2:#9DB765;--bloss:#F8D9DD;--glow:#F4D7C2;--on-cups:1;--on-bloss:1;--on-fbloss:1;--on-leafy:1;--now:4 }
:root:has(#m5:checked) { --ba:#E89AAF;--bb:#A68CC6;--bc:#7C4B9E;--bd:#C23B5E;--leaf:#4A6E3C;--leaf2:#86A35A;--glow:#EBD3E0;--on-spikes:1;--on-bloss:1;--on-fbloss:1;--on-leafy:1;--now:5 }
:root:has(#m6:checked) { --ba:#F2B6C0;--bb:#F6E7D2;--bc:#B23C74;--bd:#8B6FB0;--leaf:#3F5E35;--leaf2:#6F8F4A;--glow:#F2D4C6;--on-spikes:1;--on-moth:1;--on-cherry:1;--on-leafy:1;--now:6 }
:root:has(#m7:checked) { --ba:#E7739B;--bb:#F3C552;--bc:#8E7CC3;--bd:#F7F0E6;--leaf:#3D5B33;--leaf2:#7C9A4B;--glow:#F5DDB0;--on-spikes:1;--on-moth:1;--on-cherry:1;--on-leafy:1;--now:7 }
:root:has(#m8:checked) { --ba:#E86A3A;--bb:#B2275E;--bc:#EAB53C;--bd:#F3A6B5;--leaf:#3A5530;--leaf2:#7A8F3E;--glow:#F2C58E;--on-moth:1;--on-plum:1;--on-leafy:1;--now:8 }
:root:has(#m9:checked) { --ba:#ECC3AA;--bb:#6E1A2E;--bc:#9C86C9;--bd:#D9774A;--leaf:#3B5230;--leaf2:#8A8A3C;--fruit:#B8432F;--hip:#B53A24;--glow:#E9C39A;--on-hips:1;--on-apple:1;--on-leafy:1;--now:9 }
:root:has(#m10:checked) { --ba:#C8742E;--bb:#5C1A30;--bc:#E0B04A;--bd:#EBCDB5;--leaf:#5E5A2A;--leaf2:#A8672E;--fruit:#B8432F;--hip:#A8321F;--glow:#E5B071;--on-hips:1;--on-quince:1;--on-leafy:1;--now:10 }
:root:has(#m11:checked) { --ba:#A9502F;--bb:#B8A1A8;--bc:#CFA255;--bd:#6A2437;--leaf:#4A4A2C;--leaf2:#8E5A2E;--fruit:#8F6B30;--hip:#A3301F;--glow:#D7A77A;--on-hips:1;--on-apple:1;--now:11 }
:root:has(#m12:checked) { --ba:#A11D2E;--bb:#F1EBDD;--bc:#F4EFE3;--bd:#C9A04A;--leaf:#22402D;--leaf2:#3E6247;--fruit:#A51F2A;--hip:#B0281E;--glow:#D9B98C;--on-hips:1;--on-apple:1;--on-leafy:1;--now:12 }
@supports selector(:has(a)) {
  .placard { display: none; }
  :root:has(#m1:checked) [data-m="1"] { display: block; }
  :root:has(#m2:checked) [data-m="2"] { display: block; }
  :root:has(#m3:checked) [data-m="3"] { display: block; }
  :root:has(#m4:checked) [data-m="4"] { display: block; }
  :root:has(#m5:checked) [data-m="5"] { display: block; }
  :root:has(#m6:checked) [data-m="6"] { display: block; }
  :root:has(#m7:checked) [data-m="7"] { display: block; }
  :root:has(#m8:checked) [data-m="8"] { display: block; }
  :root:has(#m9:checked) [data-m="9"] { display: block; }
  :root:has(#m10:checked) [data-m="10"] { display: block; }
  :root:has(#m11:checked) [data-m="11"] { display: block; }
  :root:has(#m12:checked) [data-m="12"] { display: block; }
}
@supports not selector(:has(a)) {
  .placard:not([data-m="6"]) { display: none; }
}
[for=m1]::before { background: #6B2A4A; }
[for=m2]::before { background: #C98FA0; }
[for=m3]::before { background: #F4ECCB; }
[for=m4]::before { background: #EFA27A; }
[for=m5]::before { background: #E89AAF; }
[for=m6]::before { background: #F2B6C0; }
[for=m7]::before { background: #E7739B; }
[for=m8]::before { background: #E86A3A; }
[for=m9]::before { background: #ECC3AA; }
[for=m10]::before { background: #C8742E; }
[for=m11]::before { background: #A9502F; }
[for=m12]::before { background: #A11D2E; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body {
  margin: 0;
  background: var(--cream) var(--grain);
  color: var(--ink);
  font: 400 1.125rem/1.62 var(--serif);
  font-variant-numeric: oldstyle-nums proportional-nums;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
::selection { background: var(--plum); color: var(--cream); }
img, svg { max-width: 100%; }
h1, h2, h3 { font-weight: 400; margin: 0; }
p { margin: 0 0 1em; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); transition: text-decoration-color .4s, color .4s; }
a:hover { text-decoration-color: currentColor; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
.nw { white-space: nowrap; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.skip { position: absolute; left: 1rem; top: -5rem; z-index: 100; padding: .7rem 1.1rem; border-radius: 999px; background: var(--cream); color: var(--plum); font: 600 .85rem var(--sans); text-decoration: none; }
.skip:focus { top: 4.5rem; }

.eyebrow, .farm__label, .chart__group, .wed__menu-title, .practical dt, .foot__h, .placard__plate { font: 600 .72rem/1.25 var(--sans); letter-spacing: .2em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: .8rem; margin: 0 0 1.2rem; color: var(--gold-ink); }
.eyebrow::before { content: ""; flex: none; width: 2.2rem; height: 1px; background: currentColor; }
.eyebrow--gold { color: var(--gold); }
.eyebrow--blush { color: var(--blush); }
h2 { font-size: clamp(2.3rem, 1.3rem + 3.2vw, 4.6rem); line-height: 1; letter-spacing: -.02em; margin-bottom: 1.4rem; text-wrap: balance; }
h2 em { color: var(--plum); }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .85rem 1.6rem; border: 1px solid transparent; border-radius: 999px; font: 600 .8rem/1.1 var(--sans); letter-spacing: .15em; text-transform: uppercase; text-decoration: none; transition: .6s var(--ease); }
.btn:hover { transform: translateY(-2px); }
.btn--blush { background: var(--blush); color: var(--plum); }
.btn--blush:hover { background: #F8DFD6; box-shadow: 0 14px 26px -14px #EFC9BDB3; }
.btn--ghost { border-color: #F6EEE173; color: var(--cream); }
.btn--ghost:hover { border-color: var(--cream); background: #F6EEE114; }
.btn--plum { background: var(--plum); color: var(--cream); }
.btn--plum:hover { background: #71294F; box-shadow: 0 14px 26px -14px #5A1F3ECC; }
.btn--cream { background: var(--cream); color: var(--plum); }
.btn--cream:hover { background: #fff; }

/* header */
.head { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 2rem; padding: .8rem var(--gut); background: #17221AED; color: var(--cream); border-bottom: 1px solid #D4AA5533; --focus: #E8C77A; }
@supports (backdrop-filter: blur(4px)) { .head { background: #17221AD1; backdrop-filter: blur(12px) saturate(1.2); } }
.brand { display: flex; align-items: center; gap: .7rem; color: var(--cream); text-decoration: none; }
.brand__mark { width: 2.7rem; height: 2.7rem; flex: none; transition: transform .8s var(--ease); }
.brand:hover .brand__mark { transform: rotate(-6deg); }
.brand__name { font: 400 1.5rem/1 var(--serif); letter-spacing: .005em; white-space: nowrap; }
.amp { color: var(--gold); font-style: italic; font-size: 1.1em; }
.nav { margin-left: auto; }
.nav ul { display: flex; gap: clamp(1rem, 2vw, 2rem); margin: 0; padding: 0; list-style: none; }
.nav a { display: block; padding: .5rem 0; color: #E9DFCC; font: 600 .76rem/1 var(--sans); letter-spacing: .15em; text-transform: uppercase; text-decoration: none; background: linear-gradient(var(--gold), var(--gold)) 0 100% / 0 1px no-repeat; transition: background-size .6s var(--ease), color .4s; }
.nav a:hover, .nav a:focus-visible { color: #fff; background-size: 100% 1px; }
.head__cta, .pot__add, .dates__btn { display: inline-flex; align-items: center; justify-content: center; flex: none; min-height: 2.6rem; padding: .5rem 1.05rem; border: 1px solid; border-radius: 999px; background: transparent; font: 600 .72rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: .5s var(--ease); }
.head__cta { border-color: var(--gold); color: var(--gold); }
.head__cta:hover { background: var(--gold); color: var(--ground); }
.menu { display: none; position: relative; }
.menu summary { display: flex; align-items: center; gap: .55rem; min-height: 2.75rem; padding: 0 1rem; border: 1px solid #F6EEE14C; border-radius: 999px; font: 600 .76rem/1 var(--sans); letter-spacing: .15em; text-transform: uppercase; list-style: none; cursor: pointer; }
.menu summary::-webkit-details-marker { display: none; }
.menu__icon { position: relative; width: 14px; height: 9px; border-top: 1.5px solid; border-bottom: 1.5px solid; transition: transform .5s var(--ease); }
.menu[open] .menu__icon { transform: rotate(90deg); }
.menu__panel { position: absolute; right: 0; top: calc(100% + .6rem); min-width: 15rem; padding: .7rem 1.3rem; border: 1px solid #D4AA554C; border-radius: 1.2rem; background: var(--ground-2); box-shadow: 0 30px 50px -20px #000000B2; }
.menu__panel ul { margin: 0; padding: 0; list-style: none; }
.menu__panel a { display: block; padding: .5rem 0; border-bottom: 1px solid #F6EEE11A; color: var(--cream); font: italic 1.25rem/1.3 var(--serif); text-decoration: none; }
.menu__panel li:last-child a { border: 0; }

/* hero */
.hero { position: relative; isolation: isolate; overflow: clip; display: grid; --art: min(calc(100svh - 8rem), 58rem, 56vw); grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "copy art" "season art"; grid-template-rows: auto 1fr; padding-left: var(--gut); background: radial-gradient(110% 90% at 72% 36%, #26392B 0%, var(--ground) 56%, #0F1812 100%); color: var(--cream); --focus: #E8C77A; }
.hero::before { content: ""; position: absolute; left: 0; bottom: 0; width: calc(100% - var(--art) + 2px); height: calc(var(--art) * .162); background: linear-gradient(#7A6547, #7A6547) 0 28.2% / 100% 2px no-repeat, linear-gradient(#2E271C, #15120D) 0 100% / 100% 71.6% no-repeat, linear-gradient(90deg, #2E271C, #5A4A33) 0 0 / 100% 28.4% no-repeat; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background-image: var(--grain); opacity: .55; mix-blend-mode: overlay; }
.hero__copy { grid-area: copy; position: relative; z-index: 2; max-width: 41rem; padding-top: clamp(2.2rem, 5.5vh, 4.2rem); }
.hero__title { margin: 0 0 1.5rem; font-size: clamp(3.2rem, 1.2rem + 5.4vw, 7.3rem); line-height: .9; letter-spacing: -.025em; text-shadow: 0 2px 30px #0F1812B2; }
.hero__title .l1 { display: block; }
.hero__title .l2 { display: block; padding-left: .5em; color: var(--blush); font-style: italic; letter-spacing: -.03em; white-space: nowrap; }
.hero__lede { max-width: 33rem; margin-bottom: 1.8rem; color: #E6DBC8; font-size: 1.18rem; line-height: 1.55; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin: 0; }
.hero__art { grid-area: art; position: relative; z-index: 1; align-self: end; justify-self: end; }
.still { display: block; width: var(--art); height: var(--art); overflow: visible; }
.hero__season { grid-area: season; position: relative; z-index: 2; max-width: 39rem; padding: 2.2rem 0 3.2rem; }

.months { min-width: 0; margin: 0; padding: 0; border: 0; }
.months legend { margin: 0 0 .8rem; padding: 0; color: var(--cream); font: italic 1.35rem/1.2 var(--serif); }
.months__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .3rem; touch-action: pan-y; }
.months input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.months label { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: .5rem; min-height: 4.2rem; padding: .7rem 0 .6rem; border: 1px solid #F6EEE12E; border-radius: 3rem 3rem .45rem .45rem; color: #D8CDB9; font: 600 .7rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; user-select: none; transition: .7s var(--ease); }
.months label::before { content: ""; width: .8rem; height: .8rem; border-radius: 50%; box-shadow: 0 0 0 2px #0A100C59; transition: transform .7s var(--ease); }
.months label:hover { border-color: #D4AA55BF; color: #fff; }
.months label:hover::before { transform: scale(1.25); }
.months input:checked + label { border-color: var(--cream); background: var(--cream); color: var(--ground); }
.months input:checked + label::before { transform: scale(1.45); }
.months input:focus-visible + label { outline: 2px solid var(--gold); outline-offset: 3px; }
.months label.is-now::after { content: "now"; position: absolute; top: -.6rem; left: 50%; padding: .12rem .4rem .18rem; border-radius: 1rem; background: var(--gold); color: var(--ground); font: italic 400 .72rem/1 var(--serif); letter-spacing: 0; text-transform: none; transform: translateX(-50%); }

.placards { margin-top: 1.1rem; }
@media (min-width: 961px) {
  .hero__season { position: static; }
  .placards { position: absolute; z-index: 2; bottom: calc(var(--art) * .03); right: calc(var(--art) * .96 - min(21.5rem, var(--art) * .44)); width: min(21.5rem, calc(var(--art) * .44)); margin: 0; transform: rotate(-1.1deg); }
  .placard { box-shadow: inset 0 0 0 1px #7A561940, 0 22px 30px -16px #000000E6; }
}
.placard { position: relative; padding: 1.1rem 1.35rem 1.1rem; border-radius: .2rem; background: var(--cream) var(--grain); color: var(--ink); box-shadow: inset 0 0 0 1px #7A561940, 0 30px 50px -28px #000000D9; animation: placard-in .9s var(--ease) both; --focus: #5A1F3E; }
.placard__plate { margin: 0 0 .3rem; color: var(--gold-ink); }
.placard__title { margin: 0 0 .5rem; color: var(--plum); font: italic 400 1.42rem/1.2 var(--serif); text-wrap: balance; }
.placard__box { margin: 0 0 .8rem; font-size: 1rem; line-height: 1.5; }
.placard__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; margin: 0; padding-top: .7rem; border-top: 1px solid #1E2A2026; font: 600 .74rem/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.placard__foot a { color: var(--plum); text-decoration-color: #5A1F3E73; }
@keyframes placard-in { from { opacity: 0; transform: translateY(10px); } }

/* still life paint: every color comes from the month tokens */
.ba { --c: var(--ba); }
.ba.bk { --c: color-mix(in oklab, var(--ba) 70%, #16241A); }
.bb.bk { --c: color-mix(in oklab, var(--bb) 70%, #16241A); }
.bd.bk { --c: color-mix(in oklab, var(--bd) 70%, #16241A); }
.bb { --c: var(--bb); }
.bc { --c: var(--bc); }
.bd { --c: var(--bd); }
.bl { --c: var(--bloss); }
.t-d { fill: color-mix(in oklab, var(--c, #C77) 68%, #1A0C12); }
.t-b { fill: var(--c, #C77); }
.t-l { fill: color-mix(in oklab, var(--c, #C77) 62%, #FFF7EC); }
.t-x { fill: color-mix(in oklab, var(--c, #C77) 40%, #FFFBF3); }
.crease { fill: none; stroke: color-mix(in oklab, var(--c, #C77) 50%, #1A0C12); stroke-width: 1.6; stroke-linecap: round; opacity: .45; }
.stam { fill: #E2B347; }
.stem { fill: none; stroke: color-mix(in oklab, var(--leaf) 75%, #B9C58A); stroke-width: 2.6; stroke-linecap: round; }
.lf { fill: var(--leaf); }
.lf-s { fill: #0C160E; opacity: .3; }
.lf-v { fill: none; stroke: #0C160E; stroke-width: 1.4; opacity: .32; }
.leaf2 { --leaf: var(--leaf2); }
.hipc { fill: var(--hip); }
.fruitc { fill: var(--fruit); }
.stalk { fill: none; stroke: #4A3522; stroke-width: 3; stroke-linecap: round; }
.bark { fill: #3D2F22; }
.glow-a { stop-color: var(--glow); stop-opacity: .5; }
.glow-b { stop-color: var(--glow); stop-opacity: .1; }
.glow-c { stop-color: var(--glow); stop-opacity: 0; }
.glaze { fill: var(--glaze, #5A1E3D); }
.glaze-s { stroke: color-mix(in oklab, var(--glaze, #5A1E3D) 80%, #000); }
.slip { fill: var(--slip, #E8DAC0); }
.rim { fill: var(--rim, #E8DAC0); }
.t-d, .t-b, .t-l, .t-x, .crease, .stem, .lf, .hipc, .fruitc, .glow-a, .glow-b, .glow-c { transition: fill var(--slow) var(--ease), stroke var(--slow) var(--ease), stop-color var(--slow) var(--ease); }
.tg { transition: opacity var(--slow) var(--ease); }
.tg-cups { opacity: var(--on-cups); }
.tg-spikes { opacity: var(--on-spikes); }
.tg-bloss { opacity: var(--on-bloss); }
.tg-hips { opacity: var(--on-hips); }
.tg-leafy { opacity: var(--on-leafy); }
.tg-moth { opacity: var(--on-moth); }
.tg-apple { opacity: var(--on-apple); }
.tg-quince { opacity: var(--on-quince); }
.tg-plum { opacity: var(--on-plum); }
.tg-cherry { opacity: var(--on-cherry); }
.tg-fbloss { opacity: var(--on-fbloss); }
.drift use { opacity: 0; }
.still.is-drifting .drift use { animation: drift 2.6s var(--ease) both; }
.drift g:nth-child(2) use { animation-delay: .12s; }
.drift g:nth-child(3) use { animation-delay: .3s; }
.drift g:nth-child(4) use { animation-delay: .2s; }
.drift g:nth-child(5) use { animation-delay: .42s; }
.drift g:nth-child(6) use { animation-delay: .08s; }
.drift g:nth-child(7) use { animation-delay: .5s; }
@keyframes drift {
  0% { opacity: 0; transform: rotate(0deg) scale(.26, .16); }
  12% { opacity: .95; }
  70% { opacity: .9; }
  100% { opacity: 0; transform: translate(46px, 300px) rotate(210deg) scale(.26, .16); }
}

/* shared section frame */
.edge { position: relative; }
.edge::before { content: ""; position: absolute; left: 0; right: 0; top: -19px; height: 20px; background: var(--sec) var(--grain); mask: var(--edge) 0 0 / 420px 100% repeat-x; pointer-events: none; }
.edge-b::after { content: ""; position: absolute; z-index: 1; left: 0; right: 0; bottom: -19px; height: 20px; background: var(--sec) var(--grain); mask: var(--edge) 210px 0 / 420px 100% repeat-x; transform: scaleY(-1); pointer-events: none; }

/* farm */
.farm { --sec: var(--cream); position: relative; overflow-x: clip; padding: clamp(6rem, 14vw, 13rem) var(--gut) clamp(3.5rem, 8vw, 7rem); }
.farm__branch { position: absolute; z-index: 4; top: -5.5rem; right: 1rem; width: min(44vw, 640px); height: auto; pointer-events: none; transform: rotate(-4deg); filter: drop-shadow(0 18px 14px #1E140A47); }
.farm__inner { display: grid; grid-template-columns: 10rem minmax(0, 1fr); column-gap: clamp(1.5rem, 4vw, 4rem); max-width: 1240px; margin: 0 auto; }
.farm__label { grid-column: 1; margin-top: 1rem; color: var(--gold-ink); }
.farm__label span { display: block; padding-top: .8rem; border-top: 1px solid currentColor; }
.farm__big { grid-column: 2; max-width: 26em; margin: 0 0 3.6rem; font-size: clamp(1.5rem, .95rem + 1.75vw, 2.45rem); line-height: 1.3; letter-spacing: -.005em; text-wrap: pretty; }
.farm__big em { color: var(--plum); }
.notes { grid-column: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.6rem); margin: 0; padding: 0; list-style: none; counter-reset: note; }
.notes li { counter-increment: note; padding-top: 1rem; border-top: 1px solid #1E2A2033; color: var(--ink-2); font-size: 1.02rem; }
.notes li::before { content: counter(note, lower-roman) "."; display: block; margin-bottom: .6rem; color: var(--gold-ink); font: italic 1.5rem/1 var(--serif); }
.notes strong { display: block; margin-bottom: .2rem; color: var(--ink); font: italic 400 1.35rem/1.25 var(--serif); }

/* subscriptions */
.subs { --sec: var(--blush-bg); padding: clamp(3.5rem, 9vw, 8rem) var(--gut); background: var(--blush-bg) var(--grain); }
.subs__head { max-width: 1240px; margin: 0 auto clamp(2.5rem, 5vw, 4rem); }
.subs__head h2 { max-width: 15em; }
.subs__head h2 em { display: block; font-size: .62em; line-height: 1.15; margin-top: .3em; }
.subs__head p:last-child { max-width: 36rem; color: var(--ink-2); }
.picker { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: clamp(1.5rem, 4.5vw, 4.5rem); align-items: start; max-width: 1240px; margin: 0 auto; }
.picker fieldset { min-width: 0; margin: 0 0 2rem; padding: 0; border: 0; }
.picker legend, .start > label { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; padding: 0; font: italic 1.5rem/1.2 var(--serif); }
.step { display: inline-grid; place-items: center; flex: none; width: 1.9rem; height: 1.9rem; border: 1px solid var(--plum); border-radius: 50%; color: var(--plum); font: 600 .8rem/1 var(--sans); font-style: normal; font-variant-numeric: lining-nums; }
.sizes__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.size { position: relative; display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: 2.1rem 1rem 1.3rem; border: 1px solid #5A1F3E33; border-radius: 12rem 12rem 1rem 1rem; background: #FBF4EA; text-align: center; cursor: pointer; transition: .6s var(--ease); }
.size:hover { border-color: #5A1F3E8C; }
.size input, .seg input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.size__art { width: 5.6rem; height: 5.6rem; margin-bottom: .3rem; color: var(--plum); transition: transform .8s var(--ease); }
.size:hover .size__art { transform: rotate(-4deg) scale(1.04); }
.glyph { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.glyph .thin { stroke-width: 1.3; }
.glyph .dot { fill: currentColor; stroke: none; }
.size__name { font: italic 1.45rem/1.1 var(--serif); }
.size__desc { color: var(--ink-2); font-size: .95rem; line-height: 1.4; }
.size__price { margin-top: auto; padding-top: .4rem; color: var(--plum); font: 400 1.7rem/1 var(--serif); }
.size:has(input:checked) { border-color: var(--plum); background: #FFFCF7; box-shadow: inset 0 0 0 1px var(--plum), 0 24px 40px -28px #5A1F3EB2; transform: translateY(-4px); }
.size:has(input:checked)::after { content: "Chosen"; position: absolute; top: -.75rem; left: 50%; padding: .3rem .7rem; border-radius: 999px; background: var(--plum); color: var(--cream); font: 600 .66rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; transform: translateX(-50%); }
.size:has(input:focus-visible) { outline: 2px solid var(--plum); outline-offset: 4px; }
.seg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; padding: .3rem; border: 1px solid #5A1F3E38; border-radius: 2.2rem; background: #FBF4EA; }
.seg label { position: relative; cursor: pointer; }
.seg span { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 3.6rem; padding: .45rem .5rem; border-radius: 2rem; font: 600 .78rem/1.1 var(--sans); letter-spacing: .1em; text-align: center; text-transform: uppercase; transition: .6s var(--ease); }
.seg small { margin-top: .2rem; color: var(--ink-2); font: italic .92rem/1.2 var(--serif); letter-spacing: 0; text-transform: none; transition: color .6s var(--ease); }
.seg label:hover span { background: #5A1F3E12; }
.seg input:checked + span { background: var(--plum); color: var(--cream); }
.seg input:checked + span small { color: #F0D8E2; }
.seg input:focus-visible + span { outline: 2px solid var(--plum); outline-offset: 2px; }
.row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin-bottom: .6rem; padding: .95rem 1.15rem; border: 1px solid #5A1F3E2E; border-radius: .9rem; background: #FBF4EA; cursor: pointer; transition: .6s var(--ease); }
.row:hover { border-color: #5A1F3E80; }
.row input { appearance: none; display: grid; place-items: center; width: 1.25rem; height: 1.25rem; margin: 0; border: 1.5px solid var(--plum); border-radius: 50%; background: #fff; }
.row input::before { content: ""; width: .62rem; height: .62rem; border-radius: 50%; background: var(--plum); transform: scale(0); transition: transform .5s var(--ease); }
.row input:checked::before { transform: scale(1); }
.row:has(input:checked) { border-color: var(--plum); background: #FFFCF7; }
.row__what small { display: block; color: var(--ink-2); font-size: .92rem; font-style: italic; }
.row__price { color: var(--plum); font: 400 1.2rem/1 var(--serif); }
.start select, .field input, .field select, .field textarea { width: 100%; min-height: 3rem; padding: .7rem .95rem; border: 1px solid #1E2A204C; border-radius: .6rem; background: #FFFCF6; color: var(--ink); font: 1.05rem/1.4 var(--serif); transition: border-color .4s, box-shadow .4s; }
.start select:focus-visible, .field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--plum); outline-offset: 1px; border-color: var(--plum); box-shadow: 0 0 0 5px #5A1F3E24; }
.start { max-width: 22rem; }
.tagwrap { position: sticky; top: 6.5rem; padding-top: 2.4rem; }
.tagwrap::before { content: ""; position: absolute; z-index: 2; top: 0; left: calc(50% - 1px); width: 2px; height: 3.9rem; border-radius: 2px; background: #7A5A3A; transform: rotate(7deg); transform-origin: 50% 100%; }
.tag { position: relative; padding: 3.4rem clamp(1.2rem, 2.5vw, 2rem) 1.8rem; background: var(--kraft) var(--grain); color: #2A2016; clip-path: polygon(24% 0, 76% 0, 100% 2.8rem, 100% 100%, 0 100%, 0 2.8rem); filter: drop-shadow(0 20px 22px #5A281E40); }
.tag::before { content: ""; position: absolute; top: 1.15rem; left: calc(50% - .55rem); width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--blush-bg); box-shadow: inset 0 2px 3px #00000059, 0 0 0 4px #C4A273; }
.tag h3 { margin: 0 0 1rem; font: italic 1.6rem/1.2 var(--serif); text-align: center; }
.tag__lines { margin: 0 0 1rem; }
.tag__lines div { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .8rem; padding: .55rem 0; border-bottom: 1px dashed #2A201659; }
.tag__lines dt { padding-top: .2rem; font: 600 .68rem/1.3 var(--sans); letter-spacing: .15em; text-transform: uppercase; }
.tag__lines dd { display: flex; justify-content: space-between; gap: .6rem; margin: 0; font-size: 1rem; line-height: 1.35; }
.tag__total { display: flex; justify-content: space-between; align-items: baseline; margin: 1.2rem 0 .1rem; font: italic 1.2rem var(--serif); }
.tag__total output { font: 400 2.8rem/1 var(--serif); font-style: normal; }
.tag__month { margin: 0 0 1.4rem; font-size: .95rem; text-align: right; }
.tag .btn { width: 100%; }
.tag__small { margin: .9rem 0 0; color: #4A3A28; font-size: .86rem; line-height: 1.45; text-align: center; }
.week { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.2rem, 3vw, 2.4rem); max-width: 1240px; margin: clamp(2.5rem, 7vw, 5.5rem) auto 0; padding: 2.4rem 0 0; border-top: 1px solid #5A1F3E4C; list-style: none; }
.week li { position: relative; color: var(--ink-2); font-size: 1rem; }
.week li::before { content: ""; position: absolute; top: calc(-2.4rem - .5rem); left: 0; width: 1rem; height: 1rem; border-radius: 50%; background: var(--plum); box-shadow: 0 0 0 6px var(--blush-bg); }
.week__day { display: block; margin-bottom: .3rem; color: var(--plum); font: italic 1.55rem/1.2 var(--serif); }

/* almanac */
.almanac { --sec: var(--cream); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: clamp(2rem, 5vw, 5rem); max-width: calc(1240px + 2 * var(--gut)); margin: 0 auto; padding: clamp(3.5rem, 9vw, 8rem) var(--gut); }
.almanac__head { position: sticky; top: 7rem; align-self: start; }
.almanac__head p:last-child { color: var(--ink-2); }
.chart { --lab: 19rem; font-size: 1rem; }
.chart__months { position: relative; display: grid; grid-template-columns: var(--lab) repeat(12, minmax(0, 1fr)); margin: 0 0 .4rem; color: var(--ink-2); font: 600 .72rem/1 var(--sans); letter-spacing: .1em; text-align: center; }
.chart__months::before { content: ""; position: absolute; inset: -.45rem 0; grid-row: 1; grid-column: calc(var(--now) + 1) / span 1; border-radius: 1rem 1rem 0 0; background: #D4AA5559; }
.chart__months span { position: relative; grid-row: 1; padding: .3rem 0; }
.chart__months span:first-child { grid-column: 1; }
.chart__group { margin: 1.8rem 0 .4rem; color: var(--gold-ink); }
.chart__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #1E2A2040; }
.chart__list li { display: grid; grid-template-columns: 12rem 7rem minmax(0, 1fr); align-items: stretch; min-height: 2.7rem; border-bottom: 1px solid #1E2A201F; transition: background-color .5s; }
.chart__list li:hover { background: #EFC9BD47; }
.chart__crop { align-self: center; padding: .35rem .8rem .35rem 0; font: italic 1.12rem/1.2 var(--serif); }
.chart__when { align-self: center; color: var(--ink-2); font: 600 .72rem/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.chart__bar { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; background: linear-gradient(to right, transparent calc(100% - 1px), #1E2A201A 0) 0 0 / calc(100% / 12) 100%; }
.chart__bar::before { content: ""; grid-row: 1; grid-column: var(--now) / span 1; align-self: stretch; background: #D4AA5559; }
.chart__bar i { grid-row: 1; height: .8rem; margin: 0 2px; border-radius: 1rem; box-shadow: inset 0 1px 0 #FFFFFF59, inset 0 -2px 0 #0000001F; }
.f1 { grid-column-start: 1; } .f2 { grid-column-start: 2; } .f3 { grid-column-start: 3; } .f4 { grid-column-start: 4; } .f5 { grid-column-start: 5; } .f6 { grid-column-start: 6; }
.f7 { grid-column-start: 7; } .f8 { grid-column-start: 8; } .f9 { grid-column-start: 9; } .f10 { grid-column-start: 10; } .f11 { grid-column-start: 11; } .f12 { grid-column-start: 12; }
.t1 { grid-column-end: 2; } .t2 { grid-column-end: 3; } .t3 { grid-column-end: 4; } .t4 { grid-column-end: 5; } .t5 { grid-column-end: 6; } .t6 { grid-column-end: 7; }
.t7 { grid-column-end: 8; } .t8 { grid-column-end: 9; } .t9 { grid-column-end: 10; } .t10 { grid-column-end: 11; } .t11 { grid-column-end: 12; } .t12 { grid-column-end: 13; }
.k-plum { background: #6E2A4E; } .k-coral { background: #C8553D; } .k-gold { background: #C99A3A; }
.k-rose { background: #D9869A; } .k-violet { background: #8468AE; } .k-leaf { background: #5C7A48; }

/* weddings */
.wed { --sec: var(--plum-dk); position: relative; --focus: #E8C77A; --ba: #F2CFC6; --bb: #FBF1E3; --bc: #FFF8EE; --bd: #E09C98; --leaf: #71886A; --leaf2: #9DB08F; overflow-x: clip; padding: 0 var(--gut) clamp(4.5rem, 8vw, 7rem); background: radial-gradient(90% 70% at 20% 30%, #5A1F3E, var(--plum-dk) 70%); color: var(--cream); }
.garland { display: block; width: calc(100% + 2 * var(--gut)); max-width: none; height: clamp(120px, 15vw, 230px); margin: 0 calc(-1 * var(--gut)) clamp(1rem, 3vw, 2.5rem); }
.wed__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 6vw, 6.5rem); align-items: start; max-width: 1240px; margin: 0 auto; }
.wed h2 em { display: block; color: var(--blush); }
.wed__intro { position: sticky; top: 7rem; }
.wed__intro p { color: #EEDDE3; }
.wed__intro .btn { margin-top: .8rem; }
.wed__menu-title { margin: 0 0 1rem; color: var(--blush); }
.fare { margin: 0 0 2.5rem; }
.fare__item { display: grid; grid-template-columns: auto minmax(1.5rem, 1fr) auto; grid-template-areas: "name dots price" "desc desc desc"; align-items: baseline; padding: 1.2rem 0 1.3rem; border-top: 1px solid #EFC9BD38; }
.fare__item::before { content: ""; grid-area: dots; margin: 0 .8rem; border-bottom: 2px dotted #EFC9BD73; }
.fare__item dt { grid-area: name; font: italic 1.65rem/1.2 var(--serif); }
.fare__price { grid-area: price; margin: 0; color: var(--gold); font: 400 1.35rem/1 var(--serif); white-space: nowrap; }
.fare__desc { grid-area: desc; max-width: 34rem; margin: .4rem 0 0; color: #E8D3DB; font-size: 1.02rem; }
.steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 2.2rem; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.steps li { position: relative; padding-left: 2.6rem; color: #E8D3DB; font-size: 1rem; counter-increment: step; }
.steps li::before { content: counter(step); position: absolute; left: 0; top: -.25rem; color: var(--gold); font: italic 2.3rem/1 var(--serif); }
.steps strong { display: block; color: var(--cream); font: italic 400 1.25rem/1.25 var(--serif); }

/* vessels */
.vessels { --sec: var(--paper); padding: clamp(3.5rem, 9vw, 8rem) var(--gut) clamp(4rem, 7vw, 6rem); background: var(--paper) var(--grain); }
.vessels__head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: clamp(2rem, 5vw, 5rem); max-width: 1240px; margin: 0 auto clamp(2.5rem, 5vw, 4.5rem); }
.vessels__head .eyebrow, .vessels__head h2 { grid-column: 1; }
.vessels__head p:last-child { grid-column: 2; grid-row: 1 / span 2; align-self: end; color: var(--ink-2); }
.vessels__head p:last-child::first-letter { float: left; margin: .1em .1em 0 0; color: var(--plum); font-size: 3.35em; line-height: .78; }
.shelf { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 1320px; margin: 0 auto; padding: 0; list-style: none; }
.pot { display: flex; flex-direction: column; align-items: center; padding: 0 1rem; text-align: center; }
.pot__art { position: relative; display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 17rem; }
.pot__art::after { content: ""; position: absolute; left: -1rem; right: -1rem; bottom: -1rem; height: 1rem; background: linear-gradient(#94714C, #6E5035 60%, #5A4029); box-shadow: 0 14px 18px -10px #462D148C; }
.pot__art svg { width: auto; overflow: visible; filter: drop-shadow(14px 4px 10px #462D1447); transition: transform 1s var(--ease); transform-origin: 50% 100%; }
.pot:hover .pot__art svg, .pot:focus-within .pot__art svg { transform: translateY(-8px) rotate(-1.5deg); }
.pot--jug svg { height: 13rem; }
.pot--trio svg { height: 10.5rem; }
.pot--pitcher svg { height: 14.6rem; }
.pot--bowl svg { height: 11rem; }
.pot--cider svg { height: 16.4rem; }
.pot--trio { --glaze: #E2AFA3; --rim: #C98A7E; }
.pot--pitcher { --glaze: #9DB3A0; --rim: #B9CBBB; }
.pot--bowl { --glaze: #EEE5D2; --rim: #F6F0E2; }
.pot--cider { --glaze: #D9C9A8; }
.shelf, .faq__sprig { --leaf: #5C7A48; --leaf2: #7E9A5A; }
.pot-stem { fill: none; stroke: #5A4430; stroke-width: 3; stroke-linecap: round; }
.pot-fl { --c: #E7A9B0; }
.pot__name { margin: 2.2rem 0 .2rem; font: italic 1.55rem/1.15 var(--serif); }
.pot__meta { margin: 0 0 .7rem; color: var(--ink-2); font-size: .95rem; line-height: 1.4; }
.pot__buy { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem .9rem; margin: auto 0 0; }
.pot__price { font: 400 1.3rem/1 var(--serif); }
.pot__add { border-color: #5A1F3E80; color: var(--plum); }
.pot__add:hover { border-color: var(--plum); background: var(--plum); color: var(--cream); }
.vessels__note { max-width: 40rem; margin: clamp(2.5rem, 5vw, 4rem) auto 0; color: var(--ink-2); font-size: 1rem; font-style: italic; text-align: center; }

/* visit */
.visit { --sec: var(--leafdk); --focus: #E8C77A; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: start; padding: clamp(3.5rem, 9vw, 8rem) max(var(--gut), calc((100% - 1320px) / 2)); background: var(--leafdk) var(--grain); color: var(--cream); }
.visit__map { position: sticky; top: 7rem; }
.visit__map img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 2px 0 #00000033, 0 40px 60px -30px #000000BF; transform: rotate(-1.6deg); }
.visit__map::before { content: ""; position: absolute; z-index: 2; top: -.6rem; left: 50%; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #F2D48E, #B98B3A 60%, #7A5619); box-shadow: 0 4px 6px #00000073; }
.visit h2 em { color: var(--blush); }
.visit__text > p { color: #DCE3D3; }
.dates { margin: 2.2rem 0 2.6rem; padding: 0; list-style: none; }
.dates li { display: grid; grid-template-columns: 4.6rem minmax(0, 1fr) auto; align-items: center; gap: 1.2rem; padding: 1.1rem 0; border-top: 1px solid #F6EEE129; }
.dates li:last-child { border-bottom: 1px solid #F6EEE129; }
.dates time { display: flex; flex-direction: column; align-items: center; gap: .25rem; }
.dates__d { color: var(--gold); font: italic 2.7rem/.9 var(--serif); }
.dates__m { font: 600 .68rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; }
.dates h3 { margin: 0 0 .15rem; font: italic 1.4rem/1.2 var(--serif); }
.dates p { margin: 0; color: #D6DECC; font-size: 1rem; line-height: 1.45; }
.dates__btn { border-color: #F6EEE173; color: var(--cream); }
.dates__btn:hover { border-color: var(--gold); background: var(--gold); color: var(--ground); }
.practical { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem 2rem; margin: 0; }
.practical dt { color: var(--gold); }
.practical dd { margin: .3rem 0 0; color: #E4E9DC; font-size: 1rem; line-height: 1.45; }

/* faq */
.faq { --sec: var(--cream); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: clamp(2rem, 6vw, 6rem); max-width: calc(1240px + 2 * var(--gut)); margin: 0 auto; padding: clamp(3.5rem, 9vw, 8rem) var(--gut); }
.faq__side { position: sticky; top: 7rem; align-self: start; }
.faq__side p { color: var(--ink-2); }
.faq__sprig { display: block; width: 10rem; height: auto; margin-top: 1.5rem; }
.spr-leaf { --leaf: #6F8A4E; }
.spr-fl { --c: #E8B4B8; }
.faq__list details { border-top: 1px solid #1E2A2033; }
.faq__list details:last-child { border-bottom: 1px solid #1E2A2033; }
.faq__list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3rem 0; font: italic 1.45rem/1.25 var(--serif); list-style: none; cursor: pointer; transition: color .4s; }
.faq__list summary::-webkit-details-marker { display: none; }
.faq__list summary:hover { color: var(--plum); }
.faq__list summary::after { content: ""; flex: none; width: 1.8rem; height: 1.8rem; border: 1px solid #5A1F3E80; border-radius: 50%; background: linear-gradient(var(--plum), var(--plum)) 50% 50% / .7rem 1.5px no-repeat, linear-gradient(var(--plum), var(--plum)) 50% 50% / 1.5px .7rem no-repeat; transition: transform .7s var(--ease), background-color .7s var(--ease); }
.faq__list details[open] summary::after { transform: rotate(135deg); background-color: #EFC9BD80; }
.faq__list details p { max-width: 40rem; margin: 0 0 1.5rem; color: var(--ink-2); }
@supports selector(::details-content) {
  .faq__list details::details-content { block-size: 0; overflow: clip; transition: block-size .7s var(--ease), content-visibility .7s allow-discrete; }
  .faq__list details[open]::details-content { block-size: auto; }
}

/* enquire */
.enquire { --sec: var(--blush-bg); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; padding: clamp(3.5rem, 9vw, 8rem) max(var(--gut), calc((100% - 1240px) / 2)); background: var(--blush-bg) var(--grain); }
.enquire__intro p { color: var(--ink-2); }
.enquire__direct { margin-top: 1.8rem; padding-top: 1.2rem; border-top: 1px solid #5A1F3E40; line-height: 1.8; }
.enquire__direct strong { color: var(--plum); font-weight: 400; font-style: italic; }
.enq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem 1.4rem; padding: clamp(4rem, 7vw, 5.5rem) clamp(1.2rem, 3.5vw, 3rem) clamp(1.4rem, 3.5vw, 2.8rem); border-radius: 50% 50% 1.2rem 1.2rem / 7rem 7rem 1.2rem 1.2rem; background: var(--cream) var(--grain); box-shadow: 0 40px 60px -40px #5A1F3E80, inset 0 0 0 1px #5A1F3E1F; }
.field { min-width: 0; margin: 0; }
.field--wide { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: .45rem; color: var(--ink-2); font: 600 .72rem/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.field textarea { min-height: 7rem; resize: vertical; }
.field ::placeholder { color: #666B5F; font-style: italic; }
.enq__send { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; }
.enq__send span { color: var(--ink-2); font-size: .92rem; font-style: italic; }

/* footer */
.foot { --sec: var(--ground); --focus: #E8C77A; padding: clamp(3.5rem, 7vw, 6rem) var(--gut) 2.4rem; background: var(--ground) var(--grain); color: #D5CCBA; font-size: 1rem; }
.foot__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 3fr); gap: clamp(2rem, 5vw, 5rem); max-width: 1240px; margin: 0 auto; }
.foot__mark { width: 4.6rem; height: 4.6rem; }
.foot__name { margin: .9rem 0 .4rem; color: var(--cream); font: 400 2.3rem/1 var(--serif); }
.foot__line { color: #B9B09E; font-style: italic; }
.foot__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.foot__h { margin: 0 0 .7rem; color: var(--gold); }
.foot address { font-style: normal; }
.foot__cols p, .foot address { margin: 0; line-height: 1.7; overflow-wrap: break-word; }
.foot__nav { margin: 0; padding: 0; list-style: none; line-height: 1.9; }
.foot__nav a { text-decoration: none; background: linear-gradient(var(--gold), var(--gold)) 0 100% / 0 1px no-repeat; transition: background-size .6s var(--ease), color .4s; }
.foot__nav a:hover { color: var(--cream); background-size: 100% 1px; }
.foot__small { max-width: 1240px; margin: 2.5rem auto 0; padding-top: 1.4rem; border-top: 1px solid #D4AA5538; color: #A8A08D; font: .85rem/1.5 var(--sans); letter-spacing: .04em; }

/* motion */
.will-reveal { opacity: 0; transform: translateY(20px); transition: opacity 1.3s var(--ease), transform 1.3s var(--ease); }
.will-reveal.is-in { opacity: 1; transform: none; }
.notes li:nth-child(2), .week li:nth-child(2), .dates li:nth-child(2), .pot:nth-child(2) { transition-delay: .12s; }
.notes li:nth-child(3), .week li:nth-child(3), .dates li:nth-child(3), .pot:nth-child(3) { transition-delay: .24s; }
.week li:nth-child(4), .dates li:nth-child(4), .pot:nth-child(4) { transition-delay: .36s; }
.dates li:nth-child(5), .pot:nth-child(5) { transition-delay: .48s; }
@media (prefers-reduced-motion: no-preference) {
  .hero__copy > * { animation: rise 1.3s var(--ease) both; }
  .hero__copy > :nth-child(2) { animation-delay: .1s; }
  .hero__copy > :nth-child(3) { animation-delay: .3s; }
  .hero__copy > :nth-child(4) { animation-delay: .42s; }
  .hero__art { animation: unveil 2s var(--ease) both .15s; transform-origin: 55% 95%; }
  .months { animation: rise 1.3s var(--ease) both .6s; }
}
@keyframes rise { from { opacity: 0; transform: translateY(24px); } }
@keyframes unveil { from { opacity: 0; transform: scale(.965) translateY(14px); } }

/* responsive */
@media (max-width: 1180px) {
  .nav ul { gap: 1.1rem; }
  .head__cta { display: none; }
  .almanac { grid-template-columns: minmax(0, 1fr); }
  .almanac__head { position: static; max-width: 40rem; }
  .shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 3.5rem; }
  .foot__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .nav { display: none; }
  .menu { display: block; }
  .head__cta { display: inline-flex; margin-left: auto; }
  .hero__title { font-size: clamp(3.2rem, 1rem + 7.4vw, 5.6rem); }
  .hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "eyebrow" "title" "actions" "art" "lede" "season"; grid-template-rows: auto; padding: 0 var(--gut); }
  .hero__copy { display: contents; }
  .hero .eyebrow { grid-area: eyebrow; margin-top: 2.2rem; }
  .hero__title { grid-area: title; position: relative; z-index: 2; }
  .hero__lede { grid-area: lede; position: relative; z-index: 2; max-width: 36rem; margin-top: .6rem; }
  .hero__actions { grid-area: actions; position: relative; z-index: 2; margin-bottom: .4rem; }
  .hero::before { display: none; }
  .hero__art { justify-self: stretch; margin: -3rem calc(-1 * var(--gut)) 0; }
  .still { width: 100%; height: auto; }
  .hero__season { max-width: 42rem; padding-top: .8rem; }
  .farm__inner { grid-template-columns: minmax(0, 1fr); }
  .farm__label, .farm__big, .notes { grid-column: 1; }
  .farm__label { margin: 0 0 1.4rem; width: 10rem; }
  .picker { grid-template-columns: minmax(0, 1fr); }
  .tagwrap { position: relative; top: 0; max-width: 28rem; width: 100%; margin: 0 auto; }
  .week { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 3.2rem; }
  .week li:nth-child(n + 3)::before { top: -1.6rem; }
  .wed__grid, .visit, .faq, .enquire, .vessels__head { grid-template-columns: minmax(0, 1fr); }
  .vessels__head p:last-child { grid-column: 1; grid-row: auto; }
  .visit__map, .faq__side, .wed__intro { position: relative; top: 0; }
  .visit__map { max-width: 40rem; }
  .foot__in { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  body { font-size: 1.06rem; }
  .head { gap: .6rem; padding-block: .6rem; }
  .brand__mark { width: 2.2rem; height: 2.2rem; }
  .brand__name { font-size: 1.2rem; }
  .head__cta { display: none; }
  .menu { margin-left: auto; }
  .hero__title { font-size: clamp(2.9rem, 1.1rem + 9vw, 4.4rem); margin-bottom: 1.2rem; }
  .hero__title .l2 { padding-left: .35em; }
  .hero__lede { font-size: 1.08rem; }
  .hero__actions { gap: .6rem; }
  .hero__actions .btn { padding-inline: .95rem; letter-spacing: .06em; }
  .hero__art { margin-top: -2.2rem; }
  .months__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); row-gap: .5rem; }
  .months label { min-height: 3.9rem; }
  .farm__branch { top: -4.5rem; right: -4rem; width: 78vw; }
  .notes { grid-template-columns: minmax(0, 1fr); }
  .notes li::before { float: left; margin: 0 .5rem 0 0; line-height: 1.25; }
  .sizes__row { grid-template-columns: minmax(0, 1fr); }
  .size { display: grid; grid-template-columns: 4.4rem minmax(0, 1fr) auto; grid-template-areas: "art name price" "art desc price"; align-items: center; column-gap: 1rem; row-gap: .1rem; padding: 1rem 1.2rem 1rem 1rem; border-radius: 4rem 1rem 1rem 4rem; text-align: left; }
  .size__art { grid-area: art; width: 4.4rem; height: 4.4rem; margin: 0; }
  .size__name { grid-area: name; align-self: end; }
  .size__desc { grid-area: desc; align-self: start; }
  .size__price { grid-area: price; margin: 0; padding: 0; }
  .size:has(input:checked) { transform: none; }
  .size:has(input:checked)::after { top: -.6rem; left: auto; right: 1rem; transform: none; }
  .seg { grid-template-columns: minmax(0, 1fr); border-radius: 1.6rem; }
  .seg span { flex-direction: row; justify-content: space-between; min-height: 3rem; padding: .4rem 1.1rem; }
  .seg small { margin: 0; }
  .week { grid-template-columns: minmax(0, 1fr); row-gap: 1.4rem; padding-top: 0; border-top: 0; border-left: 1px solid #5A1F3E4C; padding-left: 1.6rem; }
  .week li::before, .week li:nth-child(n + 3)::before { top: .55rem; left: calc(-1.6rem - .5rem); }
  .week__day { display: inline; margin-right: .3rem; font-size: 1.35rem; }
  .chart { --lab: 8.2rem; }
  .chart__list li { grid-template-columns: 8.2rem minmax(0, 1fr); grid-template-areas: "crop bar" "when bar"; min-height: 2.5rem; }
  .chart__crop { grid-area: crop; align-self: end; padding: .3rem .5rem 0 0; font-size: 1rem; }
  .chart__when { grid-area: when; align-self: start; padding-bottom: .3rem; font-size: .64rem; }
  .chart__bar { grid-area: bar; }
  .chart__months { font-size: .62rem; letter-spacing: 0; }
  .fare__item dt { font-size: 1.35rem; }
  .fare__price { font-size: 1.15rem; }
  .steps { grid-template-columns: minmax(0, 1fr); }
  .shelf { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 70%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; margin: 0 calc(-1 * var(--gut)); padding: 0 var(--gut) 1.5rem; scroll-padding-inline: var(--gut); scrollbar-width: thin; }
  .pot { scroll-snap-align: start; }
  .pot__art { height: 15rem; }
  .dates li { grid-template-columns: 3.6rem minmax(0, 1fr); gap: .7rem 1rem; padding: .9rem 0; }
  .dates__btn { grid-column: 2; justify-self: start; }
  .dates__d { font-size: 2.2rem; }
  .practical { grid-template-columns: minmax(0, 1fr); }
  .enq { grid-template-columns: minmax(0, 1fr); gap: .9rem; border-radius: 50% 50% 1rem 1rem / 4.5rem 4.5rem 1rem 1rem; padding-top: 3.6rem; }
  .foot__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1rem; }
  .foot__cols > :nth-child(n + 3) { grid-column: 1 / -1; }
  .foot__nav { display: flex; flex-wrap: wrap; column-gap: 1.3rem; }
  .faq__side { padding-right: 5.5rem; }
  .faq__list summary { padding: 1rem 0; font-size: 1.3rem; }
  .faq__sprig { position: absolute; top: -.5rem; right: -.5rem; width: 5.5rem; margin: 0; }
}
@media (max-width: 380px) {
  .brand__name { font-size: 1.05rem; }
  .menu summary { padding: 0 .75rem; }
  .months label { font-size: .64rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .will-reveal { opacity: 1; transform: none; }
  .drift { display: none; }
}
