/* Look W "Season": a gardener's almanac. The year is the unit of work: a year wheel, a month-by-month board, services
   with the months they are done in, leaf-cut photos (two opposite round corners), a fern drawn in line. Every class
   starts with w- (stylesheets are global; g- belongs to the gallery library). Palettes in design.ts override the
   tokens on :root. */
@font-face{font-family:"Syne W";font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/syne-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Syne W";font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/syne-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans W";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dmsans-w-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans W";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dmsans-w-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Literata W";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/literata-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Literata W";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/literata-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Literata W";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/literata-latin-ext-wght-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Literata W";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/literata-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* tokens: palette lichen */
:root{--page:#d5dec3;--leaf:#e7edd9;--ink:#131f16;--mute:#3a483b;--line:#b2c1a2;--act:#2c5a34;--onact:#ffffff;
  --deep:#1f3b26;--ondeep:#eef2e3;--fernc:#a3c886;--sp:#c9daad;--su:#e5d296;--au:#deb89d;--wi:#c4cfdb;
  --fd:"Syne W",system-ui,sans-serif;--ft:"Literata W",Georgia,serif;--fi:"Literata W",Georgia,serif;--hw:700;--ht:-.025em;--hs:1;--hh:84px;
  --w:1240px;--pad:clamp(16px,4vw,48px);--gap:clamp(80px,9vw,136px);--cut:calc(clamp(40px,6vw,96px)*var(--tune-radius,1));--cut-s:calc(22px*var(--tune-radius,1));
  --m-accent:var(--act);--m-header-bg:var(--page);
  --g-max:calc(var(--w) + 2*var(--pad));--g-pad:var(--pad);--g-bg:transparent;--g-paper:var(--page);--g-surface:var(--leaf);--g-ink:var(--ink);--g-muted:var(--mute);
  --g-line:var(--line);--g-accent:var(--act);--g-on-accent:var(--onact);--g-radius:calc(22px*var(--tune-radius,1));--g-fd:var(--fd);--g-ft:var(--ft);--g-top:0px}
body.f-open{--hw:520;--ht:-.01em;--hs:1.08}
/* almanac: a sans for reading (DM Sans, cut to weights 400–700 in public/fonts), Literata italic stays for the almanac's small labels */
body.f-almanac{--ft:"DM Sans W",system-ui,sans-serif;--g-ft:var(--ft)}
.w-f-sp,.w-s-sp{--c:var(--sp)}.w-f-su,.w-s-su{--c:var(--su)}.w-f-au,.w-s-au{--c:var(--au)}.w-f-wi,.w-s-wi{--c:var(--wi)}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--page);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font:400 calc(17px*var(--tune-size,1))/1.6 var(--ft);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--act);outline-offset:3px}
h1,h2,h3{margin:0;font-family:var(--fd);font-weight:var(--hw);letter-spacing:var(--ht);line-height:1.08;text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
h4,summary,b{overflow-wrap:anywhere}
p{margin:0;text-wrap:pretty}
ul,ol,dl,dd{margin:0;padding:0;list-style:none}
.w-wrap{width:min(var(--w),100% - 2*var(--pad));margin-inline:auto}
.w-small{font-size:calc(14px*var(--tune-size,1));color:var(--mute)}
.w-legal{padding:calc(56px*var(--tune-space,1)) 0 var(--gap)}

/* ---- letterhead: name on top, links under it, phone on the right; no button. Phones: one row and a menu ---- */
.w-head{position:relative;z-index:20;border-bottom:1px solid var(--line)}
.w-head-in{width:min(var(--w),100% - 2*var(--pad));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center;column-gap:32px;height:var(--hh)}
.w-name{grid-area:1/1;display:inline-flex;align-items:center;gap:12px;justify-self:start;text-decoration:none;font:var(--hw) calc(24px*var(--tune-size,1))/1.1 var(--fd);letter-spacing:var(--ht)}
.w-name .w-mark{width:32px;height:32px;flex:none}
.w-mark .w-mark-c{fill:var(--page)}
.w-mark path{fill:var(--c);stroke:var(--page);stroke-width:14}
.w-links{grid-area:2/1;padding-left:44px;margin-top:4px}
.w-links ul{display:flex;flex-wrap:wrap;gap:4px 28px}
.w-links a{font-size:calc(15px*var(--tune-size,1));text-decoration:none;padding:3px 0;display:inline-block}
.w-links a:hover{text-decoration:underline}
.w-links a[aria-current],.w-menu-sheet a[aria-current]{text-decoration:underline;text-decoration-color:var(--act);text-decoration-thickness:2px}
.w-head-end{display:contents}
.w-head-end .w-tel{grid-area:1/2;justify-self:end;align-self:center}
.w-head-end .langs{grid-area:2/2;justify-self:end;align-self:center;margin-top:4px;font-size:calc(14px*var(--tune-size,1))}
.w-tel{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:600 21px/1.1 var(--fd);letter-spacing:-.01em;white-space:nowrap}
.w-tel svg{width:18px;height:18px;fill:var(--act)}
.w-tel:hover span{text-decoration:underline}
.w-menu{display:none}
@media(max-width:700px){
  :root{--hh:64px}
  .w-head-in{grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto;column-gap:10px}
  .w-name{font-size:calc(17px*var(--tune-size,1));gap:9px;min-width:0;max-width:100%}.w-name .w-mark{width:26px;height:26px}
  .w-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .w-links,.w-head-end .langs{display:none}
  .w-head-end{grid-area:1/2;display:flex;align-items:center}
  .w-tel{width:44px;height:44px;border-radius:50%;justify-content:center;background:var(--act)}
  .w-tel svg{fill:var(--onact)}
  .w-tel span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .w-menu{display:block;grid-area:1/3}
  .w-menu summary{display:flex;align-items:center;gap:9px;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--cut-s) 0;list-style:none;cursor:pointer;font-size:calc(15px*var(--tune-size,1))}
  .w-menu summary::-webkit-details-marker{display:none}
  .w-menu summary span{width:16px;height:8px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
  .w-menu[open] summary{background:var(--leaf)}
  .w-menu-sheet{position:absolute;left:0;right:0;top:100%;padding:8px var(--pad) 24px;background:var(--page);border-bottom:1px solid var(--line)}
  .w-menu-sheet ul a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font:var(--hw) calc(20px*var(--tune-size,1))/1.2 var(--fd);letter-spacing:var(--ht);text-decoration:none}
  .w-menu-sheet .langs{margin-top:18px;font-size:calc(16px*var(--tune-size,1));gap:1.2em}
}

