@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";:root{--bg-color: #0d0e12;--bg-card: #14161d;--text-main: #f3f4f6;--text-muted: #9ca3af;--accent-color: #e5e7eb;--accent-hover: #ffffff;--border-color: rgba(255, 255, 255, .08);--glass-bg: rgba(13, 14, 18, .85);--font-sans: "Plus Jakarta Sans", sans-serif;--font-serif: "Playfair Display", serif;--transition-fast: .25s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .4s cubic-bezier(.16, 1, .3, 1);--max-width: 1400px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;scrollbar-color:rgba(255,255,255,.2) transparent;scrollbar-width:thin}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-sans);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;color-scheme:dark}h1,h2,h3,h4,.serif{font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}:focus-visible{outline:2px solid var(--accent-hover);outline-offset:3px}.site-header{position:sticky;top:0;z-index:100;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);padding:1.25rem 2rem}.header-container{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.logo-link{display:flex;flex-direction:column;gap:.2rem}.logo-brand{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;letter-spacing:.05em;color:var(--accent-hover);position:relative}.logo-subtext{font-size:.75rem;text-transform:uppercase;letter-spacing:.25em;color:var(--text-muted);font-weight:400}.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none}.nav-link{font-size:.9rem;text-transform:lowercase;letter-spacing:.1em;color:var(--text-muted);position:relative;padding:.4rem 0}.nav-link:hover,.nav-link.active{color:var(--accent-hover)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--accent-hover);transition:width var(--transition-fast)}.nav-link:hover:after,.nav-link.active:after{width:100%}.social-icons{display:flex;align-items:center;gap:1.25rem}.social-icon-btn{color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid transparent;transition:all var(--transition-fast)}.social-icon-btn:hover{color:var(--accent-hover);border-color:var(--border-color);background:#ffffff0d}.social-icon-btn svg{width:18px;height:18px;fill:currentColor}.hamburger-btn{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-main)}.mobile-drawer{position:fixed;top:0;right:-100%;width:80%;max-width:320px;height:100vh;background:var(--bg-card);z-index:200;padding:3rem 2rem;display:flex;flex-direction:column;justify-content:space-between;transition:right var(--transition-smooth);box-shadow:-10px 0 30px #00000080}.mobile-drawer.open{right:0}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:150;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.drawer-overlay.active{opacity:1;pointer-events:auto}.masthead-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem 4rem;width:100%;text-align:center;background:linear-gradient(180deg,#0d0e1280,#0d0e12d9 75%,#0d0e12),url(/assets/images/068b61ba-3cdc-4949-89be-5117bf962f34_rwc_1024x736x3264x2197x4096.jpg) center/cover no-repeat;border-bottom:1px solid var(--border-color);margin-top:-75px}.hero-content{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.hero-title{font-size:3.8rem;font-weight:400;font-family:var(--font-serif);letter-spacing:-.02em;color:var(--accent-hover);line-height:1.1}.hero-subtitle{font-size:.95rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);font-weight:400}.scroll-arrow-btn{margin-top:1.5rem;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border-color);background:#ffffff05;transition:all var(--transition-fast);animation:bounce 2s infinite}.scroll-arrow-btn:hover{color:var(--accent-hover);border-color:var(--accent-hover);background:#ffffff14}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(8px)}60%{transform:translateY(4px)}}.portfolio-layout{max-width:1700px;margin:2rem auto 6rem;padding:0 2rem;width:100%;display:grid;grid-template-columns:260px 1fr;gap:2.5rem;align-items:start}.sidebar-nav{position:sticky;top:95px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:2rem}.sidebar-section{display:flex;flex-direction:column;gap:.75rem}.sidebar-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);font-weight:600}.category-filters-vertical{display:flex;flex-direction:column;gap:.35rem}.filter-pill{background:transparent;border:1px solid transparent;color:var(--text-muted);font-family:var(--font-sans);font-size:.9rem;font-weight:500;padding:.65rem .85rem;border-radius:8px;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:space-between;transition:all var(--transition-fast)}.filter-pill:hover{color:var(--text-main);background:#ffffff0d}.filter-pill.active{color:var(--accent-hover);background:#ffffff1a;border-color:#fff3;font-weight:600}.filter-count{font-size:.75rem;color:var(--text-muted);background:#ffffff0f;padding:.15rem .5rem;border-radius:12px}.filter-pill.active .filter-count{color:var(--accent-hover);background:#ffffff26}.gallery-content{width:100%}@media (max-width: 900px){.portfolio-layout{grid-template-columns:1fr;gap:1.5rem}.sidebar-nav{position:static}}.view-switcher{display:flex;align-items:center;gap:.25rem;background:#ffffff0a;padding:.25rem;border-radius:30px;border:1px solid var(--border-color)}.view-btn{background:transparent;border:none;color:var(--text-muted);font-size:.8rem;font-weight:500;padding:.4rem .85rem;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all var(--transition-fast)}.view-btn.active{color:var(--text-main);background:#ffffff1f}.hidden{display:none!important}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem;width:100%}.album-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth)}.album-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000080;border-color:#fff3}.album-cover-wrap{position:relative;width:100%;height:260px;overflow:hidden}.album-cover{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-smooth)}.album-card:hover .album-cover{transform:scale(1.06)}.album-overlay{position:absolute;top:1rem;right:1rem;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-main);font-size:.75rem;font-weight:600;padding:.35rem .75rem;border-radius:20px;letter-spacing:.05em}.album-info{padding:1.5rem}.album-title{font-size:1.3rem;font-family:var(--font-serif);color:var(--accent-hover);margin-bottom:.3rem}.album-desc{font-size:.85rem;color:var(--text-muted)}.gallery-grid{display:flex;flex-wrap:wrap;gap:4px;width:100%}.gallery-item{position:relative;height:280px;overflow:hidden;background-color:var(--bg-card);cursor:pointer;content-visibility:auto;contain-intrinsic-size:280px 350px;transition:transform var(--transition-fast),filter var(--transition-fast)}.gallery-item:hover{filter:brightness(1.08);z-index:5}.gallery-img-wrapper{width:100%;height:100%;position:relative}.gallery-img{width:100%;height:100%;object-fit:cover;display:block}.gallery-caption{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000d9,#0000 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;opacity:0;transition:opacity var(--transition-fast)}.gallery-item:hover .gallery-caption{opacity:1}.gallery-caption-title{font-size:1.25rem;color:var(--accent-hover);font-family:var(--font-serif)}.gallery-caption-cat{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.lightbox-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#050508f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.lightbox-modal.active{opacity:1;pointer-events:auto}@starting-style{.lightbox-modal.active{opacity:0}}.lightbox-content{max-width:90vw;max-height:90vh;position:relative;display:flex;flex-direction:column;align-items:center}.lightbox-img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:4px;box-shadow:0 25px 50px #000000d9}.lightbox-info{margin-top:1.25rem;display:flex;align-items:center;gap:1.5rem}.lightbox-title{font-family:var(--font-serif);font-size:1.3rem;color:var(--accent-hover)}.lightbox-counter{font-size:.85rem;color:var(--text-muted);letter-spacing:.1em}.lightbox-btn{position:absolute;background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-main);border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;z-index:520;transition:all var(--transition-fast)}.lightbox-btn:hover{background:#ffffff26;color:var(--accent-hover);border-color:var(--accent-hover)}.lightbox-close{top:1.5rem;right:2rem}.lightbox-prev{left:2rem;top:50%;transform:translateY(-50%)}.lightbox-next{right:2rem;top:50%;transform:translateY(-50%)}@media (max-width: 768px){.lightbox-prev{left:.75rem;width:42px;height:42px}.lightbox-next{right:.75rem;width:42px;height:42px}}.lightbox-close:hover{color:#ef4444}.about-container{max-width:900px;margin:3rem auto 6rem;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.about-bio-title{font-size:2.5rem;line-height:1.2;margin-bottom:1.5rem;font-family:var(--font-serif);font-style:italic}.about-bio-text{color:var(--text-muted);font-size:1.1rem;line-height:1.8;margin-bottom:2rem}.contact-container{max-width:700px;margin:3rem auto 6rem;padding:2.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.form-group{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.form-input,.form-textarea{width:100%;background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;padding:.85rem 1rem;color:var(--text-main);font-family:var(--font-sans);font-size:1rem;transition:border-color var(--transition-fast),background var(--transition-fast)}select.form-input option,select option{background-color:#1a1d24!important;color:#f3f4f6!important;padding:.5rem}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-hover);background:#ffffff0f}.btn-submit{width:100%;padding:1rem;background:var(--text-main);color:var(--bg-color);border:none;border-radius:6px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.btn-submit:hover{background:#fff;transform:translateY(-2px)}.toast-notice{position:fixed;bottom:2rem;right:2rem;background:#10b981;color:#fff;padding:1rem 1.5rem;border-radius:8px;font-weight:500;box-shadow:0 10px 25px #0006;transform:translateY(100px);opacity:0;transition:all var(--transition-smooth);z-index:1000}.toast-notice.show{transform:translateY(0);opacity:1}.site-footer{margin-top:auto;border-top:1px solid var(--border-color);padding:2rem;text-align:center;color:var(--text-muted);font-size:.85rem}@media (max-width: 768px){.nav-links,.social-icons{display:none}.hamburger-btn{display:block}.gallery-grid,.about-container{grid-template-columns:1fr}.hero-title{font-size:2.2rem}}
