.profile-page {
  min-height: 100vh;
  background: var(--stone);
  color: var(--ink);
}

.profile-header {
  position: sticky;
  top: 0;
  z-index: 1200;
  padding: 18px 0;
  border-bottom: 1px solid rgba(17,24,39,.07);
  background: rgba(244,241,236,.90);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.profile-header-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}

.profile-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
}

.profile-brand img {
  width: 42px;
  height: 42px;
}

.profile-brand-copy {
  display: grid;
  gap: 2px;
}

.profile-brand-copy strong {
  font-size: .78rem;
  letter-spacing: .06em;
}

.profile-brand-copy small {
  color: var(--slate);
  font-size: .5rem;
  font-weight: 650;
  letter-spacing: .12em;
}

.profile-nav {
  display: flex;
  gap: 26px;
  align-items: center;
  font-size: .78rem;
  font-weight: 650;
}

.profile-nav a {
  position: relative;
  padding: 8px 0;
}

.profile-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 2px;
  background: var(--cobalt);
  transition: right 260ms var(--ease);
}

.profile-nav a:hover::after,
.profile-nav a[aria-current="page"]::after {
  right: 0;
}

.profile-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(78px, 10vw, 132px) 0 clamp(68px, 8vw, 104px);
}

.profile-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: clamp(50px, 8vw, 120px);
  align-items: center;
}

.profile-eyebrow {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0 0 18px;
  color: var(--cobalt);
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .16em;
}

.profile-eyebrow::before {
  content: "";
  width: 34px;
  height: 1px;
  background: var(--cobalt);
}

.profile-hero h1 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(3.1rem, 6vw, 4.8rem);
  line-height: 1;
  letter-spacing: -.058em;
}

.profile-hero-lead {
  max-width: 660px;
  margin: 26px 0 0;
  color: var(--slate);
  font-size: clamp(1.04rem, 1.6vw, 1.3rem);
  line-height: 1.65;
}

.profile-orbit {
  position: relative;
  width: min(34vw, 400px);
  aspect-ratio: 1;
  justify-self: end;
}

.profile-orbit span {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(36,91,143,.26);
}

.profile-orbit span:nth-child(1) { inset: 4%; }
.profile-orbit span:nth-child(2) { inset: 25%; }
.profile-orbit span:nth-child(3) { inset: 42%; }

.profile-orbit::before,
.profile-orbit::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.profile-orbit::before {
  width: 36px;
  height: 36px;
  right: 13%;
  top: 23%;
  background: var(--cobalt);
  box-shadow: -180px 130px 0 -9px var(--ink);
}

.profile-orbit::after {
  width: 18px;
  height: 18px;
  left: 23%;
  top: 18%;
  border: 3px solid var(--cobalt);
  background: var(--stone);
}

.profile-section {
  padding: clamp(70px, 9vw, 112px) 0;
  border-top: 1px solid rgba(17,24,39,.08);
}

.profile-section.is-ice {
  background: rgba(234,241,246,.58);
}

.profile-section-head {
  max-width: 760px;
  margin-bottom: clamp(36px, 5vw, 58px);
}

.profile-section h2 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 3.8vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.profile-section-head p {
  margin: 0;
  color: var(--slate);
  line-height: 1.72;
}

.principle-grid,
.experience-grid,
.now-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.principle-card,
.experience-card,
.now-card {
  min-height: 220px;
  padding: 26px;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 8px 24px rgba(17,24,39,.035);
}

.principle-card small,
.experience-card small,
.now-card small {
  display: block;
  margin-bottom: 28px;
  color: var(--cobalt);
  font-size: .58rem;
  font-weight: 750;
  letter-spacing: .14em;
}

.principle-card h3,
.experience-card h3,
.now-card h3 {
  margin: 0 0 12px;
  font-size: 1.14rem;
  letter-spacing: -.025em;
}

.principle-card p,
.experience-card p,
.now-card p {
  margin: 0;
  color: var(--slate);
  font-size: .9rem;
  line-height: 1.62;
}

.profile-quote {
  max-width: 880px;
  margin: 0;
  padding-left: 28px;
  border-left: 3px solid var(--cobalt);
}

.profile-quote p {
  margin: 0 0 12px;
  color: var(--cobalt);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.5vw, 2.2rem);
  font-style: italic;
  line-height: 1.38;
}

