/* Basso Global Partners — site styles (extracted verbatim, design unchanged) */

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0B3A6D;--navy-mid:#254f8c;--navy-light:#3265ad;
  --gold:#c9a84c;--gold-light:#e0c078;--gold-pale:#f7f0e3;
  --off:#f5f3ef;--white:#ffffff;--border:#d4cec4;--text:#1a1a1a;--muted:#6b6560;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--text);overflow-x:hidden}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 48px;height:72px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(11,25,41,0.06);transition:background 0.3s,box-shadow 0.3s}
nav.scrolled{background:rgba(255,255,255,0.98);box-shadow:0 4px 18px rgba(11,25,41,0.06)}
.nav-spacer{width:180px;flex-shrink:0}
.nav-logo{display:none !important}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:rgba(11,25,41,0.72);text-decoration:none;transition:color 0.2s;cursor:pointer}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-login{font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,168,76,0.45);padding:8px 18px;text-decoration:none;transition:all 0.2s;cursor:pointer;flex-shrink:0;background:#fff}
.nav-login:hover{background:rgba(201,168,76,0.08);border-color:var(--gold)}

/* ── PAGES ── */
.page{display:none;min-height:100vh;padding-top:72px}
.page.active{display:flex;flex-direction:column;min-height:calc(100vh - 72px)}

/* ── HERO ── */
.hero{position:relative;height:calc(100vh - 72px);min-height:540px;overflow:hidden;display:flex;align-items:center;margin-top:-72px;padding-top:72px}
.hero-bg{position:absolute;inset:-6%;background-size:cover;background-position:center 35%;animation:kenburns 22s ease-in-out infinite alternate}
@keyframes kenburns{
  0%{transform:scale(1.08) translate(0,0)}
  33%{transform:scale(1.11) translate(-14px,-8px)}
  66%{transform:scale(1.09) translate(10px,-12px)}
  100%{transform:scale(1.08) translate(-8px,6px)}
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(11,25,41,0.72) 0%,rgba(11,25,41,0.42) 50%,rgba(11,25,41,0.12) 100%)}
.hero-content{position:relative;z-index:2;padding:0 80px;max-width:760px;animation:fadeup 1.2s ease both}
@keyframes fadeup{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hero-eyebrow{font-size:13px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.hero-eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--gold)}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:62px;font-weight:400;color:var(--white);line-height:1.1;margin-bottom:22px}
.hero h1 em{color:var(--gold-light);font-style:normal}
.hero-sub{font-size:16px;color:rgba(255,255,255,0.62);line-height:1.75;max-width:520px;font-weight:300;margin-bottom:40px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.btn-primary{background:var(--gold);color:var(--navy);border:none;padding:15px 32px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background 0.2s;white-space:nowrap}
.btn-primary:hover{background:var(--gold-light)}
.btn-ghost{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.35);padding:15px 32px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.2s;white-space:nowrap}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* ── STATS BAR ── */
.stats-bar{background:var(--navy);border-bottom:1px solid rgba(201,168,76,0.2);display:grid;grid-template-columns:repeat(3,1fr)}
.stat-item{padding:32px 40px;border-right:1px solid rgba(201,168,76,0.12);text-align:center}
.stat-item:last-child{border-right:none}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:400;color:var(--white);line-height:1;margin-bottom:6px}
.stat-num sup{font-size:22px;color:var(--gold)}
.stat-label{font-size:11px;color:rgba(255,255,255,0.45);letter-spacing:1px;font-weight:300}

/* ── SECTIONS ── */
.section{padding:88px 80px}
.section.dark{background:var(--navy)}
.section.off{background:var(--off)}
.section.white{background:var(--white)}
.section-eyebrow{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:12px}
.section-eyebrow::before{content:'';display:block;width:20px;height:1px;background:var(--gold)}
.section-title{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:400;color:var(--navy);line-height:1.15;margin-bottom:16px}
.section-title.light{color:var(--white)}
.two-col-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:48px;align-items:end}
.two-col-intro .right p{font-size:15px;color:var(--muted);line-height:1.8;font-weight:300}
.two-col-intro.light .right p{color:rgba(255,255,255,0.55)}

