.page-hero { min-height: 440px; position: relative; display: flex; align-items: end; overflow: hidden; background: var(--navy-dark); color: white; }
.page-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,20,49,.95), rgba(9,28,66,.56) 64%, rgba(9,28,66,.23)); }
.page-hero__content { position: relative; z-index: 1; padding-bottom: 72px; }
.breadcrumbs { display: flex; gap: 9px; margin-bottom: 20px; color: var(--gold); text-transform: uppercase; letter-spacing: .13em; font-size: .68rem; font-weight: 700; }
.breadcrumbs a { color: rgba(255,255,255,.7); }
.page-hero h1 { max-width: 850px; margin: 0; font-family: var(--serif); font-size: clamp(3rem, 6vw, 5.5rem); letter-spacing: -.045em; line-height: 1.02; }
.page-hero p { max-width: 620px; margin: 20px 0 0; color: rgba(255,255,255,.78); font-size: 1.05rem; }
.page-section { padding: 95px 0; }
.page-section--cream { background: var(--cream); }
.page-section--navy { background: var(--navy-dark); color: white; }
.content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; }
.content-grid--top { align-items: start; }
.content-image { width: 100%; min-height: 500px; object-fit: cover; box-shadow: var(--shadow); }
.content-image--short { min-height: 390px; }
.page-copy h2, .center-heading h2 { margin: 0 0 24px; color: var(--navy-dark); font-family: var(--serif); font-size: clamp(2.4rem, 4vw, 3.8rem); line-height: 1.08; letter-spacing: -.035em; }
.page-copy h3 { margin: 30px 0 8px; color: var(--navy); font-family: var(--serif); font-size: 1.45rem; }
.page-copy p, .page-copy li { color: var(--muted); }
.page-copy .lead { color: var(--ink); font-size: 1.08rem; font-weight: 600; }
.center-heading { max-width: 760px; margin: 0 auto 50px; text-align: center; }
.center-heading .eyebrow { justify-content: center; }
.center-heading p { color: var(--muted); }
.info-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.info-card { min-height: 255px; padding: 34px; background: white; border: 1px solid var(--line); }
.info-card--gold { background: var(--gold); border-color: var(--gold); }
.info-card--blue { background: var(--sky); border-color: var(--sky); }
.info-card__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--gold-soft); color: var(--navy); font-size: 1.2rem; }
.info-card h3 { margin: 25px 0 10px; color: var(--navy); font-family: var(--serif); font-size: 1.35rem; }
.info-card p { margin: 0; color: var(--muted); font-size: .88rem; }
.sponsor-cta { margin: 34px 0 0; text-align: center; color: var(--muted); }
.sponsor-cta a { color: var(--navy); font-weight: 700; border-bottom: 2px solid var(--gold); padding-bottom: 2px; }
.info-card--gold p, .info-card--blue p { color: rgba(10,29,68,.72); }
.quote-block { padding: 45px; background: var(--navy); color: white; }
.quote-block blockquote { margin: 0; font-family: var(--serif); font-size: 1.65rem; line-height: 1.45; }
.quote-block cite { display: block; margin-top: 20px; color: var(--gold); font-style: normal; font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; }
.quote-block__verse { margin: 20px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.72); font-size: .85rem; font-style: italic; line-height: 1.65; }
.quote-block__verse span { display: block; margin-top: 8px; color: var(--gold); font-style: normal; text-transform: uppercase; letter-spacing: .1em; font-size: .68rem; font-weight: 700; }
.school-identity { background: linear-gradient(135deg, #fff 0%, var(--cream) 100%); }
.school-flag { margin: 0; overflow: hidden; border: 8px solid #fff; border-radius: 20px; background: #fff; box-shadow: 0 24px 55px rgba(10,29,68,.16); }
.school-flag img { display: block; width: 100%; aspect-ratio: 1600 / 1131; object-fit: cover; }
.school-flag figcaption { padding: 12px 18px; color: var(--muted); font-size: .75rem; text-align: center; }
.feature-list { list-style: none; margin: 28px 0 0; padding: 0; }
.feature-list li { position: relative; padding: 12px 0 12px 37px; border-bottom: 1px solid var(--line); }
.feature-list li::before { content: "✓"; position: absolute; left: 0; top: 12px; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-soft); color: #9a6e00; font-size: .75rem; font-weight: 700; }
.learning-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.learning-card { background: white; border: 1px solid var(--line); box-shadow: 0 14px 35px rgba(10,29,68,.07); transition: transform .25s; }
.learning-card:hover { transform: translateY(-6px); }
.learning-card img { width: 100%; height: 235px; object-fit: cover; }
.learning-card__body { padding: 30px; }
.learning-card__body small { color: #b37f00; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.learning-card h2 { margin: 10px 0; color: var(--navy); font-family: var(--serif); font-size: 1.6rem; }
.learning-card p { min-height: 85px; color: var(--muted); font-size: .87rem; }
.learning-card .arrow-link { margin-top: 12px; }
.band-cta { padding: 75px 0; background: var(--gold); }
.band-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 45px; }
.band-cta h2 { max-width: 710px; margin: 0; color: var(--navy-dark); font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.1; }
.band-cta .button { background: var(--navy); color: white; border-color: var(--navy); white-space: nowrap; }
.curriculum-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 30px; }
.curriculum-grid span { padding: 15px 18px; background: var(--cream); color: var(--navy); font-size: .85rem; font-weight: 700; }
.tour-hero { position: relative; overflow: hidden; }
.tour-hero::before, .tour-hero::after { content: ""; position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.tour-hero::before { width: 360px; height: 360px; right: -120px; top: -160px; background: radial-gradient(circle, rgba(247,189,34,.32), rgba(247,189,34,0) 70%); animation: drift 16s ease-in-out infinite; }
.tour-hero::after { width: 280px; height: 280px; left: 6%; bottom: -180px; background: radial-gradient(circle, rgba(98,200,213,.3), rgba(98,200,213,0) 70%); animation: drift-alt 20s ease-in-out infinite; }
.tour-hero__badge { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; padding: 10px 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 700; backdrop-filter: blur(4px); }
.tour-hero__badge::before { content: "✦"; }

.tour-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 230px; gap: 16px; }
.tour-grid figure { position: relative; margin: 0; overflow: hidden; border-radius: 20px; background: var(--navy); cursor: pointer; box-shadow: 0 14px 30px rgba(10,29,68,.1); transition: transform .3s ease, box-shadow .3s ease; }
.tour-grid figure:hover, .tour-grid figure:focus-visible { transform: translateY(-6px); box-shadow: 0 26px 48px rgba(10,29,68,.22); outline: none; }
.tour-grid figure:nth-child(1), .tour-grid figure:nth-child(6) { grid-column: span 7; }
.tour-grid figure:nth-child(2), .tour-grid figure:nth-child(5) { grid-column: span 5; }
.tour-grid figure:nth-child(3), .tour-grid figure:nth-child(4), .tour-grid figure:nth-child(7), .tour-grid figure:nth-child(8) { grid-column: span 6; }
.tour-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, filter .3s ease; }
.tour-grid figure:hover img { transform: scale(1.07); }
.tour-grid figure::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px; z-index: 2; background: var(--gold); }
.tour-grid figure:nth-child(4n+2)::before { background: var(--sky); }
.tour-grid figure:nth-child(4n+3)::before { background: var(--coral); }
.tour-grid figure:nth-child(4n)::before { background: var(--leaf); }
.tour-index { position: absolute; z-index: 2; left: 14px; top: 16px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--navy-dark); font-family: var(--serif); font-size: .95rem; box-shadow: 0 8px 18px rgba(10,29,68,.3); }
.tour-grid figure:nth-child(4n+2) .tour-index { background: var(--sky); }
.tour-grid figure:nth-child(4n+3) .tour-index { background: var(--coral); color: white; }
.tour-grid figure:nth-child(4n) .tour-index { background: var(--leaf); color: white; }
.tour-zoom { position: absolute; z-index: 2; right: 16px; top: 16px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: rgba(6,20,49,.55); color: white; opacity: 0; transform: scale(.7); transition: opacity .25s ease, transform .25s ease; backdrop-filter: blur(3px); }
.tour-grid figure:hover .tour-zoom, .tour-grid figure:focus-visible .tour-zoom { opacity: 1; transform: scale(1); }
.tour-zoom svg { width: 16px; height: 16px; }
.tour-grid figcaption { position: absolute; inset: auto 0 0; z-index: 1; padding: 50px 20px 18px; color: white; background: linear-gradient(transparent, rgba(4,17,42,.88)); font-family: var(--serif); font-size: 1.15rem; }

