@import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Noto+Sans:wght@400;600;700&family=Source+Sans+3:wght@400;600;700&display=swap";:root{--color-primary:#0f2742;--color-secondary:#123b67;--color-accent:#1f5f96;--color-highlight:#2f74b5;--color-text:#203243;--color-text-light:#4a5f73;--color-text-muted:#7f93a7;--color-bg:#f3f7fb;--color-bg-alt:#fff;--color-border:#d5e0ea;--font-primary:"Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1.06rem;--font-size-md:1.18rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-size-4xl:3rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--max-width:1040px;--border-radius:8px;--border-radius-lg:12px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 30px #0000001f;--transition-fast:.15s ease;--transition-base:.3s ease}html[data-theme=protanopia]{--color-primary:#1b3554;--color-secondary:#2a5c89;--color-accent:#307bb8;--color-highlight:#3d8fd3;--color-text:#1f2e3f;--color-text-light:#445a71;--color-text-muted:#6f8499;--color-bg:#f2f7fc;--color-bg-alt:#fff;--color-border:#cfdceb}html[data-theme=deuteranopia]{--color-primary:#22324e;--color-secondary:#47608e;--color-accent:#5b77ab;--color-highlight:#356db2;--color-text:#202f43;--color-text-light:#4b5f7d;--color-text-muted:#7487a3;--color-bg:#f5f8fc;--color-bg-alt:#fff;--color-border:#d8e1ed}html[data-theme=tritanopia]{--color-primary:#2f2b4d;--color-secondary:#3d4d7e;--color-accent:#55639a;--color-highlight:#3d6fb5;--color-text:#2a2f48;--color-text-light:#545f7b;--color-text-muted:#8089a3;--color-bg:#f6f7fb;--color-bg-alt:#fff;--color-border:#daddec}html[data-theme=contrast]{--color-primary:#000;--color-secondary:#0f2742;--color-accent:#003b8e;--color-highlight:#0056cc;--color-text:#000;--color-text-light:#202020;--color-text-muted:#333;--color-bg:#fff;--color-bg-alt:#fff;--color-border:#111}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes flipInX{0%{opacity:0;transform:perspective(400px)rotateX(90deg)}to{opacity:1;transform:perspective(400px)rotateX(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.section,.cv-header{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.section.is-visible,.cv-header.is-visible{opacity:1;transform:translateY(0)}.header__name-btn{--border-right:6px;--text-stroke-color:#fff9;--animation-color:#37ff8b;letter-spacing:3px;font-size:inherit;text-transform:uppercase;color:#0000;-webkit-text-stroke:1px var(--text-stroke-color);cursor:default;font-family:inherit;text-decoration:none;display:inline-block;position:relative}.header__name-btn .hover-text{box-sizing:border-box;color:var(--animation-color);border-right:var(--border-right) solid var(--animation-color);-webkit-text-stroke:1px var(--animation-color);white-space:nowrap;width:0%;transition:all .5s;position:absolute;inset:0;overflow:hidden}.header__name-btn:hover .hover-text{width:100%;filter:drop-shadow(0 0 23px var(--animation-color))}@media (prefers-reduced-motion:reduce){.section,.cv-header{opacity:1;transition:none;transform:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--root-font-size,16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);letter-spacing:.006em;line-height:1.82}a{color:var(--color-highlight);transition:color var(--transition-fast);text-decoration:none}a:hover{color:#245f98;text-decoration:underline}h1,h2,h3,h4,h5,h6{color:var(--color-primary);letter-spacing:-.01em;font-weight:700;line-height:1.25}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-md);max-width:75ch}ul{list-style:none}img{max-width:100%;height:auto}::selection{background:var(--color-highlight);color:#fff}html[data-font=source]{--font-primary:"Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}html[data-font=atkinson]{--font-primary:"Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}html[data-font=noto]{--font-primary:"Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}@media print{body{color:#000;background:#fff;font-size:11pt}.animate--visible{opacity:1!important;animation:none!important}}#app{max-width:var(--max-width);padding:0 var(--spacing-lg) var(--spacing-xl);margin:0 auto}.absolute{position:absolute}.inline-block{display:inline-block}.page-loader{z-index:2000;background:radial-gradient(circle at 30% 20%,#2f74b5,#0f2742 70%);place-items:center;transition:opacity .35s;display:grid;position:fixed;inset:0}.page-loader.is-hidden{opacity:0;pointer-events:none}.loader{filter:drop-shadow(0 8px 28px #0000004d);align-items:center;margin:.25em 0;display:flex}.w-2{width:.35em}.dash{animation:2s ease-in-out infinite dashArray,2s linear infinite dashOffset}.spin{transform-origin:50%;animation:2s ease-in-out infinite spinDashArray,8s ease-in-out infinite spin,2s linear infinite dashOffset}@keyframes dashArray{0%{stroke-dasharray:0 1 359 0}50%{stroke-dasharray:0 359 1 0}to{stroke-dasharray:359 1 0 0}}@keyframes spinDashArray{0%{stroke-dasharray:270 90}50%{stroke-dasharray:0 360}to{stroke-dasharray:270 90}}@keyframes dashOffset{0%{stroke-dashoffset:365px}to{stroke-dashoffset:5px}}@keyframes spin{0%{rotate:0deg}12.5%,25%{rotate:270deg}37.5%,50%{rotate:540deg}62.5%,75%{rotate:810deg}87.5%,to{rotate:1080deg}}.site-toolbar{z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c2238eb;border-bottom:1px solid #ffffff24;position:sticky;top:0}.site-toolbar__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;max-width:1240px;margin:0 auto;padding:.55rem 1rem;display:flex}.site-toolbar__group{align-items:center;gap:.6rem;display:flex}.a11y-toggle{color:#fff;cursor:pointer;background:#164a7d;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:.4rem;padding:.58rem 1rem;font-weight:700;display:inline-flex}.a11y-toggle .btn-icon{align-items:center;display:none}.a11y-toggle .btn-text{display:inline}.reading-fab__label{color:#f2f9ff;letter-spacing:.02em;font-size:.82rem;font-weight:700}.download-button{cursor:pointer;background-color:#209978;border:1px solid #17795e;align-items:center;width:164px;height:40px;text-decoration:none;display:flex;position:relative;overflow:hidden}.download-button,.download-button__icon,.download-button__text{transition:all .3s}.download-button .download-button__text{color:#fff;font-size:.9rem;font-weight:700;transform:translate(16px)}.download-button .download-button__icon{background-color:#17795e;justify-content:center;align-items:center;width:39px;height:100%;display:flex;position:absolute;transform:translate(122px)}.download-button .download-button__svg{fill:#fff;width:20px}.download-button:hover{background:#17795e}.download-button:hover .download-button__text{color:#0000}.download-button:hover .download-button__icon{width:162px;transform:translate(0)}.download-button:active .download-button__icon{background-color:#146c54}.download-button:active{border:1px solid #146c54}.toggle-switch{cursor:pointer;width:80px;height:40px;display:inline-block;position:relative}.toggle-switch input[type=checkbox]{display:none}.toggle-switch-background{background-color:#ddd;border-radius:20px;width:100%;height:100%;transition:background-color .3s ease-in-out;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 2px #ccc}.toggle-switch-handle{background-color:#fff;border-radius:50%;width:30px;height:30px;transition:transform .3s ease-in-out;position:absolute;top:5px;left:5px;box-shadow:0 2px 5px #0003}.toggle-switch input[type=checkbox]:checked+.toggle-switch-background{background-color:#05c46b;box-shadow:inset 0 0 0 2px #04b360}.toggle-switch input[type=checkbox]:checked+.toggle-switch-background .toggle-switch-handle{transform:translate(40px);box-shadow:0 2px 5px #0003,0 0 0 3px #05c46b}.a11y-panel{z-index:1000;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);width:min(360px,100vw - 2rem);box-shadow:var(--shadow-lg);padding:1rem;position:fixed;bottom:4.2rem;right:1rem}.ai-review-panel{z-index:1000;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);width:min(520px,100vw - 2rem);max-height:76vh;box-shadow:var(--shadow-lg);grid-template-rows:auto auto 1fr;display:grid;position:fixed;bottom:4.2rem;right:1rem;overflow:hidden}.ai-review-panel__head{border-bottom:1px solid var(--color-border);align-items:center;gap:.4rem;padding:.75rem .85rem;display:flex}.ai-review-panel__head h2{margin:0 auto 0 0;font-size:1rem}.ai-review-panel__head button{border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;background:#fff;border-radius:8px;padding:.35rem .55rem;font-weight:700}.ai-review-panel__status{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin:0;padding:.45rem .85rem;font-size:.78rem}.ai-review-list{margin:0;padding:.7rem;list-style:none;overflow:auto}.ai-review-item{border:1px solid var(--color-border);background:#fff;border-radius:12px;margin-bottom:.65rem;padding:.65rem}.ai-review-item p{margin:.35rem 0;font-size:.85rem;line-height:1.45}.ai-review-item__meta{color:var(--color-text-muted);font-size:.74rem}.ai-review-item__controls{gap:.45rem;margin:.45rem 0;display:flex}.ai-review-item__controls select,.ai-review-item__controls button,.ai-review-item textarea{border:1px solid var(--color-border);border-radius:8px;padding:.35rem .45rem;font-size:.8rem}.ai-review-item__controls button{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary);cursor:pointer;font-weight:700}.ai-review-item textarea{resize:vertical;width:100%;margin-top:.35rem}.a11y-panel h2{font-size:var(--font-size-lg);margin-bottom:.75rem}.a11y-group{margin-bottom:.85rem}.a11y-group label{margin-bottom:.35rem;font-weight:600;display:block}.a11y-group input[type=range],.a11y-group select,.a11y-group button{width:100%}.a11y-group select,.a11y-group button{border:1px solid var(--color-border);background:#fff;border-radius:.5rem;min-height:2.25rem;padding:.35rem .6rem}.a11y-group button{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary);font-weight:700}.section{margin-bottom:var(--spacing-3xl);padding:var(--spacing-2xl) 0;border-bottom:1px solid var(--color-border);scroll-margin-top:72px}.section:last-of-type{border-bottom:none}.section__title{font-size:var(--font-size-2xl);color:var(--color-primary);margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-sm);align-items:center;gap:.5rem;display:inline-flex;position:relative}.section__title:after{content:"";background:var(--color-highlight);border-radius:2px;width:60px;height:3px;position:absolute;bottom:0;left:0}.cv-header{width:auto;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:var(--spacing-3xl);padding:4.5em var(--spacing-xl);color:#ffffffbf;background-color:#2f74b5;background-image:linear-gradient(135deg,#2f74b5 0%,#1f5f96 48%,#123b67 100%),url(/images/overlay.png),url(/images/pattern-size1.svg);background-position:50%,0 0,50%;background-size:cover,auto,cover;background-attachment:fixed,fixed,fixed;justify-content:center;align-items:center;gap:5em;min-height:84vh;display:flex}.cv-header .content{text-align:right;max-width:480px}.header__name{margin:0 0 .25em;font-size:3.25em;font-weight:700;line-height:1.1}.header__title{color:#ffffffc7;margin:0 0 .5em;font-size:1.2em;line-height:1.4}.header__role{color:#fff;background:#0f274247;border:1px solid #ffffff59;border-radius:4px;margin:0 0 1.25em;padding:.3em .8em;font-size:1em;font-weight:700;display:inline-block}.header__vision{color:#fffffffa;text-wrap:pretty;font-size:1.02em;font-style:normal;font-weight:600;line-height:1.82}.header__vision p{margin:0}.header__vision p+p{margin-top:.85rem}.header__vision strong{color:#fff;text-underline-offset:2px;font-weight:800;-webkit-text-decoration:underline #ffffff73;text-decoration:underline #ffffff73}.phone-canvas{flex-shrink:0;width:300px;height:518px;position:relative}.phone-canvas__el{width:100%;height:100%;display:block}.phone-canvas__source{display:none}.phone-canvas__screen-call{color:#fff;opacity:0;pointer-events:none;width:84%;height:42px;transition:opacity var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:linear-gradient(#2ecf6d,#18a957);border:1px solid #ffffff8c;border-radius:12px;align-items:center;gap:10px;text-decoration:none;display:flex;position:absolute;bottom:19%;left:8%;overflow:hidden;transform:translateY(10px);box-shadow:0 6px 18px #00000047}.phone-canvas:hover .phone-canvas__screen-call,.phone-canvas:focus-within .phone-canvas__screen-call{opacity:1;pointer-events:auto;transform:translateY(0)}.phone-canvas__screen-call:hover{color:#fff;text-decoration:none;box-shadow:0 8px 20px #00000057}.phone-canvas__screen-call-icon{background:#0000001f;border-radius:999px;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;font-size:18px;display:inline-flex}.phone-canvas__screen-call-text{letter-spacing:.02em;white-space:nowrap;color:#fff;padding-right:8px;font-size:13px;font-weight:700;text-decoration:none}.phone-canvas__screen-call:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=980px){.cv-header{gap:3em}}@media (width<=736px){.cv-header{padding:4em var(--spacing-lg);background-attachment:scroll,scroll,scroll;flex-direction:column-reverse;min-height:auto}.cv-header .content{text-align:center;max-width:100%}.header__name{font-size:2em}.header__title{font-size:1em}.phone-canvas{width:230px;height:397px;margin-bottom:2em}.phone-canvas__screen-call{height:38px}.phone-canvas__screen-call-icon{width:38px;min-width:38px;height:38px;font-size:16px}.phone-canvas__screen-call-text{font-size:12px}}.about__text{font-size:var(--font-size-md);color:var(--color-text-light);max-width:78ch;line-height:1.92}.about__list{max-width:760px;color:var(--color-text-light);margin:.5rem 0 0;padding-left:1.25rem;list-style:outside}.about__list li{font-size:var(--font-size-base);line-height:1.9}.about__hl-degree{color:#0f2742;font-weight:700}.about__hl-university{color:#1f5f96;font-weight:600}.about__hl-location{color:#4a5f73;font-style:italic}.tooltip-container{--background:#123b67;cursor:pointer;border:1px solid #0000;align-items:center;padding:0 .08em;transition:all .2s;display:inline-flex;position:relative}.tooltip{opacity:0;pointer-events:none;color:#fff;background:var(--background);z-index:25;border-radius:.35em;min-width:210px;max-width:300px;padding:.42em .66em;font-size:.82rem;line-height:1.45;transition:all .3s;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #00000038}.tooltip:before{content:"";background:var(--background);width:.55em;height:.55em;position:absolute;bottom:-.18em;left:50%;transform:translate(-50%)rotate(45deg)}.tooltip-container:hover .tooltip{opacity:1;visibility:visible;pointer-events:auto;top:-150%}.semantic-token .text{border-bottom:2px solid var(--background);line-height:1.1;animation:1.25s ease-in-out infinite semantic-bounce}.semantic-token:hover .text{animation:none}.semantic-strong{color:var(--color-primary);--background:#0f2742;font-weight:700}.semantic-soft{color:var(--color-secondary);--background:#1f5f96;font-weight:600}@keyframes semantic-bounce{50%{opacity:.82}75%{transform:rotate(1deg)}to{opacity:1}}html[data-reading=on] .cv-header{min-height:auto;padding:1.5rem var(--spacing-xl);margin-bottom:var(--spacing-xl);background-attachment:scroll,scroll,scroll}html[data-reading=on] .phone-canvas{display:none}html[data-reading=on] #app{max-width:760px}html[data-reading=on] .section{margin-bottom:1.6rem;padding:1.6rem 0}html[data-reading=on] .card,html[data-reading=on] .experience__card,html[data-reading=on] .contact-card .bg{box-shadow:none}@media (width<=736px){.site-toolbar__inner{padding:.55rem .7rem}}@media (width<=768px){.a11y-toggle .btn-text{display:none}.a11y-toggle .btn-icon{display:flex}.a11y-toggle{padding:.5rem .65rem}.reading-fab__label{display:none}.download-button{width:40px}.download-button .download-button__text{display:none}.download-button .download-button__icon{width:40px;height:100%;position:relative;transform:none}.download-button:hover .download-button__icon{width:40px;transform:none}}.chatBtn{cursor:pointer;z-index:1100;background-color:#10b981;background-image:linear-gradient(147deg,#17d992,#0ea5e9,#17d992);background-position:0;background-size:300%;border:none;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;transition:background-position .8s;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 20px #0003}.chatBtn:hover{background-position:100%}.chatBtn .tooltip{opacity:0;color:#fff;pointer-events:none;background:#0f2742;border-radius:6px;min-width:72px;padding:4px 8px;font-size:.75rem;transition:opacity .2s;position:absolute;top:-35px;left:50%;transform:translate(-50%)}.chatBtn:hover .tooltip{opacity:1}.cv-chat{border:1px solid var(--color-border);width:min(360px,100vw - 2rem);box-shadow:var(--shadow-lg);z-index:1100;background:#fff;border-radius:14px;position:fixed;bottom:4.8rem;right:1rem;overflow:hidden}.cv-chat__header{border-bottom:1px solid var(--color-border);background:#f6f9fd;justify-content:space-between;align-items:center;padding:.7rem .9rem;display:flex}.cv-chat__title{color:var(--color-primary);font-weight:700}.cv-chat__close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:0;font-weight:700}.cv-chat__hint{color:var(--color-text-muted);margin:0;padding:.7rem .9rem 0;font-size:.79rem}.cv-chat__lead{gap:.45rem;padding:.7rem .9rem;display:grid}.cv-chat__lead input,.cv-chat__composer input{border:1px solid var(--color-border);border-radius:8px;padding:.55rem .65rem;font-size:.88rem}.cv-chat__messages{max-height:230px;margin:0;padding:.25rem .9rem;list-style:none;overflow-y:auto}.cv-chat__msg{flex-direction:column;margin:.45rem 0;display:flex}.cv-chat__msg--user{align-items:flex-end}.cv-chat__msg--bot{align-items:flex-start}.cv-chat__time{color:#6b7f92;margin-bottom:.12rem;font-size:.7rem}.cv-chat__bubble{white-space:pre-wrap;color:#16324f;background:#eef4fb;border-radius:10px;max-width:92%;padding:.45rem .65rem;font-size:.86rem;line-height:1.45}.cv-chat__msg--user .cv-chat__bubble{color:#fff;background:#1f5f96}.cv-chat__bubble--warning{color:#8a4b00;background:#fff7e8}.cv-chat__bubble--loading{color:#5b21b6;background:#ede9fe}.cv-chat__loading-legend{color:#a1a1aa;margin-top:.25rem;padding:0 .65rem;font-size:.72rem}.cv-chat__composer{border-top:1px solid var(--color-border);gap:.45rem;padding:.7rem .9rem;display:flex}.cv-chat__composer button{background:var(--color-secondary);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:0 .8rem;font-weight:700}.experience__timeline{padding-left:var(--spacing-xl);position:relative}.experience__timeline:before{content:"";background:var(--color-border);width:2px;position:absolute;top:0;bottom:0;left:7px}.experience__item{margin-bottom:var(--spacing-2xl);position:relative}.experience__dot{left:calc(-1 * var(--spacing-xl) + 2px);background:var(--color-highlight);border:2px solid var(--color-bg);width:12px;height:12px;box-shadow:0 0 0 2px var(--color-highlight);border-radius:50%;position:absolute;top:6px}.experience__card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.experience__card:hover{box-shadow:var(--shadow-md)}.experience__role{font-size:var(--font-size-lg);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.experience__meta{gap:var(--spacing-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-md);flex-wrap:wrap;font-size:.95rem;display:flex}.experience__company{color:var(--color-highlight);font-weight:600}.experience__highlights{margin:0;padding:0;list-style:none}.experience__highlights li{padding-left:var(--spacing-md);color:var(--color-text-light);margin-bottom:.52rem;font-size:1rem;line-height:1.78;position:relative}.experience__highlights li:before{content:"›";color:var(--color-highlight);font-weight:700;position:absolute;left:0}.experience__skills-card{border:1px dashed var(--color-border);background:#f8fbff;border-radius:10px;margin-top:.9rem}.experience__skills-summary{cursor:pointer;color:var(--color-secondary);padding:.7rem .85rem;font-weight:700;list-style:none}.experience__skills-summary::-webkit-details-marker{display:none}.experience__skills-summary:before{content:"▸";color:var(--color-highlight);margin-right:.45rem}.experience__skills-card[open] .experience__skills-summary:before{content:"▾"}.experience__skills-content{border-top:1px dashed var(--color-border);padding:.75rem .85rem .85rem}.experience__skills-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:.2rem 0 .45rem;font-size:.86rem}.experience__skills-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:.55rem;display:flex}.experience__skill-tag{color:#144a84;background:#dfeeff;border:1px solid #bad8ff;border-radius:999px;padding:.22rem .58rem;font-size:.84rem;font-weight:600}.experience__skill-tag--soft{color:#30485f;background:#eef2f7;border-color:#d7e1ea}.skills__group{margin-bottom:var(--spacing-2xl)}.skills__subtitle{font-size:var(--font-size-base);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--spacing-md)}.skills__grid{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.badge{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-family:var(--font-mono);transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:999px;font-weight:500;display:inline-block}.badge:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.badge--technical{background:var(--color-accent);color:#fff}.badge--technical-split{align-items:center;gap:.45rem;padding-right:.35rem;display:inline-flex}.badge--technical-split .badge__name{font-weight:600}.badge--technical-split .badge__years{letter-spacing:.01em;background:#fff3;border:1px solid #ffffff47;border-radius:999px;align-items:center;padding:.05rem .45rem;font-size:.76rem;font-weight:700;display:inline-flex}.badge--competency{background:var(--color-bg-alt);color:var(--color-primary);border:1px solid var(--color-border)}.education__grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.conferences__list,.articles__list{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.projects__grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.card{background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-xl) var(--spacing-lg);z-index:0;box-shadow:var(--shadow-sm);display:block;position:relative;overflow:hidden}.card:before{content:"";z-index:-1;background:var(--color-primary);transform-origin:50%;border-radius:50%;width:32px;height:32px;transition:transform .4s ease-out;position:absolute;top:-16px;right:-16px;transform:scale(1)}.card:hover:before{transform:scale(30)}.card-title{font-size:var(--font-size-base);color:var(--color-primary);margin:0 0 var(--spacing-sm);font-weight:700;line-height:1.4;transition:color .3s ease-out}.card-title a{color:inherit;text-decoration:none}.card-title a:hover{text-decoration:underline}.small-desc{color:var(--color-text-light);margin:0;font-size:.97rem;font-weight:400;line-height:1.72;transition:color .3s ease-out}.card:hover .card-title,.card:hover .card-title a{color:#fff}.card:hover .small-desc{color:#ffffffbf}.go-corner{background-color:var(--color-highlight);border-radius:0 var(--border-radius) 0 2em;justify-content:center;align-items:center;width:2em;height:2em;transition:background-color .3s ease-out;display:flex;position:absolute;top:0;right:0;overflow:hidden}.card:hover .go-corner{background-color:var(--color-secondary)}.go-arrow{color:#fff;font-size:var(--font-size-sm);margin-top:-4px;margin-right:-4px;line-height:1}@media (prefers-reduced-motion:reduce){.card:before{transition:none}.card:hover:before{transform:scale(1)}.card-title,.small-desc{transition:none}}.contact__grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.contact-card{border-radius:14px;justify-content:center;align-items:center;min-height:140px;display:flex;position:relative;overflow:hidden;box-shadow:20px 20px 60px #0000001a,-20px -20px 60px #ffffffb3}.contact-card .bg{z-index:2;-webkit-backdrop-filter:blur(24px);justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg);text-align:center;background:#ffffffeb;border-radius:10px;outline:2px solid #ffffffe6;flex-direction:column;display:flex;position:absolute;inset:5px;overflow:hidden}.contact-card .blob{z-index:1;background-color:var(--color-highlight);filter:blur(12px);border-radius:50%;width:150px;height:150px;animation:5s infinite blob-bounce;position:absolute;top:50%;left:50%}.contact-card:nth-child(2) .blob{animation-delay:-1.25s}.contact-card:nth-child(3) .blob{animation-delay:-2.5s}.contact-card:nth-child(4) .blob{animation-delay:-3.75s}@keyframes blob-bounce{0%{transform:translate(-100%,-100%)translate(0,0)}25%{transform:translate(-100%,-100%)translate(100%)}50%{transform:translate(-100%,-100%)translate(100%,100%)}75%{transform:translate(-100%,-100%)translateY(100%)}to{transform:translate(-100%,-100%)translate(0,0)}}@media (prefers-reduced-motion:reduce){.contact-card .blob{animation:none}}.contact__label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);font-weight:700}.contact__value{font-size:var(--font-size-base);color:var(--color-primary);word-break:break-all}a.contact__value{color:var(--color-highlight);text-decoration:none}a.contact__value:hover{text-decoration:underline}.reader-toast{color:#d1dce8;z-index:2000;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;background:#0a1428f5;border:1px solid #4696e573;border-radius:12px;max-width:min(440px,92vw);padding:.9rem 2.5rem .9rem 1.1rem;font-size:.875rem;line-height:1.6;transition:opacity .3s,transform .3s;position:fixed;top:68px;left:50%;transform:translate(-50%)translateY(-12px);box-shadow:0 12px 40px #0000008c}.reader-toast--visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.reader-toast strong{color:#fff;font-weight:700}.reader-toast small{color:#8aaccc;margin-top:.25rem;font-size:.8rem;display:block}.reader-toast kbd{background:#ffffff1f;border:1px solid #ffffff40;border-radius:4px;padding:.1rem .45rem;font-family:Fira Code,Cascadia Code,monospace;font-size:.8rem;line-height:1.4;display:inline-block}.reader-toast__close{color:#8aaccc;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .35rem;font-size:.85rem;line-height:1;transition:color .15s,background .15s;position:absolute;top:.5rem;right:.6rem}.reader-toast__close:hover{color:#fff;background:#ffffff1a}@media (width<=600px){.reader-toast{max-width:none;inset:auto 1rem 5rem;transform:translateY(12px)}.reader-toast--visible{transform:translateY(0)}}.social-float{z-index:900;perspective:1000px;flex-direction:column;gap:14px;display:flex;position:fixed;bottom:1.75rem;left:1.25rem}.holographic-icon{cursor:pointer;width:60px;height:60px;transform-style:preserve-3d;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative}.holographic-icon svg{z-index:3;fill:currentColor;filter:drop-shadow(0 0 4px);width:28px;height:28px;transition:all .3s;position:relative}.holographic-ring{opacity:.65;border:2px solid #0000;border-color:#0000 currentColor;border-radius:50%;width:100%;height:100%;animation:3s linear infinite holo-rotate;position:absolute}.holographic-particles{opacity:0;background:radial-gradient(circle,#0000 20%,currentColor 20% 30%,#0000 30% 40%,currentColor 40% 50%,#0000 50%) 0 0/14px 14px;border-radius:50%;width:100%;height:100%;transition:opacity .3s;position:absolute}.holographic-pulse{opacity:0;border-radius:50%;width:100%;height:100%;transition:opacity .3s,transform .3s;position:absolute;box-shadow:0 0 14px}.holographic-icon:before{content:"";filter:blur(8px);opacity:0;background:#00000059;border-radius:50%;width:90%;height:20%;transition:opacity .3s;position:absolute;bottom:-10px;left:5%;transform:rotateX(80deg)translateZ(-20px)}.holographic-icon.github{color:#8b7ab5}.holographic-icon.github:hover{color:#c9510c}.holographic-icon.github:hover .holographic-ring{border-color:#0000 #c9510c}.holographic-icon.linkedin{color:#0a66c2}.holographic-icon.linkedin:hover{color:#0d8ecf}.holographic-icon.linkedin:hover .holographic-ring{border-color:#0000 #0d8ecf}.holographic-icon:hover{transform:translateY(-8px)rotateX(20deg)}.holographic-icon:hover svg{transform:scale(1.2)rotate(10deg)}.holographic-icon:hover .holographic-particles{opacity:.3;animation:3s linear infinite holo-particles}.holographic-icon:hover .holographic-pulse{opacity:.5;animation:2s ease-out infinite holo-pulse}.holographic-icon:hover:before{opacity:.5}@keyframes holo-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes holo-particles{0%{background-position:0 0}to{background-position:28px 28px}}@keyframes holo-pulse{0%{opacity:.5;transform:scale(.8)}50%{opacity:.2;transform:scale(1.1)}to{opacity:0;transform:scale(1.3)}}@media (width<=768px){.social-float{gap:10px;bottom:1.25rem;left:.75rem}.holographic-icon{width:46px;height:46px}.holographic-icon svg{width:22px;height:22px}}@media (prefers-reduced-motion:reduce){.holographic-ring{animation:none}.holographic-icon:hover,.holographic-icon:hover svg{transform:none}.holographic-icon:hover .holographic-particles,.holographic-icon:hover .holographic-pulse{animation:none}}.error{color:var(--color-highlight);padding:var(--spacing-xl);text-align:center;font-size:var(--font-size-lg)}.section__anchor{width:1.5rem;height:1.5rem;color:var(--color-primary);opacity:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:2px;text-decoration:none;transition:opacity .2s,color .2s,background .2s;display:inline-flex;position:relative}.section__anchor:hover,.section__anchor:focus-visible{opacity:1;color:var(--color-highlight);background:#ffffff0f;outline:none}.section__title:hover .section__anchor,.section__title:focus-within .section__anchor{opacity:.6}.section__title:hover .section__anchor:hover{opacity:1}.section__anchor--copied:after{content:"¡Copiado!";background:var(--color-highlight);color:#fff;white-space:nowrap;pointer-events:none;z-index:10;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;animation:.2s forwards anchor-tooltip-in;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}@keyframes anchor-tooltip-in{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.section__anchor{transition:none}@keyframes anchor-tooltip-in{0%{opacity:1}}}.cookie-banner{z-index:2000;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s cubic-bezier(.16,1,.3,1);position:fixed;bottom:1.5rem;right:1.5rem;transform:translateY(16px)scale(.97)}.cookie-banner[hidden]{display:none}.cookie-banner--visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.cookie-card{background-color:#fff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:13px;width:300px;padding:20px 30px;display:flex;overflow:hidden;box-shadow:2px 2px 30px #00000059}#cookieSvg{flex-shrink:0;width:50px}#cookieSvg g path{fill:#615151}.cookie-heading{color:#1a1a1a;text-align:center;margin:0;font-size:1.2em;font-weight:800}.cookie-description{text-align:center;color:#636363;margin:0;font-size:.7em;font-weight:600;line-height:1.5}.cookie-link{color:#7b57ff;text-underline-offset:2px;text-decoration:underline}.cookie-link:hover{color:#9173ff}.cookie-btn-container{flex-direction:row;gap:20px;display:flex}.cookie-accept-btn{color:#f1f1f1;cursor:pointer;background-color:#7b57ff;border:none;border-radius:20px;width:80px;height:30px;font-weight:600;transition-duration:.2s}.cookie-accept-btn:hover{background-color:#9173ff;transition-duration:.2s}.cookie-decline-btn{color:#2e2e2e;cursor:pointer;background-color:#dadada;border:none;border-radius:20px;width:80px;height:30px;font-weight:600;transition-duration:.2s}.cookie-decline-btn:hover{background-color:#ebebeb;transition-duration:.2s}@media (width<=400px){.cookie-banner{bottom:.75rem;left:.75rem;right:.75rem}.cookie-card{width:100%}}@media (prefers-reduced-motion:reduce){.cookie-banner{transition:none}}.search-toggle{width:40px;height:40px;color:var(--color-primary);cursor:pointer;background:#ffffff0d;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.search-toggle:hover,.search-toggle[aria-expanded=true]{background:var(--color-highlight);border-color:var(--color-highlight);color:#fff}.search-overlay{z-index:1400;opacity:0;pointer-events:none;justify-content:center;align-items:flex-start;padding:80px 1rem 1rem;transition:opacity .25s;display:flex;position:fixed;inset:0}.search-overlay[hidden]{display:none}.search-overlay--visible{opacity:1;pointer-events:auto}.search-overlay__backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05071bd1;position:fixed;inset:0}.search-overlay__panel{z-index:1;background:#0a0d1c;border:1px solid #496dff59;border-radius:16px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100dvh - 100px);transition:transform .25s;display:flex;position:relative;overflow:hidden;transform:translateY(-12px)}.search-overlay--visible .search-overlay__panel{transform:translateY(0)}.search-overlay__header{border-bottom:1px solid #496dff33;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.search-overlay__title{color:#a9c7ff;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:flex}.search-overlay__close{color:#a9c7ff;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;transition:background .2s,border-color .2s;display:flex}.search-overlay__close:hover{background:#ffffff1a;border-color:#ffffff4d}.search-widget{justify-content:center;min-height:80px;padding:1rem;display:flex;position:relative;overflow:hidden}.srch-galaxy{z-index:0;pointer-events:none;background-image:radial-gradient(#fff 1px,#0000 1px),radial-gradient(#fff 1px,#0000 1px);background-position:0 0,25px 25px;background-size:50px 50px;width:700px;height:500px;animation:5s infinite srch-twinkle;position:absolute;top:-220px;left:50%;transform:translate(-50%)}@keyframes srch-twinkle{0%,to{opacity:.25}50%{opacity:.55}}.srch-container{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.srch-stardust,.srch-cosmic-ring,.srch-starfield,.srch-nebula{z-index:-1;filter:blur(3px);border-radius:12px;width:100%;max-width:314px;height:100%;max-height:70px;position:absolute;overflow:hidden}.srch-input{color:#a9c7ff;background-color:#05071b;border:none;border-radius:10px;width:min(301px,100vw - 100px);height:56px;padding-inline:59px;font-size:1rem}.srch-input::placeholder{color:#6e8cff}.srch-input:focus{outline:none}.srch-main{position:relative}.srch-input-mask{pointer-events:none;background:linear-gradient(90deg,#0000,#05071b);width:100px;height:20px;position:absolute;top:18px;left:70px}.srch-main:focus-within>.srch-input-mask{display:none}.srch-cosmic-glow{pointer-events:none;filter:blur(20px);opacity:.8;background:#4d6dff;width:30px;height:20px;transition:opacity 2s;position:absolute;top:10px;left:5px}.srch-main:hover>.srch-cosmic-glow{opacity:0}.srch-stardust{filter:blur(2px);border-radius:10px;max-width:307px;max-height:63px}.srch-stardust:before{content:"";z-index:-2;text-align:center;filter:brightness(1.4);background-image:conic-gradient(#0000 0%,#4d6dff,#0000 8% 50%,#6e8cff,#0000 58%);background-position:0 0;background-repeat:no-repeat;width:600px;height:600px;transition:all 2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(83deg)}.srch-cosmic-ring{filter:blur(.5px);border-radius:11px;max-width:303px;max-height:59px}.srch-cosmic-ring:before{content:"";z-index:-2;text-align:center;filter:brightness(1.3);background-image:conic-gradient(#05071b,#4d6dff 5%,#05071b 14% 50%,#6e8cff 60%,#05071b 64%);background-position:0 0;background-repeat:no-repeat;width:600px;height:600px;transition:all 2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(70deg)}.srch-starfield{max-width:312px;max-height:65px}.srch-starfield:before{content:"";z-index:-2;text-align:center;background-image:conic-gradient(#0000,#1c2452,#0000 10% 50%,#2a3875,#0000 60%);background-position:0 0;background-repeat:no-repeat;width:600px;height:600px;transition:all 2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(82deg)}.srch-nebula{filter:blur(30px);opacity:.4;max-width:354px;max-height:130px;overflow:hidden}.srch-nebula:before{content:"";z-index:-2;text-align:center;background-image:conic-gradient(#000,#4d6dff 5%,#000 38% 50%,#6e8cff 60%,#000 87%);background-position:0 0;background-repeat:no-repeat;width:999px;height:999px;transition:all 2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(60deg)}.srch-container:hover>.srch-starfield:before{transform:translate(-50%,-50%)rotate(-98deg)}.srch-container:hover>.srch-nebula:before{transform:translate(-50%,-50%)rotate(-120deg)}.srch-container:hover>.srch-stardust:before{transform:translate(-50%,-50%)rotate(-97deg)}.srch-container:hover>.srch-cosmic-ring:before{transform:translate(-50%,-50%)rotate(-110deg)}.srch-container:focus-within>.srch-starfield:before{transition:all 4s;transform:translate(-50%,-50%)rotate(442deg)}.srch-container:focus-within>.srch-nebula:before{transition:all 4s;transform:translate(-50%,-50%)rotate(420deg)}.srch-container:focus-within>.srch-stardust:before{transition:all 4s;transform:translate(-50%,-50%)rotate(443deg)}.srch-container:focus-within>.srch-cosmic-ring:before{transition:all 4s;transform:translate(-50%,-50%)rotate(430deg)}.srch-cosmic-dust{pointer-events:none;z-index:0;background:#4d6dff;border-radius:50%;width:2px;height:2px;animation:6s ease-in-out infinite srch-dust-float;position:absolute;box-shadow:0 0 6px 2px #4d6dff99}.srch-cosmic-dust:nth-child(3){animation-delay:0s;top:40%;left:15%}.srch-cosmic-dust:nth-child(4){animation-delay:2s;top:20%;left:50%}.srch-cosmic-dust:nth-child(5){animation-delay:4s;top:60%;left:80%}@keyframes srch-dust-float{0%,to{opacity:.6;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-8px)scale(1.4)}}.srch-wormhole-border{border-radius:10px;width:40px;height:42px;position:absolute;top:7px;right:7px;overflow:hidden}.srch-wormhole-border:before{content:"";filter:brightness(1.35);background-image:conic-gradient(#0000,#4d6dff,#0000 50% 50%,#6e8cff,#0000 100%);background-position:0 0;background-repeat:no-repeat;width:600px;height:600px;animation:4s linear infinite srch-rotate;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}.srch-wormhole-icon{z-index:2;isolation:isolate;background:linear-gradient(#1c2452,#05071b,#2a3875);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:100%;max-width:38px;height:100%;max-height:40px;display:flex;position:absolute;top:8px;right:8px;overflow:hidden}.srch-icon{position:absolute;top:15px;left:20px}@keyframes srch-rotate{to{transform:translate(-50%,-50%)rotate(450deg)}}.search-results{scrollbar-width:thin;scrollbar-color:#496dff66 transparent;flex-direction:column;gap:.75rem;padding:.75rem 1rem 1rem;display:flex;overflow-y:auto}.srch-section{flex-direction:column;gap:.5rem;display:flex}.srch-section--ai{border-top:1px solid #496dff33;margin-top:.25rem;padding-top:.75rem}.srch-section--ai:empty{display:none}.srch-results-list{flex-direction:column;gap:.4rem;display:flex}.srch-result-item{background:#ffffff08;border:1px solid #496dff26;border-radius:10px;align-items:flex-start;gap:.75rem;padding:.7rem .9rem;text-decoration:none;transition:background .18s,border-color .18s,transform .18s;display:flex}.srch-result-item:hover{background:#496dff1f;border-color:#496dff66;transform:translate(3px)}.srch-result-icon{flex-shrink:0;margin-top:1px;font-size:1.1rem}.srch-result-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.srch-result-badge{text-transform:uppercase;letter-spacing:.07em;color:#6e8cff;font-size:.68rem;font-weight:700}.srch-result-title{color:#c9d9f8;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.srch-result-snippet{color:#6b84a8;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.srch-ai-header{color:#6e8cff;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:flex}.srch-ai-icon{font-size:1rem}.srch-ai-answer{color:#a9bfe0;background:#496dff0f;border-left:2px solid #4d6dff;border-radius:0 8px 8px 0;margin:0;padding:.75rem;font-size:.875rem;line-height:1.6}.srch-ai-consent{color:#8fa6c9;margin:0 0 .65rem;font-size:.78rem;line-height:1.45}.srch-ai-form{gap:.55rem;display:grid}.srch-ai-form label{color:#9bb1d3;gap:.25rem;font-size:.76rem;display:grid}.srch-ai-form input{color:#d8e5ff;min-width:0;font:inherit;background:#080c25;border:1px solid #6e8cff47;border-radius:7px;padding:.55rem .65rem}.srch-ai-form button{color:#fff;font:inherit;cursor:pointer;background:#496dff;border:0;border-radius:7px;justify-self:start;padding:.55rem .8rem}.srch-ai-form button:disabled{opacity:.5;cursor:not-allowed}.srch-ai-status{color:#9bb1d3;min-height:1em;margin:0;font-size:.76rem}.srch-loading{color:#6e8cff;text-align:center;margin:0;padding:.5rem;font-size:.82rem;animation:1.5s ease-in-out infinite srch-pulse}@keyframes srch-pulse{0%,to{opacity:.5}50%{opacity:1}}.srch-empty{color:#6b84a8;text-align:center;margin:0;padding:1rem;font-size:.85rem}@media (width<=600px){.search-overlay{padding:60px .5rem .5rem}.search-overlay__panel{border-radius:12px;max-height:calc(100dvh - 70px)}.srch-input{font-size:.9rem}}@media (prefers-reduced-motion:reduce){.search-overlay,.search-overlay__panel,.srch-result-item{transition:none}.srch-galaxy,.srch-wormhole-border:before{animation:none}.srch-stardust:before,.srch-cosmic-ring:before,.srch-starfield:before,.srch-nebula:before{transition:none}}.contact-section{background:var(--color-surface,#f8faff);border-top:1px solid var(--color-border,#d5e0ea);padding:var(--spacing-3xl,3rem) var(--spacing-md,1.5rem)}.contact-section .section__header{text-align:center;margin-bottom:var(--spacing-xl,2rem)}.contact-section .section__header h2{font-size:var(--font-2xl,1.75rem);color:var(--color-primary,#0f2742);margin:0 0 .5rem}.contact-section .section__subtitle{font-size:var(--font-md,1rem);color:var(--color-text-secondary,#4a5f73);margin:0}.contact-form{gap:var(--spacing-md,1rem);flex-direction:column;max-width:640px;margin:0 auto;display:flex}.contact-form__row{gap:var(--spacing-md,1rem);grid-template-columns:1fr 1fr;display:grid}.contact-form__field{flex-direction:column;gap:.35rem;display:flex}.contact-form__field label{color:var(--color-primary,#0f2742);font-size:.85rem;font-weight:600}.contact-form__field input,.contact-form__field select,.contact-form__field textarea{border:1.5px solid var(--color-border,#d5e0ea);background:#fff;border-radius:8px;padding:.7rem .9rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.contact-form__field input:focus,.contact-form__field select:focus,.contact-form__field textarea:focus{border-color:var(--color-accent,#2f74b5);outline:none;box-shadow:0 0 0 3px #2f74b51f}.contact-form__field textarea{resize:vertical;min-height:100px}.contact-form__consent{color:var(--color-text-secondary,#4a5f73);align-items:flex-start;gap:.5rem;font-size:.82rem;line-height:1.4;display:flex}.contact-form__consent input[type=checkbox]{accent-color:var(--color-accent,#2f74b5);margin-top:.15rem}.contact-form__submit{background:var(--color-accent,#2f74b5);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:center;padding:.85rem 2.5rem;font-size:1rem;font-weight:600;transition:background .2s,transform .15s}.contact-form__submit:hover:not(:disabled){background:#1a5a8e;transform:translateY(-1px)}.contact-form__submit:disabled{opacity:.65;cursor:not-allowed}.contact-form__feedback{text-align:center;min-height:1.5rem;margin-top:.5rem;font-size:.9rem}.contact-form__feedback--success{color:#2e7d32}.contact-form__feedback--error{color:#c62828}.contact-form__feedback--loading{color:var(--color-accent,#2f74b5)}.pdf-modal{z-index:10000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pdf-modal[hidden]{display:none}.pdf-modal__overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f27428c;position:absolute;inset:0}.pdf-modal__content{background:#fff;border-radius:12px;width:90%;max-width:440px;padding:2rem 2rem 1.5rem;animation:.25s ease-out pdfModalIn;position:relative;box-shadow:0 20px 60px #0003}@keyframes pdfModalIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.pdf-modal__close{cursor:pointer;color:#888;background:0 0;border:none;font-size:1.3rem;line-height:1;position:absolute;top:.75rem;right:.9rem}.pdf-modal__close:hover{color:#333}.pdf-modal__content h2{color:var(--color-primary,#0f2742);margin:0 0 .5rem;font-size:1.3rem}.pdf-modal__desc{color:var(--color-text-secondary,#4a5f73);margin:0 0 1.25rem;font-size:.9rem;line-height:1.5}.pdf-download-form{flex-direction:column;gap:1rem;display:flex}.pdf-download-form__field{flex-direction:column;gap:.3rem;display:flex}.pdf-download-form__field label{color:var(--color-primary,#0f2742);font-size:.82rem;font-weight:600}.pdf-download-form__field input{border:1.5px solid var(--color-border,#d5e0ea);border-radius:8px;padding:.65rem .85rem;font-family:inherit;font-size:.95rem}.pdf-download-form__field input:focus{border-color:var(--color-accent,#2f74b5);outline:none;box-shadow:0 0 0 3px #2f74b51f}.pdf-download-form__consent{color:var(--color-text-secondary,#4a5f73);align-items:flex-start;gap:.5rem;font-size:.78rem;line-height:1.4;display:flex}.pdf-download-form__consent input[type=checkbox]{accent-color:var(--color-accent,#2f74b5);margin-top:.1rem}.pdf-download-form__submit{color:#fff;cursor:pointer;background:#0f2742;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s}.pdf-download-form__submit:hover:not(:disabled){background:#1a3a5c}.pdf-download-form__submit:disabled{opacity:.65;cursor:not-allowed}.pdf-download-form__feedback{text-align:center;min-height:1.25rem;font-size:.85rem}@media (width<=640px){.contact-form__row{grid-template-columns:1fr}.pdf-modal__content{padding:1.5rem 1.25rem 1.25rem}}@media (width<=767px){.cv{padding:var(--spacing-xl) var(--spacing-md)}.cv__section{padding:var(--spacing-xl) 0}.header{padding:var(--spacing-2xl) var(--spacing-md)}.header__content{padding:var(--spacing-xl) var(--spacing-sm)}.header__name{font-size:var(--font-size-2xl)}.header__title{font-size:var(--font-size-base)}.header__role{font-size:var(--font-size-xl)}.header__vision{font-size:var(--font-size-sm)}.section__title{font-size:var(--font-size-xl)}.timeline{padding-left:var(--spacing-xl)}.timeline__card{padding:var(--spacing-md)}.card__role{font-size:var(--font-size-base)}.card__highlights li{font-size:var(--font-size-xs)}.certifications__grid,.conferences__list,.articles__list,.projects__grid,.contact__info{grid-template-columns:1fr}.skills__grid{gap:var(--spacing-xs)}}@media (width>=768px) and (width<=1023px){.cv{padding:var(--spacing-2xl)}.certifications__grid,.conferences__list,.articles__list,.projects__grid,.contact__info{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.cv{padding:var(--spacing-3xl)}.certifications__grid,.conferences__list,.articles__list,.projects__grid{grid-template-columns:repeat(3,1fr)}.contact__info{grid-template-columns:repeat(4,1fr)}}@media (width>=1280px){.cv{padding:var(--spacing-3xl) 0}}