/* ── PILLARS ── */
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);margin-bottom:32px}
.pillar-card{padding:36px 28px;border-right:1px solid var(--border);cursor:pointer;transition:all 0.2s;border-top:3px solid transparent;background:var(--white)}
.pillar-card:last-child{border-right:none}
.pillar-card:hover{background:var(--gold-pale);border-top-color:var(--gold)}
.pillar-card.active{background:var(--navy);border-top-color:var(--gold)}
.pillar-card .p-num{font-size:11px;font-weight:500;letter-spacing:2.5px;color:var(--gold);margin-bottom:20px;display:block}
.pillar-card.active .p-num{color:rgba(201,168,76,0.8)}
.pillar-card .p-icon{width:28px;height:28px;margin-bottom:16px;stroke:var(--gold);fill:none;opacity:0.5}
.pillar-card.active .p-icon{opacity:0.8}
.pillar-card h4{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--navy);margin-bottom:10px;line-height:1.2}
.pillar-card.active h4{color:var(--white)}
.pillar-card p{font-size:13px;color:var(--muted);line-height:1.7;font-weight:300}
.pillar-card.active p{color:rgba(255,255,255,0.6)}
.pillar-detail{display:none;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,0.12)}
.pillar-card.active .pillar-detail{display:block}
.pillar-detail li{font-size:12px;color:rgba(255,255,255,0.65);list-style:none;padding:4px 0 4px 14px;position:relative;line-height:1.55;font-weight:300}
.pillar-detail li::before{content:'—';position:absolute;left:0;color:var(--gold);font-size:11px}
.snapshot-cta{display:flex;align-items:center;justify-content:space-between;padding:26px 32px;background:var(--navy)}
.snapshot-cta-text{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--white);font-weight:400}
.snapshot-cta-text span{color:var(--gold-light);font-style:italic}

/* ── TEAM PREVIEW ── */
.team-preview-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:32px}
.team-preview-card{background:var(--white);border:1px solid var(--border);padding:24px 12px 20px;text-align:center}
.team-preview-avatar{width:84px;height:84px;border-radius:50%;background:var(--navy);margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:24px;color:rgba(201,168,76,0.6)}
.team-preview-name{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--navy);margin-bottom:3px;line-height:1.2}
.team-preview-role{font-size:10px;color:var(--muted);font-weight:300}

/* ── LOCATIONS MAP ── */
.page:not(.active) .map-container{display:none!important}
.map-container{position:relative;background:linear-gradient(180deg,#0B3A6D 0%, #0B3A6D 100%);height:420px;overflow:hidden;cursor:default;border-top:1px solid rgba(201,168,76,0.08);border-bottom:1px solid rgba(201,168,76,0.08)}
.map-container::before{content:'';position:absolute;inset:0;background:
  linear-gradient(90deg, transparent 24%, rgba(255,255,255,0.025) 24.1%, transparent 24.2%, transparent 49%, rgba(255,255,255,0.025) 49.1%, transparent 49.2%, transparent 74%, rgba(255,255,255,0.025) 74.1%, transparent 74.2%),
  linear-gradient(transparent 32%, rgba(255,255,255,0.02) 32.1%, transparent 32.2%, transparent 64%, rgba(255,255,255,0.02) 64.1%, transparent 64.2%);
pointer-events:none;mix-blend-mode:screen}
.map-bg{width:100%;height:100%;object-fit:cover;opacity:0.12;display:block;filter:grayscale(1)}
.map-svg{position:absolute;inset:0;width:100%;height:100%}
.map-dot{cursor:pointer}
.map-dot circle{transition:r 0.2s,fill 0.2s,opacity 0.2s}
.map-dot:hover circle.outer{r:12}
.map-tooltip{position:absolute;background:rgba(7,16,26,0.96);border:1px solid rgba(201,168,76,0.32);padding:14px 18px;pointer-events:none;opacity:0;transition:opacity 0.2s;min-width:220px;z-index:10;box-shadow:0 14px 36px rgba(0,0,0,0.24)}
.map-tooltip.show{opacity:1}
.map-tooltip-city{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--white);margin-bottom:4px}
.map-tooltip-entity{font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.map-tooltip-addr{font-size:12px;color:rgba(255,255,255,0.6);line-height:1.6;font-weight:300}

.locations-wrapper{background:#f4efe6}
.locations-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border)}
.location-card{background:#f4efe6;padding:28px 22px}
.location-city{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--navy);margin-bottom:3px;line-height:1.15}
.location-entity{font-size:11px;color:var(--muted);font-weight:400;margin-bottom:6px;font-style:italic;line-height:1.4}
.location-addr{font-size:12px;color:var(--muted);line-height:1.65;font-weight:300}
.location-link{display:none}


/* ── STRATEGY PAGE ── */
.strategy-pillars-full{border:1px solid var(--border)}
.strategy-pillar{border-bottom:1px solid var(--border);overflow:hidden}
.strategy-pillar:last-child{border-bottom:none}
.strategy-pillar-header{padding:32px 40px;display:flex;align-items:flex-start;gap:28px;cursor:pointer;background:var(--white);transition:background 0.2s}
.strategy-pillar-header:hover{background:var(--gold-pale)}
.strategy-pillar.open .strategy-pillar-header{background:var(--navy)}
.sp-num{font-family:'Cormorant Garamond',serif;font-size:13px;font-weight:600;letter-spacing:2px;color:var(--gold);flex-shrink:0;padding-top:3px;min-width:28px}
.strategy-pillar.open .sp-num{color:var(--gold-light)}
.sp-title-wrap{flex:1}
.sp-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;color:var(--navy);margin-bottom:6px}
.strategy-pillar.open .sp-title{color:var(--white)}
.sp-tagline{font-size:13px;color:var(--muted);font-weight:300}
.strategy-pillar.open .sp-tagline{color:rgba(255,255,255,0.5)}
.sp-toggle{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px}
.sp-toggle::before{content:'+';font-size:18px;color:var(--gold);font-weight:300;line-height:1}
.strategy-pillar.open .sp-toggle::before{content:'\2212'}
.strategy-pillar-body{display:none;padding:0 40px 36px 96px;background:var(--navy)}
.strategy-pillar.open .strategy-pillar-body{display:block}
.strategy-pillar-body p{font-size:14px;color:rgba(255,255,255,0.65);line-height:1.8;font-weight:300;margin-bottom:14px}
.strategy-pillar-body p:last-child{margin-bottom:0}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:6px}
.three-col-item{background:rgba(255,255,255,0.05);border:1px solid rgba(201,168,76,0.15);padding:20px}
.three-col-item h5{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--white);margin-bottom:8px;font-weight:500}
.three-col-item p{font-size:13px;color:rgba(255,255,255,0.55);font-weight:300;line-height:1.65;margin:0}