.lightbox { position: fixed; inset: 0; z-index: 300; display: none; align-items: center; justify-content: center; padding: 70px 24px; background: rgba(5,15,36,.94); backdrop-filter: blur(8px); }
.lightbox.is-open { display: flex; }
.lightbox__inner { position: relative; width: 100%; max-width: 980px; text-align: center; animation: pop-in .3s ease; }
.lightbox__inner img { width: 100%; max-height: 72vh; object-fit: contain; border-radius: 16px; box-shadow: 0 40px 90px rgba(0,0,0,.5); background: #04112a; }
.lightbox__caption { margin: 22px 0 0; color: white; font-family: var(--serif); font-size: 1.3rem; }
.lightbox__count { margin: 8px 0 0; color: var(--gold); text-transform: uppercase; letter-spacing: .14em; font-size: .68rem; font-weight: 700; }
.lightbox__close, .lightbox__prev, .lightbox__next { position: fixed; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); color: white; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.lightbox__close:hover, .lightbox__prev:hover, .lightbox__next:hover { background: var(--gold); border-color: var(--gold); color: var(--navy-dark); }
.lightbox__close { top: 26px; right: 26px; }
.lightbox__prev { left: 26px; top: 50%; transform: translateY(-50%); }
.lightbox__next { right: 26px; top: 50%; transform: translateY(-50%); }
.lightbox__prev:hover, .lightbox__next:hover { transform: translateY(-50%) scale(1.08); }
.lightbox__close svg, .lightbox__prev svg, .lightbox__next svg { width: 20px; height: 20px; }
.contact-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7%; align-items: start; }
.contact-hero { position: relative; overflow: hidden; }
.contact-hero::before, .contact-hero::after { content: ""; position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.contact-hero::before { width: 360px; height: 360px; right: -130px; top: -160px; background: radial-gradient(circle, rgba(247,189,34,.32), rgba(247,189,34,0) 70%); animation: drift 16s ease-in-out infinite; }
.contact-hero::after { width: 260px; height: 260px; right: 20%; bottom: -170px; background: radial-gradient(circle, rgba(98,200,213,.3), rgba(98,200,213,0) 70%); animation: drift-alt 19s ease-in-out infinite; }
.contact-hero__badge { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; padding: 10px 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 700; backdrop-filter: blur(4px); }
.contact-hero__badge::before { content: "✦"; }
.contact-panel { position: relative; overflow: hidden; padding: 44px; border-radius: 22px; background: linear-gradient(160deg, var(--navy), var(--navy-dark)); color: white; box-shadow: 0 24px 55px rgba(10,29,68,.22); }
.contact-panel::after { content: "★"; position: absolute; right: -40px; bottom: -110px; color: rgba(255,255,255,.05); font-size: 240px; line-height: 1; pointer-events: none; }
.contact-panel h2 { position: relative; z-index: 1; margin: 0 0 22px; font-family: var(--serif); font-size: 2.2rem; }
.contact-row { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: 17px; padding: 18px 12px; border-radius: 14px; transition: background .2s ease, transform .2s ease; }
.contact-row:not(:last-child) { margin-bottom: 4px; }
a.contact-row:hover { background: rgba(255,255,255,.07); transform: translateX(4px); }
.contact-row span { flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(247,189,34,.15); color: var(--gold); }
.contact-row span svg { width: 19px; height: 19px; }
.contact-row p { margin: 0; display: flex; flex-direction: column; color: rgba(255,255,255,.7); font-size: .85rem; line-height: 1.55; }
.contact-row strong { color: white; }
.contact-map__frame { margin-top: 32px; border-radius: 22px; overflow: hidden; box-shadow: var(--shadow); }
.contact-map__frame iframe { display: block; width: 100%; height: 420px; border: 0; }
.contact-map__actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 30px; }

.feedback-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; align-items: stretch; }
.feedback-form h2 { margin: 0 0 8px; color: var(--navy); font-family: var(--serif); font-size: 1.8rem; }
.feedback-form > p { margin: 0 0 24px; color: var(--muted); }
.feedback-qr { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 40px 34px; border-radius: 20px; background: var(--navy); color: white; text-align: center; box-shadow: 0 20px 45px rgba(10,29,68,.16); }
.feedback-qr img { width: 150px; height: 150px; border-radius: 12px; background: white; padding: 10px; }
.feedback-qr p { margin: 0; color: rgba(255,255,255,.72); font-size: .85rem; max-width: 220px; }
.feedback-qr a { color: var(--gold); font-weight: 700; border-bottom: 1px solid var(--gold); padding-bottom: 2px; font-size: .85rem; }

