.person-page .hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:65px}.person-page .portrait-wrap{min-height:0;gap:18px}.person-page .portrait{width:100%;max-width:440px;aspect-ratio:4/4.4;border-radius:12px;border-color:#4b697b;box-shadow:0 25px 65px #0003}.person-page .portrait:after{background:linear-gradient(0deg,#08223835,transparent 50%)}.person-page .photo-note{width:100%;max-width:440px;gap:12px}.person-page .badge{background:none;border:0;padding:0;border-radius:0;box-shadow:none}.person-page .badge:hover{transform:none;box-shadow:none}.person-page .badge strong{color:#e9f6fa;font-size:.9rem}.person-page .badge span{color:#b8cdd9;font-size:.84rem;line-height:1.6}.person-page .badge.photo-origin{background:none;border-bottom:1px solid #426174;padding-bottom:13px}.person-page .badge.photo-origin span{color:#b8cdd9}.person-page .story{gap:60px}.person-page .quote{background:#eef5f8;color:#082238;border-radius:12px;box-shadow:none;padding:35px}.person-page .quote p{font-size:1.6rem;line-height:1.5;letter-spacing:-.03em;color:#082238}.person-page .quote-mark{color:#277b96;font-family:Georgia,serif;font-size:4rem;line-height:1}.person-page .quote small{display:block;color:#506777;margin-top:20px}.person-page .story-card{border:0;border-bottom:1px solid #d1dfe7;border-radius:0;box-shadow:none;padding:0 0 25px;margin-bottom:25px;background:none}.person-page .story-card:hover{transform:none;box-shadow:none}.person-page .story-card h3{font-size:1.3rem;line-height:1.25;margin-bottom:12px}.person-page .story-card p{font-size:1rem;line-height:1.85;color:#506777}.person-page .values{gap:25px}.person-page .value{background:transparent;border:0;border-top:2px solid #a9c7d6;border-radius:0;box-shadow:none;padding:25px 0}.person-page .value:hover{box-shadow:none;transform:translateY(-3px)}.person-page .value-icon{background:none;color:#2a7d97;justify-content:flex-start;width:auto;height:auto;border-radius:0;font-size:.85rem;margin-bottom:23px}.person-page .value h3{font-size:1.3rem}.person-page .value p{font-size:1rem;line-height:1.8;color:#506777}.person-page .timeline{gap:25px}.person-page .timeline .step{padding:25px;background:#fff;border-radius:10px;box-shadow:none;border:1px solid #d5e2e9}.person-page .timeline .step:before{display:none}.person-page .timeline .step-num{font:700 .9rem Arial,sans-serif;color:#2b7f99;margin-bottom:20px}.person-page .contact-section{background:#edf4f8;padding:75px 35px}.person-page .contact-wrap{max-width:1190px;margin:auto}.person-page .contact-intro h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.15}.person-page .contact-intro p{color:#506777;font-size:1rem;line-height:1.8}.person-page .contact-section .tag{color:#2c7b94}.person-page .contact-note{background:white;border-color:#cbdde7;color:#506777;border-radius:8px;box-shadow:none}.person-page .contact-card{border:1px solid #d1e0e8;border-radius:12px;box-shadow:none;background:white;padding:28px;min-width:0}.person-page .contact-card.primary{background:white;color:#082238}.person-page .contact-card h3{font-size:1.4rem;line-height:1.2;color:#082238}.person-page .contact-card p{font-size:1rem;color:#506777;line-height:1.75}.person-page .contact-card a{overflow-wrap:anywhere}.person-page .contact-icon{width:42px;height:42px;border-radius:8px;background:#e7f1f6;color:#246f8b;font-size:1.2rem}.person-page .contact-form input,.person-page .contact-form textarea{background:#f8fafc;border:1px solid #b9cedb;border-radius:7px;font-size:1rem;color:#082238}.person-page .contact-form label{color:#25495f;font-size:.9rem}.person-page .contact-card .form-hint{font-size:.85rem}.person-page .contact-form .btn-blue{color:white}.person-page .contact-form .btn-light{color:#1672df}.person-page .reveal{animation:person-enter .6s ease both}.person-page .portrait img{object-position:42% center}
@keyframes person-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.person-page .hero-inner{gap:35px}.person-page .story{gap:30px}.person-page .values{grid-template-columns:repeat(2,minmax(0,1fr))}.person-page .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-page .contact-card.primary{grid-column:1/-1}.person-page .quote{position:static}}
@media(max-width:680px){.person-page .hero-inner,.person-page .story,.person-page .timeline{grid-template-columns:minmax(0,1fr)}.person-page .hero h1{font-size:clamp(2.4rem,9.5vw,3.2rem)}.person-page .portrait-wrap{align-items:center}.person-page .portrait{aspect-ratio:4/4.2;max-width:400px}.person-page .photo-note{max-width:400px}.person-page .values,.person-page .contact-grid,.person-page .form-row{grid-template-columns:minmax(0,1fr)}.person-page .contact-intro{display:block}.person-page .contact-note{margin-top:22px}.person-page .contact-section{padding:52px 23px}.person-page .contact-card{padding:23px}.person-page .contact-actions{flex-direction:column}.person-page .contact-actions .btn{width:100%}.person-page .quote p{font-size:1.4rem}.person-page .quote{padding:27px}.person-page .hero .tag{line-height:1.7}}
@media(prefers-reduced-motion:reduce){.person-page .reveal{animation:none}.person-page .portrait:hover,.person-page .portrait:hover img,.person-page .value:hover{transform:none}}
/* Unify surfaces and contrast; reveal only when sections enter the viewport. */
.person-page{--ink:#082238;--gray:#506777}.person-page .hero{min-height:0}.person-page .section.alt,.person-page .contact-section{background:#eef5f8}.person-page .contact-section:before{display:none}.person-page .contact-wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:start}.person-page .contact-intro{background:#082238;border-radius:12px;box-shadow:none;min-height:0;padding:32px}.person-page .contact-intro h2{color:#fff}.person-page .contact-intro h2 span{color:#90e0ef}.person-page .contact-intro p{color:#c2d4df}.person-page .contact-intro .tag{background:none;color:#90e0ef}.person-page .contact-note{background:none;color:#c2d4df;border:0;border-top:1px solid #426174;border-radius:0;padding-top:20px;box-shadow:none}.person-page .contact-card.primary{grid-template-columns:minmax(0,1fr)}.person-page .contact-grid{min-width:0}.person-page .contact-card:hover{transform:none;box-shadow:0 10px 28px #0822380b}.person-page .quote:hover{transform:none;box-shadow:none}.person-page .cta h2{color:white}.person-page .cta p{color:#c2d4df}.person-page .cta{border-top:1px solid #27465c}.person-page .reveal{animation:none;opacity:1;transform:none}.person-page.person-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.person-page.person-motion .reveal.visible{opacity:1;transform:none}.person-page .story>div{position:relative;padding-left:27px}.person-page .story>div:before,.person-page .story>div:after{content:'';position:absolute;left:0;top:0;width:2px;height:100%;background:#d2e2e9}.person-page .story>div:after{background:#2486a4;transform:scaleY(var(--story-progress,0));transform-origin:top;transition:transform .15s linear}.person-page .story-card{position:relative}.person-page .story-card:before{content:'';position:absolute;left:-31px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #2486a4;z-index:1}.person-page .portrait{transform:perspective(900px) rotateX(var(--portrait-x,0deg)) rotateY(var(--portrait-y,0deg));transition:transform .4s ease,box-shadow .4s ease}.person-page .portrait:hover{transform:perspective(900px) rotateX(var(--portrait-x,0deg)) rotateY(var(--portrait-y,0deg));box-shadow:0 32px 70px #0004}.person-page .portrait img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.person-page .portrait:hover img{transform:scale(1.035)}.person-page .timeline .step{transition:transform .3s,border-color .3s}.person-page .timeline .step:hover{border-color:#4294ac;transform:translateY(-4px)}
@media(max-width:980px){.person-page .contact-wrap{grid-template-columns:minmax(0,1fr)}.person-page .contact-intro{padding:28px}.person-page .hero-inner{gap:35px}}
@media(max-width:680px){.person-page .portrait-wrap{min-height:0}.person-page .contact-intro h2{font-size:2rem}.person-page .contact-intro{padding:25px}.person-page .story{gap:32px}.person-page .photo-note{grid-template-columns:minmax(0,1fr)}.person-page .badge{padding:8px 0}.person-page .hero .tag{font-size:.7rem;letter-spacing:.12em}.person-page .form-row{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.person-page.person-motion .reveal{opacity:1;transform:none;transition:none}.person-page .portrait,.person-page .portrait:hover,.person-page .portrait:hover img,.person-page .timeline .step:hover{transform:none}.person-page .story>div:after{transform:scaleY(1);transition:none}}

/* Keep portrait captions on the uninterrupted navy hero surface. */
.person-page .hero::before{display:none}
