/* Collage grids - generated from Laura's June 2026 collages.
   Each .cg-* class reproduces the original collage arrangement. */
.collage-grid { display: grid; gap: 0.75rem; width: 100%; }
.collage-grid img { width: 100%; height: 100%; object-fit: cover;
  border-radius: 0.75rem; display: block; }
.cg-front-yard-play-areas { grid-template-columns: 328fr 325fr 318fr; grid-template-rows: 477fr 484fr; aspect-ratio: 3264 / 2440; }
.cg-front-yard-play-areas .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 3; }
.cg-front-yard-play-areas .cg-t2 { grid-column: 2 / 3; grid-row: 1 / 2; }
.cg-front-yard-play-areas .cg-t3 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-front-yard-play-areas .cg-t4 { grid-column: 2 / 4; grid-row: 2 / 3; }
.cg-terrace-play-area { grid-template-columns: 285fr 304fr 382fr; grid-template-rows: 478fr 483fr; aspect-ratio: 3264 / 2440; }
.cg-terrace-play-area .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-terrace-play-area .cg-t2 { grid-column: 2 / 3; grid-row: 1 / 2; }
.cg-terrace-play-area .cg-t3 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-terrace-play-area .cg-t4 { grid-column: 1 / 3; grid-row: 2 / 3; }
.cg-terrace-play-area .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-family-parking-spaces { grid-template-columns: 472fr 18fr 472fr; grid-template-rows: 960fr; aspect-ratio: 3264 / 3030; }
.cg-family-parking-spaces .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-family-parking-spaces .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-parc-safari-outing { grid-template-columns: 322fr 329fr 320fr; grid-template-rows: 320fr 325fr 316fr; aspect-ratio: 3264 / 2440; }
.cg-parc-safari-outing .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-parc-safari-outing .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-parc-safari-outing .cg-t3 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-parc-safari-outing .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-parc-safari-outing .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-parc-safari-outing .cg-t6 { grid-column: 1 / 3; grid-row: 3 / 4; }
.cg-parc-safari-outing .cg-t7 { grid-column: 3 / 4; grid-row: 3 / 4; }
.cg-intermiel-beekeeping { grid-template-columns: 322fr 374fr 275fr; grid-template-rows: 320fr 325fr 316fr; aspect-ratio: 3264 / 2440; }
.cg-intermiel-beekeeping .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-intermiel-beekeeping .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-intermiel-beekeeping .cg-t3 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-intermiel-beekeeping .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-intermiel-beekeeping .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-intermiel-beekeeping .cg-t6 { grid-column: 1 / 3; grid-row: 3 / 4; }
.cg-intermiel-beekeeping .cg-t7 { grid-column: 3 / 4; grid-row: 3 / 4; }
.cg-intermiel-honey-discovery { grid-template-columns: 320fr 376fr 275fr; grid-template-rows: 300fr 320fr 341fr; aspect-ratio: 3264 / 2440; }
.cg-intermiel-honey-discovery .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-intermiel-honey-discovery .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-intermiel-honey-discovery .cg-t3 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-intermiel-honey-discovery .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-intermiel-honey-discovery .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-intermiel-honey-discovery .cg-t6 { grid-column: 1 / 3; grid-row: 3 / 4; }
.cg-intermiel-honey-discovery .cg-t7 { grid-column: 3 / 4; grid-row: 3 / 4; }
.cg-intermiel-farm-animals { grid-template-columns: 340fr 317fr 313fr; grid-template-rows: 357fr 329fr 275fr; aspect-ratio: 3264 / 2440; }
.cg-intermiel-farm-animals .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-intermiel-farm-animals .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-intermiel-farm-animals .cg-t3 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-intermiel-farm-animals .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-intermiel-farm-animals .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-intermiel-farm-animals .cg-t6 { grid-column: 1 / 3; grid-row: 3 / 4; }
.cg-intermiel-farm-animals .cg-t7 { grid-column: 3 / 4; grid-row: 3 / 4; }
.cg-intermiel-playground { grid-template-columns: 322fr 165fr 165fr 320fr; grid-template-rows: 545fr 416fr; aspect-ratio: 3264 / 2440; }
.cg-intermiel-playground .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-intermiel-playground .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-intermiel-playground .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-intermiel-playground .cg-t4 { grid-column: 1 / 3; grid-row: 2 / 3; }
.cg-intermiel-playground .cg-t5 { grid-column: 3 / 5; grid-row: 2 / 3; }
.cg-pi-o-indoor-park { grid-template-columns: 322fr 329fr 320fr; grid-template-rows: 320fr 325fr 316fr; aspect-ratio: 3264 / 2440; }
.cg-pi-o-indoor-park .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-pi-o-indoor-park .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-pi-o-indoor-park .cg-t3 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-pi-o-indoor-park .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-pi-o-indoor-park .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-pi-o-indoor-park .cg-t6 { grid-column: 1 / 3; grid-row: 3 / 4; }
.cg-pi-o-indoor-park .cg-t7 { grid-column: 3 / 4; grid-row: 3 / 4; }
.cg-nid-otruche-farm { grid-template-columns: 322fr 329fr 320fr; grid-template-rows: 320fr 325fr 316fr; aspect-ratio: 3264 / 2440; }
.cg-nid-otruche-farm .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-nid-otruche-farm .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-nid-otruche-farm .cg-t3 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-nid-otruche-farm .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-nid-otruche-farm .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-nid-otruche-farm .cg-t6 { grid-column: 1 / 3; grid-row: 3 / 4; }
.cg-nid-otruche-farm .cg-t7 { grid-column: 3 / 4; grid-row: 3 / 4; }
.cg-childrens-museum-laval { grid-template-columns: 239fr 247fr 247fr 238fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-childrens-museum-laval .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-childrens-museum-laval .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-childrens-museum-laval .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-childrens-museum-laval .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-childrens-museum-laval .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-childrens-museum-laval .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-cabane-a-sucre-constantin { grid-template-columns: 168fr 300fr 213fr 290fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-cabane-a-sucre-constantin .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-cabane-a-sucre-constantin .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-cabane-a-sucre-constantin .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-cabane-a-sucre-constantin .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-cabane-a-sucre-constantin .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-cabane-a-sucre-constantin .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-au-pays-des-merveilles { grid-template-columns: 239fr 247fr 247fr 238fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-au-pays-des-merveilles .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-au-pays-des-merveilles .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-au-pays-des-merveilles .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-au-pays-des-merveilles .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-au-pays-des-merveilles .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-au-pays-des-merveilles .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-village-du-pere-noel { grid-template-columns: 346fr 305fr 320fr; grid-template-rows: 360fr 205fr 396fr; aspect-ratio: 3264 / 2440; }
.cg-village-du-pere-noel .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-village-du-pere-noel .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-village-du-pere-noel .cg-t3 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-village-du-pere-noel .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-village-du-pere-noel .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-village-du-pere-noel .cg-t6 { grid-column: 1 / 3; grid-row: 3 / 4; }
.cg-village-du-pere-noel .cg-t7 { grid-column: 3 / 4; grid-row: 3 / 4; }
.cg-water-play-days { grid-template-columns: 322fr 165fr 165fr 320fr; grid-template-rows: 478fr 483fr; aspect-ratio: 3264 / 2440; }
.cg-water-play-days .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-water-play-days .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-water-play-days .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-water-play-days .cg-t4 { grid-column: 1 / 3; grid-row: 2 / 3; }
.cg-water-play-days .cg-t5 { grid-column: 3 / 5; grid-row: 2 / 3; }
.cg-water-games-sprinklers { grid-template-columns: 325fr 322fr 324fr; grid-template-rows: 319fr 325fr 316fr; aspect-ratio: 3264 / 2440; }
.cg-water-games-sprinklers .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 4; }
.cg-water-games-sprinklers .cg-t2 { grid-column: 2 / 3; grid-row: 1 / 2; }
.cg-water-games-sprinklers .cg-t3 { grid-column: 3 / 4; grid-row: 1 / 4; }
.cg-water-games-sprinklers .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-water-games-sprinklers .cg-t5 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-water-sensory-bins { grid-template-columns: 239fr 247fr 247fr 238fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-water-sensory-bins .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-water-sensory-bins .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-water-sensory-bins .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-water-sensory-bins .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-water-sensory-bins .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-water-sensory-bins .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-car-wash-station { grid-template-columns: 239fr 247fr 247fr 238fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-car-wash-station .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-car-wash-station .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-car-wash-station .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-car-wash-station .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-car-wash-station .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-car-wash-station .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-parachute-games { grid-template-columns: 322fr 165fr 165fr 320fr; grid-template-rows: 478fr 483fr; aspect-ratio: 3264 / 2440; }
.cg-parachute-games .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-parachute-games .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-parachute-games .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-parachute-games .cg-t4 { grid-column: 1 / 3; grid-row: 2 / 3; }
.cg-parachute-games .cg-t5 { grid-column: 3 / 5; grid-row: 2 / 3; }
.cg-bubble-play { grid-template-columns: 285fr 202fr 111fr 373fr; grid-template-rows: 478fr 483fr; aspect-ratio: 3264 / 2440; }
.cg-bubble-play .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-bubble-play .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-bubble-play .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-bubble-play .cg-t4 { grid-column: 1 / 3; grid-row: 2 / 3; }
.cg-bubble-play .cg-t5 { grid-column: 3 / 5; grid-row: 2 / 3; }
.cg-gas-station-role-play { grid-template-columns: 239fr 247fr 247fr 238fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-gas-station-role-play .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-gas-station-role-play .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-gas-station-role-play .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-gas-station-role-play .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-gas-station-role-play .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-gas-station-role-play .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-flower-shop-role-play { grid-template-columns: 486fr 484fr; grid-template-rows: 387fr 191fr 383fr; aspect-ratio: 3264 / 2440; }
.cg-flower-shop-role-play .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 3; }
.cg-flower-shop-role-play .cg-t2 { grid-column: 2 / 3; grid-row: 1 / 2; }
.cg-flower-shop-role-play .cg-t3 { grid-column: 2 / 3; grid-row: 2 / 4; }
.cg-flower-shop-role-play .cg-t4 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-nurses-visit { grid-template-columns: 322fr 165fr 165fr 320fr; grid-template-rows: 478fr 483fr; aspect-ratio: 3264 / 2440; }
.cg-nurses-visit .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-nurses-visit .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-nurses-visit .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-nurses-visit .cg-t4 { grid-column: 1 / 3; grid-row: 2 / 3; }
.cg-nurses-visit .cg-t5 { grid-column: 3 / 5; grid-row: 2 / 3; }
.cg-firefighters-visit { grid-template-columns: 322fr 329fr 320fr; grid-template-rows: 320fr 325fr 316fr; aspect-ratio: 3264 / 2440; }
.cg-firefighters-visit .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-firefighters-visit .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-firefighters-visit .cg-t3 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-firefighters-visit .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-firefighters-visit .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-firefighters-visit .cg-t6 { grid-column: 1 / 3; grid-row: 3 / 4; }
.cg-firefighters-visit .cg-t7 { grid-column: 3 / 4; grid-row: 3 / 4; }
.cg-dental-hygienist-visit { grid-template-columns: 239fr 247fr 247fr 238fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-dental-hygienist-visit .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-dental-hygienist-visit .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-dental-hygienist-visit .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-dental-hygienist-visit .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-dental-hygienist-visit .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-dental-hygienist-visit .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-educazoo-animal-visit { grid-template-columns: 239fr 247fr 247fr 238fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-educazoo-animal-visit .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-educazoo-animal-visit .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-educazoo-animal-visit .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-educazoo-animal-visit .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-educazoo-animal-visit .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-educazoo-animal-visit .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-grocery-store-visit { grid-template-columns: 329fr 332fr 328fr; grid-template-rows: 330fr 331fr 325fr; aspect-ratio: 3264 / 2440; }
.cg-grocery-store-visit .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-grocery-store-visit .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-grocery-store-visit .cg-t3 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-grocery-store-visit .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-grocery-store-visit .cg-t5 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-grocery-store-visit .cg-t6 { grid-column: 1 / 3; grid-row: 3 / 4; }
.cg-grocery-store-visit .cg-t7 { grid-column: 3 / 4; grid-row: 3 / 4; }
.cg-birthday-celebration { grid-template-columns: 390fr 193fr 388fr; grid-template-rows: 480fr 481fr; aspect-ratio: 3264 / 2440; }
.cg-birthday-celebration .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 2; }
.cg-birthday-celebration .cg-t2 { grid-column: 2 / 4; grid-row: 1 / 2; }
.cg-birthday-celebration .cg-t3 { grid-column: 1 / 3; grid-row: 2 / 3; }
.cg-birthday-celebration .cg-t4 { grid-column: 3 / 4; grid-row: 2 / 3; }
.cg-teddy-bear-picnic { grid-template-columns: 239fr 247fr 247fr 238fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-teddy-bear-picnic .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-teddy-bear-picnic .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-teddy-bear-picnic .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-teddy-bear-picnic .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-teddy-bear-picnic .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-teddy-bear-picnic .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-easter-celebration { grid-template-columns: 239fr 247fr 247fr 238fr; grid-template-rows: 381fr 198fr 382fr; aspect-ratio: 3264 / 2440; }
.cg-easter-celebration .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-easter-celebration .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-easter-celebration .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-easter-celebration .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-easter-celebration .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-easter-celebration .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-multicultural-month { grid-template-columns: 239fr 219fr 201fr 312fr; grid-template-rows: 381fr 144fr 436fr; aspect-ratio: 3264 / 2440; }
.cg-multicultural-month .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-multicultural-month .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-multicultural-month .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-multicultural-month .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-multicultural-month .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-multicultural-month .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-christmas-holiday-show { grid-template-columns: 239fr 219fr 201fr 312fr; grid-template-rows: 451fr 145fr 364fr; aspect-ratio: 3264 / 2440; }
.cg-christmas-holiday-show .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-christmas-holiday-show .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-christmas-holiday-show .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-christmas-holiday-show .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-christmas-holiday-show .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-christmas-holiday-show .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-santa-visit { grid-template-columns: 317fr 180fr 254fr 219fr; grid-template-rows: 451fr 145fr 364fr; aspect-ratio: 3264 / 2440; }
.cg-santa-visit .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-santa-visit .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-santa-visit .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-santa-visit .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-santa-visit .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-santa-visit .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-christmas-family-poses-a { grid-template-columns: 350fr 241fr 379fr; grid-template-rows: 480fr 481fr; aspect-ratio: 3264 / 2440; }
.cg-christmas-family-poses-a .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 3; }
.cg-christmas-family-poses-a .cg-t2 { grid-column: 2 / 3; grid-row: 1 / 2; }
.cg-christmas-family-poses-a .cg-t3 { grid-column: 3 / 4; grid-row: 1 / 3; }
.cg-christmas-family-poses-a .cg-t4 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-christmas-family-poses-b { grid-template-columns: 512fr 458fr; grid-template-rows: 375fr 209fr 376fr; aspect-ratio: 3264 / 2440; }
.cg-christmas-family-poses-b .cg-t1 { grid-column: 1 / 2; grid-row: 1 / 3; }
.cg-christmas-family-poses-b .cg-t2 { grid-column: 2 / 3; grid-row: 1 / 2; }
.cg-christmas-family-poses-b .cg-t3 { grid-column: 2 / 3; grid-row: 2 / 4; }
.cg-christmas-family-poses-b .cg-t4 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-santa-formal-poses { grid-template-columns: 273fr 225fr 258fr 214fr; grid-template-rows: 367fr 151fr 443fr; aspect-ratio: 3264 / 2440; }
.cg-santa-formal-poses .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.cg-santa-formal-poses .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-santa-formal-poses .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-santa-formal-poses .cg-t4 { grid-column: 3 / 5; grid-row: 2 / 4; }
.cg-santa-formal-poses .cg-t5 { grid-column: 1 / 2; grid-row: 3 / 4; }
.cg-santa-formal-poses .cg-t6 { grid-column: 2 / 3; grid-row: 3 / 4; }
.cg-graduation-highlights { grid-template-columns: 242fr 247fr 247fr 242fr; grid-template-rows: 441fr 519fr; aspect-ratio: 3264 / 1813; }
.cg-graduation-highlights .cg-t1 { grid-column: 1 / 3; grid-row: 1 / 2; }
.cg-graduation-highlights .cg-t2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.cg-graduation-highlights .cg-t3 { grid-column: 4 / 5; grid-row: 1 / 2; }
.cg-graduation-highlights .cg-t4 { grid-column: 1 / 2; grid-row: 2 / 3; }
.cg-graduation-highlights .cg-t5 { grid-column: 2 / 3; grid-row: 2 / 3; }
.cg-graduation-highlights .cg-t6 { grid-column: 3 / 5; grid-row: 2 / 3; }

/* Spacing between stacked collage grids and after legacy photo grids */
.collage-grid + .collage-grid { margin-top: 2rem; }
.activity-album_5_gallery_row + .collage-grid { margin-top: 2rem; }

/* Rounded corners on legacy gallery photos to match the new collage tiles */
.activity-album_2_gallery_component img,
.activity-album_5_gallery_row img { border-radius: 0.75rem; }
.activity-album_2_gallery_image-wrapper,
.activity-album_5_gallery_image-wrapper { border-radius: 0.75rem; overflow: hidden; }
/* Alternating section backgrounds on the activity pages */
.bg-alt-secondary { background-color: var(--background-secondary); margin-bottom: 0; }
.bg-alt-default { background-color: transparent; }
/* Mobile: collapse every collage to a simple 2-column grid (tiles in order) */
@media screen and (max-width: 767px) {
  .collage-grid { grid-template-columns: 1fr 1fr; grid-template-rows: none; aspect-ratio: auto; gap: 0.5rem; }
  .collage-grid [class*="cg-t"] { grid-column: auto; grid-row: auto; height: auto; aspect-ratio: 1 / 1; }
  .collage-grid [class*="cg-t"]:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
}
/* Mobile/tablet: 'fixed' background attachment is unreliable on phones (iOS Safari),
   anchor the CTA banner photos to their section instead */
@media (max-width: 991px) {
  .home_cta_background-image-wrapper,
  .info_5_cta_background-image-wrapper { background-attachment: scroll; }
}

/* "Pinned note" intro cards for the small paragraphs between collages */
.intro-note {
  display: block;
  position: relative;
  background: #fff;
  border: 1px solid var(--ddd);
  border-radius: 1rem;
  padding: 1.9rem 2.1rem 1.6rem;
  margin: 1.4rem auto 0;
  max-width: 46rem;
  box-shadow: 0 14px 28px -16px var(--shadow-primary);
}
div.intro-note p { margin-bottom: 0; }
div.intro-note p + p { margin-top: 0.9rem; }
.intro-note::before {
  content: "";
  position: absolute;
  top: -0.8rem;
  left: 50%;
  width: 6.5rem;
  height: 1.6rem;
  background: url('../images/pattern-garderie.webp') center / cover;
  transform: translateX(-50%) rotate(-2.5deg);
  border-radius: 0.2rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.14);
}
/* crayon-stroke underline for section headings above the notes */
.crayon-underline { position: relative; display: inline-block; padding-bottom: 0.55rem; }
.crayon-underline::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 4.5rem;
  height: 0.4rem;
  border-radius: 1rem;
  background: linear-gradient(90deg, var(--primary), var(--accent));
  transform: translateX(-50%) rotate(-1deg);
}
@media (max-width: 767px) {
  .intro-note { padding: 1.5rem 1.25rem 1.25rem; }
}
/* extra clearance for note cards that directly follow a collage */
.collage-grid + .intro-note { margin-top: 2.25rem; }