@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Anybody:wght@100;200;300;400&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;1,8..60,300;1,8..60,400&display=swap";.mobile-menu[data-astro-cid-sckkx6r4]{position:fixed;inset:0;z-index:490;background:#080808f7;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem}.mobile-menu[data-astro-cid-sckkx6r4] a[data-astro-cid-sckkx6r4]{font-family:Cormorant Garamond,serif;font-weight:300;font-size:2rem;color:#8a7e70;text-decoration:none;letter-spacing:.1em;transition:color .3s}.mobile-menu[data-astro-cid-sckkx6r4] a[data-astro-cid-sckkx6r4]:hover{color:#f5f0eb}:root{--bg: #080808;--text: #e8e4df;--text-dim: #a09888;--text-muted: #8a7e70;--text-faint: #6a5f52;--text-ghost: #5a5348;--text-shadow: #4a4540;--text-barely: #3a3530;--border: #1a1815;--border-light: #2a2520;--border-faint: #151210;--white: #f5f0eb;--highlight: #d4cfc8;--font-display: "Cormorant Garamond", serif;--font-ui: "Anybody", sans-serif;--font-body: "Source Serif 4", serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Georgia,serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.nav-bar{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;transition:all .5s ease;background:#080808eb;backdrop-filter:blur(12px);border-bottom:1px solid rgba(160,152,136,.1)}.nav-bar.transparent{background:transparent;backdrop-filter:none;border-bottom:none}.nav-logo{font-family:var(--font-display);font-weight:300;font-size:1.4rem;letter-spacing:.12em;text-transform:uppercase;color:var(--white);text-decoration:none;transition:font-size .5s ease}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-link{font-family:var(--font-ui);font-weight:200;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);text-decoration:none;transition:color .3s;position:relative}.nav-link:hover,.nav-link.active{color:var(--white)}.nav-bar.transparent .nav-link{color:#f5f0ebbf;text-shadow:0 1px 8px rgba(0,0,0,.7)}.nav-link.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--text-dim)}.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}.hamburger span{display:block;width:22px;height:1px;background:var(--text-dim)}@media(max-width:768px){.nav-links{display:none}.hamburger{display:flex}.nav-bar{padding:1.2rem 1.5rem}}.hero{height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;filter:brightness(.45) contrast(1.1);animation:slowZoom 25s ease-in-out infinite alternate}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.12)}}.hero-content{position:relative;z-index:2;padding:0 3rem 8rem;max-width:900px;opacity:0;transform:translateY(50px);animation:riseIn 1.4s ease-out .4s forwards}@keyframes riseIn{to{opacity:1;transform:translateY(0)}}.hero h1{font-family:var(--font-display);font-weight:300;font-size:clamp(3rem,7vw,5.5rem);line-height:1.05;letter-spacing:.08em;color:var(--white);margin-bottom:1.5rem;text-shadow:0 2px 24px rgba(0,0,0,.6),0 1px 6px rgba(0,0,0,.5)}.hero-tagline{font-family:var(--font-body);font-weight:300;font-style:italic;font-size:clamp(1rem,2vw,1.3rem);color:#f5f0ebe0;line-height:1.6;max-width:550px;text-shadow:0 1px 12px rgba(0,0,0,.7)}.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);z-index:2;opacity:0;animation:riseIn 1s ease-out 1.5s forwards}.hero-scroll-line{width:1px;height:45px;background:linear-gradient(to bottom,var(--text-dim),transparent);margin:0 auto;animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.section-label{font-family:var(--font-ui);font-weight:200;font-size:.65rem;letter-spacing:.5em;text-transform:uppercase;color:var(--text-ghost);margin-bottom:2rem}.featured{padding:6rem 3rem;border-top:1px solid var(--border-faint)}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media(max-width:900px){.featured-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.featured-grid{grid-template-columns:1fr}}.feat-card{position:relative;overflow:hidden;cursor:pointer;opacity:0;animation:cardIn .6s ease-out forwards}.feat-card img{width:100%;height:auto;display:block;filter:brightness(.85);transition:all .7s ease}.feat-card:hover img{transform:scale(1.05);filter:brightness(1)}.feat-card .feat-info{position:absolute;bottom:0;left:0;right:0;padding:2.5rem 1.2rem 1.2rem;background:linear-gradient(to top,rgba(8,8,8,.9),transparent);opacity:0;transform:translateY(10px);transition:all .4s ease}.feat-card:hover .feat-info{opacity:1;transform:translateY(0)}.feat-info h3{font-family:var(--font-display);font-weight:400;font-size:1.2rem;color:var(--white)}.feat-info p{font-family:var(--font-ui);font-weight:200;font-size:.68rem;color:var(--text-dim);margin-top:.3rem}@keyframes cardIn{to{opacity:1}}.field-section{padding:5rem 3rem;border-top:1px solid var(--border-faint);max-width:800px;margin:0 auto;text-align:center}.field-title{font-family:var(--font-display);font-weight:300;font-size:2rem;color:var(--white);margin-bottom:1rem;letter-spacing:.05em}.field-text{font-family:var(--font-body);font-weight:300;font-size:.95rem;color:var(--text-muted);line-height:1.8;margin-bottom:2rem}.page-title{font-family:var(--font-display);font-weight:300;font-size:clamp(2.5rem,5vw,4rem);letter-spacing:.08em;color:var(--white);margin-bottom:.5rem;text-align:center}.page-subtitle{font-family:var(--font-body);font-weight:300;font-style:italic;font-size:1rem;color:var(--text-faint);text-align:center;margin-bottom:3rem}.portfolio-page{padding:8rem 2rem 6rem;max-width:1400px;margin:0 auto}.filter-row{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.fbtn{background:none;border:1px solid var(--border-light);color:var(--text-muted);padding:.4rem 1.2rem;font-family:var(--font-ui);font-weight:200;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;transition:all .4s}.fbtn:hover{border-color:var(--text-dim);color:var(--text)}.fbtn.on{background:var(--text);border-color:var(--text);color:var(--bg)}.count-label{font-family:var(--font-ui);font-weight:200;font-size:.7rem;letter-spacing:.2em;color:var(--text-shadow);text-align:center;margin-bottom:2rem}.filter-row-secondary{margin-top:-.8rem;margin-bottom:1.2rem}.fbtn-sm{font-size:.62rem;padding:.3rem .9rem}.gallery-empty{font-family:var(--font-body);font-weight:300;font-style:italic;color:var(--text-ghost);text-align:center;padding:4rem 0;font-size:.95rem}.gallery-group{margin-bottom:3.5rem}.gallery-group-heading{font-family:var(--font-display);font-weight:300;font-size:1.1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-ghost);border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.6rem;margin-bottom:1.4rem}.masonry{columns:2;column-gap:1.2rem}@media(max-width:768px){.masonry{columns:1}}.m-card{break-inside:avoid;margin-bottom:1.2rem;position:relative;overflow:hidden;cursor:pointer;opacity:0;animation:cardIn .7s ease-out forwards}.m-card img{width:100%;display:block;filter:brightness(.88) contrast(1.05);transition:all .7s ease}.m-card:hover img{transform:scale(1.03);filter:brightness(1) contrast(1.05)}.m-overlay{position:absolute;bottom:0;left:0;right:0;padding:3rem 1.2rem 1.2rem;background:linear-gradient(to top,rgba(8,8,8,.93) 0%,rgba(8,8,8,.4) 60%,transparent 100%);opacity:0;transform:translateY(15px);transition:all .5s ease}.m-card:hover .m-overlay{opacity:1;transform:translateY(0)}.m-cat{font-family:var(--font-ui);font-weight:300;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:#fff9;margin-bottom:.4rem}.m-title{font-family:var(--font-display);font-weight:400;font-size:1.3rem;color:var(--white)}.m-desc{font-family:var(--font-ui);font-weight:200;font-size:.7rem;color:#ffffffbf;margin-top:.2rem;line-height:1.5}.journal-page{padding:8rem 2rem 6rem;max-width:900px;margin:0 auto}.j-entry{border-bottom:1px solid var(--border);padding:3rem 0}.j-date{font-family:var(--font-ui);font-weight:200;font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--text-ghost);margin-bottom:.8rem}.j-title{font-family:var(--font-display);font-weight:400;font-size:1.8rem;color:var(--white);margin-bottom:.8rem;line-height:1.3}.j-excerpt{font-family:var(--font-body);font-weight:300;font-size:.95rem;color:var(--text-muted);line-height:1.8}.j-tag{display:inline-block;margin-top:1rem;margin-right:.5rem;font-family:var(--font-ui);font-weight:200;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-ghost);border:1px solid var(--border-light);padding:.25rem .7rem}.j-hero{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:1.5rem;filter:brightness(.9)}.about-page{padding:8rem 2rem 6rem;max-width:1100px;margin:0 auto}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}@media(max-width:800px){.about-grid{grid-template-columns:1fr}}.about-img{width:100%;object-fit:cover;filter:brightness(.95) contrast(1.02)}.about-img-caption{font-family:var(--font-ui);font-weight:200;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-ghost);margin-top:.8rem}.about-text h2{font-family:var(--font-display);font-weight:300;font-size:2.5rem;color:var(--white);margin-bottom:1.5rem;letter-spacing:.05em}.about-text p{font-family:var(--font-body);font-weight:300;font-size:.95rem;color:var(--text-dim);line-height:1.9;margin-bottom:1.2rem}.about-text p strong{color:var(--highlight);font-weight:400}.about-divider{width:40px;height:1px;background:var(--border-light);margin:2rem 0}.about-interests{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}.about-tag{font-family:var(--font-ui);font-weight:200;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border-light);padding:.35rem .9rem}.contact-page{padding:8rem 2rem 6rem;max-width:700px;margin:0 auto;text-align:center}.contact-page p{font-family:var(--font-body);font-weight:300;font-style:italic;font-size:1.1rem;color:var(--text-muted);line-height:1.8;margin-bottom:2.5rem}.contact-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.contact-btn{font-family:var(--font-ui);font-weight:200;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border-light);background:none;padding:.8rem 2rem;cursor:pointer;transition:all .4s;text-decoration:none}.contact-btn:hover{border-color:var(--text-dim);color:var(--white)}.lb-print-btn{display:inline-block;margin-top:1.2rem;font-family:var(--font-ui);font-weight:200;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border-light);padding:.6rem 1.6rem;text-decoration:none;transition:all .4s ease}.lb-print-btn:hover{border-color:var(--text-dim);color:var(--white)}.lb{position:fixed;inset:0;z-index:1000;background:#050505f7;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:lbIn .3s ease-out}@keyframes lbIn{0%{opacity:0}to{opacity:1}}.lb img{max-width:90vw;max-height:85vh;object-fit:contain;animation:lbZ .4s ease-out}@keyframes lbZ{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.lb-close{position:absolute;top:2rem;right:2rem;background:none;border:none;color:var(--white);font-size:1.3rem;cursor:pointer;font-family:var(--font-ui);font-weight:300;transition:opacity .3s;z-index:10;opacity:.75}.lb-close:hover{opacity:1}.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:2rem;cursor:pointer;padding:1rem 1.5rem;transition:color .3s;z-index:10;line-height:1}.lb-prev{left:.5rem}.lb-next{right:.5rem}.lb-prev:hover,.lb-next:hover{color:var(--white)}.lb-counter{position:absolute;top:2rem;left:50%;transform:translate(-50%);font-family:var(--font-ui);font-weight:200;font-size:.65rem;letter-spacing:.2em;color:var(--text-muted)}.lb-info{position:absolute;bottom:0;left:0;right:0;padding:5rem 2rem 2rem;text-align:center;background:linear-gradient(to top,rgba(5,5,5,.97) 0%,rgba(5,5,5,.7) 50%,transparent 100%);opacity:0;animation:riseIn .5s ease-out .2s forwards;pointer-events:none}.lb-info .m-cat{color:#ffffffa6}.lb-info .m-title{font-size:1.5rem}.lb-info .m-desc{color:#fffc;max-width:600px;margin:.4rem auto 0}.lb-info .lb-print-btn{pointer-events:auto}.j-filter-row{display:flex;gap:.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.j-fbtn{background:none;border:1px solid var(--border-light);color:var(--text-muted);padding:.4rem 1.2rem;font-family:var(--font-ui);font-weight:200;font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;transition:all .4s}.j-fbtn:hover{border-color:var(--text-dim);color:var(--text)}.j-fbtn.on{background:var(--text);border-color:var(--text);color:var(--bg)}.projects-page{padding:8rem 2rem 6rem;max-width:1200px;margin:0 auto}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:1rem}@media(max-width:800px){.projects-grid{grid-template-columns:1fr}}.project-card{border:1px solid var(--border);padding:2rem;transition:border-color .4s ease;opacity:0;animation:cardIn .6s ease-out forwards}.project-card:hover{border-color:var(--border-light)}.project-card.placeholder{opacity:0;animation:cardIn .6s ease-out forwards}.project-card.placeholder:hover{border-color:var(--border)}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.project-cat{font-family:var(--font-ui);font-weight:200;font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-ghost)}.project-status{font-family:var(--font-ui);font-weight:200;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;padding:.2rem .7rem;border:1px solid}.project-status.active{color:#7a9e7e;border-color:#7a9e7e59}.project-status.in-progress{color:var(--text-dim);border-color:var(--border-light)}.project-status.coming-soon{color:var(--text-ghost);border-color:var(--border)}.project-title{font-family:var(--font-display);font-weight:400;font-size:1.6rem;color:var(--white);margin-bottom:.8rem;line-height:1.2}.project-desc{font-family:var(--font-body);font-weight:300;font-size:.9rem;color:var(--text-muted);line-height:1.8;margin-bottom:1.2rem}.project-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.2rem}.project-tag{font-family:var(--font-ui);font-weight:200;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-ghost);border:1px solid var(--border);padding:.2rem .6rem}.project-link{font-family:var(--font-ui);font-weight:200;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .3s}.project-link:hover{color:var(--white)}.site-footer{border-top:1px solid var(--border-faint);padding:3rem 2rem;text-align:center}.site-footer p{font-family:var(--font-ui);font-weight:200;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-barely)}
