/* 1. Design tokens and baseline */
:root {
  color-scheme: dark;
  --space-950: #07111d;
  --space-900: #081421;
  --space-850: #0b1928;
  --space-800: #102131;
  --text: #eef3f8;
  --muted: #a8b7c8;
  --accent: #8ed8e8;
  --line: #263646;
  --heading-font: "Space Grotesk", "Segoe UI", sans-serif;
  --body-font: "Inter", "Segoe UI", sans-serif;
  --radius: 9px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 30px; }
body { margin: 0; background: var(--space-950); color: var(--text); font-family: var(--body-font); font-size: 15px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
a:hover { color: var(--accent); }
button, summary, a { -webkit-tap-highlight-color: rgb(142 216 232 / 15%); }
button { font: inherit; }
button, summary { touch-action: manipulation; }
::selection { background: #24546a; color: #fff; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; border-radius: 3px; }
p { margin: 0 0 1rem; }
h1, h2, h3, h4 { color: var(--text); }
svg { flex-shrink: 0; }
.site-container { width: min(100% - 112px, 1280px); max-width: 1280px; margin-inline: auto; padding-inline: 0; }
/* Grid fallbacks preserve the layout when the Bootstrap stylesheet is unavailable. */
.row { display: flex; flex-wrap: wrap; }
.row > * { min-width: 0; }
.col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8 { width: 100%; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 16px; padding: 10px 18px; background: var(--text); color: var(--space-950); clip-path: inset(50%); }
.skip-link:focus { clip-path: none; }

/* 2. Full-width identity and restrained orbital geometry */
.profile-header { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(115deg, #0c1c2e 0%, var(--space-900) 60%, #101f30 100%); border-bottom: 1px solid var(--line); }
.orbital-field { position: absolute; z-index: -1; width: 900px; height: 680px; right: -110px; top: 15px; pointer-events: none; opacity: .65; }
.orbital-field svg { width: 100%; height: 100%; stroke: #64849e; stroke-width: .6; stroke-opacity: .3; }
.orbital-field .orbit-point { fill: var(--accent); stroke: none; opacity: .65; }
.topbar { display: flex; align-items: center; justify-content: space-between; min-height: 101px; gap: 28px; border-bottom: 1px solid rgb(168 183 200 / 13%); }
.identity-link { display: inline-flex; align-items: center; gap: 14px; font-family: var(--heading-font); font-size: 14px; line-height: 1.35; text-decoration: none; font-weight: 500; }
.identity-link svg { stroke: var(--accent); stroke-width: 1.1; }
.identity-dot { fill: var(--accent); stroke: var(--space-900); }
.identity-caption { display: block; margin-top: 5px; color: var(--muted); font: 10px/1.4 var(--body-font); text-transform: uppercase; letter-spacing: .16em; }
.nav-links { display: flex; align-items: center; gap: 34px; }
.nav-links a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--muted); font-size: 12px; text-decoration: none; }
.nav-links a:hover, .nav-links a:focus-visible { color: var(--text); text-decoration: underline; }
.nav-links .nav-linkedin { color: var(--accent); }
.hero { --bs-gutter-x: 0; margin: 0; padding-block: 62px 50px; align-items: center; }
.hero-copy { padding: 0; position: relative; z-index: 1; }
.eyebrow { display: flex; align-items: center; gap: 12px; color: var(--accent); font-size: 10px; font-weight: 550; line-height: 1.5; letter-spacing: .16em; text-transform: uppercase; }
.small-rule { display: inline-block; width: 26px; height: 1px; background: var(--accent); }
h1 { margin: 22px 0 23px; font-family: var(--heading-font); font-weight: 500; font-size: clamp(54px, 5.9vw, 84px); line-height: .99; letter-spacing: -.065em; }
h1 > span { color: #a9bed3; }
.professional-title { margin-bottom: 4px; font-family: var(--heading-font); font-size: clamp(18px, 1.7vw, 23px); line-height: 1.4; letter-spacing: -.025em; }
.organization { margin-bottom: 21px; color: var(--muted); font-size: 12px; }
.organization > span { padding-inline: 9px; color: #61778c; }
.introduction { max-width: 575px; margin-bottom: 25px; color: #b7c5d3; font-size: 14px; line-height: 1.85; }
.introduction p:last-child { margin-bottom: 0; }
.contact-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.contact-primary, .contact-secondary { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 45px; font-size: 12px; font-weight: 550; text-decoration: none; }
.contact-primary { padding: 10px 17px; border: 1px solid #a9e2ed; border-radius: 5px; background: #b8e7ef; color: #0b2634; transition: background-color .2s, border-color .2s; }
.contact-primary:hover { color: #071b29; background: #daf6fa; border-color: #daf6fa; }
.contact-primary svg { stroke: currentColor; stroke-width: 1.3; }
.action-arrow { margin-left: 14px; font-size: 17px; }
.contact-secondary { gap: 14px; color: #cfdae4; }
.contact-secondary:hover { text-decoration: underline; }
.contact-details { display: flex; align-items: center; flex-wrap: nowrap; gap: 16px; margin-top: 16px; font-size: 11px; color: var(--muted); white-space: nowrap; }
.contact-details a { display: inline-flex; align-items: center; min-height: 32px; text-decoration: none; }
.contact-details a:hover { text-decoration: underline; }
.contact-separator { width: 3px; height: 3px; border-radius: 50%; background: #688095; }
.portrait-column { display: flex; flex-direction: column; align-items: center; padding: 0 0 0 16px; }
.portrait-frame { position: relative; width: clamp(220px, 21vw, 282px); aspect-ratio: 1; padding: 11px; border: 1px solid rgb(142 216 232 / 22%); border-radius: 50%; }
.portrait { display: block; width: 100%; height: auto; aspect-ratio: 1; border-radius: 50%; object-fit: cover; object-position: 50% 21%; background: #e4e9ed; filter: saturate(.72); }
.portrait-orbit { position: absolute; inset: -22px; border: 1px solid rgb(142 216 232 / 10%); border-radius: 50%; pointer-events: none; }
.portrait-mark { position: absolute; color: #98c5d6; font-family: monospace; font-size: 16px; line-height: 1; }
.portrait-mark-top { top: -29px; left: calc(50% - 5px); }
.portrait-mark-bottom { bottom: -29px; left: calc(50% - 5px); }
.portrait-caption { display: flex; align-items: center; gap: 8px; margin: 47px 0 0; color: #b2c3d2; font-size: 10px; letter-spacing: .025em; white-space: nowrap; }
.portrait-caption > span { width: 5px; height: 5px; border: 1px solid var(--accent); border-radius: 50%; }
.profile-details { border-top: 1px solid rgb(168 183 200 / 15%); }
.profile-details-heading { display: flex; align-items: center; min-height: 100px; margin: 0; padding-block: 25px; color: var(--text); font-family: var(--heading-font); font-size: clamp(32px, 3vw, 40px); font-weight: 400; line-height: 1.2; letter-spacing: -.055em; }
.profile-details-body { --bs-gutter-x: 0; margin: 0; padding: 10px 0 25px; gap: 0; }
.profile-details-body > * { padding: 0 32px 0 0; }
.detail-label { margin-bottom: 12px; color: var(--accent); font-size: 14px; font-weight: 550; text-transform: uppercase; letter-spacing: .08em; }
.skill-list { display: flex; flex-wrap: wrap; gap: 7px; max-width: 550px; padding: 0; margin: 0; list-style: none; }
.skill-list li { padding: 5px 10px; border: 1px solid var(--line); border-radius: 4px; font-size: 14px; color: #c8d5df; }
.language-list { margin: 0; font-size: 14px; }
.language-list > div { display: flex; justify-content: space-between; gap: 20px; max-width: 330px; margin-top: 4px; }
.language-list dt { font-weight: 400; color: #c8d5df; }
.language-list dd { margin: 0; color: var(--muted); }

/* 3. Balanced CV columns and native Bootstrap collapse controls */
.main-content { padding-block: 65px 70px; }
.main-content:focus { outline: none; }
.cv-columns { --bs-gutter-x: 0; margin: 0; gap: 0; }
.cv-section { padding: 0; scroll-margin-top: 28px; }
.education-section { padding-right: 43px; }
.experience-section { padding-left: 43px; border-left: 1px solid #1c2d3d; }
.section-heading { margin-bottom: 26px; }
.section-index { gap: 15px; margin-bottom: 16px; color: #a0b4c7; font-size: 9px; }
.section-index > span { color: var(--accent); letter-spacing: 0; }
.section-heading h2 { margin: 0 0 15px; font-family: var(--heading-font); font-size: clamp(32px, 3vw, 40px); font-weight: 400; letter-spacing: -.055em; line-height: 1.2; }
.heading-period { color: var(--accent); }
.section-description { margin: 0; font-size: 12px; line-height: 1.85; color: var(--muted); }
.accordion { display: grid; gap: 10px; --bs-accordion-bg: transparent; --bs-accordion-color: var(--text); --bs-accordion-border-color: var(--line); }
.accordion-item, .accordion-item:first-of-type, .accordion-item:last-of-type { overflow: clip; border: 1px solid var(--line); border-radius: var(--radius); background: #0b1927; color: var(--text); transition: border-color .2s, background-color .2s; }
.accordion-item:not(:first-of-type) { border-top: 1px solid var(--line); }
.accordion-item:hover { border-color: #425e74; }
.accordion-item:has(.accordion-button:not(.collapsed)) { border-color: #496676; background: #0d1e2d; }
.accordion-header { margin: 0; font-size: inherit; }
.accordion-button, .accordion-button:not(.collapsed), .accordion-item:first-of-type > .accordion-header .accordion-button, .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { display: flex; align-items: center; position: relative; gap: 18px; width: 100%; padding: 21px 22px; border: 0; border-radius: 0; background: transparent; color: var(--text); text-align: left; box-shadow: none; cursor: pointer; overflow-anchor: none; }
.accordion-button:focus { box-shadow: none; }
.accordion-button:focus-visible { outline: 2px solid var(--accent); outline-offset: -4px; border-radius: 7px; background: #122738; }
.entry-summary { display: block; flex: 1; min-width: 0; }
.entry-title { display: block; font-family: var(--heading-font); font-weight: 500; font-size: 16px; line-height: 1.5; letter-spacing: -.02em; overflow-wrap: anywhere; }
.entry-date { display: block; margin-top: 7px; color: #acbfcf; font-size: 11px; line-height: 1.5; letter-spacing: .035em; font-variant-numeric: tabular-nums; }
.accordion-button::after, .accordion-button:not(.collapsed)::after { content: ""; display: block; width: 9px; height: 9px; flex: 0 0 9px; margin-left: auto; margin-right: 3px; background: none; border-right: 1.5px solid #8eb3c4; border-bottom: 1.5px solid #8eb3c4; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.accordion-button:not(.collapsed)::after { transform: rotate(225deg) translate(-2px, -2px); }
.accordion-body { padding: 0 22px 25px; overflow-wrap: anywhere; color: #b9c9d6; font-size: 14px; line-height: 1.85; }
.accordion-body::before { content: ""; display: block; margin-bottom: 21px; border-top: 1px solid #2b4050; }
.accordion-body .entry-organization { margin-bottom: 1px; font-size: 13px; font-weight: 550; color: var(--text); }
.entry-location { margin-bottom: 20px; font-size: 11px; color: #a3b7c8; }
.accordion-body h4 { margin: 22px 0 7px; color: #c8e8ef; font-size: 13px; font-weight: 600; line-height: 1.65; }
.accordion-body > :last-child { margin-bottom: 0; }
.publication-list, .responsibility-list { padding-left: 17px; margin-bottom: 0; }
.publication-list li + li, .responsibility-list li + li { margin-top: 12px; }
.publication-list a { color: #b6dfeb; text-decoration-color: #527888; }
.publication-list a:hover { color: #e3f8fc; text-decoration-color: currentColor; }
.publication-list a > span { white-space: nowrap; }
.responsibility-list li::marker, .publication-list li::marker { color: #7eb1c6; font-size: .8em; }
.accordion-help { display: flex; align-items: center; gap: 8px; margin: 17px 0 0; color: #8fa4b7; font-size: 10px; }
.accordion-help svg { stroke: currentColor; stroke-width: 1; }
.education-orbit { width: 100%; max-width: 460px; margin: 48px auto 0; opacity: .43; pointer-events: none; }
.education-orbit svg { width: 100%; stroke: #527389; stroke-width: .75; }
.education-orbit circle { fill: #86bdcf; stroke: none; }
.collapse:not(.show) { display: none; }
.collapsing { height: 0; overflow: hidden; transition: height .25s ease; }
.no-script-note { padding: 15px; border: 1px solid var(--line); color: var(--muted); }

/* 4. Footer and supplied cursor images, embedded at 32 px for portability. */
.site-footer { border-top: 1px solid #1c2d3d; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 91px; color: #92a6b9; font-size: 10px; }
.cv-download { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.cv-download > span { margin-inline: 8px; color: #567085; }
.footer-actions { display: flex; align-items: center; gap: 27px; }
.footer-actions a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; text-decoration: none; }
.footer-actions a:hover { text-decoration: underline; }
.cursor-toggle { display: none; padding: 8px 0; min-height: 44px; border: 0; background: transparent; color: #92a6b9; font-size: 10px; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.cursor-toggle[aria-pressed="true"] { color: var(--accent); }
@media (hover: hover) and (pointer: fine) {
  body:not(.standard-cursor) { cursor: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAJ5UlEQVR42sWXaXQUVRbH73uvqtOdTmchMQtLNkIISUA0EdCAIQOO6CSOy3SAAyLgEnWOw4w6xzmOWN3j6MwZlQnqqAQ9spmRjqKIIBAhCRJZQrOZhUAWA4EknaQ7vaS3qnp3PhCQEBT94txPdeqceu/3/vfVvf8LcM1Akl+FAiBS+D8EGc7yS0IgkksAGXsCpRlbnTMAAPKrUPj5SyFBRCoh0qqqKgHz8wW8+nAjNjdaGDAGGTt9G7IPI2ZUBvrT92Lez4XAn68aEgmRAgFI/de+tVk1iBk7vf5JexRMe/uYZ8L7DXMBAHLWHBGvt1LVEOj+/U2G+jbX+0fPe/e0mlavx8SbV+Gt98UCAIxQQhoiTlp/tjTzCxemvvJVMGOnB8evqlXT17dgZrXqz9hqLwQAyDmC4g9JbrEgAwCwtvTmNHR4vm3vQzzZ4cXTvRx9b5SjZ/wtX2POYyICXFaIglQlmAnh+ntKVzibOleAQR8QJ00VvZ9sBBoWQVnSeM4HvSEkPPyz9C39xdZcIoN0VToQCSEEi4uJerJ94HGtRrdfEITsAUe/Yh9wqm6HXWlaslDp+m3RrT5rWQIhhF+CoND4NgIAMQy0nFYaD3n6DpwMQds5rr01H3DQBdzWRUGr5XzAQbGrY3NmlbIUzES5pBoObY6IkXuOd23ShYa9w1VFOzjo4ZRSQRQYQ45MM+AR/CUlg51lGzkggkmSrvjlJImC2czjZyzL9xnGfU5Ts8LDZ+apGq3AeHszCGOTQDl/FmliGro7+2m3takEPjSuNZoqRIvJqI4vqRij0bJds3IzM3LjmHLj2AgmagQiUgqMElARQVW56geRXXC6cx7IHXMUESkhhH9/GfIlAWrMytgc4zTXuLztAX1sjKDXqoJImKbVCmpiJgSITg26fCyW9MD58jYtwJsBAADIXpU7ffnsOrXxgDJAIoRFd94EOWP0wIGCyAjIqqqIoRHCmVMNG/44v3KZxZJFiouL1ZFFZwgiJbtoiiN9zpeBsLjRQl+7qkYmMOayIYRFEb8fZNPozeufX3T0wht7l+2aNHv5P46ftxs2tstTHIM+OjfUSzZ/cw6eXDAHbkuJAKc3qIZHRLL+7s4T5a8/PaO6ujoAAEAIQQAANgygo4ZDviQM1JV1jRI02ymhhXL8xFGcCDIxRLEQtw2iu6yPbPns05funhCelpD/10+TsqYlZycmJNwWrtBen0i22EUoGotgbR0AjU7HsxNjiNM54DpVV3tH+br/2ABMtKDg4uYjAa6AcB8u640VdFtlffQ8HpEQ5xvw+OTvmh93HlnzAQKEzH320IvpU6ZN7LzQJXsDMhkVE0PuSo+C3h431PBIwKZDymBIDJ88Lkpoaz658OVnHvxGkqoEszlF/Wm1yWhkAAAZiRkJhl+/su/FFb9pQIxJAADY8NEXZWftiCda+pT99T14sKkXj5/pxxOtDjzZbMP0Fyrxzg3NOF2qwcWvbTdfvOdVwvUbz/D3CCBRAmYOAMB3jL4JZOcT2zwv2ZNnPvkc5T7V7ZNZ14APUmINQACAcwSNQLH80NngKwdtr8O5jqOw5ZFPJAmp2Uzw4prDYwSVxYKseIGgAgHA+xuJtS1HbCssJORu87H3/v7crhuL7v2YgarIKhdCNQLoQwQIKipoRQE0AuEOP+eZ8XrA0rkmQoh86Xf7IaFHABQXk8s5IhUVKgCoYLVC/t3Pxq/L/FPpJJdBvcNto8lRocA0IowdpQeOCIrKudOvgJtrBI+qe5MQIudLH2gJgcCPZVq4spabTEBm39XxtzFB1724d28g+rOtZ6J7evbCzDmfEturfXFtx4Q2XTY7zEfxZQE7JGs4cEEEBlwFJjKnD2V2YXt5iWZ5X++eTUkr5yzukKSl1GweKf33veCKchpIPRw1SOjzNGtyFvvDipsH1743v3VWwRrl+OEGbJ9asrYgbt/rySpQrqhlShx2gwYCvoAcpFrmDyo9CL6iRQuXP7hKszpmV2jh6fFbfY+ZzYTnrEHxuu4HEUlFBVAlru1Ibtro7IOnzmNqUiy1Kyo6St8SFuzeBd3paX7TtDu0U27Pg3ftOoj2ONQXpkazPrfvwNG+cQ+UPkC6Mss7HvKMTlwd4vMZNGE6GjjbsbhlUfKHOWtQtJYQ+ZoKAABUV1ez4mKiun1ymVelwkmnQtwOF5usp4JnyaO4dentauK5Gu3C8nWc9Hefijp2uM9a8y2ra2gtn9Gc1/Dv6URI2IaPKo7+dXrb+QhBpwO5vYUTh33jxK/kImsJka9lasgwUyKZCGQZhazRYXXH/dophQlEDQ0RmQYYpISUwZa39yn3bXYyXSSUkaL1f0nrOZTR8u6Cg1gblvFM5aKKDfErM+PTosF7rI7QUD1BOcg1mTcDMCJz1+C85vuiqvOrUKgpIMoIBQAImkwmMBdnB/3IlvQ5B71MEJlBJLyXI6ysngY1U14W1s+bB66e3hK0GFNa3l1wcPXq1SEkz3Nq1b7xPUpzE5WJqLKISCJ/awUhZSJF5ACyEkLDDZ+nmCtvqSkgClxRlIZ5N0IIR0SyZNa4E2fs7spBb9Bf6yB0U30f5mVMhOdnJoH24eVq4/TZYOvpeRoQiXbDBm6xGNm03o+X4mnr6T7LJyL3B1S9cRmozScB/F4KmhCutjQYNKkp26fWYyaYCxSQLvoJdrU3NJsJwmkM/+7rthvsCj2nBNWJv88OZylRIniDCkmLMUDgxqlErKmJKn1i2Tu53d1BqMiklbZKZyLgDg/ofufikRGq26mSiGiqtp0CtHURFZiq6CLDzm+rLYSpC7arr6XbAYAOA7BAI6uARsSvdi/K7agvXe2M2Js2McHVjfqsU06V1Pf7labWbpKWlUqY3xcq7N2x/p+UOhqwgZiNRmr/+gt7TOy43QrXzHc7Zb23o5PLHa3E33oGXD6RDjS0+CkKMaEXjtt8i2fvg9kmdjkFCBIthgoVc+Ymgs7w/uz+07XZocqXZa7Il7d1eub5ff6mlNgYITsphtKAH/nMWaI7JpUB5wCSBFBRoUK+JHQe2FQfdu5goS7QP6gJDBBFG8kDo5KB9rTLWq1Gq+08/FF83VulF11YgTqsGSEAAaOReptsRSd4yL7bGnfbKQBwAMCm/YZt/WP+zLQhyyIjI8ZyR781buWreRO+fCNICIHLjWbI1CROvmeuc8KvdgQixjJArmgUv0bXfuC9ntp3Hh3e8H60JVsYSEiNQ3YbAOCpjQfDP/ymb5q0s37UpQI24rt8SQAAiJ/+8P3h89eg4aH/4g0FT782NANQ+NEJCQDQaGRXDw+ISCyI7CfPOkMQcXmPL4+9/akXLx/oepv/lJnPYrGwa5786pAkes3nXzSMRnZJjWvF/wB7FvnSFxnt/gAAAABJRU5ErkJggg==") 16 16, default; }
  body:not(.standard-cursor) a { cursor: url("data:image/png;base64,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") 26 4, pointer; }
  body:not(.standard-cursor) :is(p, h1, h2, .accordion-body, .entry-summary, .language-list, .skill-list, .accordion-button, .accordion-button *) { cursor: inherit !important; }
  .standard-cursor :is(p, h1, h2, .accordion-body, .entry-summary, .language-list, .skill-list) { cursor: text; }
  .accordion-button, .accordion-button * { cursor: pointer; }
  input, textarea, [contenteditable="true"] { cursor: text; }
  .cursor-toggle { display: inline-block; }
}

/* 5. Responsive layouts */
@media (min-width: 992px) {
  .col-lg-4 { width: 33.333333%; }
  .col-lg-5 { width: 41.666667%; }
  .col-lg-6 { width: 50%; }
  .col-lg-7 { width: 58.333333%; }
  .col-lg-8 { width: 66.666667%; }
  .column-inner { position: sticky; top: 30px; }
}
@media (max-width: 1199.98px) {
  .site-container { width: calc(100% - 80px); }
  .education-section { padding-right: 28px; }
  .experience-section { padding-left: 28px; }
  .hero-copy { padding-right: 25px; }
  .portrait-frame { width: 220px; }
  .portrait-caption { font-size: 9px; }
}
@media (max-width: 991.98px) {
  .site-container { width: calc(100% - 64px); }
  .hero { position: relative; padding-block: 48px 35px; }
  .hero-copy { padding-right: 190px; }
  .hero h1 { font-size: 65px; }
  .professional-title { max-width: 390px; font-size: 21px; }
  .portrait-column { position: absolute; top: 90px; right: 0; width: 150px; padding: 0; }
  .portrait-frame { width: 150px; padding: 7px; }
  .portrait-orbit { inset: -14px; }
  .portrait-mark-top { top: -21px; }
  .portrait-mark-bottom { bottom: -21px; }
  .portrait-caption { display: none; }
  .introduction { margin-top: 22px; }
  .profile-details-body { gap: 23px; }
  .profile-details-heading { font-size: 36px; }
  .main-content { padding-block: 45px 50px; }
  .education-section, .experience-section { padding: 0; border: 0; }
  .education-section { margin-bottom: 43px; }
  .experience-section { padding-top: 37px; border-top: 1px solid var(--line); }
  .section-heading h2 { font-size: 36px; }
  .section-description br { display: none; }
  .education-orbit { display: none; }
  .section-heading { margin-bottom: 22px; }
  .accordion-button, .accordion-button:not(.collapsed) { padding: 20px 22px; }
}
@media (max-width: 649.98px) {
  .site-container { width: calc(100% - 40px); }
  .topbar { min-height: 92px; align-items: center; gap: 15px; }
  .identity-link { font-size: 11px; gap: 9px; }
  .identity-link svg { width: 24px; height: 24px; }
  .identity-caption { font-size: 8px; letter-spacing: .1em; }
  .nav-links { gap: 14px; }
  .nav-links a { font-size: 10px; }
  .nav-links .nav-linkedin { display: none; }
  .hero { padding-top: 31px; }
  .hero-copy { padding: 0; }
  .eyebrow { font-size: 8px; gap: 9px; letter-spacing: .12em; }
  .small-rule { width: 17px; }
  .hero h1 { max-width: calc(100% - 75px); margin-block: 28px 25px; font-size: clamp(40px, 9.8vw, 62px); letter-spacing: -.06em; line-height: 1.03; }
  .portrait-column { top: 80px; right: 0; width: 79px; }
  .portrait-frame { width: 79px; padding: 4px; }
  .portrait-orbit { inset: -7px; }
  .portrait-mark { font-size: 12px; }
  .portrait-mark-top { top: -13px; }
  .portrait-mark-bottom { bottom: -13px; }
  .professional-title { font-size: 18px; }
  .organization { font-size: 10px; margin-top: 8px; max-width: 320px; line-height: 1.9; }
  .organization > span { padding-inline: 5px; }
  .introduction { font-size: 12px; line-height: 1.9; margin-block: 20px 22px; }
  .contact-actions { gap: 20px; }
  .contact-primary, .contact-secondary { font-size: 11px; }
  .contact-primary { padding-inline: 12px; }
  .action-arrow { margin-left: 6px; }
  .contact-details { gap: 9px; font-size: 10px; margin-top: 13px; }
  .profile-details-heading { font-size: 33px; min-height: 90px; }
  .profile-details-body > * { padding: 0; }
  .main-content { padding-top: 34px; }
  .section-index { font-size: 8px; margin-bottom: 12px; }
  .section-heading h2 { font-size: 33px; margin-bottom: 12px; }
  .section-description { font-size: 11px; }
  .entry-title { font-size: 14px; }
  .entry-date { font-size: 11px; }
  .accordion-button, .accordion-button:not(.collapsed) { padding: 18px 17px; gap: 15px; }
  .accordion-body { padding-inline: 17px; font-size: 13px; }
  .accordion-help { font-size: 9px; }
  .footer-inner { flex-wrap: wrap; gap: 4px; padding-block: 18px; min-height: 100px; font-size: 9px; }
  .footer-actions { justify-content: space-between; width: 100%; }
  .cursor-toggle { font-size: 9px; }
  .orbital-field { right: -400px; opacity: .4; }
}
@media (max-width: 359.98px) {
  .site-container { width: calc(100% - 32px); }
  .identity-link svg { display: none; }
  .nav-links { gap: 12px; }
  .hero h1 { font-size: 40px; }
  .portrait-column { width: 65px; }
  .portrait-frame { width: 65px; }
  .contact-actions { gap: 14px; }
  .contact-primary { gap: 7px; }
  .contact-details { column-gap: 8px; font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media (forced-colors: active) {
  .accordion-item { border: 1px solid CanvasText; }
  .accordion-button::after { border-color: ButtonText; }
  .portrait { filter: none; }
  :focus-visible { outline-color: Highlight; }
}
@media print {
  :root { color-scheme: light; }
  body, .profile-header, .accordion-item, .accordion-item:has(.accordion-button:not(.collapsed)) { background: #fff; color: #15212e; }
  h1, h1 > span, h2, h3, h4, p, .accordion-button, .accordion-button:not(.collapsed), .accordion-body, .entry-title, .entry-date, .accordion-body .entry-organization, .publication-list a, .professional-title, .eyebrow, .organization, .introduction, .contact-details { color: #15212e; }
  .site-container { width: 100%; }
  .topbar, .orbital-field, .portrait-orbit, .portrait-mark, .portrait-caption, .profile-details, .contact-actions, .accordion-help, .education-orbit, .site-footer, .skip-link { display: none; }
  .hero { padding: 0 0 25px; }
  .hero-copy { width: 80%; padding-right: 20px; }
  .hero h1 { margin: 0 0 15px; font-size: 40px; }
  .portrait-column { position: static; width: 20%; padding: 10px 0; }
  .portrait-frame { width: 100px; padding: 0; border: none; }
  .professional-title { font-size: 18px; }
  .introduction { max-width: none; font-size: 11px; }
  .main-content { padding: 25px 0 0; }
  .cv-section { width: 100%; padding: 0; margin: 0 0 28px; border: 0; }
  .column-inner { position: static; }
  .section-heading { margin-bottom: 15px; }
  .section-heading h2 { font-size: 26px; }
  .section-description, .section-index { display: none; }
  .accordion-item { break-inside: avoid; border: 1px solid #aab6c0; }
  .accordion-collapse.collapse, .accordion-collapse.collapsing { display: block !important; height: auto !important; }
  .accordion-button::after { display: none; }
  .accordion-button, .accordion-button:not(.collapsed) { padding: 14px 18px; }
  .accordion-body { font-size: 10px; line-height: 1.6; padding: 0 18px 14px; }
  .accordion-body::before { margin-bottom: 12px; }
  .accordion-body h4 { color: #15212e; margin-top: 12px; }
  .entry-location { color: #415366; margin-bottom: 12px; }
  .entry-date { font-size: 10px; }
  a { text-decoration: none; }
}