/* ---- shared bits ---- */
.w-kicker{font:italic 400 calc(18px*var(--tune-size,1))/1.4 var(--fi);color:var(--mute)}
.w-lede{font-size:calc(clamp(17px,1.3vw,18px)*var(--tune-size,1));line-height:1.55;max-width:34em}
.w-caption{font:italic 400 calc(15px*var(--tune-size,1))/1.45 var(--fi);color:var(--mute)}
.w-call{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:13px 28px 14px 26px;background:var(--act);color:var(--onact);border:0;border-radius:var(--cut-s) 0;text-decoration:none;cursor:pointer;font:inherit;text-align:left}
.w-call span{font:italic 400 calc(15px*var(--tune-size,1))/1.2 var(--fi);opacity:.92}
.w-call b{font:650 calc(21px*var(--tune-size,1))/1.15 var(--fd);letter-spacing:-.005em}
.w-call:hover{background:color-mix(in oklab,var(--act) 88%,var(--ink))}
.w-more{font-size:calc(17px*var(--tune-size,1));text-decoration:underline;text-decoration-color:var(--act);text-decoration-thickness:1.5px}
.w-more:hover{text-decoration-thickness:2.5px}
.w-head2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:calc(clamp(28px,3.4vw,48px)*var(--tune-space,1))}
.w-head2 h2{font-size:calc(calc(clamp(30px,3.4vw,46px)*var(--hs))*var(--tune-size,1))}
.w-head2 p{color:var(--mute);font-size:calc(18px*var(--tune-size,1));max-width:30em}
@media(max-width:760px){.w-head2{grid-template-columns:minmax(0,1fr)}}

/* ---- hero "wheel": an exact half split. Words on the page, a garden photo with the year wheel laid on it, bleeding
   off the bottom; the photo shows through the hub ---- */