.donate-hero { position: relative; overflow: hidden; }
.donate-hero::before, .donate-hero::after { content: ""; position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.donate-hero::before { width: 360px; height: 360px; right: -130px; top: -160px; background: radial-gradient(circle, rgba(247,189,34,.32), rgba(247,189,34,0) 70%); animation: drift 16s ease-in-out infinite; }
.donate-hero::after { width: 260px; height: 260px; right: 20%; bottom: -170px; background: radial-gradient(circle, rgba(98,200,213,.3), rgba(98,200,213,0) 70%); animation: drift-alt 19s ease-in-out infinite; }
.donate-hero__badge { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; padding: 10px 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 700; backdrop-filter: blur(4px); }
.donate-hero__badge::before { content: "✦"; }

.give-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; align-items: start; }
.give-card { position: relative; overflow: hidden; padding: 38px; border-radius: 20px; background: white; border-top: 4px solid var(--gold); box-shadow: 0 14px 32px rgba(10,29,68,.07); }
.give-card--secondary { border-top-color: var(--sky); }
.give-card__icon { width: 54px; height: 54px; margin-bottom: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-soft); color: #9a6e00; }
.give-card--secondary .give-card__icon { background: rgba(98,200,213,.18); color: #1c8fa0; }
.give-card__icon svg { width: 25px; height: 25px; }
.give-card h3 { margin: 0 0 8px; color: var(--navy); font-family: var(--serif); font-size: 1.4rem; }
.give-card > p { margin: 0 0 22px; color: var(--muted); font-size: .87rem; }
.give-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-top: 1px solid var(--line); }
.give-row:first-of-type { border-top: none; }
.give-row__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.give-row__label { color: var(--muted); text-transform: uppercase; letter-spacing: .09em; font-size: .64rem; font-weight: 700; }
.give-row__value { color: var(--navy); font-size: .95rem; font-weight: 700; overflow-wrap: anywhere; }
.give-copy { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--cream); color: var(--navy); font-size: .74rem; font-weight: 700; cursor: pointer; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.give-copy:hover { background: var(--gold); border-color: var(--gold); color: var(--navy-dark); }
.give-copy.is-copied { background: var(--leaf); border-color: var(--leaf); color: white; }
.give-copy svg { width: 13px; height: 13px; }
.give-currency-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 22px; padding: 14px 16px; border-radius: 14px; background: var(--cream); color: var(--muted); font-size: .8rem; line-height: 1.5; }
.give-currency-note svg { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 1px; color: #b17d00; }
.give-card--secondary .give-row__value { font-size: .87rem; font-weight: 600; }
.give-card .button { width: 100%; margin-top: 8px; }
.give-priorities { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.give-priorities li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: var(--cream); color: var(--navy); font-size: .82rem; font-weight: 600; }
.give-priorities li span { color: var(--gold); }

.testimonial-hero { position: relative; overflow: hidden; }
.testimonial-hero::before, .testimonial-hero::after { content: ""; position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.testimonial-hero::before { width: 360px; height: 360px; right: -130px; top: -160px; background: radial-gradient(circle, rgba(247,189,34,.32), rgba(247,189,34,0) 70%); animation: drift 16s ease-in-out infinite; }
.testimonial-hero::after { width: 260px; height: 260px; right: 20%; bottom: -170px; background: radial-gradient(circle, rgba(239,131,96,.28), rgba(239,131,96,0) 70%); animation: drift-alt 19s ease-in-out infinite; }
.testimonial-hero__badge { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; padding: 10px 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 700; backdrop-filter: blur(4px); }
.testimonial-hero__badge::before { content: "✦"; }

.prompt-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.prompt-card { padding: 32px; border-radius: 18px; background: white; border-top: 4px solid var(--gold); box-shadow: 0 14px 32px rgba(10,29,68,.06); transition: transform .3s ease, box-shadow .3s ease; }
.prompt-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(10,29,68,.13); }
.prompt-card:nth-child(2) { border-top-color: var(--sky); }
.prompt-card:nth-child(3) { border-top-color: var(--coral); }
.prompt-card__icon { width: 50px; height: 50px; margin-bottom: 18px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-soft); color: #9a6e00; }
.prompt-card:nth-child(2) .prompt-card__icon { background: rgba(98,200,213,.18); color: #1c8fa0; }
.prompt-card:nth-child(3) .prompt-card__icon { background: rgba(239,131,96,.16); color: #c85f3a; }
.prompt-card__icon svg { width: 22px; height: 22px; }
.prompt-card h3 { margin: 0 0 8px; color: var(--navy); font-family: var(--serif); font-size: 1.2rem; }
.prompt-card p { margin: 0; color: var(--muted); font-size: .87rem; }

.share-story { padding: 90px 0; position: relative; overflow: hidden; background: linear-gradient(155deg, var(--navy-dark), var(--navy) 65%); color: white; }
.share-story::after { content: "✦"; position: absolute; right: -50px; bottom: -140px; color: rgba(255,255,255,.05); font-size: 320px; line-height: 1; }
.share-story__inner { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; text-align: center; }
.share-story h2 { margin: 0 0 15px; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem); }
.share-story p { color: rgba(255,255,255,.72); }
.share-story__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 26px; }
.form-card { padding: 45px; border: 1px solid var(--line); box-shadow: var(--shadow); }
.form-card h2 { margin: 0 0 8px; color: var(--navy); font-family: var(--serif); font-size: 2.2rem; }
.form-card > p { margin: 0 0 28px; color: var(--muted); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field--full { grid-column: span 2; }
.field label { color: var(--navy); font-size: .78rem; font-weight: 700; }
.field input, .field select, .field textarea { width: 100%; padding: 14px 15px; border: 1px solid #d9dde5; background: #fbfcfd; color: var(--ink); font: inherit; }
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--gold); border-color: var(--gold); }
.form-card .button { margin-top: 20px; }
.support-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 35px; }
.support-item { display: flex; gap: 14px; padding: 20px; background: var(--cream); }
.support-item span { color: #b37f00; font-size: 1.25rem; }
.support-item strong { display: block; color: var(--navy); }
.support-item p { margin: 4px 0 0; font-size: .8rem; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.news-card { display: flex; flex-direction: column; background: white; border: 1px solid var(--line); box-shadow: 0 14px 36px rgba(10,29,68,.07); }
.news-card__image { height: 230px; overflow: hidden; background: var(--navy); }
.news-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease, opacity .3s ease; }
.news-card:hover .news-card__image img { transform: scale(1.04); opacity: .88; }
.news-card__body { flex: 1; padding: 29px; }
.news-card__tag { display: inline-block; color: #a87500; text-transform: uppercase; letter-spacing: .13em; font-size: .65rem; font-weight: 700; }
.news-card time { float: right; color: #8a93a5; font-size: .7rem; }
.news-card h3 { margin: 13px 0 11px; color: var(--navy); font-family: var(--serif); font-size: 1.4rem; line-height: 1.25; }
.news-card p { color: var(--muted); font-size: .86rem; }
.news-card .arrow-link { margin-top: 8px; gap: 20px; font-size: .82rem; }
.news-card--featured { grid-column: span 2; display: grid; grid-template-columns: 1.15fr .85fr; }
.news-card--featured .news-card__image { height: 100%; min-height: 390px; }
.news-preview { background: var(--cream); }
.news-preview .news-card--featured { grid-column: span 1; display: flex; }
.news-preview .news-card--featured .news-card__image { height: 230px; min-height: 0; }
.news-preview__footer { margin-top: 38px; text-align: center; }
.button--navy { background: var(--navy); border-color: var(--navy); color: white; }
.button--navy:hover { background: var(--navy-dark); }
.blog-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 55px; align-items: start; }
.blog-feed { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.blog-feed .news-card--featured { grid-column: span 2; }
.blog-sidebar { position: sticky; top: 120px; }
.sidebar-box { margin-bottom: 22px; padding: 28px; background: var(--cream); border: 1px solid var(--line); }
.sidebar-box h3 { margin: 0 0 18px; color: var(--navy); font-family: var(--serif); font-size: 1.3rem; }
.sidebar-box a { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid #ddddd7; color: var(--muted); font-size: .83rem; }
.sidebar-box a:hover { color: var(--navy); }
.sidebar-box a span { color: #a87500; }
.story-section { scroll-margin-top: 110px; padding: 85px 0; border-top: 1px solid var(--line); }
.story-section__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7%; align-items: start; }
.story-section img { width: 100%; min-height: 340px; object-fit: cover; box-shadow: var(--shadow); }
.story-section h2 { margin: 10px 0 18px; color: var(--navy); font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.08; }
.story-section p { color: var(--muted); }
.story-meta { display: flex; gap: 13px; color: #a87500; text-transform: uppercase; letter-spacing: .11em; font-size: .67rem; font-weight: 700; }

/* Gallery */
.gallery-hero { position: relative; overflow: hidden; }
.gallery-hero::before, .gallery-hero::after { content: ""; position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.gallery-hero::before { width: 360px; height: 360px; right: -130px; top: -160px; background: radial-gradient(circle, rgba(247,189,34,.32), rgba(247,189,34,0) 70%); animation: drift 16s ease-in-out infinite; }
.gallery-hero::after { width: 260px; height: 260px; right: 20%; bottom: -170px; background: radial-gradient(circle, rgba(111,174,99,.3), rgba(111,174,99,0) 70%); animation: drift-alt 19s ease-in-out infinite; }
.gallery-hero__badge { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; padding: 10px 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 700; backdrop-filter: blur(4px); }
.gallery-hero__badge::before { content: "✦"; }
.gallery-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: -10px 0 46px; }
.gallery-filters button, .gallery-filters a { min-height: 45px; padding: 13px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: white; border: 1px solid #e2e0d6; border-radius: 999px; color: var(--navy); text-transform: uppercase; letter-spacing: .1em; font: inherit; font-size: .68rem; font-weight: 700; box-shadow: 0 8px 20px rgba(10,29,68,.05); cursor: pointer; transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease; }
.gallery-filters button:hover, .gallery-filters a:hover { transform: translateY(-3px); border-color: var(--gold); }
.gallery-filters a { background: #ff0033; border-color: #ff0033; color: white; }
.gallery-filters a:hover { background: #d9002b; border-color: #d9002b; }
.gallery-filters a svg { width: 17px; height: 17px; }
.gallery-filters a.gallery-audio-link { background: var(--sky); border-color: var(--sky); color: var(--navy-dark); }
.gallery-filters a.gallery-audio-link:hover { background: #4fb7c6; border-color: #4fb7c6; }
.gallery-filters button.is-active { background: var(--navy); border-color: var(--navy); color: white; box-shadow: 0 12px 26px rgba(10,29,68,.22); }
.gallery-count { margin: -20px 0 40px; text-align: center; color: var(--muted); font-size: .85rem; }
.photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: start; gap: 20px; }
.gallery-item { position: relative; display: block; overflow: hidden; border-radius: 18px; background: var(--navy); cursor: pointer; box-shadow: 0 14px 30px rgba(10,29,68,.1); transition: transform .3s ease, box-shadow .3s ease, opacity .25s ease; }
.gallery-item.is-hidden { display: none; }
.gallery-item:hover, .gallery-item:focus-visible { transform: translateY(-6px); box-shadow: 0 24px 46px rgba(10,29,68,.2); outline: none; }
.gallery-item img { display: block; width: 100%; height: auto; transition: transform .5s ease; }
.gallery-item:hover img { transform: scale(1.06); }
.gallery-item::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px; z-index: 2; background: var(--gold); }
.gallery-item[data-cat="cultural"]::before { background: var(--coral); }
.gallery-item__cat { position: absolute; z-index: 2; left: 14px; top: 16px; padding: 6px 12px; border-radius: 999px; background: rgba(6,20,49,.6); color: var(--gold); backdrop-filter: blur(3px); text-transform: uppercase; letter-spacing: .1em; font-size: .6rem; font-weight: 700; }
.gallery-item[data-cat="cultural"] .gallery-item__cat { color: var(--coral); }
.gallery-item__caption { position: absolute; inset: auto 0 0; z-index: 1; padding: 40px 16px 14px; color: white; background: linear-gradient(transparent, rgba(4,17,42,.86)); font-family: var(--serif); font-size: 1rem; opacity: 0; transform: translateY(8px); transition: opacity .25s ease, transform .25s ease; }
.gallery-item:hover .gallery-item__caption, .gallery-item:focus-visible .gallery-item__caption { opacity: 1; transform: none; }
.gallery-item__zoom { position: absolute; z-index: 2; right: 14px; top: 16px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(6,20,49,.55); color: white; opacity: 0; transform: scale(.7); transition: opacity .25s ease, transform .25s ease; backdrop-filter: blur(3px); }
.gallery-item:hover .gallery-item__zoom, .gallery-item:focus-visible .gallery-item__zoom { opacity: 1; transform: scale(1); }
.gallery-item__zoom svg { width: 15px; height: 15px; }

/* Audio gallery */
.audio-gallery { position: relative; overflow: hidden; background: linear-gradient(140deg, var(--cream), #fff 72%); }
.audio-gallery::after { content: "♪"; position: absolute; right: -30px; bottom: -120px; color: rgba(17,43,98,.035); font-family: var(--serif); font-size: 360px; line-height: 1; pointer-events: none; }
.audio-heading { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .72fr; gap: 8%; align-items: end; margin-bottom: 42px; }
.audio-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.25rem, 4.5vw, 4rem); line-height: 1.05; color: var(--navy-dark); }
.audio-heading > p { margin: 0 0 7px; color: var(--muted); }
.audio-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.audio-card { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 14px 32px rgba(10,29,68,.08); }
.audio-card__top { display: flex; align-items: center; justify-content: space-between; color: var(--sky); }
.audio-card__top span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-soft); color: #8c6500; font-family: var(--serif); font-size: .82rem; }
.audio-card__top svg { width: 42px; height: 42px; }
.audio-card h3 { margin: 16px 0 18px; color: var(--navy); font-family: var(--serif); font-size: 1.25rem; }
.audio-card audio { display: block; width: 100%; min-height: 42px; }
.audio-card > a { display: inline-block; margin-top: 14px; color: var(--navy); border-bottom: 2px solid var(--gold); font-size: .75rem; font-weight: 700; }

/* YouTube video gallery */
.youtube-gallery { position: relative; overflow: hidden; background: linear-gradient(155deg, var(--navy-dark), var(--navy) 68%); color: white; }
.youtube-gallery::before { content: ""; position: absolute; width: 420px; height: 420px; right: -170px; top: -190px; border-radius: 50%; background: radial-gradient(circle, rgba(247,189,34,.2), rgba(247,189,34,0) 70%); pointer-events: none; }
.youtube-heading { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .8fr; gap: 8%; align-items: end; margin-bottom: 48px; }
.youtube-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.5rem, 5vw, 4.4rem); line-height: 1.05; letter-spacing: -.035em; }
.youtube-heading > p { margin: 0 0 7px; color: rgba(255,255,255,.7); }
.youtube-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.youtube-card { overflow: hidden; border-radius: 18px; background: white; box-shadow: 0 18px 38px rgba(3,12,30,.28); transition: transform .3s ease, box-shadow .3s ease; }
.youtube-card:hover { transform: translateY(-5px); box-shadow: 0 26px 52px rgba(3,12,30,.4); }
.youtube-card__video { position: relative; aspect-ratio: 16 / 9; background: #050b18; }
.youtube-card__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.youtube-card__fallback { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: white; background-position: center; background-size: cover; text-decoration: none; }
.youtube-card__fallback span { width: 58px; height: 42px; display: grid; place-items: center; padding-left: 3px; border-radius: 12px; background: #ff0033; box-shadow: 0 8px 22px rgba(0,0,0,.32); font-size: 1.3rem; }
.youtube-card__fallback strong { padding: 7px 12px; border-radius: 999px; background: rgba(3,12,30,.78); font-size: .8rem; }
.youtube-card__fallback:hover span { transform: scale(1.07); }
.youtube-card__body { min-height: 78px; padding: 18px 22px; display: flex; align-items: center; gap: 15px; color: var(--navy); }
.youtube-card__body > span { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-soft); color: #9a6e00; font-family: var(--serif); font-size: .8rem; }
.youtube-card__body h3 { margin: 0; font-family: var(--serif); font-size: 1.16rem; line-height: 1.25; }
.youtube-channel { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; margin-top: 42px; padding: 28px 30px; border: 1px solid rgba(255,255,255,.17); border-radius: 18px; background: rgba(255,255,255,.07); }
.youtube-channel__icon { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: #ff0033; color: white; }
.youtube-channel__icon svg { width: 27px; height: 27px; }
.youtube-channel span, .youtube-channel strong { display: block; }
.youtube-channel span { color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .65rem; font-weight: 700; }
.youtube-channel strong { margin-top: 4px; font-family: var(--serif); font-size: 1.22rem; }
.youtube-channel .button { white-space: nowrap; }

/* Newsroom */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; transition-delay: var(--d, 0s); }
.reveal.is-visible { opacity: 1; transform: none; }
@keyframes drift { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-18px, 22px); } }
@keyframes drift-alt { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(16px, -18px); } }
@keyframes pop-in { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: scale(1); } }

.news-masthead { padding: 82px 0 0; position: relative; overflow: hidden; background: var(--cream); border-bottom: 1px solid #deded7; }
.news-masthead::before, .news-masthead::after { content: ""; position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.news-masthead::before { width: 380px; height: 380px; right: -130px; top: -170px; background: radial-gradient(circle, rgba(247,189,34,.4), rgba(247,189,34,0) 70%); animation: drift 15s ease-in-out infinite; }
.news-masthead::after { width: 280px; height: 280px; right: 14%; bottom: -190px; background: radial-gradient(circle, rgba(98,200,213,.38), rgba(98,200,213,0) 70%); animation: drift-alt 19s ease-in-out infinite; }
.news-masthead__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.45fr .55fr; gap: 10%; align-items: end; }
.breadcrumbs--dark { margin-bottom: 38px; color: #a87500; }
.breadcrumbs--dark a { color: var(--muted); }
.news-kicker { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 15px; color: var(--navy); text-transform: uppercase; letter-spacing: .2em; font-size: .68rem; font-weight: 700; }
.news-kicker::before { content: "✦"; color: var(--gold); font-size: .85rem; }
.news-masthead h1 { margin: 0; color: var(--navy-dark); font-family: var(--serif); font-size: clamp(3.7rem, 7vw, 7rem); line-height: .93; letter-spacing: -.055em; }
.news-masthead h1 em { color: #d89a00; font-weight: inherit; }
.news-masthead__intro { position: relative; z-index: 1; padding: 0 0 14px 27px; border-left: 2px solid var(--gold); }
.news-masthead__intro > span { color: #a87500; text-transform: uppercase; letter-spacing: .14em; font-size: .66rem; font-weight: 700; }
.news-masthead__intro p { margin: 15px 0 20px; color: var(--muted); }
.news-masthead__intro a { color: var(--navy); border-bottom: 1px solid var(--gold); font-size: .83rem; font-weight: 700; transition: color .2s ease, border-color .2s ease; }
.news-masthead__intro a:hover { color: #b17d00; border-color: transparent; }
.news-topics { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 55px; padding-bottom: 40px; }
.news-topics a { flex: 1; min-width: 130px; padding: 15px 18px; text-align: center; color: var(--navy); background: white; border: 1px solid #e2e0d6; border-radius: 999px; text-transform: uppercase; letter-spacing: .1em; font-size: .66rem; font-weight: 700; box-shadow: 0 8px 20px rgba(10,29,68,.05); transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease; }
.news-topics a.is-active { background: var(--navy); border-color: var(--navy); color: white; box-shadow: 0 12px 26px rgba(10,29,68,.22); }
.news-topics a:hover { transform: translateY(-3px); background: var(--gold); border-color: var(--gold); color: var(--navy-dark); box-shadow: 0 12px 26px rgba(247,189,34,.3); }
.news-topics a[data-cat="progress"]:hover { background: var(--sky); border-color: var(--sky); }
.news-topics a[data-cat="learners"]:hover { background: var(--coral); border-color: var(--coral); color: white; }
.news-topics a[data-cat="sports"]:hover { background: var(--leaf); border-color: var(--leaf); color: white; }
.news-lead { padding: 70px 0 90px; background: white; }
.news-section-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.news-section-title > div { display: flex; align-items: center; gap: 15px; }
.news-section-title > div > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--gold-soft); color: #b17d00; font-family: var(--serif); font-size: 1.05rem; }
.news-section-title p { margin: 0; color: var(--navy); text-transform: uppercase; letter-spacing: .15em; font-size: .68rem; font-weight: 700; }
.news-section-title time { color: var(--muted); font-size: .72rem; }
.news-section-title__copy { max-width: 400px; color: var(--muted) !important; text-align: right; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; }
.news-lead__grid { display: grid; grid-template-columns: 1.45fr .55fr; gap: 18px; min-height: 600px; }
.lead-story { position: relative; overflow: hidden; background: var(--navy); border-radius: 22px; box-shadow: 0 20px 45px rgba(10,29,68,.16); transition: transform .35s ease, box-shadow .35s ease; }
.lead-story:hover { transform: translateY(-5px); box-shadow: 0 28px 60px rgba(10,29,68,.24); }
.lead-story::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(6,20,49,.96), rgba(6,20,49,.05) 72%); }
.lead-story > img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.lead-story:hover > img { transform: scale(1.045); }
.lead-story__overlay { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 48px; color: white; }
.news-pill { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 15px; padding: 7px 14px; background: var(--gold); color: var(--navy-dark); border-radius: 999px; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 700; }
.news-pill::before { content: "●"; font-size: .5rem; }
.news-pill[data-cat="progress"] { background: var(--sky); }
.news-pill[data-cat="learners"] { background: var(--coral); color: white; }
.news-pill[data-cat="sports"] { background: var(--leaf); color: white; }
.lead-story h2 { max-width: 700px; margin: 0 0 13px; font-family: var(--serif); font-size: clamp(2rem, 3.6vw, 3.7rem); line-height: 1.04; }
.lead-story p { max-width: 670px; margin: 0 0 22px; color: rgba(255,255,255,.72); }
.lead-story a { display: inline-flex; align-items: center; gap: 14px; color: var(--gold); font-size: .82rem; font-weight: 700; }
.lead-story a span { transition: transform .25s ease; }
.lead-story a:hover span { transform: translateX(6px); }
.headline-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 18px; }
.headline-card { display: grid; grid-template-rows: 1fr auto; overflow: hidden; background: var(--cream); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 12px 28px rgba(10,29,68,.06); transition: transform .3s ease, box-shadow .3s ease; }
.headline-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(10,29,68,.14); }
.headline-card img { width: 100%; height: 100%; min-height: 155px; object-fit: cover; }
.headline-card > div { padding: 23px 25px; }
.headline-card span { color: #a87500; text-transform: uppercase; letter-spacing: .1em; font-size: .6rem; font-weight: 700; }
.headline-card[data-cat="progress"] span { color: #1c8fa0; }
.headline-card[data-cat="learners"] span { color: var(--coral); }
.headline-card h3 { margin: 8px 0 13px; color: var(--navy); font-family: var(--serif); font-size: 1.25rem; line-height: 1.22; }
.headline-card a { color: var(--navy); border-bottom: 1px solid var(--gold); font-size: .72rem; font-weight: 700; }
.news-ticker { display: grid; grid-template-columns: 1.1fr repeat(4, 1fr); gap: 14px; margin-top: 26px; background: transparent; color: white; }
.news-ticker > * { margin: 0; min-height: 96px; padding: 0 22px; display: flex; align-items: center; gap: 12px; border-radius: 16px; font-size: .73rem; transition: transform .25s ease, box-shadow .25s ease; }
.news-ticker > strong { background: var(--navy-dark); color: var(--gold); text-transform: uppercase; letter-spacing: .13em; box-shadow: 0 14px 30px rgba(10,29,68,.18); }
.news-ticker > p { background: var(--navy); color: rgba(255,255,255,.82); box-shadow: 0 14px 30px rgba(10,29,68,.14); border-top: 3px solid var(--gold); }
.news-ticker > p:hover, .news-ticker > strong:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(10,29,68,.24); }
.news-ticker > p:nth-of-type(2) { border-top-color: var(--sky); }
.news-ticker > p:nth-of-type(3) { border-top-color: var(--coral); }
.news-ticker > p:nth-of-type(4) { border-top-color: var(--leaf); }
.news-ticker svg { flex: 0 0 auto; width: 22px; height: 22px; }
.news-ticker > p:nth-of-type(1) svg { color: var(--gold); }
.news-ticker > p:nth-of-type(2) svg { color: var(--sky); }
.news-ticker > p:nth-of-type(3) svg { color: var(--coral); }
.news-ticker > p:nth-of-type(4) svg { color: var(--leaf); }
.news-ticker span { color: var(--gold); font-family: var(--serif); font-size: 1.35rem; }
.news-stories { padding: 95px 0 115px; background: var(--cream); }
.editorial-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
.editorial-card { display: flex; flex-direction: column; overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 14px 30px rgba(10,29,68,.05); transition: transform .3s ease, box-shadow .3s ease; }
.editorial-card:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(10,29,68,.14); }
.editorial-card--wide { grid-column: span 2; display: grid; grid-template-columns: 1.12fr .88fr; min-height: 440px; }
.editorial-card--wide:nth-of-type(4) { grid-template-columns: .88fr 1.12fr; }
.editorial-card--wide:nth-of-type(4) .editorial-card__media { order: 2; }
.editorial-card--horizontal { grid-column: span 2; display: grid; grid-template-columns: .72fr 1.28fr; }
.editorial-card__media { position: relative; min-height: 310px; overflow: hidden; background: var(--navy); }
.editorial-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.editorial-card:hover .editorial-card__media img { transform: scale(1.045); }
.editorial-card__media > span { position: absolute; left: 16px; bottom: 16px; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--navy-dark); font-family: var(--serif); box-shadow: 0 10px 22px rgba(10,29,68,.25); }
.editorial-card[data-cat="progress"] .editorial-card__media > span { background: var(--sky); }
.editorial-card[data-cat="learners"] .editorial-card__media > span { background: var(--coral); color: white; }
.editorial-card[data-cat="sports"] .editorial-card__media > span { background: var(--leaf); color: white; }
.editorial-card[data-cat="milestone"] .editorial-card__media > span { background: var(--navy); color: white; }
.editorial-card__body { padding: 39px; align-self: center; }
.editorial-card h2 { margin: 11px 0 16px; color: var(--navy); font-family: var(--serif); font-size: clamp(1.65rem, 3vw, 2.65rem); line-height: 1.1; }
.editorial-card p { color: var(--muted); font-size: .88rem; }
.story-meta span { color: #a87500; }
.editorial-card[data-cat="progress"] .story-meta span { color: #1c8fa0; }
.editorial-card[data-cat="learners"] .story-meta span { color: var(--coral); }
.editorial-card[data-cat="sports"] .story-meta span { color: var(--leaf); }
.editorial-card[data-cat="milestone"] .story-meta span { color: var(--navy); }
.news-bulletin { padding: 100px 0; position: relative; overflow: hidden; background: linear-gradient(155deg, var(--navy-dark), var(--navy) 65%); color: white; }
.news-bulletin::after { content: "★"; position: absolute; right: -60px; bottom: -145px; color: rgba(255,255,255,.05); font-size: 360px; line-height: 1; }
.news-bulletin::before { content: ""; position: absolute; z-index: 0; width: 320px; height: 320px; left: -140px; top: -140px; border-radius: 50%; background: radial-gradient(circle, rgba(98,200,213,.22), rgba(98,200,213,0) 70%); animation: drift 16s ease-in-out infinite; }
.news-bulletin__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12%; align-items: center; position: relative; z-index: 1; }
.news-bulletin h2 { margin: 0 0 15px; font-family: var(--serif); font-size: clamp(2.5rem, 4vw, 4rem); }
.news-bulletin p { max-width: 590px; color: rgba(255,255,255,.68); }
.news-bulletin .button { margin-top: 20px; transition: transform .25s ease, box-shadow .25s ease; }
.news-bulletin .button:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(247,189,34,.3); }
.bulletin-note { padding: 42px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; background: rgba(255,255,255,.06); backdrop-filter: blur(6px); transition: transform .3s ease; }
.bulletin-note:hover { transform: translateY(-4px); }
.bulletin-note span { color: var(--gold); text-transform: uppercase; letter-spacing: .14em; font-size: .65rem; font-weight: 700; }
.bulletin-note strong { display: block; margin: 17px 0 25px; font-family: var(--serif); font-size: 1.55rem; line-height: 1.4; }
.bulletin-note a { color: var(--gold); border-bottom: 1px solid var(--gold); font-weight: 700; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; }
}
.excellence-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9%; align-items: center; }
.excellence-grid h2 { margin: 0 0 20px; font-family: var(--serif); font-size: clamp(2.5rem, 4vw, 4rem); line-height: 1.08; }
.excellence-grid > div:first-child > p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.excellence-grid .button { margin-top: 20px; }
.pillar-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.pillar-list span { min-height: 74px; padding: 18px 20px; display: flex; align-items: center; color: rgba(255,255,255,.82); border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); font-size: .78rem; }
.pillar-list span::before { content: "✦"; margin-right: 11px; color: var(--gold); }
.activity-callout { display: grid; grid-template-columns: 1fr 1fr; min-height: 530px; background: var(--navy); }
.activity-callout__image { min-height: 530px; }
.activity-callout__image img { width: 100%; height: 100%; object-fit: cover; }
.activity-callout__copy { max-width: 680px; padding: 85px 10% 75px; align-self: center; color: white; }
.activity-callout__copy h2 { margin: 0 0 20px; font-family: var(--serif); font-size: clamp(2.6rem, 4vw, 4.2rem); line-height: 1.08; }
.activity-callout__copy > p:not(.eyebrow) { color: rgba(255,255,255,.69); }
.activity-callout__copy .button { margin-top: 22px; }
.activities-hero { position: relative; overflow: hidden; }
.activities-hero .page-hero__image { object-position: center 38%; }
.activities-hero::before, .activities-hero::after { content: ""; position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.activities-hero::before { width: 360px; height: 360px; right: -130px; top: -160px; background: radial-gradient(circle, rgba(247,189,34,.34), rgba(247,189,34,0) 70%); animation: drift 16s ease-in-out infinite; }
.activities-hero::after { width: 260px; height: 260px; right: 18%; bottom: -170px; background: radial-gradient(circle, rgba(239,131,96,.3), rgba(239,131,96,0) 70%); animation: drift-alt 19s ease-in-out infinite; }
.activities-hero__badge { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; padding: 10px 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 700; backdrop-filter: blur(4px); }
.activities-hero__badge::before { content: "✦"; }

.activity-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.activity-grid article { min-height: 330px; padding: 34px; position: relative; overflow: hidden; border-radius: 20px; background: white; box-shadow: 0 14px 32px rgba(10,29,68,.07); border-top: 5px solid var(--gold); transition: transform .3s ease, box-shadow .3s ease; }
.activity-grid article:hover { transform: translateY(-7px); box-shadow: 0 26px 50px rgba(10,29,68,.16); }
.activity-grid article:nth-child(2) { border-top-color: var(--sky); }
.activity-grid article:nth-child(3) { border-top-color: var(--coral); }
.activity-grid article:nth-child(4) { border-top-color: var(--leaf); }
.activity-grid article > span { position: absolute; right: 24px; top: 22px; color: rgba(10,29,68,.12); font-family: var(--serif); font-size: 2.6rem; }
.activity-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-soft); color: #9a6e00; transition: transform .3s ease; }
.activity-icon svg { width: 26px; height: 26px; }
.activity-grid article:hover .activity-icon { transform: scale(1.1) rotate(-6deg); }
.activity-grid article:nth-child(2) .activity-icon { background: rgba(98,200,213,.18); color: #1c8fa0; }
.activity-grid article:nth-child(3) .activity-icon { background: rgba(239,131,96,.16); color: #c85f3a; }
.activity-grid article:nth-child(4) .activity-icon { background: rgba(111,174,99,.16); color: #4c8a41; }
.activity-grid h3 { margin: 26px 0 12px; color: var(--navy); font-family: var(--serif); font-size: 1.35rem; }
.activity-grid p { margin: 0; color: var(--muted); font-size: .84rem; }
.activity-light h2 { color: white; }
.activity-light > p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.scouts-band { position: relative; overflow: hidden; }
.scouts-band::after { content: "★"; position: absolute; right: -55px; bottom: -140px; color: rgba(255,255,255,.05); font-size: 320px; line-height: 1; pointer-events: none; }
.scouts-band .content-grid { position: relative; z-index: 1; }
.quote-block--accent { position: relative; overflow: hidden; }
.quote-block--accent::before { content: "“"; position: absolute; left: 24px; top: -18px; color: rgba(247,189,34,.28); font-family: var(--serif); font-size: 7rem; line-height: 1; pointer-events: none; }
.quote-block--accent blockquote { position: relative; z-index: 1; }
.active { color: #b37f00 !important; }

@media (max-width: 900px) {
  .content-grid, .contact-layout { gap: 5%; }
  .page-section { padding: 75px 0; }
  .learning-cards { gap: 14px; }
  .learning-card__body { padding: 23px; }
}
@media (max-width: 760px) {
  .page-hero { min-height: 380px; }
  .page-hero__content { padding-bottom: 48px; }
  .photo-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .youtube-heading { grid-template-columns: 1fr; gap: 18px; }
  .audio-heading { grid-template-columns: 1fr; gap: 18px; }
  .youtube-channel { grid-template-columns: auto 1fr; }
  .youtube-channel .button { grid-column: span 2; }
  .give-grid { grid-template-columns: 1fr; }
  .feedback-layout { grid-template-columns: 1fr; }
  .feedback-qr { order: -1; }
  .give-priorities { grid-template-columns: 1fr; }
  .prompt-cards { grid-template-columns: 1fr; }
  .content-grid, .contact-layout { grid-template-columns: 1fr; }
  .content-grid > .content-image { order: -1; margin-bottom: 30px; }
  .content-image { min-height: 370px; }
  .info-cards, .learning-cards { grid-template-columns: 1fr; }
  .news-grid, .blog-feed { grid-template-columns: 1fr; }
  .news-card--featured, .blog-feed .news-card--featured { grid-column: span 1; display: flex; }
  .news-card--featured .news-card__image { height: 280px; min-height: 0; }
  .blog-layout { grid-template-columns: 1fr; }
  .blog-sidebar { position: static; }
  .story-section__grid { grid-template-columns: 1fr; }
  .story-section img { margin-bottom: 28px; }
  .learning-card p { min-height: auto; }
  .vision-spacer { margin-top: 40px; }
  .band-cta__inner { align-items: flex-start; flex-direction: column; }
  .tour-grid { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 230px; }
  .tour-grid figure:nth-child(n) { grid-column: span 1; }
  .form-card, .contact-panel { padding: 30px 24px; }
  .contact-panel { margin-bottom: 30px; }
  .contact-map__frame iframe { height: 300px; }
  .news-masthead { padding-top: 55px; }
  .news-masthead__inner { grid-template-columns: 1fr; gap: 40px; }
  .news-masthead h1 { font-size: clamp(3.2rem, 14vw, 5.2rem); }
  .news-masthead__intro { max-width: 500px; }
  .news-topics { margin-top: 45px; overflow-x: auto; }
  .news-topics a { flex: 0 0 auto; min-width: 125px; }
  .news-lead__grid { grid-template-columns: 1fr; min-height: 0; }
  .lead-story { min-height: 560px; }
  .headline-stack { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .news-ticker { grid-template-columns: 1fr 1fr; }
  .news-ticker > *:first-child { grid-column: span 2; }
  .editorial-card--wide, .editorial-card--horizontal { grid-column: span 2; grid-template-columns: 1fr; }
  .editorial-card--wide:nth-of-type(4) { grid-template-columns: 1fr; }
  .editorial-card--wide:nth-of-type(4) .editorial-card__media { order: 0; }
  .news-bulletin__grid { grid-template-columns: 1fr; gap: 45px; }
  .excellence-grid { grid-template-columns: 1fr; gap: 45px; }
  .activity-callout { grid-template-columns: 1fr; }
  .activity-callout__image { min-height: 390px; }
  .activity-callout__copy { max-width: none; padding: 65px 30px; }
  .activity-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 500px) {
  .photo-grid { grid-template-columns: 1fr; }
  .youtube-grid { grid-template-columns: 1fr; }
  .audio-grid { grid-template-columns: 1fr; }
  .youtube-card__body { padding: 16px 18px; }
  .youtube-channel { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 28px 22px; }
  .youtube-channel .button { grid-column: span 1; width: 100%; }
  .curriculum-grid, .support-list, .form-grid { grid-template-columns: 1fr; }
  .field--full { grid-column: span 1; }
  .tour-grid { grid-template-columns: 1fr; }
  .tour-grid figure:nth-child(n) { grid-column: span 1; }
  .news-masthead h1 { font-size: 3.25rem; }
  .news-masthead__intro { padding-left: 20px; }
  .news-section-title { align-items: flex-start; gap: 18px; }
  .news-section-title__copy { display: none; }
  .lead-story { min-height: 530px; }
  .lead-story__overlay { padding: 30px 24px; }
  .lead-story h2 { font-size: 2.15rem; }
  .headline-stack { grid-template-columns: 1fr; }
  .news-ticker { grid-template-columns: 1fr; }
  .news-ticker > *:first-child { grid-column: span 1; }
  .editorial-grid { grid-template-columns: 1fr; }
  .editorial-card, .editorial-card--wide, .editorial-card--horizontal { grid-column: span 1; }
  .editorial-card__body { padding: 28px 24px; }
  .bulletin-note { padding: 30px 24px; }
  .pillar-list, .activity-grid { grid-template-columns: 1fr; }
  .activity-callout__image { min-height: 300px; }
}
