@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2)format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff)format("woff")}@layer base{.research-card[data-animate]:not(.visible){opacity:0;transform:translate(40px)}.research-card[data-animate].visible{opacity:1;transform:translate(0)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:clamp(15px,1.05vw,17px);line-height:1.7;overflow-x:clip}body.menu-open{overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:3px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.inline-link{color:var(--accent2);text-underline-offset:.2em;transition:opacity var(--t-fast);text-decoration:underline}.inline-link:hover{opacity:var(--o-hover)}.btn:hover,.btn.is-hover{opacity:var(--o-hover);transform:translateY(-1px)}.btn:focus-visible,.btn.is-focus{outline:2px solid var(--accent2);outline-offset:3px}.btn:active,.btn.is-active{transform:translateY(1px)}.btn[disabled],.btn.is-disabled{opacity:.5;pointer-events:none}.btn[data-state=loading]{cursor:progress}.btn[data-state=error]{box-shadow:0 0 0 4px #c8503214}.btn[data-state=success]{box-shadow:0 0 0 4px #50c8780f}a:focus-visible,button:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}.skip-link{z-index:200;border:1px solid var(--accent2);background:rgb(var(--bg-rgb) / .96);color:var(--text);transition:transform var(--t-fast) var(--ease);border-radius:999px;padding:.6rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}ul{list-style:none}::selection{background:var(--accent);color:var(--on-accent)}h1,h2,h3{font-weight:700;line-height:1.15}.container{max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,3rem)}.container--wide{max-width:calc(var(--container) + 6rem);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,3rem)}#navbar{z-index:100;height:var(--nav-h);background:0 0;align-items:center;padding-inline:clamp(1.25rem,5vw,3rem);display:flex;position:fixed;top:0;left:0;right:0}#navbar:before{content:"";z-index:-1;background:rgb(var(--bg-rgb) / .85);-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);box-shadow:0 1px 0 var(--border);opacity:0;transition:opacity var(--t-med) var(--ease);position:absolute;inset:0}#navbar.scrolled:before{opacity:1}.nav-inner{width:100%;max-width:var(--container);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.nav-logo{transition:opacity var(--t-fast);align-items:center;display:flex}.nav-logo:hover{opacity:var(--o-hover)}.nav-home-icon{width:1.5rem;height:1.5rem}.nav-links{gap:2.5rem;display:flex}.nav-links a{color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;transition:color var(--t-fast);font-size:.875rem;font-weight:500;position:relative}.nav-links a:after{content:"";background:var(--accent);width:0;height:1px;transition:width var(--t-med) var(--ease);position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}.nav-links a[aria-current=true]{color:var(--text)}.nav-links a[aria-current=true]:after{background:var(--accent2);width:100%}.nav-links a[aria-current=true]:before{content:"";background:var(--accent2);width:4px;height:4px;box-shadow:0 0 6px var(--accent2-glow);transition:opacity var(--t-med);border-radius:50%;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.reading-progress{background:linear-gradient(to right, var(--accent), var(--accent2));z-index:1001;transform-origin:0;will-change:transform;pointer-events:none;width:100%;height:3px;transition:transform .12s linear;position:fixed;top:0;left:0;transform:scaleX(0)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav-toggle span{background:var(--text);width:24px;height:2px;transition:transform var(--t-med) var(--ease), opacity var(--t-fast);border-radius:2px;display:block}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}#hero{justify-content:flex-start;align-items:center;height:100dvh;min-height:600px;display:flex;position:relative;overflow:hidden}#neural-canvas{z-index:1;will-change:transform, opacity;opacity:0;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}#neural-canvas.is-visible{opacity:1}#noise-canvas{z-index:0;width:100%;height:100%;opacity:var(--o-overlay);pointer-events:none;position:absolute;inset:0}.hero-content{z-index:2;text-align:left;max-width:620px;animation:heroFadeUp 1.2s var(--ease) both;padding:1rem clamp(1.5rem,5vw,4rem);position:relative}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-name-wrap{margin-bottom:1.5rem;display:inline-block;position:relative}.hero-name{font-family:var(--font-display);letter-spacing:var(--tracking-tight);background:linear-gradient(135deg, var(--hero-grad-from) 30%, var(--hero-grad-to) 100%);-webkit-text-fill-color:transparent;text-align:left;-webkit-user-select:text;user-select:text;-webkit-background-clip:text;background-clip:text;margin-bottom:0;font-size:clamp(3.5rem,9vw,8.5rem);font-weight:700;line-height:1.1}.hero-tagline{color:var(--text-muted);letter-spacing:.06em;margin-bottom:1rem;font-size:clamp(.85rem,1.5vw,1.05rem)}@keyframes tagline-word-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.tagline-word{opacity:0;animation:tagline-word-up .55s var(--ease) forwards;display:inline-block}.tagline-sep{opacity:0;animation:tagline-word-up .55s var(--ease) forwards;margin-inline:.25em;display:inline-block}.hero-location{color:var(--text-faint);align-items:center;gap:.4rem;margin-bottom:2.5rem;font-size:.875rem;display:inline-flex}.hero-location svg{width:14px;height:14px;fill:var(--accent2)}.hero-actions{flex-wrap:wrap;justify-content:flex-start;gap:1rem;display:flex}.scroll-hint{z-index:2;color:var(--text-faint);letter-spacing:var(--tracking-widest);text-transform:uppercase;flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;animation:3s ease-in-out infinite scrollHintFade;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-hint-line{background:linear-gradient(to bottom, transparent, var(--accent));width:1px;height:40px}@keyframes scrollHintFade{0%,to{opacity:var(--o-hint-lo);transform:translate(-50%)translateY(0)}50%{opacity:var(--o-hint-hi);transform:translate(-50%)translateY(6px)}}.btn{letter-spacing:.03em;cursor:pointer;transition:transform var(--t-fast) var(--ease-spring), box-shadow var(--t-fast) var(--ease), background var(--t-fast), color var(--t-fast);border-radius:999px;align-items:center;gap:.5rem;padding:.8em 1.9em;font-size:.875rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 10px rgb(var(--accent-rgb) / .22)}.btn-primary:hover{background:var(--accent-hi);box-shadow:0 4px 18px rgb(var(--accent-rgb) / .3)}.btn-ghost{color:var(--text);border:1px solid var(--border-hov);background:0 0}.btn-ghost:hover{background:var(--bg-card-hov);border-color:var(--accent);color:var(--accent)}}@layer components{.section{padding-block:var(--section-py);position:relative}.section-alt{background:var(--bg-alt)}.section+.section-alt:before,.section-alt+.section:before{content:"";inset-inline:0;background:linear-gradient(90deg, transparent 0%, var(--accent-glow) 25%, var(--accent2-glow) 50%, var(--accent-glow) 75%, transparent 100%);pointer-events:none;height:1px;position:absolute;top:0}.section-header{text-align:center;margin-bottom:clamp(3.5rem,7vw,6rem)}.section-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);border:1px solid rgb(var(--accent-rgb) / .22);background:rgb(var(--accent-rgb) / .07);border-radius:999px;margin-bottom:.75rem;padding:.25em .9em;font-size:.72rem;font-weight:700;display:inline-block}.section-title{font-family:var(--font-display);letter-spacing:var(--tracking-tight);background:linear-gradient(135deg, var(--text) 50%, var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.25rem,4.5vw,3.75rem);line-height:1.08}.section-subtitle{color:var(--text-muted);max-width:60ch;margin:1rem auto 0;font-size:1.05rem;line-height:1.65}.about-top{align-items:flex-start;gap:2.5rem;margin-bottom:3rem;display:flex}.about-photo-col{flex-direction:column;flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.about-photo-col .stats-row{grid-template-columns:1fr;gap:.75rem;margin-top:0}.about-maps{margin-top:1rem}.about-maps .globe-header{text-align:center;margin-bottom:1.5rem}.about-maps .globe-intro{max-width:52ch;margin-inline:auto}.maps-row{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.maps-col--globe .globe-scene,.maps-col--europe .europe-scene{height:clamp(300px,36vw,460px)}.places-teaser{margin-top:1rem}.places-teaser .globe-header{text-align:center;margin-bottom:1.75rem}.places-teaser .globe-intro{max-width:52ch;margin-inline:auto}.world-map-figure{max-width:820px;margin:0 auto}.world-map{width:100%;height:auto;display:block}.world-map .wm-land{fill:var(--bg-card-hov)}.world-map .wm-country{vector-effect:non-scaling-stroke;stroke:var(--bg);stroke-width:.5px;stroke-linejoin:round}.world-map .wm-lived{fill:var(--pin-lived)}.world-map .wm-visited{fill:var(--pin-holiday)}.world-map-legend{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.25rem;font-size:.9rem;display:flex}.wm-legend-item{align-items:center;gap:.5rem;display:inline-flex}.wm-legend-swatch{border-radius:3px;width:.9rem;height:.9rem;display:inline-block}.wm-legend-lived{background:var(--pin-lived)}.wm-legend-visited{background:var(--pin-holiday)}.places-more{text-align:center;max-width:60ch;color:var(--text-muted);margin:1.5rem auto 0}.places-more a{color:var(--accent);border-bottom:1px solid var(--border-hov);text-decoration:none}.places-more a:hover{color:var(--accent-hi)}.travel-page .section-header{text-align:center}.travel-intro,.travel-outro{max-width:62ch;color:var(--text-muted);margin-inline:auto}.travel-intro{margin-top:1rem}.travel-page .about-maps{margin-top:2.5rem}.travel-outro{text-align:center;margin:2.5rem auto 0}.unesco{margin-top:3.5rem}.unesco .globe-header{text-align:center;margin-bottom:1.75rem}.unesco .globe-intro{max-width:54ch;margin-inline:auto}.unesco-accordion{max-width:660px;margin-inline:auto}.unesco-empty{text-align:center;color:var(--text-muted)}.unesco-continent{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-card);margin-bottom:.75rem;overflow:hidden}.unesco-continent>summary,.unesco-country>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;list-style:none;display:flex}.unesco-continent>summary::-webkit-details-marker{display:none}.unesco-country>summary::-webkit-details-marker{display:none}.unesco-continent>summary:after,.unesco-country>summary:after{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);flex:none;width:.5rem;height:.5rem;transition:transform .2s;transform:rotate(45deg)}.unesco-continent[open]>summary:after,.unesco-country[open]>summary:after{transform:rotate(225deg)}.unesco-continent>summary{font-family:var(--font-display);color:var(--text);padding:.95rem 1.15rem;font-size:1.1rem}.unesco-continent>summary:hover,.unesco-country>summary:hover{color:var(--accent)}.unesco-countries{padding:0 1.15rem .6rem}.unesco-country{border-top:1px solid var(--border)}.unesco-country>summary{color:var(--text);padding:.7rem .1rem;font-size:1rem}.unesco-name{flex:auto}.unesco-count{background:var(--bg-card-hov);min-width:1.5rem;color:var(--text-muted);font-family:var(--font-display);text-align:center;border-radius:999px;flex:none;padding:.05rem .45rem;font-size:.8rem}.unesco-sites{margin:0;padding:.1rem 0 .6rem .6rem;list-style:none}.unesco-sites li{padding:.3rem 0}.unesco-site{color:var(--accent);text-decoration:none}.unesco-site:hover{color:var(--accent-hi);text-decoration:underline}.unesco-year{color:var(--text-faint);font-size:.85rem}@media (prefers-reduced-motion:reduce){.unesco-continent>summary:after,.unesco-country>summary:after{transition:none}}.links-page .section-header{text-align:center}.links-intro{max-width:60ch;color:var(--text-muted);margin:1rem auto 0}.links-grid{margin-top:2.5rem}.links-empty{text-align:center;color:var(--text-muted)}.links-toolbar{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.link-chip{font-family:var(--font-sans);color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.88rem;display:inline-flex}.link-chip:hover{border-color:var(--border-hov);background:var(--bg-card-hov);color:var(--text)}.link-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.link-chip.is-active{color:var(--bg);background:linear-gradient(to right, var(--accent), var(--accent2));border-color:#0000}.link-chip-count{font-variant-numeric:tabular-nums;opacity:.7;font-size:.75rem}.link-chip.is-active .link-chip-count{opacity:.85}.links-count{text-align:center;color:var(--text-faint);margin:1rem 0 0;font-size:.82rem}.links-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.link-card-foot{flex-direction:column;gap:.55rem;margin-top:auto;padding-top:.35rem;display:flex}.link-card-cats{flex-wrap:wrap;gap:.35rem;display:flex}.link-card-cat{letter-spacing:var(--tracking-normal);color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.15rem .5rem;font-size:.7rem}.link-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-card);height:100%;color:var(--text);transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);flex-direction:column;gap:.45rem;padding:1.1rem 1.2rem;text-decoration:none;display:flex}.link-card:hover,.link-card:focus-visible{border-color:var(--border-hov);background:var(--bg-card-hov);transform:translateY(-3px)}.link-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.link-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.link-card-name{font-family:var(--font-display);font-size:1.05rem;font-weight:700}.link-card-arrow{width:1.05rem;height:1.05rem;color:var(--text-faint);opacity:0;transition:opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), color var(--t-fast) var(--ease);flex:none;transform:translate(-2px,2px)}.link-card:hover .link-card-arrow,.link-card:focus-visible .link-card-arrow{opacity:1;color:var(--accent);transform:translate(0)}.link-card-desc{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.link-card-host{color:var(--text-faint);letter-spacing:var(--tracking-normal);font-size:.78rem}@media (prefers-reduced-motion:reduce){.link-card,.link-card-arrow,.link-chip{transition:none}.link-card:hover,.link-card:focus-visible{transform:none}}.photo-card{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--bg-card);aspect-ratio:4/5;max-width:200px;transition:border-color var(--t-med);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.photo-card:hover{border-color:var(--border-hov)}.photo-placeholder{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.photo-initials{font-family:var(--font-display);background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:700;line-height:1}.photo-hint{color:var(--text-faint);border:1px dashed var(--border);border-radius:var(--r-sm);padding:.4em .8em;font-size:.75rem;font-style:italic}.photo-img{object-fit:cover;object-position:center top;width:100%;height:100%}.stats-row{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;display:grid}.stat-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);text-align:center;transition:border-color var(--t-med), background var(--t-med);padding:1.25rem .75rem}.stat-item:hover{border-color:var(--border-hov);background:var(--bg-card-hov)}.stat-number{font-family:var(--font-display);color:var(--accent);font-size:2rem;font-weight:700;line-height:1;display:block}.stat-suffix{color:var(--accent2);font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:.4rem;font-size:.7rem;display:block}.about-text-col p{color:var(--text-muted);max-width:60ch;margin-bottom:1.1rem}.about-text-col p strong{color:var(--text)}.about-text-col p.about-lead{color:var(--text);margin-bottom:1.5rem;font-size:1.1rem}.social-links{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.social-btn{border:1px solid var(--border);color:var(--text-muted);background:var(--bg-card);transition:border-color var(--t-fast), color var(--t-fast), background var(--t-fast);border-radius:999px;align-items:center;gap:.5rem;padding:.6em 1.4em;font-size:.85rem;font-weight:500;display:inline-flex}.social-btn svg{fill:currentColor;width:16px;height:16px}.social-btn:hover{border-color:var(--accent);color:var(--accent);background:rgb(var(--accent-rgb) / .08)}.research-grid{gap:var(--gap);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:1rem;scroll-padding-inline:clamp(1.25rem,5vw,3rem);display:flex;overflow-x:auto}.research-grid::-webkit-scrollbar{display:none}.research-grid>.research-card{scroll-snap-align:start;flex:0 0 clamp(280px,30vw,360px)}.research-carousel-wrap{position:relative}.research-scroll-btn{z-index:10;border:1px solid var(--accent2);background:rgb(var(--bg-rgb) / .9);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);width:44px;height:44px;color:var(--text);cursor:pointer;opacity:0;transition:opacity var(--t-med) var(--ease), border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);pointer-events:none;box-shadow:0 2px 10px rgb(var(--shadow-rgb) / .4);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.research-scroll-btn.visible{opacity:1;pointer-events:auto;animation:1.8s ease-in-out 2 scroll-btn-pulse}.research-scroll-btn:hover{border-color:var(--accent2);box-shadow:0 4px 16px rgb(var(--shadow-rgb) / .5);transform:translateY(-50%)scale(1.1)}.research-scroll-btn svg{width:18px;height:18px;stroke:var(--accent2)}@keyframes scroll-btn-pulse{0%,to{box-shadow:0 2px 10px rgb(var(--shadow-rgb) / .4)}50%{box-shadow:0 2px 10px rgb(var(--shadow-rgb) / .4), 0 0 0 5px rgb(var(--accent2-rgb) / .12)}}.research-scroll-btn--left{left:.5rem}.research-scroll-btn--right{right:.5rem}.research-carousel-wrap:before,.research-carousel-wrap:after{content:"";z-index:5;pointer-events:none;width:clamp(2rem,5vw,4rem);transition:opacity var(--t-fast);position:absolute;top:0;bottom:0}.research-carousel-wrap:before{background:linear-gradient(to right, var(--bg-alt), transparent);opacity:0;left:0}.research-carousel-wrap.fade-left:before{opacity:1}.research-carousel-wrap:after{background:linear-gradient(to left, var(--bg-alt), transparent);opacity:1;right:0}.research-carousel-wrap.fade-right-off:after{opacity:0}@media (width<=680px){.research-scroll-btn{display:none}}@media (pointer:coarse){.research-scroll-btn{display:none}}.research-cv-callout{border-radius:var(--r-md);border:1px solid var(--border);background:linear-gradient(120deg, rgb(var(--accent-rgb) / .1), rgb(var(--accent2-rgb) / .08));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;padding:1rem 1.1rem;display:flex}.research-cv-copy{color:var(--text);font-size:.9rem;font-weight:500}.research-cv-link{border:1px solid var(--border-hov);background:rgb(var(--bg-rgb) / .72);color:var(--accent2);transition:transform var(--t-fast) var(--ease), border-color var(--t-fast), color var(--t-fast);border-radius:999px;align-items:center;gap:.4rem;padding:.52em 1em;font-size:.84rem;font-weight:600;display:inline-flex}.research-cv-link:hover{border-color:var(--accent2);color:var(--accent2-hi);transform:translateY(-2px)}.research-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:border-color var(--t-med), background var(--t-med), box-shadow var(--t-med);perspective:1000px;min-height:260px;position:relative}.research-card:before{content:"";border-radius:inherit;background:radial-gradient(circle at 50% 0%, rgb(var(--accent-rgb) / .1) 0%, transparent 60%);opacity:0;transition:opacity var(--t-med);pointer-events:none;z-index:0;position:absolute;inset:0}.research-card:hover{border-color:var(--border-hov);background:var(--bg-card-hov);box-shadow:var(--elev-3)}.research-card:hover:before{opacity:1}.card-inner{border-radius:inherit;grid-template-areas:"face";width:100%;height:100%;display:grid}.card-front,.card-back{border-radius:inherit;flex-direction:column;grid-area:face;min-width:0;padding:2rem;display:flex}.card-front{visibility:visible;transition:opacity var(--t-med) var(--ease), transform var(--t-med) var(--ease)}.card-back{background:var(--bg-card-hov);border:1px solid var(--border-hov);opacity:0;visibility:hidden;transition:opacity var(--t-med) var(--ease), transform var(--t-med) var(--ease), visibility 0s linear var(--t-med);justify-content:space-between;transform:translateY(12px)}.research-card.is-flipped .card-front{opacity:0;visibility:hidden;transition:opacity var(--t-med) var(--ease), transform var(--t-med) var(--ease), visibility 0s linear var(--t-med);transform:translateY(-12px)}.research-card.is-flipped .card-back{opacity:1;visibility:visible;transition:opacity var(--t-med) var(--ease), transform var(--t-med) var(--ease);transform:translateY(0)}.card-back-title{color:var(--text);margin-bottom:.75rem;font-size:1.05rem;font-weight:600}.card-back-body{color:var(--text-muted);flex:1;font-size:.875rem;line-height:1.6}.card-back-body a{color:var(--accent2);text-underline-offset:.2em;transition:opacity var(--t-fast);text-decoration:underline}.card-back-body a:hover{opacity:var(--o-hover)}.card-flip-hint{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent2);opacity:.5;transition:opacity var(--t-med);margin-top:auto;padding-top:1rem;font-size:.72rem;display:block}.research-card:hover .card-flip-hint{opacity:.85}.card-back-hint{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent2);opacity:.6;margin-top:1rem;font-size:.72rem;display:block}@media (prefers-reduced-motion:reduce){.card-inner,.card-front,.card-back{transition:none}}.tilt-ready{will-change:transform}.tilt-ready:after{content:"";border-radius:inherit;background:radial-gradient(circle at var(--gloss-x,50%) var(--gloss-y,50%), rgb(var(--text-rgb) / .09) 0%, transparent 58%);pointer-events:none;opacity:0;transition:opacity var(--t-med);z-index:2;position:absolute;inset:0}.tilt-ready:hover:after{opacity:1}.card-icon{width:2.15rem;height:2.15rem;color:var(--accent2);margin-bottom:1.25rem;line-height:1;display:block}.card-icon svg{width:100%;height:100%;display:block}.card-title{color:var(--text);margin-bottom:.6rem;font-size:1.05rem;font-weight:600}.card-desc{color:var(--text-muted);max-width:60ch;font-size:.875rem;line-height:1.6}.publications-intro{color:var(--text-muted);max-width:60ch;margin-bottom:2rem}.publications-list{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:3rem;display:grid}.pub-item{color:inherit;cursor:pointer;flex-direction:column;align-items:start;gap:.8rem;padding:1.45rem;text-decoration:none;display:flex}.pub-item--nolink{cursor:default}.pub-year{font-family:var(--font-display);color:var(--accent);letter-spacing:var(--tracking-wider);text-transform:uppercase;padding-top:0;font-size:.82rem;font-weight:700}.pub-title{color:var(--text);margin-bottom:.45rem;font-size:.98rem;font-weight:600;line-height:1.45}.pub-meta{color:var(--text-muted);margin-bottom:.8rem;font-size:.82rem;line-height:1.5}.pub-venue{color:var(--accent2);font-style:italic}.publications-cta{text-align:center}.publications-grouped{display:block}.pub-year-heading{font-family:var(--font-display);color:var(--text-muted);letter-spacing:var(--tracking-wide);border-bottom:1px solid var(--border);margin:2.75rem 0 1.25rem;padding-bottom:.55rem;font-size:1.35rem;font-weight:700}.pub-year-heading:first-child{margin-top:0}.pub-year-group{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=1080px){.publications-list,.pub-year-group{grid-template-columns:repeat(2,minmax(0,1fr))}}.projects-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);min-height:260px;color:inherit;isolation:isolate;transition:transform .25s var(--ease-spring), border-color .25s ease, background .25s ease;flex-direction:column;justify-content:flex-end;text-decoration:none;display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--accent);background:var(--bg-card-hov);box-shadow:var(--elev-3);transform:translateY(-5px)}.project-card--has-bg:before{content:"";opacity:0;z-index:-2;background-position:50%;background-size:cover;transition:opacity .5s,transform .4s;position:absolute;inset:0}.project-card--has-bg.bg-loaded:before{background-image:var(--card-bg);opacity:.09}.project-card--has-bg.bg-loaded:hover:before{opacity:.16;transform:scale(1.04)}.project-card__overlay{background:linear-gradient(to top, rgb(var(--bg-rgb) / .96) 0%, rgb(var(--bg-rgb) / .9) 45%, rgb(var(--bg-rgb) / .7) 100%);z-index:-1;pointer-events:none;position:absolute;inset:0}.project-card__body{flex-direction:column;gap:.5rem;padding:1.2rem 1.4rem 1.4rem;display:flex}.project-card__year{font-family:var(--font-display);color:var(--accent);letter-spacing:var(--tracking-wider);text-transform:uppercase;font-size:.78rem;font-weight:700}.project-card__title{color:var(--text);font-size:1.05rem;font-weight:600;line-height:1.35}.project-card__tags{flex-wrap:wrap;gap:.4rem;display:flex}.project-tag{text-transform:uppercase;letter-spacing:.05em;background:rgb(var(--accent-rgb) / .12);color:var(--accent);border-radius:3px;padding:.2em .6em;font-size:.7rem;font-weight:600}.project-card__desc{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.55}.projects-coming-soon{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:1rem}.projects-view-all{text-align:center;margin-top:1.5rem}.projects-cta{text-align:center}.projects-page{padding-top:calc(var(--nav-h) + 2rem)}.project-hero{min-height:320px;padding:calc(var(--nav-h) + 3rem) var(--gap) 3rem;background-image:var(--project-hero-img);isolation:isolate;background-position:50%;background-size:cover;position:relative;overflow:hidden}.project-hero__overlay{background:linear-gradient(to bottom, rgb(var(--bg-rgb) / .65) 0%, rgb(var(--bg-rgb) / .85) 70%, rgb(var(--bg-rgb) / .95) 100%);z-index:-1;pointer-events:none;position:absolute;inset:0}.project-hero__inner{flex-direction:column;gap:.75rem;max-width:880px;margin:0 auto;display:flex}.project-hero .post-back-row{margin:0 0 .5rem}.project-hero .project-detail__title{font-family:var(--font-display);color:var(--text);margin:0;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;line-height:1.2}.project-hero .project-detail__year{font-family:var(--font-display);color:var(--accent);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin:0;font-size:.85rem;font-weight:700}.project-hero .project-detail__tags{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.project-links{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.project-links a{border:1px solid var(--border);color:var(--accent);border-radius:999px;align-items:center;gap:.4rem;padding:.45em 1em;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.project-links a:hover{background:rgb(var(--accent-rgb) / .1);border-color:var(--accent)}@media (width<=640px){.projects-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover{transform:none}.project-card--has-bg:before{transition:none}.project-card--has-bg:hover:before{transform:none}}.skills-split{grid-template-columns:280px 1fr;align-items:start;gap:3rem;display:grid}.skills-sticky-header{top:calc(var(--nav-h) + 2rem);position:sticky}.section-header--left{text-align:left}.skills-sticky-desc{color:var(--text-muted);max-width:26ch;margin-top:.75rem;font-size:.9rem;line-height:1.6}.skills-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}@media (width<=900px){.skills-split{grid-template-columns:1fr}.skills-sticky-header{position:static}.section-header--left{text-align:center}.skills-sticky-desc{margin-inline:auto}}.skill-group{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--t-med), background var(--t-med);padding:1.75rem}.skill-group:hover{border-color:var(--border-hov);background:var(--bg-card-hov);box-shadow:var(--elev-2)}.skill-group-title{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.72rem;font-weight:700;display:flex}.skill-group-title:after{content:"";background:var(--border);flex:1;height:1px}.skill-tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{color:var(--text-muted);background:rgb(var(--text-rgb) / .05);border:1px solid var(--border);transition:border-color var(--t-fast), color var(--t-fast), background var(--t-fast);border-radius:999px;padding:.3em .9em;font-size:.8rem}.skill-tag:hover{border-color:var(--accent2);color:var(--accent2);background:rgb(var(--accent2-rgb) / .06)}.contact-wrap{max-width:760px;margin-inline:auto}.contact-lead{text-align:center;color:var(--text-muted);margin-bottom:2.5rem;max-width:60ch;margin-inline:auto;font-size:1.05rem}.contact-grid{gap:var(--gap);grid-template-columns:repeat(2,1fr);display:grid}.contact-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);transition:transform var(--t-med) var(--ease), border-color var(--t-med), background var(--t-med), box-shadow var(--t-med);align-items:center;gap:1.1rem;padding:1.75rem;display:flex}.contact-card:hover{border-color:var(--border-hov);background:var(--bg-card-hov);box-shadow:var(--elev-3);transform:translateY(-5px)}.contact-icon{border-radius:var(--r-sm);background:rgb(var(--accent-rgb) / .12);border:1px solid rgb(var(--accent-rgb) / .2);width:46px;height:46px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.contact-icon svg{fill:currentColor;width:20px;height:20px}.contact-info{min-width:0}.contact-label{text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--text-faint);font-size:.7rem;font-weight:600;display:block}.contact-value{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;font-size:.875rem;font-weight:500;display:block;overflow:hidden}@media (width<=480px){.contact-value{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;overflow:visible}}.contact-email-obfuscated[data-email-revealed=false] .contact-value{filter:blur(5px);-webkit-user-select:none;user-select:none;cursor:pointer;transition:filter .3s}.contact-email-obfuscated[data-email-revealed=false]:hover .contact-value,.contact-email-obfuscated[data-email-revealed=false]:focus .contact-value{filter:blur()}.contact-email-obfuscated[data-email-revealed=true] .contact-value{filter:blur();transition:filter .3s}.site-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-faint);padding-block:2rem;font-size:.8rem}.site-footer a{color:var(--text-muted);transition:color var(--t-fast);text-decoration:none}.site-footer a:hover{color:var(--accent2)}[data-animate]{opacity:0;transition:opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease);transform:translateY(30px)}[data-animate].visible{opacity:1;transform:none}.cv-header-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem;display:flex}.cv-pdf-btn{align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.cv-legend{color:var(--text-muted);align-items:center;gap:1.25rem;font-size:.75rem;display:flex}.cv-legend-item{align-items:center;gap:.35rem;display:flex}.cv-legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.cv-legend-dot--career{background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.cv-legend-dot--education{background:var(--accent2);box-shadow:0 0 6px var(--accent2-glow)}.cv-timeline{max-width:900px;margin:0 auto;padding:2rem 0;position:relative}.cv-timeline:before{content:"";background:linear-gradient(to bottom, var(--accent), var(--accent2) 70%, transparent);width:2px;box-shadow:0 0 10px var(--accent-glow);border-radius:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.tl-row{grid-template-columns:1fr auto 1fr;align-items:start;gap:0;margin-bottom:1.5rem;display:grid;position:relative}.tl-concurrent-block{grid-template-columns:1fr auto 1fr;align-items:start;row-gap:1.5rem;margin-bottom:1.5rem;display:grid;position:relative}.tl-concurrent-block .tl-spine .tl-dot{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.tl-concurrent-block .tl-right{align-self:stretch}.tl-concurrent-block .tl-right .tl-card-single{box-sizing:border-box;height:100%}.tl-spine{z-index:2;justify-content:center;align-items:center;width:52px;display:flex;position:relative}.tl-dot{border:2px solid var(--bg-alt);border-radius:50%;flex-shrink:0;width:14px;height:14px}.tl-row--career .tl-dot{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.tl-row--education .tl-dot{background:var(--accent2);box-shadow:0 0 8px var(--accent2-glow)}.tl-card-single{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--t-med), background var(--t-med), box-shadow var(--t-med);padding:1.5rem 1.75rem}.tl-card-single:hover{border-color:var(--border-hov);background:var(--bg-card-hov);box-shadow:var(--elev-2)}.tl-row--career .tl-card-single{border-right:3px solid var(--accent)}.tl-row--education .tl-card-single{border-left:3px solid var(--accent2)}.tl-left{text-align:right;padding-right:1rem}.tl-right{padding-left:1rem}.tl-year{letter-spacing:var(--tracking-widest);text-transform:uppercase;margin-bottom:.4rem;font-size:.68rem;font-weight:700;display:block}.tl-row--career .tl-year{color:var(--accent)}.tl-row--education .tl-year{color:var(--accent2)}.tl-title{color:var(--text);margin:0 0 .3rem;font-size:.98rem;font-weight:600;line-height:1.35}.tl-sub{color:var(--text-muted);margin-bottom:.65rem;font-size:.8rem;line-height:1.4}.tl-card-header{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.tl-left .tl-card-header{flex-direction:row-reverse}.tl-left .tl-location{text-align:left}.tl-location{color:var(--text-faint);white-space:nowrap;text-align:right;flex-shrink:0;font-size:.72rem}.tl-desc{color:var(--text-muted);margin:0 0 .75rem;font-size:.8rem;line-height:1.65}.tl-tags{flex-wrap:wrap;gap:.35rem;display:flex}.tl-left .tl-tags{justify-content:flex-end}.tl-tag{background:rgb(var(--accent-rgb) / .11);color:var(--accent);border:1px solid rgb(var(--accent-rgb) / .22);letter-spacing:var(--tracking-normal);border-radius:999px;padding:.2em .65em;font-size:.67rem;font-weight:600}.cv-skills-section{border-top:1px solid var(--border);margin-top:4rem;padding-top:3rem}.cv-skills-header{text-align:center;margin-bottom:2.5rem}.cv-skills-header h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-widest);font-size:.75rem;font-weight:600}.skill-panels{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.75rem;display:grid}.skill-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--t-med), box-shadow var(--t-med);padding:1.75rem}.skill-panel:hover{border-color:var(--border-hov);background:var(--bg-card-hov);box-shadow:var(--elev-2)}.skill-panel-title{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.25rem;font-size:.68rem;font-weight:700}.skill-bars{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.skill-bar-name{color:var(--text);margin-bottom:.3rem;font-size:.79rem;font-weight:500;display:block}.skill-bar-track{background:var(--border);border-radius:999px;height:5px;overflow:hidden}.skill-bar-fill{background:linear-gradient(to right, var(--accent), var(--accent2));will-change:width;border-radius:999px;width:0;height:100%;transition:width .9s cubic-bezier(.22,1,.36,1)}.skill-bar-fill.animated{width:var(--pct)}@media (prefers-reduced-motion:reduce){.skill-bar-fill{transition:none;width:var(--pct)!important}}.lang-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.lang-item{background:var(--bg);border-radius:var(--r-md);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:.55rem .9rem;display:flex}.lang-name{color:var(--text);font-size:.86rem;font-weight:600}.lang-prof{color:var(--accent2);letter-spacing:.01em;font-size:.72rem;font-weight:500}@media (width<=760px){.cv-timeline:before{left:6px}.tl-row{padding-left:2rem;display:block;position:relative}.tl-spine{width:auto;position:absolute;top:1.2rem;left:0}.tl-dot{width:10px;height:10px}.tl-left,.tl-right{text-align:left;padding:0}.tl-left .tl-card-header{flex-direction:row}.tl-location{white-space:normal;overflow-wrap:anywhere}.tl-left .tl-location{text-align:right}.tl-left .tl-tags{justify-content:flex-start}.tl-empty{display:none}.tl-row--career .tl-card-single{border-right:none;border-left:3px solid var(--accent)}.tl-card-single{padding:1.1rem 1.25rem}.tl-concurrent-block{display:block;position:relative}.tl-concurrent-block>.tl-left,.tl-concurrent-block>.tl-right{text-align:left;margin-bottom:1.5rem;padding:0 0 0 2rem;display:block;position:relative}.tl-concurrent-block>.tl-right:last-child{margin-bottom:0}.tl-concurrent-block>.tl-spine{display:none}.tl-concurrent-block>.tl-left:before,.tl-concurrent-block>.tl-right:before{content:"";border:2px solid var(--bg-alt);z-index:2;border-radius:50%;width:10px;height:10px;position:absolute;top:1.4rem;left:6px;transform:translate(-50%)}.tl-concurrent-block>.tl-left:before{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.tl-concurrent-block>.tl-right:before{background:var(--accent2);box-shadow:0 0 8px var(--accent2-glow)}}.cv-page{padding-top:7rem}.cv-back-link{color:var(--accent);transition:color var(--t-fast);margin-bottom:1.5rem;font-size:.82rem;text-decoration:none;display:inline-block}.cv-back-link:hover{color:var(--accent2)}#research,#publications,#skills,#projects,#contact{content-visibility:auto;contain-intrinsic-block-size:auto 650px}@media (width<=1024px){.about-top{flex-direction:column;align-items:stretch}.about-photo-col{flex-direction:row;align-items:flex-start;gap:1.5rem}.about-photo-col .stats-row{flex:1;grid-template-columns:repeat(3,1fr)}.about-photo-col .photo-card{max-width:180px}.maps-row{grid-template-columns:1fr}}@media (width<=900px){.photo-card{aspect-ratio:1;max-width:300px;margin-inline:auto}}@media (width<=680px){.nav-links{inset:var(--nav-h) 0 0 0;background:rgb(var(--bg-rgb) / .97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:99;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;display:none;position:fixed}.nav-links.open{display:flex}.nav-links a{font-size:1.1rem}.nav-toggle{display:flex}.pub-item{padding:1.2rem}.pub-year{font-size:.8rem}#hero{justify-content:center}.hero-content{text-align:center;padding-inline:1rem}.hero-name{text-align:center}.hero-actions{justify-content:center}.about-photo-col{flex-direction:column;align-items:center}.about-photo-col .photo-card{width:100%;max-width:260px}}@media (width<=480px){.publications-list,.pub-year-group{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:center}.btn{justify-content:center;width:100%}.stats-row{grid-template-columns:1fr;gap:.75rem}.contact-grid{grid-template-columns:1fr}}@media (pointer:coarse){.btn{min-height:48px}.nav-toggle{min-width:44px;min-height:44px}.nav-links a{padding-block:.55rem}.tl-tag,.skill-tag{padding:.35em .75em}}.globe-header{margin-bottom:1rem}.globe-title{font-family:var(--font-display);background:linear-gradient(135deg, var(--text) 50%, var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:0;font-size:clamp(1.6rem,3vw,2.25rem)}.globe-intro{color:var(--text-muted);text-align:center;margin-bottom:1rem;font-size:.9rem;line-height:1.6}.globe-subtitle{color:var(--text-faint);letter-spacing:.07em;margin-top:.75rem;margin-bottom:.75rem;font-size:.75rem}.globe-subtitle--touch{display:none}@media (pointer:coarse){.globe-subtitle--mouse{display:none}.globe-subtitle--touch{display:block}}.globe-scene{border-radius:var(--r-xl);background:radial-gradient(ellipse at 50% 65%, rgb(var(--bg-alt-rgb) / .95) 0%, var(--bg) 68%);border:1px solid var(--border);height:clamp(340px,58vw,580px);box-shadow:inset 0 0 60px rgb(var(--accent-rgb) / .035), var(--elev-4);contain:layout paint;position:relative;overflow:hidden}#globe-canvas{cursor:grab;will-change:transform;width:100%;height:100%;display:block;position:absolute;inset:0}#globe-canvas:active{cursor:grabbing}.globe-tooltip{pointer-events:none;background:rgb(var(--bg-rgb) / .88);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);border:1px solid var(--border-hov);border-radius:var(--r-md);opacity:0;z-index:10;min-width:165px;max-width:230px;box-shadow:var(--elev-2);flex-direction:column;gap:.18rem;padding:.65rem 1.1rem;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:0;left:0;transform:translateY(5px)}.globe-tooltip.visible{opacity:1;transform:translateY(0)}.gt-type{letter-spacing:var(--tracking-widest);text-transform:uppercase;font-size:.63rem;font-weight:700}.gt-name{color:var(--text);font-size:.9rem;font-weight:600;line-height:1.3}.gt-info{color:var(--text-muted);font-size:.77rem}.globe-legend{background:rgb(var(--bg-rgb) / .72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);z-index:5;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:.9rem;max-width:calc(100% - 3rem);padding:.45em 1.1em;display:flex;position:absolute;bottom:1.25rem;right:1.5rem}.gl-item{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;display:flex}.gl-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.gl-dot.gl-lived{background:var(--pin-lived);box-shadow:0 0 7px var(--pin-lived)}.gl-dot.gl-current{background:var(--pin-current);box-shadow:0 0 7px var(--pin-current)}.gl-dot.gl-worktrip{background:var(--pin-worktrip);box-shadow:0 0 7px var(--pin-worktrip)}.gl-dot.gl-holiday{background:var(--pin-holiday);box-shadow:0 0 7px var(--pin-holiday)}.europe-scene{background:var(--map-bg);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;position:relative;overflow:hidden}#europe-canvas{cursor:crosshair;width:100%;height:100%;display:block}#europe-canvas:active{cursor:grabbing}.europe-tooltip{pointer-events:none;background:rgb(var(--bg-rgb) / .95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgb(var(--accent2-rgb) / .3);color:var(--text);white-space:nowrap;z-index:20;opacity:0;border-radius:.5rem;padding:.6rem .9rem;font-size:.8rem;transition:opacity .2s;position:absolute}.europe-tooltip.visible{opacity:1}.europe-tooltip>span{color:var(--text-muted);margin-right:.4rem;font-size:.75rem;display:inline}.europe-tooltip>strong{color:var(--text);font-weight:600}.europe-tooltip>span:last-child{color:var(--text-muted);margin-left:.4rem;font-size:.75rem}@media (width<=680px){.globe-legend{bottom:.75rem;right:50%;transform:translate(50%)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.post{max-width:760px;padding:calc(var(--nav-h) + clamp(2rem, 6vw, 4rem)) clamp(1.25rem, 5vw, 2rem) 5rem;margin:0 auto}.post-meta{text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--accent2);margin-bottom:.9rem;font-size:.82rem}.post-title{font-family:var(--font-display);margin-bottom:1rem;font-size:clamp(2rem,5vw,3rem);line-height:1.2}.post-lead{color:var(--text);margin-bottom:1.5rem;font-size:1.06rem}.post p{color:var(--text-muted);margin-bottom:1rem}.post h2{margin:2rem 0 .75rem;font-size:1.22rem}.post h3{color:var(--text);margin:1.5rem 0 .5rem;font-size:1.05rem}.post ul,.post ol{color:var(--text-muted);margin-bottom:1rem;padding-left:1.5rem}.post li{margin-bottom:.35rem}.post a{color:var(--accent2);text-underline-offset:3px;text-decoration:underline}.post a:hover{color:var(--accent)}.post code{background:rgb(var(--text-rgb) / .07);border:1px solid var(--border);border-radius:var(--r-sm);padding:.15em .45em;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.88em}.post pre{background:rgb(var(--text-rgb) / .04);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:1.25rem;padding:1.25rem 1.5rem;overflow-x:auto}.post pre code{background:0 0;border:none;padding:0;font-size:.9rem;line-height:1.7}.post blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin:1.5rem 0;padding-left:1.25rem;font-style:italic}.post table{border-collapse:collapse;width:100%;color:var(--text-muted);margin:1.5rem 0;font-size:.92rem}.post table th,.post table td{text-align:left;border:1px solid var(--border);padding:.6rem .9rem}.post table th{color:var(--text);background:rgb(var(--text-rgb) / .05);font-weight:600}.post table tbody tr:nth-child(2n){background:rgb(var(--text-rgb) / .025)}.post figure{text-align:center;margin:2rem 0}.post figure img{border-radius:var(--r-md);border:1px solid var(--border);max-width:100%}.post figure figcaption{color:var(--text-muted);margin-top:.6rem;font-size:.82rem;font-style:italic}.cmd-overlay{z-index:10000;background:rgb(var(--bg-rgb) / .75);-webkit-backdrop-filter:blur(12px);animation:cmd-fade-in .15s var(--ease);justify-content:center;align-items:flex-start;padding-top:clamp(4rem,12vh,8rem);display:flex;position:fixed;inset:0}.cmd-overlay[hidden]{display:none}@keyframes cmd-fade-in{0%{opacity:0}to{opacity:1}}.cmd-box{background:rgb(var(--bg-alt-rgb) / .97);border:1px solid rgb(var(--accent-rgb) / .18);border-radius:var(--r-lg);width:min(640px,100vw - 2rem);box-shadow:var(--elev-4);animation:cmd-slide-in .18s var(--ease);overflow:hidden}@keyframes cmd-slide-in{0%{opacity:0;transform:translateY(-12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cmd-search-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.cmd-search-icon{width:18px;height:18px;color:var(--text-faint);flex-shrink:0}.cmd-input{font-family:var(--font-sans);color:var(--text);caret-color:var(--accent2);background:0 0;border:none;outline:none;flex:1;font-size:1rem}.cmd-input::placeholder{color:var(--text-faint)}.cmd-esc-hint{color:var(--text-faint);border:1px solid var(--border);font-size:.68rem;font-family:var(--font-sans);border-radius:4px;flex-shrink:0;padding:.1em .4em}.cmd-list{max-height:min(360px,60vh);padding:.4rem 0;list-style:none;overflow-y:auto}.cmd-group-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:.6rem 1rem .25rem;font-size:.68rem}.cmd-item{cursor:pointer;transition:background var(--t-fast);color:var(--text);border-radius:0;align-items:center;gap:.75rem;padding:.65rem 1rem;font-size:.9rem;display:flex}.cmd-item:hover,.cmd-item[aria-selected=true]{background:rgb(var(--accent-rgb) / .12);color:var(--text)}.cmd-item[aria-selected=true]{background:rgb(var(--accent-rgb) / .18)}.cmd-item-icon{border-radius:var(--r-sm);background:rgb(var(--text-rgb) / .06);width:1.75rem;height:1.75rem;color:var(--accent2);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cmd-item-icon svg{width:14px;height:14px}.cmd-item-label{flex:1}.cmd-item-hint{color:var(--text-faint);font-size:.75rem}.cmd-trigger-hint{display:none}@media (pointer:fine) and (width>=681px){.cmd-trigger-hint{color:var(--text-faint);border:1px solid var(--border);cursor:pointer;transition:border-color var(--t-fast), color var(--t-fast);background:0 0;border-radius:4px;align-items:center;gap:.2em;margin-left:.5rem;padding:.1em .45em;font-family:inherit;font-size:.7rem;display:inline-flex}.cmd-trigger-hint:hover{border-color:var(--accent);color:var(--text-muted)}}.back-to-top{z-index:90;border:1px solid var(--border-hov);background:rgb(var(--bg-rgb) / .85);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);width:44px;height:44px;color:var(--text);cursor:pointer;opacity:0;transition:opacity var(--t-med) var(--ease), transform var(--t-med) var(--ease), border-color var(--t-fast), box-shadow var(--t-fast);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(12px)scale(.85)}.back-to-top svg{width:18px;height:18px;stroke:var(--accent2);transition:stroke var(--t-fast)}.back-to-top:hover{border-color:var(--accent2);box-shadow:0 0 18px var(--accent2-glow)}.back-to-top:hover svg{stroke:var(--accent2)}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}@media (width<=480px){.back-to-top{bottom:1.25rem;right:1.25rem}}@media (pointer:coarse){.back-to-top{width:48px;height:48px}}.post-back-row{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.toast{background:var(--bg-alt);color:var(--text);border:1px solid var(--accent2);z-index:10000;opacity:0;pointer-events:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:.875rem;transition:opacity .3s,transform .3s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(1rem)}.toast.visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}@media print{body{color:#000;background:#fff}#navbar,.reading-progress,.scroll-hint,.back-to-top,.cmd-overlay,#noise-canvas,#neural-canvas,#globe-canvas,#europe-canvas,.globe-legend,.globe-subtitle,.hero-actions,.nav-toggle,.cmd-trigger-hint{display:none!important}.section,.section-alt{color:#000;background:#fff}a{color:#0052cc}.site-footer{color:#333;background:#fff}}}:root{--bg:oklch(15.601% .0142 18.799);--bg-rgb:18 10 10;--bg-alt:oklch(18.315% .019 24.897);--bg-alt-rgb:26 15 14;--bg-card:#f0e6e30a;--bg-card-hov:#f0e6e312;--border:#f0e6e314;--border-hov:#cc525773;--accent:oklch(59.934% .1553 20.632);--accent-rgb:204 82 87;--accent-hi:oklch(67.507% .1359 24.606);--accent-glow:#cc525755;--accent2:oklch(60.405% .1186 47.367);--accent2-rgb:186 105 62;--accent2-hi:oklch(70.485% .1039 54.847);--accent2-glow:#ba693e44;--on-accent:oklch(95.027% .0186 21.572);--text:oklch(93.198% .0117 37.419);--text-rgb:240 230 227;--text-muted:oklch(66.907% .0236 31.822);--text-faint:oklch(59.567% .0191 31.135);--hero-grad-from:oklch(86.493% .0576 53.097);--hero-grad-to:oklch(60.332% .1382 47.1);--map-bg:oklch(14.302% .0111 18.532);--pin-lived:oklch(59.842% .1808 20.308);--pin-current:oklch(81.429% .1164 70.649);--pin-worktrip:oklch(54.964% .1173 2.792);--pin-holiday:oklch(60.332% .1382 47.1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-sans:"Inter", system-ui, sans-serif;--font-display:"Outfit", "Inter", system-ui, sans-serif;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:3rem;--space-4xl:4rem;--section-py:clamp(7rem, 12vw, 11rem);--container:1180px;--gap:var(--space-lg);--tracking-tight:-.02em;--tracking-normal:.02em;--tracking-wide:.04em;--tracking-wider:.08em;--tracking-widest:.12em;--r-sm:8px;--r-md:16px;--r-lg:24px;--r-xl:36px;--shadow-rgb:0 0 0;--elev-1:0 1px 2px rgb(var(--shadow-rgb) / .24), 0 2px 6px rgb(var(--shadow-rgb) / .2);--elev-2:0 2px 6px rgb(var(--shadow-rgb) / .26), 0 8px 20px rgb(var(--shadow-rgb) / .3);--elev-3:0 4px 12px rgb(var(--shadow-rgb) / .3), 0 16px 36px rgb(var(--shadow-rgb) / .38);--elev-4:0 8px 22px rgb(var(--shadow-rgb) / .34), 0 28px 56px rgb(var(--shadow-rgb) / .44);--o-hover:.75;--o-overlay:.38;--o-hint-lo:.3;--o-hint-hi:.9;--ease:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.3, .64, 1);--t-fast:.2s;--t-med:.4s;--t-slow:.7s;--nav-h:68px}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}