.w-hero h1{font-size:calc(calc(clamp(40px,3.9vw,56px)*var(--hs))*var(--tune-size,1));line-height:1.04}
.w-hero-wheel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(calc(100svh - var(--hh)),980px)}
.w-hero-wheel .w-hero-words{align-self:end;display:grid;gap:22px;justify-items:start;padding:calc(48px*var(--tune-space,1)) clamp(32px,4.4vw,64px) calc(clamp(48px,7vh,80px)*var(--tune-space,1)) var(--pad)}
.w-hero-wheel h1{font-size:calc(calc(clamp(46px,6.7vw,98px)*var(--hs))*var(--tune-size,1));line-height:.98;color:var(--act);margin-top:-6px}
.w-hero-wheel .w-lede{max-width:25em}
.w-hero-act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:6px}
.w-wheel-pic{position:relative;overflow:hidden;min-height:480px;--wd:min(680px,47vw)}
.w-wheel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.w-wheel-pic .w-wheel{position:absolute;width:var(--wd);left:50%;margin-left:calc(var(--wd) / -2);bottom:calc(var(--wd) * -.17)}
.w-wheel{position:relative;aspect-ratio:1;width:100%}
.w-wh{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.w-m path{fill:var(--c);stroke:var(--page);stroke-width:5}
/* the wheel's labels are part of the drawing: sized in its 600-unit viewBox to their ring segments, they scale with
   the wheel, not with the text size (white-space:nowrap keeps the engine's text-size factor off them; SVG text
   never wraps anyway) */
.w-m text{font:italic 400 25px var(--fi);fill:var(--ink);white-space:nowrap}
/* a label set on a curve has its first and last letters at different heights; hyphens:auto tells the page checks that
   this is not a word broken across two lines (SVG text never wraps or hyphenates) */
.w-wh text{hyphens:auto}
.w-s path{fill:var(--c);stroke:var(--page);stroke-width:5}
.w-s text{font:600 19px var(--fd);fill:var(--ink);letter-spacing:.01em;white-space:nowrap}
.w-m.w-now path{fill:var(--act)}.w-m.w-now text{fill:var(--onact)}
.w-wh-bed{fill:none;stroke:var(--page);stroke-width:118}
.w-wh-hub{fill:none;stroke:var(--page);stroke-width:3}
.w-hub{position:absolute;left:19.8%;top:19.8%;width:60.4%;height:60.4%;border-radius:50%;object-fit:cover}
@media(hover:hover){.w-m path{transition:opacity .25s}.w-m:hover path{opacity:.78}}
@media(max-width:860px){
  .w-hero-wheel{grid-template-columns:minmax(0,1fr);min-height:0}
  .w-hero-wheel .w-hero-words{display:contents}
  .w-hero-wheel .w-kicker,.w-hero-wheel h1,.w-hero-wheel .w-hero-act,.w-hero-wheel .w-lede{margin-inline:var(--pad)}
  .w-hero-wheel .w-kicker{order:1;margin-top:24px}
  .w-hero-wheel h1{order:2;margin-top:8px}
  .w-hero-wheel .w-hero-act{order:3;margin-top:18px;margin-bottom:24px}
  .w-wheel-pic{order:4;min-height:0;height:clamp(420px,118vw,620px);--wd:min(560px,92vw)}
  .w-hero-wheel .w-lede{order:5;margin-top:24px}
  .w-hero-wheel h1{font-size:calc(calc(clamp(46px,8.6vw,72px)*var(--hs))*var(--tune-size,1))}
}
@media(max-width:600px){
  .w-hero-act .w-call{width:100%;align-items:center;text-align:center}
  .w-hero-act .w-more{font-size:calc(16px*var(--tune-size,1))}
  .w-m text{font-size:calc(30px*var(--tune-size,1))}.w-s text{font-size:calc(24px*var(--tune-size,1))}
}

/* ---- hero "slats": a big headline over one landscape photo cut into twelve months, edge to edge, each slat as
   tall as that month's daylight; the slats fill the rest of the first screen ---- */
.w-slats-frame{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto minmax(320px,1fr);column-gap:clamp(32px,4vw,64px);
  min-height:min(calc(100svh - var(--hh)),1000px);padding:calc(clamp(40px,5vh,56px)*var(--tune-space,1)) 0 0;width:min(var(--w),100% - 2*var(--pad));margin-inline:auto}
.w-hero-slats{overflow-x:clip}  /* the slats run edge to edge of the screen while the words keep the content width */
.w-hero-slats h1{grid-area:1/1;align-self:end;font-size:calc(calc(clamp(46px,7.3vw,104px)*var(--hs))*var(--tune-size,1));line-height:.92;color:var(--act)}
.w-hero-side{grid-area:1/2;align-self:end;display:grid;gap:12px;justify-items:start;padding-bottom:6px}
.w-hero-side .w-hero-act{margin-top:10px}
.w-slats{grid-area:2/1/3/3;--sg:clamp(4px,.45vw,7px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sg);margin:clamp(20px,3vh,28px) calc(var(--sg) + 50% - 50vw) 0}
.w-slat{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0}
.w-slat-pic{position:relative;overflow:hidden;align-self:end;height:var(--h);border-radius:calc(clamp(10px,1.6vw,24px)*var(--tune-radius,1)) 0}
.w-slat-pic img{position:absolute;bottom:0;left:calc(var(--i) * -1 * (100% + var(--sg)));width:calc(1200% + 11 * var(--sg));max-width:none;height:calc(100% * 100 / var(--hn,100));object-fit:cover}
.w-slat-m{display:block;padding:9px 0 12px;margin-top:8px;border-top:4px solid var(--c);text-align:center;font:italic 400 calc(15px*var(--tune-size,1))/1 var(--fi);color:var(--mute)}
.w-sm-short{display:none}
.w-hero-slats>.w-caption{margin-top:14px;text-align:center}
@media(max-width:760px){
  .w-slats-frame{grid-template-columns:minmax(0,1fr);grid-template-rows:none;min-height:0;padding-top:20px}
  .w-hero-side{display:contents}
  .w-hero-slats .w-kicker{order:1}
  .w-hero-slats h1{grid-area:auto;order:2;margin-top:8px;font-size:calc(calc(clamp(42px,11.6vw,64px)*var(--hs))*var(--tune-size,1))}
  .w-hero-side .w-hero-act{order:3;margin:18px 0 0}
  .w-slats{grid-area:auto;order:4;height:clamp(340px,60svh,560px);margin-top:22px}
  .w-hero-side .w-lede{order:5;margin-top:22px}
  .w-slat-m{font-size:calc(13px*var(--tune-size,1));border-top-width:3px}.w-sm-long{display:none}.w-sm-short{display:inline}
}

/* ---- hero "leaf": one leaf-cut photo with a small year-wheel badge, words beside it ---- */
.w-hero-leaf{padding-top:calc(clamp(36px,5vw,64px)*var(--tune-space,1));display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center}
.w-leaf-pic{position:relative;height:clamp(380px,44vw,620px)}
.w-leaf-img{width:100%;height:100%;object-fit:cover;border-radius:var(--cut) 0}
.w-badge{position:absolute;top:clamp(28px,4vw,56px);right:calc(-1 * clamp(40px,4vw,62px));width:clamp(92px,9vw,124px);aspect-ratio:1;padding:8px;border-radius:50%;background:var(--page);display:block}
.w-badge .w-mark{width:100%;height:100%;display:block}
.w-hero-leaf .w-hero-words{display:grid;gap:18px;justify-items:start}
@media(max-width:860px){.w-hero-leaf{grid-template-columns:minmax(0,1fr)}.w-hero-leaf .w-hero-words{order:-1}.w-leaf-pic{height:clamp(280px,70vw,440px)}.w-badge{right:16px;top:auto;bottom:-28px}}

/* ---- the year board: four seasons, three months each, rows level across the columns ---- */
.w-year{margin-top:var(--gap)}
.w-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,auto);gap:0 16px}
.w-season{display:grid;grid-row:span 4;grid-template-rows:subgrid;background:var(--leaf);border-radius:var(--cut-s) 0;overflow:hidden}
.w-season ol{display:contents}
.w-season h3{background:var(--c);padding:14px 22px 13px;font-size:calc(21px*var(--tune-size,1));line-height:1.2}
.w-season li{position:relative;padding:16px 22px 18px;border-top:1px solid var(--line)}
.w-season li:first-child{border-top:0}
.w-mo{display:block;font:italic 400 calc(15px*var(--tune-size,1))/1.3 var(--fi);color:var(--mute);margin-bottom:4px}
.w-job{display:block;font-size:calc(17px*var(--tune-size,1));line-height:1.4}
.w-nowtag{display:none}
.w-season li.w-now{box-shadow:none}
.w-season li.w-now .w-mo{color:var(--ink);font-style:normal;font-weight:600}
.w-season li.w-now .w-nowtag{display:block;position:absolute;top:15px;right:16px;padding:2px 10px 3px;border-radius:calc(10px*var(--tune-radius,1)) 0;background:var(--act);color:var(--onact);font:600 calc(12px*var(--tune-size,1))/1.3 var(--fd)}
@media(max-width:980px){.w-board{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:0 16px}.w-season{margin-bottom:16px}}
@media(max-width:560px){.w-board{grid-template-columns:minmax(0,1fr)}}

