/* ==========================================================================
   Design options (22 Oct 2026): every section of the iForest and HGSE GELC pages
   (they share one template, so one set of choices) and of the winter camps page,
   three ways each. Option 0 is the page as it is; every rule is scoped to
   html[data-o-<slot>="n"].
     pt-facts     1 soft cards   2 deep band     3 two-column list
     pt-about     1 letter       2 split panel   3 centred statement
     pt-know      1 cards        2 checklist band 3 numbered steps
     pt-people    1 paper        2 dark band     3 stacked
     pt-faq       1 split        2 cards         3 deep band
     camps-day    1 timeline     2 tiles         3 quiet list
     camps-know   1 one column   2 deep band     3 chips
     camps-close  1 snow         2 deep          3 slim bar
   ========================================================================== */

/* ---- Key facts ---- */
html[data-o-pt-facts="1"] .pt-page .pt-facts__row { gap: 14px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
html[data-o-pt-facts="1"] .pt-page .pt-facts__row li { padding: 16px 18px; background: #fff; border-radius: var(--r-lg); border-top: 4px solid var(--pt); box-shadow: var(--shadow-sm); }
html[data-o-pt-facts="1"] .pt-page .pt-facts__row li + li { border-left: 0; }
html[data-o-pt-facts="1"] .pt-page .pt-facts__row li:first-child { padding-left: 18px; }
html[data-o-pt-facts="2"] .pt-page .pt-facts { background: var(--pt-deep); color: #fff; }
html[data-o-pt-facts="2"] .pt-page .pt-facts__row b, html[data-o-pt-facts="2"] .pt-page .pt-facts__row small, html[data-o-pt-facts="2"] .pt-page .pt-facts__note { color: #fff; }
html[data-o-pt-facts="2"] .pt-page .pt-facts__ico { background: rgba(255, 255, 255, .16); color: #fff; }
html[data-o-pt-facts="2"] .pt-page .pt-facts__row li + li { border-left-color: rgba(255, 255, 255, .5); }
html[data-o-pt-facts="2"] .pt-page .pt-facts__fee b { color: var(--accent-yellow); }
html[data-o-pt-facts="2"] .pt-page .pt-facts__fee span > small:first-child { color: rgba(255, 255, 255, .9); }
html[data-o-pt-facts="3"] .pt-page .pt-facts__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(24px, 4vw, 56px); }
html[data-o-pt-facts="3"] .pt-page .pt-facts__row li, html[data-o-pt-facts="3"] .pt-page .pt-facts__row li:first-child { padding: 14px 0; border-top: 1px solid var(--line); }
html[data-o-pt-facts="3"] .pt-page .pt-facts__row li + li { border-left: 0; }
@media (max-width: 700px) { html[data-o-pt-facts="3"] .pt-page .pt-facts__row { grid-template-columns: 1fr; } }

/* ---- About the partner ---- */
html[data-o-pt-about="1"] .pt-page .pt-about { background: var(--pt-soft); color: var(--ink); padding-bottom: clamp(40px, 5vw, 64px); }
html[data-o-pt-about="1"] .pt-page .pt-about__grid { grid-template-columns: minmax(0, 820px); justify-content: center; }
html[data-o-pt-about="1"] .pt-page .pt-about__text { border-left: 6px solid var(--pt); padding-left: clamp(18px, 3vw, 32px); }
html[data-o-pt-about="1"] .pt-page .pt-about__text h2, html[data-o-pt-about="1"] .pt-page .pt-about__text p { color: var(--ink); }
html[data-o-pt-about="1"] .pt-page .pt-lockup--big b { color: var(--pt-deep); }
html[data-o-pt-about="1"] .pt-page .pt-lockup--big small { color: var(--ink-soft); }
html[data-o-pt-about="1"] .pt-page .pt-about__tag { color: var(--pt-warm); }
html[data-o-pt-about="1"] .pt-page .pt-edge, html[data-o-pt-about="2"] .pt-page .pt-edge, html[data-o-pt-about="3"] .pt-page .pt-edge { display: none; }
html[data-o-pt-about="2"] .pt-page .pt-about { background: var(--canvas-2); color: var(--ink); padding-block: clamp(36px, 5vw, 60px); }
html[data-o-pt-about="2"] .pt-page .pt-about__grid { gap: 0; align-items: stretch; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
html[data-o-pt-about="2"] .pt-page .pt-about__mark { align-content: center; padding: clamp(28px, 4vw, 48px); background: var(--pt-deep); }
html[data-o-pt-about="2"] .pt-page .pt-about__text { padding: clamp(24px, 4vw, 44px); background: #fff; }
html[data-o-pt-about="2"] .pt-page .pt-about__text h2, html[data-o-pt-about="2"] .pt-page .pt-about__text p { color: var(--ink); }
html[data-o-pt-about="3"] .pt-page .pt-about { background: var(--pt-tint); color: var(--ink); text-align: center; padding-bottom: clamp(40px, 5vw, 64px); }
html[data-o-pt-about="3"] .pt-page .pt-about__grid { grid-template-columns: minmax(0, 760px); justify-content: center; justify-items: center; }
html[data-o-pt-about="3"] .pt-page .pt-about__mark { justify-items: center; }
html[data-o-pt-about="3"] .pt-page .pt-lockup--big b { color: var(--pt-deep); }
html[data-o-pt-about="3"] .pt-page .pt-lockup--big small { color: var(--ink-soft); }
html[data-o-pt-about="3"] .pt-page .pt-about__tag { color: var(--pt-warm); max-width: none; }
html[data-o-pt-about="3"] .pt-page .pt-about__text h2, html[data-o-pt-about="3"] .pt-page .pt-about__text p { color: var(--ink); margin-inline: auto; }

/* ---- What a child takes away ---- */

/* ---- The day (iForest) and the modules (HGSE) ---- */

/* ---- Sample activities ---- */

/* ---- Before you book / is this for you ---- */
html[data-o-pt-know="1"] .pt-page .pt-know__list { gap: 14px; }
html[data-o-pt-know="1"] .pt-page .pt-know__list li { padding: 18px; background: #fff; border-top: 4px solid var(--pt); border-radius: var(--r-md); box-shadow: var(--shadow-sm); }
html[data-o-pt-know="2"] .pt-page .pt-know { background: var(--pt-deep); }
html[data-o-pt-know="2"] .pt-page .pt-know .pt-h, html[data-o-pt-know="2"] .pt-page .pt-know__list b, html[data-o-pt-know="2"] .pt-page .pt-know__list small { color: #fff; }
html[data-o-pt-know="2"] .pt-page .pt-know__list { grid-template-columns: 1fr; max-width: 860px; }
html[data-o-pt-know="2"] .pt-page .pt-know__list li { border-top-color: rgba(255, 255, 255, .28); }
html[data-o-pt-know="2"] .pt-page .pt-know__tick { background: var(--accent-yellow); color: var(--pt-deep); }
html[data-o-pt-know="3"] .pt-page .pt-know__list { counter-reset: pk; }
html[data-o-pt-know="3"] .pt-page .pt-know__list li { counter-increment: pk; }
html[data-o-pt-know="3"] .pt-page .pt-know__tick { width: 38px; height: 38px; background: var(--brand); font: 800 1.05rem var(--font-head); }
html[data-o-pt-know="3"] .pt-page .pt-know__tick svg { display: none; }
html[data-o-pt-know="3"] .pt-page .pt-know__tick::before { content: counter(pk); }

/* ---- The letter and the mentors ---- */
html[data-o-pt-people="1"] .pt-page .pt-people { background: var(--canvas-2); }
html[data-o-pt-people="1"] .pt-page .pt-letter { padding: clamp(26px, 3.4vw, 40px); background: #fff; border-radius: var(--r-lg); box-shadow: var(--shadow-sm); border-top: 5px solid var(--pt); }
html[data-o-pt-people="1"] .pt-page .pt-letter__mark { left: 18px; top: -6px; }
html[data-o-pt-people="2"] .pt-page .pt-people { background: var(--pt-deep); }
html[data-o-pt-people="2"] .pt-page .pt-letter blockquote, html[data-o-pt-people="2"] .pt-page .pt-letter figcaption, html[data-o-pt-people="2"] .pt-page .pt-letter figcaption b { color: #fff; }
html[data-o-pt-people="2"] .pt-page .pt-letter__mark { color: var(--accent-yellow); opacity: .6; }
html[data-o-pt-people="2"] .pt-page .pt-teacher { background: var(--pt-tint); color: var(--ink); }
html[data-o-pt-people="2"] .pt-page .pt-teacher__h { color: var(--pt-deep); }
html[data-o-pt-people="2"] .pt-page .pt-teacher h3, html[data-o-pt-people="2"] .pt-page .pt-teacher p { color: var(--ink); }
html[data-o-pt-people="2"] .pt-page .pt-teacher__role { color: var(--pt-deep) !important; }
html[data-o-pt-people="3"] .pt-page .pt-people__grid { grid-template-columns: minmax(0, 780px); justify-content: center; }
html[data-o-pt-people="3"] .pt-page .pt-letter { text-align: center; }
html[data-o-pt-people="3"] .pt-page .pt-letter__mark { position: static; display: block; height: 80px; margin-bottom: -20px; }
html[data-o-pt-people="3"] .pt-page .pt-letter blockquote { padding-top: 0; }
html[data-o-pt-people="3"] .pt-page .pt-teacher { grid-template-columns: auto 1fr; column-gap: 20px; align-items: center; }
html[data-o-pt-people="3"] .pt-page .pt-teacher__h { grid-column: 1 / -1; }

/* ---- Questions ---- */
html[data-o-pt-faq="1"] .pt-page .pt-faq .wrap { display: grid; gap: 18px clamp(24px, 4vw, 56px); grid-template-columns: minmax(0, .5fr) minmax(0, 1.5fr); align-items: start; }
html[data-o-pt-faq="1"] .pt-page .pt-faq .pt-h { position: sticky; top: 96px; }
html[data-o-pt-faq="1"] .pt-page .pt-faq .faq-list { max-width: none; margin: 0; }
html[data-o-pt-faq="2"] .pt-page .pt-faq .faq-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: none; align-items: start; }
html[data-o-pt-faq="2"] .pt-page .pt-faq .faq-item { border-top: 4px solid var(--pt); border-radius: var(--r-md); }
html[data-o-pt-faq="3"] .pt-page .pt-faq { background: var(--pt-deep); }
html[data-o-pt-faq="3"] .pt-page .pt-faq .pt-h { color: #fff; }
html[data-o-pt-faq="3"] .pt-page .pt-faq .faq-list { max-width: 920px; }
@media (max-width: 800px) { html[data-o-pt-faq="1"] .pt-page .pt-faq .wrap { grid-template-columns: 1fr; } html[data-o-pt-faq="1"] .pt-page .pt-faq .pt-h { position: static; } html[data-o-pt-faq="2"] .pt-page .pt-faq .faq-list { grid-template-columns: 1fr; } }

/* ---- Winter camps page ---- */
html[data-o-camps-day="2"] .camps-day__blocks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 760px) { html[data-o-camps-day="2"] .camps-day__blocks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
html[data-o-camps-day="2"] .camps-day__block { flex: none; min-height: 150px; border-radius: var(--r-lg); }
html[data-o-camps-day="3"] .camps-day { background: var(--canvas-2); }
html[data-o-camps-day="3"] .camps-day__blocks { flex-direction: column; gap: 0; }
html[data-o-camps-day="3"] .camps-day__block, html[data-o-camps-day="3"] .camps-day__block.tone-0, html[data-o-camps-day="3"] .camps-day__block.tone-1, html[data-o-camps-day="3"] .camps-day__block.tone-2, html[data-o-camps-day="3"] .camps-day__block.is-quiet { flex: none; display: grid; grid-template-columns: 110px 190px minmax(0, 1fr); gap: 0 18px; align-items: baseline; padding: 14px 4px; background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; color: var(--ink); }
html[data-o-camps-know="1"] .camps-know__grid { grid-template-columns: 1fr; }
html[data-o-camps-know="1"] .camps-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
html[data-o-camps-know="1"] .camps-know .faq-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
html[data-o-camps-know="2"] .camps-know { background: var(--winter-deep); }
html[data-o-camps-know="2"] .camps-know h2 { color: #fff; }
html[data-o-camps-know="3"] .camps-facts { display: flex; flex-wrap: wrap; gap: 10px; }
html[data-o-camps-know="3"] .camps-facts li { flex: 1 1 260px; display: grid; grid-template-columns: auto 1fr; gap: 0 10px; align-items: baseline; padding: 12px 18px; border-radius: var(--r-pill); }
html[data-o-camps-know="3"] .camps-facts b { margin: 0; }
@media (max-width: 900px) { html[data-o-camps-know="1"] .camps-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } html[data-o-camps-know="1"] .camps-know .faq-list { grid-template-columns: 1fr; } }
html[data-o-camps-close="1"] .camps-close { background: var(--winter); color: var(--ink); }
html[data-o-camps-close="1"] .camps-close h2 { color: var(--ink); }
html[data-o-camps-close="1"] .camps-close p { color: var(--ink-soft); }
html[data-o-camps-close="2"] .camps-close { background: var(--winter-deep); }
html[data-o-camps-close="3"] .camps-close { padding-block: 18px; }
html[data-o-camps-close="3"] .camps-close h2 { font-size: 1.2rem; margin: 0; }
html[data-o-camps-close="3"] .camps-close p { display: none; }

/* ---- pt-learn: what a child takes away -------------------------------------- */
html[data-o-pt-learn="1"] .pt-page .pt-learn__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 22px 18px; }
html[data-o-pt-learn="1"] .pt-page .pt-learn__grid li { grid-template-columns: 1fr; justify-items: center; text-align: center; background: transparent; padding: 6px; gap: 10px; }
html[data-o-pt-learn="1"] .pt-page .pt-learn__art { width: 104px; height: 104px; background: #fff; border-radius: 50%; }
html[data-o-pt-learn="2"] .pt-page .pt-learn__grid { grid-template-columns: 1fr; counter-reset: l; max-width: 760px; gap: 0; }
html[data-o-pt-learn="2"] .pt-page .pt-learn__grid li { counter-increment: l; background: transparent; border-radius: 0; border-top: 1px solid color-mix(in srgb, var(--pt-mid) 40%, transparent); padding: 14px 4px; position: relative; }
html[data-o-pt-learn="2"] .pt-page .pt-learn__grid li::after { content: counter(l); position: absolute; right: 8px; top: 8px; font: 800 2rem var(--font-head); color: var(--pt-mid); opacity: .5; }
html[data-o-pt-learn="3"] .pt-page .pt-learn__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 12px; }
html[data-o-pt-learn="3"] .pt-page .pt-learn__grid li { flex: 0 0 min(310px, 82%); scroll-snap-align: start; grid-template-columns: 1fr; }

/* ---- pt-day: the day (iForest trail) or the modules (HGSE) ------------------- */
html[data-o-pt-day="1"] .pt-page .pgx-stop__path { display: none; }
html[data-o-pt-day="1"] .pt-page .pgx-stop { height: auto; min-height: 0; display: flex; align-items: center; gap: 18px; padding: 8px 0; }
html[data-o-pt-day="1"] .pt-page .pgx-stop__node { position: static; transform: none; left: auto; flex: none; width: 72px; }
html[data-o-pt-day="1"] .pt-page .pgx-stop__card, html[data-o-pt-day="1"] .pt-page .pgx-stop--r .pgx-stop__card, html[data-o-pt-day="1"] .pt-page .pgx-stop--l .pgx-stop__card { position: static; transform: none; width: auto; max-width: none; flex: 1; }
html[data-o-pt-day="1"] .pt-page .pt-mods__grid { grid-template-columns: 1fr; }
html[data-o-pt-day="1"] .pt-page .pt-mod ul { columns: 2; }
html[data-o-pt-day="2"] .pt-page .pgx-trail { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 14px; max-width: none; }
html[data-o-pt-day="2"] .pt-page .pgx-stop__path { display: none; }
html[data-o-pt-day="2"] .pt-page .pgx-stop { height: auto; display: flex; flex-direction: column; gap: 12px; padding: 16px; background: #fff; border-radius: var(--r-lg); }
html[data-o-pt-day="2"] .pt-page .pgx-stop__node { position: relative; left: auto; top: auto; transform: none; width: 72px; }
html[data-o-pt-day="2"] .pt-page .pgx-stop__card, html[data-o-pt-day="2"] .pt-page .pgx-stop--r .pgx-stop__card, html[data-o-pt-day="2"] .pt-page .pgx-stop--l .pgx-stop__card { position: static; transform: none; width: auto; max-width: none; padding: 0; border: 0; box-shadow: none; }
html[data-o-pt-day="2"] .pt-page .pt-mod { background: #fff; border-radius: var(--r-lg); }
html[data-o-pt-day="3"] .pt-page .pgx-learn, html[data-o-pt-day="3"] .pt-page .pt-mods { background: var(--pt-deep); }
html[data-o-pt-day="3"] .pt-page .pgx-learn .pgx-h, html[data-o-pt-day="3"] .pt-page .pt-mods .pt-h { color: #fff; }
html[data-o-pt-day="3"] .pt-page .pgx-stop__path path { stroke: #fff; }
html[data-o-pt-day="3"] .pt-page .pt-mod { background: transparent; color: #fff; box-shadow: none; border: 1px solid rgba(255, 255, 255, .25); }
html[data-o-pt-day="3"] .pt-page .pt-mod h3, html[data-o-pt-day="3"] .pt-page .pt-mod li { color: #fff; }

/* ---- pt-acts: sample activities ------------------------------------------- */
html[data-o-pt-acts="1"] .pt-page .pt-polas li, html[data-o-pt-acts="1"] .pt-page .pt-polas li:nth-child(even) { transform: none; box-shadow: none; border: 1px solid color-mix(in srgb, var(--pt-mid) 35%, #fff); border-radius: var(--r-md); }
html[data-o-pt-acts="1"] .pt-page .pt-polas li::before { display: none; }
html[data-o-pt-acts="2"] .pt-page .pt-polas { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 18px; padding-bottom: 14px; }
html[data-o-pt-acts="2"] .pt-page .pt-polas li { flex: 0 0 min(240px, 72%); scroll-snap-align: start; }
html[data-o-pt-acts="3"] .pt-page .pt-polas { grid-template-columns: 1fr; gap: 10px; max-width: 760px; }
html[data-o-pt-acts="3"] .pt-page .pt-polas li, html[data-o-pt-acts="3"] .pt-page .pt-polas li:nth-child(even) { transform: none; grid-template-columns: 96px minmax(0, 1fr); column-gap: 16px; box-shadow: none; border: 1px solid color-mix(in srgb, var(--pt-mid) 35%, #fff); }
html[data-o-pt-acts="3"] .pt-page .pt-polas li::before { display: none; }
html[data-o-pt-acts="3"] .pt-page .pt-polas__art { grid-row: 1 / span 2; margin: 0; }
html[data-o-pt-day="3"] .pt-page .pt-mods .pt-appr b, html[data-o-pt-day="3"] .pt-page .pt-mods .pt-appr span { color: #fff; }
html[data-o-pt-day="3"] .pt-page .pt-mods .pt-appr { border-top-color: rgba(255, 255, 255, .3); }
/* the trail: dotted arcs from stop to stop, a loop at the right end, then back */
html[data-o-camps-day="1"] .camps-day { position: relative; overflow: hidden; background: var(--winter); padding-bottom: clamp(84px, 9vw, 116px); }
html[data-o-camps-day="1"] .camps-day .section-title { color: var(--winter-deep); }
html[data-o-camps-day="1"] .camps-day::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: clamp(40px, 5vw, 64px); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='80' viewBox='0 0 720 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40C80 12 160 22 240 40S400 62 480 38 640 14 720 40V80H0Z' fill='%23fff'/%3E%3C/svg%3E") 0 100% / 720px 100% repeat-x; pointer-events: none; }
html[data-o-camps-day="1"] .camps-day .wrap { position: relative; z-index: 1; }
html[data-o-camps-day="1"] .camps-day__blocks { counter-reset: d; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0; margin: 26px 0 0; padding: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 130' preserveAspectRatio='none'%3E%3Cpath d='M50 40C100 40 100 90 150 90S200 40 250 40 300 90 350 90 400 40 450 40 500 90 550 90 600 40 650 40' fill='none' stroke='%23fff' stroke-width='5' stroke-linecap='round' stroke-dasharray='1 12' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 0 0 / 100% 130px no-repeat; }
html[data-o-camps-day="1"] .camps-day__block, html[data-o-camps-day="1"] .camps-day__block.tone-0, html[data-o-camps-day="1"] .camps-day__block.tone-1, html[data-o-camps-day="1"] .camps-day__block.tone-2, html[data-o-camps-day="1"] .camps-day__block.is-quiet { counter-increment: d; position: relative; flex: none; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0; padding: 0 6px; background: transparent; border: 0; border-radius: 0; color: var(--winter-deep); }
html[data-o-camps-day="1"] .camps-day__block:nth-child(even) { margin-top: 50px; }
html[data-o-camps-day="1"] .camps-day__ico { position: relative; z-index: 1; width: 76px; height: 76px; margin-top: 2px; border-radius: 26px; background: #fff; box-shadow: 0 0 0 5px var(--winter), 0 0 0 8px #fff, 0 6px 14px rgba(45, 91, 107, .22); }
html[data-o-camps-day="1"] .camps-day__block::before { content: counter(d); position: absolute; left: calc(50% + 22px); top: -6px; z-index: 2; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--winter-deep); color: #fff; font: 800 .74rem var(--font-head); }
html[data-o-camps-day="1"] .camps-day__time { margin-top: 14px; padding: 3px 12px; border-radius: var(--r-pill); background: var(--winter-deep); color: #fff; opacity: 1; font-size: .74rem; }
html[data-o-camps-day="1"] .camps-day__block b { margin-top: 6px; font-size: 1rem; line-height: 1.2; color: var(--winter-deep); }
html[data-o-camps-day="1"] .camps-day__text { margin-top: 3px; max-width: 17ch; font-size: .8rem; line-height: 1.4; opacity: 1; color: var(--ink-soft); }
@media (max-width: 900px) {
  html[data-o-camps-day="1"] .camps-day__blocks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 0; background: none; }
  html[data-o-camps-day="1"] .camps-day__block:nth-child(even) { margin-top: 0; }
  html[data-o-camps-day="1"] .camps-day__text { max-width: 24ch; }
}
