.graduation-page .hero .photo.graduation-video{background-color:#24161a;background-size:cover;overflow:hidden}.graduation-page .hero .photo.graduation-video video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.graduation-page .hero:after{background:linear-gradient(90deg,rgba(17,8,12,.78),rgba(17,8,12,.3) 58%,rgba(17,8,12,.08))}@media(prefers-reduced-motion:reduce){.graduation-page .hero .photo.graduation-video video{display:none}}.cms-section{position:relative;padding:clamp(72px,9vw,144px) 0;overflow:hidden}.cms-section-media{display:block;width:100%;height:min(70vh,760px);object-fit:cover}.cms-section-copy{position:relative;z-index:1}.cms-section-copy>h2{white-space:normal}.cms-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0}.cms-split .cms-section-media{height:100%;min-height:620px}.cms-split .cms-section-copy{padding:clamp(60px,8vw,130px)}.cms-split.reverse .cms-section-media{order:2}.cms-hero{min-height:80vh;display:grid;align-items:end;color:#fff}.cms-hero .cms-section-media{position:absolute;inset:0;height:100%}.cms-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,5,10,.68),rgba(20,5,10,.12))}.cms-hero .cms-section-copy{padding-bottom:10vh}.cms-banner{padding:0;color:#fff}.cms-banner .cms-section-media{filter:brightness(.65)}.cms-banner .cms-section-copy{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.cms-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;margin-top:42px}.cms-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.cms-item h3{margin-top:18px}.cms-cta{text-align:center;background:#681024;color:#fff}.cms-gallery .cms-items{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media(max-width:760px){.cms-split{grid-template-columns:1fr}.cms-split .cms-section-media{min-height:0;height:64vw}.cms-split.reverse .cms-section-media{order:0}.cms-split .cms-section-copy{padding:56px 24px}.cms-hero{min-height:76vh}.cms-items{grid-template-columns:1fr}}

/* Graduation collection and the 11th grade story page. */
.graduation-levels{background:#f1e8e1}.graduation-levels h2{margin-bottom:38px}.graduation-level-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);min-height:520px;background:#15110f;color:#f7f4ee;overflow:hidden}.graduation-level-card img{width:100%;height:100%;min-height:520px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.graduation-level-card>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,6vw,78px)}.graduation-level-card span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#cba7a4}.graduation-level-card h3{font-size:clamp(36px,3.7vw,58px);line-height:1.02;margin:22px 0}.graduation-level-card p{color:#d5c8c1;font-size:14px;line-height:1.85}.graduation-level-card strong{margin-top:34px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}.graduation-level-card:hover img{transform:scale(1.025)}
.graduation-11-page .graduation-11-hero .photo{background-position:center 48%}.graduation-11-page .graduation-11-hero:after{background:linear-gradient(90deg,#0d0909 3%,#0d0909e8 29%,#0d09094d 67%,#0d090914)}.graduation-11-intro .split-photo{height:clamp(520px,54vw,740px);min-height:0;object-position:center}.graduation-11-intro .split-copy{display:flex;flex-direction:column;justify-content:center}.graduation-11-benefits{background:#efe6df;border-top:1px solid var(--line)}.graduation-11-benefits h2{max-width:920px}.graduation-11-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px}.graduation-11-benefit-grid article{min-height:290px;padding:30px 26px;background:#f8f3ed;border:1px solid #dacbc2;display:flex;flex-direction:column}.graduation-11-benefit-grid span{font-size:11px;letter-spacing:.14em;color:#9b7371}.graduation-11-benefit-grid h3{font-size:29px;color:var(--wine);margin:auto 0 15px}.graduation-11-benefit-grid p{font-size:13px;line-height:1.8;color:var(--muted)}.graduation-11-banner img{object-position:center 42%}.graduation-11-gallery{background:#f7f4ee}.graduation-11-gallery h2{margin-bottom:40px}.graduation-11-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.graduation-11-gallery figure{margin:0;min-width:0}.graduation-11-gallery figure.full{grid-column:1/-1}.graduation-11-gallery img{width:100%;height:clamp(340px,39vw,560px);object-fit:cover}.graduation-11-gallery .full img{height:clamp(400px,54vw,720px)}.graduation-11-gallery figcaption{padding-top:11px;color:#806a62;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:900px){.graduation-level-card{grid-template-columns:1fr}.graduation-level-card img{min-height:0;height:58vw}.graduation-11-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.graduation-levels h2{margin-bottom:26px}.graduation-level-card img{height:66vw}.graduation-level-card>div{padding:34px 24px 40px}.graduation-level-card h3{font-size:38px}.graduation-11-page .graduation-11-hero .photo{background-position:center}.graduation-11-intro .split-photo{height:72vw;max-height:420px}.graduation-11-benefit-grid{gap:10px;margin-top:30px}.graduation-11-benefit-grid article{min-height:235px;padding:22px 18px}.graduation-11-benefit-grid h3{font-size:25px}.graduation-11-gallery h2{margin-bottom:27px}.graduation-11-gallery-grid{gap:23px 10px}.graduation-11-gallery img{height:270px}.graduation-11-gallery .full img{height:58vw;min-height:250px}}
@media(max-width:520px){.graduation-11-benefit-grid{grid-template-columns:1fr}.graduation-11-benefit-grid article{min-height:180px}.graduation-11-gallery-grid{grid-template-columns:1fr}.graduation-11-gallery figure.full{grid-column:auto}.graduation-11-gallery img,.graduation-11-gallery .full img{height:300px}}

/* Graduation formats and the 9th grade story page. */
.graduation-levels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.graduation-levels-grid .graduation-level-card{grid-template-columns:1fr;min-height:0}.graduation-levels-grid .graduation-level-card img{height:clamp(300px,28vw,430px);min-height:0}.graduation-levels-grid .graduation-level-card>div{min-height:390px;justify-content:flex-start}.graduation-levels-grid .graduation-level-card h3{margin-top:auto}.graduation-9-page .graduation-9-hero .photo{background-position:center 44%}.graduation-9-page .graduation-9-hero:after{background:linear-gradient(90deg,#0d0909 3%,#0d0909e8 29%,#0d09094d 67%,#0d090914)}.graduation-9-intro .split-photo{height:clamp(520px,54vw,740px);min-height:0;object-position:center}.graduation-9-intro .split-copy{display:flex;flex-direction:column;justify-content:center}.graduation-9-benefits{background:#efe6df;border-top:1px solid var(--line)}.graduation-9-benefits h2{max-width:920px}.graduation-9-banner img{object-position:center 44%}.graduation-9-gallery{background:#f7f4ee}.graduation-9-gallery h2{margin-bottom:40px}
@media(max-width:900px){.graduation-levels-grid{grid-template-columns:1fr}.graduation-levels-grid .graduation-level-card img{height:58vw}.graduation-levels-grid .graduation-level-card>div{min-height:0}}
@media(max-width:760px){.graduation-levels-grid .graduation-level-card img{height:66vw}.graduation-9-page .graduation-9-hero .photo{background-position:center}.graduation-9-intro .split-photo{height:72vw;max-height:420px}.graduation-9-gallery h2{margin-bottom:27px}}

/* Main graduation page: from the last bell to the last dance. */
.graduation-last-bell{position:relative;min-height:clamp(520px,62vw,820px);display:flex;align-items:flex-end;overflow:hidden;background:#100b0c;color:#f7f4ee}.graduation-last-bell>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.graduation-last-bell:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,7,8,.9) 0%,rgba(12,7,8,.58) 38%,rgba(12,7,8,.08) 72%),linear-gradient(0deg,rgba(12,7,8,.7),transparent 48%)}.graduation-last-bell-copy{position:relative;z-index:1;width:min(680px,88%);padding:clamp(60px,8vw,110px) 6%}.graduation-last-bell .eyebrow,.graduation-last-bell h2{color:#f7f4ee}.graduation-last-bell h2{font-size:clamp(46px,5.4vw,78px)}.graduation-last-bell p{max-width:500px;margin-top:24px;color:#eadfda;font-size:15px;line-height:1.85}
@media(max-width:760px){.graduation-last-bell{min-height:650px;align-items:flex-end}.graduation-last-bell>img{object-position:62% center}.graduation-last-bell:after{background:linear-gradient(0deg,rgba(12,7,8,.92) 0%,rgba(12,7,8,.62) 44%,rgba(12,7,8,.1) 82%)}.graduation-last-bell-copy{width:100%;padding:55px 6%}.graduation-last-bell h2{font-size:42px}.graduation-last-bell p{font-size:14px}}

/* Main graduation page: graduation is more than a party. */
.graduation-not-just-party{background:#f7f2ed}.graduation-not-just-party .split-photo{height:clamp(560px,58vw,780px);min-height:0;object-position:center}.graduation-not-just-party .split-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,120px)}.graduation-not-just-party h2{font-size:clamp(45px,4.7vw,70px)}.graduation-not-just-party p{max-width:470px}
@media(max-width:760px){.graduation-not-just-party .split-photo{height:72vw;max-height:430px;object-position:center 42%}.graduation-not-just-party .split-copy{padding:48px 6%}.graduation-not-just-party h2{font-size:42px}}

/* Main graduation page: not just a graduation, but a story. */
.graduation-story{position:relative;min-height:clamp(560px,64vw,860px);display:flex;align-items:flex-end;overflow:hidden;background:#120a10;color:#fff}.graduation-story video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.graduation-story-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,4,8,.08) 25%,rgba(9,4,8,.76) 100%),linear-gradient(90deg,rgba(9,4,8,.42),transparent 55%)}.graduation-story-copy{position:relative;z-index:1;width:min(900px,88%);padding:clamp(60px,8vw,120px) 6%}.graduation-story .eyebrow,.graduation-story h2{color:#fff}.graduation-story h2{font-size:clamp(48px,6vw,88px);line-height:.92}.graduation-story p{max-width:520px;margin-top:24px;color:#f1e8e7;font-size:16px;line-height:1.75}
@media(max-width:760px){.graduation-story{min-height:660px}.graduation-story video{object-position:center}.graduation-story-shade{background:linear-gradient(180deg,rgba(9,4,8,.04) 25%,rgba(9,4,8,.88) 100%)}.graduation-story-copy{width:100%;padding:54px 6%}.graduation-story h2{font-size:43px}.graduation-story p{font-size:14px}}

/* Eleventh grade page video cover. */
.graduation-11-page .graduation-11-hero .graduation-11-video{overflow:hidden;background-color:#170d13;background-size:cover}.graduation-11-page .graduation-11-hero .graduation-11-video video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
@media(max-width:760px){.graduation-11-page .graduation-11-hero .graduation-11-video video{object-position:center}}
@media(prefers-reduced-motion:reduce){.graduation-11-page .graduation-11-hero .graduation-11-video video{display:none}}

/* Portrait video cover for the thematic event page. */
@media(min-width:761px){.theme-page .hero .photo.theme-video video{object-fit:contain;object-position:right center;background:#210d16}}
@media(max-width:760px){.theme-page .hero .photo.theme-video video{object-fit:cover;object-position:center 42%}}

/* Chamber dinner video cover. */
.hero .photo.dinner-video{overflow:hidden;background-color:#160f0d;background-size:cover}.hero .photo.dinner-video video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.theme-formats-grid .theme-format-card:nth-child(4) img{object-position:center 22%}.theme-formats-grid .theme-format-card:nth-child(5) img{object-position:center 48%}
@media(prefers-reduced-motion:reduce){.hero .photo.dinner-video video{display:none}}

.party-page .hero .photo.party-video{inset:0;overflow:hidden;background-size:cover}.party-page .hero .photo.party-video video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.party-page .hero.dark:after{background:linear-gradient(90deg,#160e16e8,#160e1680 55%,#160e1620)}
@media(prefers-reduced-motion:reduce){.party-page .hero .photo.party-video video{display:none}}