/* ── DIFFERENTIATORS ── */
.diff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid rgba(201,168,76,0.15)}
.diff-item{padding:36px 40px;border-right:1px solid rgba(201,168,76,0.12);border-bottom:1px solid rgba(201,168,76,0.12)}
.diff-item:nth-child(2n){border-right:none}
.diff-item:nth-last-child(-n+2){border-bottom:none}
.diff-item h4{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--white);margin-bottom:10px;padding-left:16px;border-left:2px solid var(--gold)}
.diff-item p{font-size:13px;color:rgba(255,255,255,0.55);line-height:1.75;font-weight:300}

/* ── PARAMS ── */
.params-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.param-card{background:var(--white);border:1px solid var(--border);padding:28px 24px}
.param-label{font-size:10px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.param-value{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;color:var(--navy);margin-bottom:8px}
.param-note{font-size:12px;color:var(--muted);line-height:1.6;font-weight:300}

/* ── ESG ── */
.esg-band{background:var(--gold-pale);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:56px 80px;display:flex;gap:48px;align-items:flex-start}
.esg-icon-wrap{flex-shrink:0;width:48px;height:48px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;margin-top:4px}
.esg-content h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:500;color:var(--navy);margin-bottom:14px}
.esg-content p{font-size:14px;color:var(--muted);line-height:1.8;font-weight:300;max-width:700px}
.esg-content p+p{margin-top:12px}

