/* Research profile: a full-width, centered landing page, other pages retain the theme */
.masthead{position:relative;z-index:10}
.masthead__inner-wrap{max-width:1440px}
.masthead .greedy-nav{background:transparent;gap:.4rem}
.masthead .site-title{font-size:.95rem;letter-spacing:.01em;margin-right:auto;white-space:nowrap}
.masthead .visible-links{margin-left:auto;display:flex;align-items:center}
.masthead .visible-links .masthead__menu-item a{font-size:.76rem;padding:.55rem .52rem;white-space:nowrap}
.masthead .nav-language{display:flex;align-items:center;white-space:nowrap;font-size:.73rem;letter-spacing:.02em;opacity:.73;margin-left:.45rem;padding-left:.55rem;border-left:1px solid #8ba1b744}
.masthead .nav-language a{display:inline!important;padding:.2rem!important;font-weight:600}
.masthead .nav-language span{white-space:pre}
body:has(.landing-identity) #main{max-width:none;padding-left:0;padding-right:0;margin-top:0}
body:has(.landing-identity) #main .page{float:none;width:100%;padding:0;margin:0}
body:has(.landing-identity) .page__inner-wrap{float:none;width:100%;margin:0}
body:has(.landing-identity) .page__title{display:none}
body:has(.landing-identity) .page__content{width:100%;margin:0;padding:0}
body:has(.landing-identity) .page__content p{margin-bottom:1rem}
.hero-banner{position:relative;width:100%;height:clamp(240px,26vw,365px);overflow:hidden;background-color:#061222;background-image:linear-gradient(90deg,rgba(3,12,25,.35),rgba(3,12,25,.08) 50%,rgba(2,13,29,.52)),url('/assets/images/cyber-hero.svg');background-repeat:no-repeat;background-size:cover;background-position:center}
.hero-banner__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,218,250,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,218,250,.05) 1px,transparent 1px);background-size:55px 55px;box-shadow:inset 0 -22px 35px #04090d88;pointer-events:none}
.hero-banner__caption{position:absolute;bottom:1.65rem;right:max(2rem,calc((100vw - 1120px)/2));font-size:.69rem;font-weight:750;letter-spacing:.21em;color:#d9f5ff;text-shadow:0 1px 10px #000}
.landing-identity{max-width:1120px;margin:0 auto;padding:0 1.4rem 2.3rem;display:flex;align-items:flex-start;gap:2rem;border-bottom:1px solid #8995a540}
.portrait-wrap{flex:0 0 auto;width:168px;height:168px;border:6px solid #1b222d;border-radius:50%;overflow:hidden;display:block;position:relative;margin-top:-83px;background:#203347;box-shadow:0 7px 30px #0006}
.portrait-wrap img{display:block;width:100%;height:100%;object-fit:cover}
.identity-copy{padding-top:1.2rem;min-width:0}
.identity-label{font-size:.66rem;font-weight:700;letter-spacing:.2em;color:#68c4f1;margin:0 0 .55rem!important}
.identity-copy h1{font-size:clamp(1.62rem,2.7vw,2.3rem);font-weight:700;letter-spacing:-.025em;line-height:1.26;margin:0 0 .65rem}
.identity-copy h1 span{font-size:.6em;opacity:.7;font-weight:500;margin-left:.55rem;white-space:nowrap}
.identity-copy>p:not(.identity-label){font-size:.94rem;line-height:1.8;opacity:.88;margin-bottom:.65rem!important}
.identity-social{display:flex;gap:1.2rem;flex-wrap:wrap}
.identity-social a,.landing-section-links a{font-size:.82rem;text-decoration:none!important;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.identity-social a:hover,.landing-section-links a:hover{border-bottom-color:currentColor}
.landing-content{width:min(1120px,100%);margin:0 auto;padding:2.2rem 1.4rem 4rem}
.landing-content h2{font-size:1.45rem;margin:0 0 .3rem}
.landing-intro{font-size:.9rem;opacity:.7;margin-bottom:1.6rem!important}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0 2rem}
.feature-grid>a,.feature-grid>div{display:block;padding:1.4rem;border:1px solid #8995a555;border-radius:15px;background:#8297af0b;color:inherit!important;text-decoration:none!important;transition:transform .2s}
.feature-grid>a:hover{transform:translateY(-3px);border-color:#5694e8}
.feature-grid span{font-size:.7rem;font-weight:800;letter-spacing:.12em;color:#67a6f7}
.feature-grid h3{font-size:1.16rem;margin:1rem 0 .65rem}
.feature-grid p{font-size:.9rem;line-height:1.65;margin:0}
.landing-section-links{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;border-top:1px solid #8995a530;padding-top:1.3rem}
@media(max-width:950px){.masthead .visible-links .masthead__menu-item a{font-size:.7rem;padding:.45rem .3rem}.masthead .site-title{font-size:.8rem}}
@media(max-width:760px){.hero-banner{height:235px}.hero-banner__caption{right:1rem;bottom:1rem;font-size:.5rem}.landing-identity{display:block;padding:0 1.1rem 1.8rem}.portrait-wrap{width:130px;height:130px;margin-top:-65px;border-width:4px}.identity-copy{padding-top:.7rem}.identity-copy h1 span{display:block;margin:.25rem 0 0;font-size:.62em}.landing-content{padding:1.8rem 1.1rem 3rem}.feature-grid{grid-template-columns:1fr}.masthead .nav-language{margin-left:.1rem;padding-left:.2rem}}
