/* Garden: four practices, with responsive layouts and shared brand styles. */
.practice-option{padding-block:80px 105px;scroll-margin-top:78px;--clay:var(--ink)}
.offering-heading .eyebrow{margin-bottom:24px}
.offering-heading h2{font-size:clamp(42px,4.6vw,68px);line-height:1.13;color:rgb(159,188,180)}
.offering-heading .script-word{display:inline-block;font-size:1.05em;line-height:1.5;color:rgb(139,168,160)}
.offering-intro{font-size:16px;line-height:1.8;color:var(--muted);margin-top:22px}
.offering-number{font:18px/1 var(--display);font-variant-numeric:tabular-nums}
.offering-feeling{font-size:14px;line-height:1.5}
.offering-description{font-size:16px;line-height:1.8}
.offering-schedule{display:flex;flex-direction:column;gap:7px;font-size:14px;line-height:1.5}
.offering-schedule>span:last-child{font:clamp(23px,2.1vw,30px)/1.3 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.offering-link{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:52px;font-size:14px;line-height:1.5;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);padding-top:13px;transition:color .3s,border-color .3s}
.offering-link>span:first-child{background:linear-gradient(currentColor,currentColor) left bottom / 0% 1px no-repeat;padding-block:3px;transition:background-size .4s var(--ease)}
.offering-arrow{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;font:25px/1 Georgia,serif;transition:transform .4s var(--ease),background-color .3s,color .3s}
@media(hover:hover){
  .offering-link:hover{color:var(--offering-accent);border-top-color:var(--offering-accent)}
  .offering-link:hover>span:first-child{background-size:100% 1px}
  .offering-link:hover .offering-arrow{background:var(--offering-accent);color:var(--paper);transform:translate(2px,-2px)}
}
.offering-link:focus-visible{color:var(--offering-accent);outline-color:var(--offering-accent)}
.offering-link:focus-visible>span:first-child{background-size:100% 1px}
.offering-link:focus-visible .offering-arrow,.offering-link:active .offering-arrow{background:var(--offering-accent);color:var(--paper)}
.offering-flow{--offering-tint:#e0e9e2;--offering-accent:var(--green)}
.offering-vinyasa{--offering-tint:#f3e4ce;--offering-accent:var(--peach-ink)}
.offering-meditacion{--offering-tint:#e9e0eb;--offering-accent:var(--lilac-ink)}
.offering-privada{--offering-tint:#efdfda;--offering-accent:var(--rose-ink)}
.option-garden{background:var(--paper)}
.option-garden .offering-heading{text-align:center;margin-bottom:55px}
.option-garden .eyebrow{justify-content:center}
.garden-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.garden-card{min-width:0;display:flex;flex-direction:column;padding:28px 25px 24px;background:var(--offering-tint);border-radius:90px 90px 12px 12px;color:var(--ink)}
.garden-card-top{display:flex;justify-content:space-between;align-items:center;margin:10px 8px 35px;color:var(--offering-accent);min-height:52px}
.offering-mark{display:block;width:47px;height:47px;border:1px solid currentColor;border-radius:50%;position:relative;opacity:.7}
.offering-mark::after{content:'';position:absolute;inset:7px;border:1px solid currentColor;border-radius:50%}
.offering-vinyasa .offering-mark{border-radius:50% 0 50% 50%;rotate:-25deg}
.offering-meditacion .offering-mark::after{inset:19px;background:currentColor}
.offering-privada .offering-mark{width:34px;margin-right:12px}
.offering-privada .offering-mark::after{inset:-1px -13px -1px 11px}
.garden-card .offering-feeling{color:var(--offering-accent);margin-bottom:15px;font-size:13px}
.garden-card h3{font-size:clamp(30px,2.8vw,42px);line-height:1.12;min-height:2.24em}
.garden-card .offering-description{margin:20px 0 28px}
.garden-card .offering-schedule{margin-top:auto;padding-top:20px;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.garden-card .offering-link{margin-top:25px}
.garden-card.offering-privada .offering-schedule>span:last-child{font-size:23px}
@media(min-width:1600px){
  .garden-card{padding-inline:32px}
  .garden-card h3{font-size:44px}
}
@media(max-width:1100px){
  .garden-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .garden-card{padding:32px}
  .garden-card h3{font-size:40px;min-height:0}
  .garden-card-top{margin-bottom:25px}
}
@media(max-width:760px){
  .practice-option{padding-block:60px 75px}
  .offering-heading h2{font-size:48px}
  .offering-heading .eyebrow{font-size:12px}
}
@media(max-width:540px){
  .garden-grid{grid-template-columns:1fr;gap:22px}
  .garden-card{padding:30px;border-radius:65px 65px 10px 10px}
  .garden-card-top{margin:0 2px 25px}
  .garden-card h3{font-size:39px}
  .garden-card .offering-description{margin-bottom:24px}
  .garden-card .offering-feeling{font-size:14px}
  .garden-card .offering-schedule>span:last-child{font-size:28px}
  .offering-heading h2{font-size:clamp(36px,10vw,48px)}
  .offering-intro{font-size:16px}
  .option-garden .offering-heading{margin-bottom:35px}
}
@media(prefers-reduced-motion:reduce){
  .practice-option *{transition:none!important}
  .offering-link:hover .offering-arrow{transform:none}
}
@media print{
  .practice-option{padding-block:30px}
  .garden-grid{grid-template-columns:1fr 1fr}
  .garden-card{break-inside:avoid}
}
