.portrait-shell { overflow: hidden; }
.portrait-shell img { transform: scale(1.09); transform-origin: 50% 42%; object-position: center 42%; }
.portrait-ring,.coordinate { z-index: 4; }
.portrait-stage { position: relative; }
.portrait-stage .coordinate { white-space: nowrap; }

.contact-toast { position: fixed; z-index: 40; right: 24px; bottom: 24px; padding: 15px 18px; border: 1px solid rgba(82,217,255,.45); background: rgba(7,16,21,.96); color: var(--ink); box-shadow: 0 18px 55px rgba(0,0,0,.35); font: 10px DM Mono; letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.contact-toast::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 10px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 12px var(--acid); }
.contact-toast.visible { opacity: 1; transform: translateY(0); }

/* Shared discipline language: Programme / Engineering / Data & Tools. */
.discipline-programme { --discipline-color: #5f7f20; --discipline-bright: #91bd19; --discipline-soft: rgba(145,189,25,.10); }
.discipline-engineering { --discipline-color: #007da7; --discipline-bright: #16a6ce; --discipline-soft: rgba(22,166,206,.10); }
.discipline-data { --discipline-color: #7651a4; --discipline-bright: #9269bd; --discipline-soft: rgba(146,105,189,.10); }

.pillars article[class*="discipline-"] { background: linear-gradient(145deg,var(--discipline-soft),transparent 58%); box-shadow: inset 0 3px 0 var(--discipline-bright); }
.pillars article[class*="discipline-"] .icon { color: var(--discipline-color); }
.pillars article[class*="discipline-"] > i { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 7px 10px; border: 1px solid color-mix(in srgb,var(--discipline-color) 32%,transparent); border-radius: 99px; background: var(--discipline-soft); color: var(--discipline-color); }
.pillars article[class*="discipline-"] > i::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--discipline-bright); box-shadow: 0 0 10px var(--discipline-bright); }
.pillars article[class*="discipline-"]:hover { background: linear-gradient(145deg,color-mix(in srgb,var(--discipline-soft) 72%,#dce7df),#dce7df 70%); }

.credential[class*="discipline-"] { position: relative; border-top: 3px solid var(--discipline-bright); background: linear-gradient(135deg,var(--discipline-soft),transparent 55%); }
.credential[class*="discipline-"] .credential-no { color: var(--discipline-color); }
.credential[class*="discipline-"] > div:last-child { align-self: stretch; display: flex; flex-direction: column; padding-top: 20px; }
.credential[class*="discipline-"] h3 { margin-bottom: 12px; }
.credential[class*="discipline-"] p { margin-bottom: 14px; }
.credential .credential-category { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: auto; padding: 7px 10px; border: 1px solid color-mix(in srgb,var(--discipline-color) 30%,transparent); border-radius: 99px; background: var(--discipline-soft); color: var(--discipline-color); font-weight: 500; }
.credential .credential-category::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--discipline-bright); box-shadow: 0 0 9px var(--discipline-bright); }

@media(max-width:900px){
  .nav-cta { font-size: 10px; }
  .nav-cta span { font-size: 11px; }
  .contact-toast { left: 16px; right: 16px; bottom: 16px; text-align: center; }
}

.belief-statement { margin: -40px 0 80px; padding: 25px 0 25px 34px; border-left: 3px solid #3c604f; display: grid; grid-template-columns: 210px 1fr; gap: 40px; align-items: start; }
.belief-statement span { font: 10px DM Mono; letter-spacing: .16em; color: #3c604f; }
.belief-statement p { font: 400 clamp(22px,2.3vw,36px)/1.35 Georgia,serif; color: #24332d; max-width: 900px; margin: 0; }

.tenure-overview { display: grid; grid-template-columns: 1.45fr .75fr; gap: 12px; margin: -35px 0 95px 15vw; }
.tenure-overview article { position: relative; min-height: 155px; padding: 26px 28px; border: 1px solid rgba(7,16,21,.24); overflow: hidden; }
.tenure-overview article::after { content: ""; position: absolute; inset: auto 0 0; height: 5px; background: var(--tenure-color); }
.tenure-overview .airbus-tenure { --tenure-color: #0066b3; background: rgba(0,102,179,.08); }
.tenure-overview .consulting-tenure { --tenure-color: #6b7810; background: rgba(107,120,16,.08); }
.tenure-overview span,.tenure-overview small { display: block; font: 9px DM Mono; letter-spacing: .12em; }
.tenure-overview span { color: var(--tenure-color); font-weight: 700; }
.tenure-overview strong { display: block; margin: 18px 0 9px; font-size: clamp(24px,2.6vw,39px); letter-spacing: -.045em; }
.tenure-overview small { color: #52643c; line-height: 1.5; }
.tenure-overview i { position: absolute; right: -25px; top: -25px; width: 100px; height: 100px; border: 1px solid var(--tenure-color); border-radius: 50%; opacity: .3; }

.node-readout p { max-width: 900px; font-size: 14px; }
.cap-node strong { line-height: 1.25; }

@media(max-width:900px){
  .belief-statement { margin: -25px 0 60px; grid-template-columns: 1fr; gap: 18px; padding-left: 22px; }
  .tenure-overview { margin: -35px 0 75px 45px; grid-template-columns: 1fr; }
}
@media(max-width:600px){
  .tenure-overview { margin-left: 0; }
  .tenure-overview article { min-height: 135px; padding: 22px; }
}
