@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=Space+Mono:wght@400;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0c0a;--bg-card:#131210;--bg-hover:#1a1916;--gold:#c9a84c;--gold-dim:#8a6e2a;--gold-glow:rgba(201,168,76,.12);--text:#f0ebe1;--text-muted:#9a9280;--border:rgba(201,168,76,.18);--spine:rgba(201,168,76,.35);--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"EB Garamond",Georgia,serif;--font-mono:"Space Mono",monospace;--max-w:1100px;--gutter:2rem}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:clamp(1rem,1.1vw,1.125rem);line-height:1.75;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:2px}::selection{background:var(--gold);color:var(--bg)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.25rem var(--gutter);border-bottom:1px solid var(--border);background:rgba(13,12,10,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-logo{font-family:var(--font-display);font-size:1.4rem;font-weight:500;letter-spacing:.04em;color:var(--text);text-decoration:none;transition:color .2s}.nav-logo span,.nav-logo:hover{color:var(--gold)}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width .25s ease}.nav-links a.active,.nav-links a:hover{color:var(--gold)}.nav-links a.active:after,.nav-links a:hover:after{width:100%}.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}.page-wrap{padding-top:5rem;min-height:100vh}.hero{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 5rem);padding:6rem var(--gutter) 4rem;max-width:var(--max-w);margin:0 auto;overflow:hidden}.hero:before{content:"";position:fixed;left:calc(var(--gutter) - 1px);top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent 0,var(--spine) 15%,var(--spine) 85%,transparent 100%);pointer-events:none;z-index:50}.hero-eyebrow{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}.hero-name{font-family:var(--font-display);font-size:clamp(3.5rem,9vw,8rem);font-weight:300;line-height:.95;letter-spacing:-.01em;color:var(--text);margin-bottom:.15em}.hero-name em{font-style:italic;color:var(--gold)}.hero-tagline{font-family:var(--font-display);font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:300;font-style:italic;color:var(--text-muted);margin-bottom:3rem;max-width:480px}.hero-cta{display:flex;gap:1.25rem;flex-wrap:wrap}.btn{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;padding:.75rem 1.75rem;border:1px solid;transition:background .2s,color .2s,border-color .2s;cursor:pointer}.btn-primary{background:var(--gold);color:var(--bg);border-color:var(--gold)}.btn-primary:hover{background:transparent;color:var(--gold)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted)}.section{padding:6rem 0}.section-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}.section-label:after{content:"";flex:1 1;height:1px;max-width:80px;background:var(--gold-dim)}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.1;margin-bottom:1rem}.section-title em{font-style:italic;color:var(--gold)}.section-body{font-size:1.05rem;color:var(--text-muted);max-width:600px;line-height:1.8}.divider{border:none;border-top:1px solid var(--border);margin:0}.grid{display:grid;grid-gap:1.5px;gap:1.5px;margin-top:3rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--bg-card);border:1px solid var(--border);text-decoration:none;display:block;transition:border-color .25s,background .25s;position:relative;overflow:hidden}.card:hover{border-color:var(--gold-dim);background:var(--bg-hover)}.card-cover-wrapper{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}.card-cover{object-fit:cover;filter:grayscale(30%);transition:filter .3s}.card:hover .card-cover{filter:grayscale(0)}.card-cover-placeholder{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--bg-hover) 0,var(--bg-card) 100%);display:flex;align-items:center;justify-content:center}.card-cover-placeholder span{font-family:var(--font-display);font-size:2.5rem;color:var(--gold-dim);opacity:.4}.card-body{padding:1.5rem}.card-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.tag{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim);border:1px solid var(--gold-dim);padding:.2rem .5rem}.card-title{font-family:var(--font-display);font-size:1.4rem;font-weight:500;line-height:1.2;color:var(--text);margin-bottom:.5rem;transition:color .2s}.card:hover .card-title{color:var(--gold)}.card-date{font-family:var(--font-mono);font-size:.62rem;color:var(--text-muted);letter-spacing:.08em;margin-bottom:.6rem}.card-excerpt{font-size:.95rem;color:var(--text-muted);line-height:1.65}.about-grid{display:grid;grid-template-columns:1fr 1.6fr;grid-gap:5rem;gap:5rem;align-items:start;margin-top:4rem}.about-portrait{position:-webkit-sticky;position:sticky;top:6rem}.portrait-frame{aspect-ratio:3/4;background:var(--bg-hover);border:1px solid var(--border);position:relative;overflow:hidden}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:sepia(18%) saturate(75%) brightness(97%) contrast(110%)}.portrait-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:6rem;font-weight:300;color:var(--gold-dim);opacity:.3}.portrait-caption{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;color:var(--text-muted);margin-top:1rem;text-align:center}.about-bio h2{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;line-height:1.2;margin-bottom:1.5rem}.about-bio h2 em{font-style:italic;color:var(--gold)}.about-bio p{color:var(--text-muted);margin-bottom:1.2rem;font-size:1.05rem;line-height:1.85;text-align:justify}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:2.5rem}.skill-item{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:.6rem .75rem;border:1px solid var(--border);transition:border-color .2s,color .2s}.skill-item:hover{border-color:var(--gold-dim);color:var(--gold)}.post-header{padding:7rem var(--gutter) 3rem;max-width:780px;margin:0 auto}.post-header .tag{margin-bottom:1.5rem;display:inline-block}.post-title{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4rem);font-weight:400;line-height:1.1;margin-bottom:1rem}.post-meta{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;color:var(--text-muted);display:flex;gap:1.5rem}.post-cover{width:100%;max-height:480px;object-fit:cover;display:block;filter:grayscale(20%)}.post-body{max-width:680px;margin:0 auto;padding:3rem var(--gutter) 6rem}.post-body h1,.post-body h2,.post-body h3,.post-body h4{font-family:var(--font-display);font-weight:500;line-height:1.2;margin:2.5rem 0 .75rem;color:var(--text)}.post-body h2{font-size:1.9rem}.post-body h3{font-size:1.45rem}.post-body h4{font-size:1.15rem;font-style:italic;color:var(--text-muted)}.post-body p{margin-bottom:1.4rem;color:var(--text);text-align:justify}.post-body p:first-child{color:color-mix(in srgb,var(--gold) 75%,var(--text));font-size:1.1rem;text-align:justify}.post-body a{color:var(--gold);text-decoration:underline;-webkit-text-decoration-color:var(--gold-dim);text-decoration-color:var(--gold-dim)}.post-body a:hover{-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.post-body blockquote{border-left:4px solid var(--gold);padding-left:1.25rem;margin:1.75rem 0;font-style:italic;color:var(--text-muted)}.post-body blockquote p{margin:0}.post-body code{font-family:var(--font-mono);font-size:.78em;line-height:1;padding:.15em .4em;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;color:var(--gold)}.post-body pre{background:var(--bg-card);border:1px solid var(--border);padding:1.5rem;overflow-x:auto;margin:1.5rem 0}.post-body pre code{font-size:.92rem;line-height:1.7;background:none;border:none;padding:0;color:var(--text-muted)}.post-body img{width:100%;height:auto;display:block;margin:2rem 0}.post-body ol,.post-body ul{color:var(--text-muted);padding-left:1.5rem;margin-bottom:1.4rem}.post-body li{margin-bottom:.4rem}.post-body hr{border:none;border-top:1px solid var(--border);margin:3rem 0}.back-link{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s}.back-link:hover{color:var(--gold)}.footer{border-top:1px solid var(--border);padding:2.5rem var(--gutter);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-copy{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;color:var(--text-muted)}.footer-links{display:flex;gap:1.5rem;list-style:none}.footer-links a{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--gold)}.page-hero{padding:6rem var(--gutter) 3rem;max-width:var(--max-w);border-bottom:1px solid var(--border);margin:0 auto 4rem}@media (max-width:768px){:root{--gutter:1.25rem}.hero:before{display:none}.hero{padding:3rem var(--gutter) 4rem;min-height:calc(100svh - 4rem)}.nav-links{gap:1.25rem}.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-portrait{position:static;max-width:240px}.grid-2,.grid-3{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important}}.search-bar{margin-bottom:1.5rem}.search-input-wrap{position:relative;display:flex;align-items:center;max-width:540px}.search-icon{position:absolute;left:1rem;color:var(--text-muted);pointer-events:none}.search-input{width:100%;background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:.95rem;padding:.75rem 2.5rem .75rem 2.75rem;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s,background .2s}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--gold-dim);background:var(--bg-hover)}.search-input::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:.75rem;background:none;border:none;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:.2rem .3rem;transition:color .2s}.search-clear:hover{color:var(--gold)}.tag-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}.tag-pill{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:1px solid var(--border);padding:.3rem .75rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.tag-pill:hover{border-color:var(--gold-dim);color:var(--text)}.tag-pill.active{background:var(--gold);border-color:var(--gold);color:var(--bg)}.search-count{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;color:var(--gold-dim);margin-bottom:1.5rem}.search-empty{color:var(--text-muted)}.search-empty-title{font-family:var(--font-display);font-size:1.5rem;font-style:italic;color:var(--text);margin-bottom:.5rem}.search-empty-sub{font-size:.95rem}