/* Beyond 8 Version 9.0: question-led content, using the approved brand system. */
.v9-main .v9-follow-on {margin:26px 0 0;line-height:1.65;font-size:1rem;}
.v9-main .v9-follow-on .text-link {white-space:normal;}
.v9-main .v9-proof-note {display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px 32px;padding:26px 0 0;margin-top:24px;border-top:1px solid var(--outline);}
.v9-main .v9-proof-note>strong {font:600 clamp(2.2rem,4vw,3.5rem)/1 'Barlow',Arial,sans-serif;letter-spacing:-.045em;}
.v9-main .v9-proof-note>p {font-size:.97rem;line-height:1.55;margin:0;}
.v9-main .v9-proof-note>.text-link {font-size:.91rem;white-space:normal;}
.v9-main .v9-questions {background:var(--yellow);padding:clamp(28px,4.3vw,58px);}
.v9-main .v9-question-navigation {display:flex;gap:12px;flex-wrap:wrap;margin-bottom:38px;}
.v9-main .v9-question-tab {display:inline-flex;align-items:center;border:1px solid var(--ink);border-radius:100px;padding:12px 22px;min-height:46px;font:500 1.08rem/1.2 'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);background:transparent;}
.v9-main .v9-question-tab:hover,.v9-main .v9-question-tab[aria-selected="true"] {background:var(--ink);color:var(--white);}
.v9-main .v9-question-tab:focus-visible {outline:3px solid var(--navy);outline-offset:4px;}
.v9-main .v9-question-panel[hidden] {display:none;}
.v9-main .v9-question-panel h3 {font-size:clamp(1.9rem,3.5vw,3.2rem);line-height:1.1;margin:0 0 22px;max-width:none;}
.v9-main .v9-question-panel p {font-size:1.08rem;line-height:1.65;margin:0 0 24px;max-width:none;}
.v9-main .v9-question-panel .v9-checkable {font-size:.98rem;margin-bottom:26px;padding-top:20px;border-top:1px solid var(--ink);}
.v9-main .v9-question-panel+.v9-question-panel {margin-top:40px;}
.v9-main .v9-questions[data-v9-ready] .v9-question-panel {margin-top:0;}
.v9-main .v9-entry-grid .info-card {min-height:380px;}
.v9-main .v9-entry-grid .block-card {min-height:100%;}
.v9-main .v9-entry-grid h3 {font-size:clamp(1.8rem,2.7vw,2.65rem);}
.v9-main .v9-entry-grid .card-arrow {margin-top:28px;}
.v9-main .v9-record-detail {margin-top:24px;border-top:1px solid var(--outline);border-bottom:1px solid var(--outline);padding:20px 0;}
.v9-main .v9-record-detail>summary {cursor:pointer;font:500 1.1rem/1.4 'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;}
.v9-main .v9-record-detail>.proof-grid {margin-top:24px;}
.v9-main .faq-group .faq-answer>p:last-child {margin-bottom:0;}
@media(max-width:800px){
 .v9-main .v9-proof-note {grid-template-columns:auto minmax(0,1fr);gap:16px 24px;}
 .v9-main .v9-proof-note>.text-link {grid-column:2;}
 .v9-main .v9-entry-grid .info-card {min-height:300px;}
}
@media(max-width:560px){
 .v9-main .v9-question-navigation {gap:9px;margin-bottom:28px;}
 .v9-main .v9-question-tab {font-size:1rem;padding:10px 16px;}
 .v9-main .v9-question-panel p {font-size:1rem;}
 .v9-main .v9-proof-note {grid-template-columns:1fr;gap:14px;}
 .v9-main .v9-proof-note>.text-link {grid-column:auto;}
 .v9-main .v9-entry-grid .info-card {min-height:295px;}
}

/* Reserve a visible image area when an existing paired block stacks on mobile. */
@media(max-width:800px){
 .v9-main .feature-row>.photo-feature {min-height:320px;min-width:0;width:100%;}
}

/* Version 9.1: a prominent, checkable outcome instead of a byline. */
.v9-main .v9-proof-note.v91-proof-feature {
  margin-top:32px;
  padding:0;
  border:0;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:16px;
  align-items:stretch;
}
.v9-main .v91-proof-intro {
  background:var(--white);
  border:1px solid var(--outline);
  border-radius:var(--round);
  padding:clamp(28px,4vw,54px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
}
.v9-main .v91-proof-intro .eyebrow {color:var(--pink);margin-bottom:24px;}
.v9-main .v91-proof-intro h3 {font-size:clamp(1.85rem,3vw,3rem);line-height:1.1;max-width:650px;margin:0 0 20px;}
.v9-main .v91-proof-intro p {font-size:1.03rem;line-height:1.58;margin:0 0 30px;}
.v9-main .v91-proof-intro .text-link {margin-top:auto;color:var(--ink);font-size:1rem;}
.v9-main .v91-proof-intro .text-link:hover {color:var(--pink);}
.v9-main .v91-proof-number-card {
  background:var(--yellow);
  border-radius:var(--round);
  padding:clamp(30px,4vw,55px);
  min-height:350px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:var(--ink);
}
.v9-main .v91-proof-number-card strong {
  display:block;
  font-family:'Barlow',Arial,sans-serif;
  font-size:clamp(4.8rem,8vw,8.6rem);
  line-height:.9;
  font-weight:600;
  letter-spacing:-.07em;
}
.v9-main .v91-proof-number-card p {font-size:1.05rem;line-height:1.55;margin:30px 0 0;}
/* A family-partnership block makes the community's role visible without overstating outcomes. */
.v9-main .v91-family-card {
  background:var(--green);
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,.7fr);
  align-items:stretch;
  gap:clamp(24px,4vw,70px);
  padding:clamp(34px,5vw,68px);
  color:var(--ink);
}
.v9-main .v91-family-card .eyebrow {color:var(--ink);margin-bottom:23px;}
.v9-main .v91-family-card h2 {font-size:clamp(2rem,3.5vw,3.6rem);max-width:720px;margin:0 0 23px;}
.v9-main .v91-family-card p {font-size:1.06rem;line-height:1.62;margin:0 0 28px;max-width:700px;}
.v9-main .v91-family-card .text-link {font-size:1rem;}
.v9-main .v91-family-emphasis {
  align-self:end;
  margin:0!important;
  border-left:2px solid var(--ink);
  padding-left:clamp(19px,3vw,34px);
  font:500 clamp(1.55rem,2.6vw,2.5rem)/1.2 'Barlow',Arial,sans-serif!important;
  letter-spacing:-.035em;
}
@media (max-width:830px) {
  .v9-main .v9-proof-note.v91-proof-feature {grid-template-columns:1fr;}
  .v9-main .v91-proof-number-card {min-height:280px;}
  .v9-main .v91-family-card {grid-template-columns:1fr;gap:24px;}
  .v9-main .v91-family-emphasis {border-left:0;border-top:2px solid var(--ink);padding:24px 0 0;}
}
@media (max-width:560px) {
  .v9-main .v91-proof-intro,.v9-main .v91-proof-number-card {padding:26px;}
  .v9-main .v91-proof-number-card strong {font-size:clamp(4.7rem,16vw,6.5rem);}
  .v9-main .v91-proof-number-card {min-height:230px;}
  .v9-main .v91-family-card {padding:28px;}
}

/* Homepage: six-stage learning loop. CSS is limited to the new dream-loop classes. */
.dream-loop{--loop-blue:#2a417f;--loop-orange:#f16322;--loop-yellow:#edc31a;--loop-pink:#e23157;--loop-green:#51b748;--loop-purple:#be4498;--loop-sky:#4997d2;display:grid;grid-template-columns:minmax(250px,.83fr) minmax(0,1.3fr);gap:clamp(22px,5vw,72px);align-items:center;padding:clamp(22px,4vw,48px);border:1px solid #e6e7e9;background:#fff;border-radius:22px;box-shadow:0 15px 50px rgba(20,34,54,.05)}
.dream-loop-art{display:grid;place-items:center;min-width:0;aspect-ratio:1}
.dream-loop-ring{--rotation:0deg;position:relative;width:min(100%,320px);aspect-ratio:1;border:12px solid var(--loop-blue);border-radius:50%;background:radial-gradient(circle at center,#fff 0 37%,#fff7d7 38% 62%,#fff 63%);box-shadow:inset 0 0 0 3px var(--loop-yellow);transform:rotate(var(--rotation));transition:transform 850ms cubic-bezier(.2,.85,.2,1)}
.dream-loop-ring:before{content:"";position:absolute;inset:25%;border:2px dashed var(--loop-orange);border-radius:50%;opacity:.42}
.dream-orbit-node{position:absolute;left:50%;top:50%;width:27px;height:27px;margin:-13.5px;background:var(--loop-yellow);border:4px solid white;border-radius:50%;box-shadow:0 0 0 2px var(--loop-blue);transform:rotate(calc(var(--i)*60deg - 90deg)) translateX(145px) rotate(calc(var(--i)*-60deg + 90deg))}
.dream-orbit-node:nth-child(1){background:var(--loop-pink)}
.dream-orbit-node:nth-child(2){background:var(--loop-orange)}
.dream-orbit-node:nth-child(3){background:var(--loop-yellow)}
.dream-orbit-node:nth-child(4){background:var(--loop-green)}
.dream-orbit-node:nth-child(5){background:var(--loop-sky)}
.dream-orbit-node:nth-child(6){background:var(--loop-purple)}
.dream-loop-core{position:absolute;inset:31%;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:white;text-align:center;color:var(--loop-blue);line-height:1.2;transform:rotate(calc(-1*var(--rotation)));transition:transform 850ms cubic-bezier(.2,.85,.2,1);font-size:12px;letter-spacing:.05em}
.dream-loop-core strong{font-family:inherit;font-size:clamp(14px,2vw,20px);letter-spacing:.025em}
.dream-loop-content{display:grid;gap:20px;min-width:0}
.dream-loop-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dream-step{display:flex;align-items:center;justify-content:flex-start;gap:8px;background:#f5f6f8;border:1.5px solid #e7e8ed;border-radius:10px;padding:11px 10px;color:var(--loop-blue);font-family:inherit;font-size:14px;line-height:1.2;font-weight:750;cursor:pointer;text-align:left;transition:background .2s,color .2s,border-color .2s}
.dream-step:hover{border-color:var(--loop-blue)}.dream-step.is-active{background:var(--loop-blue);border-color:var(--loop-blue);color:white}.dream-step-number{font-size:11px;opacity:.7}
.dream-loop-detail{min-height:220px;background:#fff9e6;border-left:5px solid var(--loop-pink);border-radius:8px;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;align-items:flex-start}
.dream-loop-counter{font-size:12px;letter-spacing:.15em;font-weight:800;color:var(--loop-blue)}
.dream-loop-detail h3{font-size:clamp(29px,3.5vw,45px);line-height:1.08;margin:8px 0;color:var(--loop-blue)}
.dream-loop-detail p{font-size:clamp(16px,1.65vw,19px);line-height:1.5;margin:0;color:#252b36;max-width:40ch}
.dream-loop-controls{margin-top:auto;padding-top:22px;display:flex;gap:8px}
.dream-loop-controls button{border:1px solid #b9beca;background:white;color:var(--loop-blue);padding:8px 15px;border-radius:7px;cursor:pointer;font-weight:700}.dream-loop-controls button:hover{border-color:var(--loop-orange)}
.dream-loop :focus-visible{outline:3px solid var(--loop-orange);outline-offset:3px}.dream-loop-footnote{font-size:14px;max-width:780px;color:#4d5360;margin:15px 0 0}
@media(max-width:800px){.dream-loop{grid-template-columns:1fr}.dream-loop-art{aspect-ratio:auto;padding:18px}.dream-loop-ring{width:250px}.dream-orbit-node{transform:rotate(calc(var(--i)*60deg - 90deg)) translateX(115px) rotate(calc(var(--i)*-60deg + 90deg))}.dream-loop-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.dream-loop{padding:18px}.dream-step{font-size:12px;padding:10px 7px}.dream-loop-detail{min-height:235px}}
@media(prefers-reduced-motion:reduce){.dream-loop-ring,.dream-loop-core,.dream-step{transition:none!important}}

/* The six hour positions are 12, 2, 4, 6, 8 and 10 o'clock. */
.dream-clock{position:relative;display:grid;place-items:center;width:100%;max-width:380px;margin:auto}
.dream-direction{position:absolute;z-index:2;top:47%;font-size:15px;line-height:1;color:#e23157;font-weight:900;pointer-events:none}
.dream-direction-left{left:0}.dream-direction-right{right:0}
.dream-loop-ring{width:min(calc(100% - 48px),320px)}
.dream-step.is-active{background:#e23157;border-color:#e23157;color:#fff}
.dream-loop-controls button:active{background:#edc31a}
@media(max-width:800px){.dream-clock{max-width:310px}.dream-loop-ring{width:250px}.dream-direction-left{left:4px}.dream-direction-right{right:4px}}
@media(max-width:420px){.dream-clock{max-width:286px}.dream-loop-ring{width:232px}.dream-orbit-node{transform:rotate(calc(var(--i)*60deg - 90deg)) translateX(108px) rotate(calc(var(--i)*-60deg + 90deg))}}

/* Life / graduate destinations: subtle, equally celebratory status highlights. */
#destinations .story-card .overline{display:inline-block;align-self:flex-start;max-width:100%;padding:6px 9px;border-radius:6px;font-size:12px;line-height:1.45;letter-spacing:.045em;}
#destinations .story-card:is(:nth-child(1),:nth-child(2),:nth-child(4),:nth-child(5),:nth-child(7),:nth-child(8)) .overline{background:#DAF1D7;border-left:3px solid #51B748;}
#destinations .story-card:is(:nth-child(3),:nth-child(9)) .overline{background:#FFDCE6;border-left:3px solid #E23157;}
#destinations .story-card:nth-child(6) .overline{background:#F2DFF1;border-left:3px solid #BE4498;}
#destinations .story-card .graduate-university-icon{width:22px;height:22px;object-fit:contain;display:inline-block;vertical-align:middle;flex-shrink:0;margin-right:7px;border-radius:4px;background:#FFFFFF;}

/* Home page closing card only: the card directly after the #evidence or #events section gets a photo. */
.v9-main :is(#evidence,#events) + section .closing {background:linear-gradient(90deg,rgba(39,39,37,.9),rgba(39,39,37,.76) 55%,rgba(39,39,37,.36)),url(/assets/images/108.jpg) center 12%/cover no-repeat;color:#FFFFFF;}
.v9-main :is(#evidence,#events) + section .closing .button.dark {background:var(--orange);color:var(--ink);}
.v9-main :is(#evidence,#events) + section .closing :is(h2,p) {color:#FFFFFF;}
.v9-main :is(#evidence,#events) + section .closing .eyebrow {color:var(--yellow);}
@media(max-width:800px){
 .v9-main :is(#evidence,#events) + section .closing {background:linear-gradient(rgba(39,39,37,.84),rgba(39,39,37,.84)),url(/assets/images/108.jpg) 35% center/cover no-repeat;}
}

/* Home page: monthly events calendar. */
.v9-main .events-grid {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.v9-main .event-card {display:flex;gap:clamp(18px,2.4vw,30px);align-items:flex-start;background:var(--white);border:1px solid var(--outline);border-radius:var(--round);padding:clamp(22px,2.8vw,36px);}
.v9-main .event-date {flex:0 0 auto;width:84px;padding:12px 0 10px;border-radius:14px;background:var(--yellow);color:var(--ink);text-align:center;}
.v9-main .event-date span {display:block;font:500 1rem/1.1 'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;}
.v9-main .event-date strong {display:block;font:600 2.6rem/1.05 'Barlow',Arial,sans-serif;letter-spacing:-.04em;}
.v9-main .event-body {min-width:0;display:flex;flex-direction:column;align-items:flex-start;}
.v9-main .event-tags {display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.v9-main .event-tag {padding:5px 11px;border:1px solid var(--ink);border-radius:100px;font:500 .9rem/1.2 'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;}
.v9-main .event-tag-audience {background:#DAF1D7;border-color:#51B748;}
.v9-main .event-card h3 {font-size:clamp(1.6rem,2.3vw,2.1rem);line-height:1.1;margin:0 0 10px;}
.v9-main .event-card p {font-size:1.02rem;line-height:1.55;margin:0;}
.v9-main .event-card .event-meta {margin-top:10px;font-size:.95rem;font-weight:600;}
.v9-main .event-card .button {margin-top:20px;}
@media(max-width:800px){
 .v9-main .events-grid {grid-template-columns:1fr;}
}
@media(max-width:420px){
 .v9-main .event-date {width:68px;}
 .v9-main .event-date strong {font-size:2.1rem;}
 .v9-main .event-card .button {white-space:normal;}
}