/* ── TEAM PAGE ── */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
.team-card{background:var(--white);cursor:pointer;overflow:visible;transition:background 0.2s;position:relative;display:flex;flex-direction:column;align-items:center;}
.team-card:hover{background:var(--gold-pale)}
.team-card.active{background:var(--navy)}
.team-avatar{width:100%;aspect-ratio:1/1;background:var(--navy-mid);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:36px;color:rgba(201,168,76,0.4)}
.team-info{padding:16px 20px 24px;width:100%;}
.team-name{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:500;color:var(--navy);margin-bottom:4px}
.team-card.active .team-name{color:var(--white)}
.team-role{font-size:12px;color:var(--muted);font-weight:300}
.team-card.active .team-role{color:rgba(201,168,76,0.7)}
.team-bio-panel{background:var(--navy);padding:48px 56px;display:none;border-top:1px solid rgba(201,168,76,0.15)}
.team-bio-panel.show{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:start}
.bio-name{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:400;color:var(--white);margin-bottom:6px}
.bio-role{font-size:13px;color:var(--gold);font-weight:400;letter-spacing:0.5px;margin-bottom:16px}
.bio-location{font-size:11px;color:rgba(255,255,255,0.4);letter-spacing:1.5px;text-transform:uppercase;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);margin-top:20px}
.bio-text p{font-size:14px;color:rgba(255,255,255,0.65);line-height:1.8;font-weight:300;margin-bottom:14px}
.bio-text p:last-child{margin-bottom:0}
.bio-edu{font-size:12px;color:var(--gold);margin-top:18px;padding-top:16px;border-top:1px solid rgba(201,168,76,0.2)}
.advisor-badge{background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.25);padding:4px 10px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);display:inline-block;margin-bottom:14px}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-field{display:flex;flex-direction:column;margin-bottom:14px}
.form-field label{font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.form-field input,.form-field textarea,.form-field select{width:100%;padding:12px 14px;border:1px solid var(--border);background:var(--white);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text);outline:none;transition:border-color 0.2s;border-radius:0;-webkit-appearance:none}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--gold)}
.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.form-field textarea{height:120px;resize:vertical}

/* ── NEWS PAGE ── */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.news-card{background:var(--white);padding:36px 32px}
.news-tag{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.news-date{font-size:12px;color:var(--muted);margin-bottom:14px;font-weight:300}
.news-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;color:var(--navy);margin-bottom:12px;line-height:1.25}
.news-excerpt{font-size:13px;color:var(--muted);line-height:1.7;font-weight:300}
.news-link{display:inline-block;margin-top:16px;font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);text-decoration:none}

/* ── FOOTER ── */
footer{background:var(--navy);border-top:1px solid rgba(201,168,76,0.2);padding:40px 80px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.footer-brand{font-family:'Cormorant Garamond',serif;font-size:17px;color:rgba(255,255,255,0.5)}
.footer-links{display:flex;gap:24px;flex-wrap:wrap}
.footer-links a{font-size:11px;color:rgba(255,255,255,0.35);text-decoration:none;letter-spacing:0.5px;transition:color 0.2s}
.footer-links a:hover{color:var(--gold)}
.footer-email{font-size:13px;color:var(--gold);text-decoration:none}
.footer-copy{font-size:11px;color:rgba(255,255,255,0.25);margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.06);text-align:center}
.footer-disclaimer{font-size:11px;color:rgba(255,255,255,0.2);margin-top:8px;text-align:center;line-height:1.6;max-width:860px;margin-left:auto;margin-right:auto}

/* ── SMALL HERO (inner pages) ── */
.hero-sm{position:relative;height:380px;overflow:hidden;display:flex;align-items:flex-start;margin-top:-72px;padding-top:72px}
.hero-sm .hero-bg{position:absolute;inset:-6%;background-size:cover;background-position:center 40%}
.hero-sm .hero-overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(11,25,41,0.78) 0%,rgba(11,25,41,0.58) 100%)}
.hero-sm .hero-content{animation:none;margin-top:24px}
.hero-sm h1{font-size:48px;color:var(--white);font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.1}

.divider-cta{background:var(--navy);padding:32px 80px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(201,168,76,0.15)}
.divider-cta p{font-family:'Cormorant Garamond',serif;font-size:20px;color:rgba(255,255,255,0.6)}

/* ── TEAM PHOTO AVATAR ── */
/* Small round avatar. Photos are original studio headshots on a solid navy
   background (matches the site navy); object-fit:cover fills the circle — no
   cutout, so no holes or hard silhouette edges. */
.team-avatar-photo{
  width:120px; height:120px; border-radius:50%; overflow:hidden;
  margin:38px auto 16px; flex-shrink:0;
  border:2px solid rgba(201,168,76,0.4);
  box-shadow:0 2px 10px rgba(11,58,109,0.18);
  background:var(--navy);
}
.team-avatar-photo img{
  width:100%; height:100%; object-fit:cover; object-position:center 18%; display:block;
}

