.activities-page { background: var(--paper); }
.activities-hero { min-height: min(820px, calc(100svh - 106px)); position: relative; display: grid; align-items: end; isolation: isolate; overflow: hidden; color: var(--white); background: var(--ink); }
.activities-hero > img { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
.activities-hero__veil { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(4,45,47,.94), rgba(4,45,47,.58) 54%, rgba(4,45,47,.12)), linear-gradient(0deg, rgba(4,45,47,.78), transparent 58%); }
.activities-hero__content { padding-block: clamp(8rem, 15vw, 13rem) clamp(4rem, 8vw, 7rem); }
.activities-hero h1 { max-width: 1050px; margin: 0 0 1.5rem; font-family: var(--display); font-size: clamp(3.8rem, 8.8vw, 8.8rem); line-height: .84; letter-spacing: -.06em; text-transform: uppercase; }
.activities-hero h1 em { color: var(--sun); font-family: var(--serif); font-weight: 400; text-transform: none; }
.activities-hero__content > p:not(.eyebrow) { max-width: 680px; color: rgba(255,255,255,.84); font-size: clamp(1.05rem, 1.8vw, 1.35rem); line-height: 1.55; }
.activities-hero__actions { margin-top: 1.8rem; display: flex; align-items: center; flex-wrap: wrap; gap: 1.2rem; }
.activities-intro__grid { display: grid; grid-template-columns: minmax(0,1.22fr) minmax(280px,.78fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: end; }
.activities-intro__grid > div:first-child { min-width: 0; }
.activities-rhythm__heading,
.activities-feeling__content,
.activities-plan__grid > div:first-child { min-width: 0; container-type: inline-size; }
.activities-intro__title { margin: 0; max-width: 820px; font-family: var(--display); font-size: clamp(3rem, 4vw, 4.25rem); line-height: .9; letter-spacing: -.055em; text-transform: uppercase; overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: initial; }
.activities-intro__title span { display: block; }
.activities-rhythm h2, .activities-plan h2 { margin: 0; font-family: var(--display); font-size: clamp(2.55rem, 4.4vw, 5.1rem); line-height: .9; letter-spacing: -.055em; text-transform: uppercase; overflow-wrap: normal; word-break: normal; hyphens: none; }
.activities-intro__grid > p { width: 100%; max-width: 31rem; justify-self: end; margin: 0; color: rgba(7,63,66,.7); font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.75; }
.activities-grid-section { padding-bottom: clamp(5rem, 9vw, 9rem); }
.activities-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 2px solid var(--ink); }
.activity-card { min-height: 330px; padding: clamp(1.4rem, 3vw, 2.4rem); display: grid; grid-template-rows: auto 1fr; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.activity-card:nth-child(2n) { border-right: 0; }
.activity-card:nth-last-child(-n+2) { border-bottom: 0; }
.activity-card > span { font-family: var(--display); font-size: .72rem; letter-spacing: .08em; }
.activity-card > div { align-self: end; }
.activity-card h3 { margin: 0 0 .8rem; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.7rem); font-weight: 400; line-height: .95; }
.activity-card p { max-width: 52ch; margin: 0 0 1.2rem; line-height: 1.65; }
.activity-card small { display: block; font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.activity-card--water { background: #9edce5; }
.activity-card--family { background: var(--sun); }
.activity-card--play { background: var(--coral); color: var(--white); }
.activity-card--animation { background: var(--ink-deep); color: var(--white); }
.activity-card--play p, .activity-card--animation p { color: rgba(255,255,255,.78); }
.activity-card--play small { color: var(--sun); }
.activity-card--animation small { color: #9edce5; }
.activities-rhythm { background: var(--ink-deep); color: var(--white); }
.activities-rhythm__heading { max-width: 980px; }
.activities-rhythm__heading .eyebrow { color: var(--sun); }
.activities-rhythm__steps { margin-top: clamp(2.5rem, 5vw, 4rem); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.2); }
.activities-rhythm__steps article { min-height: 260px; padding: 1.8rem 1.8rem 1.8rem 0; border-right: 1px solid rgba(255,255,255,.18); }
.activities-rhythm__steps article + article { padding-left: 1.8rem; }
.activities-rhythm__steps article:last-child { border-right: 0; }
.activities-rhythm__steps span { color: var(--sun); font-size: .68rem; font-weight: 900; letter-spacing: .13em; }
.activities-rhythm__steps h3 { margin: 3rem 0 .8rem; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 400; line-height: 1; }
.activities-rhythm__steps p { color: rgba(255,255,255,.65); line-height: 1.65; }
.activities-feeling { min-height: 680px; position: relative; display: grid; align-items: end; isolation: isolate; overflow: hidden; color: var(--white); }
.activities-feeling > img { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.activities-feeling__veil { position: absolute; inset: 0; z-index: -2; background: linear-gradient(0deg, rgba(4,45,47,.96), rgba(4,45,47,.18) 72%), linear-gradient(90deg, rgba(4,45,47,.44), transparent); }
.activities-feeling__content { padding-block: clamp(4rem, 8vw, 7rem); }
.activities-feeling__content > p:first-child { margin-bottom: .8rem; color: var(--sun); font-size: .7rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.activities-feeling h2 { max-width: 920px; margin: 0; font-family: var(--display); font-size: clamp(3.4rem, 7.4vw, 7.5rem); line-height: .86; letter-spacing: -.06em; text-transform: uppercase; }
.activities-feeling__content > p:last-child { max-width: 700px; margin: 1.5rem 0 0; color: rgba(255,255,255,.78); font-family: var(--serif); font-size: clamp(1.15rem, 2vw, 1.6rem); line-height: 1.55; }
.activities-plan { background: var(--sun); }
.activities-plan__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.55fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.activities-plan .eyebrow { color: var(--ink); }
.activities-plan__grid > div:first-child > p:last-child { max-width: 700px; margin: 1.3rem 0 0; color: rgba(7,63,66,.72); font-size: 1.04rem; line-height: 1.7; }
.activities-plan__actions { display: grid; gap: .8rem; }
.activities-plan__actions .button { width: 100%; }
.activities-note { margin: 2.5rem 0 0; padding-top: 1.2rem; border-top: 1px solid rgba(7,63,66,.28); color: rgba(7,63,66,.62); font-size: .76rem; line-height: 1.6; }
@media (max-width: 820px) {
  .activities-intro__grid, .activities-plan__grid { grid-template-columns: 1fr; }
  .activities-intro__grid { gap: 2rem; }
  .activities-intro__grid > p { max-width: 42rem; justify-self: start; }
  .activities-intro__title { max-width: 100%; font-size: clamp(3rem, 9vw, 4.25rem); }
  .activities-rhythm__steps { grid-template-columns: 1fr; }
  .activities-rhythm__steps article, .activities-rhythm__steps article + article { min-height: 0; padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .activities-rhythm__steps article:last-child { border-bottom: 0; }
  .activities-rhythm__steps h3 { margin-top: 1.3rem; }
}
@media (max-width: 560px) {
  .activities-hero { min-height: 720px; }
  .activities-hero__content { padding-top: 12rem; }
  .activities-hero h1 { font-size: clamp(3.35rem, 16vw, 5rem); }
  .activities-hero__actions { align-items: flex-start; flex-direction: column; }
  .activities-intro__title { font-size: clamp(2.65rem, 11vw, 3.8rem); line-height: .92; }
  .activities-grid { grid-template-columns: 1fr; }
  .activity-card, .activity-card:nth-child(2n), .activity-card:nth-last-child(-n+2) { min-height: 280px; border-right: 0; border-bottom: 2px solid var(--ink); }
  .activity-card:last-child { border-bottom: 0; }
  .activities-feeling { min-height: 600px; }
}
@supports (font-size: 1cqi) {
  .activities-rhythm h2 { font-size: clamp(2.55rem, 9.5cqi, 5.7rem); }
  .activities-plan h2 { font-size: clamp(2.55rem, 10cqi, 5.7rem); }
  .activities-feeling h2 { font-size: clamp(3rem, 10cqi, 7.5rem); }
}
