:root{--surface-ground:#faf8f5;--surface-canvas:#ffffff;--surface-subtle:#f3efe8;--surface-raised:#f7f4ed;--surface-card:#ffffff;--surface-sunken:#eae6dc;--surface-dark:#1a1a18;--surface-dark-subtle:#242422;--text-primary:#1c1c1a;--text-secondary:#45443f;--text-muted:#76746c;--text-tertiary:#98968d;--text-light:#faf8f5;--text-light-muted:#a4a29a;--accent-primary:#3cffd0;--accent-hover:#2cdeb4;--accent-subtle:rgba(60,255,208,0.12);--accent-border:rgba(60,255,208,0.35);--accent-ink:#006b54;--accent-on:#1c1c1a;--border-subtle:rgba(28,28,26,0.08);--border-medium:rgba(28,28,26,0.16);--border-strong:rgba(28,28,26,0.32);--border-dark:rgba(255,255,255,0.12);--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:40px;--space-xl:64px;--space-2xl:96px;--space-3xl:128px;--radius-xs:3px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:9999px;--shadow-sm:0 1px 3px rgba(28,28,26,0.04),0 1px 2px rgba(28,28,26,0.02);--shadow-md:0 4px 12px -2px rgba(28,28,26,0.06),0 2px 4px rgba(28,28,26,0.03);--shadow-card:0 4px 16px -2px rgba(28,28,26,0.08),0 1px 3px rgba(28,28,26,0.04);--shadow-lift:0 16px 36px -6px rgba(28,28,26,0.12),0 4px 12px -2px rgba(28,28,26,0.05);--font-sans:var(--font-ibm-plex-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-serif:var(--font-literata),Georgia,"Times New Roman",serif;--font-heading:var(--font-serif);--font-title:var(--font-serif);--font-body:var(--font-sans);--font-mono:ui-monospace,"SFMono-Regular",Consolas,monospace;--max-width:1060px;--header-height:64px;--duration-fast:0.18s;--duration-base:0.28s;--duration-slow:0.45s;--ease-out:cubic-bezier(0.16,1,0.3,1);--paper:var(--surface-ground);--paper-light:var(--surface-subtle);--ink:var(--text-primary);--ink-soft:var(--text-secondary);--muted:var(--text-muted);--accent:var(--accent-primary);--terracotta:var(--accent-primary);--line:var(--border-subtle);--line-light:var(--border-dark)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 48px);background-color:var(--surface-ground);background-image:url(/media/white-paper-texture.jpg);background-repeat:repeat;background-size:auto;font-size:16px;-webkit-text-size-adjust:100%}body,html{color:var(--text-primary)}body{min-height:100vh;overflow-x:hidden;font-family:var(--font-sans);background:transparent;line-height:1.625;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background-color:var(--accent-primary);color:var(--accent-on)}::-moz-selection{background-color:var(--accent-primary);color:var(--accent-on)}iframe,img,svg,video{display:block;max-width:100%}img{border:none;background:transparent}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:var(--font-serif);font-weight:500;line-height:1.15;letter-spacing:-.03em;text-wrap:balance}p{color:var(--text-secondary);text-wrap:pretty}.narrative-text,.record-desc,p{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}p+p{margin-top:1.25em}a{color:inherit;text-decoration:none;transition:color var(--duration-fast) ease}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit;background:none;border:none;cursor:pointer}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:var(--radius-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mono{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-feature-settings:"tnum" 1,"zero" 1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:0 20px;font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.02em;border-radius:var(--radius-sm);border:1px solid var(--border-medium);background-color:var(--surface-canvas);color:var(--text-primary);transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.button:hover{background-color:var(--surface-subtle);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.button:active{transform:translateY(0)}.button.primary{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--accent-on);box-shadow:0 1px 2px rgba(60,255,208,.2)}.button.primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 4px 12px rgba(60,255,208,.3)}.button i,.button span{display:inline-block;transition:transform var(--duration-fast) var(--ease-out)}.button:hover i,.button:hover span{transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-wrapper{min-height:100vh;display:flex;flex-direction:column;position:relative;background:transparent}.content-container,.frame{width:min(calc(100% - 48px),var(--max-width));margin-inline:auto}.main-content{flex:1 1;padding-top:calc(var(--header-height) + 36px)}.site-header{--glass-blur:20px;--glass-menu-blur:16px;position:fixed;top:18px;left:0;right:0;z-index:50;width:min(calc(100% - 40px),1100px);height:var(--header-height);margin-inline:auto}.header-inner{position:relative;isolation:isolate;height:100%;width:100%;padding:0 16px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:transparent;box-shadow:0 8px 32px -12px rgba(28,28,26,.2),0 2px 6px rgba(28,28,26,.04),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.45);transition:translate .4s var(--ease-out);animation:glassArrival .6s var(--ease-out) backwards}.header-inner:after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;border-radius:inherit;background:rgba(250,248,245,.94)}.site-header.is-scrolled .header-inner{translate:0 -4px}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.header-inner:after{background:linear-gradient(120deg,rgba(255,255,255,.5),rgba(250,248,245,.32) 55%,rgba(225,255,247,.28));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);backdrop-filter:blur(var(--glass-blur)) saturate(140%)}.site-header .apple-dropdown-tray,.site-header .apple-mobile-drawer{background:rgba(250,248,245,.76);-webkit-backdrop-filter:blur(var(--glass-menu-blur));backdrop-filter:blur(var(--glass-menu-blur))}}@keyframes glassArrival{0%{opacity:0;transform:translateY(-14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.header-left{display:flex;align-items:center;gap:16px}.site-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-primary)}.brand-logo{width:40px;height:24px;flex-shrink:0;transition:opacity var(--duration-fast) ease}.site-brand:hover .brand-logo{opacity:.7}.brand-title{display:flex;flex-direction:column;font-family:var(--font-sans);font-size:14.5px;font-weight:600;letter-spacing:-.015em;line-height:1.2;color:#1d1d1f}.brand-title small{font-size:11px;font-weight:400;color:#86868b;letter-spacing:.01em}.apple-status-dot{position:relative;display:inline-flex;width:6.5px;height:6.5px;border-radius:50%;background-color:#16a34a;flex-shrink:0}.apple-status-ping{position:absolute;inset:-3px;border-radius:50%;background-color:rgba(22,163,74,.45);animation:applePulse 2.4s cubic-bezier(0,0,.2,1) infinite}@keyframes applePulse{0%{transform:scale(.9);opacity:.8}70%{transform:scale(2.4);opacity:0}to{transform:scale(2.4);opacity:0}}.desktop-nav{display:flex;align-items:center;gap:3px}.apple-nav-link{position:relative;font-size:13.5px;font-weight:400;color:rgba(29,29,31,.72);padding:8px 12px;border-radius:var(--radius-pill);white-space:nowrap;min-height:40px;transition:color var(--duration-fast) ease,background-color var(--duration-fast) ease,box-shadow .3s ease,transform .3s var(--ease-out);display:inline-flex;align-items:center;gap:4px;text-decoration:none}.apple-nav-link:hover{color:#1d1d1f;background-color:rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 3px 10px rgba(28,28,26,.04);transform:translateY(-1px)}.apple-nav-link.active{color:#1d1d1f;font-weight:500;background-color:rgba(255,255,255,.65);box-shadow:inset 0 1px 1px #fff,0 2px 8px rgba(28,28,26,.06)}.dropdown-chevron{transition:transform var(--duration-fast) ease;opacity:.6}.dropdown-chevron.open{transform:rotate(180deg)}button.nav-dropdown-trigger{font-family:inherit;border:0;cursor:pointer}.nav-dropdown-wrapper{position:relative}.apple-dropdown-tray{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);width:352px;max-height:calc(100dvh - 120px);overflow-y:auto;background:rgba(250,248,245,.96);border:1px solid rgba(28,28,26,.08);border-radius:20px;box-shadow:inset 0 1px 0 #fff,0 20px 48px -12px rgba(28,28,26,.2),0 4px 12px rgba(28,28,26,.04);padding:8px;z-index:60;animation:appleTrayIn .2s var(--ease-out)}@keyframes appleTrayIn{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.dropdown-list{display:flex;flex-direction:column;gap:2px}.apple-dropdown-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;text-decoration:none;color:var(--text-primary);transition:background-color var(--duration-fast) ease}.apple-dropdown-item:focus-visible,.apple-dropdown-item:hover{background-color:rgba(255,255,255,.85)}.apple-dropdown-item:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}.apple-dropdown-item.current{background-color:rgba(28,28,26,.06)}.dropdown-item-num{font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dropdown-item-meta{display:flex;flex:1 1;flex-direction:column;gap:3px}.dropdown-item-name{font-size:13px;font-weight:500;color:#1d1d1f;line-height:1.3}.dropdown-item-sub{font-size:11px;line-height:1.3;color:var(--text-secondary)}.dropdown-item-arrow{flex-shrink:0;color:var(--text-secondary);opacity:.35;transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease}.apple-dropdown-item:focus-visible .dropdown-item-arrow,.apple-dropdown-item:hover .dropdown-item-arrow{opacity:1;transform:translateX(2px)}@media (prefers-reduced-motion:reduce){.apple-dropdown-tray{animation:none}.dropdown-item-arrow{transition:none}}.header-actions{display:flex;align-items:center;gap:8px}.apple-resume-btn{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;padding:6px 14px;border-radius:9999px;background-color:rgba(28,28,26,.04);border:1px solid rgba(28,28,26,.08);color:#1d1d1f;text-decoration:none;transition:all var(--duration-fast) ease}.apple-resume-btn:hover{background-color:rgba(28,28,26,.08);border-color:rgba(28,28,26,.16);color:var(--accent-ink)}.apple-primary-btn{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;padding:6px 16px;border-radius:9999px;background-color:var(--accent-primary);color:var(--accent-on);text-decoration:none;transition:all var(--duration-fast) ease;box-shadow:0 1px 2px rgba(0,0,0,.1)}.apple-primary-btn:hover{background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.16)}.apple-menu-btn{display:none;align-items:center;padding:6px 14px;border-radius:9999px;border:1px solid rgba(28,28,26,.12);background-color:#ffffff;font-size:12px;font-weight:600;color:#1d1d1f;cursor:pointer}.apple-mobile-drawer{display:none}@media (max-width:960px){.site-header{--glass-blur:16px;--glass-menu-blur:12px}.apple-resume-btn,.desktop-nav{display:none}.apple-menu-btn{display:inline-flex}.apple-mobile-drawer{display:block;position:fixed;top:calc(var(--header-height) + 34px);left:12px;right:12px;bottom:auto;max-height:calc(100dvh - var(--header-height) - 46px);border-radius:24px;box-shadow:inset 0 1px 0 #fff,0 16px 48px rgba(28,28,26,.18);animation:glassArrival .35s var(--ease-out);z-index:48;background-color:rgba(250,248,245,.98);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overflow-y:auto;border-top:1px solid rgba(28,28,26,.08)}.mobile-drawer-inner{padding:24px 20px 48px;max-width:540px;margin:0 auto}.mobile-recruiter-card{background-color:#ffffff;border:1px solid rgba(28,28,26,.08);border-radius:14px;padding:16px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.mobile-status-tag{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#15803d;margin-bottom:12px}.mobile-cta-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.mobile-cta-btn{display:inline-flex;width:100%;justify-content:center;padding:10px;font-size:12px}.apple-mobile-nav{display:flex;flex-direction:column;gap:6px}.mobile-nav-link{display:block;padding:12px 14px;font-size:16px;font-weight:600;color:#1d1d1f;border-radius:8px;text-decoration:none;transition:background-color var(--duration-fast) ease}.mobile-nav-link.active,.mobile-nav-link:hover{background-color:var(--surface-subtle);color:var(--accent-ink)}.mobile-nav-section{background-color:#ffffff;border:1px solid rgba(28,28,26,.08);border-radius:12px;padding:14px;margin:6px 0}.mobile-section-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#86868b;margin-bottom:8px}.mobile-project-list{display:flex;flex-direction:column;gap:2px}.mobile-project-item{display:flex;align-items:center;gap:8px;padding:8px 6px;font-size:13.5px;color:#45443f;text-decoration:none;border-radius:6px}.mobile-project-item.active,.mobile-project-item:hover{color:var(--accent-ink);background-color:var(--surface-subtle)}.mobile-proj-num{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--accent-ink)}.mobile-proj-name{flex:1 1;font-weight:500}.mobile-proj-tag{font-size:11px;color:#86868b}}.site-footer{--text-primary:#faf8f5;--text-secondary:#d5d1c9;--text-muted:#b5b1a9;--accent-ink:var(--accent-primary);--border-medium:rgba(250,248,245,0.18);margin-top:auto;color:var(--text-primary);background-color:#393936;background-image:url(/media/white-paper-texture.jpg);background-repeat:repeat;background-size:auto;background-blend-mode:multiply;border-top:1px solid var(--border-medium);padding:48px 0 24px}.footer-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:40px}.footer-intro h2{font-size:clamp(28px,3vw,36px);letter-spacing:-.035em}.footer-intro p{margin-top:12px;color:var(--text-secondary);font-size:14px;text-align:left}.footer-socials{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px}.footer-socials a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:12px;padding:10px 18px;border:1px solid var(--border-medium);border-radius:var(--radius-pill);color:var(--text-primary);transition:color var(--duration-fast) ease,background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}.footer-socials a:hover{color:var(--accent-ink);border-color:var(--accent-ink);background-color:rgba(250,248,245,.06);text-decoration:none}.footer-brand{display:inline-flex;align-items:center;min-height:44px}.footer-logo{width:auto;height:50px;filter:invert(1);opacity:.9}.footer-bottom{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border-medium);padding-top:20px}.footer-colophon{display:flex;flex-direction:column;gap:4px;margin-top:24px;color:var(--text-muted);font-size:12px;text-align:center}@media (max-width:640px){.site-footer{padding-top:32px}.footer-contact{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:24px}.footer-bottom{padding-top:16px}.footer-socials a{padding-inline:14px}}@media (max-width:768px){.apple-primary-btn{justify-content:center}}@media (max-width:480px){.site-header{top:12px;width:calc(100% - 24px)}.header-inner{gap:8px;padding-inline:12px;border-radius:22px}.header-actions>.apple-primary-btn{display:none}.apple-menu-btn{min-height:40px;background:rgba(255,255,255,.6)}.site-brand{gap:8px}.brand-logo{width:36px;height:auto}.brand-title{font-size:13px}}.section-heading{font-family:var(--font-serif);font-size:clamp(34px,4vw,48px);font-weight:500;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:36px}.home-introduction{padding:clamp(32px,5vw,64px) 0 clamp(48px,6vw,80px)}.home-introduction>.content-container{width:min(calc(100% - 48px),1200px)}.home-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;grid-gap:clamp(24px,3vw,40px);gap:clamp(24px,3vw,40px)}.hero-portrait-wrapper{flex-direction:column;max-width:500px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero-portrait-stage,.hero-portrait-wrapper{display:flex;align-items:center;position:relative;width:100%}.hero-portrait-stage{justify-content:center;padding:4px 0}.hero-portrait-frame{position:relative;width:100%;max-width:440px;aspect-ratio:4/5;background-color:#87878714;border:none;border-radius:20px;overflow:hidden}.hero-portrait-floating,.hero-portrait-frame{display:flex;justify-content:center;align-items:flex-end}.hero-portrait-floating{--portrait-rise:clamp(10px,1.4vw,16px);--portrait-drift:clamp(3px,0.4vw,6px);position:absolute;left:-8%;width:116%;top:clamp(14px,2.5vw,24px);bottom:clamp(-44px,-6vw,-32px);transform-origin:50% 85%;animation:portraitFloat 6s cubic-bezier(.45,0,.55,1) 1.2s infinite;animation-fill-mode:both;pointer-events:none}.hero-portrait-image-wrap{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:flex-end;animation:portraitSlideUp 1.2s cubic-bezier(.16,1,.3,1) both}.hero-portrait-img{width:100%;height:100%;object-fit:cover;object-position:50% top;display:block}@keyframes portraitSlideUp{0%{transform:translateY(105%);opacity:0}15%{opacity:1}to{transform:translateY(0);opacity:1}}@keyframes portraitFloat{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(var(--portrait-drift),calc(var(--portrait-rise) * -.6)) rotate(.8deg)}50%{transform:translateY(calc(var(--portrait-rise) * -1)) rotate(0deg)}75%{transform:translate(calc(var(--portrait-drift) * -1),calc(var(--portrait-rise) * -.4)) rotate(-.8deg)}}@media (prefers-reduced-motion:reduce){.hero-portrait-floating,.hero-portrait-image-wrap,.hero-portrait-img{animation:none!important;transform:none!important;opacity:1!important}}.home-intro-copy{max-width:640px}.home-intro-copy h1{font-family:var(--font-serif);font-size:clamp(42px,5.2vw,62px);font-weight:500;line-height:1.08;letter-spacing:-.035em;color:var(--text-primary);margin-bottom:24px}.home-intro-copy>p{font-size:17px;line-height:1.72;color:var(--text-secondary);text-align:left;-webkit-hyphens:none;hyphens:none}.home-intro-copy>p+p{margin-top:18px}.home-technologies{margin-top:24px;font-size:16px;line-height:1.65;color:var(--text-secondary)}.home-technologies strong{font-weight:600;color:var(--text-primary)}.home-social-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:32px;padding-top:20px;border-top:1px solid var(--border-subtle)}.home-social-links a{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--accent-ink);transition:color var(--duration-fast) ease}.home-social-links a:hover{color:var(--accent-ink);background-color:var(--accent-primary);text-decoration:underline}.home-projects{padding:clamp(64px,8vw,100px) 0 clamp(80px,9vw,120px);background:transparent;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.cover-projects{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:28px 20px;gap:28px 20px}.cover-project{display:flex;flex-direction:column;text-decoration:none;border-radius:var(--radius-sm)}.cover-project-image{position:relative;width:100%;aspect-ratio:5/4;border-radius:var(--radius-sm);overflow:hidden;background:transparent;border:none;box-shadow:none}.cover-project-image:after{content:"";position:absolute;inset:0;background-color:var(--accent-primary);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out)}.cover-project:focus-visible .cover-project-image:after,.cover-project:hover .cover-project-image:after{opacity:.35}.project-card-image{object-fit:cover;background:transparent;border:none}.cover-project h3{font-family:var(--font-serif);font-size:clamp(17px,1.8vw,20px);font-weight:500;line-height:1.25;letter-spacing:-.02em;padding-top:14px;color:var(--text-primary);text-align:center}.project-detail-page{--max-width:800px}.project-detail-header{padding:clamp(64px,8vw,96px) 0 clamp(48px,6vw,64px);text-align:center;background:transparent}.project-detail-title{max-width:850px;font-family:var(--font-serif);font-size:clamp(36px,5vw,56px);font-weight:700;line-height:1.06;letter-spacing:-.035em;margin-inline:auto;margin-bottom:10px;color:var(--text-primary)}.narrative-text,.project-detail-metadata{font-size:15px;line-height:1.6;color:var(--text-secondary)}.project-detail-metadata{margin-top:0;text-align:center;font-style:italic}.project-narrative-container{background:transparent}.narrative-section{padding:clamp(40px,6vw,64px) 0}.narrative-heading{width:100%;font-family:var(--font-serif);font-size:clamp(26px,3vw,32px);font-weight:600;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:10px;text-wrap:normal;text-wrap:pretty}.narrative-text{max-width:none;text-align:justify;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto}.media-stack{gap:32px;margin-top:36px}.media-stack,.video-block{display:flex;flex-direction:column}.video-block{gap:8px}.narrative-figure{width:100%;margin-top:32px;background:transparent;border:none;border-radius:0;overflow:visible;box-shadow:none}.narrative-image{width:100%;height:auto;object-fit:contain;background:transparent;border:none}.narrative-caption{text-align:center;padding:10px 0 0;font-size:13px;line-height:1.6;color:var(--text-muted);border:none;background:transparent}.video-embed-wrapper{position:relative;width:100%;aspect-ratio:16/9;background-color:var(--surface-dark);border-radius:20px;overflow:hidden;border:none;box-shadow:var(--shadow-card)}.video-embed-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.confidentiality-notice{position:relative;margin:0 0 clamp(8px,2vw,16px);padding:22px clamp(18px,3.5vw,24px);border-radius:var(--radius-sm);background:var(--surface-canvas);border:1px solid var(--border-subtle);border-left:3px solid #dc2626;box-shadow:var(--shadow-sm);color:var(--text-secondary);font-family:var(--font-sans);text-align:left}.confidentiality-heading{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-serif);font-size:16px;font-weight:600;letter-spacing:-.015em;color:var(--text-primary);margin-bottom:8px;line-height:1.3}.confidentiality-icon{width:15px;height:15px;color:#dc2626;flex-shrink:0}.confidentiality-notice-body{margin:0;font-size:14.5px;line-height:1.7;color:var(--text-secondary);text-align:left;text-wrap:pretty}.external-reference-link{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-subtle);font-size:14px;color:var(--text-muted)}.external-reference-link a{color:var(--accent-ink);font-weight:600;text-decoration:underline;word-break:break-all}.grid-2col-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px;margin-top:28px}.detail-photos-grid-4col{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:24px}.detail-thumb{width:100%;height:auto;object-fit:contain;border-radius:0;border:none;background:transparent}.patents-banner{position:relative;width:min(calc(100% - 48px),var(--max-width));margin-inline:auto;height:clamp(300px,50vw,450px);overflow:hidden;border-radius:20px;margin-top:0;margin-bottom:clamp(24px,4vw,40px);isolation:isolate;-webkit-user-select:none;-moz-user-select:none;user-select:none}.patents-banner-bg{width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;opacity:.95}.patents-banner-bg,.patents-banner-overlay{position:absolute;inset:0;pointer-events:none}.patents-banner-overlay{z-index:2}.patents-banner-stage{z-index:3}.patent-slide,.patents-banner-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.patent-slide{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1);pointer-events:none;will-change:opacity}.patent-slide.is-active{opacity:1;pointer-events:auto}.patent-slide-inner{position:relative;height:88%;max-width:min(calc(100% - 32px),940px);display:flex;align-items:center;justify-content:center}.patent-slide-img{max-height:100%;width:auto;height:100%;object-fit:contain;mix-blend-mode:screen;filter:contrast(1.12) brightness(1.04);pointer-events:none}.patents-banner-indicators{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;z-index:4}.patents-banner-dot{width:22px;height:3px;padding:0;border:none;border-radius:2px;background:rgba(255,255,255,.35);cursor:pointer;transition:background .3s ease,width .3s ease}.patents-banner-dot:hover{background:rgba(255,255,255,.75)}.patents-banner-dot.is-active{background:#ffffff;width:32px;box-shadow:0 0 8px rgba(255,255,255,.6)}@media (max-width:640px){.patents-banner{width:100%;margin-inline:0;border-radius:0;height:300px}.patent-slide-inner{height:92%;max-width:calc(100% - 16px)}}.patents-page .narrative-section{padding:clamp(28px,4vw,42px) 0}.records-list{display:flex;flex-direction:column;gap:clamp(16px,2.5vw,22px);margin-top:24px}.record-item{gap:18px;padding:clamp(24px,3.5vw,32px);background:var(--surface-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.record-header,.record-item{display:flex;flex-direction:column;width:100%}.record-header{gap:12px}.record-title{width:100%;font-family:var(--font-serif);font-size:clamp(20px,2.2vw,24px);font-weight:600;line-height:1.32;letter-spacing:-.02em;color:var(--text-primary);text-wrap:normal;text-wrap:pretty}.record-badge{flex-wrap:wrap;gap:8px;padding:5px 12px;background:var(--surface-ground);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:13px;font-style:normal;color:var(--text-muted);width:-moz-fit-content;width:fit-content}.badge-flag,.record-badge{display:inline-flex;align-items:center}.badge-flag{justify-content:center;line-height:1}.badge-flag-svg{width:20px;height:10.5px;display:inline-block;vertical-align:middle;flex-shrink:0}.badge-id{font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--text-primary);font-style:normal}.badge-sep{color:var(--border-strong);font-size:11px}.badge-date{font-size:13px;color:var(--text-muted);font-style:normal}.pub-badge-row{display:flex;align-items:center;gap:14px}.pub-logo-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;width:98px;height:42px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:none;flex-shrink:0}.pub-logo-img{max-height:23px;max-width:80px;width:auto;height:auto;object-fit:contain;display:block}.pub-meta-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pub-venue{font-size:13.5px;font-weight:600;font-style:normal;color:var(--text-secondary);line-height:1.35}.pub-location{font-size:12.5px;font-style:italic;color:var(--text-muted);line-height:1.3}.record-body{display:flex;flex-direction:column;gap:16px;width:100%}.patents-page .narrative-text,.record-desc{font-size:15.5px;line-height:1.68;color:var(--text-secondary);text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;margin:0}.record-actions{display:flex;align-items:center}.record-action-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;font-size:12.5px;font-weight:500;line-height:1;color:var(--text-primary);background:var(--surface-ground);border:1px solid var(--border-medium);border-radius:9999px;text-decoration:none;box-shadow:0 1px 2px rgba(28,28,26,.04);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.record-action-btn:hover{background:var(--surface-canvas);border-color:rgba(0,107,84,.4);color:var(--accent-ink);text-decoration:none}.record-action-btn:active{background:var(--surface-subtle)}.record-action-arrow{width:12px;height:12px;flex-shrink:0;color:var(--text-muted);transition:color var(--duration-fast) ease}.record-action-btn:hover .record-action-arrow{color:var(--accent-ink)}.photo-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:0;border:none;background:transparent;transition:transform var(--duration-fast) ease}.photo-thumb:hover{transform:scale(1.02)}.page-hero{position:relative;padding:clamp(68px,8vw,104px) 0 clamp(54px,7vw,82px);border-bottom:1px solid var(--border-subtle);background:transparent;text-align:center}.page-hero>span{display:block;margin-bottom:20px;color:var(--accent-ink)}.page-hero h1{max-width:850px;font-size:clamp(44px,6vw,72px);line-height:1.05;letter-spacing:-.04em;margin-inline:auto}.page-hero h1,.page-hero h1 em{font-weight:500;font-family:var(--font-serif);color:var(--text-primary)}.page-hero h1 em{font-style:italic}.page-hero>p{max-width:720px;margin:22px auto 0;color:var(--text-secondary);font-size:17px;line-height:1.65;text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.explorer-section{padding:clamp(70px,9vw,118px) 0}.explorer-shell{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);border:1px solid var(--border-medium);background:var(--surface-canvas);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);overflow:hidden}.explorer-list{display:flex;flex-direction:column;border-right:1px solid var(--border-subtle);background-color:var(--surface-ground)}.explorer-list button{min-height:58px;display:grid;grid-template-columns:44px 1fr;align-items:center;padding:0 20px;border:0;border-bottom:1px solid var(--border-subtle);background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-sans);font-size:14px;font-weight:500;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.explorer-list button:hover{background-color:var(--surface-subtle)}.explorer-list button.active{background-color:var(--surface-dark);color:#ffffff}.explorer-list button.active .mono{color:var(--accent-primary)}.explorer-record{position:relative;min-height:520px;padding:clamp(34px,5vw,64px);overflow:hidden;background-color:var(--surface-canvas)}.explorer-meta{color:var(--accent-ink);font-size:11px;font-weight:600;letter-spacing:.08em}.explorer-record h2{max-width:700px;margin-top:16px;font-family:var(--font-serif);font-size:clamp(34px,4.4vw,56px);font-weight:500;line-height:1.08;letter-spacing:-.04em;color:var(--text-primary)}.explorer-record>p{max-width:650px;margin-top:20px;color:var(--text-secondary);font-size:17px;line-height:1.68;text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.explorer-record dl{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--border-subtle)}.explorer-record dl div{padding:18px 14px 0 0}.explorer-record dl div+div{padding-left:18px;border-left:1px solid var(--border-subtle)}.explorer-record dt{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.explorer-record dd{margin-top:6px;font-family:var(--font-serif);font-size:26px;font-weight:600;color:var(--accent-ink)}.explorer-signal{position:absolute;right:28px;bottom:0;height:100px;display:flex;align-items:flex-end;gap:6px;opacity:.15}.explorer-signal i{width:14px;min-height:12px;background:var(--accent-primary)}.explorer-record .button{margin-top:36px}@media (max-width:960px){.home-intro-grid{grid-template-columns:1fr;gap:16px}.hero-portrait-wrapper{max-width:420px;justify-self:center}.home-intro-copy{justify-self:center;width:100%}.cover-projects,.detail-photos-grid-4col{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.hero-portrait-wrapper{max-width:320px}.cover-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.grid-2col-images{grid-template-columns:1fr}.record-item{gap:14px;padding:20px 18px;border-radius:var(--radius-md)}.pub-badge-row{flex-direction:column;align-items:flex-start;gap:10px}.explorer-shell{grid-template-columns:1fr}.explorer-list{border-right:0;border-bottom:1px solid var(--border-subtle)}}.cover-project-image,.detail-thumb,.hero-portrait-img,.narrative-figure,.narrative-image,.photo-thumb,.project-card-image,figure,img,picture{border:none!important;background:transparent!important;background-color:transparent!important;box-shadow:none!important}