.profile-quote footer {
  color: var(--slate);
  font-size: .72rem;
  letter-spacing: .13em;
}

.profile-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  padding: 34px 0 4px;
  border-top: 1px solid rgba(36,91,143,.18);
}

.profile-cta h2 {
  margin: 0 0 7px;
  font-size: 1.35rem;
}

.profile-cta p {
  margin: 0;
  color: var(--slate);
  font-size: .86rem;
}

.profile-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--cobalt);
  font-size: .82rem;
  font-weight: 750;
}

.contact-hero {
  padding-bottom: clamp(52px, 6vw, 78px);
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr);
  gap: clamp(52px, 8vw, 110px);
  align-items: start;
}

.contact-intro h1 {
  margin: 0;
  font-size: clamp(3.1rem, 6vw, 4.8rem);
  line-height: .98;
  letter-spacing: -.06em;
}

.contact-intro > p {
  max-width: 560px;
  margin: 26px 0 34px;
  color: var(--slate);
  font-size: 1.06rem;
  line-height: 1.7;
}

.contact-options {
  display: grid;
  gap: 12px;
}

.contact-option {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 15px 0;
  border-top: 1px solid rgba(17,24,39,.09);
}

.contact-option:last-child {
  border-bottom: 1px solid rgba(17,24,39,.09);
}

.contact-option-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--ice);
  color: var(--cobalt);
  font-size: .76rem;
  font-weight: 800;
}

.contact-option strong {
  display: block;
  margin-bottom: 2px;
  font-size: .82rem;
}

.contact-option span {
  color: var(--slate);
  font-size: .72rem;
}

.contact-option > i {
  color: var(--cobalt);
  font-style: normal;
}

.contact-panel {
  padding: clamp(28px, 4vw, 42px);
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 22px;
  background: rgba(255,255,255,.66);
  box-shadow: 0 18px 46px rgba(17,24,39,.055);
}

.contact-panel h2 {
  margin: 0 0 8px;
  font-size: 1.5rem;
  letter-spacing: -.035em;
}

.contact-panel > p {
  margin: 0 0 28px;
  color: var(--slate);
  font-size: .85rem;
}

.contact-form {
  display: grid;
  gap: 18px;
}

.field {
  display: grid;
  gap: 7px;
}

.field label {
  font-size: .72rem;
  font-weight: 700;
}

.field input,
.field textarea {
  width: 100%;
  border: 1px solid rgba(17,24,39,.12);
  border-radius: 12px;
  padding: 13px 14px;
  color: var(--ink);
  background: rgba(255,255,255,.86);
  font: inherit;
  font-size: .9rem;
  outline: none;
  transition: border-color 220ms var(--ease), box-shadow 220ms var(--ease);
}

.field textarea {
  min-height: 150px;
  resize: vertical;
}

.field input:focus,
.field textarea:focus {
  border-color: rgba(36,91,143,.58);
  box-shadow: 0 0 0 4px rgba(36,91,143,.08);
}

.contact-submit {
  width: fit-content;
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--cobalt);
  color: var(--white);
  font: inherit;
  font-size: .8rem;
  font-weight: 750;
  cursor: pointer;
}

.contact-microcopy {
  margin: 2px 0 0;
  color: var(--slate);
  font-size: .68rem;
  line-height: 1.5;
}

.contact-next {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(17,24,39,.08);
}

.contact-next strong {
  display: block;
  margin-bottom: 6px;
  font-size: .78rem;
}

.contact-next p {
  margin: 0;
  color: var(--slate);
  font-size: .76rem;
  line-height: 1.55;
}

.profile-footer {
  padding: 28px 0 34px;
  border-top: 1px solid rgba(17,24,39,.08);
  color: var(--slate);
  font-size: .68rem;
}

.profile-footer-inner {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: center;
}

.profile-footer nav {
  display: flex;
  gap: 18px;
}

