/* ==========================================================================
   Design options (21 Oct 2026): the top banners of the iForest page, the HGSE GELC page and
   the winter camps page, three ways each. The sections below the banner have their own
   options in 71-sections-partners-camps.css. Every rule is scoped to html[data-o-<slot>="n"]; the
   current design (no attribute) is the page as it was.
     pt-iforest / pt-hgse   1 wide scene   2 collage   3 path
     camps-design           1 snow globe   2 advent doors   3 trail of venues
   ========================================================================== */
.pt-L, .cw-L { display: none; }

/* ---- Partner pages ------------------------------------------------------- */
/* 1. Wide scene: a pale hero with the landscape (or the stair) across its foot. */
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero { background: var(--pt-tint); color: var(--ink); padding-bottom: clamp(220px, 23vw, 300px); }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero h1, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero h1 { color: var(--pt-deep); }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero__lead, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero__lead, html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero__note, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero__note { color: var(--ink); }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero .breadcrumb, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero .breadcrumb, html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero .breadcrumb a, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero .breadcrumb a, html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero .breadcrumb [data-crumb], html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero .breadcrumb [data-crumb] { color: var(--ink); }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero__art, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero__art { display: none; }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero__grid, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero__grid { position: relative; z-index: 1; grid-template-columns: minmax(0, 780px); justify-content: center; text-align: center; }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-with, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-with, html[data-o-pt-iforest="1"] .pt-page--iforest .pt-pills, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-pills, html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero__actions, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero__actions { margin-inline: auto; justify-content: center; }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero__lead, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero__lead { margin-inline: auto; }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero .breadcrumb, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero .breadcrumb { justify-content: center; }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-L--wide, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-L--wide { display: block; position: absolute; left: 0; right: 0; bottom: 0; height: clamp(200px, 22vw, 290px); z-index: 0; }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-L--wide .pt-wide, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-L--wide .pt-wide { display: block; width: 100%; height: 100%; }
html[data-o-pt-iforest="1"] .pt-page--iforest .pt-hero::after, html[data-o-pt-hgse="1"] .pt-page--hgse .pt-hero::after { z-index: 2; }

