.act-section{padding:var(--space11) 0 var(--space10);scroll-margin-top:var(--space8)}.activitiesModule .modulePage__main{gap:var(--space8)}.activitiesModule .act-section{padding:var(--space8) max(var(--space5),env(safe-area-inset-right,0px)) var(--space8) max(var(--space5),env(safe-area-inset-left,0px))}@media (min-width:48rem){.activitiesModule .act-section{padding-left:max(var(--space6),env(safe-area-inset-left,0px));padding-right:max(var(--space6),env(safe-area-inset-right,0px))}}.activitiesModule .act-section-lead,.activitiesModule .sports-section .act-section-lead{margin-bottom:var(--space7)}.activitiesModule .cocu-filters,.activitiesModule .sports-header{margin-bottom:var(--space6)}.activitiesModule .sports-stats-row{margin-bottom:var(--space7)}.act-eyebrow{display:inline-block;font-size:var(--textSizeXs);font-weight:var(--fontWeightSemibold);letter-spacing:var(--letterSpacingEyebrow);text-transform:uppercase;color:var(--accentColor);margin-bottom:var(--space3)}.act-section-title{font-family:var(--fontHeading);font-size:var(--textSize2xl);color:var(--textPrimary);margin:0 0 var(--space2);line-height:var(--lineHeightSnug)}@media (min-width:48rem){.act-section-title{font-size:var(--textSize3xl)}}.act-section-lead{font-size:var(--textSizeMd);color:var(--textSecondary);max-width:52ch;line-height:var(--lineHeightRelaxed);margin:0 0 var(--space10)}.act-empty{color:var(--textMuted);font-size:var(--textSizeSm);padding:var(--space6) 0}.act-card-media{position:relative;width:100%;overflow:hidden;background:var(--backgroundLight)}.act-card-media__img{display:block;width:100%;height:100%;object-fit:cover}.act-badge{display:inline-block;padding:.2rem .65rem;border-radius:var(--borderRadiusFull);font-size:var(--textSizeXs);font-weight:var(--fontWeightSemibold);letter-spacing:.04em;text-transform:uppercase}.act-badge--music{background:#eef2ff;color:#4338ca}.act-badge--dance{background:#fdf4ff;color:#a21caf}.act-badge--arts{background:#fff7ed;color:#c2410c}.act-badge--debate{background:#f0fdf4;color:#15803d}.act-badge--drama{background:#fef9c3;color:#a16207}.act-badge--others{background:var(--backgroundLight);color:var(--textSecondary)}.act-badge--outdoor{background:#ecfdf5;color:#065f46}.act-badge--indoor{background:#eff6ff;color:#1d4ed8}.act-badge--athletics{background:#fff1f2;color:#be123c}.act-badge--water{background:#e0f2fe;color:#0369a1}.act-badge--stem{background:#eff6ff;color:#1d4ed8}.act-badge--community{background:#f0fdf4;color:#166534}.act-badge--literary{background:#fdf4ff;color:#7e22ce}.act-badge--cultural{background:#fff7ed;color:#c2410c}.act-badge--national{background:#fffbeb;color:#b45309}.act-badge--religious{background:#fdf4ff;color:#7e22ce}.act-badge--academic{background:#f0f9ff;color:#0369a1}.act-badge--sports{background:#ecfdf5;color:#065f46}.act-badge--default{background:var(--backgroundLight);color:var(--textSecondary)}.cocu-section{background:linear-gradient(135deg,#f5f3ff 0,var(--backgroundSurface) 65%)}.cocu-filters{display:flex;flex-wrap:wrap;gap:var(--space3);margin-bottom:var(--space8)}.cocu-filter-btn{padding:.45rem 1.1rem;border-radius:var(--borderRadiusFull);border:1.5px solid var(--borderColor);background:var(--backgroundWhite);color:var(--textSecondary);font-size:var(--textSizeSm);font-weight:var(--fontWeightMedium);cursor:pointer;transition:all .18s ease}.cocu-filter-btn:hover{border-color:var(--primaryColor);color:var(--primaryColor)}.cocu-filter-btn:focus-visible{outline:2px solid var(--accentColor);outline-offset:3px}.cocu-filter-btn--active{background:var(--primaryColor);border-color:var(--primaryColor);color:#fff;font-weight:var(--fontWeightSemibold);box-shadow:0 0 0 2px var(--backgroundWhite),0 0 0 4px rgba(37,69,111,.22)}.cocu-filter-btn--active:focus-visible{outline-color:#fff;outline-offset:2px}.cocu-grid{display:grid;gap:var(--space6);grid-template-columns:1fr}@media (min-width:40rem){.cocu-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:64rem){.cocu-grid{grid-template-columns:repeat(3,1fr)}}.cocu-card{background:var(--backgroundWhite);border:1px solid var(--borderSubtle);border-radius:var(--borderRadiusLarge);padding:var(--space5) var(--space5) var(--space6);display:flex;flex-direction:column;gap:var(--space3);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;animation:fadeUp .35s ease both}.cocu-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(37,69,111,.1);border-color:var(--primaryColor)}.cocu-card:focus-within{border-color:var(--primaryColor);box-shadow:0 0 0 2px rgba(37,69,111,.12)}.cocu-card__media{margin:calc(-1 * var(--space5)) calc(-1 * var(--space5)) var(--space3);border-radius:var(--borderRadiusLarge) var(--borderRadiusLarge) var(--borderRadiusMedium) var(--borderRadiusMedium);aspect-ratio:16/9}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cocu-card__icon{width:3rem;height:3rem;border-radius:var(--borderRadiusMedium);background:var(--backgroundLight);display:flex;align-items:center;justify-content:center;font-size:1.35rem}.cocu-card__title{font-family:var(--fontHeading);font-size:var(--textSizeMd);font-weight:var(--fontWeightSemibold);color:var(--textPrimary);margin:0;line-height:var(--lineHeightSnug);overflow-wrap:anywhere}.cocu-card__desc{font-size:var(--textSizeSm);color:var(--textSecondary);line-height:var(--lineHeightRelaxed);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.achievement-card__desc.richText p,.celebration-item__desc.richText p,.club-card__desc.richText p,.cocu-card__desc.richText p,.sport-card__desc.richText p{margin:0;display:inline}.achievement-card__desc.richText p:not(:last-child):after,.celebration-item__desc.richText p:not(:last-child):after,.club-card__desc.richText p:not(:last-child):after,.cocu-card__desc.richText p:not(:last-child):after,.sport-card__desc.richText p:not(:last-child):after{content:" ";white-space:pre}.sports-section{background:var(--backgroundDark);overflow:hidden}.sports-section,.sports-section .act-section-title{color:var(--textOnDark)}.sports-section .act-section-lead{color:var(--textOnDarkSecondary);margin-bottom:var(--space10)}.sports-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space4);margin-bottom:var(--space7)}.sports-stats-row{display:flex;gap:var(--space6);flex-wrap:wrap;margin-bottom:var(--space9)}.sports-stat{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.sports-stat__number{font-family:var(--fontHeading);font-size:var(--textSize3xl);font-weight:var(--fontWeightBold);color:var(--secondaryColor);line-height:1}.sports-stat__label{font-size:var(--textSizeXs);letter-spacing:.08em;text-transform:uppercase;color:var(--textOnDarkSecondary)}.sports-scroll-track{display:flex;gap:var(--space4);overflow-x:auto;padding-bottom:var(--space5);margin-bottom:var(--space1);scrollbar-width:auto;scrollbar-color:rgba(212,196,176,.85) rgba(255,255,255,.12);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.sports-scroll-track::-webkit-scrollbar{height:10px}.sports-scroll-track::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:6px}.sports-scroll-track::-webkit-scrollbar-thumb{background:rgba(212,196,176,.85);border-radius:6px}.sports-scroll-track::-webkit-scrollbar-thumb:hover{background:rgba(230,214,194,.95)}.sport-card{flex:0 0 260px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--borderRadiusLarge);padding:var(--space5);scroll-snap-align:start;transition:background .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease;cursor:default;outline:none}.sport-card__media{margin:calc(-1 * var(--space5)) calc(-1 * var(--space5)) var(--space4);border-radius:var(--borderRadiusLarge) var(--borderRadiusLarge) var(--borderRadiusMedium) var(--borderRadiusMedium);aspect-ratio:16/10}.sport-card:hover{background:rgba(255,255,255,.1);transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.3)}.sport-card:focus-visible{background:rgba(255,255,255,.1);transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.3);border-color:rgba(255,255,255,.35);outline:2px solid var(--secondaryColor);outline-offset:3px}.sport-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space4)}.sport-card__name{font-family:var(--fontHeading);font-size:var(--textSizeMd);font-weight:var(--fontWeightSemibold);color:var(--textOnDark);margin:0;overflow-wrap:anywhere;min-width:0}.sport-card__desc{font-size:var(--textSizeSm);color:var(--textOnDarkSecondary);line-height:var(--lineHeightRelaxed);margin:0 0 var(--space4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sport-card__trophies{display:flex;align-items:center;gap:var(--space2);font-size:var(--textSizeXs);color:var(--secondaryColor);font-weight:var(--fontWeightSemibold)}.act-badge--dark{background:rgba(255,255,255,.1);color:var(--secondaryColor)}.clubs-section{background:linear-gradient(135deg,#ecfdf5 0,var(--backgroundLight) 65%)}.clubs-grid{display:grid;gap:var(--space6);grid-template-columns:1fr}@media (min-width:44rem){.clubs-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:64rem){.clubs-grid{grid-template-columns:repeat(3,1fr)}}.club-card{background:var(--backgroundWhite);border-radius:var(--borderRadiusLarge);padding:var(--space5) var(--space5) var(--space5);border:1px solid var(--borderSubtle);display:flex;flex-direction:column;gap:var(--space3);transition:box-shadow .22s ease,transform .22s ease;position:relative;overflow:hidden}.club-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primaryColor),var(--accentColor));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.club-card:hover:before{transform:scaleX(1)}.club-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(37,69,111,.1)}.club-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space3)}.club-card__name{font-family:var(--fontHeading);font-size:var(--textSizeMd);font-weight:var(--fontWeightSemibold);color:var(--textPrimary);margin:0;line-height:var(--lineHeightSnug);overflow-wrap:anywhere;min-width:0}.club-card__desc{font-size:var(--textSizeSm);color:var(--textSecondary);line-height:var(--lineHeightRelaxed);margin:0}.club-card__desc--clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.club-card__readMore{align-self:flex-start;margin:0;padding:.25rem 0;border:none;background:none;font-size:var(--textSizeSm);font-weight:var(--fontWeightSemibold);color:var(--primaryColor);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.club-card__readMore:focus-visible{outline:2px solid var(--accentColor);outline-offset:2px;border-radius:var(--borderRadiusSmall)}.club-card__media{margin:calc(-1 * var(--space5)) calc(-1 * var(--space5)) var(--space3);border-radius:var(--borderRadiusLarge) var(--borderRadiusLarge) var(--borderRadiusMedium) var(--borderRadiusMedium);aspect-ratio:16/9}.club-card__meta{display:flex;flex-wrap:wrap;gap:var(--space3);padding-top:var(--space3);border-top:1px solid var(--borderSubtle);margin-top:auto}.club-meta-item{display:flex;align-items:center;gap:.3rem;font-size:var(--textSizeXs);color:var(--textMuted)}.club-meta-item strong{color:var(--textSecondary);font-weight:var(--fontWeightMedium)}.celebrations-section{background:linear-gradient(135deg,#fffbeb 0,var(--backgroundWhite) 65%)}.celebrations-timeline{position:relative;padding-left:2.5rem;max-width:72rem}.celebrations-timeline:before{content:"";position:absolute;left:.65rem;top:.5rem;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primaryColor) 0,var(--secondaryColor) 60%,transparent 100%)}.celebration-item{position:relative;margin-bottom:var(--space7);animation:fadeUp .4s ease both}.celebration-item:last-child{margin-bottom:0}.celebration-item__dot{position:absolute;left:-2.5rem;top:.35rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--primaryColor);border:3px solid var(--backgroundWhite);box-shadow:0 0 0 2px var(--primaryColor);transition:transform .2s ease}.celebration-item:hover .celebration-item__dot{transform:scale(1.25)}.celebration-item__card{background:var(--backgroundSurface);border:1px solid var(--borderSubtle);border-radius:var(--borderRadiusLarge);padding:var(--space5) var(--space6);transition:box-shadow .22s ease,border-color .22s ease}.celebration-item__media{margin:calc(-1 * var(--space5)) calc(-1 * var(--space6)) var(--space4);border-radius:var(--borderRadiusLarge) var(--borderRadiusLarge) var(--borderRadiusMedium) var(--borderRadiusMedium);aspect-ratio:16/9}.celebration-item:hover .celebration-item__card{box-shadow:0 6px 24px rgba(37,69,111,.08);border-color:var(--borderStrong)}.celebration-item__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space3);margin-bottom:var(--space3)}.celebration-item__date{font-size:var(--textSizeXs);font-weight:var(--fontWeightSemibold);color:var(--accentColor);letter-spacing:.05em}.celebration-item__title{font-family:var(--fontHeading);font-size:var(--textSizeMd);font-weight:var(--fontWeightSemibold);color:var(--textPrimary);margin:0 0 var(--space2);line-height:var(--lineHeightSnug);overflow-wrap:anywhere}.celebration-item__desc{font-size:var(--textSizeSm);color:var(--textSecondary);line-height:var(--lineHeightRelaxed);margin:0;overflow-wrap:anywhere}@media (max-width:40rem){.celebrations-timeline{padding-left:3rem}.celebration-item__dot{left:-3rem}.celebration-item{margin-bottom:var(--space9)}.celebration-item__card{padding:var(--space5) var(--space4)}.celebration-item__media{margin:calc(-1 * var(--space5)) calc(-1 * var(--space4)) var(--space4)}}.achievements-section{background:linear-gradient(135deg,#f8f6f0 0,var(--backgroundSurface) 60%)}.achievements-grid{display:grid;gap:var(--space6);grid-template-columns:1fr}@media (min-width:48rem){.achievements-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:72rem){.achievements-grid{grid-template-columns:repeat(3,1fr)}}.achievements-grid .achievement-card:first-child{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:var(--space6)}@media (min-width:48rem){.achievements-grid .achievement-card:first-child{align-items:center;flex-wrap:nowrap;gap:var(--space7)}}.achievement-card{background:var(--backgroundWhite);border-radius:var(--borderRadiusLarge);border:1px solid var(--borderSubtle);padding:var(--space6);display:flex;flex-direction:column;gap:var(--space3);transition:transform .22s ease,box-shadow .22s ease;position:relative;overflow:hidden}.achievement-card:after{content:"★";position:absolute;bottom:-.5rem;right:.75rem;font-size:6rem;color:var(--accentColor);opacity:.04;pointer-events:none;line-height:1}.achievement-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(37,69,111,.12)}.achievement-card__award{display:flex;align-items:center;gap:var(--space3)}.achievement-card__trophy{width:3.2rem;height:3.2rem;border-radius:var(--borderRadiusMedium);background:linear-gradient(135deg,#fef3c7,#fde68a);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.achievement-card__award-name{font-size:var(--textSizeLg);color:var(--primaryColor)}.achievement-card__award-name,.achievement-card__title{font-family:var(--fontHeading);font-weight:var(--fontWeightSemibold);margin:0;line-height:var(--lineHeightSnug);overflow-wrap:anywhere}.achievement-card__title{font-size:var(--textSizeBase);color:var(--textPrimary)}.achievement-card__recipient{display:flex;align-items:center;gap:.35rem;font-size:var(--textSizeSm);color:var(--textSecondary);font-weight:var(--fontWeightMedium)}.achievement-card__year{font-size:var(--textSizeXs);font-weight:var(--fontWeightSemibold);color:var(--textMuted);letter-spacing:.05em}.achievement-card__desc{font-size:var(--textSizeSm);color:var(--textSecondary);line-height:var(--lineHeightRelaxed);margin:0}.achievement-card__desc--lineClamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.achievement-card__hero-badge{display:inline-block;margin-bottom:var(--space3)}.achievement-card__title--heroLead{font-size:var(--textSizeXl);margin:0 0 var(--space2)}.achievement-card__award-text{min-width:0;flex:1 1 auto}.achievement-card__trophy--grid{width:2.6rem;height:2.6rem;font-size:1.1rem}.achievement-card__award-name--grid{font-size:var(--textSizeBase)}.achievement-card__hero-left{flex:1 1 16rem;min-width:0}.achievement-card__hero-end{flex:1 1 14rem;display:flex;flex-direction:column;align-items:stretch;gap:var(--space4);min-width:0}.achievement-card__hero-media{width:100%;max-width:20rem;margin-inline:auto;aspect-ratio:16/10;border-radius:var(--borderRadiusLarge)}.achievement-card__hero-right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space2)}.achievement-card__thumb{width:100%;aspect-ratio:16/9;border-radius:var(--borderRadiusMedium)}@media (min-width:48rem){.achievement-card__hero-end{align-items:flex-end;max-width:22rem}.achievement-card__hero-media{margin-inline:0}.achievement-card__hero-right{align-items:flex-end}}@media (max-width:63.99rem){.activitiesModule .modulePage__aside,.activitiesModule .modulePage__layout,.activitiesModule .modulePage__main,.activitiesModule.modulePage{min-width:0}.activitiesModule .modulePage__tocLink{overflow-wrap:anywhere}}@media (max-width:47.99rem){.activitiesModule .act-section-lead,.activitiesModule .act-section-title{max-width:100%}.activitiesModule .cocu-filters{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;gap:var(--space2);padding-bottom:var(--space2);margin-bottom:var(--space6);scrollbar-width:thin;scroll-padding-inline:var(--space2)}.activitiesModule .cocu-filter-btn{flex:0 0 auto}.activitiesModule .achievement-card,.activitiesModule .celebration-item__card,.activitiesModule .club-card,.activitiesModule .cocu-card{max-width:100%}.activitiesModule .cocu-card__desc,.activitiesModule .cocu-card__title{overflow-wrap:anywhere}.activitiesModule .sports-scroll-track{max-width:100%;box-sizing:border-box;padding-left:max(var(--space3),env(safe-area-inset-left,0px));padding-right:max(var(--space3),env(safe-area-inset-right,0px));scroll-padding-inline:max(var(--space3),env(safe-area-inset-left,0px)) max(var(--space3),env(safe-area-inset-right,0px));overscroll-behavior-x:contain}.activitiesModule .sport-card{flex:0 0 clamp(12.75rem,76vw,16.25rem)}.activitiesModule .sport-card__top{align-items:flex-start;min-width:0}.activitiesModule .sport-card__name{min-width:0}.activitiesModule .act-badge--dark{overflow-wrap:anywhere;max-width:100%}.activitiesModule .sports-stats-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space4) var(--space5)}.activitiesModule .sports-stat:last-child:nth-child(odd){grid-column:1/-1}.activitiesModule .club-card__header{align-items:flex-start;min-width:0}.activitiesModule .club-card__name{overflow-wrap:anywhere}.activitiesModule .club-card__header .act-badge{flex-shrink:0;max-width:100%;overflow-wrap:anywhere;text-align:center}.activitiesModule .club-meta-item{overflow-wrap:anywhere;min-width:0}.activitiesModule .celebrations-timeline{max-width:100%;padding-left:2.25rem;box-sizing:border-box}.activitiesModule .celebrations-timeline:before{left:.5rem}.activitiesModule .celebration-item__dot{left:-2.25rem}.activitiesModule .celebration-item__card{overflow:hidden;min-width:0}.activitiesModule .celebration-item__desc,.activitiesModule .celebration-item__title{overflow-wrap:anywhere}.achievements-grid .achievement-card:first-child{flex-direction:column;align-items:stretch;gap:var(--space5)}.achievement-card__hero-end{max-width:none;width:100%;align-items:stretch}.achievement-card__hero-media{max-width:none;margin-inline:0}.achievement-card__hero-right{align-items:flex-start;width:100%;min-width:0}.activitiesModule .achievement-card:first-child .achievement-card__award{flex-wrap:wrap;min-width:0;width:100%}.activitiesModule .achievement-card__title--heroLead{font-size:clamp(1.2rem,.95rem + 1.5vw,var(--textSizeXl));line-height:var(--lineHeightSnug)}.activitiesModule .achievement-card__recipient{overflow-wrap:anywhere}.activitiesModule .achievement-card__trophy--grid{width:2.4rem;height:2.4rem;font-size:1rem}.activitiesModule .achievement-card:not(:first-child) .achievement-card__award{min-width:0}.activitiesModule .achievement-card:not(:first-child) .achievement-card__title{overflow-wrap:anywhere}}@media (max-width:26rem){.activitiesModule .sports-stats-row{grid-template-columns:1fr}.activitiesModule .sports-stat:last-child:nth-child(odd){grid-column:auto}.sport-card__name{flex:1 1 100%}.activitiesModule .celebrations-timeline{padding-left:1.85rem}.activitiesModule .celebrations-timeline:before{left:.4rem}.activitiesModule .celebration-item__dot{left:-1.85rem;width:1rem;height:1rem}}