:root{color-scheme:light dark;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;--background: #ffffff;--surface: #fafafa;--surface-strong: #f2f2f2;--panel-bg: #ffffff;--control-bg: transparent;--ink: #0d0d0d;--body-copy: #2b2b2b;--muted: #6b6b6b;--subtle: #969696;--border: #e6e6e6;--border-soft: #efefef;--border-strong: #c9c9c9;--accent: #0d0d0d;--accent-wash: #f4f4f4;--nav-text: #5a5a5a;--chip-text: #4f4f4f;--icon-text: #3d3d3d;--header-bg: rgba(255, 255, 255, .82);--invert-bg: #0d0d0d;--invert-ink: #ffffff;--bg-ink-rgb: 13, 13, 13;--bg-dot-alpha: .075;--bg-glow-alpha: .28;--bg-line-alpha: .05;--media-filter: grayscale(1) contrast(1.02);--radius: 2px;--section: min(1400px, calc(100vw - 64px) );--fa-family-classic: "Font Awesome 7 Free";--fa-family-brands: "Font Awesome 7 Brands"}:root[data-theme=dark]{--background: #0a0a0a;--surface: #101010;--surface-strong: #171717;--panel-bg: #0d0d0d;--control-bg: transparent;--ink: #f6f6f6;--body-copy: #d8d8d8;--muted: #9a9a9a;--subtle: #707070;--border: #242424;--border-soft: #1c1c1c;--border-strong: #3d3d3d;--accent: #ffffff;--accent-wash: rgba(255, 255, 255, .06);--nav-text: #a5a5a5;--chip-text: #b4b4b4;--icon-text: #cfcfcf;--header-bg: rgba(10, 10, 10, .82);--invert-bg: #f6f6f6;--invert-ink: #0a0a0a;--bg-ink-rgb: 246, 246, 246;--bg-dot-alpha: .1;--bg-glow-alpha: .34;--bg-line-alpha: .06;--media-filter: grayscale(1) contrast(1.05) brightness(.94)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(/assets/fa-solid-900-DRAAbZTg.woff2) format("woff2")}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/assets/fa-brands-400-BP5tdqmh.woff2) format("woff2")}@font-face{font-family:Academicons;font-style:normal;font-weight:400;font-display:block;src:url(/assets/academicons-B7_RQkEg.woff) format("woff")}.fa,.fa-solid,.fa-brands,.fas,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-family:var(--fa-family, "Font Awesome 7 Free");font-style:normal;font-variant:normal;font-weight:var(--fa-style, 900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width, 1.25em)}.fa-solid,.fas{--fa-family: var(--fa-family-classic, "Font Awesome 7 Free");--fa-style: 900}.fa-brands,.fab{--fa-family: var(--fa-family-brands, "Font Awesome 7 Brands");--fa-style: 400}.fa-arrow-up-right-from-square{--fa: ""}.fa-arrow-right{--fa: ""}.fa-arrow-left{--fa: ""}.fa-arrow-down{--fa: ""}.fa-magnifying-glass{--fa: ""}.fa-check{--fa: ""}.fa-bars{--fa: ""}.fa-chevron-down{--fa: ""}.fa-chevron-up{--fa: ""}.fa-code{--fa: ""}.fa-database{--fa: ""}.fa-envelope{--fa: ""}.fa-file-lines{--fa: ""}.fa-file-pdf{--fa: ""}.fa-book{--fa: ""}.fa-chalkboard{--fa: ""}.fa-location-dot{--fa: ""}.fa-download{--fa: ""}.fa-globe{--fa: ""}.fa-images{--fa: ""}.fa-link{--fa: ""}.fa-moon{--fa: ""}.fa-play{--fa: ""}.fa-quote-right{--fa: ""}.fa-star{--fa: ""}.fa-sun{--fa: ""}.fa-xmark{--fa: ""}.fa-github{--fa: ""}.fa-hugging-face{--fa: ""}.fa-linkedin-in{--fa: ""}.fa-weixin{--fa: ""}.fa-zhihu{--fa: ""}.fa-video{--fa: ""}.fa:before,.fa-solid:before,.fa-brands:before,.fas:before,.fab:before{content:var(--fa)}@supports (content: "" / ""){.fa:before,.fa-solid:before,.fa-brands:before,.fas:before,.fab:before{content:var(--fa) / ""}}.ai{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-family:Academicons;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-rendering:auto}.ai-google-scholar:before{content:""}.ai-dblp:before{content:""}.ai-orcid:before{content:""}*{box-sizing:border-box}html{font-size:16.5px;scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;min-width:320px;font-size:15px;font-weight:400;background:var(--background);color:var(--ink);line-height:1.62;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .22s ease,color .22s ease}a{color:var(--accent);text-decoration:none}button,input{font:inherit}::selection{background:var(--invert-bg);color:var(--invert-ink)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.geo-canvas{position:fixed;inset:0;z-index:-1;width:100%;height:100%;display:block;pointer-events:none}.skip-link{position:fixed;top:10px;left:10px;z-index:100;border-radius:var(--radius);background:var(--invert-bg);color:var(--invert-ink);font-weight:500;padding:9px 13px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.section{width:100%;margin:0;padding:34px 0;scroll-margin-top:86px}.site-header{position:sticky;top:0;z-index:20;min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1400px)/2));border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%)}.scroll-progress{position:absolute;left:0;bottom:-1px;height:1px;width:100%;transform:scaleX(var(--scroll-progress, 0));transform-origin:left center;background:var(--accent);will-change:transform}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-display);color:var(--ink);font-size:1.12rem;letter-spacing:.01em}.brand-mark{display:inline-grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border:1px solid var(--border-strong);border-radius:50%;font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.02em;color:var(--ink);transition:background .22s ease,color .22s ease,transform .42s cubic-bezier(.3,.8,.3,1)}.brand:hover .brand-mark{background:var(--invert-bg);color:var(--invert-ink);transform:rotate(90deg)}.header-actions{display:flex;align-items:center;gap:6px}.primary-nav{display:flex;align-items:center;gap:2px}.primary-nav a{position:relative;color:var(--nav-text);font-size:.78rem;font-weight:450;letter-spacing:.01em;padding:8px 10px;transition:color .2s ease}.primary-nav a:after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .26s cubic-bezier(.3,.8,.3,1)}.primary-nav a:hover,.primary-nav a.is-active{color:var(--ink)}.primary-nav a:hover:after,.primary-nav a.is-active:after{transform:scaleX(1)}.theme-button,.menu-button{width:38px;height:38px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius);background:var(--control-bg);color:var(--muted);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.theme-button{display:inline-flex}.theme-button:hover,.menu-button:hover{border-color:var(--border);background:var(--accent-wash);color:var(--ink)}.menu-button{display:none}.page-shell{width:var(--section);margin:0 auto;display:grid;grid-template-columns:268px minmax(0,1fr);gap:56px;align-items:start}.content-main{min-width:0}.profile-sidebar{position:sticky;top:86px;max-height:calc(100vh - 86px);overflow-y:auto;padding-top:44px;padding-bottom:28px;scrollbar-width:thin}.sidebar-card{background:transparent;border:0;padding:0}.sidebar-avatar-frame{width:88%;aspect-ratio:1862 / 2685;display:grid;place-items:center;margin:0 0 22px;border:1px solid var(--border);border-radius:18px;overflow:hidden}.sidebar-avatar{width:100%;height:100%;display:block;border-radius:18px;object-fit:cover;filter:var(--media-filter);transition:filter .42s ease,transform .52s cubic-bezier(.3,.8,.3,1)}.sidebar-avatar-frame:hover .sidebar-avatar{filter:none;transform:scale(1.04)}.sidebar-avatar-placeholder{display:grid;place-items:center;background:transparent;color:var(--ink);font-family:var(--font-display);font-size:2.5rem;letter-spacing:.02em;filter:none}.sidebar-identity h1{margin:0;font-family:var(--font-display);color:var(--ink);font-size:1.85rem;line-height:1.18;font-weight:440;letter-spacing:.002em}.sidebar-identity p{margin:6px 0 0;font-family:var(--font-display);font-style:italic;color:var(--muted);font-size:1rem;font-weight:440}.sidebar-affiliations{display:grid;gap:10px;margin-top:14px}.sidebar-affiliation-status{position:relative;display:flex;align-items:baseline;gap:6px;margin:0;padding-right:18px;color:var(--ink);font-size:.84rem;line-height:1.4}.sidebar-affiliation-institution{margin:3px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.info-popover{display:inline-flex;align-items:center;flex-shrink:0}.info-trigger{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:transparent;color:var(--subtle);font-family:var(--font-mono);font-size:.62rem;font-weight:600;font-style:italic;line-height:1;cursor:pointer;transition:color .2s ease,border-color .2s ease}.info-trigger:hover,.info-trigger:focus-visible,.info-trigger.is-open{color:var(--ink);border-color:var(--ink)}.info-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.info-bubble{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:5;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-bg);color:var(--muted);font-family:var(--font-body);font-size:.72rem;font-style:normal;line-height:1.55;letter-spacing:0;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s;pointer-events:none}.info-trigger:hover+.info-bubble,.info-trigger:focus-visible+.info-bubble,.info-bubble.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.sidebar-meta{display:grid;gap:7px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:-.01em}.sidebar-meta span,.sidebar-meta a{display:inline-flex;min-width:0;align-items:center;gap:9px}.sidebar-meta a{color:var(--muted);transition:color .2s ease}.sidebar-meta a:hover{color:var(--ink)}.sidebar-meta i{width:13px;font-size:.7rem;color:var(--subtle);text-align:center}.sidebar-block{margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}.sidebar-block h2,.label-micro{margin:0 0 14px;font-family:var(--font-mono);color:var(--subtle);font-size:.63rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em}.sidebar-news{display:grid;gap:2px}.sidebar-news a{position:relative;display:grid;gap:4px;padding:9px 10px 9px 12px;color:var(--body-copy);font-size:.79rem;line-height:1.45;transition:background .24s ease,transform .24s cubic-bezier(.3,.8,.3,1)}.sidebar-news a:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:1px;background:var(--accent);transform:scaleY(0);transform-origin:top center;transition:transform .28s cubic-bezier(.3,.8,.3,1)}.sidebar-news a:hover,.sidebar-news a:focus-visible{background:var(--accent-wash);color:var(--ink);transform:translate(3px)}.sidebar-news a:hover:before,.sidebar-news a:focus-visible:before{transform:scaleY(1)}.sidebar-news time{color:var(--subtle);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.02em}.sidebar-news-text{display:block}.about-section{padding-top:44px}.profile-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.profile-links a{display:inline-grid;width:33px;height:33px;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--control-bg);color:var(--icon-text);font-size:.94rem;line-height:1;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .26s cubic-bezier(.3,.8,.3,1)}.profile-links a:hover{border-color:var(--invert-bg);background:var(--invert-bg);color:var(--invert-ink);transform:translateY(-2px)}.sidebar-toggle{display:none;align-items:center;justify-content:center;gap:8px;width:100%;margin:22px 0 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--control-bg);color:var(--muted);font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;line-height:1;padding:11px 12px;cursor:pointer;transition:color .2s ease,border-color .2s ease}.sidebar-toggle:hover{border-color:var(--border-strong);color:var(--ink)}.sidebar-toggle i{font-size:.66rem}.sidebar-collapsible{display:block}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:22px;margin-bottom:26px;padding-bottom:12px;border-bottom:1px solid var(--border)}.section-title h2{display:inline-flex;align-items:baseline;gap:12px;margin:0;font-family:var(--font-display);color:var(--ink);font-size:1.72rem;font-weight:440;line-height:1.22;letter-spacing:.004em}.section-index{font-family:var(--font-mono);color:var(--subtle);font-size:.66rem;font-weight:500;letter-spacing:.1em}.section-title p{margin:0;color:var(--subtle);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.01em;text-align:right}.intro-copy{max-width:100%;color:var(--body-copy);font-size:1rem;line-height:1.78}.intro-copy p{margin:0 0 16px}.intro-copy p:last-child{margin-bottom:0}.intro-copy a{color:var(--ink);background-image:linear-gradient(var(--accent),var(--accent));background-size:100% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .26s cubic-bezier(.3,.8,.3,1)}.intro-copy a:hover{background-size:0 1px;background-position:100% 100%}.focus-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.sidebar-block .focus-row{margin-top:0}.focus-row span{border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--chip-text);font-family:var(--font-mono);font-size:.67rem;letter-spacing:-.01em;padding:5px 9px;transition:border-color .22s ease,color .22s ease}.focus-row span:hover{border-color:var(--border-strong);color:var(--ink)}.publication-group{margin-top:34px}.publication-group:first-child{margin-top:0}.publication-group>h3{display:flex;align-items:center;gap:14px;margin:0 0 20px;font-family:var(--font-mono);color:var(--subtle);font-size:.66rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em}.publication-group>h3:after{content:"";height:1px;flex:1;background:var(--border)}.highlight-list{display:grid;gap:18px;margin-bottom:22px}.featured-paper{position:relative;display:grid;grid-template-columns:minmax(300px,38%) minmax(0,1fr);gap:26px;align-items:start;border:1px solid var(--border);border-radius:var(--radius);background:transparent;padding:22px;transition:border-color .28s ease,transform .28s cubic-bezier(.3,.8,.3,1)}.featured-paper:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top center;transition:transform .34s cubic-bezier(.3,.8,.3,1)}.featured-paper:hover,.featured-paper:focus-within{border-color:var(--border-strong);transform:translateY(-2px)}.featured-paper:hover:before,.featured-paper:focus-within:before{transform:scaleY(1)}.paper-figure{overflow:hidden;aspect-ratio:16 / 9;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);transition:border-color .28s ease}.featured-paper:hover .paper-figure{border-color:var(--border)}.paper-figure picture{display:block;width:100%;height:100%}.paper-figure img{width:100%;height:100%;object-fit:contain;display:block;filter:var(--media-filter);transition:transform .48s cubic-bezier(.3,.8,.3,1),filter .42s ease}.featured-paper:hover .paper-figure img,.featured-paper:focus-within .paper-figure img{transform:scale(1.03);filter:none}.paper-figure-fallback{display:grid;place-items:center;background:repeating-linear-gradient(-45deg,transparent,transparent 7px,var(--border-soft) 7px,var(--border-soft) 8px),var(--surface)}.paper-figure-fallback span{max-width:76%;padding:8px 14px;background:var(--background);border:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;line-height:1.4;text-align:center}.paper-venue-line,.compact-venue{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:9px;color:var(--muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.02em;line-height:1.5}.paper-venue-line{width:fit-content;margin-bottom:12px}.paper-venue-line>span:first-child,.compact-venue>span:first-child{color:var(--ink)}.paper-venue-line time,.compact-venue time{color:var(--subtle)}.paper-venue-line .venue-type,.compact-venue .venue-type{color:var(--subtle);text-transform:uppercase;letter-spacing:.1em;font-size:.62rem}.featured-paper-copy h4,.compact-main h4{margin:0;font-family:var(--font-display);color:var(--ink);line-height:1.36;font-weight:460}.featured-paper-copy h4{font-size:1.28rem;letter-spacing:.004em}.featured-paper-copy p,.compact-main p{color:var(--muted);line-height:1.6;font-size:.85rem}.authors{color:var(--body-copy)!important;font-size:.82rem!important}.authors strong{color:var(--ink);font-weight:600}.action-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.action-links a{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:var(--radius);background:var(--control-bg);color:var(--muted);font-family:var(--font-mono);font-size:.67rem;letter-spacing:.02em;padding:6px 10px;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s cubic-bezier(.3,.8,.3,1)}.action-links a:hover{border-color:var(--invert-bg);background:var(--invert-bg);color:var(--invert-ink);transform:translateY(-1px)}.action-links a>i{min-width:1em;font-size:.72rem;text-align:center}.repo-stats{display:inline-flex;align-items:center;gap:6px;margin-left:2px;padding-left:8px;border-left:1px solid currentColor;font-size:.64rem;opacity:.75}.repo-stat{display:inline-flex;align-items:center;gap:4px}.repo-stat i{font-size:.62rem}.compact-paper-list{border-top:1px solid var(--border-soft)}.compact-paper-row{display:grid;grid-template-columns:150px minmax(0,1fr) max-content;gap:20px;align-items:start;border-bottom:1px solid var(--border-soft);padding:16px 8px;transition:background .24s ease,padding-left .24s cubic-bezier(.3,.8,.3,1)}.compact-paper-row:hover{background:var(--accent-wash);padding-left:14px}.compact-main h4{font-size:1rem}.compact-main p,.featured-paper-copy p{margin:7px 0 0}.compact-paper-row .action-links{justify-content:flex-end;margin-top:0}.compact-paper-row .action-links a{border-color:transparent;padding:5px 8px}.compact-paper-row .action-links a:hover{border-color:var(--invert-bg)}.paper-tags,.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.paper-tags span,.project-tags span{border:0;border-radius:0;background:transparent;color:var(--subtle);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.02em;line-height:1.2;padding:0}.paper-tags span:before,.project-tags span:before{content:"/ ";color:var(--border-strong)}.talks-section{display:grid;gap:30px}.talk-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.talk-card{position:relative;display:flex;flex-direction:column;gap:18px;border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:border-color .28s ease,transform .28s cubic-bezier(.3,.8,.3,1)}.talk-card:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top center;transition:transform .34s cubic-bezier(.3,.8,.3,1)}.talk-card:hover,.talk-card:focus-within{border-color:var(--border-strong);transform:translateY(-2px)}.talk-card:hover:before,.talk-card:focus-within:before{transform:scaleY(1)}.talk-card-media{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 9;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);transition:border-color .28s ease}.talk-card:hover .talk-card-media{border-color:var(--border)}.talk-card-media img{width:100%;height:100%;display:block;object-fit:cover;filter:var(--media-filter);transition:transform .48s cubic-bezier(.3,.8,.3,1),filter .42s ease}.talk-card:hover .talk-card-media img,.talk-card:focus-within .talk-card-media img{transform:scale(1.03);filter:none}.talk-card-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:40px;height:40px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.72);border-radius:50%;background:#00000057;color:#fff;font-size:.66rem;transition:background .28s ease,border-color .28s ease}.talk-card:hover .talk-card-play,.talk-card:focus-within .talk-card-play{border-color:#fff;background:#00000085}.talk-card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.talk-card-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.talk-card-meta span{color:var(--ink)}.talk-card-meta time{color:var(--subtle)}.talk-card-copy h3{margin:0;font-family:var(--font-display);color:var(--ink);font-size:1.12rem;line-height:1.34;font-weight:460}.talk-card-context{margin:0;color:var(--muted);font-size:.86rem;line-height:1.6}.talk-card-watch{display:inline-flex;align-items:center;gap:7px;margin-top:2px;border:1px solid var(--border);border-radius:var(--radius);background:var(--control-bg);color:var(--muted);font-family:var(--font-mono);font-size:.67rem;letter-spacing:.02em;padding:7px 12px;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s cubic-bezier(.3,.8,.3,1)}.talk-card-watch:hover,.talk-card-watch:focus-visible{border-color:var(--invert-bg);background:var(--invert-bg);color:var(--invert-ink);transform:translateY(-1px)}.talk-card-watch i{min-width:1em;font-size:.64rem;text-align:center}.project-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 28px) / 3);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:2px;scroll-snap-type:inline proximity;scrollbar-width:thin;padding:3px 2px 16px}.project-grid:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-card{position:relative;display:flex;min-width:0;flex-direction:column;scroll-snap-align:start;border:1px solid var(--border);border-radius:var(--radius);background:transparent;padding:20px;transition:border-color .28s ease,transform .28s cubic-bezier(.3,.8,.3,1)}.project-card:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .34s cubic-bezier(.3,.8,.3,1)}.project-card:hover,.project-card:focus-within{border-color:var(--border-strong);transform:translateY(-3px)}.project-card:hover:before,.project-card:focus-within:before{transform:scaleX(1)}.project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.project-card h3{margin:0;font-family:var(--font-display);color:var(--ink);font-size:1.14rem;font-weight:460;line-height:1.36}.project-status{flex:0 0 auto;margin-top:5px;color:var(--subtle);font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.project-card p{margin:14px 0 0;color:var(--muted);font-size:.84rem;line-height:1.6}.project-card .action-links{margin-top:auto;padding-top:16px}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:26px;align-items:start;padding:18px 8px;border-bottom:1px solid var(--border-soft);color:var(--ink);transition:background .24s ease,padding-left .24s cubic-bezier(.3,.8,.3,1)}.timeline-item:hover{background:var(--accent-wash);padding-left:14px}.timeline-item time{color:var(--subtle);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.01em;line-height:1.5;white-space:nowrap;text-align:right}.timeline-item strong{display:block;font-family:var(--font-display);font-size:1.08rem;font-weight:460;line-height:1.36}.timeline-main p{display:block;margin:6px 0 0;line-height:1.6;color:var(--muted);font-size:.84rem;max-width:62ch}.timeline-place{display:block;margin:4px 0 0;color:var(--body-copy);font-size:.84rem;line-height:1.5}a.timeline-place{width:fit-content;background-image:linear-gradient(var(--accent),var(--accent));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .26s cubic-bezier(.3,.8,.3,1),color .2s ease}a.timeline-place:hover{color:var(--ink);background-size:100% 1px}.timeline-watch{display:inline-flex;align-items:center;gap:7px;margin-top:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--control-bg);color:var(--muted);font-family:var(--font-mono);font-size:.67rem;letter-spacing:.02em;padding:7px 12px;width:fit-content;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s cubic-bezier(.3,.8,.3,1)}.timeline-watch:hover,.timeline-watch:focus-visible{border-color:var(--invert-bg);background:var(--invert-bg);color:var(--invert-ink);transform:translateY(-1px)}.timeline-watch i{min-width:1em;font-size:.64rem;text-align:center}.honor-list,.service-groups{display:grid;gap:0}.service-groups{gap:26px}.service-group{padding-left:0;border-left:0}.service-group h3{display:flex;align-items:center;gap:14px;margin:0 0 12px;font-family:var(--font-mono);color:var(--subtle);font-size:.64rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em}.service-group h3:after{content:"";height:1px;flex:1;background:var(--border)}.honor-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:20px;align-items:baseline;border-bottom:1px solid var(--border-soft);color:var(--body-copy);padding:15px 8px;transition:background .24s ease,padding-left .24s cubic-bezier(.3,.8,.3,1)}.honor-row:hover{background:var(--accent-wash);padding-left:14px}.honor-row span{min-width:0;line-height:1.5;font-size:.9rem}.honor-row time{color:var(--subtle);font-family:var(--font-mono);font-size:.7rem;white-space:nowrap}.service-chip-grid{display:flex;flex-wrap:wrap;gap:6px}.service-chip{display:inline-flex;align-items:baseline;gap:8px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--body-copy);font-size:.79rem;line-height:1.2;padding:7px 10px;transition:border-color .22s ease}.service-chip:hover{border-color:var(--border-strong)}.service-chip time{color:var(--subtle);font-family:var(--font-mono);font-size:.66rem;white-space:nowrap}.metrics-dashboard{display:grid;gap:22px}.metric-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.metric-card{min-height:96px;display:grid;align-content:center;gap:6px;background:var(--background);padding:18px}.metric-card strong{font-family:var(--font-display);color:var(--ink);font-size:2rem;font-weight:460;line-height:1;font-variant-numeric:tabular-nums}.metric-card span{color:var(--subtle);font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chart-card{min-height:210px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;padding:20px}.chart-card h3{margin:0 0 18px;font-family:var(--font-mono);color:var(--subtle);font-size:.64rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em}.bar-chart{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:minmax(96px,.42fr) minmax(0,1fr) 32px;gap:12px;align-items:center}.bar-label,.bar-value{color:var(--muted);font-family:var(--font-mono);font-size:.7rem;line-height:1.3}.bar-value{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.bar-track{position:relative;height:6px;overflow:hidden;background:var(--surface-strong)}.bar-fill{position:absolute;inset:0 auto 0 0;width:var(--bar-value);background:var(--chart-color, var(--accent))}.chart-card-donut{min-height:210px}.donut-layout{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center}.donut-chart{width:120px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--donut-gradient)}.donut-chart span{width:64px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--background);color:var(--ink);font-family:var(--font-display);font-size:1.3rem;font-variant-numeric:tabular-nums}.chart-legend{display:grid;gap:9px}.chart-legend span{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-family:var(--font-mono);font-size:.68rem;line-height:1.3}.chart-legend i{width:8px;height:8px;flex:0 0 auto;background:var(--chart-color, var(--accent))}.site-footer{margin-top:44px;border-top:1px solid var(--border);background:transparent}.footer-inner{width:var(--section);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--subtle);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.01em}.footer-links{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:18px}.footer-links a{display:inline-flex;align-items:center;gap:7px;color:var(--subtle);transition:color .2s ease}.footer-links a:hover{color:var(--ink)}.reveal{opacity:0;transform:translateY(14px);transition:opacity .62s cubic-bezier(.3,.8,.3,1),transform .62s cubic-bezier(.3,.8,.3,1);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none;will-change:auto}@media(max-width:960px){:root{--section: min(100vw - 28px, 720px)}.page-shell{display:block}.profile-sidebar{position:static;max-height:none;overflow:visible;padding-top:34px;padding-bottom:0}.sidebar-card{display:block}.sidebar-avatar-frame{width:116px;margin:0 0 20px}.sidebar-toggle{display:inline-flex}.sidebar-collapsible{display:none}.sidebar-collapsible.is-open{display:block}}@media(max-width:1120px)and (min-width:861px){.brand span{display:none}}@media(max-width:860px){html{scroll-behavior:auto}.site-header{min-height:60px;padding:0 14px}.primary-nav{position:fixed;top:60px;right:14px;left:14px;display:none;flex-direction:column;align-items:stretch;gap:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);padding:6px}.primary-nav.is-open{display:flex}.primary-nav a{padding:13px 12px;font-size:.86rem}.primary-nav a:after{left:12px;right:12px;bottom:8px}.menu-button{display:inline-flex}.featured-paper,.compact-paper-row,.talk-card-grid,.metric-card-grid,.chart-grid{grid-template-columns:1fr}.project-grid{grid-auto-columns:min(82vw,340px)}.section-title{display:block}.section-title p{margin-top:8px;text-align:left}.compact-paper-row .action-links{justify-content:flex-start;margin-top:12px}.donut-layout{grid-template-columns:1fr}}@media(max-width:520px){.brand{min-width:0}.brand span{max-width:min(46vw,180px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section{padding:26px 0}.about-section{padding-top:34px}.section-title h2{font-size:1.5rem}.sidebar-identity h1{font-size:1.6rem}.project-grid{grid-auto-columns:min(84vw,320px)}.timeline-item{grid-template-columns:1fr;gap:6px}.timeline-item time{order:-1;text-align:left}.bar-row{grid-template-columns:minmax(0,1fr) 40px}.bar-label{grid-column:1 / -1}.footer-inner{display:grid}.footer-links{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.sidebar-news a,.project-card,.featured-paper,.paper-figure,.paper-figure img,.sidebar-avatar,.timeline-item,.honor-row,.compact-paper-row,.talk-card,.talk-card-media,.talk-card-media img,.talk-card-watch,.brand-mark,.action-links a,.profile-links a{transition:none}.sidebar-news a:hover,.sidebar-news a:focus-visible,.project-card:hover,.project-card:focus-within,.featured-paper:hover,.featured-paper:focus-within,.featured-paper:hover .paper-figure img,.featured-paper:focus-within .paper-figure img,.sidebar-avatar-frame:hover .sidebar-avatar,.talk-card:hover,.talk-card:focus-within,.talk-card:hover .talk-card-media img,.talk-card:focus-within .talk-card-media img,.talk-card-watch:hover,.brand:hover .brand-mark,.action-links a:hover,.profile-links a:hover{transform:none}.timeline-item:hover,.honor-row:hover,.compact-paper-row:hover{padding-left:8px}}.blog-route{display:block;min-height:60vh}.blog-page{width:var(--section);margin:0 auto;padding-bottom:72px}.blog-masthead{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding:68px 0 26px}.blog-masthead-main{max-width:62ch;animation:blog-rise .62s cubic-bezier(.3,.8,.3,1) both}.blog-kicker{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--subtle)}.blog-masthead h1{margin:12px 0 14px;font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.1rem);font-weight:420;line-height:1.02;letter-spacing:-.012em;color:var(--ink)}.blog-masthead p{margin:0;max-width:56ch;color:var(--muted);font-size:.94rem;line-height:1.68}.blog-masthead-meta{display:flex;gap:30px;padding-bottom:8px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);animation:blog-rise .62s cubic-bezier(.3,.8,.3,1) .12s both}.blog-masthead-meta strong{display:block;font-family:var(--font-display);font-size:1.7rem;font-weight:420;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1.1}.blog-masthead-rule{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--border-strong);transform-origin:left center;animation:rule-draw .9s cubic-bezier(.3,.8,.3,1) .18s both}.blog-shell{display:grid;grid-template-columns:236px minmax(0,1fr);gap:56px;align-items:start;padding-top:34px}.blog-rail{position:sticky;top:86px;max-height:calc(100vh - 110px);overflow-y:auto;scrollbar-width:thin;animation:blog-rise .62s cubic-bezier(.3,.8,.3,1) 90ms both}.blog-rail-inner{display:flex;flex-direction:column;gap:26px;padding-bottom:20px}.blog-rail-block h2,.post-rail-block h2,.post-toc h2{margin:0 0 12px;font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--subtle)}.blog-search{position:relative;display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);transition:border-color .22s ease,box-shadow .22s ease}.blog-search:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--accent-wash)}.blog-search i{font-size:.7rem;color:var(--subtle)}.blog-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--ink);font-size:.82rem}.blog-search input::-webkit-search-cancel-button{display:none}.blog-search kbd{font-family:var(--font-mono);font-size:.58rem;color:var(--subtle);border:1px solid var(--border);border-radius:3px;padding:1px 5px;transition:opacity .2s ease}.blog-search:focus-within kbd{opacity:0}.collection-filter{display:flex;flex-direction:column}.collection-row{position:relative;display:grid;grid-template-columns:10px minmax(0,1fr) max-content;align-items:center;gap:9px;padding:8px 2px;border:0;border-bottom:1px solid var(--border-soft);background:transparent;color:var(--muted);cursor:pointer;text-align:left;transition:color .2s ease,padding-left .26s cubic-bezier(.3,.8,.3,1)}.collection-row:hover{color:var(--ink);padding-left:5px}.collection-row.is-active{color:var(--ink)}.collection-tick{width:10px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .32s cubic-bezier(.3,.8,.3,1)}.collection-row:hover .collection-tick{transform:scaleX(.55)}.collection-row.is-active .collection-tick{transform:scaleX(1)}.collection-name{font-size:.84rem;letter-spacing:-.004em}.collection-row.is-active .collection-name{font-weight:500}.collection-count{font-family:var(--font-mono);font-size:.62rem;color:var(--subtle)}.tag-filter{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--chip-text);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.01em;cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s cubic-bezier(.3,.8,.3,1)}.tag-chip span{color:var(--subtle);transition:color .22s ease}.tag-chip:hover{border-color:var(--border-strong);color:var(--ink);transform:translateY(-1px)}.tag-chip.is-active{background:var(--invert-bg);border-color:var(--invert-bg);color:var(--invert-ink)}.tag-chip.is-active span{color:var(--invert-ink);opacity:.6}.blog-controls{display:flex;flex-direction:column;gap:10px}.view-toggle{position:relative;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.view-toggle-thumb{position:absolute;top:0;bottom:0;left:0;width:50%;background:var(--accent-wash);border-right:1px solid var(--border);transform:translate(calc(var(--toggle-index, 0) * 100%));transition:transform .38s cubic-bezier(.3,.8,.3,1)}.view-toggle button{position:relative;z-index:1;padding:7px 4px;border:0;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .22s ease}.view-toggle button.is-active{color:var(--ink)}.order-button{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .2s ease,border-color .2s ease}.order-button:hover{color:var(--ink);border-color:var(--border-strong)}.order-button i{font-size:.62rem;transition:transform .42s cubic-bezier(.3,.8,.3,1)}.order-button i[data-flipped=true]{transform:rotate(180deg)}.clear-filters{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-size:.72rem;cursor:pointer;transition:color .2s ease,border-color .2s ease}.clear-filters:hover{color:var(--ink);border-color:var(--border-strong)}.clear-filters i{font-size:.66rem}.blog-listing{min-width:0}.blog-listing-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border)}.blog-count{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle)}.blog-entries{padding-top:8px}.pinned-entry{position:relative;padding:26px 0 30px;border-bottom:1px solid var(--border);overflow:hidden;animation:blog-rise .56s cubic-bezier(.3,.8,.3,1) both;animation-delay:calc(var(--stagger, 0) * 60ms)}.pinned-entry-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.entry-flag{padding:3px 8px;border:1px solid var(--border-strong);border-radius:999px;font-family:var(--font-mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.entry-date{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;color:var(--subtle)}.pinned-entry-body{display:block;max-width:60ch}.pinned-entry-body h2{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(1.7rem,3.4vw,2.3rem);font-weight:430;line-height:1.16;letter-spacing:-.008em;color:var(--ink);transition:opacity .22s ease}.pinned-entry-body p{margin:0 0 16px;color:var(--body-copy);font-size:.95rem;line-height:1.68}.entry-cta{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.entry-cta i{font-size:.62rem;transition:transform .34s cubic-bezier(.3,.8,.3,1)}.pinned-entry-body:hover .entry-cta i{transform:translate(6px)}.pinned-entry-body:hover h2{opacity:.72}.pinned-entry .entry-meta{margin-top:18px}.pinned-entry-mark{position:absolute;top:18px;right:-40px;width:190px;height:190px;border:1px solid var(--border);border-radius:50%;pointer-events:none;transition:transform .9s cubic-bezier(.3,.8,.3,1),opacity .6s ease;opacity:.9}.pinned-entry:hover .pinned-entry-mark{transform:rotate(28deg) scale(1.06);opacity:1}.entry-list{display:flex;flex-direction:column}.entry-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 22px;gap:16px;align-items:start;padding:24px 0;border-bottom:1px solid var(--border-soft);animation:blog-rise .56s cubic-bezier(.3,.8,.3,1) both;animation-delay:calc(var(--stagger, 0) * 55ms);transition:padding-left .38s cubic-bezier(.3,.8,.3,1)}.entry-card:before{content:"";position:absolute;left:-14px;top:24px;bottom:24px;width:1px;background:var(--accent);transform:scaleY(0);transform-origin:top center;transition:transform .42s cubic-bezier(.3,.8,.3,1)}.entry-card:hover{padding-left:8px}.entry-card:hover:before{transform:scaleY(1)}.entry-number{padding-top:3px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;color:var(--subtle);transition:color .24s ease,transform .42s cubic-bezier(.3,.8,.3,1)}.entry-card:hover .entry-number{color:var(--ink);transform:translateY(-2px)}.entry-card-main{min-width:0}.entry-card h2{margin:7px 0 9px;font-family:var(--font-display);font-size:1.32rem;font-weight:430;line-height:1.26;letter-spacing:-.004em}.entry-card h2 a{color:var(--ink)}.entry-card h2 a span{background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .42s cubic-bezier(.3,.8,.3,1);padding-bottom:2px}.entry-card:hover h2 a span{background-size:100% 1px}.entry-card p{margin:0 0 12px;max-width:62ch;color:var(--muted);font-size:.88rem;line-height:1.66}.entry-arrow{align-self:center;font-size:.72rem;color:var(--subtle);opacity:0;transform:translate(-8px);transition:opacity .3s ease,transform .38s cubic-bezier(.3,.8,.3,1)}.entry-card:hover .entry-arrow{opacity:1;transform:translate(0);color:var(--ink)}.entry-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle)}.entry-collection{color:var(--chip-text)}.entry-dot{width:3px;height:3px;border-radius:50%;background:var(--border-strong)}.entry-tags{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:4px}.entry-tags span{padding:2px 7px;border:1px solid var(--border);border-radius:999px;text-transform:none;letter-spacing:.02em}.archive{display:flex;flex-direction:column;gap:30px;padding-top:14px}.archive-year{animation:blog-rise .54s cubic-bezier(.3,.8,.3,1) both;animation-delay:calc(var(--stagger, 0) * 70ms)}.archive-year h2{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 6px;padding-bottom:8px;border-bottom:1px solid var(--border);font-family:var(--font-display);font-size:1.4rem;font-weight:420;color:var(--ink)}.archive-year-count{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;color:var(--subtle)}.archive-rows{position:relative;padding-left:18px}.archive-rows:before{content:"";position:absolute;left:3px;top:14px;bottom:14px;width:1px;background:var(--border)}.archive-row{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr) max-content;gap:14px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--border-soft);transition:padding-left .32s cubic-bezier(.3,.8,.3,1)}.archive-node{position:absolute;left:-18px;top:18px;width:7px;height:7px;border:1px solid var(--border-strong);border-radius:50%;background:var(--background);transition:background .26s ease,border-color .26s ease,transform .38s cubic-bezier(.3,.8,.3,1)}.archive-row:hover{padding-left:8px}.archive-row:hover .archive-node{background:var(--accent);border-color:var(--accent);transform:scale(1.25)}.archive-row time{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;color:var(--subtle)}.archive-title{color:var(--ink);font-size:.94rem;letter-spacing:-.004em}.archive-collection{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}.archive-summary{grid-column:2 / 3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:0;margin-top:0;color:var(--muted);font-size:.82rem;line-height:1.6;opacity:0;transition:max-height .38s cubic-bezier(.3,.8,.3,1),opacity .3s ease,margin-top .38s ease}.archive-row:hover .archive-summary,.archive-row:focus-visible .archive-summary{max-height:3.4em;margin-top:7px;opacity:1}.blog-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:72px 20px;text-align:center;animation:blog-rise .52s cubic-bezier(.3,.8,.3,1) both}.blog-empty-page{padding-top:130px}.blog-empty-mark{width:52px;height:52px;border:1px solid var(--border-strong);border-radius:50%;position:relative;animation:mark-spin 14s linear infinite}.blog-empty-mark:after{content:"";position:absolute;inset:12px;border:1px solid var(--border)}.blog-empty h2{margin:6px 0 0;font-family:var(--font-display);font-size:1.5rem;font-weight:430;color:var(--ink)}.blog-empty p{margin:0;color:var(--muted);font-size:.88rem}.blog-empty button,.blog-empty a{margin-top:6px;padding:8px 16px;border:1px solid var(--border-strong);border-radius:var(--radius);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .22s ease,color .22s ease}.blog-empty button:hover,.blog-empty a:hover{background:var(--invert-bg);color:var(--invert-ink)}.post-shell{display:grid;grid-template-columns:232px minmax(0,1fr);gap:60px;align-items:start;padding-top:54px}.post-rail{position:sticky;top:86px;max-height:calc(100vh - 110px);overflow-y:auto;scrollbar-width:thin;animation:blog-rise .56s cubic-bezier(.3,.8,.3,1) 80ms both}.post-rail-inner{display:flex;flex-direction:column;gap:24px;padding-bottom:20px}.post-back{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .2s ease}.post-back i{font-size:.62rem;transition:transform .34s cubic-bezier(.3,.8,.3,1)}.post-back:hover{color:var(--ink)}.post-back:hover i{transform:translate(-5px)}.post-rail-collection{margin:0 0 4px;color:var(--ink);font-size:.86rem}.post-rail-facts{margin:0;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.04em;color:var(--subtle)}.post-rail-tags{display:flex;flex-wrap:wrap;gap:6px}.post-rail-tags span{padding:3px 8px;border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.6rem;color:var(--chip-text)}.post-toc-track{position:relative;padding-left:14px}.post-toc-spine,.post-toc-fill{position:absolute;left:0;top:4px;bottom:4px;width:1px}.post-toc-spine{background:var(--border)}.post-toc-fill{background:var(--accent);transform:scaleY(var(--read-progress, 0));transform-origin:top center;transition:transform .18s linear}.post-toc ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}.post-toc li a{display:block;color:var(--muted);font-size:.8rem;line-height:1.45;transition:color .22s ease,transform .32s cubic-bezier(.3,.8,.3,1)}.post-toc li a:hover{color:var(--ink);transform:translate(3px)}.post-toc li.is-active a{color:var(--ink);font-weight:500;transform:translate(3px)}.post-copy{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .2s ease,border-color .2s ease}.post-copy:hover{color:var(--ink);border-color:var(--border-strong)}.post-copy i{font-size:.64rem}.post-main{min-width:0;max-width:72ch;animation:blog-rise .62s cubic-bezier(.3,.8,.3,1) both}.post-header{position:relative;padding-bottom:26px}.post-kicker{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle)}.post-header h1{margin:14px 0 16px;font-family:var(--font-display);font-size:clamp(2.05rem,4.2vw,3rem);font-weight:430;line-height:1.08;letter-spacing:-.01em;color:var(--ink)}.post-standfirst{margin:0;max-width:60ch;color:var(--muted);font-size:1.02rem;line-height:1.66}.post-rule{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--border);transform-origin:left center;animation:rule-draw .82s cubic-bezier(.3,.8,.3,1) .2s both}.post-body{padding-top:26px;color:var(--body-copy);font-size:1rem;line-height:1.78}.post-body p{margin:0 0 20px}.post-body a{background-image:linear-gradient(var(--border-strong),var(--border-strong));background-repeat:no-repeat;background-position:0 100%;background-size:100% 1px;transition:background-size .3s ease}.post-body a:hover{background-image:linear-gradient(var(--accent),var(--accent))}.post-lede{font-size:1.1rem;line-height:1.7;color:var(--ink)}.post-lede:first-letter{float:left;margin:8px 10px 0 0;font-family:var(--font-display);font-size:3.4rem;line-height:.78;font-weight:420;color:var(--ink)}.post-body h2{margin:42px 0 14px;font-family:var(--font-display);font-size:1.42rem;font-weight:440;line-height:1.25;letter-spacing:-.004em;color:var(--ink);scroll-margin-top:96px}.post-body h3{margin:30px 0 10px;font-size:1rem;font-weight:600;color:var(--ink);scroll-margin-top:96px}.post-body ul,.post-body ol{margin:0 0 20px;padding-left:20px}.post-body li{margin-bottom:8px;padding-left:4px}.post-body li::marker{color:var(--subtle);font-family:var(--font-mono);font-size:.82em}.post-body hr{margin:34px 0;border:0;border-top:1px solid var(--border)}.post-body blockquote{position:relative;margin:32px 0;padding:4px 0 4px 26px;border-left:1px solid var(--border-strong)}.post-body blockquote p{margin:0;font-family:var(--font-display);font-size:1.24rem;line-height:1.46;font-weight:420;color:var(--ink)}.post-body blockquote cite{display:block;margin-top:10px;font-family:var(--font-mono);font-size:.62rem;font-style:normal;letter-spacing:.06em;color:var(--subtle)}.post-code{position:relative;margin:26px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.post-code-lang{display:block;padding:6px 12px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle)}.post-code pre{margin:0;padding:14px 12px;overflow-x:auto}.post-code code{font-family:var(--font-mono);font-size:.78rem;line-height:1.62;color:var(--ink)}.post-note{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:14px;margin:26px 0;padding:14px 16px;border:1px solid var(--border);border-left:2px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.post-note-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle);padding-top:3px}.post-note p{margin:0;font-size:.9rem;line-height:1.65;color:var(--muted)}.post-figure{margin:30px 0}.post-figure img{width:100%;display:block;border:1px solid var(--border);border-radius:var(--radius);filter:var(--media-filter)}.post-figure figcaption{margin-top:9px;font-family:var(--font-mono);font-size:.62rem;color:var(--subtle)}.post-footer{margin-top:54px;padding-top:22px;border-top:1px solid var(--border)}.post-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.post-nav-link{display:flex;flex-direction:column;gap:7px;padding:16px 0;transition:padding .32s cubic-bezier(.3,.8,.3,1)}.post-nav-next{text-align:right;align-items:flex-end}.post-nav-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle)}.post-nav-label i{font-size:.6rem;transition:transform .34s cubic-bezier(.3,.8,.3,1)}.post-nav-prev:hover .post-nav-label i{transform:translate(-5px)}.post-nav-next:hover .post-nav-label i{transform:translate(5px)}.post-nav-title{font-family:var(--font-display);font-size:1.02rem;font-weight:430;line-height:1.3;color:var(--ink)}.post-index-link{display:inline-block;margin-top:10px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .2s ease}.post-index-link:hover{color:var(--ink)}.nav-route{display:inline-flex;align-items:center;gap:7px;margin-left:8px;padding:6px 12px!important;border:1px solid var(--border);border-radius:999px;color:var(--nav-text);font-size:.78rem;font-weight:450;transition:color .2s ease,border-color .2s ease,background .2s ease}.nav-route:after{display:none}.nav-route i{font-size:.58rem;transition:transform .34s cubic-bezier(.3,.8,.3,1)}.primary-nav .nav-route:hover{color:var(--ink);border-color:var(--border-strong)}.nav-route:hover i{transform:translate(3px)}.primary-nav .nav-route.is-active{background:var(--invert-bg);border-color:var(--invert-bg);color:var(--invert-ink)}.writing-teaser{display:flex;flex-direction:column;gap:16px}.writing-teaser-list{display:flex;flex-direction:column}.writing-teaser-row{display:grid;grid-template-columns:62px minmax(0,1fr) max-content;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--border-soft);transition:padding-left .32s cubic-bezier(.3,.8,.3,1)}.writing-teaser-row:hover{padding-left:8px}.writing-teaser-row time,.writing-teaser-meta{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;color:var(--subtle)}.writing-teaser-main{display:flex;flex-direction:column;gap:4px;min-width:0}.writing-teaser-main strong{font-family:var(--font-display);font-size:1.04rem;font-weight:440;line-height:1.3;color:var(--ink)}.writing-teaser-main span{color:var(--muted);font-size:.85rem;line-height:1.6}.writing-teaser-all{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .2s ease}.writing-teaser-all i{font-size:.6rem;transition:transform .34s cubic-bezier(.3,.8,.3,1)}.writing-teaser-all:hover{color:var(--ink)}.writing-teaser-all:hover i{transform:translate(5px)}@keyframes blog-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes mark-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1080px){.blog-shell,.post-shell{grid-template-columns:200px minmax(0,1fr);gap:40px}}@media(max-width:960px){.blog-masthead{flex-direction:column;align-items:flex-start;gap:22px;padding-top:44px}.blog-masthead-meta{padding-bottom:0;gap:24px}.blog-shell,.post-shell{display:block}.blog-rail,.post-rail{position:static;max-height:none;overflow:visible;margin-bottom:30px}.blog-rail-inner{padding-bottom:0}.post-toc,.pinned-entry-mark{display:none}.entry-card{grid-template-columns:34px minmax(0,1fr)}.entry-arrow{display:none}.archive-row{grid-template-columns:56px minmax(0,1fr)}.archive-collection{display:none}.post-nav{grid-template-columns:1fr;gap:4px}.post-nav-next{text-align:left;align-items:flex-start}.nav-route{align-self:flex-start;margin-left:0}}@media(prefers-reduced-motion:reduce){.blog-masthead-main,.blog-masthead-meta,.blog-masthead-rule,.blog-rail,.post-rail,.post-main,.post-rule,.pinned-entry,.entry-card,.archive-year,.blog-empty,.blog-empty-mark{animation:none}.entry-card,.archive-row,.writing-teaser-row,.collection-row,.post-nav-link,.tag-chip,.entry-arrow,.entry-number,.post-toc li a,.view-toggle-thumb,.order-button i,.post-back i,.entry-cta i,.nav-route i,.writing-teaser-all i,.pinned-entry-mark,.archive-node{transition:none}.entry-card:hover,.archive-row:hover,.writing-teaser-row:hover,.collection-row:hover{padding-left:0}.entry-card:hover .entry-number,.pinned-entry:hover .pinned-entry-mark,.archive-row:hover .archive-node{transform:none}}.travel-route{display:block;min-height:60vh}.travel-page{width:var(--section);margin:0 auto;padding-bottom:96px}.travel-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:48px;padding:64px 0 34px}.travel-hero-copy{max-width:46ch;animation:blog-rise .62s cubic-bezier(.3,.8,.3,1) both}.travel-kicker{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--subtle)}.travel-hero h1{margin:12px 0 14px;font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.1rem);font-weight:420;line-height:1.02;letter-spacing:-.012em;text-transform:uppercase;color:var(--ink)}.travel-hero p{margin:0;max-width:44ch;color:var(--muted);font-size:.94rem;line-height:1.68}.travel-region-select{display:flex;align-items:center;gap:14px;margin-top:26px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}.travel-region-link{position:relative;color:var(--subtle);padding-bottom:4px;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.travel-region-link:hover,.travel-region-link:focus-visible,.travel-region-link.is-active{color:var(--ink);border-bottom-color:var(--ink)}.travel-region-select:after{content:"";order:-1;width:26px;height:1px;background:var(--border-strong)}.travel-hero-rule{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--border)}.globe-wrap{display:grid;place-items:center;transform:translate3d(var(--globe-shift-x, 0),var(--globe-shift-y, 0),0);transition:transform .62s cubic-bezier(.3,.8,.3,1);animation:blog-rise .72s cubic-bezier(.3,.8,.3,1) .14s both}.globe{width:min(100%,380px);height:auto;overflow:visible}.globe-limb{fill:none;stroke:var(--border-strong);stroke-width:1}.globe-graticule path{fill:none;stroke:var(--border);stroke-width:.8}.globe-graticule path.is-equator{stroke:var(--border-strong);stroke-width:1}.globe-arcs path{fill:none;stroke:var(--muted);stroke-width:1;stroke-dasharray:4 5;opacity:.7}.globe-node circle{fill:var(--ink);transition:r .22s cubic-bezier(.3,.8,.3,1)}.globe-node.is-active circle{fill:var(--accent)}.globe-node text{fill:var(--ink);font-family:var(--font-mono);font-size:8px;letter-spacing:.1em}.travel-region{position:relative;padding:54px 0 10px}.travel-region-head{display:flex;align-items:baseline;justify-content:space-between;gap:26px;margin-bottom:28px;padding-bottom:12px;border-bottom:1px solid var(--border)}.travel-region-head h2{display:flex;align-items:baseline;gap:10px;margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:430;letter-spacing:-.006em;color:var(--ink)}.travel-region-index,.travel-region-slash{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--subtle)}.travel-region-name{text-transform:uppercase}.travel-region-head p{margin:0;color:var(--subtle);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.02em;text-align:right}.travel-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px 22px;align-items:start}.travel-photo{position:relative;display:flex;flex-direction:column;gap:9px;margin:0;grid-column:span 6;transform:rotate(-.4deg);transition:transform .42s cubic-bezier(.3,.8,.3,1)}.travel-photo:nth-child(2n){transform:rotate(.35deg)}.travel-photo:hover,.travel-photo:focus-within,.travel-photo.is-active{transform:rotate(0) translateY(-3px);z-index:2}.travel-photo[data-layout=wide]{grid-column:span 6;--plate-ratio: 3 / 2}.travel-photo[data-layout=tall]{grid-column:span 4;--plate-ratio: 3 / 4}.travel-photo[data-layout=pano]{grid-column:2 / span 10;--plate-ratio: 21 / 8}.travel-photo[data-layout=detail]{grid-column:span 3;--plate-ratio: 4 / 5}.travel-photo[data-layout=square]{grid-column:span 4;--plate-ratio: 1 / 1}.travel-region-open .travel-photo[data-layout=detail]{margin-top:52px}.travel-region-open .travel-photo[data-layout=tall]{margin-top:28px}.travel-region-dense .travel-collage{gap:24px 18px}.travel-region-dense .travel-photo[data-layout=tall]{margin-top:22px}.travel-region-dense .travel-photo[data-layout=detail]{margin-top:-18px}.travel-photo-button{position:relative;display:block;width:100%;padding:0;overflow:hidden;aspect-ratio:var(--plate-ratio, 3 / 2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .26s ease}.travel-photo:hover .travel-photo-button,.travel-photo.is-active .travel-photo-button{border-color:var(--border-strong)}.travel-photo-button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.travel-photo-button img{width:100%;height:100%;display:block;object-fit:cover;filter:var(--media-filter);transition:transform .62s cubic-bezier(.3,.8,.3,1),filter .42s ease}.travel-photo:hover .travel-photo-button img,.travel-photo:focus-within .travel-photo-button img{transform:scale(1.02);filter:none}.travel-photo-placeholder{display:grid;place-items:center;width:100%;height:100%;background:repeating-linear-gradient(-45deg,transparent,transparent 7px,var(--border-soft) 7px,var(--border-soft) 8px),var(--surface)}.travel-photo-placeholder span{padding:6px 12px;background:var(--background);border:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.travel-photo-index{position:absolute;left:10px;top:9px;color:var(--subtle);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em}.travel-photo figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.travel-photo-place{color:var(--ink);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase}.travel-photo-date{color:var(--muted);font-size:.76rem}.travel-photo-coords{color:var(--subtle);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.04em;opacity:0;transition:opacity .26s ease}.travel-photo:hover .travel-photo-coords,.travel-photo:focus-within .travel-photo-coords,.travel-photo.is-active .travel-photo-coords{opacity:1}.travel-journey{margin-top:62px;padding:26px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.travel-journey-label{display:block;margin-bottom:20px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--subtle)}.travel-journey-line{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none}.travel-journey-line li{position:relative;display:flex;flex-direction:column;gap:5px;padding-top:20px}.travel-journey-line li:before{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:var(--border-strong)}.travel-journey-line li:first-child:before{left:5px}.travel-journey-line li:last-child:before{right:calc(100% - 5px)}.travel-journey-node{position:absolute;left:0;top:1px;width:9px;height:9px;border:1px solid var(--ink);border-radius:50%;background:var(--background)}.travel-journey-name{color:var(--ink);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.travel-journey-coords{color:var(--subtle);font-family:var(--font-mono);font-size:.62rem}.travel-region-block{position:relative}.india-plate{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin:30px 0 -20px;padding-right:4%}.india-plate-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--subtle)}.india-plate-svg{width:min(46%,320px);height:auto;overflow:visible}.india-contours path{fill:none;stroke:var(--border-strong);stroke-width:.7;opacity:.65}.india-contours path:last-child{stroke:var(--muted);stroke-width:1.1;opacity:1}.india-node circle{fill:var(--muted);transition:r .22s cubic-bezier(.3,.8,.3,1)}.india-node.is-active circle{fill:var(--accent)}.india-node text{fill:var(--ink);font-family:var(--font-mono);font-size:7px;letter-spacing:.1em}.travel-lightbox{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;gap:18px;padding:20px clamp(16px,5vw,64px) 28px;background:var(--background);animation:blog-rise .26s cubic-bezier(.3,.8,.3,1) both}.travel-lightbox:focus{outline:none}.travel-lightbox-bar{display:flex;align-items:center;justify-content:space-between}.travel-lightbox-count{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;color:var(--subtle)}.travel-lightbox button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:.76rem;transition:border-color .2s ease,color .2s ease}.travel-lightbox button:hover,.travel-lightbox button:focus-visible{border-color:var(--ink);color:var(--ink)}.travel-lightbox-figure{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;margin:0;min-height:0}.travel-lightbox-figure img{max-width:100%;max-height:72vh;object-fit:contain}.travel-lightbox-placeholder{display:grid;place-items:center;width:min(100%,760px);aspect-ratio:3 / 2;border:1px solid var(--border);background:repeating-linear-gradient(-45deg,transparent,transparent 8px,var(--border-soft) 8px,var(--border-soft) 9px),var(--surface)}.travel-lightbox-placeholder span{padding:8px 16px;background:var(--background);border:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}.travel-lightbox-figure figcaption{display:flex;flex-direction:column;gap:5px;text-align:center}.travel-lightbox-place{color:var(--ink);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.travel-lightbox-meta{color:var(--subtle);font-family:var(--font-mono);font-size:.64rem}.travel-lightbox-caption{color:var(--muted);font-size:.84rem;max-width:52ch}.travel-lightbox-controls{display:flex;justify-content:center;gap:12px}@media(max-width:1080px){.travel-hero{grid-template-columns:1fr;gap:30px}.globe{width:min(100%,300px)}.travel-photo[data-layout=detail],.travel-region-open .travel-photo[data-layout=detail]{grid-column:span 6;margin-top:0}.travel-photo[data-layout=wide],.travel-photo[data-layout=tall],.travel-photo[data-layout=square]{grid-column:span 6}}@media(max-width:720px){.travel-page{padding-bottom:64px}.travel-hero{padding-top:44px}.travel-hero-copy{order:-1}.travel-region-head{flex-direction:column;align-items:flex-start;gap:8px}.travel-region-head p{text-align:left}.travel-collage{gap:30px 0}.travel-photo,.travel-photo[data-layout=wide],.travel-photo[data-layout=tall],.travel-photo[data-layout=pano],.travel-photo[data-layout=detail],.travel-photo[data-layout=square]{grid-column:span 12;margin-top:0;transform:none}.travel-photo:nth-child(odd){width:100%}.travel-photo:nth-child(2n){width:84%;margin-left:auto}.travel-region-dense .travel-photo:nth-child(3n){width:92%;margin-left:0}.travel-photo-coords{opacity:1}.travel-journey-line{grid-auto-flow:row;grid-auto-columns:auto}.travel-journey-line li{padding:0 0 18px 20px}.travel-journey-line li:before{inset:5px auto -5px 4px;width:1px;height:auto}.travel-journey-line li:last-child:before{display:none}.travel-journey-node{top:3px}.india-plate{position:absolute;right:-12%;top:96px;margin:0;padding:0;opacity:.2;pointer-events:none}.india-plate-label{display:none}.india-plate-svg{width:220px}.travel-lightbox-figure img{max-height:62vh}}@media(prefers-reduced-motion:reduce){.globe-wrap,.travel-hero-copy,.travel-lightbox{animation:none;transition:none}.travel-photo,.travel-photo-button,.travel-photo-button img,.globe-node circle,.india-node circle{transition:none}.travel-photo,.travel-photo:nth-child(2n){transform:none}.travel-photo:hover,.travel-photo:focus-within,.travel-photo.is-active{transform:none}.travel-photo:hover .travel-photo-button img,.travel-photo:focus-within .travel-photo-button img{transform:none}}
