:root{--ink:#111816;--ink-2:#18211e;--paper:#f3f1ea;--white:#fff;--copper:#c76f45;--muted:#68716d;--line:rgba(17,24,22,.16);--max:1200px;--sans:Inter,"Segoe UI",Arial,sans-serif;--display:"Avenir Next",Avenir,Inter,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--white);padding:.7rem 1rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:absolute;top:0;left:0;width:100%;z-index:20;color:var(--white)}.nav-wrap{width:min(calc(100% - 48px),var(--max));height:98px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:39px;height:39px;border:1px solid var(--copper);display:grid;place-items:center;color:var(--copper);font:600 .75rem var(--display);letter-spacing:.08em}.brand-name{font:600 .92rem var(--display);letter-spacing:.04em}.main-nav{display:flex;align-items:center;gap:35px;font-size:.87rem}.main-nav a:not(.nav-contact){opacity:.75;transition:.2s}.main-nav a:hover{opacity:1}.nav-contact{border:1px solid rgba(255,255,255,.28);padding:10px 18px}.menu-toggle{display:none;background:none;border:0;color:var(--white);width:42px;height:42px;position:relative}.menu-toggle span:not(.sr-only){position:absolute;left:8px;width:26px;height:1px;background:currentColor}.menu-toggle span:nth-child(2){top:16px}.menu-toggle span:nth-child(3){top:25px}
.hero{min-height:760px;background:var(--ink);color:var(--white);padding:175px max(24px,calc((100vw - var(--max))/2)) 34px;display:flex;flex-direction:column;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;flex:1}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.71rem;font-weight:600;color:rgba(255,255,255,.62);display:flex;align-items:center;gap:12px;margin:0 0 25px}.eyebrow span{display:inline-block;width:34px;height:1px;background:var(--copper)}.eyebrow.dark{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-.045em;line-height:1.04}h1{font-size:clamp(4.4rem,8vw,7.3rem);margin-bottom:32px;font-weight:600}h1 em,h2 em{color:var(--copper);font-style:normal}.hero-lead{max-width:580px;font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.65;color:rgba(255,255,255,.67);margin-bottom:42px}.hero-actions{display:flex;align-items:center;gap:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 18px 15px 22px;font-weight:600;font-size:.88rem}.button-primary{background:var(--copper);color:var(--white)}.text-link{font-size:.88rem;color:rgba(255,255,255,.72);border-bottom:1px solid rgba(255,255,255,.25);padding:10px 0}.text-link span{margin-left:12px}.hero-visual{display:grid;place-items:center}.technical-card{position:relative;width:min(100%,480px);aspect-ratio:1/1.08;border:1px solid rgba(255,255,255,.16);overflow:hidden;background:linear-gradient(140deg,rgba(255,255,255,.035),transparent)}.card-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 92%)}.core{position:absolute;left:50%;top:48%;translate:-50% -50%;width:110px;height:110px;border:1px solid var(--copper);border-radius:50%;display:grid;place-items:center;background:var(--ink);box-shadow:0 0 0 13px rgba(199,111,69,.05)}.core span{font:600 1.5rem var(--display);color:var(--copper);letter-spacing:.08em}.orbit{position:absolute;left:50%;top:48%;translate:-50% -50%;border:1px solid rgba(255,255,255,.16);border-radius:50%}.orbit-one{width:240px;height:240px}.orbit-two{width:370px;height:370px}.orbit-two:after{content:"";position:absolute;right:45px;top:28px;width:8px;height:8px;border-radius:50%;background:var(--copper)}.coordinate{position:absolute;font:500 .62rem var(--display);letter-spacing:.14em;color:rgba(255,255,255,.4)}.coordinate-top{top:21px;right:23px}.coordinate-bottom{bottom:21px;left:23px}.card-label{position:absolute;right:24px;bottom:20px;text-align:right;text-transform:uppercase;font:500 .66rem/1.6 var(--display);letter-spacing:.13em;color:rgba(255,255,255,.58)}.hero-foot{padding-top:35px;display:flex;align-items:center;gap:18px;text-transform:uppercase;font:500 .65rem var(--display);letter-spacing:.16em;color:rgba(255,255,255,.44)}.hero-foot .line{height:1px;background:rgba(255,255,255,.15);flex:1}
.section{position:relative;padding:125px max(24px,calc((100vw - var(--max))/2))}.section-number{position:absolute;right:max(24px,calc((100vw - var(--max))/2));top:130px;font:500 .73rem var(--display);letter-spacing:.15em;color:var(--muted)}.section-number.light{color:rgba(255,255,255,.4)}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.section-heading{align-self:start}.section h2,.contact h2{font-size:clamp(2.65rem,5.2vw,4.8rem);font-weight:600;margin:0}.about-content{padding-top:55px;max-width:520px}.about-intro{font-size:1.35rem;line-height:1.55;color:var(--ink);margin-bottom:28px}.about-content>p:not(.about-intro){color:var(--muted)}.signature{margin-top:40px;font:600 1.2rem var(--display);font-style:italic;color:var(--copper)}
.career{background:var(--ink-2);color:var(--white)}.career-head{margin-bottom:70px}.career h2{max-width:800px}.timeline{list-style:none;padding:0;margin:0}.timeline-item{display:grid;grid-template-columns:65px 1fr 60px;gap:25px;align-items:center;border-top:1px solid rgba(255,255,255,.13);padding:30px 5px}.timeline-item:last-child{border-bottom:1px solid rgba(255,255,255,.13)}.timeline-index{font:500 .69rem var(--display);letter-spacing:.1em;color:var(--copper)}.timeline h3{font:600 clamp(1.15rem,2.3vw,1.65rem) var(--display);margin:0 0 5px}.timeline p{color:rgba(255,255,255,.52);margin:0;font-size:.93rem}.timeline-icon{width:43px;height:43px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;color:var(--copper);font-size:1.2rem}.timeline-item.current{background:rgba(199,111,69,.07);padding-left:17px;padding-right:17px}.status{display:inline-block;color:var(--copper);font-size:.66rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:6px}
.skills{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.skills-heading{position:sticky;top:50px;align-self:start}.skills-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.skill-card{min-height:245px;padding:31px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s,transform .25s}.skill-card:hover{background:var(--white);transform:translateY(-3px)}.skill-card>span{font:500 .65rem var(--display);letter-spacing:.12em;color:var(--copper)}.skill-card h3{font:600 1.22rem var(--display);margin:55px 0 11px}.skill-card p{color:var(--muted);font-size:.9rem;line-height:1.6;margin:0}
.contact{position:relative;min-height:620px;background:var(--ink);color:var(--white);padding:120px max(24px,calc((100vw - var(--max))/2));overflow:hidden}.contact-inner{position:relative;z-index:2}.contact h2{max-width:780px;margin-bottom:50px}.email-link{display:flex;justify-content:space-between;align-items:center;width:min(100%,660px);padding:17px 0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);font:500 clamp(1.15rem,2.5vw,1.65rem) var(--display);color:var(--copper)}.email-link span{font-size:1.2rem}.contact address{font-style:normal;color:rgba(255,255,255,.55);margin-top:38px;line-height:1.7}.contact-mark{position:absolute;right:-1vw;bottom:-14vw;font:600 32vw/1 var(--display);letter-spacing:-.1em;color:rgba(255,255,255,.025);user-select:none}footer{height:95px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:#0b100f;color:rgba(255,255,255,.45);font-size:.75rem}footer .brand-mark{width:31px;height:31px;font-size:.6rem}.footer-brand .brand-name{color:rgba(255,255,255,.72)}.to-top span{color:var(--copper);margin-left:8px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:850px){.nav-wrap{height:78px;width:calc(100% - 36px)}.menu-toggle{display:block;z-index:3}.main-nav{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:15vw;gap:28px;font:600 1.5rem var(--display);translate:100% 0;transition:translate .35s ease}.main-nav.open{translate:0}.nav-contact{border:0;padding:0;color:var(--copper)}.hero{padding-top:125px;min-height:auto}.hero-grid{grid-template-columns:1fr}.hero-visual{display:none}.hero-copy{padding:45px 0 80px}.hero-foot{padding:22px 0 0}.about,.skills{grid-template-columns:1fr}.about-content{padding-top:5px}.skills-heading{position:static}.section-number{display:none}.skills-grid{margin-top:15px}.contact{min-height:570px}}
@media(max-width:560px){.section{padding-top:85px;padding-bottom:85px}.hero{padding-left:20px;padding-right:20px}.hero-copy{padding-top:25px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}h1{font-size:4.1rem}.about-intro{font-size:1.17rem}.timeline-item{grid-template-columns:38px 1fr;padding:25px 0;gap:12px}.timeline-icon{display:none}.timeline p{font-size:.84rem}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:210px}.skill-card h3{margin-top:40px}.contact{padding-top:85px;padding-bottom:85px}.contact h2{margin-bottom:40px}footer{height:auto;padding-top:30px;padding-bottom:30px;flex-wrap:wrap;gap:20px}footer p{order:3;width:100%;margin:0}.footer-brand .brand-name{display:none}}