/* ---- services ---- */
.w-svc{margin-top:var(--gap)}
.w-rings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,72px)}
.w-rings li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;align-items:start;padding:28px 0 30px;border-top:1px solid var(--line)}
.w-ring{width:72px;height:72px;display:block}
.w-ring path.w-off{fill:none;stroke:var(--line);stroke-width:5}
.w-ring path:not(.w-off){fill:var(--c)}
.w-ring-none{border-radius:50%;border:1px solid var(--line)}
.w-rings h3{font-size:calc(calc(23px*var(--hs))*var(--tune-size,1));margin-bottom:6px}
.w-rings p{color:var(--mute);font-size:calc(16px*var(--tune-size,1))}
.w-when{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin-top:12px;font:italic 400 calc(15px*var(--tune-size,1))/1.4 var(--fi)}
.w-when-m>span{color:var(--mute)}
.w-when b{font:650 calc(17px*var(--tune-size,1))/1.4 var(--fd);font-style:normal;color:var(--ink);margin-left:auto}
.w-rings .w-when{color:var(--ink)}
.w-svc-more{margin-top:28px}
.w-sheets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
/* desktop: three cards a row; a last row of two gets wider cards */
@media(min-width:901px){.w-sheets{grid-template-columns:repeat(6,minmax(0,1fr))}
.w-sheets>li{grid-column:span 2}.w-sheets>li:nth-child(3n+1):nth-last-child(2),.w-sheets>li:nth-child(3n+1):nth-last-child(2)~li{grid-column:span 3}
.w-sheets>li:nth-child(3n+1):nth-last-child(2) .w-sheet-img,.w-sheets>li:nth-child(3n+1):nth-last-child(2)~li .w-sheet-img{aspect-ratio:4/3}}
.w-sheet{background:var(--leaf);padding:14px 14px 24px;border-radius:calc(4px*var(--tune-radius,1))}
.w-sheet-img{width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:var(--cut) 0}
.w-sheet-none{display:grid;place-items:center;background:var(--page)}.w-sheet-none .w-mark{width:40%}
.w-label{position:relative;width:82%;margin:-64px 0 0 auto;background:var(--leaf);padding:14px 16px 15px;display:grid;gap:4px;box-shadow:0 6px 18px -8px rgb(0 0 0/.35)}
.w-label h3{font-size:calc(calc(20px*var(--hs))*var(--tune-size,1))}
.w-label p{font:italic 400 calc(15px*var(--tune-size,1))/1.35 var(--fi)}.w-label .w-label-m{font:400 calc(16px*var(--tune-size,1))/1.35 var(--fb,inherit);font-style:normal;color:var(--ink)}
.w-mbar{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;margin-top:4px}.w-mbar i{height:7px;border-radius:calc(2px*var(--tune-radius,1));background:var(--line)}.w-mbar i.on{background:var(--act)}.w-label p span{color:var(--mute)}
.w-label .w-price{font:650 calc(16px*var(--tune-size,1))/1.3 var(--fd);font-style:normal}
.w-sheet-text{margin:16px 6px 0;color:var(--mute);font-size:calc(16px*var(--tune-size,1))}
@media(max-width:900px){.w-rings{grid-template-columns:minmax(0,1fr)}.w-sheets{grid-template-columns:repeat(2,minmax(0,1fr))}.w-sheets>li:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:560px){.w-when{display:grid;gap:2px}.w-when b{margin-left:0}.w-sheets{grid-template-columns:minmax(0,1fr)}.w-rings li{grid-template-columns:64px minmax(0,1fr);gap:18px}.w-rings .w-ring{width:64px;height:64px}}

