@font-face {
  font-family: "Plex Sans";
  src: url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plex Sans";
  src: url("../fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plex Condensed";
  src: url("../fonts/ibm-plex-sans-condensed-latin-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plex Condensed";
  src: url("../fonts/ibm-plex-sans-condensed-latin-700-normal.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plex Mono";
  src: url("../fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --navy: #052d58;
  --blue-ink: #092d5b;
  --paper: #ffffff;
  --wash: #eef4f8;
  --card: #fbfbfa;
  --ink: #111827;
  --muted: #283646;
  --line: #d7e0e7;
  --terracotta: #c8342e;
  --terracotta-on-navy: #ff837a;
  --shell: min(1180px, calc(100% - 80px));
  --display: "Plex Condensed", "Arial Narrow", sans-serif;
  --body: "Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 1rem/1.45 var(--body); overflow-x: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
a:hover { color: var(--terracotta); }
a, summary { touch-action: manipulation; -webkit-tap-highlight-color: rgba(200,52,46,.2); }
h1, h2, h3, p { text-wrap: balance; }
h1, h2, h3 { font-family: var(--display); }
main [id] { scroll-margin-top: 1.5rem; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--terracotta); outline-offset: 4px; }
.shell { width: var(--shell); margin-inline: auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mobile-menu, .mobile-intro-detail, .mobile-secondary-roles, .useful-mobile { display: none; }
.desktop-intro-detail { display: contents; }
.skip-link { position: fixed; z-index: 20; top: 0; left: 1rem; padding: .65rem .9rem; color: var(--paper); background: var(--terracotta); transform: translateY(-130%); }
.skip-link:focus { transform: translateY(0); }

.site-header { color: var(--paper); background: var(--navy); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 78px; }
.brand { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; white-space: nowrap; }
.brand-copy { display: grid; gap: .12rem; }
.brand-copy strong { font: 700 1.1rem/1 var(--display); letter-spacing: .025em; }
.brand-copy small { color: #d5e0ec; font: 500 .68rem/1 var(--mono); letter-spacing: .08em; }
.main-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(.7rem, 1.6vw, 1.5rem); font: 600 .91rem/1 var(--display); }
.main-nav a, .language-switch span { text-decoration: none; }
.main-nav a, .language-switch { display: inline-flex; align-items: center; min-height: 44px; }
.rtd-nav-link { gap: .35rem; padding-inline: .62rem; color: var(--terracotta-on-navy); border: 1px solid rgba(255,255,255,.38); border-radius: 999px; font-size: .78rem !important; letter-spacing: .01em; white-space: nowrap; }
.rtd-nav-link:hover { color: var(--paper); background: rgba(255,255,255,.1); border-color: var(--terracotta-on-navy); }
.rtd-nav-icon { position: relative; display: inline-block; flex: 0 0 auto; width: .72rem; height: .66rem; border: 1.5px solid currentColor; border-radius: 2px; }
.rtd-nav-icon::before { position: absolute; top: .14rem; right: -1.5px; left: -1.5px; border-top: 1.5px solid currentColor; content: ""; }
.language-switch { gap: .42rem; margin-left: .1rem; font: 500 .72rem/1 var(--mono); letter-spacing: .08em; }
.language-switch [aria-current="page"] { color: var(--terracotta-on-navy); }
.language-separator { color: #b8c6d3; }

.hero { background: var(--paper); border-bottom: 4px solid var(--terracotta); }
.hero-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 230px; grid-template-areas: "copy roles photo"; column-gap: 1.75rem; align-items: center; width: var(--shell); min-height: 350px; margin-inline: auto; padding: .75rem 0 .65rem; }
.hero-copy { grid-area: copy; min-width: 0; }
.kicker { margin: 0 0 1.1rem; color: var(--blue-ink); font: 500 .72rem/1.25 var(--mono); letter-spacing: .035em; }
.person-name { margin: 0; color: var(--blue-ink); font: 700 clamp(3.55rem, 4vw, 4.5rem)/.87 var(--display); letter-spacing: -.045em; }
.accent-rule { display: block; width: 62px; height: 5px; margin: 1.25rem 0 1.15rem; background: var(--terracotta); }
.hero h1 { margin: 0; max-width: 590px; color: var(--blue-ink); font: 700 clamp(1.62rem, 1.85vw, 2.1rem)/1.06 var(--display); letter-spacing: -.02em; }
.hero h1 em { color: var(--terracotta); font-style: normal; }
.role-rail { grid-area: roles; min-width: 0; padding-left: 1rem; border-left: 2px solid var(--terracotta); }
.role-entry { min-width: 0; }
.role-entry + .role-entry { margin-top: .72rem; padding-top: .72rem; border-top: 1px solid var(--line); }
.role-rail h2 { margin: 0 0 .28rem; color: var(--blue-ink); font: 700 .92rem/1.07 var(--display); }
.role-entry-primary h2 { font-size: 1.04rem; }
.role-rail p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.3; }
.role-entry-primary p { font-size: .76rem; }
.role-rail strong { color: var(--blue-ink); font-weight: 500; }
.hero-photo { grid-area: photo; position: relative; align-self: center; justify-self: end; width: 100%; max-width: 230px; margin: 0; overflow: hidden; background: var(--paper); }
.hero-photo picture { display: block; width: 100%; }
.hero-photo img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; object-position: center; }
.hero-photo::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, var(--paper) 0%, rgba(255,255,255,.72) 3%, rgba(255,255,255,0) 15%, rgba(255,255,255,0) 93%, rgba(255,255,255,.5) 98%, var(--paper) 100%), linear-gradient(180deg, rgba(255,255,255,0) 78%, rgba(255,255,255,.25) 86%, var(--paper) 100%); }

.section { padding: 1.55rem 0; }
.intro { border-bottom: 1px solid var(--line); }
.intro-copy { max-width: 890px; padding: .15rem 1.25rem .15rem; color: var(--ink); font-size: .9rem; line-height: 1.45; }
.intro-copy p { margin: 0 0 1rem; }
.intro-copy p:last-child { margin-bottom: 0; }
.intro-lead { font-weight: 600; }
.intro strong { color: var(--blue-ink); font-weight: 600; }

.numbers { padding: .55rem 0 .7rem; background: var(--wash); }
.number-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.number-item { min-width: 0; min-height: 118px; padding: .35rem 1rem .35rem 0; border-right: 1px solid var(--line); }
.number-item + .number-item { padding-left: 1rem; }
.number-item:last-child { border-right: 0; }
.number-item strong { display: block; margin-bottom: .6rem; color: var(--blue-ink); font: 700 clamp(2.35rem, 3.4vw, 3.35rem)/.9 var(--display); letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.number-item strong span { color: var(--terracotta); }
.number-item strong.number-money { color: var(--terracotta); font-size: clamp(1.6rem, 2.35vw, 2.35rem); white-space: nowrap; }
.number-item > p { max-width: 210px; margin: 0; color: var(--muted); line-height: 1.28; }
.number-label, .number-detail { display: block; }
.number-label { color: var(--blue-ink); font: 700 1rem/1.04 var(--display); }
.number-detail { margin-top: .34rem; font-size: .79rem; }
.number-proof strong { color: var(--terracotta); font-size: clamp(3rem, 4.2vw, 4rem); }
.number-proof .proof-label { margin: 0 0 .38rem; color: var(--blue-ink); font: 700 1rem/1.05 var(--display); }
.number-proof .proof-subtitle { max-width: 240px; font-size: .78rem; }

.experience { background: var(--paper); }
.experience > .shell > h2, .useful > .shell > h2 { margin: 0 0 .9rem; color: var(--blue-ink); font: 700 clamp(2rem, 3.2vw, 2.7rem)/1 var(--display); letter-spacing: -.025em; }
.experience-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
.experience-card { display: flex; min-width: 0; padding: .35rem 1rem .1rem 0; flex-direction: column; }
.experience-card + .experience-card { padding-left: 1rem; border-left: 1px solid var(--line); }
.experience-icon { flex: 0 0 auto; width: 46px; height: 46px; margin: 0; }
.experience-card h3 { min-height: 3.06em; margin: 0 0 .52rem; color: var(--blue-ink); font: 700 1.14rem/1.02 var(--display); }
.experience-heading-link {
  display: flex;
  align-items: center;
  gap: .72rem;
  min-height: 48px;
  color: inherit;
  text-decoration: none;
}
.experience-heading-link:hover { color: var(--terracotta); }
.experience-heading-link:hover span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.experience-heading-link:hover .experience-icon { opacity: .78; }
.experience-card p { margin: 0 0 .7rem; color: var(--muted); font-size: .82rem; line-height: 1.37; }
.experience-card p:last-child { margin-bottom: 0; }
.experience-card strong { color: var(--blue-ink); font-weight: 600; }
.experience-card .card-stat { min-height: 72px; padding: .45rem .55rem; color: var(--blue-ink); background: var(--wash); border-left: 3px solid var(--terracotta); }
.experience-card .card-stat strong { white-space: nowrap; }
.experience-more {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  align-self: flex-start;
  min-height: 36px;
  margin-top: auto;
  padding: .4rem .65rem;
  color: var(--blue-ink);
  background: transparent;
  border: 1px solid #aebdca;
  border-radius: 3px;
  font: 600 .76rem/1.25 var(--body);
  text-decoration: none;
}
.experience-more:hover { color: var(--paper); background: var(--blue-ink); border-color: var(--blue-ink); }

.useful { padding-top: 1.1rem; background: var(--paper); }
.useful-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; }
.useful-card { min-width: 0; padding: .8rem .78rem .9rem; background: var(--card); border: 1px solid #e0e5e9; border-radius: 9px; }
.useful-card h3 { margin: 0; color: var(--blue-ink); font: 700 1.06rem/1.03 var(--display); }
.useful-heading { display: flex; align-items: flex-start; gap: .55rem; min-height: 38px; margin-bottom: .65rem; }
.useful-heading-link { color: inherit; text-decoration: none; }
.useful-heading-link h3 { flex: 1; }
.useful-heading-link:hover h3 { color: var(--terracotta); }
.useful-heading-link:hover .useful-number { background: var(--blue-ink); }
.useful-number { flex: 0 0 25px; display: grid; width: 25px; height: 25px; place-items: center; margin-top: .02rem; color: var(--paper); background: var(--terracotta); border-radius: 50%; font: 700 1rem/1 var(--display); }
.useful-card > p { margin: 0 0 .58rem; color: var(--muted); font-size: .78rem; line-height: 1.36; }
.useful-card ul { display: grid; gap: .24rem; margin: 0; padding: 0; color: var(--muted); font-size: .77rem; line-height: 1.3; }
.useful-card li { list-style: none; }
.useful-ai { background: var(--wash); }

.closing { padding: 1rem 0 1.2rem; background: var(--paper); border-top: 1px solid var(--line); }
.closing-grid { display: grid; grid-template-columns: 1.14fr .92fr 1fr; }
.closing-block { min-width: 0; padding: .15rem 1rem 0 0; }
.closing-block + .closing-block { padding-left: 1rem; border-left: 1px solid var(--line); }
.closing-block h2 { margin: 0 0 .45rem; color: var(--blue-ink); font: 700 1.25rem/1 var(--display); }
.closing-block p { margin: 0 0 .55rem; color: var(--muted); font-size: .79rem; line-height: 1.35; }
.remote-icons { display: flex; align-items: center; gap: .35rem; margin: 0 0 .35rem; }
.remote-icon { width: 32px; height: 32px; margin: 0; }
.remote-lead { color: var(--blue-ink) !important; font: 600 1.02rem/1.14 var(--display) !important; }
.button-link { display: inline-flex; align-items: center; gap: .55rem; min-height: 40px; padding: .55rem .8rem; color: var(--paper); background: var(--navy); border-radius: 3px; font: 500 .78rem/1 var(--body); text-decoration: none; }
.button-link:hover { color: var(--paper); background: var(--terracotta); }
.site-footer { color: var(--paper); background: var(--navy); border-top: 4px solid var(--terracotta); }
.footer-inner { display: grid; grid-template-columns: 1fr auto auto auto auto auto; align-items: center; gap: .8rem; min-height: 74px; font: 500 .7rem/1 var(--mono); letter-spacing: .1em; }
.footer-inner strong { color: #d5e0ec; font-weight: 500; }
.footer-legal, .footer-contact-link, .footer-privacy-link, .entity-footer-link { color: #d5e0ec; font: inherit; letter-spacing: .04em; text-decoration: none; white-space: nowrap; }
.footer-contact-link:hover, .footer-privacy-link:hover, .entity-footer-link:hover { color: var(--terracotta-on-navy); }
.analytics-preferences-link { padding: 0; color: var(--blue-ink); background: transparent; border: 0; cursor: pointer; font: inherit; text-decoration: underline; }
.analytics-consent { position: fixed; z-index: 100; right: 0; bottom: 0; left: 0; color: var(--paper); background: var(--navy); border-top: 3px solid var(--terracotta); box-shadow: 0 -8px 24px rgba(5,45,88,.2); }
.analytics-consent-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; width: var(--shell); min-height: 92px; margin: 0 auto; padding: 1rem 0; }
.analytics-consent strong { color: var(--paper); font: 700 1.05rem/1 var(--display); }
.analytics-consent p { max-width: 700px; margin: .35rem 0 0; color: #d5e0ec; font-size: .82rem; line-height: 1.4; }
.analytics-consent-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .55rem .8rem; min-width: 280px; }
.analytics-consent-actions a { color: var(--paper); font-size: .78rem; text-decoration: underline; }
.analytics-consent .button-link { min-height: 38px; padding: .55rem .8rem; }
.analytics-consent-deny { min-height: 38px; padding: .55rem .65rem; color: var(--paper); background: transparent; border: 1px solid rgba(255,255,255,.55); cursor: pointer; font: 600 .78rem/1 var(--body); }
.analytics-consent-deny:hover { border-color: var(--paper); }

/* Experience detail pages */
.detail-hero { background: var(--wash); border-bottom: 1px solid var(--line); }
.detail-hero-inner { padding: 2.7rem 0 2.9rem; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: .42rem; align-items: center; margin-bottom: 1.35rem; color: #526274; font: 500 .7rem/1.4 var(--mono); letter-spacing: .025em; }
.breadcrumb a { color: var(--blue-ink); text-decoration-thickness: 1px; text-underline-offset: .18em; }
.breadcrumb span[aria-current="page"] { color: #526274; }
.detail-hero h1 { max-width: 930px; margin: 0 0 1rem; color: var(--blue-ink); font: 700 clamp(2.65rem, 5.8vw, 5rem)/.91 var(--display); letter-spacing: -.035em; }
.detail-lead { max-width: 790px; margin: 0; color: var(--muted); font-size: clamp(1.02rem, 1.7vw, 1.25rem); line-height: 1.5; }
.detail-main { display: grid; grid-template-columns: minmax(0, 1fr) 255px; gap: clamp(2.2rem, 5vw, 4.4rem); padding: 2.8rem 0 4.5rem; }
.detail-content { min-width: 0; }
.detail-content > section + section { margin-top: 3.15rem; }
.detail-content h2 { margin: 0 0 1.15rem; padding-bottom: .6rem; color: var(--blue-ink); border-bottom: 1px solid var(--line); font: 700 clamp(1.7rem, 3vw, 2.35rem)/1 var(--display); letter-spacing: -.015em; }
.detail-content h3 { margin: 0 0 .35rem; color: var(--blue-ink); font: 700 1.18rem/1.1 var(--display); }
.detail-content p { margin: 0 0 .7rem; color: var(--muted); }
.detail-content strong { color: var(--blue-ink); font-weight: 600; }
.detail-content .academic-role-label { color: #40576d; font-weight: 600; }
.activity-list { margin: 0; }
.activity-row { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 1.25rem; padding: 1.1rem 0; border-top: 1px solid var(--line); }
.activity-row:first-child { padding-top: .2rem; border-top: 0; }
.activity-period { margin: .12rem 0 0; color: var(--terracotta); font: 500 .73rem/1.35 var(--mono); letter-spacing: .02em; }
.activity-body .academic-unit { margin: 0 0 .38rem; color: var(--blue-ink); font-weight: 600; }
.activity-body ul, .detail-list { display: grid; gap: .45rem; margin: .6rem 0 0; padding-left: 1.15rem; color: var(--muted); }
.activity-body li::marker, .detail-list li::marker { color: var(--terracotta); }
.academic-institution { border-bottom: 1px solid var(--line); }
.academic-institution-header { padding: 1rem 1.15rem 1.05rem; background: var(--wash); border-left: 3px solid var(--terracotta); }
.detail-content .academic-institution-header h3 { margin: 0 0 .25rem; font-size: 1.34rem; }
.detail-content .academic-institution-header p { margin: 0; color: var(--blue-ink); font-size: .82rem; font-weight: 600; }
.academic-faculty { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 1.25rem; padding: 1.25rem 0; border-top: 1px solid var(--line); }
.academic-faculty-period { margin: .12rem 0 0 !important; color: var(--terracotta) !important; font: 500 .73rem/1.35 var(--mono); letter-spacing: .02em; }
.detail-content .academic-faculty-body h4 { margin: 0 0 .5rem; color: var(--blue-ink); font: 700 1.16rem/1.15 var(--display); }
.detail-content .academic-faculty-body > p { margin-bottom: .35rem; }
.detail-content .academic-faculty-body .academic-unit { color: var(--blue-ink); font-weight: 600; }
.detail-content .academic-context { max-width: 760px; margin-top: .45rem; color: #526274; font-size: .86rem; line-height: 1.45; }
.academic-program-list { margin-top: .65rem; border-top: 1px solid var(--line); }
.academic-program { padding: .85rem 0 .25rem; }
.academic-program + .academic-program { border-top: 1px solid var(--line); }
.detail-content .academic-program h5 { margin: 0 0 .45rem; color: var(--blue-ink); font: 600 .92rem/1.25 var(--body); }
.detail-content .academic-program p { margin-bottom: .45rem; }
.academic-subjects { display: grid; gap: .35rem; margin: 0 0 .5rem; padding: 0; list-style: none; color: var(--muted); }
.academic-subjects li { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: .8rem; }
.academic-year { display: inline-block; min-width: 190px; margin-right: .8rem; color: var(--terracotta); font: 500 .7rem/1.45 var(--mono); letter-spacing: .01em; }
.detail-note { padding: 1rem 1.1rem; background: var(--wash); border-left: 3px solid var(--terracotta); }
.detail-note p:last-child { margin-bottom: 0; }
.detail-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 2.75rem; background: var(--wash); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.detail-stats.detail-stats-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.detail-stat { min-width: 0; padding: 1.15rem 1rem; }
.detail-stat + .detail-stat { border-left: 1px solid var(--line); }
.detail-stat strong { display: block; margin-bottom: .3rem; color: var(--blue-ink); font: 700 clamp(2rem, 4vw, 3.25rem)/.9 var(--display); letter-spacing: -.03em; }
.detail-stat-money strong { font-size: clamp(1.45rem, 2.8vw, 2.65rem); }
.detail-stat-accent strong { color: var(--terracotta); }
.detail-stat span { display: block; color: var(--muted); font-size: .78rem; line-height: 1.3; }
.detail-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); }
.detail-table { width: 100%; min-width: 610px; border-collapse: collapse; color: var(--muted); font-size: .88rem; }
.detail-table th, .detail-table td { padding: .72rem .78rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.detail-table th { color: var(--blue-ink); background: var(--wash); font-weight: 600; }
.detail-table th:last-child, .detail-table td:last-child { width: 105px; text-align: right; font-variant-numeric: tabular-nums; }
.detail-table tr:last-child td { border-bottom: 0; }
.detail-table tfoot td { color: var(--blue-ink); background: var(--wash); font-weight: 600; }
.project-section > p { max-width: 760px; }
.project-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1rem 1.5rem; margin: 0 0 1rem; padding: .85rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.project-tools label { display: block; margin: 0 0 .35rem; color: var(--blue-ink); font: 600 .8rem/1.2 var(--body); }
.project-search { width: 100%; min-height: 42px; padding: .55rem .7rem; color: var(--ink); background: var(--paper); border: 1px solid #bac8d4; border-radius: 2px; font: 400 .9rem/1.2 var(--body); }
.project-search:focus-visible { outline: 3px solid var(--terracotta); outline-offset: 2px; border-color: var(--terracotta); }
.project-index-status { margin: 0; color: var(--muted); font: 500 .74rem/1.3 var(--mono); white-space: nowrap; }
.project-entities { display: grid; gap: 0; border-bottom: 1px solid var(--line); }
.project-entity { border-top: 1px solid var(--line); }
.project-entity summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 52px; padding: .75rem .1rem .75rem 0; color: var(--blue-ink); cursor: pointer; list-style: none; }
.project-entity summary::-webkit-details-marker { display: none; }
.project-entity summary::before { flex: 0 0 1rem; content: "+"; color: var(--terracotta); font: 500 1.15rem/1 var(--mono); }
.project-entity[open] summary::before { content: "−"; }
.project-entity summary:hover { color: var(--terracotta); }
.project-entity summary:focus-visible { outline-offset: 2px; }
.project-entity-name { flex: 1 1 auto; font: 600 1rem/1.15 var(--display); }
.project-entity-count { flex: 0 0 auto; color: var(--muted); font: 500 .7rem/1.2 var(--mono); white-space: nowrap; }
.project-list { display: grid; gap: 0; margin: 0 0 .85rem 1.05rem; padding: 0; list-style: none; border-left: 1px solid var(--line); }
.project-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: .58rem .8rem; border-top: 1px solid var(--line); }
.project-measure { color: var(--muted); font-size: .84rem; line-height: 1.35; }
.project-status { color: #526274; font: 500 .68rem/1.3 var(--mono); white-space: nowrap; }
.project-status[data-status="in-verifica"], .project-status[data-status="in-liquidazione"] { color: var(--terracotta); }
.process-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 0; padding: 0; list-style: none; counter-reset: process; }
.process-list li { position: relative; min-height: 82px; padding: .9rem .9rem .9rem 3.15rem; color: var(--muted); background: var(--card); border: 1px solid var(--line); }
.process-list li::before { counter-increment: process; content: counter(process); position: absolute; top: .82rem; left: .85rem; display: grid; width: 1.7rem; height: 1.7rem; place-items: center; color: var(--paper); background: var(--terracotta); border-radius: 50%; font: 700 .86rem/1 var(--display); }
.detail-aside { position: sticky; top: 1.5rem; align-self: start; padding-left: 1.25rem; border-left: 1px solid var(--line); }
.detail-aside h2 { margin: 0 0 .8rem; color: var(--blue-ink); font: 700 1.15rem/1.05 var(--display); }
.detail-aside .aside-secondary-title { margin-top: 1.65rem; }
.detail-aside nav { display: grid; }
.detail-aside nav a { padding: .65rem 0; color: var(--muted); border-top: 1px solid var(--line); font-size: .82rem; line-height: 1.25; text-decoration: none; }
.detail-aside nav a:last-child { border-bottom: 1px solid var(--line); }
.detail-aside nav a:hover { color: var(--terracotta); }
.detail-aside nav a[aria-current="page"] { color: var(--blue-ink); font-weight: 600; }
.detail-aside nav a[aria-current="page"]::before { content: "— "; color: var(--terracotta); }
.detail-overview-link { display: inline-flex; align-items: center; min-height: 44px; margin: -.35rem 0 1rem; color: var(--blue-ink); font: 700 .9rem/1.2 var(--display); text-decoration: none; }
.detail-overview-link:hover { color: var(--terracotta); text-decoration: underline; text-underline-offset: .18em; }
.detail-home-link { display: inline-flex; margin-top: 1rem; color: var(--blue-ink); font-size: .8rem; font-weight: 600; text-decoration: none; }
.numbers-hero .detail-hero-inner { padding-top: 2.15rem; padding-bottom: 2.35rem; }
.numbers-main { grid-template-columns: minmax(0, 1fr) 235px; }
.numbers-main .detail-content > section + section { margin-top: 4.25rem; }
.numbers-main .detail-content > section > p { max-width: 760px; }
.pnrr-equation { display: grid; grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr); color: var(--paper); background: var(--navy); border-top: 4px solid var(--terracotta); }
.pnrr-total { display: flex; align-items: flex-end; gap: 1rem; min-width: 0; padding: 1.35rem 1.5rem 1.45rem; }
.pnrr-total strong { color: var(--paper); font: 700 clamp(3.5rem, 6.4vw, 5.6rem)/.78 var(--display); letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.pnrr-total span { color: #d5e0ec; font: 600 .92rem/1.2 var(--display); text-transform: uppercase; }
.pnrr-components { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-width: 0; padding: 1.2rem 1.4rem; border-left: 1px solid rgba(255,255,255,.25); }
.pnrr-components div { min-width: 0; }
.pnrr-components strong { display: block; margin-bottom: .3rem; color: var(--paper); font: 700 clamp(2rem, 3.7vw, 3.2rem)/.9 var(--display); font-variant-numeric: tabular-nums; }
.pnrr-components span { display: block; color: #d5e0ec; font-size: .82rem; line-height: 1.25; }
.pnrr-components b { padding: 0 1rem; color: var(--terracotta); font: 500 1.7rem/1 var(--mono); }
.numbers-scope-note { margin: .65rem 0 1.4rem !important; color: #526274 !important; font-size: .78rem !important; }
.numbers-evidence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.numbers-evidence { min-width: 0; min-height: 142px; padding: 1.05rem 1rem 1.15rem; }
.numbers-evidence + .numbers-evidence { border-left: 1px solid var(--line); }
.numbers-evidence strong { display: block; margin-bottom: .55rem; color: var(--blue-ink); font: 700 clamp(2.05rem, 3.7vw, 3.25rem)/.86 var(--display); letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.numbers-evidence span { display: block; color: var(--muted); font-size: .82rem; line-height: 1.3; }
.numbers-evidence span b { color: var(--blue-ink); font: 700 .92rem/1.08 var(--display); }
.numbers-evidence-zero strong { color: var(--terracotta); font-size: clamp(3.2rem, 5vw, 4.35rem); }
.numbers-evidence-money strong { color: var(--terracotta); font-size: clamp(1.7rem, 2.8vw, 2.45rem); white-space: nowrap; }
.numbers-context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1.25rem 0 1.8rem; padding: 0; background: var(--wash); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.numbers-context-grid.numbers-context-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.numbers-context-grid > div { min-width: 0; padding: 1rem; }
.numbers-context-grid > div + div { border-left: 1px solid var(--line); }
.numbers-context-grid dt { color: var(--blue-ink); font: 700 clamp(1.65rem, 3.1vw, 2.55rem)/.9 var(--display); letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.numbers-context-grid dd { margin: .42rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.25; }
.numbers-context-grid .context-accent dt { color: var(--terracotta); }
.data-figure { margin: 1.6rem 0 0; }
.data-figure figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: .65rem; border-bottom: 1px solid var(--line); }
.data-figure figcaption strong { color: var(--blue-ink); font: 700 1.15rem/1.1 var(--display); }
.data-figure figcaption span { color: #526274; font: 500 .68rem/1.3 var(--mono); text-align: right; }
.data-bars { display: grid; gap: .72rem; margin: 0; padding: 0; list-style: none; }
.data-bar-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; min-width: 0; margin-bottom: .26rem; }
.data-bar-head > span { min-width: 0; color: var(--blue-ink); font-size: .88rem; line-height: 1.25; }
.data-bar-head > strong { flex: 0 0 auto; color: var(--blue-ink); font: 600 .78rem/1 var(--mono); font-variant-numeric: tabular-nums; }
.data-bar-head small { margin-left: .35rem; color: #526274; font-size: .65rem; }
.data-bar-track { display: block; height: .62rem; overflow: hidden; background: var(--wash); }
.data-bar-fill { display: block; height: 100%; background: var(--blue-ink); }
.bar-100 { width: 100%; }
.bar-94-2 { width: 94.2%; }
.bar-64-3 { width: 64.3%; }
.bar-39-9 { width: 39.9%; }
.bar-39-5 { width: 39.5%; }
.bar-39 { width: 39%; }
.bar-36-8 { width: 36.8%; }
.bar-29-9 { width: 29.9%; }
.bar-29-6 { width: 29.6%; }
.bar-27-4 { width: 27.4%; }
.bar-23-4 { width: 23.4%; }
.bar-20-5 { width: 20.5%; }
.bar-11-1 { width: 11.1%; }
.report-status { margin-top: 1.8rem; padding: 1.05rem 1.1rem 1rem; background: var(--wash); border-left: 3px solid var(--terracotta); }
.report-status h3 { margin-bottom: .75rem; }
.status-strip { display: flex; width: 100%; height: .6rem; margin-bottom: .8rem; overflow: hidden; background: var(--line); }
.status-paid { width: 95.3%; background: var(--blue-ink); }
.status-review { width: 4.1%; background: var(--terracotta); }
.status-payment { width: .6%; min-width: 3px; background: #7f91a2; }
.report-status dl { display: flex; flex-wrap: wrap; gap: .65rem 1.5rem; margin: 0; }
.report-status dl div { display: flex; align-items: baseline; gap: .35rem; }
.report-status dt { color: var(--blue-ink); font: 700 1.15rem/1 var(--display); font-variant-numeric: tabular-nums; }
.report-status dd { margin: 0; color: var(--muted); font-size: .78rem; }
.report-status p { margin: .75rem 0 0; color: #526274; font-size: .75rem; }
.numbers-detail-link { display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; margin-top: .8rem; color: var(--blue-ink); font-size: .82rem; font-weight: 600; text-decoration: none; }
.numbers-detail-link:hover { color: var(--terracotta); text-decoration: underline; text-underline-offset: .18em; }
.home-useful-links { display: flex; flex-wrap: wrap; gap: .15rem 1.45rem; }
.teaching-numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1.25rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.teaching-numbers > div { min-width: 0; padding: 1.05rem 1rem 1.15rem; }
.teaching-numbers > div + div { border-left: 1px solid var(--line); }
.teaching-numbers strong { display: block; margin-bottom: .45rem; color: var(--blue-ink); font: 700 clamp(2.25rem, 4vw, 3.5rem)/.85 var(--display); font-variant-numeric: tabular-nums; }
.teaching-numbers span { display: block; color: var(--muted); font-size: .8rem; line-height: 1.3; }
.project-domain-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.35rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.project-domain-grid section { min-width: 0; padding: 1.05rem 1rem 1.15rem; }
.project-domain-grid section + section { border-left: 1px solid var(--line); }
.project-domain-grid h3 { min-height: 2.5em; margin-bottom: .8rem; }
.project-domain-grid ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.project-domain-grid li { padding: .48rem 0 .48rem .85rem; color: var(--muted); border-top: 1px solid var(--line); font-size: .82rem; line-height: 1.25; }
.project-domain-grid li::before { content: "—"; display: inline-block; width: .85rem; margin-left: -.85rem; color: var(--terracotta); }
.data-methodology { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.data-methodology li { padding: .75rem .85rem .75rem 1rem; color: var(--muted); background: var(--card); border-left: 2px solid var(--line); font-size: .86rem; line-height: 1.42; }
.numbers-aside .aside-secondary-title { margin-top: 1.65rem; }

/* Professional profile hub */
.profile-path-hero h1 { max-width: 850px; font-size: clamp(2.65rem, 5vw, 4.45rem); }
.profile-path-main { grid-template-columns: minmax(0, 1fr) 245px; }
.profile-study-grid,
.profile-client-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.profile-study-grid > div,
.profile-client-grid > section { min-width: 0; padding: 1.05rem 1rem 1.15rem; }
.profile-study-grid > div:first-child,
.profile-client-grid > section:first-child { padding-left: 0; }
.profile-study-grid > div + div,
.profile-client-grid > section + section { border-left: 1px solid var(--line); }
.profile-study-grid h3,
.profile-client-grid h3 { margin-bottom: .45rem; }
.profile-study-grid p,
.profile-client-grid p { font-size: .84rem; line-height: 1.42; }
.profile-study-grid .activity-period { margin-bottom: .5rem; }
.profile-area-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.profile-area-grid article { min-width: 0; padding: 1rem 1.15rem 1.15rem 0; }
.profile-area-grid article:nth-child(even) { padding-right: 0; padding-left: 1.15rem; border-left: 1px solid var(--line); }
.profile-area-grid article:nth-child(n+3) { border-top: 1px solid var(--line); }
.profile-area-grid h3 { margin: 0 0 .55rem; }
.profile-area-grid p { margin: 0; font-size: .84rem; line-height: 1.4; }
.profile-area-link { display: flex; align-items: center; gap: .8rem; min-height: 56px; color: var(--blue-ink); text-decoration: none; }
.profile-area-link img { flex: 0 0 auto; width: 46px; height: 46px; }
.profile-area-link span { min-width: 0; }
.profile-area-link:hover { color: var(--terracotta); }
.profile-area-link:hover span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.profile-area-featured { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.profile-area-featured .profile-area-link { max-width: 34rem; }
.activity-body h3 a { color: inherit; text-decoration: none; }
.activity-body h3 a:hover { color: var(--terracotta); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.profile-contact-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line); }
.profile-contact-list > div { min-width: 0; padding: .9rem 1rem .95rem 0; border-bottom: 1px solid var(--line); }
.profile-contact-list > div:nth-child(even):not(.profile-contact-wide) { padding-right: 0; padding-left: 1rem; border-left: 1px solid var(--line); }
.profile-contact-list .profile-contact-wide { grid-column: 1 / -1; }
.profile-contact-list dt { margin-bottom: .25rem; color: var(--blue-ink); font: 600 .78rem/1.2 var(--display); text-transform: uppercase; letter-spacing: .035em; }
.profile-contact-list dd { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.42; overflow-wrap: anywhere; }
.profile-contact-list a { color: var(--blue-ink); font-weight: 600; text-underline-offset: .18em; }
.profile-contact-list a:hover { color: var(--terracotta); }
.profile-contact-separator { color: var(--terracotta); }
.profile-contact-list .profile-vcard-link { white-space: nowrap; font-size: .8rem; font-weight: 600; }

.contact-form { display: grid; gap: 1rem; max-width: 760px; }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.contact-field { display: grid; gap: .32rem; }
.contact-field-full { grid-column: 1 / -1; }
.contact-field label { color: var(--blue-ink); font: 600 .86rem/1.2 var(--display); }
.contact-field input, .contact-field textarea { width: 100%; padding: .7rem .75rem; color: var(--ink); background: var(--paper); border: 1px solid #aebdca; border-radius: 3px; font: 400 .95rem/1.4 var(--body); }
.contact-field textarea { min-height: 190px; resize: vertical; }
.contact-field input:focus-visible, .contact-field textarea:focus-visible { outline: 3px solid var(--terracotta); outline-offset: 2px; border-color: var(--terracotta); }
.contact-privacy-consent { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .55rem; max-width: 700px; color: var(--muted); font-size: .82rem; line-height: 1.4; }
.contact-privacy-consent input { width: 1.05rem; height: 1.05rem; margin: .1rem 0 0; accent-color: var(--terracotta); }
.contact-privacy-consent input:focus-visible { outline: 3px solid var(--terracotta); outline-offset: 2px; }
.contact-privacy-consent a { color: var(--blue-ink); text-decoration-thickness: 1px; text-underline-offset: .16em; }
.contact-form .button-link { border: 0; cursor: pointer; justify-self: start; }
.contact-form-note { max-width: 700px; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.contact-form-status { margin: 0; padding: .75rem .9rem; color: var(--blue-ink); background: var(--wash); border-left: 3px solid var(--terracotta); font-size: .9rem; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-details { margin-top: 2rem; }
.contact-details .profile-contact-list { max-width: 760px; }
.contact-vcard { display: inline-flex; min-height: 40px; align-items: center; margin-top: .75rem; padding: .5rem .75rem; color: var(--blue-ink); border: 1px solid #aebdca; border-radius: 3px; font-weight: 600; text-decoration: none; }
.contact-vcard:hover { color: var(--paper); background: var(--blue-ink); border-color: var(--blue-ink); }
.profile-path-aside .aside-secondary-title { margin-top: 1.65rem; }

/* Consulting services */
.services-hero h1 { max-width: 860px; }
.services-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.services-offer-grid .useful-card { padding: 1rem 1.05rem 1.1rem; }
.services-offer-grid .useful-card h3 { font-size: 1.15rem; }
.services-offer-grid .useful-card ul { font-size: .87rem; line-height: 1.4; }
.service-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.8rem; }
.service-detail { min-width: 0; padding: 1.2rem 0 1.35rem; border-top: 1px solid var(--line); }
.service-detail:nth-child(even) { padding-left: 1.8rem; border-left: 1px solid var(--line); }
.service-detail h3 { margin-bottom: .45rem; font-size: 1.35rem; }
.service-detail p { margin-bottom: .65rem; }
.service-detail .detail-list { margin-top: .65rem; }
.service-capability-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1.1rem 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.service-capability-list li { position: relative; min-width: 0; padding: .72rem 1rem .76rem 1.05rem; color: var(--muted); border-bottom: 1px solid var(--line); font-size: .87rem; line-height: 1.42; }
.service-capability-list li:nth-child(even) { border-left: 1px solid var(--line); }
.service-capability-list li::before { position: absolute; left: 0; color: var(--terracotta); content: "—"; }
.profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .8rem; }
.profile-download-link { display: inline-flex; align-items: center; min-height: 40px; color: var(--blue-ink); font-size: .76rem; font-weight: 600; text-decoration: none; }
.profile-download-link:hover { color: var(--terracotta); text-decoration: underline; text-underline-offset: .18em; }

/* RTD deadline calendar */
.rtd-hero .detail-lead { max-width: 820px; }
.rtd-main .detail-content > section + section { margin-top: 3.6rem; }
.rtd-priority { display: grid; grid-template-columns: 170px minmax(0, 1fr); grid-template-areas: "date title" "date copy" "source strategy"; gap: 0 1.45rem; padding: 1.35rem 1.35rem 1.25rem; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--terracotta); }
.rtd-priority > .rtd-date-block { grid-area: date; align-self: start; }
.rtd-priority h2 { grid-area: title; margin: 0 0 .72rem; padding: 0; border: 0; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.rtd-priority > p:not(.rtd-source) { grid-area: copy; margin-bottom: .8rem; }
.rtd-priority > .rtd-strategy { grid-area: strategy; align-self: start; }
.rtd-priority > .rtd-source { grid-area: source; align-self: end; }
.rtd-date-block { min-width: 0; }
.rtd-date-block time { display: block; color: var(--terracotta); font: 700 1.05rem/1.08 var(--display); }
.rtd-date-block span { display: block; margin-top: .35rem; color: #526274; font: 500 .68rem/1.3 var(--mono); }
.rtd-strategy { padding: .78rem .9rem .8rem; background: var(--wash); border-left: 3px solid var(--terracotta); }
.rtd-strategy h3, .rtd-strategy h4 { margin: 0 0 .28rem; color: var(--blue-ink); font: 700 .98rem/1.1 var(--display); }
.rtd-strategy p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.42; }
.rtd-source { margin: .65rem 0 0 !important; font-size: .76rem !important; line-height: 1.35 !important; }
.rtd-source a { color: var(--blue-ink); font-weight: 600; text-underline-offset: .16em; }
.rtd-source a:hover { color: var(--terracotta); }
.rtd-intro { max-width: 760px; margin-bottom: 1.15rem !important; }
.rtd-calendar { border-top: 1px solid var(--line); }
.rtd-entry { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 0 1.45rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.rtd-entry-body h3 { margin: 0 0 .38rem; color: var(--blue-ink); font: 700 1.3rem/1.08 var(--display); }
.rtd-entry-body > p { margin-bottom: .75rem; }
.rtd-entry-body .rtd-source { margin-bottom: 0; }
.rtd-note { padding: 1rem 1.1rem; background: var(--wash); border-left: 3px solid var(--terracotta); }
.rtd-note h3 { margin: 0 0 .35rem; color: var(--blue-ink); font: 700 1rem/1.1 var(--display); }
.rtd-note p { margin: 0; }

@media (max-width: 1100px) {
  :root { --shell: min(960px, calc(100% - 64px)); }
  .main-nav { gap: .72rem; font-size: .84rem; }
  .rtd-nav-link { padding-inline: .48rem; font-size: .72rem !important; }
  .hero-layout { grid-template-columns: minmax(0, 1.45fr) minmax(235px, 1fr) clamp(210px, 21vw, 235px); column-gap: clamp(1rem, 2vw, 1.5rem); min-height: 380px; padding-top: 1rem; padding-bottom: .8rem; }
  .hero h1 { font-size: clamp(1.52rem, 2.25vw, 2.25rem); }
  .role-rail h2 { font-size: .92rem; line-height: 1.05; }
  .role-entry-primary h2 { font-size: 1rem; }
  .role-rail p { font-size: .7rem; line-height: 1.25; }
  .role-entry-primary p { font-size: .74rem; }
  .role-entry + .role-entry { margin-top: .65rem; padding-top: .65rem; }
  .number-label { font-size: .9rem; }
  .number-item strong.number-money { font-size: 1.75rem; }
  .intro { padding-top: 1rem; padding-bottom: 1rem; }
  .intro-copy { line-height: 1.36; }
  .intro-copy p { margin-bottom: .75rem; }
  .experience { padding: .65rem 0 .35rem; }
  .experience > .shell > h2, .useful > .shell > h2 { margin-bottom: .55rem; }
  .experience-card { padding-top: .15rem; }
  .experience-card + .experience-card { padding-left: .8rem; }
  .experience-card .experience-icon { width: 36px; height: 36px; }
  .experience-heading-link { gap: .55rem; min-height: 40px; }
  .experience-card h3 { margin-bottom: .4rem; font-size: 1rem; }
  .experience-card p { margin-bottom: .38rem; font-size: .74rem; line-height: 1.18; }
  .experience-card .card-stat { min-height: 62px; padding: .35rem .45rem; }
  .useful { padding-top: .55rem; }
  .useful-card { padding: .72rem .68rem .78rem; }
  .useful-card h3 { font-size: .9rem; }
  .useful-heading { gap: .45rem; min-height: 31px; margin-bottom: .45rem; }
  .useful-number { flex-basis: 22px; width: 22px; height: 22px; font-size: .9rem; }
  .useful-card > p { margin-bottom: .4rem; font-size: .7rem; line-height: 1.24; }
  .useful-card ul { gap: .18rem; padding-left: .85rem; font-size: .69rem; line-height: 1.2; }
  .services-offer-grid .useful-card { padding: 1rem; }
  .services-offer-grid .useful-card h3 { font-size: 1.05rem; }
  .services-offer-grid .useful-card ul { gap: .24rem; padding-left: 1rem; font-size: .84rem; line-height: 1.38; }
  .closing { padding: .35rem 0 .35rem; }
  .closing-block, .closing-block + .closing-block { padding-top: .1rem; padding-bottom: .1rem; }
  .closing-block h2 { margin-bottom: .28rem; font-size: 1rem; }
  .closing-block p { margin-bottom: .35rem; font-size: .68rem; line-height: 1.18; }
  .remote-icons { gap: .25rem; margin-bottom: .2rem; }
  .remote-icon { width: 26px; height: 26px; }
  .remote-lead { font-size: .85rem !important; }
  .button-link { min-height: 32px; padding: .4rem .6rem; font-size: .68rem; }
  .footer-inner { min-height: 32px; }
}

@media (max-width: 900px) {
  :root { --shell: min(720px, calc(100% - 48px)); }
  .header-inner { align-items: flex-start; flex-direction: column; gap: .2rem; padding: .85rem 0 .55rem; }
  .main-nav { width: 100%; justify-content: space-between; flex-wrap: wrap; gap: 0 .8rem; }
  .hero-layout { grid-template-columns: minmax(0, 1fr) 220px; grid-template-areas: "copy photo" "roles roles"; gap: 1.35rem 1.5rem; min-height: 0; padding: 2rem 0 1.25rem; }
  .role-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .9rem 0 0; border-top: 2px solid var(--terracotta); border-left: 0; }
  .role-rail .role-entry { min-height: 86px; padding: .1rem 1rem .75rem 0; }
  .role-rail .role-entry + .role-entry { margin: 0; padding-top: .1rem; border-top: 0; }
  .role-rail .role-entry:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--line); }
  .role-rail .role-entry:nth-child(n+3) { padding-top: .75rem; border-top: 1px solid var(--line); }
  .hero-photo { align-self: center; justify-self: end; width: min(100%, 220px); max-width: 220px; }
  .number-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .number-item:nth-child(3) { border-right: 0; }
  .number-item:nth-child(n+4) { padding-top: .8rem; border-top: 1px solid var(--line); }
  .number-item:nth-child(4) { padding-left: 0; }
  .number-item:nth-child(5) { border-right: 0; }
  .experience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .experience-card:nth-child(3), .experience-card:nth-child(4) { padding-top: .9rem; border-top: 1px solid var(--line); }
  .experience-card:nth-child(3) { padding-left: 0; border-left: 0; }
  .useful-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .useful-card { padding: 1rem; }
  .useful-card > p, .useful-card ul { font-size: .88rem; }
  .closing-grid { grid-template-columns: 1fr 1fr; gap: 0; }
  .profile-block { grid-column: 1 / -1; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
  .detail-main { grid-template-columns: 1fr; gap: 2.5rem; }
  .service-detail-grid { grid-template-columns: 1fr; }
  .service-detail:nth-child(even) { padding-left: 0; border-left: 0; }
  .detail-stats.detail-stats-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-stats-four .detail-stat:nth-child(odd) { border-left: 0; }
  .detail-stats-four .detail-stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .detail-aside { position: static; padding: 1.2rem 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .detail-aside nav { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
  .numbers-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .numbers-evidence:nth-child(odd) { border-left: 0; }
  .numbers-evidence:nth-child(n+3) { border-top: 1px solid var(--line); }
  .numbers-context-grid.numbers-context-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .numbers-context-four > div:nth-child(odd) { border-left: 0; }
  .numbers-context-four > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .project-domain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-domain-grid section:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
  .project-domain-grid section:nth-child(3) ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
  .profile-path-main { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  :root { --shell: calc(100% - 32px); }
  body { font-size: .98rem; }
  .main-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .main-nav a, .language-switch { justify-content: flex-start; min-height: 42px; }
  .main-nav a:nth-child(4), .main-nav a:nth-child(5) { grid-column: 1 / span 2; }
  .main-nav a:nth-child(5) { grid-row: 3; }
  .language-switch { grid-column: 3; grid-row: 2; justify-content: flex-end; }
  .hero-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "roles" "photo"; gap: 0; padding: 2rem 0 1.25rem; }
  .person-name { font-size: clamp(3.2rem, 16vw, 4.5rem); }
  .hero h1 { max-width: 31rem; margin-bottom: 1.65rem; font-size: clamp(1.58rem, 7.8vw, 2.2rem); }
  .hero h1 br { display: none; }
  .role-rail { display: block; max-width: none; padding: 0 0 0 1rem; border-top: 0; border-left: 2px solid var(--terracotta); }
  .role-rail .role-entry { min-height: 0; padding: 0; border-left: 0; }
  .role-rail .role-entry + .role-entry { margin-top: .8rem; padding: .8rem 0 0; border-top: 1px solid var(--line); }
  .role-rail .role-entry:nth-child(even) { padding-left: 0; border-left: 0; }
  .role-rail .role-entry:nth-child(n+3) { padding-top: .8rem; }
  .role-rail h2 { font-size: 1rem; }
  .role-entry-primary h2 { font-size: 1.12rem; }
  .role-rail p { font-size: .78rem; }
  .role-entry-primary p { font-size: .86rem; }
  .role-entry + .role-entry { margin-top: .8rem; padding-top: .8rem; }
  .hero-photo { justify-self: center; width: min(100%, 210px); max-width: 210px; margin-top: 1.25rem; }
  .intro-copy { padding: .1rem 0; font-size: .94rem; }
  .numbers { padding: .8rem 0 1rem; }
  .number-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .number-item { min-height: 132px; padding: .25rem .75rem .5rem 0; }
  .number-item + .number-item { padding-left: .75rem; }
  .number-item:nth-child(1), .number-item:nth-child(4) { border-right: 1px solid var(--line); }
  .number-item:nth-child(2), .number-item:nth-child(3), .number-item:nth-child(5) { border-right: 0; }
  .number-item:nth-child(n+3) { border-top: 1px solid var(--line); }
  .number-item:nth-child(4) { padding-left: 0; }
  .number-item:nth-child(5) { grid-column: 1 / -1; padding-left: 0; }
  .number-item strong { margin-bottom: .48rem; font-size: clamp(2.35rem, 13vw, 3.8rem); }
  .number-item strong.number-money { font-size: clamp(1.55rem, 8vw, 2.2rem); }
  .number-label { font-size: .94rem; }
  .number-detail, .number-proof .proof-subtitle { font-size: .8rem; }
  .number-proof { grid-column: 1 / -1; display: grid; grid-template-columns: 70px minmax(0, 1fr); column-gap: .85rem; align-items: center; min-height: 116px; padding: .85rem 0 !important; }
  .number-proof strong { grid-row: span 2; margin: 0; font-size: 4.5rem; }
  .number-proof .proof-label { margin: 0 0 .25rem; font-size: 1.25rem; }
  .number-proof .proof-subtitle { max-width: none; }
  .section { padding: 1.45rem 0; }
  .experience > .shell > h2, .useful > .shell > h2 { font-size: 2.25rem; }
  .experience-grid, .useful-grid, .closing-grid { grid-template-columns: 1fr; }
  .experience-card, .experience-card + .experience-card { padding: 1rem 0; border-left: 0; }
  .experience-card + .experience-card { border-top: 1px solid var(--line); }
  .experience-card h3 { min-height: 0; font-size: 1.28rem; }
  .experience-card .experience-icon { width: 44px; height: 44px; }
  .experience-heading-link { gap: .75rem; min-height: 48px; }
  .experience-card p { font-size: .9rem; }
  .experience-card .card-stat { min-height: 0; }
  .experience-more { min-height: 44px; margin-top: .35rem; }
  .useful-card { padding: 1rem; }
  .useful-card > p, .useful-card ul { font-size: .92rem; }
  .closing-block, .closing-block + .closing-block { padding: 1rem 0; border-left: 0; }
  .closing-block + .closing-block { border-top: 1px solid var(--line); }
  .profile-block { grid-column: auto; margin-top: 0; }
  .closing-block h2 { font-size: 1.4rem; }
  .closing-block p { font-size: .9rem; }
  .detail-hero-inner { padding: 2rem 0 2.25rem; }
  .detail-hero h1 { font-size: clamp(2.35rem, 13vw, 3.55rem); }
  .detail-main { padding: 2rem 0 3.25rem; }
  .detail-content > section + section { margin-top: 2.5rem; }
  .activity-row { grid-template-columns: 1fr; gap: .35rem; padding: 1rem 0; }
  .academic-institution-header { padding: .9rem 1rem; }
  .detail-content .academic-institution-header h3 { font-size: 1.2rem; }
  .academic-faculty { grid-template-columns: 1fr; gap: .35rem; padding: 1.05rem 0; }
  .detail-content .academic-faculty-body h4 { font-size: 1.12rem; }
  .academic-subjects li { grid-template-columns: 1fr; gap: .05rem; }
  .academic-year { display: block; min-width: 0; margin: 0 0 .15rem; }
  .detail-stats { grid-template-columns: 1fr; }
  .detail-stats.detail-stats-four { grid-template-columns: 1fr; }
  .detail-stat + .detail-stat { border-top: 1px solid var(--line); border-left: 0; }
  .process-list { grid-template-columns: 1fr; }
  .detail-aside nav { grid-template-columns: 1fr; }
  .detail-table { min-width: 0; table-layout: fixed; font-size: .73rem; }
  .detail-table th, .detail-table td { padding: .58rem .48rem; overflow-wrap: anywhere; }
  .detail-table th:first-child, .detail-table td:first-child { width: 48px; }
  .detail-table th:last-child, .detail-table td:last-child { width: 48px; }
  .sources-page .detail-table-wrap { overflow: visible; border: 0; }
  .sources-page .detail-table { display: block; table-layout: auto; font-size: .86rem; }
  .sources-page .detail-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .sources-page .detail-table tbody { display: grid; gap: .75rem; }
  .sources-page .detail-table tr { display: block; padding: .42rem .75rem; border: 1px solid var(--line); background: #fff; }
  .sources-page .detail-table td, .sources-page .detail-table td:first-child, .sources-page .detail-table td:last-child { display: block; width: auto; padding: .52rem 0; text-align: left; overflow-wrap: normal; word-break: normal; border-bottom: 1px solid var(--line); }
  .sources-page .detail-table td::before { display: block; margin-bottom: .18rem; color: var(--blue-ink); content: attr(data-label); font: 600 .68rem/1.1 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
  .sources-page .detail-table td:last-child { border-bottom: 0; }
  .project-tools { grid-template-columns: 1fr; gap: .65rem; }
  .project-index-status { white-space: normal; }
  .project-entity summary { gap: .55rem; }
  .project-entity-name { font-size: .96rem; }
  .project-row { grid-template-columns: 1fr; gap: .25rem; padding: .58rem .65rem; }
  .project-status { font-size: .66rem; }
  .numbers-hero .detail-hero-inner { padding-top: 1.75rem; padding-bottom: 2rem; }
  .numbers-main .detail-content > section + section { margin-top: 3.1rem; }
  .pnrr-equation { grid-template-columns: 1fr; }
  .pnrr-total { padding: 1.15rem 1rem 1.2rem; }
  .pnrr-total strong { font-size: clamp(3.25rem, 17vw, 5rem); }
  .pnrr-components { padding: 1rem; border-top: 1px solid rgba(255,255,255,.25); border-left: 0; }
  .pnrr-components span { font-size: .88rem; }
  .pnrr-components b { padding: 0 .6rem; }
  .numbers-evidence { min-height: 0; padding: .9rem .75rem 1rem; }
  .numbers-evidence span { font-size: .9rem; }
  .numbers-evidence span b { font-size: 1rem; }
  .numbers-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .numbers-context-grid:not(.numbers-context-four) > div:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
  .numbers-context-grid dt { font-size: clamp(1.65rem, 8vw, 2.35rem); }
  .numbers-context-grid dd { font-size: .86rem; }
  .data-figure figcaption { display: block; }
  .data-figure figcaption span { display: block; margin-top: .3rem; text-align: left; }
  .data-bar-head { gap: .5rem; }
  .data-bar-head > span { font-size: .9rem; }
  .data-bar-head > strong { font-size: .9rem; }
  .data-bar-head small { display: block; margin: .25rem 0 0; font-size: .75rem; text-align: right; }
  .teaching-numbers { grid-template-columns: 1fr; }
  .teaching-numbers > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .project-domain-grid { grid-template-columns: 1fr; }
  .project-domain-grid section + section, .project-domain-grid section:nth-child(3) { grid-column: auto; border-top: 1px solid var(--line); border-left: 0; }
  .project-domain-grid section:nth-child(3) ul { grid-template-columns: 1fr; }
  .project-domain-grid h3 { min-height: 0; }
  .profile-path-hero h1 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .profile-study-grid,
  .profile-client-grid,
  .profile-area-grid { grid-template-columns: 1fr; }
  .profile-study-grid > div,
  .profile-client-grid > section,
  .profile-area-grid article,
  .profile-area-grid article:nth-child(even) { padding: 1rem 0; border-left: 0; }
  .profile-study-grid > div + div,
  .profile-client-grid > section + section,
  .profile-area-grid article + article { border-top: 1px solid var(--line); }
  .profile-area-grid article:nth-child(n+3) { border-top: 1px solid var(--line); }
  .profile-area-grid p,
  .profile-study-grid p,
  .profile-client-grid p { font-size: .92rem; }
  .profile-area-featured { grid-column: auto; }
  .profile-contact-list { grid-template-columns: 1fr; }
  .profile-contact-list > div,
  .profile-contact-list > div:nth-child(even):not(.profile-contact-wide) { padding: .9rem 0 .95rem; border-left: 0; }
  .profile-contact-list .profile-contact-wide { grid-column: auto; }
  .services-offer-grid,
  .service-capability-list { grid-template-columns: 1fr; }
  .service-capability-list li:nth-child(even) { border-left: 0; }
  .service-capability-list li { padding-right: 0; font-size: .92rem; }
}

/* Smartphone edition: progressive disclosure and a compact brochure hierarchy. */
@media (max-width: 650px) {
  :root { --shell: calc(100% - 32px); }
  .site-header { position: sticky; z-index: 50; top: 0; }
  .header-inner { min-height: 64px; padding: 0; flex-direction: row; align-items: center; gap: 1rem; }
  .brand-copy strong { font-size: .98rem; }
  .brand-copy small { font-size: .62rem; }
  .mobile-nav-ready .main-nav { display: none; }
  .mobile-nav-ready .mobile-menu { position: relative; display: block; margin-left: auto; }
  .mobile-menu-trigger { display: flex; align-items: center; gap: .55rem; min-height: 44px; padding: 0 .15rem 0 .55rem; color: var(--paper); cursor: pointer; font: 600 .84rem/1 var(--display); text-transform: uppercase; letter-spacing: .05em; list-style: none; }
  .mobile-menu-trigger::-webkit-details-marker { display: none; }
  .mobile-menu-trigger::marker { content: ""; }
  .mobile-menu-icon { display: grid; gap: 5px; width: 22px; }
  .mobile-menu-icon span { display: block; width: 22px; height: 2px; background: currentColor; transition: transform .15s ease; }
  .mobile-menu[open] .mobile-menu-icon span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .mobile-menu[open] .mobile-menu-icon span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu-nav { position: absolute; z-index: 60; top: calc(100% + 10px); right: 0; display: grid; width: min(330px, calc(100vw - 32px)); padding: .4rem 1rem .7rem; color: var(--paper); background: var(--navy); border-top: 3px solid var(--terracotta); box-shadow: 0 14px 28px rgba(5,45,88,.24); }
  .mobile-menu-nav > a { display: flex; align-items: center; min-height: 47px; border-bottom: 1px solid rgba(255,255,255,.2); font: 600 1rem/1.15 var(--display); text-decoration: none; }
  .mobile-menu-nav > a.rtd-nav-link { gap: .42rem; padding: 0; color: var(--terracotta-on-navy); border: 0; border-radius: 0; font: 600 1rem/1.15 var(--display) !important; }
  .mobile-menu-nav > a.rtd-nav-link:hover { color: var(--paper); background: transparent; border-color: transparent; }
  .mobile-menu-nav > a[aria-current="page"] { color: var(--terracotta-on-navy); }
  .mobile-menu-nav .language-switch { grid-column: auto; grid-row: auto; justify-content: flex-start; min-height: 46px; margin: .25rem 0 0; }

  .footer-inner { grid-template-columns: 1fr auto; gap: .4rem .7rem; min-height: 48px; padding: .6rem 0; line-height: 1.2; }
  .footer-inner > :first-child { grid-column: 1; grid-row: 1; }
  .footer-inner > strong { grid-column: 2; grid-row: 1; }
  .footer-legal { grid-column: 1; grid-row: 2; }
  .footer-contact-link { grid-column: 2; grid-row: 2; }
  .footer-privacy-link { grid-column: 1 / -1; grid-row: 3; }
  .entity-footer-link { grid-column: 1 / -1; grid-row: 4; }
  .analytics-consent-inner { display: block; padding: .85rem 0 1rem; }
  .analytics-consent p { margin-bottom: .7rem; font-size: .78rem; }
  .analytics-consent-actions { justify-content: flex-start; min-width: 0; }
  .contact-form-grid { grid-template-columns: 1fr; gap: .8rem; }
  .contact-field-full { grid-column: auto; }
  .contact-field textarea { min-height: 155px; }
  .contact-details { margin-top: 1.4rem; }

  .home-page .hero-layout { grid-template-columns: minmax(0, 1fr) clamp(92px, 30vw, 112px); grid-template-areas: "kicker kicker" "name photo" "rule photo" "title title" "roles roles"; gap: 0 .8rem; min-height: 0; padding: 1.15rem 0 .95rem; align-items: start; }
  .home-page .hero-copy { display: contents; }
  .home-page .kicker { grid-area: kicker; margin: 0 0 .85rem; font-size: .68rem; }
  .home-page .person-name { grid-area: name; align-self: center; font-size: clamp(2.3rem, 11.5vw, 2.85rem); line-height: .86; }
  .home-page .accent-rule { grid-area: rule; align-self: end; width: 48px; height: 4px; margin: .75rem 0 .15rem; }
  .home-page .hero h1 { grid-area: title; max-width: none; margin: 1rem 0 0; font-size: clamp(1.26rem, 5.6vw, 1.48rem); line-height: 1.04; letter-spacing: -.015em; }
  .home-page .hero-photo { grid-area: photo; align-self: center; justify-self: end; width: 100%; max-width: 112px; margin: 0; }
  .home-page .hero-photo::after { background: linear-gradient(90deg, var(--paper) 0%, rgba(255,255,255,.35) 7%, rgba(255,255,255,0) 23%, rgba(255,255,255,0) 92%, var(--paper) 100%), linear-gradient(180deg, rgba(255,255,255,0) 69%, rgba(255,255,255,.22) 80%, var(--paper) 100%); }
  .home-page .role-rail { grid-area: roles; display: block; max-width: none; margin-top: 1rem; padding: 0; border-top: 2px solid var(--terracotta); border-left: 0; }
  .home-page .role-rail .role-entry, .home-page .role-rail .role-entry + .role-entry, .home-page .role-rail .role-entry:nth-child(even), .home-page .role-rail .role-entry:nth-child(n+3) { min-height: 0; margin: 0; padding: .56rem 0; border-top: 0; border-right: 0; border-bottom: 1px solid var(--line); border-left: 0; }
  .home-page .role-rail .role-entry:first-child { padding: .68rem .72rem; background: var(--wash); border-left: 3px solid var(--terracotta); }
  .home-page .role-rail h2, .home-page .role-entry-primary h2 { margin-bottom: .16rem; font-size: .96rem; line-height: 1.03; }
  .home-page .role-rail p, .home-page .role-entry-primary p { font-size: .76rem; line-height: 1.24; }
  .home-page .role-rail .role-entry:nth-child(n+3) h2 { font-size: .88rem; }
  .home-page .role-rail .role-entry:nth-child(n+3) p { font-size: .72rem; }
  .home-page .role-rail > .role-entry:nth-child(4),
  .home-page .role-rail > .role-entry:nth-child(5) { display: none; }
  .home-page .mobile-secondary-roles { display: block; border-bottom: 1px solid var(--line); }
  .home-page .mobile-secondary-roles summary { position: relative; display: flex; align-items: center; min-height: 46px; padding: .55rem 2rem .55rem 0; color: var(--blue-ink); cursor: pointer; font: 700 .84rem/1.15 var(--display); list-style: none; }
  .home-page .mobile-secondary-roles summary::-webkit-details-marker { display: none; }
  .home-page .mobile-secondary-roles summary::after { position: absolute; right: .25rem; color: var(--terracotta); content: "+"; font: 500 1.25rem/1 var(--mono); }
  .home-page .mobile-secondary-roles[open] summary::after { content: "−"; }
  .home-page .mobile-secondary-roles > div { padding-left: .75rem; border-left: 2px solid var(--line); }
  .home-page .role-rail .mobile-secondary-roles .role-entry { display: block; padding: .55rem 0; }
  .home-page .role-rail .mobile-secondary-roles .role-entry:first-child { padding: .55rem 0; background: transparent; border-left: 0; }
  .home-page .role-rail .mobile-secondary-roles h2 { font-size: .86rem; }
  .home-page .role-rail .mobile-secondary-roles p { font-size: .72rem; }

  .home-page .intro { padding: 1rem 0; }
  .home-page .intro-copy { padding: 0; font-size: .88rem; line-height: 1.4; }
  .home-page .intro-lead { margin-bottom: .75rem; }
  .home-page .desktop-intro-detail { display: none; }
  .home-page .mobile-intro-detail { display: block; border-top: 1px solid var(--line); }
  .home-page .mobile-intro-detail summary { position: relative; display: flex; align-items: center; min-height: 44px; padding-right: 2rem; color: var(--blue-ink); cursor: pointer; font: 600 .88rem/1.2 var(--body); list-style: none; }
  .home-page .mobile-intro-detail summary::-webkit-details-marker { display: none; }
  .home-page .mobile-intro-detail summary::after { position: absolute; right: .25rem; color: var(--terracotta); content: "+"; font: 500 1.35rem/1 var(--mono); }
  .home-page .mobile-intro-detail[open] summary::after { content: "−"; }
  .home-page .mobile-intro-detail > div { padding: .15rem 0 .1rem; }
  .home-page .mobile-intro-detail p { font-size: .86rem; }

  .home-page .numbers { padding: .35rem 0; }
  .home-page .number-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .number-item, .home-page .number-item + .number-item, .home-page .number-item:nth-child(n+3), .home-page .number-item:nth-child(4), .home-page .number-item:nth-child(5) { min-height: 104px; padding: .78rem .65rem !important; border: 0 !important; }
  .home-page .number-item:nth-child(1), .home-page .number-item:nth-child(2), .home-page .number-item:nth-child(3) { border-bottom: 1px solid var(--line) !important; }
  .home-page .number-item:nth-child(1), .home-page .number-item:nth-child(4) { border-right: 1px solid var(--line) !important; }
  .home-page .number-item:nth-child(3) { grid-column: 1 / -1; }
  .home-page .number-item:nth-child(5) { grid-column: auto; }
  .home-page .number-item strong { margin-bottom: .32rem; font-size: clamp(2.15rem, 11vw, 2.75rem); }
  .home-page .number-item strong.number-money { font-size: clamp(1.42rem, 7.1vw, 1.85rem); }
  .home-page .number-label { font-size: .9rem; line-height: 1; }
  .home-page .number-detail, .home-page .number-proof .proof-subtitle { margin-top: .22rem; font-size: .78rem; line-height: 1.22; }
  .home-page .number-proof { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: .75rem; align-items: center; min-height: 98px; }
  .home-page .number-proof strong { grid-row: 1 / span 2; margin: 0; font-size: 4rem; }
  .home-page .number-proof .proof-label { margin: 0 0 .14rem; font-size: 1.05rem; }

  .home-page .section { padding: 1.15rem 0; }
  .home-page .experience > .shell > h2, .home-page .useful > .shell > h2 { margin-bottom: .55rem; font-size: 1.9rem; }
  .home-page .experience-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
  .home-page .experience-card, .home-page .experience-card + .experience-card { padding: .75rem 0; border-top: 1px solid var(--line); border-left: 0; }
  .home-page .experience-card:first-child { border-top: 0; }
  .home-page .experience-card h3 { min-height: 0; margin: 0; font-size: 1.12rem; }
  .home-page .experience-heading-link { gap: .65rem; min-height: 44px; }
  .home-page .experience-card .experience-icon { width: 38px; height: 38px; }
  .home-page .experience-card > p:not(.card-stat) { display: none; }
  .home-page .experience-card .card-stat { min-height: 0; margin: .35rem 0 0 3.2rem; padding: .35rem .5rem; font-size: .82rem; line-height: 1.25; }
  .home-page .experience-more { min-height: 40px; margin: .38rem 0 0 3.2rem; padding: .35rem .6rem; font-size: .78rem; }

  .home-page .useful-grid { display: none; }
  .home-page .useful-mobile { display: grid; border-top: 1px solid var(--line); }
  .home-page .useful-mobile details { border-bottom: 1px solid var(--line); }
  .home-page .useful-mobile summary { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr) 20px; gap: .65rem; align-items: center; min-height: 58px; padding: .42rem 0; color: var(--blue-ink); cursor: pointer; font: 700 1rem/1.08 var(--display); list-style: none; }
  .home-page .useful-mobile summary::-webkit-details-marker { display: none; }
  .home-page .useful-mobile summary::after { grid-column: 3; color: var(--terracotta); content: "+"; font: 500 1.25rem/1 var(--mono); text-align: right; }
  .home-page .useful-mobile details[open] summary::after { content: "−"; }
  .home-page .useful-mobile .useful-number { width: 26px; height: 26px; font-size: .88rem; }
  .home-page .useful-mobile details > div { padding: .15rem 0 .85rem 2.55rem; }
.home-page .useful-mobile ul { display: grid; gap: .28rem; margin: 0; padding-left: 0; color: var(--muted); font-size: .84rem; line-height: 1.35; }
.home-page .useful-mobile li { list-style: none; }
  .home-page .numbers-detail-link { min-height: 44px; margin-top: .55rem; font-size: .82rem; }
  .home-useful-links { gap: 0 .9rem; }

  .home-page .closing { padding: .25rem 0 .5rem; }
  .home-page .closing-grid { grid-template-columns: 1fr; }
  .home-page .closing-block, .home-page .closing-block + .closing-block { padding: .85rem 0; border-top: 1px solid var(--line); border-left: 0; }
  .home-page .closing-block:first-child { border-top: 0; }
  .home-page .profile-block { margin-top: 0; }
  .home-page .closing-block h2 { margin-bottom: .35rem; font-size: 1.18rem; }
  .home-page .closing-block p { margin-bottom: .42rem; font-size: .83rem; line-height: 1.35; }
  .home-page .remote-icons { margin-bottom: .28rem; }
  .home-page .remote-icon { width: 28px; height: 28px; }
  .home-page .remote-lead { font-size: .9rem !important; line-height: 1.2 !important; }
  .home-page .button-link, .home-page .profile-download-link { min-height: 42px; font-size: .76rem; }

  .detail-hero-inner { padding: 1.35rem 0 1.5rem; }
  .breadcrumb { margin-bottom: .9rem; font-size: .64rem; }
  .detail-hero h1, .profile-path-hero h1 { margin-bottom: .7rem; font-size: clamp(2.05rem, 10.5vw, 2.9rem); line-height: .94; }
  .detail-lead { font-size: .98rem; line-height: 1.42; }
  .detail-main { gap: 1.8rem; padding: 1.5rem 0 2.75rem; }
  .detail-content h2 { font-size: 1.65rem; }
  .detail-stats, .detail-stats.detail-stats-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-stat, .detail-stat + .detail-stat { min-width: 0; padding: .9rem .7rem; border-top: 0; border-left: 0; }
  .detail-stat:nth-child(even) { border-left: 1px solid var(--line); }
  .detail-stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .detail-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .detail-stat strong { font-size: clamp(1.8rem, 10vw, 2.6rem); }
  .detail-stat span { font-size: .78rem; }
  .rtd-main .detail-content > section + section { margin-top: 2.7rem; }
  .rtd-priority { display: block; padding: 1rem .9rem; }
  .rtd-priority > .rtd-date-block { margin-bottom: .75rem; }
  .rtd-priority h2 { margin-bottom: .65rem; font-size: 1.65rem; }
  .rtd-date-block time { font-size: 1rem; }
  .rtd-entry { display: block; padding: 1rem 0; }
  .rtd-entry .rtd-date-block { margin-bottom: .62rem; }
  .rtd-entry-body h3 { font-size: 1.22rem; }
  .rtd-strategy { padding: .7rem .75rem; }
  .rtd-strategy p { font-size: .88rem; }
}

@media (max-width: 390px) {
  .person-name { font-size: clamp(3rem, 15.5vw, 4rem); }
  .numbers-evidence-grid { grid-template-columns: 1fr; }
  .numbers-evidence + .numbers-evidence { border-top: 1px solid var(--line); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