/* ── INLINE BIO PANEL ── */
.inline-bio-panel{
  grid-column: 1 / -1;
  background:var(--navy);
  color:#fff;
  padding:32px 40px;
  position:relative;
  animation:bioSlideDown .22s ease;
  border-top:2px solid var(--gold);
}
@keyframes bioSlideDown{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}
.bio-close{
  position:absolute; top:16px; right:20px;
  background:none; border:none; color:rgba(255,255,255,0.5);
  font-size:18px; cursor:pointer; padding:4px 8px; line-height:1;
  transition:color .15s;
}
.bio-close:hover{color:#fff;}
.inline-bio-panel .bio-name{
  font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:400;
  color:#fff; margin-bottom:4px;
}
.inline-bio-panel .bio-role{
  font-size:11px; font-weight:500; letter-spacing:2px; text-transform:uppercase;
  color:var(--gold); margin-bottom:12px;
}
.inline-bio-panel .bio-location{
  font-size:12px; color:rgba(255,255,255,0.45); margin-bottom:16px;
}
.inline-bio-panel .advisor-badge{
  display:inline-block; font-size:10px; font-weight:500; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--gold); border:1px solid rgba(201,168,76,0.4);
  padding:3px 10px; margin-bottom:12px;
}
.inline-bio-panel .bio-text{
  font-size:14px; color:rgba(255,255,255,0.72); line-height:1.8; font-weight:300;
  max-width:760px;
}
.inline-bio-panel .bio-text p{margin-bottom:10px;}
.inline-bio-panel .bio-edu{
  margin-top:14px; font-size:13px; color:rgba(255,255,255,0.55);
  border-top:1px solid rgba(255,255,255,0.1); padding-top:12px;
}


/* ── HOMEPAGE TEAM PREVIEW PHOTOS ── */
.team-preview-photo{
  width:84px; height:84px; border-radius:50%; overflow:hidden;
  margin:0 auto 14px;
  border:2px solid rgba(201,168,76,0.4);
  box-shadow:0 2px 10px rgba(11,58,109,0.15);
}
.team-preview-photo img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 18%;
  display:block;
}