/* ---- story ---- */
.w-story{margin-top:var(--gap);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,6vw,96px);align-items:center}
.w-story-pic img{width:100%;aspect-ratio:4/4.6;object-fit:cover;border-radius:0 var(--cut)}
.w-story-text{display:grid;gap:20px}
.w-story h2{font-size:calc(calc(clamp(30px,3.4vw,46px)*var(--hs))*var(--tune-size,1))}
.w-story-text>p{font-size:calc(18px*var(--tune-size,1));max-width:32em}
.w-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:8px}
.w-facts div{padding:16px 0;border-top:1px solid var(--line)}
.w-facts .w-facts-wide,.w-facts .w-facts-full{grid-column:1/-1}
.w-facts dt{font:italic 400 calc(15px*var(--tune-size,1))/1.3 var(--fi);color:var(--mute)}
.w-facts dd{font:650 calc(clamp(24px,2.4vw,32px)*var(--tune-size,1))/1.2 var(--fd);letter-spacing:-.01em;margin-top:4px}
.w-facts .w-facts-wide dd{font-size:calc(clamp(19px,1.7vw,22px)*var(--tune-size,1))}
@media(max-width:820px){.w-story{grid-template-columns:minmax(0,1fr)}}

/* ---- quote ---- */
.w-quote{margin-top:calc(var(--gap) * .8);max-width:1040px;display:grid;grid-template-columns:clamp(56px,6vw,84px) fit-content(760px);justify-content:center;gap:clamp(20px,4vw,56px);align-items:center}
.w-quote-pair{grid-template-columns:clamp(56px,6vw,84px) repeat(2,minmax(0,1fr));justify-content:stretch}
.w-sprig{width:100%;height:auto;fill:none;stroke:var(--act);stroke-width:1.6;stroke-linejoin:round}
.w-quote figure{margin:0}
.w-quote blockquote{margin:0}
.w-quote blockquote p{font:500 calc(calc(clamp(24px,2.7vw,38px)*var(--hs))*var(--tune-size,1))/1.28 var(--fd);letter-spacing:-.012em;text-wrap:balance}
.w-quote:not(.w-quote-pair){max-width:1240px}.w-quote:not(.w-quote-pair) blockquote p{font-size:calc(calc(clamp(30px,4vw,57px)*var(--hs))*var(--tune-size,1))}
.w-quote-pair blockquote p{font-size:calc(calc(clamp(20px,1.9vw,26px)*var(--hs))*var(--tune-size,1))}
.w-quote figcaption{margin-top:18px;font:italic 400 calc(16px*var(--tune-size,1))/1.4 var(--fi);color:var(--mute)}
@media(max-width:760px){.w-quote,.w-quote-pair{grid-template-columns:56px minmax(0,1fr);justify-content:stretch;row-gap:32px}.w-quote-pair figure+figure{grid-column:2}}

.w-gal{margin-top:var(--gap)}

