@layer reset,tokens,base,components,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-block-size:100dvh;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-inline-size:100%;block-size:auto}input,button,textarea,select{font:inherit;color:inherit;background:transparent;border:none}button{cursor:pointer}a{text-decoration:none;color:inherit}ul,ol{list-style:none}}@layer tokens{:root{color-scheme:dark light;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Playfair Display", Georgia, serif;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--transition-smooth: .4s var(--ease-out-expo);--transition-fast: .2s ease-in-out;--in-oklab: in oklab;--in-oklch: in oklch}:root{--bg-primary: light-dark(oklch(.98 .01 90), oklch(.08 .015 250));--bg-secondary: light-dark(oklch(.95 .01 90), oklch(.12 .02 250));--text-primary: light-dark(oklch(.15 .01 90), oklch(.96 .01 250));--text-secondary: light-dark(oklch(.4 .02 90), oklch(.7 .02 250));--text-muted: light-dark(oklch(.55 .02 90), oklch(.5 .02 250));--color-accent-blue: oklch(.65 .25 250);--color-accent-gold: oklch(.72 .15 80);--color-accent-bronze: oklch(.55 .12 60);--color-interactive: light-dark(oklch(.55 .25 250), oklch(.7 .22 250));--color-interactive-hover: light-dark(oklch(.45 .25 250), oklch(.8 .18 250));--glass-bg: light-dark(rgba(255, 255, 255, .4), rgba(15, 20, 30, .4));--glass-bg-hover: light-dark(rgba(255, 255, 255, .6), rgba(25, 30, 45, .6));--glass-border: light-dark(rgba(0, 0, 0, .06), rgba(255, 255, 255, .07));--glass-border-hover: light-dark(rgba(0, 0, 0, .1), rgba(255, 255, 255, .12));--glass-shadow: light-dark( 0 8px 32px 0 rgba(0, 0, 0, .05), 0 8px 32px 0 rgba(0, 0, 0, .3) );--glass-shadow-hover: light-dark( 0 12px 40px 0 rgba(0, 0, 0, .08), 0 12px 48px 0 rgba(0, 0, 0, .5) );--color-error: oklch(.6 .18 29);--color-success: oklch(.68 .16 142)}[data-theme=light]{color-scheme:light;--bg-primary: oklch(.98 .01 90);--bg-secondary: oklch(.95 .01 90);--text-primary: oklch(.15 .01 90);--text-secondary: oklch(.4 .02 90);--text-muted: oklch(.55 .02 90);--color-interactive: oklch(.55 .25 250);--color-interactive-hover: oklch(.45 .25 250);--glass-bg: rgba(255, 255, 255, .4);--glass-bg-hover: rgba(255, 255, 255, .6);--glass-border: rgba(0, 0, 0, .06);--glass-border-hover: rgba(0, 0, 0, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .05);--glass-shadow-hover: 0 12px 40px 0 rgba(0, 0, 0, .08)}[data-theme=dark]{color-scheme:dark;--bg-primary: oklch(.08 .015 250);--bg-secondary: oklch(.12 .02 250);--text-primary: oklch(.96 .01 250);--text-secondary: oklch(.7 .02 250);--text-muted: oklch(.5 .02 250);--color-interactive: oklch(.7 .22 250);--color-interactive-hover: oklch(.8 .18 250);--glass-bg: rgba(15, 20, 30, .4);--glass-bg-hover: rgba(25, 30, 45, .6);--glass-border: rgba(255, 255, 255, .07);--glass-border-hover: rgba(255, 255, 255, .12);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .3);--glass-shadow-hover: 0 12px 48px 0 rgba(0, 0, 0, .5)}}@layer base{body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-smooth),color var(--transition-smooth);background-image:linear-gradient(rgba(255,255,255,.015) 1.5px,transparent 1.5px),linear-gradient(90deg,rgba(255,255,255,.015) 1.5px,transparent 1.5px),radial-gradient(at 10% 20%,light-dark(rgba(100,150,255,.04),rgba(60,100,255,.07)) 0px,transparent 50%),radial-gradient(at 90% 80%,light-dark(rgba(230,180,50,.04),rgba(200,150,40,.06)) 0px,transparent 50%);background-size:60px 60px,60px 60px,100% 100%,100% 100%;background-attachment:fixed}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:800;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}h1{font-size:clamp(2.5rem,5vw + 1rem,5rem)}h2{font-size:clamp(1.8rem,3.5vw + .8rem,3rem);margin-block-end:var(--space-lg)}h3{font-size:clamp(1.4rem,2vw + .6rem,2rem)}p{font-size:clamp(1rem,.2vw + .95rem,1.15rem);color:var(--text-secondary);text-wrap:pretty;max-inline-size:65ch}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:var(--bg-primary)}body::-webkit-scrollbar-thumb{background:var(--glass-border);border:2px solid var(--bg-primary);border-radius:10px}body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background-color:var(--color-accent-blue);color:#fff}:focus-visible{outline:2px solid var(--color-interactive);outline-offset:4px;border-radius:4px}}@layer components{.header{position:fixed;top:0;left:0;width:100%;z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);background-color:var(--glass-bg);transition:background-color var(--transition-smooth),border-color var(--transition-smooth)}.nav-container{max-width:1200px;margin:0 auto;padding:var(--space-md) var(--space-lg);display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-sans);font-weight:900;font-size:1.4rem;letter-spacing:-.03em;background:linear-gradient(to right,var(--color-accent-blue),var(--color-accent-gold));background:linear-gradient(var(--in-oklab) to right,var(--color-accent-blue),var(--color-accent-gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:var(--space-xs)}.logo-dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-accent-bronze);display:inline-block}.nav-menu{display:flex;gap:var(--space-xl);align-items:center}.nav-link{font-weight:500;color:var(--text-secondary);transition:color var(--transition-fast);position:relative;padding-block:var(--space-2xs)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--color-accent-blue);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease-out-expo)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.nav-actions{display:flex;align-items:center;gap:var(--space-md)}.theme-toggle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);transition:transform var(--transition-fast),background-color var(--transition-fast)}.theme-toggle:hover{background:var(--glass-bg-hover);transform:rotate(15deg) scale(1.05)}.theme-toggle svg{width:20px;height:20px;fill:currentColor}.hero-section{min-height:100dvh;display:flex;align-items:center;padding-top:80px;position:relative;overflow:hidden}.hero-container{max-width:1200px;margin:0 auto;padding:var(--space-2xl) var(--space-lg);display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-3xl);align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:100px;font-size:.85rem;font-weight:600;color:var(--color-accent-bronze);margin-bottom:var(--space-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-badge-pulse{width:6px;height:6px;border-radius:50%;background-color:var(--color-accent-bronze);box-shadow:0 0 8px var(--color-accent-bronze);animation:pulse 2s infinite}.hero-title{margin-bottom:var(--space-md);color:var(--color-accent-blue);background:linear-gradient(135deg,#003cd2,#59b2ff);background:linear-gradient(var(--in-oklch) 135deg,oklch(.38 .25 250),oklch(.72 .22 250));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.35);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) drop-shadow(0 12px 24px rgba(0,60,210,.25));transition:filter var(--transition-smooth),transform var(--transition-smooth);display:inline-block}.hero-title:hover{transform:translateY(-2px);filter:drop-shadow(0 4px 8px rgba(0,0,0,.7)) drop-shadow(0 16px 32px rgba(0,60,210,.4))}.hero-desc{font-size:1.25rem;margin-bottom:var(--space-xl);line-height:1.6}.hero-cta{display:flex;gap:var(--space-md);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-xl);border-radius:12px;font-weight:600;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.btn-primary{background:linear-gradient(135deg,var(--color-accent-blue),var(--color-accent-gold));background:linear-gradient(var(--in-oklab) 135deg,var(--color-accent-blue),var(--color-accent-gold));color:#fff;box-shadow:0 4px 20px light-dark(rgba(60,100,255,.2),rgba(60,100,255,.4))}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px light-dark(rgba(60,100,255,.3),rgba(60,100,255,.5))}.btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-2px)}.hero-art-container{display:flex;justify-content:center;align-items:center;position:relative;order:-1}.hero-glow-sphere{position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,var(--color-accent-gold) 0%,transparent 70%);filter:blur(30px);opacity:.45;animation:float-slow 8s infinite ease-in-out}.hero-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-left:3px solid var(--color-accent-blue);padding:var(--space-md);border-radius:24px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--space-md);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth)}.hero-card:hover{box-shadow:0 15px 40px #3c64ff1f,var(--glass-shadow-hover);border-color:#3c64ff40}.profile-photo-container{position:relative;width:100%;aspect-ratio:1 / 1.15;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#141928cc,#0a0c14e6);border:1px solid rgba(255,255,255,.08)}.profile-photo{width:100%;height:100%;background-image:radial-gradient(circle at 50% 30%,rgba(60,100,255,.25) 0%,transparent 60%),radial-gradient(circle at 80% 80%,rgba(230,180,50,.2) 0%,transparent 50%),url(/assets/paris_street_photography-uXwVDre3.jpg);background-size:cover;background-position:center;position:relative}.profile-badge-icon{position:absolute;top:var(--space-sm);right:var(--space-sm);width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,var(--color-accent-gold) 0%,oklch(.6 .1 70) 100%);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.8rem;box-shadow:0 2px 8px #0006}.profile-info{text-align:center;padding:var(--space-xs) 0}.profile-name{font-size:1.6rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-2xs);color:var(--color-accent-blue);background:linear-gradient(135deg,#003cd2,#59b2ff);background:linear-gradient(var(--in-oklch) 135deg,oklch(.38 .25 250),oklch(.72 .22 250));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.35);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) drop-shadow(0 12px 24px rgba(0,60,210,.25));transition:filter var(--transition-smooth),transform var(--transition-smooth);display:inline-block}.profile-name:hover{transform:translateY(-2px);filter:drop-shadow(0 4px 8px rgba(0,0,0,.7)) drop-shadow(0 16px 32px rgba(0,60,210,.4))}.profile-title{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-gold);margin-bottom:var(--space-xs)}.tagline-link{color:var(--color-accent-bronze);text-decoration:none;transition:color var(--transition-fast),text-shadow var(--transition-fast)}.tagline-link:hover{color:var(--color-accent-gold);text-shadow:0 0 8px rgba(230,180,50,.4)}.hero-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);border-top:1px solid var(--glass-border);padding-top:var(--space-md)}.stat-item{text-align:center}.stat-value{font-size:1.3rem;font-weight:800;color:var(--color-accent-blue)}.stat-label{font-size:.75rem;color:var(--text-muted)}.section-container{max-width:1200px;margin:0 auto;padding:var(--space-3xl) var(--space-lg)}.section-header{margin-bottom:var(--space-2xl);max-width:600px}.filter-bar{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl);flex-wrap:wrap}.filter-btn{padding:var(--space-xs) var(--space-lg);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:100px;font-weight:500;font-size:.9rem;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.filter-btn:hover{background:var(--glass-bg-hover);transform:translateY(-1px)}.filter-btn.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-xl)}.project-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);box-shadow:var(--glass-shadow)}.project-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px #e6b43214,var(--glass-shadow-hover);border-color:#e6b43259}.project-img{height:180px;width:100%;background-size:cover;background-position:center;position:relative;background-color:var(--bg-secondary)}.project-badge{position:absolute;top:var(--space-sm);right:var(--space-sm);padding:var(--space-2xs) var(--space-sm);background:#0f141eb3;border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:8px;font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-content{padding:var(--space-lg);display:flex;flex-direction:column;flex-grow:1;gap:var(--space-sm)}.project-tags{display:flex;gap:var(--space-xs);flex-wrap:wrap}.tag{font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);padding:3px var(--space-xs);border-radius:6px;border:1px solid var(--glass-border)}.project-link{margin-top:auto;font-weight:600;color:var(--color-interactive);display:inline-flex;align-items:center;gap:var(--space-2xs);transition:color var(--transition-fast)}.project-link:hover{color:var(--color-interactive-hover)}.photography-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-md);margin-bottom:var(--space-2xl)}.photography-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);box-shadow:var(--glass-shadow);text-decoration:none;height:100%}.photography-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #e6b43214,var(--glass-shadow-hover);border-color:#e6b43259}.photography-card-img{height:140px;width:100%;background-size:cover;background-position:center;position:relative;background-color:var(--bg-secondary)}.photography-card-content{padding:var(--space-md);display:flex;flex-direction:column;flex-grow:1;gap:var(--space-xs)}.photography-card-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.photography-card-desc{font-size:.85rem;line-height:1.45;color:var(--text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.photography-card-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;padding-top:var(--space-xs)}.photography-card-link{color:var(--color-interactive);text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color var(--transition-fast)}.photography-card-link:hover{color:var(--color-interactive-hover)}.photography-card-count{color:var(--text-muted);font-size:.75rem;background:var(--bg-secondary);border:1px solid var(--glass-border);padding:2px 8px;border-radius:20px}.interests-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl)}.interest-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm);transition:transform var(--transition-smooth),border-color var(--transition-smooth),box-shadow var(--transition-smooth);box-shadow:var(--glass-shadow)}.interest-card:hover{transform:translateY(-4px);border-color:#c896284d;box-shadow:0 10px 25px #c896280f,var(--glass-shadow-hover)}.interest-icon{width:48px;height:48px;border-radius:12px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--color-accent-bronze);font-size:1.5rem;border:1.5px solid rgba(200,150,40,.25);box-shadow:0 4px 10px #0003}.sandbox-container{background:var(--glass-bg);border:1px solid var(--color-accent-gold);border-radius:24px;padding:var(--space-lg);box-shadow:var(--glass-shadow);position:relative;overflow:hidden}.sandbox-canvas-wrapper{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9;min-height:350px;background-color:light-dark(rgba(240,243,248,.5),rgba(10,12,20,.7));border:1px solid var(--glass-border)}#physics-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.canvas-overlay{position:absolute;bottom:var(--space-md);left:var(--space-md);z-index:10;pointer-events:none;background:#0f141ed9;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:var(--space-sm) var(--space-md);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:320px}.canvas-title{font-size:.95rem;font-weight:700;margin-bottom:var(--space-2xs);color:var(--color-accent-bronze)}.canvas-text{font-size:.78rem;line-height:1.4;color:#ffffffb3}.canvas-controls{position:absolute;top:var(--space-md);right:var(--space-md);z-index:10;display:flex;gap:var(--space-xs)}.canvas-btn{padding:var(--space-2xs) var(--space-sm);background:#0f141ed9;border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:8px;font-size:.8rem;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.canvas-btn:hover{background:#191e2df2;border-color:#fff3}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-3xl)}.contact-info{display:flex;flex-direction:column;gap:var(--space-xl)}.contact-method{display:flex;gap:var(--space-md);align-items:flex-start}.contact-method-icon{width:44px;height:44px;border-radius:10px;background:var(--glass-bg);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;color:var(--color-accent-blue);flex-shrink:0}.contact-form-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;padding:var(--space-xl);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.form-group{margin-bottom:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{font-size:.88rem;font-weight:600;color:var(--text-secondary)}.form-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:2px solid var(--color-interactive);outline-offset:2px;border-color:var(--color-accent-blue);box-shadow:0 0 0 3px light-dark(rgba(60,100,255,.1),rgba(60,100,255,.25))}.form-input:user-invalid{border-color:var(--color-error);box-shadow:0 0 0 3px #dc323226}textarea.form-input{resize:vertical;min-height:120px;field-sizing:content}.footer{border-top:1px solid var(--glass-border);background-color:var(--bg-secondary);padding:var(--space-2xl) 0;font-size:.95rem;color:var(--text-secondary)}.footer-container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-lg)}}@layer utilities{.text-gradient{background:linear-gradient(135deg,#003cd2,#59b2ff);background:linear-gradient(var(--in-oklch) 135deg,oklch(.38 .25 250),oklch(.72 .22 250));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.text-glow{text-shadow:0 0 20px light-dark(rgba(60,100,255,.15),rgba(60,100,255,.3))}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}}@keyframes float-slow{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.05)}}@media (prefers-reduced-motion: no-preference){@supports ((animation-timeline: view()) and (animation-range: entry)){@keyframes reveal-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.scroll-reveal{animation:reveal-up auto linear backwards;animation-timeline:view();animation-range:entry 5% cover 30%}}}}@media (max-width: 900px){.hero-container{grid-template-columns:1fr;text-align:center;gap:var(--space-2xl)}.hero-badge,.hero-cta{justify-content:center;margin-inline:auto}.hero-art-container{order:-1}.contact-grid{grid-template-columns:1fr;gap:var(--space-2xl)}.nav-menu{display:none}}.tab-pane{display:none;opacity:0;transition:opacity var(--transition-smooth)}.tab-pane.active{display:block;opacity:1}.article-drawer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;visibility:hidden;pointer-events:none;transition:visibility var(--transition-smooth)}.article-drawer[aria-hidden=false]{visibility:visible;pointer-events:auto}.drawer-backdrop{position:absolute;width:100%;height:100%;background:#0a0c1499;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity var(--transition-smooth)}.article-drawer[aria-hidden=false] .drawer-backdrop{opacity:1}.drawer-panel{position:absolute;top:0;right:0;width:100%;max-width:650px;height:100%;background:var(--bg-primary);border-left:1px solid var(--glass-border);padding:var(--space-xl);box-shadow:-10px 0 40px #0006;transform:translate(100%);transition:transform var(--transition-smooth);display:flex;flex-direction:column}.article-drawer[aria-hidden=false] .drawer-panel{transform:translate(0)}.lightbox-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;visibility:hidden;pointer-events:none;display:flex;justify-content:center;align-items:center;transition:visibility var(--transition-smooth)}.lightbox-modal[aria-hidden=false]{visibility:visible;pointer-events:auto}.lightbox-backdrop{position:absolute;width:100%;height:100%;background:#05070ce6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;transition:opacity var(--transition-smooth)}.lightbox-modal[aria-hidden=false] .lightbox-backdrop{opacity:1}.lightbox-content{position:relative;width:90%;max-width:800px;z-index:10;opacity:0;transform:scale(.95);transition:opacity var(--transition-smooth),transform var(--transition-smooth)}.lightbox-modal[aria-hidden=false] .lightbox-content{opacity:1;transform:scale(1)}.featured-wire-showcase{background:linear-gradient(135deg,#e6b4320f,#0a0f1959);border:1.5px solid var(--color-accent-gold);border-radius:20px;padding:var(--space-xl);margin-bottom:var(--space-2xl);position:relative;overflow:hidden;box-shadow:0 8px 32px #e6b43208,var(--glass-shadow);display:grid;grid-template-columns:1fr;gap:var(--space-xl);align-items:center}@media (min-width: 768px){.featured-wire-showcase{grid-template-columns:1.2fr .8fr}}.featured-image-container{width:100%;aspect-ratio:4 / 3;border-radius:12px;overflow:hidden;border:1px solid rgba(230,180,50,.25);box-shadow:0 4px 20px #0000004d;position:relative;display:block}.featured-image-container img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-slow)}.featured-wire-showcase:hover .featured-image-container img{transform:scale(1.05)}.wire-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-left:3px solid var(--color-accent-bronze);border-radius:12px;padding:var(--space-md);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);display:flex;flex-direction:column;gap:var(--space-xs);cursor:pointer;text-align:left}.wire-card:hover{transform:translateY(-2px);border-color:#c896284d;box-shadow:0 8px 24px #c896280d,var(--glass-shadow-hover)}.wire-header{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--text-muted);font-weight:600}.wire-title{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.wire-excerpt{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.poetry-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;overflow:hidden;transition:border-color var(--transition-smooth),box-shadow var(--transition-smooth)}.poetry-card:hover{border-color:#e6b43240;box-shadow:var(--glass-shadow-hover)}.poetry-header-btn{width:100%;padding:var(--space-md) var(--space-lg);display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:700;font-size:1.12rem;background:none;border:none;color:var(--text-primary);transition:background var(--transition-fast);cursor:pointer}.poetry-header-btn:hover{background:var(--glass-bg-hover)}.poetry-icon{font-size:.9rem;transition:transform var(--transition-smooth);color:var(--color-accent-gold)}.poetry-card.active .poetry-icon{transform:rotate(180deg)}.poetry-content{display:none;padding:var(--space-lg);border-top:1px solid var(--glass-border);background:#0a0c1433;font-family:var(--font-serif);font-size:1.05rem;line-height:1.8;font-style:italic;color:var(--text-secondary);white-space:pre-line}.poetry-card.active .poetry-content{display:block}.resume-wrapper{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;padding:var(--space-xl);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-top:var(--space-md)}.resume-header-block{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--glass-border);padding-bottom:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;gap:var(--space-md)}.resume-header-title .text-gradient{-webkit-text-stroke:1.2px rgba(255,255,255,.35);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) drop-shadow(0 12px 24px rgba(0,60,210,.25));transition:filter var(--transition-smooth),transform var(--transition-smooth);display:inline-block}.resume-header-title .text-gradient:hover{transform:translateY(-2px);filter:drop-shadow(0 4px 8px rgba(0,0,0,.7)) drop-shadow(0 16px 32px rgba(0,60,210,.4))}.resume-sections-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-2xl)}@media (max-width: 850px){.resume-sections-grid{grid-template-columns:1fr;gap:var(--space-xl)}}.resume-section-title{font-size:1.4rem;font-weight:800;border-bottom:2px solid var(--color-accent-blue);padding-bottom:var(--space-xs);margin-bottom:var(--space-lg);color:var(--text-primary);letter-spacing:-.01em}.timeline{position:relative;border-left:2px solid var(--glass-border);padding-left:var(--space-lg);margin-left:6px;display:flex;flex-direction:column;gap:var(--space-lg)}.timeline-item{position:relative}.timeline-item:before{content:"";position:absolute;left:calc(-1 * var(--space-lg) - 7px);top:6px;width:12px;height:12px;border-radius:50%;background:var(--bg-primary);border:2px solid var(--color-accent-blue);transition:transform var(--transition-fast),background-color var(--transition-fast)}.timeline-item:hover:before{transform:scale(1.3);background-color:var(--color-accent-gold)}.timeline-meta{display:flex;gap:var(--space-sm);font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2xs)}.timeline-duration{color:var(--color-accent-gold)}.timeline-title{font-size:1.15rem;font-weight:800;color:var(--text-primary);margin-bottom:2px}.timeline-org{font-size:.95rem;font-weight:600;color:var(--color-accent-blue);margin-bottom:var(--space-2xs)}.timeline-desc{font-size:.92rem;line-height:1.5;color:var(--text-secondary)}.skills-card-grid{display:flex;flex-direction:column;gap:var(--space-md)}.skills-category{background:#0a0c1426;border:1px solid var(--glass-border);border-radius:16px;padding:var(--space-md)}.skills-cat-title{font-size:.95rem;font-weight:700;color:var(--color-accent-gold);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em}.tag-cloud{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.pr-clip-btn{display:inline-flex;align-items:center;gap:var(--space-2xs);margin-top:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:8px;background:var(--bg-secondary);border:1.5px solid var(--color-accent-bronze);color:var(--color-accent-bronze);font-size:.88rem;font-weight:700;transition:transform var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.pr-clip-btn:hover{transform:translateY(-1px);background:var(--color-accent-bronze);color:#fff}.photography-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-md);margin-top:var(--space-md);transition:opacity .3s ease}.photo-grid-item{position:relative;aspect-ratio:1 / 1;border-radius:16px;overflow:hidden;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);cursor:pointer;display:block;text-decoration:none;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth)}.photo-grid-item:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 25px #e6b4321a,var(--glass-shadow-hover);border-color:#e6b43259}.photo-grid-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.photo-grid-item:hover .photo-grid-img{transform:scale(1.08)}.photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 65%,transparent 100%);padding:var(--space-md) var(--space-sm) var(--space-sm) var(--space-sm);opacity:0;transform:translateY(8px);transition:opacity var(--transition-smooth),transform var(--transition-smooth);display:flex;align-items:flex-end;justify-content:center;pointer-events:none;height:60%}.photo-grid-item:hover .photo-overlay{opacity:1;transform:translateY(0)}.photo-title{color:#fff;font-size:.85rem;font-weight:600;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.6);margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.photo-loading-placeholder{grid-column:1 / -1;text-align:center;padding:var(--space-2xl) 0;color:var(--text-muted);font-size:1.05rem;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.photo-loading-spinner{width:32px;height:32px;border:3px solid rgba(230,180,50,.15);border-top-color:var(--color-accent-gold);border-radius:50%;animation:photo-spin 1s linear infinite;margin-bottom:var(--space-xs)}@keyframes photo-spin{to{transform:rotate(360deg)}}
