:root { --people-navy:#020B1D; --people-blue:#00173D; --people-paper:#F8F5E8; --people-yellow:#FFD700; --people-cyan:#91E8FF; }
.people-page { background:var(--people-navy); color:var(--people-paper); }
.people-page main { overflow:hidden; }
.people-hero { min-height:min(43rem,76vh); padding:clamp(10rem,16vw,14rem) var(--safe-x,4vw) clamp(4rem,8vw,7rem); display:grid; align-content:end; background:radial-gradient(circle at 12% 15%,rgba(255,215,0,.2),transparent 18rem),linear-gradient(135deg,#00173D 0%,#020B1D 63%); }
.people-hero p { margin:0 0 1.5rem; color:var(--people-cyan); font:.72rem/1 "Bray DIN",Arial,sans-serif; letter-spacing:.15em; }
.people-hero h1 { max-width:13ch; margin:0; font:700 clamp(3.5rem,8.5vw,9rem)/.82 "Josefin Sans",Arial,sans-serif; letter-spacing:-.075em; text-transform:uppercase; }
.people-hero h1 em { display:block; color:var(--people-yellow); font-family:"Bray Instrument Serif",Georgia,serif; font-size:.78em; font-style:italic; font-weight:400; letter-spacing:-.07em; text-transform:none; }
.people-hero > span { max-width:31rem; margin:2.2rem 0 0 auto; color:rgba(248,245,232,.75); font:clamp(.85rem,1.15vw,1rem)/1.45 "Bray DIN",Arial,sans-serif; }
.people-directory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; padding:1px; background:rgba(145,232,255,.18); }
.person-card { position:relative; min-height:clamp(22rem,35vw,34rem); overflow:hidden; padding:0; border:0; background:var(--people-blue); color:inherit; cursor:pointer; isolation:isolate; text-align:left; }
.person-card--featured { grid-column:span 2; grid-row:span 2; min-height:clamp(34rem,70vw,68rem); }
.person-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.04); transition:transform .7s cubic-bezier(.2,.75,.25,1),filter .45s ease; }
.person-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 34%,rgba(2,11,29,.9) 100%); z-index:-1; }
.person-card div { position:absolute; z-index:1; right:1.35rem; bottom:1.3rem; left:1.35rem; transform:translateY(.35rem); transition:transform .35s ease; }
.person-card p { margin:0 0 .55rem; color:var(--people-cyan); font:.68rem/1.2 "Bray DIN",Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.person-card h2 { margin:0; color:var(--people-paper); font:700 clamp(1.3rem,2vw,2rem)/.94 "Josefin Sans",Arial,sans-serif; letter-spacing:-.06em; text-transform:uppercase; }
.person-card--featured h2 { font-size:clamp(2rem,4.5vw,5rem); }
.person-card:hover img,.person-card:focus-within img { filter:grayscale(0) contrast(1); transform:scale(1.045); }
.person-card:hover div { transform:translateY(0); }
.people-page .site-footer { margin-top:95px; }
.people-inspire { display:grid; min-height:clamp(12rem,19vw,19rem); place-items:center; padding:2rem var(--safe-x,4vw); background:linear-gradient(105deg,#a9d4f7 0%,#ddfaeb 17%,#fff785 38%,#f5d35c 56%,#d7ae6c 73%,#f0b6b0 100%); }
.people-inspire h2 { margin:0; color:#020B1D; font:700 clamp(2rem,4vw,5rem)/.9 "Josefin Sans",Arial,sans-serif; letter-spacing:-.06em; text-align:center; text-transform:uppercase; }
.people-modal { width:min(59rem,calc(100% - 2rem)); max-height:min(43rem,calc(100svh - 2rem)); padding:0; border:1px solid var(--people-cyan); border-radius:1.4rem; background:var(--people-blue); color:var(--people-paper); box-shadow:0 2rem 5rem rgba(0,0,0,.55); overflow:hidden; }
.people-modal::backdrop { background:rgba(2,11,29,.82); backdrop-filter:blur(7px); }
.people-modal[open] { display:grid; grid-template-columns:minmax(14rem,42%) 1fr; animation:profile-in .35s cubic-bezier(.2,.75,.25,1) both; }
.people-modal__close { position:absolute; z-index:2; top:1rem; right:1rem; width:2.5rem; height:2.5rem; border:1px solid var(--people-cyan); border-radius:50%; background:var(--people-navy); color:var(--people-paper); font-size:1.55rem; line-height:1; cursor:pointer; }
.people-modal__close:hover,.people-modal__close:focus-visible { border-color:var(--people-yellow); color:var(--people-yellow); outline:none; }
.people-modal__image { min-height:28rem; background:#061733; }
.people-modal__image img { width:100%; height:100%; object-fit:contain; display:block; background:#020B1D; }
.people-modal__content { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4.5rem); }
.people-modal__role { margin:0 0 1rem; color:var(--people-cyan); font:.7rem/1.2 "Bray DIN",Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.people-modal h2 { margin:0 0 1.6rem; font:700 clamp(2.3rem,4vw,4.5rem)/.84 "Josefin Sans",Arial,sans-serif; letter-spacing:-.075em; text-transform:uppercase; }
.people-modal__bio,.people-modal__inspiration { margin:0; color:rgba(248,245,232,.82); font:.94rem/1.52 "Bray DIN",Arial,sans-serif; }
.people-modal__inspiration { margin-top:1.5rem; color:var(--people-paper); }
.people-modal__inspiration span { display:block; margin-bottom:.45rem; color:var(--people-yellow); font-family:"Bray Instrument Serif",Georgia,serif; font-size:1.5rem; font-style:italic; }
@keyframes profile-in { from { opacity:0; transform:translateY(1rem) scale(.98); } to { opacity:1; transform:none; } }
@media (max-width:900px) { .people-directory { grid-template-columns:repeat(2,minmax(0,1fr)); } .person-card { min-height:27rem; } .person-card--featured { min-height:50rem; } }
@media (max-width:600px) { .people-hero { min-height:31rem; padding-top:9rem; } .people-hero > span { margin-left:0; } .people-directory { grid-template-columns:1fr; } .person-card,.person-card--featured { grid-column:auto; grid-row:auto; min-height:29rem; } .person-card--featured { min-height:36rem; } }
@media (max-width:600px) { .people-modal[open] { grid-template-columns:1fr; overflow:auto; } .people-modal__image { min-height:16rem; max-height:30svh; } .people-modal__content { min-height:0; } }
@media (prefers-reduced-motion:reduce) { .person-card img,.person-card div { transition:none; } }

/* Full-screen editorial people scroll. */
.people-page .people-hero { min-height:42vh; }
.people-page .people-directory { display:block; padding:0; background:#020B1D; counter-reset:people; }
.people-page .person-card,.people-page .person-card--featured { position:sticky; top:72px; display:grid; grid-template-columns:minmax(12rem,1fr) minmax(15rem,24vw) minmax(16rem,1fr); align-items:center; min-height:calc(100svh - 72px); height:calc(100svh - 72px); margin:0; padding:clamp(1.5rem,5vw,5rem); border-bottom:1px solid rgba(145,232,255,.18); background-color:#020B1D; counter-increment:people; isolation:isolate; }
.people-page .person-card::before { content:counter(people, decimal-leading-zero); position:absolute; z-index:-1; left:clamp(1.5rem,5vw,5rem); bottom:-.12em; color:rgba(248,245,232,.06); font:700 clamp(17rem,37vw,40rem)/.7 "Josefin Sans",Arial,sans-serif; letter-spacing:-.13em; }
.people-page .person-card::after { display:none; }
.people-page .person-card img { position:static; grid-column:2; width:100%; height:auto; aspect-ratio:1/1.16; object-fit:cover; filter:grayscale(1) contrast(1.08); box-shadow:1.2rem 1.2rem 0 #00173D; }
.people-page .person-card div { position:static; grid-column:3; padding-left:clamp(2rem,5vw,7rem); transform:none; }
.people-page .person-card h2,.people-page .person-card--featured h2 { font-size:clamp(2.3rem,5vw,6rem); line-height:.82; }
.people-page .person-card p { max-width:18rem; margin-bottom:calc(1.1rem + 10px); color:#91E8FF; font-size:.76rem; }
.people-page .person-card:hover img { filter:grayscale(0) contrast(1); transform:none; }
@media (max-width:700px) { .people-page .person-card,.people-page .person-card--featured { position:relative; top:auto; grid-template-columns:1fr; grid-template-rows:auto auto; height:auto; min-height:0; padding:4.5rem 1.5rem; } .people-page .person-card::before { font-size:15rem; } .people-page .person-card img,.people-page .person-card div { grid-column:1; } .people-page .person-card div { padding:2rem 0 0; } }

/* One split-screen section: editorial text left, scrollable profiles right. */
.people-page main { display:grid; grid-template-columns:1fr 1fr; overflow:visible; background:#020B1D; }
.people-page .people-hero { position:sticky; top:72px; align-self:start; min-height:calc(100svh - 72px); height:calc(100svh - 72px); padding:clamp(3rem,6vw,7rem); background:#020B1D; border-right:1px solid rgba(145,232,255,.2); }
.people-page .people-hero > span { margin:2.2rem 0 0; }
.people-page .people-directory { min-width:0; }
.people-page .person-card,.people-page .person-card--featured { position:relative; top:auto; display:grid; grid-template-columns:1fr; grid-template-rows:1fr auto; height:calc(100svh - 72px); min-height:calc(100svh - 72px); padding:clamp(2rem,5vw,5rem); }
.people-page .person-card::before { right:1rem; left:auto; bottom:-.02em; font-size:clamp(11rem,22vw,25rem); }
.people-page .person-card img { position:static; grid-column:1; width:min(100%,28rem); height:100%; max-height:calc(100svh - 15rem); margin:auto; aspect-ratio:auto; object-fit:contain; box-shadow:none; transform:none; }

.people-page .person-card:hover img { transform:none; }
.people-page .person-card div { grid-column:1; padding:1.25rem 0 0; }
.people-page .person-card h2,.people-page .person-card--featured h2 { font-size:clamp(1.8rem,3.4vw,4rem); }
.people-gallery-progress { position:fixed; z-index:12; top:50%; right:1.25rem; display:flex; align-items:center; gap:.65rem; transform:translateY(-50%); pointer-events:none; }
.people-gallery-progress::before { content:""; width:1px; height:9rem; background:rgba(145,232,255,.3); }
.people-gallery-progress span { position:absolute; left:0; bottom:0; width:1px; height:9rem; background:#FFD700; transform:scaleY(0); transform-origin:bottom; }
.people-gallery-progress small { color:#91E8FF; font:.56rem/1.25 "Bray DIN",Arial,sans-serif; letter-spacing:.12em; writing-mode:vertical-rl; }
@media (max-width:700px) { .people-page main { display:block; } .people-page .people-hero { position:relative; top:auto; height:auto; min-height:32rem; border-right:0; border-bottom:1px solid rgba(145,232,255,.2); } .people-page .person-card,.people-page .person-card--featured { height:auto; min-height:32rem; } }

/* Vertical filmstrip: several people stay visible while the active profile leads. */
@media (min-width:701px) {
  .people-page main { min-height:calc(100svh - 72px); }
  .people-page .people-directory { position:sticky; top:72px; height:calc(100svh - 72px); overflow-y:auto; scroll-snap-type:y mandatory; scrollbar-width:none; padding:clamp(2rem,4vw,4rem) clamp(2rem,5vw,6rem); }
  .people-page .people-directory::-webkit-scrollbar { display:none; }
  .people-page .person-card,.people-page .person-card--featured { display:grid; grid-template-columns:minmax(7rem,13vw) 1fr; grid-template-rows:1fr; min-height:34%; height:34%; padding:0 0 1.2rem; background:transparent; border:0; scroll-snap-align:center; opacity:.42; transition:opacity .35s ease; }
  .people-page .person-card::before { display:none; }
  .people-page .person-card img { grid-column:1; grid-row:1; width:100%; height:100%; max-height:none; margin:0; object-fit:contain; filter:grayscale(1) contrast(1.05); }
  .people-page .person-card div { grid-column:2; grid-row:1; display:flex; flex-direction:column; justify-content:center; padding-left:clamp(1.5rem,3vw,3rem); }
  .people-page .person-card h2,.people-page .person-card--featured h2 { font-size:clamp(1.7rem,3.4vw,4.2rem); }
  .people-page .person-card.is-active { opacity:1; }
  .people-page .person-card.is-active img { filter:grayscale(0) contrast(1); }
  .people-page .person-card.is-active h2 { color:#FFD700; }
  .people-page .person-card:hover { opacity:1; }
  .people-page .person-card:hover img { filter:grayscale(0) contrast(1.05); }
  .people-page .person-card:hover h2 { color:#FFD700; }
}
@media (max-width:700px) { .people-gallery-progress { right:.6rem; } .people-gallery-progress::before,.people-gallery-progress span { height:5rem; } .people-gallery-progress small { display:none; } }