/* ---- closing: a fern drawn in line, the phone number as large as a headline ---- */
.w-close{margin-top:var(--gap);background:var(--deep);color:var(--ondeep);padding:calc(clamp(56px,7vw,96px)*var(--tune-space,1)) 0}
.w-close-in{display:grid;grid-template-columns:clamp(110px,16vw,230px) fit-content(820px);justify-content:center;gap:clamp(28px,6vw,96px);align-items:center}
.w-fern{width:100%;height:auto;fill:none;stroke:var(--fernc);stroke-width:1.5;stroke-linejoin:round}
.w-close-pic .w-close-in{grid-template-columns:minmax(0,5fr) minmax(0,7fr);justify-content:stretch}
.w-close-img{width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:var(--cut) 0}
.w-close-text{display:grid;gap:16px;justify-items:start}
.w-close h2{font-size:calc(calc(clamp(28px,3vw,42px)*var(--hs))*var(--tune-size,1))}
.w-close-text>p{font-size:calc(18px*var(--tune-size,1));max-width:34em}
.w-bignum{font:700 calc(clamp(34px,5.6vw,80px)*var(--tune-size,1))/1.05 var(--fd);letter-spacing:-.03em;color:var(--ondeep);text-decoration:none;margin-top:6px}
.w-bignum-mail{font-size:calc(clamp(24px,3.6vw,52px)*var(--tune-size,1));white-space:normal;overflow-wrap:anywhere}
.w-bignum:hover{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--fernc)}
.w-close-mail{font:italic 400 calc(17px*var(--tune-size,1))/1.4 var(--fi)}.w-close-mail a{color:var(--ondeep)}
@media(max-width:600px){.w-close-in,.w-close-pic .w-close-in{grid-template-columns:minmax(0,1fr);justify-content:stretch}.w-fern{width:90px;justify-self:start}.w-close-img{aspect-ratio:16/10}}

/* ---- footer ---- */
.w-foot{padding:calc(56px*var(--tune-space,1)) 0 calc(44px*var(--tune-space,1))}
.w-close+.w-foot,main:has(>.w-close:last-child)+.w-foot{margin-top:0}
.w-foot-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) minmax(0,1fr);gap:32px 48px;align-items:start}
.w-foot-name{display:flex;gap:14px;align-items:flex-start}
.w-foot-name .w-mark{width:40px;height:40px;flex:none}
.w-foot-name b{display:block;font:var(--hw) calc(20px*var(--tune-size,1))/1.2 var(--fd);letter-spacing:var(--ht)}
.w-foot-name span{display:block;font:italic 400 calc(15px*var(--tune-size,1))/1.4 var(--fi);color:var(--mute);margin-top:4px}
.w-foot-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px;font-size:calc(15px*var(--tune-size,1))}
.w-foot-facts dt{font:italic 400 calc(14px*var(--tune-size,1))/1.3 var(--fi);color:var(--mute)}
.w-foot-facts a{overflow-wrap:anywhere}
.w-foot-end{display:grid;gap:10px;justify-items:end;text-align:right}
.w-flegal{display:grid;gap:4px;font-size:calc(15px*var(--tune-size,1))}
@media(max-width:900px){.w-foot-in{grid-template-columns:minmax(0,1fr)}.w-foot-end{justify-items:start;text-align:left}}
@media(max-width:480px){.w-foot-facts{grid-template-columns:minmax(0,1fr)}}

/* ---- inner pages ---- */
.w-ph{padding:calc(clamp(44px,6vw,80px)*var(--tune-space,1)) 0 0}
.w-ph h1{font-size:calc(calc(clamp(40px,5vw,70px)*var(--hs))*var(--tune-size,1));max-width:16em}
.w-ph .w-lede{margin-top:18px;color:var(--mute)}
.w-rows{margin-top:calc(clamp(40px,5vw,72px)*var(--tune-space,1));display:grid;gap:clamp(56px,7vw,104px)}
.w-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,88px);align-items:center;scroll-margin-top:24px}
.w-row-flip .w-row-img{order:2}
.w-row-img{width:100%;aspect-ratio:4/3.2;object-fit:cover;border-radius:var(--cut) 0}
.w-row-flip .w-row-img{border-radius:0 var(--cut)}
.w-row-none{background:var(--leaf)}
.w-row-text{display:grid;gap:16px}
.w-row h2{font-size:calc(calc(clamp(28px,2.8vw,38px)*var(--hs))*var(--tune-size,1))}
.w-row-text>p{max-width:34em}
.w-row-for{font-size:calc(16px*var(--tune-size,1))}.w-row-for span{font-style:italic;font-family:var(--fi);color:var(--mute)}
.w-row-facts{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:18px;border-top:1px solid var(--line);margin-top:4px}
.w-row-when{display:flex;align-items:center;gap:16px}
.w-row-when p{font:italic 400 calc(16px*var(--tune-size,1))/1.4 var(--fi)}.w-row-when p span{color:var(--mute)}
.w-ring-big{width:136px;height:136px}
.w-ring-big text{font:italic 400 calc(64px*var(--tune-size,1)) var(--fi);fill:var(--mute)}
.w-row-price{display:grid;justify-items:end;text-align:right}
.w-row-price b{font:650 calc(22px*var(--tune-size,1))/1.2 var(--fd)}
.w-row-price span{font:italic 400 calc(15px*var(--tune-size,1))/1.4 var(--fi);color:var(--mute)}
@media(max-width:820px){.w-row{grid-template-columns:minmax(0,1fr)}.w-row-flip .w-row-img{order:0}}
@media(max-width:480px){.w-row-price{justify-items:start;text-align:left}}
.w-faq{margin-top:var(--gap)}
.w-faq h2{font-size:calc(calc(clamp(28px,3vw,42px)*var(--hs))*var(--tune-size,1));margin-bottom:28px}
.w-faq-list{border-bottom:1px solid var(--line)}
.w-faq details{border-top:1px solid var(--line)}
.w-faq summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:16px;align-items:center;padding:20px 0;font:600 calc(calc(19px*var(--hs))*var(--tune-size,1))/1.3 var(--fd)}
.w-faq summary::-webkit-details-marker{display:none}
.w-faq summary::after{content:"";width:28px;height:28px;border-radius:calc(10px*var(--tune-radius,1)) 0;background:var(--leaf) linear-gradient(var(--act),var(--act)) center/12px 2px no-repeat}
.w-faq details[open] summary::after{background:var(--act) linear-gradient(var(--onact),var(--onact)) center/12px 2px no-repeat}
.w-faq details p{padding:0 44px 22px 0;max-width:44em;color:var(--mute)}
.w-faq-open dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.w-faq-open dl div{padding:22px 0;border-top:1px solid var(--line)}
.w-faq-open dt{font:600 calc(calc(19px*var(--hs))*var(--tune-size,1))/1.3 var(--fd);margin-bottom:8px}
.w-faq-open dd{color:var(--mute)}
@media(max-width:760px){.w-faq-open dl{grid-template-columns:minmax(0,1fr)}}

