/* Hero layout pattern adapted from "Visualfolio" Framer template by Fawaz Ahamed (free; framer.com/@fawaz-ahamed/). NRAI library INDEX row 130. No template code, images, copy or fonts. */
/* People big-title hero theme_v2 (Rowan 13:35/13:36): green / plum / petrol / wine; shoulders-up ORIGINAL photos, CSS crop only (theme_v2/CROP_NOTES.md polish round). Scoped to .pbt / .pbt-* only. */
.pbt{--pbt-bg:#23362B;--pbt-fg:#FFFFFF;--pbt-mu:#E4EDE3;--pbt-ring:#FEC623;--cw:480px;--cx:0px;--cy:0px;--tint:.92;
 position:relative;overflow:hidden;isolation:isolate;box-sizing:border-box;width:calc(100% - 32px);max-width:1408px;margin:16px auto 0;border-radius:24px;background:var(--pbt-bg);color:var(--pbt-fg);min-height:780px;padding:32px 40px}
.pbt--parents{--pbt-bg:#23362B;--pbt-mu:#E4EDE3}
.pbt--students{--pbt-bg:#4A2C4E;--pbt-mu:#F1E4EE;--cw:790px;--cx:-116px;--cy:-23px;--tint:.92}
.pbt--contact{--pbt-bg:#5A2A2E;--pbt-mu:#F4E6E1;--cw:765px;--cx:-120px;--cy:-39px;--tint:.92}
.pbt.pbt--about{--pbt-bg:#1D4756;--pbt-mu:#DDEEF1;background:#1D4756;min-height:720px}
.pbt--parents[data-pbt-parent="A"]{--cw:514px;--cx:35px;--cy:-62px;--tint:.92}
.pbt--parents[data-pbt-parent="B"]{--cw:653px;--cx:-66px;--cy:-26px;--tint:.92}
.pbt--parents[data-pbt-parent="C"]{--cw:474px;--cx:11px;--cy:-52px;--tint:1}
.pbt--parents[data-pbt-parent="D"]{--cw:735px;--cx:-81px;--cy:-114px;--tint:.92}
.pbt-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:80px 80px}
.pbt-top{position:relative;z-index:4;display:flex;justify-content:space-between;min-height:20px;font-size:14px;line-height:20px;color:var(--pbt-mu)}
.pbt-top .eyebrow{color:var(--pbt-mu);margin:0;padding:0;background:none;font-size:14px;line-height:20px}
.pbt-float{position:absolute;inset:0;z-index:1;pointer-events:none;font-weight:600;font-size:16px;line-height:24px;color:color-mix(in srgb,var(--pbt-mu) 26%,transparent)}
.pbt-float span{position:absolute;white-space:nowrap;animation:pbt-drift-l 24s ease-in-out infinite alternate}
.pbt-float .pbt-r{animation-name:pbt-drift-r}
@keyframes pbt-drift-l{to{transform:translateX(-24px)}}
@keyframes pbt-drift-r{to{transform:translateX(24px)}}
.pbt-new-phrase-word{display:none}
.pbt-new-phrase .pbt-new-phrase-word{display:inline}
.pbt-title{position:absolute;z-index:3;left:50%;top:144px;transform:translateX(-50%);margin:0;padding:0;white-space:nowrap;font-weight:700;letter-spacing:-.04em;line-height:.8;font-size:clamp(56px,19vw,248px);color:var(--pbt-fg);pointer-events:none}
.pbt-ph{position:absolute;z-index:2;left:50%;bottom:0;width:480px;height:580px;margin:0 0 0 -240px;padding:0;pointer-events:none}
.pbt-ph-in{position:absolute;left:0;top:0;width:480px;height:580px;overflow:hidden;-webkit-mask-image:radial-gradient(ellipse 31% 112% at 50% 100%,#000 64%,transparent 98%);mask-image:radial-gradient(ellipse 31% 112% at 50% 100%,#000 64%,transparent 98%)}
.pbt-ph-in img{position:absolute;display:block;max-width:none;height:auto;width:var(--cw);left:var(--cx);top:var(--cy)}
.pbt-ph-in::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,var(--pbt-bg) 0,transparent 12%)}
.pbt-ph-in::after{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(ellipse 33% 64% at 50% 66%,transparent 50%,var(--pbt-bg) 86%);opacity:var(--tint)}
.pbt-cap{position:absolute;z-index:5;right:40px;bottom:8px;margin:0;font-size:12px;line-height:16px;color:var(--pbt-mu)}
.pbt-bottom{position:absolute;z-index:4;left:40px;right:40px;bottom:32px;border-top:1px solid rgba(255,255,255,.22);padding-top:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.pbt .pbt-h1{margin:0 0 8px;padding:0;font-size:24px;line-height:32px;font-weight:700;letter-spacing:0;max-width:352px;color:var(--pbt-fg);text-wrap:balance}
.pbt .pbt-lede{margin:0;padding:0;font-size:16px;line-height:24px;max-width:352px;color:var(--pbt-mu);text-wrap:balance}
.pbt-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.pbt-links .btn{margin:0;min-height:44px}
.pbt-links .btn-primary{box-shadow:0 0 0 2px #F0ECE2}
.pbt-link{display:inline-flex;align-items:center;min-height:44px;color:var(--pbt-fg);text-decoration:underline;text-underline-offset:4px;font-weight:600}
.pbt-link:hover{color:var(--pbt-fg)}
.pbt a:focus-visible,.pbt button:focus-visible{outline:3px solid var(--pbt-ring);outline-offset:3px}
.pbt-more{box-sizing:border-box;width:calc(100% - 32px);max-width:1408px;margin:24px auto 0;padding:0 40px}
.pbt-more>p{max-width:720px;margin:0 0 12px}
/* About us (map hero) keeps its own flow layout: people_about_map.css; theme_v2 overrides */
.pbt.pbt--about{padding:32px 40px}
.pbt--about .pbt-bottom{position:relative;left:auto;right:auto;bottom:auto}
.pbt--about .pbt-map circle{fill:#DDEEF1;opacity:.42}
.pbt--about .pbt-band .pbt-cap{position:absolute;right:0;bottom:0}
@media (prefers-reduced-motion:reduce){.pbt-float span{animation:none}}
@media (max-width:600px){
 .pbt,.pbt.pbt--about{width:calc(100% - 16px);margin:8px auto 0;border-radius:16px;padding:16px 16px 24px;min-height:0;display:flex;flex-direction:column}
 .pbt-float{display:none}
 .pbt-grid{background-size:48px 48px}
 .pbt-title{top:76px;font-size:clamp(56px,19vw,88px)}
 .pbt-ph{position:relative;left:auto;bottom:auto;align-self:center;width:269px;height:325px;margin:60px 0 0;overflow:hidden}
 .pbt-ph-in{transform:scale(.56);transform-origin:0 0}
 .pbt-cap{position:relative;right:auto;bottom:auto;margin:8px 0 0;text-align:right}
 .pbt-bottom{position:relative;left:auto;right:auto;bottom:auto;margin-top:0;flex-direction:column;align-items:stretch}
 .pbt .pbt-h1{font-size:22px;line-height:28px;max-width:none}
 .pbt .pbt-lede{max-width:none}
 .pbt-links{flex-direction:column;align-items:stretch;gap:8px}
 .pbt-links .btn{justify-content:center}
 .pbt-more{width:calc(100% - 16px);padding:0 16px}
 .pbt--about .pbt-title{top:64px}
 .pbt--about .pbt-band .pbt-cap{position:absolute}
}