/* 2. Collage: a pale paper hero, three polaroids tossed on the right. */
html[data-o-pt-iforest="2"] .pt-page--iforest .pt-hero, html[data-o-pt-hgse="2"] .pt-page--hgse .pt-hero { background: var(--pt-soft); color: var(--ink); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pt-hero h1, html[data-o-pt-hgse="2"] .pt-page--hgse .pt-hero h1 { color: var(--pt-deep); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pt-hero__lead, html[data-o-pt-hgse="2"] .pt-page--hgse .pt-hero__lead, html[data-o-pt-iforest="2"] .pt-page--iforest .pt-hero__note, html[data-o-pt-hgse="2"] .pt-page--hgse .pt-hero__note { color: var(--ink); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pt-hero .breadcrumb, html[data-o-pt-hgse="2"] .pt-page--hgse .pt-hero .breadcrumb, html[data-o-pt-iforest="2"] .pt-page--iforest .pt-hero .breadcrumb a, html[data-o-pt-hgse="2"] .pt-page--hgse .pt-hero .breadcrumb a, html[data-o-pt-iforest="2"] .pt-page--iforest .pt-hero .breadcrumb [data-crumb], html[data-o-pt-hgse="2"] .pt-page--hgse .pt-hero .breadcrumb [data-crumb] { color: var(--ink); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pt-hero__art, html[data-o-pt-hgse="2"] .pt-page--hgse .pt-hero__art { display: none; }
html[data-o-pt-iforest="2"] .pt-page--iforest .pt-L--collage, html[data-o-pt-hgse="2"] .pt-page--hgse .pt-L--collage { display: block; position: relative; min-height: 420px; }
html[data-o-pt-iforest="2"] .pt-page--iforest .pc, html[data-o-pt-hgse="2"] .pt-page--hgse .pc { position: absolute; margin: 0; width: 44%; padding: 10px 10px 12px; background: #fff; box-shadow: 0 6px 18px rgba(43, 33, 24, .2); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pc::before, html[data-o-pt-hgse="2"] .pt-page--hgse .pc::before { content: ""; position: absolute; left: 50%; top: -10px; width: 64px; height: 20px; margin-left: -32px; background: rgba(239, 220, 149, .92); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pc span, html[data-o-pt-hgse="2"] .pt-page--hgse .pc span { display: grid; place-items: center; aspect-ratio: 4 / 3; background: var(--pt-tint); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pc .pt-svg, html[data-o-pt-hgse="2"] .pt-page--hgse .pc .pt-svg { width: 36%; }
html[data-o-pt-iforest="2"] .pt-page--iforest .pc figcaption, html[data-o-pt-hgse="2"] .pt-page--hgse .pc figcaption { margin-top: 8px; font: 800 .95rem var(--font-head); color: var(--ink); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pc--1, html[data-o-pt-hgse="2"] .pt-page--hgse .pc--1 { left: 0; top: 18px; transform: rotate(-6deg); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pc--2, html[data-o-pt-hgse="2"] .pt-page--hgse .pc--2 { right: 0; top: 0; transform: rotate(5deg); }
html[data-o-pt-iforest="2"] .pt-page--iforest .pc--3, html[data-o-pt-hgse="2"] .pt-page--hgse .pc--3 { left: 29%; bottom: -10px; width: 40%; transform: rotate(-1.5deg); }

/* 3. Path: a deep hero with the stops of the day, or the three days, strung on a dotted line. */
html[data-o-pt-iforest="3"] .pt-page--iforest .pt-hero, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-hero { background: var(--pt-deep); }
html[data-o-pt-iforest="3"] .pt-page--iforest .pt-hero__art, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-hero__art { display: none; }
html[data-o-pt-iforest="3"] .pt-page--iforest .pt-hero__grid, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-hero__grid { grid-template-columns: minmax(0, 1fr); }
html[data-o-pt-iforest="3"] .pt-page--iforest .pt-hero__copy, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-hero__copy { max-width: 720px; }
html[data-o-pt-iforest="3"] .pt-page--iforest .pt-L--path, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-L--path { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); position: relative; list-style: none; margin: clamp(22px, 3vw, 36px) 0 0; padding: 0; }
html[data-o-pt-iforest="3"] .pt-page--iforest .pt-L--path::before, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-L--path::before { content: ""; position: absolute; left: 8%; right: 8%; top: 40px; border-top: 3px dotted rgba(255, 255, 255, .55); }
html[data-o-pt-iforest="3"] .pt-page--iforest .pt-L--path li, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-L--path li { position: relative; display: grid; justify-items: center; gap: 3px; padding: 0 6px; text-align: center; }
html[data-o-pt-iforest="3"] .pt-page--iforest .pp-art, html[data-o-pt-hgse="3"] .pt-page--hgse .pp-art { position: relative; display: grid; place-items: center; width: 80px; height: 80px; border-radius: var(--r-lg); background: #fff; border: 4px solid var(--pt-deep); box-shadow: 0 0 0 3px rgba(255, 255, 255, .55); }
html[data-o-pt-iforest="3"] .pt-page--iforest .pp-art .pt-svg, html[data-o-pt-hgse="3"] .pt-page--hgse .pp-art .pt-svg { width: 58px; }
html[data-o-pt-iforest="3"] .pt-page--iforest .pp-art i, html[data-o-pt-hgse="3"] .pt-page--hgse .pp-art i { position: absolute; right: -10px; top: -10px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--brand); color: #fff; font: 800 .86rem var(--font-head); font-style: normal; }
html[data-o-pt-iforest="3"] .pt-page--iforest .pt-L--path b, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-L--path b { margin-top: 8px; font: 800 1rem/1.25 var(--font-head); color: #fff; }
html[data-o-pt-iforest="3"] .pt-page--iforest .pt-L--path small, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-L--path small { font: 700 .84rem var(--font-head); color: var(--accent-yellow); }
@media (max-width: 760px) {
  html[data-o-pt-iforest="2"] .pt-page--iforest .pt-L--collage, html[data-o-pt-hgse="2"] .pt-page--hgse .pt-L--collage { min-height: 300px; }
  html[data-o-pt-iforest="3"] .pt-page--iforest .pt-L--path, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-L--path { grid-auto-flow: row; gap: 14px; }
  html[data-o-pt-iforest="3"] .pt-page--iforest .pt-L--path::before, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-L--path::before { display: none; }
  html[data-o-pt-iforest="3"] .pt-page--iforest .pt-L--path li, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-L--path li { grid-template-columns: 80px minmax(0, 1fr); justify-items: start; text-align: left; align-items: center; gap: 0 14px; }
  html[data-o-pt-iforest="3"] .pt-page--iforest .pp-art, html[data-o-pt-hgse="3"] .pt-page--hgse .pp-art { grid-row: 1 / span 2; }
  html[data-o-pt-iforest="3"] .pt-page--iforest .pt-L--path b, html[data-o-pt-hgse="3"] .pt-page--hgse .pt-L--path b { margin-top: 0; }
}

/* ---- Winter camps page --------------------------------------------------- */
/* All three turn the calendar into doors: only the camp days, as tiles. */
html[data-o-camps-design="1"] .camps-cal__dow, html[data-o-camps-design="1"] .camps-cal__day.is-blank, html[data-o-camps-design="1"] .camps-cal__day:not(.is-camp), html[data-o-camps-design="1"] .camps-cal__month-name, html[data-o-camps-design="1"] .camps-cal__head .eyebrow { display: none; }
html[data-o-camps-design="1"] .camps-cal__grid { display: flex; flex-wrap: wrap; gap: 8px; }
html[data-o-camps-design="2"] .camps-cal__dow, html[data-o-camps-design="2"] .camps-cal__day.is-blank, html[data-o-camps-design="2"] .camps-cal__day:not(.is-camp), html[data-o-camps-design="2"] .camps-cal__month-name, html[data-o-camps-design="2"] .camps-cal__head .eyebrow { display: none; }
html[data-o-camps-design="2"] .camps-cal__grid { display: flex; flex-wrap: wrap; gap: 8px; }
html[data-o-camps-design="3"] .camps-cal__dow, html[data-o-camps-design="3"] .camps-cal__day.is-blank, html[data-o-camps-design="3"] .camps-cal__day:not(.is-camp), html[data-o-camps-design="3"] .camps-cal__month-name, html[data-o-camps-design="3"] .camps-cal__head .eyebrow { display: none; }
html[data-o-camps-design="3"] .camps-cal__grid { display: flex; flex-wrap: wrap; gap: 6px; }

/* 1. Snow globe: a deep winter hero, a round window on the camps, the dates in a strip. */
html[data-o-camps-design="1"] .camps-hero--winter { background: var(--winter-deep); color: #fff; padding-bottom: clamp(120px, 13vw, 160px); }
html[data-o-camps-design="1"] .camps-hero__grid { grid-template-areas: "copy globe" "cal cal"; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; }
html[data-o-camps-design="1"] .camps-hero__copy { grid-area: copy; }
html[data-o-camps-design="1"] .cw-L--globe { display: block; grid-area: globe; width: min(400px, 100%); justify-self: center; }
html[data-o-camps-design="1"] .cw-L--globe .winter-globe { display: block; width: 100%; height: auto; }
html[data-o-camps-design="1"] .camps-hero h1, html[data-o-camps-design="1"] .camps-hero__title, html[data-o-camps-design="1"] .camps-hero__lead, html[data-o-camps-design="1"] .camps-hero__facts, html[data-o-camps-design="1"] .camps-hero__facts b, html[data-o-camps-design="1"] .camps-hero .breadcrumb, html[data-o-camps-design="1"] .camps-hero .breadcrumb a, html[data-o-camps-design="1"] .camps-hero .breadcrumb [data-crumb] { color: #fff; }
html[data-o-camps-design="1"] .camps-hero .btn--secondary { border-color: #fff; color: #fff; }
html[data-o-camps-design="1"] .camps-hero .btn--secondary:hover { background: rgba(255, 255, 255, .16); color: #fff; }
html[data-o-camps-design="1"] .camps-cal { grid-area: cal; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; padding: 16px 22px; border-top: 0; border-radius: var(--r-lg); }
html[data-o-camps-design="1"] .camps-cal__head { margin: 0; align-items: center; gap: 18px; }
html[data-o-camps-design="1"] .camps-cal__head h2 { font-size: 1.15rem; }
html[data-o-camps-design="1"] .camps-cal__month + .camps-cal__month { margin: 0; }
html[data-o-camps-design="1"] .camps-cal__day.is-camp { width: 46px; aspect-ratio: auto; height: 46px; }
html[data-o-camps-design="1"] .camps-cal__weeks { margin: 0; grid-template-columns: repeat(3, auto); }
html[data-o-camps-design="1"] .camps-cal__note { flex-basis: 100%; margin: 0; }

/* 2. Advent doors: no card; the nine days are nine arched doors beside the title. */
html[data-o-camps-design="2"] .camps-hero__grid { align-items: center; }
html[data-o-camps-design="2"] .camps-cal { background: transparent; box-shadow: none; border: 0; padding: 0; border-radius: 0; }
html[data-o-camps-design="2"] .camps-cal__head { justify-content: flex-start; gap: 22px; }
html[data-o-camps-design="2"] .camps-cal__head h2 { font-size: 1.5rem; }
html[data-o-camps-design="2"] .camps-cal__grid { max-width: 460px; gap: 12px; }
html[data-o-camps-design="2"] .camps-cal__day.is-camp { position: relative; width: 78px; height: 100px; aspect-ratio: auto; align-items: flex-end; padding-bottom: 14px; border-radius: 39px 39px 10px 10px; border: 3px solid #fff; font-size: 1.6rem; box-shadow: var(--shadow-sm); }
html[data-o-camps-design="2"] .camps-cal__day.is-camp::after { content: ""; position: absolute; right: 12px; top: 54%; width: 8px; height: 8px; border-radius: 50%; background: var(--accent-yellow); }
html[data-o-camps-design="2"] .camps-cal__day.is-camp[data-week="w2"] { background: var(--sage-deep); color: #fff; }

/* 3. Trail of venues: a sage hero, the three venues strung along a dotted trail. */
html[data-o-camps-design="3"] .camps-hero--winter { background: var(--accent-sage); }
html[data-o-camps-design="3"] .camps-hero__grid { grid-template-areas: "copy cal" "stops stops"; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
html[data-o-camps-design="3"] .camps-hero__copy { grid-area: copy; }
html[data-o-camps-design="3"] .camps-cal { grid-area: cal; border-top: 0; }
html[data-o-camps-design="3"] .camps-cal__day.is-camp { width: 40px; height: 40px; aspect-ratio: auto; }
html[data-o-camps-design="3"] .cw-L--stops { display: grid; grid-area: stops; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 18px; position: relative; list-style: none; margin: 0; padding: 0; }
html[data-o-camps-design="3"] .cw-L--stops::before { content: ""; position: absolute; left: 12%; right: 12%; top: 18px; border-top: 3px dotted rgba(43, 33, 24, .5); }
html[data-o-camps-design="3"] .cw-L--stops a { position: relative; display: grid; justify-items: center; gap: 4px; padding: 0 10px 12px; color: var(--ink); text-decoration: none; text-align: center; }
html[data-o-camps-design="3"] .cw-pin { position: relative; z-index: 1; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--brand); color: #fff; font: 800 1.05rem var(--font-head); box-shadow: 0 0 0 4px var(--accent-sage); }
html[data-o-camps-design="3"] .cw-L--stops .winter-scene { width: min(210px, 100%); margin-top: 6px; border: 4px solid #fff; border-radius: var(--r-lg); }
html[data-o-camps-design="3"] .cw-L--stops b { font: 800 1.08rem/1.25 var(--font-head); }
html[data-o-camps-design="3"] .cw-L--stops small { font-size: .88rem; color: var(--ink); }
html[data-o-camps-design="3"] .cw-L--stops a:hover b { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 899px) {
  html[data-o-camps-design="3"] .cw-L--stops .winter-scene { width: 150px; }
  html[data-o-camps-design="1"] .camps-hero__grid { grid-template-areas: "copy" "globe" "cal"; grid-template-columns: 1fr; }
  html[data-o-camps-design="3"] .camps-hero__grid { grid-template-areas: "copy" "cal" "stops"; grid-template-columns: 1fr; }
  html[data-o-camps-design="3"] .cw-L--stops { grid-template-columns: 1fr; gap: 14px; }
  html[data-o-camps-design="3"] .cw-L--stops::before { display: none; }
  html[data-o-camps-design="2"] .camps-cal__day.is-camp { width: 62px; height: 82px; font-size: 1.3rem; }
}
html[data-o-camps-design="1"] .camps-hero .winter-flakes { opacity: .3; }

/* Advent doors on the deeper winter blue: the calendar's words turn light. */
html[data-o-camps-design="2"] .camps-hero--winter .camps-cal__head h2, html[data-o-camps-design="2"] .camps-hero--winter .camps-cal__month-name, html[data-o-camps-design="2"] .camps-hero--winter .camps-cal__dow { color: #fff; }
html[data-o-camps-design="2"] .camps-hero--winter .camps-cal__count b { color: var(--accent-yellow); }
html[data-o-camps-design="2"] .camps-hero--winter .camps-cal__count span, html[data-o-camps-design="2"] .camps-hero--winter .camps-cal__note { color: rgba(255, 255, 255, .82); }
.camps-hero--winter .winter-flakes { opacity: .18; }