.w-crew{margin-top:calc(clamp(40px,5vw,72px)*var(--tune-space,1))}
.w-crew ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(20px,3vw,40px)}
.w-crew li{display:grid;gap:8px;align-content:start;padding:24px;background:var(--leaf);border-radius:var(--cut-s) 0}
.w-ini{display:grid;place-items:center;width:72px;height:72px;border-radius:calc(26px*var(--tune-radius,1)) 0;background:var(--act);color:var(--onact);font:700 calc(34px*var(--tune-size,1))/1 var(--fd);margin-bottom:10px;padding-bottom:2px}
.w-crew h2{font-size:calc(calc(22px*var(--hs))*var(--tune-size,1))}
.w-role{font:italic 400 calc(15px*var(--tune-size,1))/1.4 var(--fi);color:var(--mute)}
.w-roster{margin-top:calc(clamp(40px,5vw,72px)*var(--tune-space,1))}
.w-roster li{display:grid;grid-template-columns:72px minmax(0,1.2fr) minmax(0,2fr);gap:20px 32px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}
.w-roster li .w-ini{margin:0}
.w-roster h2{font-size:calc(calc(22px*var(--hs))*var(--tune-size,1))}
@media(max-width:700px){.w-roster li{grid-template-columns:64px minmax(0,1fr)}.w-roster li>p{grid-column:1/-1}.w-roster .w-ini{width:64px;height:64px}}