@media (max-width: 900px) {
  .profile-hero-grid,
  .contact-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .profile-orbit {
    width: min(62vw, 360px);
    justify-self: start;
  }

  .principle-grid,
  .experience-grid,
  .now-grid {
    grid-template-columns: 1fr 1fr;
  }

  .profile-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .profile-header-inner {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .profile-nav {
    gap: 18px;
    overflow-x: auto;
    padding-bottom: 2px;
    white-space: nowrap;
  }

  .profile-hero {
    padding-top: 54px;
  }

  .profile-hero h1,
  .contact-intro h1 {
    font-size: clamp(2.6rem, 13vw, 3.8rem);
  }

  .principle-grid,
  .experience-grid,
  .now-grid {
    grid-template-columns: 1fr;
  }

  .contact-panel {
    padding: 22px;
    border-radius: 18px;
  }

  .profile-footer-inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .profile-nav a::after {
    transition: none;
  }
}


/* Light-background heading contrast */
.profile-page .profile-hero h1,
.profile-page .contact-intro h1,
.profile-page .profile-section h2,
.profile-page .contact-panel h2,
.profile-page .profile-cta h2 {
  color: var(--ink);
}


/* Animated compact header — aligned with the Single Article header. */
.profile-header {
  transition:
    padding 340ms var(--ease),
    top 340ms var(--ease),
    width 340ms var(--ease),
    margin 340ms var(--ease),
    border-color 340ms var(--ease),
    box-shadow 340ms var(--ease),
    border-radius 340ms var(--ease),
    background-color 340ms var(--ease);
}

.profile-header.is-scrolled {
  top: 14px;
  width: min(calc(100% - 28px), var(--site-max-width));
  margin-inline: auto;
  padding: 10px 14px;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 18px;
  background: rgba(244,241,236,.88);
  box-shadow: 0 16px 38px rgba(17,24,39,.09);
}

.profile-header.is-scrolled .profile-shell {
  width: 100%;
}

.profile-header.is-scrolled .profile-brand img {
  width: 36px;
  height: 36px;
}

.profile-header.is-scrolled .profile-brand-copy small {
  display: none;
}

.profile-header.is-scrolled .profile-brand-copy strong {
  font-size: .76rem;
}

@media (max-width: 620px) {
  .profile-header.is-scrolled {
    top: 8px;
    width: calc(100% - 16px);
    padding: 8px 10px;
    border-radius: 16px;
  }
}


/* Mobile header: favicon left, primary navigation right. */
@media (max-width: 620px) {
  .profile-header {
    padding: 10px 0;
  }

  .profile-header-inner {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
  }

  .profile-brand {
    flex: 0 0 auto;
  }

  .profile-brand-copy {
    display: none;
  }

  .profile-brand img {
    width: 40px;
    height: 40px;
  }

  .profile-nav {
    margin-left: auto;
    gap: clamp(12px, 4vw, 18px);
    overflow: visible;
    padding-bottom: 0;
    font-size: .68rem;
    white-space: nowrap;
  }

  .profile-header.is-scrolled .profile-brand img {
    width: 34px;
    height: 34px;
  }
}


.contact-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.contact-form-status {
  min-height: 1.2em;
  margin: 0;
  font-size: .76rem;
  line-height: 1.5;
}

.contact-form-status:empty {
  display: none;
}

.contact-form-status[data-state="pending"] {
  color: var(--slate);
}

.contact-form-status[data-state="success"] {
  color: #245B8F;
  font-weight: 650;
}

.contact-form-status[data-state="error"] {
  color: #8B2E2E;
  font-weight: 650;
}

.contact-submit:disabled {
  cursor: wait;
  opacity: .68;
}


/* About page desktop title scale */


/* Tablet: stack visual → text → quote card */
@media (min-width: 621px) and (max-width: 1000px) {
  .positioning-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .systems-visual {
    min-height: 260px;
    width: 100%;
  }

  .positioning-copy {
    max-width: 620px;
  }

  .positioning-grid blockquote {
    grid-column: auto;
    width: 100%;
    max-width: 760px;
  }
}


/* Contact form CTA aligned with primary button system */
.contact-submit {
  min-height: 54px;
  padding: 0 28px;
  border-radius: 999px;
  box-shadow:
    0 12px 28px rgba(36,91,143,.17),
    0 0 0 1px rgba(36,91,143,.04);
  transition:
    transform 220ms var(--ease),
    box-shadow 220ms var(--ease),
    opacity 220ms var(--ease);
}

.contact-submit:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow:
    0 16px 36px rgba(36,91,143,.22),
    0 0 0 1px rgba(36,91,143,.08);
}

