/* About page: heading sized to its length, text 55% + optional image 45% */
.about-page{max-width:1180px;margin:0 auto;padding:1.6rem 1rem 3rem}
.about-page__head{padding-bottom:1rem;margin-bottom:1.6rem;border-bottom:3px solid var(--gold)}
.about-page__head .eyebrow{margin:0 0 .4rem}
.about-page__head h1{margin:0;color:var(--navy);font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.15;overflow-wrap:anywhere}
.about-page__head h1.is-medium{font-size:clamp(1.6rem,2.8vw,2.2rem)}
.about-page__head h1.is-long{font-size:clamp(1.4rem,2.3vw,1.8rem)}
.about-page__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.2rem}
.about-page__grid.has-image{grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:start}
.about-page__text{max-width:72ch;color:var(--ink);font-size:1.06rem;line-height:1.85}
.about-page__text p{margin:0 0 1.1rem}
.about-page__text p:first-child{font-size:1.14rem;color:var(--navy)}
.about-page__empty{color:var(--muted)}
.about-page__image{position:sticky;top:1rem;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--wash)}
.about-page__image img{display:block;width:100%;height:auto}
@media(max-width:900px){.about-page__grid.has-image{grid-template-columns:minmax(0,1fr);gap:1.4rem}.about-page__image{position:static;order:-1}}
@media(max-width:560px){.about-page{padding-top:1rem}.about-page__text{font-size:1rem}}

/* Our team: one centred row per level; greyscale portraits that colour on hover */
.team{position:relative;margin-top:1rem;padding:3.5rem max(1rem,calc((100% - 1280px)/2)) 4rem;background:radial-gradient(ellipse 70% 55% at 50% 0%,#ffffffd9 0%,#ffffff00 70%),linear-gradient(180deg,#eef3f9 0%,#e3ebf4 100%);border-top:1px solid var(--line);box-shadow:inset 0 14px 24px -18px #092d5540,inset 0 -14px 24px -18px #092d5540}
.team__title{margin:0 0 2.6rem;text-align:center;color:var(--navy);font-size:clamp(1.8rem,3.2vw,2.6rem)}
/* One horizontal row, centred when it fits and scrollable (with snap) when it does not. */
.team__row{display:flex;flex-wrap:nowrap;gap:1.6rem;margin:0;padding:.9rem .2rem 1.4rem;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:.2rem;scrollbar-width:thin;scrollbar-color:#9fb3c8 transparent}
.team__row>:first-child{margin-left:auto}
.team__row>:last-child{margin-right:auto}
.team-card{position:relative;flex:0 0 290px;scroll-snap-align:start;aspect-ratio:3/4;overflow:hidden;border-radius:16px;background:var(--blue);box-shadow:0 0 0 1px #cfdae6,0 14px 30px -10px #092d5559;outline:none;transition:transform .3s ease,box-shadow .3s ease}
.team-card__photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:grayscale(1) contrast(1.06) brightness(.97);transition:filter .4s ease,transform .5s ease}
.team-card__photo--blank{background:linear-gradient(#dfe5ea,#c4ccd3)}
/* Tint layer: dark fade for the name; a light blue wash joins it on hover. */
.team-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0d5a9e00 0%,#061a3300 42%,#061a3380 68%,#061a33f2 100%);pointer-events:none;transition:background .4s ease}
/* Gold bar that grows along the bottom edge on hover. */
.team-card::before{content:"";position:absolute;left:0;right:0;bottom:0;z-index:2;height:4px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.team-card__info{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:1.2rem 1.35rem 1.4rem;color:#fff}
.team-card__info h3{margin:0;font:700 1.16rem/1.25 Arial,Helvetica,sans-serif;letter-spacing:.01em;text-shadow:0 1px 6px #0007;overflow-wrap:anywhere}
.team-card__more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .35s ease}
.team-card__more>div{min-height:0;overflow:hidden}
.team-card__rule{display:block;width:38px;height:3px;margin:.65rem 0 .55rem;border-radius:2px;background:var(--gold)}
.team-card__position{margin:0;color:#e3ecf6;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.team-card__phone{display:inline-flex;align-items:center;gap:.4rem;margin-top:.55rem;padding:.3rem .7rem;border:1px solid #ffffff59;border-radius:6px;background:#ffffff1a;color:#fff;font-size:.86rem;font-weight:700;text-decoration:none}
.team-card__phone:hover,.team-card__phone:focus-visible{border-color:var(--gold);background:var(--gold);color:var(--navy)}
.team-card:hover,.team-card:focus-within{transform:translateY(-6px);box-shadow:0 0 0 1px #b9c9da,0 22px 40px -12px #092d5580}
.team-card:hover::after,.team-card:focus-within::after{background:linear-gradient(180deg,#0d5a9e40 0%,#0d5a9e14 38%,#061a3399 66%,#061a33f5 100%)}
.team-card:hover::before,.team-card:focus-within::before{transform:scaleX(1)}
.team-card:hover .team-card__photo,.team-card:focus-within .team-card__photo{filter:none;transform:scale(1.04)}
.team-card:hover .team-card__more,.team-card:focus-within .team-card__more{grid-template-rows:1fr;opacity:1}
.team-card:focus-visible{box-shadow:0 0 0 3px var(--gold),0 22px 40px -12px #092d5580}
@media(hover:none){.team-card__more{grid-template-rows:1fr;opacity:1}.team-card__photo{filter:none}}
@media(max-width:560px){.team{padding-top:2.5rem;padding-bottom:3rem}.team__row{gap:1rem}.team-card{flex-basis:min(80vw,290px)}}
