/* Shared navigation and contact surface. */
:root{--header-height:80px}
html{scroll-padding-top:calc(var(--header-height) + 1.25rem)}
body>.header{position:sticky;top:0;inset-inline:0;z-index:20;width:100%;max-width:none;height:auto;min-height:80px;padding-block:.75rem;background:#111315ed;border-bottom:1px solid #ffffff12;backdrop-filter:blur(18px);isolation:isolate}
body>.header:before{display:none}
body>.header nav{width:100%;max-width:1360px;margin:auto;flex:1;flex-direction:row;justify-content:space-between;align-items:center;gap:.25rem 1.5rem}
body>.header .nav-section-links,body>.header .nav-profile-links{gap:1.25rem}
body>.header .nav-profile-links{border:0;padding:0;width:auto;align-items:center}
.language-switch{display:flex;align-items:center;border-left:1px solid var(--line);padding-left:.75rem;gap:.15rem}
.header .language-switch a{padding:.4rem .55rem;min-width:40px;justify-content:center;color:var(--muted);font-size:.875rem;font-weight:600}
.header .language-switch a[aria-current]{color:var(--accent);background:#e3fb7110}
.skip-link{z-index:60}
.home .hero-cinematic{min-height:min(840px,calc(100svh - var(--header-height)));padding-top:clamp(70px,12vh,130px)}
.cv-facts{position:relative;border-top:0!important;margin-top:3rem!important;padding-top:3rem!important}
.cv-facts:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#b0b6ba55 18%,#b0b6ba55 82%,transparent)}
.contact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;align-items:start}
.contact-intro h2{margin-bottom:1.5rem}
.contact-direct{font-size:1rem;border-bottom:1px solid currentColor;padding-bottom:.25rem;overflow-wrap:anywhere}
.contact-form{display:grid;gap:1.25rem;width:100%;min-width:0;color:inherit}
.contact-field{display:grid;gap:.5rem}
.contact-field label{font-size:.875rem;font-weight:600}
.contact-field input,.contact-field textarea{font:inherit;font-size:1rem;line-height:1.6;min-width:0;width:100%;padding:.85rem 1rem;border:1px solid #11131555;border-radius:0;background:#ffffff30;color:#111315;resize:vertical}
.contact-field textarea{min-height:150px;max-height:450px}
.contact-field input:focus,.contact-field textarea:focus{outline:2px solid #111315;outline-offset:3px}
.contact-form button{justify-self:start;display:inline-flex;align-items:center;gap:2rem;min-height:48px;padding:.8rem 1.25rem;border:1px solid #111315;background:#111315;color:var(--accent);font:600 .9375rem/1.5 var(--sans);cursor:pointer}
.contact-form button:hover{background:#292d24}.contact-form button:disabled{opacity:.65;cursor:wait}
.contact-form button:focus-visible{outline:2px solid #111315;outline-offset:4px}
.contact-privacy{font-size:.875rem;line-height:1.6;color:#333b24}
.contact-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-status{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.75rem;padding:1rem 1.15rem;border-left:4px solid #67541b;background:#fff9df;color:#3d3218;font-size:1rem;line-height:1.6}
.contact-status strong{display:block;font-weight:700;line-height:1.5;margin-bottom:.25rem}
.contact-status-icon{font-size:1.25rem;font-weight:700;text-align:center;line-height:1.5}
.contact-status[data-state="success"]{background:#ecf7ef;border-color:#21613c;color:#163f28}
.contact-status[data-state="error"]{background:#fff0ec;border-color:#a23528;color:#6c211b}
.contact-status[data-state="sending"]{background:#f2f5e5;border-color:#4f5940;color:#313b27}
.contact-fallback{justify-self:start;font-size:1rem;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-status[hidden],.contact-fallback[hidden],.contact-form .contact-verify[hidden]{display:none}
.contact-honeypot{display:none}
@media(max-width:1050px){body>.header{min-height:0}body>.header nav{justify-content:center}body>.header .nav-section-links,body>.header .nav-profile-links{gap:1.1rem}.contact-inner{gap:2.5rem}}
@media(max-width:800px){.home .hero-cinematic{min-height:0;padding-top:clamp(260px,56vw,430px)}body>.header nav{align-items:center;gap:.15rem}.contact-inner{grid-template-columns:minmax(0,1fr)}}
@media(max-width:540px){body>.header{padding-block:.4rem}body>.header nav{font-size:.875rem;align-items:stretch}body>.header .nav-section-links,body>.header .nav-profile-links{width:100%;justify-content:space-between;gap:.1rem .65rem}.header .nav-section-links a{padding:.4rem 0;min-height:38px}.header .nav-profile-links a{padding:.3rem 0;min-height:38px}body>.header nav .nav-cv{margin-left:0;padding:.2rem .5rem}.header .language-switch{gap:0;padding-left:.4rem}.header .language-switch a{min-width:32px;padding:.3rem .3rem}.contact-inner{gap:2rem}.contact-field textarea{min-height:170px}}
@media print{body>.header,.contact-form{display:none}}

/* A native cursor keeps movement immediate; controls and text keep their usual cues. */
@media(hover:hover) and (pointer:fine){body{cursor:url('/assets/sword-cursor.png') 4 4,auto}a,button,summary,[role="button"]{cursor:pointer}input,textarea,[contenteditable="true"]{cursor:text}input[type="range"]{cursor:pointer}video{cursor:auto}}

.career-row:last-child{border-bottom:0}

.footer{padding-bottom:5.5rem}