.contact-submit:active:not(:disabled) {
  transform: translateY(0);
}

/* About: three distinct editorial treatments, shared by every language. */
.about-page .principle-card{position:relative;overflow:hidden;min-height:300px;padding:clamp(26px,3vw,42px);border:1px solid #245b8f2e;border-radius:24px;background:radial-gradient(circle at 72% 28%,#fff,#eaf1f6);box-shadow:0 22px 55px #11182712}
.about-page .principle-card::after{content:"";position:absolute;right:-42px;top:-42px;width:145px;height:145px;border:1px solid #245b8f18;border-radius:50%;pointer-events:none}
.about-page .principle-card small{margin-bottom:42px}
.about-page .principle-card h3{max-width:300px;font-size:clamp(1.25rem,1.7vw,1.65rem);line-height:1.2}
.about-page .experience-grid{counter-reset:experience;gap:0;border-top:1px solid #245b8f40;border-bottom:1px solid #245b8f40}
.about-page .experience-card{counter-increment:experience;position:relative;padding:34px;min-height:300px;border:0;border-right:1px solid #245b8f30;border-radius:0;background:transparent;box-shadow:none}
.about-page .experience-card:last-child{border-right:0}
.about-page .experience-card::before{content:"0" counter(experience);display:block;margin-bottom:40px;color:#245b8f;font-size:3.6rem;line-height:1;letter-spacing:-.08em;font-weight:400}
.about-page .experience-card small{margin-bottom:14px}
.about-page .experience-card h3{font-size:1.5rem}
.about-page .now-card{position:relative;overflow:hidden;min-height:340px;padding:32px;border:0;border-radius:22px;background:#111827;box-shadow:none}
.about-page .now-card:nth-child(2){background:#18334b}
.about-page .now-card:nth-child(3){background:#245b8f}
.about-page .now-card::before{content:"";display:block;width:66px;height:66px;margin-bottom:32px;border:1px solid #ffffff70;border-radius:50%;box-shadow:20px 0 0 -1px #ffffff18}
.about-page .now-card:nth-child(2)::before{border-radius:12px;transform:rotate(-12deg);box-shadow:15px 8px 0 -1px #ffffff18}
.about-page .now-card:nth-child(3)::before{border-radius:32px 32px 40px 40px;box-shadow:inset 0 0 0 12px #ffffff12}
.about-page .now-card small{color:#c6d9e8;margin-bottom:18px}
.about-page .now-card h3{color:#fff;font-size:1.5rem;max-width:340px}
.about-page .now-card p{color:#e0e8ef}
.profile-constellation{width:min(100%,500px);justify-self:center}
.profile-constellation svg{display:block;width:100%;overflow:visible;stroke:#245b8f;stroke-width:1}
.profile-constellation svg>circle{stroke-opacity:.22}
.constellation-orbit{transform-origin:250px 250px;animation:constellation-orbit 40s linear infinite;stroke-opacity:.3}
.constellation-node,.constellation-stars circle{fill:#245b8f;stroke:none}
.constellation-line{stroke-opacity:.3;stroke-dasharray:700;animation:constellation-draw 8s ease-in-out infinite}
.constellation-stars{animation:constellation-light 5s ease-in-out infinite}
.constellation-secret{stroke-width:1.3;stroke-opacity:.32}
.profile-constellation .constellation-center{fill:#245b8f08;stroke-opacity:.2}
@keyframes constellation-orbit{to{transform:rotate(360deg)}}
@keyframes constellation-draw{0%,100%{stroke-dashoffset:700;opacity:.25}50%,80%{stroke-dashoffset:0;opacity:1}}
@keyframes constellation-light{50%{opacity:.45}}
@media(max-width:900px){.profile-constellation{width:min(80%,380px)}}
@media(max-width:700px){.about-page .experience-grid{grid-template-columns:1fr}.about-page .experience-card{min-height:0;border-right:0;border-bottom:1px solid #245b8f30;padding:28px 8px}.about-page .experience-card:last-child{border-bottom:0}.about-page .experience-card::before{margin-bottom:24px}.about-page .principle-card,.about-page .now-card{min-height:0}}
@media(prefers-reduced-motion:reduce){.constellation-orbit,.constellation-line,.constellation-stars{animation:none}}

/* Experience section: approved visual, original illustrations and accessible text. */
.experience-story{background:#f4f1ec}
.experience-story-head{margin-bottom:30px}
.experience-story-head .profile-eyebrow::before{display:none}
.profile-section.experience-story h2{font-size:clamp(2rem,4.4vw,4.1rem);line-height:1.06;letter-spacing:-.05em;margin-bottom:22px}
.experience-story-head>p:last-child{font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.55;color:#566273;margin:0}
.experience-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.experience-story-card{min-width:0;padding:26px 34px 30px;border:1px solid #83afd0;border-radius:22px;background:radial-gradient(circle at 72% 28%,#fff,#eaf1f6)}
.experience-illustration{display:block;width:100%;max-width:300px;height:auto;aspect-ratio:290/150;margin:0 0 20px;mix-blend-mode:multiply}
.experience-story-card small,.experience-impact small{display:block;font-size:.73rem;line-height:1.5;font-weight:700;letter-spacing:.09em;color:#245b8f;margin-bottom:12px}
.experience-story-card h3{font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.15;letter-spacing:-.045em;margin:0 0 16px}
.experience-story-card p{font-size:1rem;line-height:1.55;color:#566273;margin:0}
.experience-impact{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:.85fr 1.3fr .5fr;align-items:center;gap:46px;margin-top:16px;padding:32px 38px;border-radius:18px;background:#111c2a;color:white}
.experience-impact small{color:#65aedc}
.experience-impact h3{color:white;font-size:clamp(1.5rem,2.35vw,2.1rem);line-height:1.15;letter-spacing:-.035em;margin:0}
.experience-impact>p{position:relative;z-index:1;border-left:1px solid #ffffff40;padding-left:46px;font-size:1rem;line-height:1.55;color:#f1f4f7;margin:0}
.experience-impact>svg{position:absolute;right:0;bottom:0;width:30%;height:100%;z-index:-1}
.experience-languages{list-style:none;display:flex;justify-content:space-evenly;flex-wrap:wrap;gap:16px 28px;border-top:1px solid #11182730;margin:24px 0 0;padding:22px 0 0;font-size:.83rem}
.experience-languages strong{font-weight:650;color:#111827}.experience-languages span{color:#657080}
@media(max-width:1100px){.experience-story-card{padding:24px}.experience-story-card h3 br{display:none}.experience-impact{grid-template-columns:1fr 1.5fr;gap:24px}.experience-impact>p{padding-left:24px}.experience-impact>svg{opacity:.3}}
@media(max-width:760px){.experience-story-grid{grid-template-columns:1fr}.experience-story-card{padding:26px}.experience-illustration{max-width:270px}.experience-story-card h3{font-size:1.6rem}.experience-impact{grid-template-columns:1fr;padding:28px;gap:22px}.experience-impact>p{border-left:0;border-top:1px solid #ffffff30;padding:20px 0 0}.experience-impact>svg{width:65%;opacity:.25}.experience-languages{display:grid;grid-template-columns:1fr 1fr;justify-content:start;font-size:.8rem}.experience-languages span{display:block;margin-top:5px}.profile-section.experience-story h2 br{display:none}}

/* Intrinsic sizing must never widen the About hero beyond its shell. */
.profile-hero-grid> *{min-width:0}
.about-page .profile-hero h1{max-width:100%;overflow-wrap:anywhere;hyphens:auto;text-wrap:balance}
.about-page .profile-hero-lead{max-width:100%;overflow-wrap:break-word}
@media(max-width:620px){
  .about-page .profile-hero h1{font-size:clamp(2.05rem,8.4vw,3.1rem);line-height:1.08;letter-spacing:-.045em}
  .about-page .profile-hero-grid{gap:36px}
}
/* Decorative language flags: shared brand palette, readable labels retained. */
.experience-languages li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px;row-gap:5px;align-content:start;min-width:0}
.experience-language-flag{grid-column:1;grid-row:1/3;width:28px;height:20px;display:block;margin-top:2px;border-radius:3px;box-shadow:0 0 0 1px #245b8f30}
.experience-languages li strong,.experience-languages li span{grid-column:2;min-width:0}
.experience-languages li span{display:block;margin:0;line-height:1.5}
