@layer reset{*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;min-block-size:100dvh;line-height:1.6;overflow-x:hidden}img,picture,video,canvas,svg{block-size:auto;max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit;background:0 0;border:none}button{cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}}@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--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}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--bg-primary:var(--lightningcss-light,oklch(98% .01 90))var(--lightningcss-dark,oklch(8% .015 250));--bg-secondary:var(--lightningcss-light,oklch(95% .01 90))var(--lightningcss-dark,oklch(12% .02 250));--text-primary:var(--lightningcss-light,oklch(15% .01 90))var(--lightningcss-dark,oklch(96% .01 250));--text-secondary:var(--lightningcss-light,oklch(40% .02 90))var(--lightningcss-dark,oklch(70% .02 250));--text-muted:var(--lightningcss-light,oklch(55% .02 90))var(--lightningcss-dark,oklch(50% .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:var(--lightningcss-light,oklch(55% .25 250))var(--lightningcss-dark,oklch(70% .22 250));--color-interactive-hover:var(--lightningcss-light,oklch(45% .25 250))var(--lightningcss-dark,oklch(80% .18 250));--glass-bg:var(--lightningcss-light,#fff6)var(--lightningcss-dark,#0f141e66);--glass-bg-hover:var(--lightningcss-light,#fff9)var(--lightningcss-dark,#191e2d99);--glass-border:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff12);--glass-border-hover:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#ffffff1f);--glass-shadow:var(--lightningcss-light,0 8px 32px 0 #0000000d)var(--lightningcss-dark,0 8px 32px 0 #0000004d);--glass-shadow-hover:var(--lightningcss-light,0 12px 40px 0 #00000014)var(--lightningcss-dark,0 12px 48px 0 #00000080);--color-error:oklch(60% .18 29);--color-success:oklch(68% .16 142)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:oklch(98% .01 90);--bg-secondary:oklch(95% .01 90);--text-primary:oklch(15% .01 90);--text-secondary:oklch(40% .02 90);--text-muted:oklch(55% .02 90);--color-interactive:oklch(55% .25 250);--color-interactive-hover:oklch(45% .25 250);--glass-bg:#fff6;--glass-bg-hover:#fff9;--glass-border:#0000000f;--glass-border-hover:#0000001a;--glass-shadow:0 8px 32px 0 #0000000d;--glass-shadow-hover:0 12px 40px 0 #00000014}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:oklch(8% .015 250);--bg-secondary:oklch(12% .02 250);--text-primary:oklch(96% .01 250);--text-secondary:oklch(70% .02 250);--text-muted:oklch(50% .02 250);--color-interactive:oklch(70% .22 250);--color-interactive-hover:oklch(80% .18 250);--glass-bg:#0f141e66;--glass-bg-hover:#191e2d99;--glass-border:#ffffff12;--glass-border-hover:#ffffff1f;--glass-shadow:0 8px 32px 0 #0000004d;--glass-shadow-hover:0 12px 48px 0 #00000080}}@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(#ffffff04 1.5px,#0000 1.5px),linear-gradient(90deg,#ffffff04 1.5px,#0000 1.5px),radial-gradient(at 10% 20%,var(--lightningcss-light,#6496ff0a)var(--lightningcss-dark,#3c64ff12) 0,#0000 50%),radial-gradient(at 90% 80%,var(--lightningcss-light,#e6b4320a)var(--lightningcss-dark,#c896280f) 0,#0000 50%);background-size:60px 60px,60px 60px,100% 100%,100% 100%;background-attachment:fixed}h1,h2,h3,h4{font-family:var(--font-sans);letter-spacing:-.02em;text-wrap:balance;font-weight:800;line-height:1.15}h1{font-size:clamp(2.5rem,5vw + 1rem,5rem)}h2{margin-block-end:var(--space-lg);font-size:clamp(1.8rem,3.5vw + .8rem,3rem)}h3{font-size:clamp(1.4rem,2vw + .6rem,2rem)}p{color:var(--text-secondary);text-wrap:pretty;max-inline-size:65ch;font-size:clamp(1rem,.2vw + .95rem,1.15rem)}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{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);background-color:var(--glass-bg);width:100%;transition:background-color var(--transition-smooth), border-color var(--transition-smooth);position:fixed;top:0;left:0}.nav-container{max-width:1200px;padding:var(--space-md) var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.logo{font-family:var(--font-sans);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-text-fill-color:transparent;align-items:center;gap:var(--space-xs);-webkit-background-clip:text;font-size:1.4rem;font-weight:900;display:flex}.logo-dot{background-color:var(--color-accent-bronze);border-radius:50%;width:8px;height:8px;display:inline-block}.nav-menu{gap:var(--space-xl);align-items:center;display:flex}.nav-link{color:var(--text-secondary);transition:color var(--transition-fast);padding-block:var(--space-2xs);font-weight:500;position:relative}.nav-link:after{content:"";background:var(--color-accent-blue);transform-origin:100%;width:100%;height:2px;transition:transform .3s var(--ease-out-expo);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{transform-origin:0;transform:scaleX(1)}.nav-actions{align-items:center;gap:var(--space-md);display:flex}.theme-toggle{background:var(--glass-bg);border:1px solid var(--glass-border);width:40px;height:40px;color:var(--text-primary);transition:transform var(--transition-fast), background-color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--glass-bg-hover);transform:rotate(15deg)scale(1.05)}.theme-toggle svg{fill:currentColor;width:20px;height:20px}.hero-section{align-items:center;min-height:100dvh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-container{max-width:1200px;padding:var(--space-2xl) var(--space-lg);gap:var(--space-3xl);grid-template-columns:.85fr 1.15fr;align-items:center;margin:0 auto;display:grid}.hero-badge{align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-md);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--color-accent-bronze);margin-bottom:var(--space-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:100px;font-size:.85rem;font-weight:600;display:inline-flex}.hero-badge-pulse{background-color:var(--color-accent-bronze);width:6px;height:6px;box-shadow:0 0 8px var(--color-accent-bronze);border-radius:50%;animation:2s infinite pulse}.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-text-fill-color:transparent;-webkit-text-stroke:1.2px #ffffff59;filter:drop-shadow(0 2px 4px #00000080)drop-shadow(0 12px 24px #003cd240);transition:filter var(--transition-smooth), transform var(--transition-smooth);-webkit-background-clip:text;background-clip:text;display:inline-block}.hero-title:hover{filter:drop-shadow(0 4px 8px #000000b3)drop-shadow(0 16px 32px #003cd266);transform:translateY(-2px)}.hero-desc{margin-bottom:var(--space-xl);font-size:1.25rem;line-height:1.6}.hero-cta{gap:var(--space-md);flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-xl);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);border-radius:12px;font-weight:600;display:inline-flex}.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 var(--lightningcss-light,#3c64ff33)var(--lightningcss-dark,#3c64ff66)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--lightningcss-light,#3c64ff4d)var(--lightningcss-dark,#3c64ff80)}.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{order:-1;justify-content:center;align-items:center;display:flex;position:relative}.hero-glow-sphere{background:radial-gradient(circle, var(--color-accent-gold) 0%, transparent 70%);filter:blur(30px);opacity:.45;border-radius:50%;width:250px;height:250px;animation:8s ease-in-out infinite float-slow;position:absolute}.hero-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-left:3px solid var(--color-accent-blue);padding:var(--space-md);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:var(--space-md);width:100%;max-width:360px;transition:transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);border-radius:24px;flex-direction:column;display:flex}.hero-card:hover{box-shadow:0 15px 40px #3c64ff1f, var(--glass-shadow-hover);border-color:#3c64ff40}.profile-photo-container{aspect-ratio:1/1.15;background:linear-gradient(135deg,#141928cc,#0a0c14e6);border:1px solid #ffffff14;border-radius:16px;width:100%;position:relative;overflow:hidden}.profile-photo{background-image:radial-gradient(circle at 50% 30%,#3c64ff40 0%,#0000 60%),radial-gradient(circle at 80% 80%,#e6b43233 0%,#0000 50%),url(/assets/paris_street_photography-uXwVDre3.jpg);background-position:50%;background-size:cover;width:100%;height:100%;position:relative}.profile-badge-icon{top:var(--space-sm);right:var(--space-sm);background:radial-gradient(circle, var(--color-accent-gold) 0%, oklch(60% .1 70) 100%);border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;display:flex;position:absolute;box-shadow:0 2px 8px #0006}.profile-info{text-align:center;padding:var(--space-xs) 0}.profile-name{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-text-fill-color:transparent;-webkit-text-stroke:1.2px #ffffff59;filter:drop-shadow(0 2px 4px #00000080)drop-shadow(0 12px 24px #003cd240);transition:filter var(--transition-smooth), transform var(--transition-smooth);-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:900;display:inline-block}.profile-name:hover{filter:drop-shadow(0 4px 8px #000000b3)drop-shadow(0 16px 32px #003cd266);transform:translateY(-2px)}.profile-title{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-gold);margin-bottom:var(--space-xs);font-size:.72rem;font-weight:700}.tagline-link{color:var(--color-accent-bronze);transition:color var(--transition-fast), text-shadow var(--transition-fast);text-decoration:none}.tagline-link:hover{color:var(--color-accent-gold);text-shadow:0 0 8px #e6b43266}.hero-card-stats{gap:var(--space-sm);border-top:1px solid var(--glass-border);padding-top:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.stat-item{text-align:center}.stat-value{color:var(--color-accent-blue);font-size:1.3rem;font-weight:800}.stat-label{color:var(--text-muted);font-size:.75rem}.section-container{max-width:1200px;padding:var(--space-3xl) var(--space-lg);margin:0 auto}.section-header{margin-bottom:var(--space-2xl);max-width:600px}.filter-bar{gap:var(--space-sm);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.filter-btn{padding:var(--space-xs) var(--space-lg);background:var(--glass-bg);border:1px solid var(--glass-border);transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border-radius:100px;font-size:.9rem;font-weight:500}.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{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.project-card{background:var(--glass-bg);border:1px solid var(--glass-border);transition:transform var(--transition-smooth), opacity var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);box-shadow:var(--glass-shadow);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.project-card:hover{box-shadow:0 12px 30px #e6b43214, var(--glass-shadow-hover);border-color:#e6b43259;transform:translateY(-6px)}.project-img{background-position:50%;background-size:cover;background-color:var(--bg-secondary);width:100%;height:180px;position:relative}.project-badge{top:var(--space-sm);right:var(--space-sm);padding:var(--space-2xs) var(--space-sm);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f141eb3;border:1px solid #ffffff1a;border-radius:8px;font-size:.75rem;font-weight:600;position:absolute}.project-content{padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;flex-grow:1;display:flex}.project-tags{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tag{color:var(--text-secondary);background:var(--bg-secondary);padding:3px var(--space-xs);border:1px solid var(--glass-border);border-radius:6px;font-size:.75rem;font-weight:600}.project-link{color:var(--color-interactive);align-items:center;gap:var(--space-2xs);transition:color var(--transition-fast);margin-top:auto;font-weight:600;display:inline-flex}.project-link:hover{color:var(--color-interactive-hover)}.photography-cards-grid{gap:var(--space-md);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.photography-card{background:var(--glass-bg);border:1px solid var(--glass-border);transition:transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);box-shadow:var(--glass-shadow);border-radius:16px;flex-direction:column;height:100%;text-decoration:none;display:flex;overflow:hidden}.photography-card:hover{box-shadow:0 8px 24px #e6b43214, var(--glass-shadow-hover);border-color:#e6b43259;transform:translateY(-4px)}.photography-card-img{background-position:50%;background-size:cover;background-color:var(--bg-secondary);width:100%;height:140px;position:relative}.photography-card-content{padding:var(--space-md);gap:var(--space-xs);flex-direction:column;flex-grow:1;display:flex}.photography-card-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.photography-card-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.45;display:-webkit-box;overflow:hidden}.photography-card-meta{padding-top:var(--space-xs);justify-content:space-between;align-items:center;margin-top:auto;font-size:.8rem;font-weight:600;display:flex}.photography-card-link{color:var(--color-interactive);transition:color var(--transition-fast);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.photography-card-link:hover{color:var(--color-interactive-hover)}.photography-card-count{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:20px;padding:2px 8px;font-size:.75rem}.interests-container{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.interest-card{background:var(--glass-bg);border:1px solid var(--glass-border);padding:var(--space-xl);gap:var(--space-sm);transition:transform var(--transition-smooth), border-color var(--transition-smooth), box-shadow var(--transition-smooth);box-shadow:var(--glass-shadow);border-radius:20px;flex-direction:column;display:flex}.interest-card:hover{box-shadow:0 10px 25px #c896280f, var(--glass-shadow-hover);border-color:#c896284d;transform:translateY(-4px)}.interest-icon{background:var(--bg-secondary);width:48px;height:48px;color:var(--color-accent-bronze);border:1.5px solid #c8962840;border-radius:12px;justify-content:center;align-items:center;font-size:1.5rem;display:flex;box-shadow:0 4px 10px #0003}.sandbox-container{background:var(--glass-bg);border:1px solid var(--color-accent-gold);padding:var(--space-lg);box-shadow:var(--glass-shadow);border-radius:24px;position:relative;overflow:hidden}.sandbox-canvas-wrapper{aspect-ratio:16/9;border:1px solid var(--glass-border);background-color:var(--lightningcss-light,#f0f3f880)var(--lightningcss-dark,#0a0c14b3);border-radius:16px;min-height:350px;position:relative;overflow:hidden}#physics-canvas{width:100%;height:100%;position:absolute;top:0;left:0}.canvas-overlay{bottom:var(--space-md);left:var(--space-md);z-index:10;pointer-events:none;padding:var(--space-sm) var(--space-md);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f141ed9;border:1px solid #ffffff1a;border-radius:12px;max-width:320px;position:absolute}.canvas-title{margin-bottom:var(--space-2xs);color:var(--color-accent-bronze);font-size:.95rem;font-weight:700}.canvas-text{color:#ffffffb3;font-size:.78rem;line-height:1.4}.canvas-controls{top:var(--space-md);right:var(--space-md);z-index:10;gap:var(--space-xs);display:flex;position:absolute}.canvas-btn{padding:var(--space-2xs) var(--space-sm);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color var(--transition-fast), border-color var(--transition-fast);background:#0f141ed9;border:1px solid #ffffff1a;border-radius:8px;font-size:.8rem;font-weight:600}.canvas-btn:hover{background:#191e2df2;border-color:#fff3}.contact-grid{gap:var(--space-3xl);grid-template-columns:.8fr 1.2fr;display:grid}.contact-info{gap:var(--space-xl);flex-direction:column;display:flex}.contact-method{gap:var(--space-md);align-items:flex-start;display:flex}.contact-method-icon{background:var(--glass-bg);border:1px solid var(--glass-border);width:44px;height:44px;color:var(--color-accent-blue);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-form-container{background:var(--glass-bg);border:1px solid var(--glass-border);padding:var(--space-xl);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px}.form-group{margin-bottom:var(--space-lg);gap:var(--space-xs);flex-direction:column;display:flex}.form-label{color:var(--text-secondary);font-size:.88rem;font-weight:600}.form-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:12px}.form-input:focus{outline:2px solid var(--color-interactive);outline-offset:2px;border-color:var(--color-accent-blue);box-shadow:0 0 0 3px var(--lightningcss-light,#3c64ff1a)var(--lightningcss-dark,#3c64ff40)}.form-input:user-invalid{border-color:var(--color-error);box-shadow:0 0 0 3px #dc323226}textarea.form-input{resize:vertical;field-sizing:content;min-height:120px}.footer{border-top:1px solid var(--glass-border);background-color:var(--bg-secondary);padding:var(--space-2xl) 0;color:var(--text-secondary);font-size:.95rem}.footer-container{max-width:1200px;padding:0 var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;margin:0 auto;display:flex}}@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-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-glow{text-shadow:0 0 20px var(--lightningcss-light,#3c64ff26)var(--lightningcss-dark,#3c64ff4d)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}@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:linear backwards reveal-up;animation-timeline:view();animation-range:entry 5% cover 30%}}}}@media (width<=900px){.hero-container{text-align:center;gap:var(--space-2xl);grid-template-columns:1fr}.hero-badge,.hero-cta{justify-content:center;margin-inline:auto}.hero-art-container{order:-1}.contact-grid{gap:var(--space-2xl);grid-template-columns:1fr}.nav-menu{display:none}}.tab-pane{opacity:0;transition:opacity var(--transition-smooth);display:none}.tab-pane.active{opacity:1;display:block}.article-drawer{z-index:1000;visibility:hidden;pointer-events:none;width:100%;height:100%;transition:visibility var(--transition-smooth);position:fixed;top:0;left:0}.article-drawer[aria-hidden=false]{visibility:visible;pointer-events:auto}.drawer-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;width:100%;height:100%;transition:opacity var(--transition-smooth);background:#0a0c1499;position:absolute}.article-drawer[aria-hidden=false] .drawer-backdrop{opacity:1}.drawer-panel{background:var(--bg-primary);border-left:1px solid var(--glass-border);width:100%;max-width:650px;height:100%;padding:var(--space-xl);transition:transform var(--transition-smooth);flex-direction:column;display:flex;position:absolute;top:0;right:0;transform:translate(100%);box-shadow:-10px 0 40px #0006}.article-drawer[aria-hidden=false] .drawer-panel{transform:translate(0)}.lightbox-modal{z-index:2000;visibility:hidden;pointer-events:none;width:100%;height:100%;transition:visibility var(--transition-smooth);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.lightbox-modal[aria-hidden=false]{visibility:visible;pointer-events:auto}.lightbox-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;width:100%;height:100%;transition:opacity var(--transition-smooth);background:#05070ce6;position:absolute}.lightbox-modal[aria-hidden=false] .lightbox-backdrop{opacity:1}.lightbox-content{z-index:10;opacity:0;width:90%;max-width:800px;transition:opacity var(--transition-smooth), transform var(--transition-smooth);position:relative;transform:scale(.95)}.lightbox-modal[aria-hidden=false] .lightbox-content{opacity:1;transform:scale(1)}.featured-wire-showcase{border:1.5px solid var(--color-accent-gold);padding:var(--space-xl);margin-bottom:var(--space-2xl);box-shadow:0 8px 32px #e6b43208, var(--glass-shadow);gap:var(--space-xl);background:linear-gradient(135deg,#e6b4320f 0%,#0a0f1959 100%);border-radius:20px;grid-template-columns:1fr;align-items:center;display:grid;position:relative;overflow:hidden}@media (width>=768px){.featured-wire-showcase{grid-template-columns:1.2fr .8fr}}.featured-image-container{aspect-ratio:4/3;border:1px solid #e6b43240;border-radius:12px;width:100%;display:block;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000004d}.featured-image-container img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow);display:block}.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);padding:var(--space-md);transition:transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);gap:var(--space-xs);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;display:flex}.wire-card:hover{box-shadow:0 8px 24px #c896280d, var(--glass-shadow-hover);border-color:#c896284d;transform:translateY(-2px)}.wire-header{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.78rem;font-weight:600;display:flex}.wire-title{color:var(--text-primary);font-size:1.15rem;font-weight:700}.wire-excerpt{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.poetry-card{background:var(--glass-bg);border:1px solid var(--glass-border);transition:border-color var(--transition-smooth), box-shadow var(--transition-smooth);border-radius:16px;overflow:hidden}.poetry-card:hover{box-shadow:var(--glass-shadow-hover);border-color:#e6b43240}.poetry-header-btn{width:100%;padding:var(--space-md) var(--space-lg);text-align:left;color:var(--text-primary);transition:background var(--transition-fast);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;font-size:1.12rem;font-weight:700;display:flex}.poetry-header-btn:hover{background:var(--glass-bg-hover)}.poetry-icon{transition:transform var(--transition-smooth);color:var(--color-accent-gold);font-size:.9rem}.poetry-card.active .poetry-icon{transform:rotate(180deg)}.poetry-content{padding:var(--space-lg);border-top:1px solid var(--glass-border);font-family:var(--font-serif);color:var(--text-secondary);white-space:pre-line;background:#0a0c1433;font-size:1.05rem;font-style:italic;line-height:1.8;display:none}.poetry-card.active .poetry-content{display:block}.resume-wrapper{background:var(--glass-bg);border:1px solid var(--glass-border);padding:var(--space-xl);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-top:var(--space-md);border-radius:24px}.resume-header-block{border-bottom:1px solid var(--glass-border);padding-bottom:var(--space-lg);margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.resume-header-title .text-gradient{-webkit-text-stroke:1.2px #ffffff59;filter:drop-shadow(0 2px 4px #00000080)drop-shadow(0 12px 24px #003cd240);transition:filter var(--transition-smooth), transform var(--transition-smooth);display:inline-block}.resume-header-title .text-gradient:hover{filter:drop-shadow(0 4px 8px #000000b3)drop-shadow(0 16px 32px #003cd266);transform:translateY(-2px)}.resume-sections-grid{gap:var(--space-2xl);grid-template-columns:1.2fr .8fr;display:grid}@media (width<=850px){.resume-sections-grid{gap:var(--space-xl);grid-template-columns:1fr}}.resume-section-title{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;font-size:1.4rem;font-weight:800}.timeline{border-left:2px solid var(--glass-border);padding-left:var(--space-lg);gap:var(--space-lg);flex-direction:column;margin-left:6px;display:flex;position:relative}.timeline-item{position:relative}.timeline-item:before{content:"";left:calc(-1 * var(--space-lg) - 7px);background:var(--bg-primary);border:2px solid var(--color-accent-blue);width:12px;height:12px;transition:transform var(--transition-fast), background-color var(--transition-fast);border-radius:50%;position:absolute;top:6px}.timeline-item:hover:before{background-color:var(--color-accent-gold);transform:scale(1.3)}.timeline-meta{gap:var(--space-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2xs);font-size:.8rem;font-weight:700;display:flex}.timeline-duration{color:var(--color-accent-gold)}.timeline-title{color:var(--text-primary);margin-bottom:2px;font-size:1.15rem;font-weight:800}.timeline-org{color:var(--color-accent-blue);margin-bottom:var(--space-2xs);font-size:.95rem;font-weight:600}.timeline-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.5}.skills-card-grid{gap:var(--space-md);flex-direction:column;display:flex}.skills-category{border:1px solid var(--glass-border);padding:var(--space-md);background:#0a0c1426;border-radius:16px}.skills-cat-title{color:var(--color-accent-gold);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em;font-size:.95rem;font-weight:700}.tag-cloud{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.pr-clip-btn{align-items:center;gap:var(--space-2xs);margin-top:var(--space-sm);padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1.5px solid var(--color-accent-bronze);color:var(--color-accent-bronze);transition:transform var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);border-radius:8px;font-size:.88rem;font-weight:700;display:inline-flex}.pr-clip-btn:hover{background:var(--color-accent-bronze);color:#fff;transform:translateY(-1px)}.photography-grid{gap:var(--space-md);margin-top:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));transition:opacity .3s;display:grid}.photo-grid-item{aspect-ratio:1;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);cursor:pointer;transition:transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);border-radius:16px;text-decoration:none;display:block;position:relative;overflow:hidden}.photo-grid-item:hover{box-shadow:0 10px 25px #e6b4321a, var(--glass-shadow-hover);border-color:#e6b43259;transform:translateY(-4px)scale(1.02)}.photo-grid-img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.photo-grid-item:hover .photo-grid-img{transform:scale(1.08)}.photo-overlay{padding:var(--space-md) var(--space-sm) var(--space-sm) var(--space-sm);opacity:0;transition:opacity var(--transition-smooth), transform var(--transition-smooth);pointer-events:none;background:linear-gradient(#0000 0%,#0006 35%,#000000d9 100%);justify-content:center;align-items:flex-end;height:60%;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.photo-grid-item:hover .photo-overlay{opacity:1;transform:translateY(0)}.photo-title{color:#fff;text-align:center;text-shadow:0 1px 3px #0009;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;font-weight:600;display:-webkit-box;overflow:hidden}.photo-loading-placeholder{text-align:center;padding:var(--space-2xl) 0;color:var(--text-muted);align-items:center;gap:var(--space-sm);flex-direction:column;grid-column:1/-1;font-size:1.05rem;display:flex}.photo-loading-spinner{border:3px solid #e6b43226;border-top-color:var(--color-accent-gold);width:32px;height:32px;margin-bottom:var(--space-xs);border-radius:50%;animation:1s linear infinite photo-spin}@keyframes photo-spin{to{transform:rotate(360deg)}}@media print{@page{margin:.6in .5in}html,body{color:#000!important;background:#fff!important;font-family:Inter,-apple-system,sans-serif!important;font-size:11pt!important}header.header,footer,.hero-section,#focus,#projects,#photography,#sandbox,#contact,.filter-bar,.featured-wire-showcase,.archive-search-container,.wires-list-container,.load-more-container,#tab-magazine-pane,#tab-journalism-pane,#tab-poetry-pane,#tab-pr-pane,.btn,.resume-header-block .btn,.section-header{display:none!important}#writing{background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important}#tab-resume-pane{opacity:1!important;visibility:visible!important;display:block!important}.resume-wrapper{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important}.resume-sections-grid{gap:var(--space-xl)!important;grid-template-columns:1.25fr .75fr!important;display:grid!important}a{color:#000!important;text-decoration:none!important}.text-gradient{-webkit-text-fill-color:#000!important;color:#000!important;-webkit-text-stroke:unset!important;filter:none!important;background:0 0!important}.resume-header-subtitle{color:#374151!important;font-weight:700!important}.resume-section-title{color:#000!important;border-bottom:2px solid #000!important}.timeline{border-left:2px solid #d1d5db!important}.timeline-item:before{background:#fff!important;border:2px solid #000!important}.timeline-duration{color:#4b5563!important}.timeline-title{color:#000!important}.timeline-org{color:#1f2937!important}.timeline-desc{color:#4b5563!important}.skills-category{page-break-inside:avoid;padding:var(--space-sm)!important;background:0 0!important;border:1px solid #d1d5db!important}.skills-cat-title{padding-bottom:4px;color:#1f2937!important;border-bottom:1px solid #e5e7eb!important}.tag-cloud .tag{color:#1f2937!important;background:#f3f4f6!important;border:1px solid #d1d5db!important;font-size:.8rem!important}}