.w-ct{margin-top:var(--gap);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start;scroll-margin-top:24px}
.w-ct-info{display:grid;gap:16px}
.w-ct h2{font-size:calc(calc(clamp(28px,3vw,42px)*var(--hs))*var(--tune-size,1))}
.w-ct-info>p{color:var(--mute)}
.w-ct-facts{display:grid;gap:14px;margin-top:8px}
.w-ct-facts div{padding-top:12px;border-top:1px solid var(--line)}
.w-ct-facts dt{font:italic 400 calc(14px*var(--tune-size,1))/1.3 var(--fi);color:var(--mute)}
.w-ct-facts dd{font-size:calc(17px*var(--tune-size,1))}
.w-ct-facts a{overflow-wrap:anywhere}
.w-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;background:var(--leaf);padding:clamp(22px,3vw,40px);border-radius:var(--cut-s) 0}
.w-form label{display:grid;gap:6px;font:italic 400 calc(15px*var(--tune-size,1))/1.3 var(--fi);color:var(--mute)}
.w-form .w-wide{grid-column:1/-1}
.w-form input,.w-form textarea,.w-form select{font:400 calc(17px*var(--tune-size,1))/1.4 var(--ft);color:var(--ink);background:var(--page);border:1px solid var(--line);border-radius:calc(10px*var(--tune-radius,1)) 0;padding:11px 12px;width:100%}
.w-send{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.w-send .w-call{align-items:center}
.w-reach{display:grid;gap:16px}
.w-reach a{display:grid;gap:4px;padding:24px 28px;background:var(--leaf);border-radius:var(--cut-s) 0;text-decoration:none}
.w-reach span{font:italic 400 calc(15px*var(--tune-size,1))/1.3 var(--fi);color:var(--mute)}
.w-reach b{font:650 calc(clamp(22px,2.6vw,34px)*var(--tune-size,1))/1.15 var(--fd);overflow-wrap:anywhere}
.w-reach a:hover b{text-decoration:underline}
@media(max-width:820px){.w-ct{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.w-form{grid-template-columns:minmax(0,1fr)}}
.w-hours{margin-top:var(--gap);margin-bottom:var(--gap);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 clamp(32px,6vw,96px);align-items:start}
@media(max-width:820px){.w-hours{grid-template-columns:minmax(0,1fr)}}
.w-hours h2{font-size:calc(calc(clamp(26px,2.6vw,36px)*var(--hs))*var(--tune-size,1));margin-bottom:20px}
.w-hours-list div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.w-hours-list dt{font-style:italic;font-family:var(--fi);color:var(--mute)}
.wk ol{display:grid;gap:10px}
.wk li{display:grid;grid-template-columns:44px minmax(0,1fr) 120px;gap:14px;align-items:center}
.wk-n{font:italic 400 calc(15px*var(--tune-size,1))/1 var(--fi);color:var(--mute)}
.wk-bar{position:relative;height:20px;background:var(--leaf);border-radius:calc(8px*var(--tune-radius,1)) 0;overflow:hidden}
.wk-bar i{position:absolute;top:0;bottom:0;background:var(--sp);border-radius:calc(8px*var(--tune-radius,1)) 0}
.wk-t{font-size:calc(15px*var(--tune-size,1));text-align:right}
.wk li.off .wk-t{color:var(--mute);font-style:italic;font-family:var(--fi)}
.wk-scale{display:flex;justify-content:space-between;margin:8px 134px 0 58px;font:italic 400 calc(13px*var(--tune-size,1))/1 var(--fi);color:var(--mute)}
main>:last-child:not(.w-close){margin-bottom:var(--gap)}

/* ---- Basic motion: hover only ---- */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .w-sheet-img,.w-row-img{transition:scale .5s cubic-bezier(.2,.7,.2,1)}

  .w-ring path{transition:opacity .3s}
  .w-rings li:hover .w-ring path:not(.w-off){opacity:.82}
}

/* ---- Advanced hero moment: "the year turns" ----
   wheel: the wheel turns into place while the months fill in one after another, January first, and the hub photo
   settles; slats: the twelve months grow up out of the ground one after another; leaf: the photo settles and the
   badge turns a full year. Only transform/opacity, backwards fill on layers that follow the pointer. */
@media (prefers-reduced-motion:no-preference){
  @keyframes w-turn{from{rotate:-60deg;scale:.92;opacity:0}}
  @keyframes w-in{from{opacity:0}}
  @keyframes w-hub{from{opacity:0;scale:1.14}}
  @keyframes w-grow{from{opacity:0;translate:0 60%}}
  @keyframes w-settle{from{scale:1.08}}
  @keyframes w-badge{from{rotate:-270deg;scale:.6;opacity:0}}
  .m-js .w-hero-words,.m-js .w-hero-slats h1,.m-js .w-hero-side .w-kicker,.m-js .w-hero-side .w-lede{animation:w-in .7s .1s ease-out backwards}
  .m-js .w-hero-act{animation:w-in .7s .9s ease-out backwards}
  .m-js .w-wheel-photo{animation:w-settle 1.8s cubic-bezier(.2,.7,.2,1) backwards}
  .m-js .w-wh{animation:w-turn 1.6s cubic-bezier(.16,.8,.24,1) backwards}
  .m-js .w-wh .w-m{animation:w-in .5s calc(.3s + var(--k) * 75ms) ease-out backwards}
  .m-js .w-wh .w-s{animation:w-in .6s 1.05s ease-out backwards}
  .m-js .w-hub{animation:w-hub 1.3s .2s cubic-bezier(.2,.7,.2,1) backwards}
  .m-js .w-slat-pic{animation:w-grow .9s calc(.25s + var(--i) * 65ms) cubic-bezier(.2,.8,.25,1) backwards}
  .m-js .w-slat-pic img{animation:w-settle 1.6s calc(.25s + var(--i) * 65ms) cubic-bezier(.2,.7,.2,1) backwards}
  .m-js .w-slat-m{animation:w-in .6s calc(.6s + var(--i) * 65ms) ease-out backwards}
  .m-js .w-leaf-img{animation:w-hub 1.4s .1s cubic-bezier(.2,.7,.2,1) backwards}
  .m-js .w-badge{animation:w-badge 1.5s .35s cubic-bezier(.16,.8,.24,1) backwards}
  /* scrolling turns the months a little further, like the year moving on */
  @supports (animation-timeline:scroll()){
    @keyframes w-scrollturn{to{rotate:24deg}}
    .m-js .w-wh-months,.m-js .w-wh-seasons{transform-box:view-box;transform-origin:300px 300px;animation:w-scrollturn linear both;animation-timeline:scroll(root);animation-range:0 900px}
  }
}
@media (min-width:1000px){.w-season h3{padding:18px 22px 17px}.w-season li{padding:28px 22px 30px}.w-rings li{padding:calc(44px*var(--tune-space,1)) 0 calc(46px*var(--tune-space,1))}.w-rings h3{margin-bottom:10px}.w-rings p{line-height:1.6}.w-svc{margin-top:calc(var(--gap)*1.5)}}