/* ───────────────────────── */


    .map-frame{
      position:absolute; top:0; left:0; right:0; bottom:0;
      width:100%; height:100%;
      display:flex; align-items:center; justify-content:center;
    }
    .map-frame img{
      position:absolute; top:0; left:0;
      width:100%; height:100%; object-fit:fill;
      display:block; opacity:0.95;
    }
    .office-marker,.hq-marker{background:#0B3A6D; border:3px solid #ffffff;
      position:absolute; transform:translate(-50%,-50%); cursor:pointer; z-index:3;
    }
    .office-marker{
      position:absolute; transform:translate(-50%,-50%); cursor:pointer; z-index:3;
      width:12px; height:12px; border-radius:50%;
      background:#c9a84c; border:2px solid rgba(255,255,255,0.92);
      box-shadow:0 0 0 7px rgba(201,168,76,0.18);
    }
    .hq-marker{
      position:absolute; transform:translate(-50%,-50%); cursor:pointer; z-index:3;
      width:18px; height:18px; border-radius:50%;
      background:#0B3A6D; border:3px solid #ffffff;
      box-shadow:0 0 0 10px rgba(11,25,41,0.22), 0 0 20px rgba(11,25,41,0.18);
    }
    .hq-marker::after{
      content:''; position:absolute; inset:4px; border-radius:50%; background:#0B3A6D;
    }
    /* Transparent 44px hit area for touch/click/hover/focus without changing the visible dot */
    .office-marker::before,.hq-marker::before{
      content:''; position:absolute; top:50%; left:50%;
      width:44px; height:44px; transform:translate(-50%,-50%); border-radius:50%;
    }
    .office-tooltip{
      position:absolute; transform:translate(-50%,-115%);
      background:rgba(9,18,29,0.96); color:#fff; border:1px solid rgba(201,168,76,0.30);
      padding:10px 12px; min-width:220px; border-radius:4px; opacity:0; pointer-events:none;
      transition:opacity .18s ease; box-shadow:0 14px 32px rgba(0,0,0,0.28);
      font-size:12px; line-height:1.5; white-space:normal; z-index:4;
    }
    .office-tooltip strong{
      display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
      color:#c9a84c; margin-bottom:4px;
    }
    .office-marker:hover + .office-tooltip,
    .office-marker:focus + .office-tooltip,
    .hq-marker:hover + .office-tooltip,
    .hq-marker:focus + .office-tooltip{opacity:1;}

    .locations-strip{
      display:grid; grid-template-columns:1.25fr 1fr 1fr 1fr 1fr 1fr; gap:1px; background:var(--border);
    }
    .location-card{background:#f8f2e6; padding:28px 22px; color:#0B3A6D;}
    .location-card.hq{background:#0B3A6D; color:#ffffff;}
    .location-label{
      font-size:10px; font-weight:500; letter-spacing:2px; text-transform:uppercase;
      color:var(--gold); margin-bottom:8px; display:block;
    }
    .location-city{
      font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:500; color:var(--navy);
      margin-bottom:4px; line-height:1.15;
    }
    .location-entity{
      font-size:11px; color:var(--muted); font-weight:400; margin-bottom:7px; font-style:italic; line-height:1.4;
    }
    .location-addr{font-size:12px; color:var(--muted); line-height:1.65; font-weight:300;}
    .location-link{
      display:inline-block; margin-top:12px; font-size:11px; letter-spacing:1.4px;
      text-transform:uppercase; color:var(--gold); text-decoration:none;
    }
    .location-link:hover{opacity:.75;}


/* ── TEAM BIO PANEL — refined 2-column layout with portrait ── */
.inline-bio-panel{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:48px;
  padding:48px 56px;
  align-items:start;
}
.bio-media{display:flex;flex-direction:column;align-items:flex-start}
.bio-photo{
  width:168px;height:168px;border-radius:50%;overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,0.32);
  margin-bottom:20px;
}
.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block}
.bio-photo-fallback{
  display:flex;align-items:center;justify-content:center;
  background:var(--navy-mid);
  font-family:'Cormorant Garamond',serif;font-size:46px;color:rgba(201,168,76,0.55);
}
.inline-bio-panel .bio-name{font-size:27px;margin-bottom:5px}
.inline-bio-panel .bio-role{margin-bottom:0}
.inline-bio-panel .advisor-badge{margin-top:14px;margin-bottom:0}
.inline-bio-panel .bio-location{
  margin-top:16px;margin-bottom:0;width:100%;
  padding-top:16px;border-top:1px solid rgba(255,255,255,0.12);
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.5);
}
.inline-bio-panel .bio-text{max-width:none}
.inline-bio-panel .bio-edu{
  margin-top:22px;padding-top:18px;
  border-top:1px solid rgba(201,168,76,0.28);
  font-size:13px;color:rgba(255,255,255,0.62);
}
.inline-bio-panel .bio-edu span{
  display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:var(--gold);margin-bottom:7px;
}
.bio-close{z-index:2;}


/* ── NEWS LISTING — bordered cards + gap (robust for any item count;
   the seamless 1px-divider grid leaves empty beige cells when < columns) ── */
#newsGrid{background:transparent;gap:24px}
#newsGrid .news-card{border:1px solid var(--border)}


/* ── HERO OIL ──
   The hero is the oil painting only (no photo, no cursor lens). A very slow,
   small-amplitude pan keeps it alive without drawing attention away from the
   headline — deliberately subtle ("wenig Dynamik"). */
.hero-bg-oil{
  opacity:1;
  filter:saturate(1.05);
  transform-origin:center 42%;
  animation:heroZoom 40s ease-in-out infinite alternate;
}
/* Slow, clean push-in toward the city centre — reads like a gentle drone
   descent. No translate (kept simple); alternate so the loop never snaps. */
@keyframes heroZoom{
  from{transform:scale(1.0)}
  to{transform:scale(1.10)}
}

/* ── TEAM OIL PORTRAITS ──
   Cards show the oil portrait only; the gold ring warms up on hover. Applies
   to the team page grids and the homepage preview cards. */
.team-avatar-photo,.team-preview-photo{position:relative}
@media (hover:hover){
  .team-card:hover .team-avatar-photo,
  .team-preview-card:hover .team-preview-photo{
    border-color:var(--gold);
    box-shadow:0 6px 24px rgba(201,168,76,0.38);
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-bg-oil{animation:none!important}
}


/* ── Titles not italic on inner-page heroes ── */
.hero-sm em{font-style:normal}

/* ── LOCATIONS STRIP: Zurich card highlighted (blue bg + gold font); rest unchanged ── */
.location-card.location-card-zurich{background:var(--navy)}
.location-card-zurich .location-city{color:var(--gold)}
.location-card-zurich .location-entity{color:var(--gold-light)}
.location-card-zurich .location-addr{color:var(--gold-light)}
