/* Boarding high school discovery homepage. */
.nff-discover-intro{display:grid;grid-template-columns:1.8fr 1fr;gap:50px;align-items:center;padding-top:48px;padding-bottom:38px}
.nff-discover-intro .nff-eyebrow{margin-bottom:16px;font-size:12px;letter-spacing:.12em}
.nff-discover-intro h1{font-family:var(--font-serif);font-size:clamp(27px,2.6vw,38px);font-weight:500;line-height:1.7;letter-spacing:.02em}
.nff-discover-intro h1 em{color:var(--nff-forest)}
.nff-discover-intro>div:last-child{font-size:14px;border-left:1px solid var(--nff-line);padding-left:34px}
.nff-discover-intro .nff-inline-link{margin-top:15px;display:inline-block}
.nff-pickup-slider{max-width:1440px;margin:0 auto;padding:0 40px}
.nff-pickup-slide{position:relative;isolation:isolate;min-height:485px;overflow:hidden;background:var(--nff-forest-deep);color:#fff}
.nff-pickup-slide[hidden]{display:none}
.nff-pickup-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}
.nff-pickup-slide::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,27,22,.78),rgba(9,27,22,.25) 65%,rgba(9,27,22,.08)),linear-gradient(0deg,rgba(9,27,22,.45),transparent 45%)}
.nff-slide-copy{padding:55px 60px 65px;max-width:800px}
.nff-slide-eyebrow{font-size:12px;letter-spacing:.16em;display:flex;gap:24px;align-items:center}
.nff-slide-eyebrow span{letter-spacing:.04em;border:1px solid #ffffff70;padding:3px 12px}
.nff-slide-copy h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(29px,3.3vw,47px);line-height:1.65;margin:30px 0 18px;text-shadow:0 2px 20px #14282070}
.nff-slide-school{font-size:16px;letter-spacing:.08em}
.nff-slide-copy a{display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid #ffffff99;padding:12px 0 6px;margin-top:14px;font-size:14px}
.nff-slide-copy a:focus-visible{outline-color:white}
.nff-slide-credit{position:absolute;right:16px;bottom:12px;font-size:10px;background:#152d26b3;padding:2px 8px}
.nff-slider-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:70px;border-bottom:1px solid var(--nff-line)}
.nff-slider-bar>p{font-size:12px;letter-spacing:.12em}.nff-slider-controls{display:flex;align-items:center;gap:12px}.nff-slider-controls[hidden]{display:none}
.nff-slider-controls button{background:transparent;color:var(--nff-forest);border:1px solid var(--nff-line);min-width:44px;height:44px;border-radius:50%;padding:0}
.nff-slider-dots{display:flex;gap:0}.nff-slider-dots button{position:relative;border:0;width:32px;min-width:32px}.nff-slider-dots button::after{content:"";position:absolute;top:18px;left:12px;width:8px;height:8px;border-radius:50%;background:#c3ccc5}.nff-slider-dots button[aria-current=true]::after{background:var(--nff-forest)}
.nff-slider-controls [data-slide-pause]{border:0;border-radius:0;font-size:11px;min-width:100px;padding:0 6px}
.nff-directory-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px}.nff-directory-heading .nff-eyebrow{margin-bottom:12px;font-size:11px;letter-spacing:.18em}.nff-directory-heading .nff-heading{font-size:30px}.nff-directory-heading>a{flex-shrink:0;font-size:13px}.nff-directory-heading>p{font-size:14px}
.nff-directory-note{font-size:11px;color:var(--nff-ink-soft);margin-top:23px}.nff-directory-columns{background:#edf0e7}.nff-directory-columns .nff-lead{font-size:15px}
.nff-column-grid--pickup{grid-template-columns:repeat(3,minmax(0,1fr))}
.nff-column-grid--pickup .nff-column-card{aspect-ratio:1/1;min-height:0;border-bottom:0;overflow:hidden}
.nff-column-grid--pickup .nff-column-card__link{display:flex;flex-direction:column;height:100%}
.nff-column-grid--pickup .nff-column-card__thumb{flex:0 0 30%;height:auto;min-height:0}
.nff-column-grid--pickup .nff-column-card__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:14px 0 0}
.nff-column-grid--pickup .nff-column-card__body .nff-tag{font-size:11px}
.nff-column-grid--pickup .nff-column-card__body h2{font-size:16px;line-height:1.55;margin:8px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nff-column-grid--pickup .nff-column-card__body p{font-size:13px;line-height:1.6;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nff-column-grid--pickup .nff-column-card__body .nff-inline-link{font-size:12px;margin-top:auto}
.nff-support-feature{display:grid;grid-template-columns:240px 1fr;gap:38px;align-items:center;padding-top:30px;padding-bottom:30px;border-top:1px solid var(--nff-line);border-bottom:1px solid var(--nff-line)}.nff-support-feature img{width:100%;aspect-ratio:1.2;object-fit:cover}.nff-support-feature .nff-eyebrow{font-size:11px;margin-bottom:10px}.nff-support-feature h2{font-family:var(--font-serif);font-weight:500;font-size:25px;line-height:1.7;margin-bottom:13px}.nff-support-feature p:not(.nff-eyebrow){font-size:13px}.nff-support-feature a{display:inline-block;font-size:12px;margin-top:13px}.nff-home-credit{padding-top:18px;padding-bottom:45px}
@media(min-width:1600px){.nff-pickup-slide{min-height:540px}.nff-slide-copy{padding-top:70px}}
@media(max-width:1020px){.nff-discover-intro{grid-template-columns:1fr;gap:20px}.nff-discover-intro>div:last-child{border:0;padding:0;display:flex;gap:30px;align-items:center;justify-content:space-between}.nff-discover-intro>div:last-child br{display:none}.nff-discover-intro .nff-inline-link{flex-shrink:0;margin:0}.nff-directory-heading{align-items:start;flex-direction:column;gap:15px}.nff-column-grid--pickup{grid-template-columns:repeat(2,minmax(0,1fr))}.nff-column-grid--pickup .nff-column-card:nth-child(n+5){display:none}}
@media(max-width:760px){.nff-discover-intro{padding-top:28px;padding-bottom:26px;gap:15px}.nff-discover-intro .nff-eyebrow{font-size:10px;margin-bottom:12px}.nff-discover-intro h1{font-size:clamp(22px,5.9vw,34px);letter-spacing:0}.nff-discover-intro>div:last-child{display:block;font-size:13px}.nff-discover-intro .nff-inline-link{margin-top:12px;font-size:12px}.nff-pickup-slider{padding:0 16px}.nff-pickup-slide{min-height:450px}.nff-pickup-slide>img{object-position:60% center}.nff-slide-copy{padding:35px 25px 60px}.nff-slide-copy h2{font-size:clamp(25px,6.8vw,38px);margin:55px 0 22px}.nff-slide-eyebrow{font-size:10px;gap:15px}.nff-slide-school{font-size:13px;letter-spacing:0}.nff-slide-copy a{font-size:12px;gap:24px}.nff-slide-credit{font-size:8px;right:8px}.nff-slider-bar{flex-wrap:wrap;justify-content:center;padding:13px 0;gap:8px}.nff-slider-bar>p{width:100%;text-align:center;font-size:10px}.nff-slider-controls{gap:7px}.nff-directory-heading .nff-heading{font-size:26px}.nff-column-grid--pickup{grid-template-columns:1fr}.nff-column-grid--pickup .nff-column-card{aspect-ratio:auto}.nff-column-grid--pickup .nff-column-card__thumb{flex:none;height:170px}.nff-column-grid--pickup .nff-column-card__body{flex:none;display:block}.nff-column-grid--pickup .nff-column-card__body .nff-inline-link{margin-top:0}.nff-directory-note{font-size:10px}.nff-support-feature{grid-template-columns:1fr;gap:22px;margin:0 24px;padding-left:0;padding-right:0}.nff-support-feature img{max-height:200px;aspect-ratio:1.7}.nff-support-feature h2{font-size:24px}.nff-home-credit{padding-top:12px;padding-bottom:28px}}
.nff-pickup-slide{animation:nffPickupReveal .45s ease}
@keyframes nffPickupReveal{from{opacity:.5}to{opacity:1}}
@media(max-width:380px){.nff-slider-controls{gap:4px}.nff-slider-controls [data-slide-pause]{min-width:88px;font-size:10px}.nff-slider-dots button{min-width:28px;width:28px}.nff-slider-dots button::after{left:10px}}
/* Practical priorities: two equally weighted editorial entrances. */
.nff-practical-section{padding-top:34px;padding-bottom:24px;border-top:1px solid var(--nff-line)}
.nff-practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.nff-practical-card{display:flex;flex-direction:column;align-items:flex-start;padding:32px;background:#eff1e9;border:1px solid var(--nff-line);transition:background .2s}
.nff-practical-card:hover{background:#e5ebdf}
.nff-practical-icon{display:flex;align-items:center;gap:12px;color:var(--nff-forest-soft);font-size:12px;letter-spacing:.08em}
.nff-practical-card h3{font-family:var(--font-serif);font-size:clamp(21px,2vw,27px);font-weight:500;line-height:1.75;margin:22px 0 16px}
.nff-practical-card>p{font-size:14px;color:var(--nff-ink-soft);margin-bottom:24px}
.nff-practical-card>.nff-inline-link{margin-top:auto;font-size:12px}
.nff-home-diagnosis{position:relative;overflow:hidden;padding:88px 0;background:#526c82;color:#fff}
.nff-home-diagnosis::before{content:"";position:absolute;left:-80px;bottom:-150px;width:340px;height:340px;border:1px solid #dce9e736;border-radius:50%;pointer-events:none}
.nff-home-diagnosis__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:70px}
.nff-home-diagnosis__copy{position:relative;z-index:1}.nff-home-diagnosis .nff-eyebrow{color:#dce9e7;font-size:11px;margin-bottom:12px}.nff-home-diagnosis .nff-heading{font-size:clamp(27px,3vw,40px);line-height:1.7;margin-bottom:19px}.nff-home-diagnosis__copy>p:not(.nff-eyebrow){max-width:570px;font-size:14px;line-height:2;color:#eaf0ed}
.nff-home-diagnosis__cta{display:inline-flex;align-items:center;gap:28px;margin-top:26px;padding:15px 22px;background:#f5f0df;color:#40586d;font-size:14px;font-weight:700;box-shadow:4px 4px 0 #31495e;transition:transform .2s,box-shadow .2s}.nff-home-diagnosis__cta:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #31495e}.nff-home-diagnosis__note{display:block;margin-top:13px;font-size:11px;color:#dce9e7}
.nff-home-diagnosis__visual{position:relative;height:280px;isolation:isolate}.nff-home-diagnosis__circle{position:absolute;border:1px solid #dce9e755;border-radius:50%}.nff-home-diagnosis__circle--one{width:260px;height:260px;right:16px;top:10px}.nff-home-diagnosis__circle--two{width:180px;height:180px;right:57px;top:50px;border-style:dashed}.nff-home-diagnosis__card{position:absolute;inset:73px 65px auto auto;display:grid;place-items:center;width:155px;height:155px;background:#f5f0df;color:#40586d;transform:rotate(7deg);box-shadow:8px 9px 0 #344d62;line-height:1.1}.nff-home-diagnosis__card>span{font-family:Georgia,serif;font-size:15px;letter-spacing:.14em}.nff-home-diagnosis__card>strong{font-family:Georgia,serif;font-size:41px;letter-spacing:-.05em}.nff-home-diagnosis__card .nff-icon{position:absolute;right:-24px;bottom:-19px;width:59px;height:59px;padding:13px;background:#dce9e7;border-radius:50%;stroke-width:1.2}.nff-home-diagnosis__orbit{position:absolute;inset:0;animation:nffDiagnosisOrbit 16s linear infinite}.nff-home-diagnosis__orbit span{position:absolute;width:10px;height:10px;background:#f5f0df;border-radius:50%}.nff-home-diagnosis__orbit span:nth-child(1){right:49px;top:2px}.nff-home-diagnosis__orbit span:nth-child(2){right:275px;bottom:40px;width:7px;height:7px}.nff-home-diagnosis__orbit span:nth-child(3){right:14px;bottom:38px;width:6px;height:6px;background:#dce9e7}
@keyframes nffDiagnosisOrbit{to{transform:rotate(360deg)}}
@media(max-width:760px){.nff-home-diagnosis{padding:63px 0}.nff-home-diagnosis__inner{grid-template-columns:1fr;gap:25px}.nff-home-diagnosis .nff-heading{font-size:28px}.nff-home-diagnosis__copy>p:not(.nff-eyebrow){font-size:13px}.nff-home-diagnosis__visual{height:180px}.nff-home-diagnosis__circle--one{width:180px;height:180px;right:calc(50% - 90px);top:0}.nff-home-diagnosis__circle--two{width:124px;height:124px;right:calc(50% - 62px);top:28px}.nff-home-diagnosis__card{inset:25px calc(50% - 58px) auto auto;width:116px;height:116px;box-shadow:6px 7px 0 #344d62}.nff-home-diagnosis__card>span{font-size:11px}.nff-home-diagnosis__card>strong{font-size:31px}.nff-home-diagnosis__card .nff-icon{width:45px;height:45px;padding:10px;right:-17px;bottom:-15px}.nff-home-diagnosis__orbit span:nth-child(1){right:calc(50% - 90px);top:0}.nff-home-diagnosis__orbit span:nth-child(2){right:calc(50% + 76px);bottom:17px}.nff-home-diagnosis__orbit span:nth-child(3){right:calc(50% - 98px);bottom:17px}}
@media(prefers-reduced-motion:reduce){.nff-home-diagnosis__orbit{animation:none}}
@media(max-width:760px){.nff-practical-grid{grid-template-columns:1fr;gap:16px}.nff-practical-card{padding:26px 24px}.nff-practical-card h3{font-size:22px}.nff-practical-section{padding-top:28px}}