.references{position:relative;background:var(--ink-2);color:var(--white);padding:125px max(24px,calc((100vw - var(--max))/2))}.references-head{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:end;margin-bottom:70px}.references h2{font-size:clamp(2.65rem,5.2vw,4.8rem);font-weight:600;margin:0}.references-note{margin:0 0 9px;color:rgba(255,255,255,.52);font-size:.9rem;line-height:1.7}.references-note strong{display:block;color:var(--copper);text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;margin-bottom:7px}.map-wrap{border:1px solid rgba(255,255,255,.13);background:#121a18;padding:18px 18px 10px}.europe-map{position:relative;min-height:590px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(199,111,69,.06),transparent 48%)}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:54px 54px}.map-land{position:absolute;inset:6% 12% 5%;background:#26322e;clip-path:polygon(8% 23%,19% 8%,28% 14%,36% 8%,44% 16%,52% 12%,59% 23%,72% 22%,83% 35%,94% 38%,90% 50%,77% 49%,71% 61%,61% 58%,65% 72%,58% 88%,53% 78%,47% 69%,40% 75%,34% 64%,25% 62%,18% 51%,6% 48%,12% 38%);filter:drop-shadow(0 18px 30px rgba(0,0,0,.2))}.map-label{position:absolute;left:25px;bottom:22px;text-transform:uppercase;color:rgba(255,255,255,.45);font:600 .7rem var(--display);letter-spacing:.14em}.map-label span{display:block;color:rgba(255,255,255,.2);font-size:.55rem;margin-top:5px}.map-hint{display:flex;align-items:center;gap:10px;margin:9px 5px 0;color:rgba(255,255,255,.4);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.map-hint span{color:var(--copper)}.map-marker{position:absolute;translate:-50% -50%;z-index:5;width:36px;height:36px;display:grid;place-items:center}.marker-dot{width:17px;height:17px;border:4px solid var(--copper);background:var(--white);border-radius:50%;box-shadow:0 0 0 8px rgba(199,111,69,.18);transition:transform .2s,box-shadow .2s}.marker-dot span{position:absolute;left:26px;top:7px;color:rgba(255,255,255,.7);font:600 .58rem var(--display)}.map-marker:hover .marker-dot,.map-marker:focus .marker-dot{transform:scale(1.25);box-shadow:0 0 0 12px rgba(199,111,69,.15)}.map-preview{position:absolute;left:25px;bottom:27px;width:245px;background:var(--paper);color:var(--ink);padding:7px;box-shadow:0 18px 50px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;pointer-events:none}.map-preview img{display:block;width:100%;height:130px;object-fit:cover}.preview-copy{display:block;padding:12px 10px 9px}.preview-copy small{display:block;color:var(--copper);font-size:.64rem;text-transform:uppercase;letter-spacing:.09em}.preview-copy strong{font:600 .93rem var(--display)}.map-marker:hover .map-preview,.map-marker:focus .map-preview{opacity:1;visibility:visible;transform:none}.reference-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.13);margin-top:55px}.reference-card{background:var(--ink-2);scroll-margin-top:25px}.reference-card>img{width:100%;height:260px;object-fit:cover;display:block;filter:saturate(.6)}.reference-card-copy{padding:31px}.reference-index{color:var(--copper);font:600 .62rem var(--display);text-transform:uppercase;letter-spacing:.12em}.reference-card h3{font:600 1.35rem var(--display);margin:17px 0 1px}.reference-location{color:rgba(255,255,255,.7)!important;margin:0 0 18px!important}.reference-card p{color:rgba(255,255,255,.45);font-size:.88rem}.reference-card-copy>a{display:inline-flex;gap:10px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:5px;font-size:.77rem;color:rgba(255,255,255,.65)}
@media(max-width:850px){.references-head{grid-template-columns:1fr;gap:25px}.europe-map{min-height:470px}.map-preview{display:none}.reference-list{grid-template-columns:1fr}}
@media(max-width:560px){.references{padding:85px 20px}.references-head{margin-bottom:40px}.map-wrap{padding:8px}.europe-map{min-height:350px}.map-land{inset:8% 2%}.marker-dot span{display:none}.map-hint{font-size:.58rem}.reference-list{margin-top:35px}.reference-card>img{height:210px}}
.legal-links{display:flex;gap:16px}.legal-links a{transition:color .2s}.legal-links a:hover{color:var(--copper)}.reference-placeholder{height:260px;display:grid;place-items:center;background:linear-gradient(135deg,#273530,#111816);position:relative;overflow:hidden}.reference-placeholder:before,.reference-placeholder:after{content:"";position:absolute;border:1px solid rgba(199,111,69,.28);border-radius:50%}.reference-placeholder:before{width:190px;height:190px}.reference-placeholder:after{width:110px;height:110px}.reference-placeholder>span{color:var(--copper);font:600 1.1rem var(--display);z-index:1}.map-preview .reference-placeholder{height:130px}.map-preview .reference-placeholder:before{width:100px;height:100px}.map-preview .reference-placeholder:after{width:55px;height:55px}
@media(max-width:800px){footer{height:auto;min-height:95px;padding-top:25px;padding-bottom:25px;flex-wrap:wrap;gap:20px}.legal-links{order:3;width:100%;justify-content:center}}
@media(max-width:560px){.legal-links{justify-content:flex-start;flex-wrap:wrap}.reference-placeholder{height:210px}}
body{overflow-x:hidden}.button,.nav-contact,.to-top,.legal-links a{min-height:44px;display:inline-flex;align-items:center}.email-link{overflow-wrap:anywhere}.menu-toggle{touch-action:manipulation}.main-nav a{touch-action:manipulation}
@media(max-width:560px){.nav-wrap{width:calc(100% - 32px)}.hero{min-height:100svh}.hero-copy{padding-bottom:60px}.hero-lead{font-size:1rem}.section h2,.contact h2{font-size:clamp(2.35rem,12vw,3.25rem)}.about,.skills{gap:45px}.contact address{font-size:.95rem}.email-link{font-size:1.08rem}.legal-links a{min-height:38px}.timeline h3{line-height:1.35}}
@media(max-width:380px){h1{font-size:3.35rem}.hero-actions,.button{width:100%}.hero-foot{font-size:.55rem;gap:10px}.brand-name{font-size:.82rem}.skill-card{padding:24px}}
