@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Space+Grotesk:wght@400;500;700&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Space Grotesk,sans-serif}*{box-sizing:border-box}body{margin:0}:root{--ink-900:#0d0d0d;--ink-700:#1a1a1a;--ink-500:#555;--sand-100:#fff;--sand-200:#f5f5f5;--teal-600:#b8912a;--teal-700:#9a7520;--coral-500:#d4a736;--panel:#ffffffeb;--line:#0000001f;--gold:#c9a84c;--gold-light:#f0d080;--gold-dark:#9a7520}#root{min-height:100svh;color:var(--ink-700);background:radial-gradient(circle at 8% 10%,#c9a84c1f 0 26%,#0000 46%),radial-gradient(circle at 88% 12%,#c9a84c14 0 24%,#0000 44%),linear-gradient(165deg,#fff 0%,#fafafa 50%,#f2f2f2 100%)}h1,h2,h3{color:var(--ink-900);margin:0;font-family:Fraunces,serif}p{margin:0}a{color:inherit}.site-shell{gap:1.5rem;width:min(1120px,92vw);margin:0 auto;padding:1.25rem 0 2.5rem;display:grid}.site-header,.site-footer,main{background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #c9a84c4d;border-radius:20px}.site-header{gap:.8rem;padding:1rem 1.25rem;display:grid}.site-topbar{color:var(--ink-500);border-bottom:1px solid #c9a84c40;justify-content:space-between;align-items:center;gap:.8rem;padding-bottom:.2rem;font-size:.85rem;display:flex}.site-topbar p{margin:0}.brand-mark{letter-spacing:.05em;color:var(--gold);text-transform:uppercase;font-size:clamp(1.3rem,2.8vw,2rem);font-weight:700}.site-header nav{flex-wrap:wrap;gap:1rem;display:flex}nav a{border:1px solid #0000;border-radius:999px;padding:.45rem .85rem;font-weight:500;text-decoration:none;transition:all .2s}nav a:hover,nav a.active{border-color:var(--gold);color:var(--gold-dark);background:#c9a84c1a}main{padding:clamp(1rem,2vw,2rem)}main section{gap:1.4rem;display:grid}.hero-panel{background:linear-gradient(130deg,#fff,#fdf8ec);border:1px solid #c9a84c59;border-radius:18px;padding:clamp(1.2rem,3vw,2.2rem)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--teal-700);font-size:.74rem;font-weight:700}.hero-panel h1,.section-heading h1,.about-card h1,.contact-card h1,.not-found h1{margin:.35rem 0 .85rem;font-size:clamp(1.85rem,4vw,3.4rem);line-height:1.04}.hero-panel p,.section-heading p,.project-description,.about-card p,.contact-card p,.not-found p{color:var(--ink-500);line-height:1.6}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;padding:1rem}.stat-number{color:var(--gold);margin-bottom:.35rem;font-family:Fraunces,serif;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1}.section-heading h2{margin-top:.3rem;font-size:clamp(1.4rem,3.1vw,2rem)}.showcase-section{border:1px solid var(--line);background:#ffffffd9;border-radius:16px;padding:1rem}.showcase-actions{display:flex}.view-more-link{background:var(--ink-900);color:var(--gold);border:1px solid #0000;border-radius:999px;justify-self:start;padding:.5rem .95rem;font-weight:700;text-decoration:none;transition:background .2s}.view-more-link:hover{background:#222}.image-gallery{border:1px solid var(--line);background:#ffffffeb;border-radius:16px;padding:.9rem}.image-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.gallery-thumb{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;margin:0;padding:0;display:grid;position:relative;overflow:hidden}.gallery-thumb img{object-fit:contain;background:#edf2f7;width:100%;height:auto;max-height:320px}.thumb-stage{color:#fff;background:#102a43d6;border-radius:999px;padding:.22rem .55rem;font-size:.74rem;font-weight:600;position:absolute;top:.6rem;left:.6rem}.lightbox-backdrop{z-index:999;background:#000000ed;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.lightbox-dialog{color:#f0f0f0;background:#111;border:1px solid #c9a84c66;border-radius:16px;gap:1rem;width:min(1200px,96vw);max-height:94vh;padding:1rem;display:grid}.lightbox-header{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.lightbox-header p{color:#f8fafc;font-weight:600}.lightbox-header button,.lightbox-body button{color:var(--gold);cursor:pointer;background:#1a1a1a;border:1px solid #c9a84c80;border-radius:999px;padding:.45rem .9rem;font-weight:600}.lightbox-header button:hover,.lightbox-body button:hover{background:#2a2a2a}.lightbox-body{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;display:grid}.lightbox-body figure{justify-items:center;gap:.5rem;margin:0;display:grid}.lightbox-body img{object-fit:contain;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:74vh}.lightbox-body figcaption{color:#cbd5e1;font-size:.88rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.banister-section{scroll-margin-top:2rem}.banister-group{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;gap:.9rem;padding:1rem;display:grid}.banister-label{text-transform:uppercase;letter-spacing:.08em;color:var(--teal-700);font-size:.8rem;font-weight:700}.banister-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.banister-grid figure{gap:.45rem;margin:0;display:grid}.banister-grid img{aspect-ratio:9/16;object-fit:cover;background:#e8eef3;border:1px solid #102a4329;border-radius:12px;width:100%}.banister-grid figcaption{color:var(--ink-500);font-size:.82rem}.project-card{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;gap:.8rem;padding:1rem;display:grid}.project-meta{color:var(--teal-700);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;font-size:.82rem;font-weight:600;display:flex}.project-card h3{font-size:1.45rem}.project-impact{color:var(--teal-700);font-weight:600}.tag-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.tag-list li{color:var(--gold-dark);background:#c9a84c14;border:1px solid #c9a84c66;border-radius:999px;padding:.28rem .62rem;font-size:.78rem;font-weight:600}.project-card a,.not-found a,.contact-form button{background:var(--gold);color:#0d0d0d;border:1px solid #0000;border-radius:999px;justify-self:start;padding:.5rem .95rem;font-weight:700;text-decoration:none;transition:background .2s}.project-card a:hover,.not-found a:hover,.contact-form button:hover{background:var(--gold-light)}.about-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-card,.contact-card,.not-found{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;gap:.8rem;padding:1rem;display:grid}.timeline,.skills-list{color:var(--ink-500);gap:.35rem;margin:0;padding-left:1.2rem;display:grid}.contact-form{gap:.5rem;display:grid}.contact-form label{color:var(--ink-900);font-weight:600}.contact-form input,.contact-form textarea{font:inherit;color:var(--ink-900);background:#fff;border:1px solid #102a4338;border-radius:10px;padding:.65rem .75rem}.contact-form button{cursor:pointer}.site-footer{text-align:center;padding:.8rem 1rem;font-size:.95rem}.reveal{opacity:0;animation:.6s forwards rise-in;transform:translateY(18px)}.project-grid .reveal:nth-child(2){animation-delay:80ms}.project-grid .reveal:nth-child(3){animation-delay:.16s}.project-grid .reveal:nth-child(4){animation-delay:.24s}@keyframes rise-in{to{opacity:1;transform:translateY(0)}}@media (width<=900px){.stats-grid,.project-grid,.about-grid,.contact-grid,.image-gallery-grid{grid-template-columns:1fr}.site-header{align-items:flex-start}.site-topbar{flex-direction:column;align-items:flex-start}.banister-grid{grid-template-columns:1fr}.lightbox-dialog{width:100%;max-height:96vh}.lightbox-body{grid-template-columns:1fr}}
