:root{--bg:#090909;--surface:#111;--text:#f2f0eb;--muted:#858585;--border:rgba(255,255,255,.09);--ease:cubic-bezier(.22,1,.36,1)}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;overflow-x:hidden}
.noise{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.ambient{position:fixed;width:500px;height:500px;border-radius:50%;filter:blur(120px);opacity:.08;pointer-events:none}.ambient-1{top:-200px;left:-200px;background:#fff}.ambient-2{right:-250px;bottom:10%;background:#777}
.navbar{width:min(1400px,90%);height:90px;margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.logo{color:var(--text);text-decoration:none;letter-spacing:.22em;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}.logo-dot{width:7px;height:7px;background:#fff;border-radius:50%}.navbar nav{display:flex;gap:30px}.navbar nav a{color:var(--muted);text-decoration:none;font-size:13px;transition:color .3s}.navbar nav a:hover{color:#fff}.menu-btn{display:none}
.hero{width:min(1400px,90%);min-height:calc(100vh - 90px);margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative}.hero-content{max-width:850px;animation:heroIn 1s var(--ease) both}.eyebrow{color:#aaa;font-size:11px;letter-spacing:.25em;display:flex;align-items:center;gap:10px;margin-bottom:28px}.eyebrow span{width:30px;height:1px;background:#777}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(55px,8vw,120px);line-height:.95;font-weight:500;letter-spacing:-.055em}.hero h1 em{display:block;color:#777;font-weight:400}.hero p{max-width:470px;color:var(--muted);font-size:15px;line-height:1.8;margin-top:35px}.hero-btn{display:inline-flex;align-items:center;gap:35px;margin-top:40px;padding:15px 20px;color:#fff;text-decoration:none;border:1px solid var(--border);background:rgba(255,255,255,.025);font-size:13px;transition:all .4s var(--ease)}.hero-btn:hover{background:#fff;color:#000;transform:translateY(-4px)}.hero-number{display:flex;align-items:center;gap:12px;color:#555;font-size:11px;letter-spacing:.1em;transform:rotate(90deg)}.hero-number div{width:70px;height:1px;background:#333}
.gallery-section{width:min(1400px,90%);margin:150px auto 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section-label{color:#666;font-size:10px;letter-spacing:.25em}.section-heading h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(45px,6vw,75px);line-height:1;margin-top:12px}.section-heading h2 i{color:#777;font-weight:400}.section-heading p{width:280px;color:var(--muted);font-size:13px;line-height:1.7}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter{padding:9px 17px;border:1px solid var(--border);background:transparent;color:#777;font-family:inherit;font-size:11px;cursor:pointer;transition:all .35s var(--ease)}.filter:hover,.filter.active{color:#111;background:#eee;border-color:#eee}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:65px 25px}.gallery-item{opacity:0;transform:translateY(30px);animation:itemIn .8s var(--ease) forwards}.gallery-item.large{grid-column:span 2}.image-wrapper{position:relative;overflow:hidden;background:var(--surface);aspect-ratio:4/3}.gallery-item.large .image-wrapper{aspect-ratio:2/1}.image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.75);transition:transform 1s var(--ease),filter .8s}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1)}.image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);opacity:0;transition:opacity .5s}.gallery-item:hover .image-overlay{opacity:1}.view-btn{padding:12px 25px;background:#fff;color:#111;border:0;font-family:inherit;font-size:12px;cursor:pointer;transform:translateY(15px);transition:transform .5s var(--ease)}.gallery-item:hover .view-btn{transform:translateY(0)}
.item-info{display:flex;align-items:center;justify-content:space-between;padding-top:17px}.item-info h3{font-family:"Playfair Display",serif;font-weight:500;font-size:20px}.item-info span{display:block;color:#555;font-size:10px;letter-spacing:.12em;margin-top:6px}.download-btn{width:42px;height:42px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:20px;transition:all .3s var(--ease)}.download-btn:hover{background:#fff;color:#000;transform:translateY(-3px)}
.about{width:min(850px,90%);margin:220px auto;text-align:center}.about h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(45px,7vw,80px);line-height:1;margin:25px 0}.about h2 i{color:#777}.about p{max-width:550px;margin:auto;color:var(--muted);font-size:14px;line-height:1.9}
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:30px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}.modal.active{opacity:1;visibility:visible}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(15px)}.modal-content{width:min(1000px,100%);position:relative;z-index:1;transform:scale(.94) translateY(20px);transition:transform .6s var(--ease)}.modal.active .modal-content{transform:scale(1) translateY(0)}.modal-content img{width:100%;max-height:75vh;object-fit:contain;display:block}.modal-close{position:absolute;right:0;top:-50px;background:none;border:0;color:#fff;font-size:35px;cursor:pointer}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px}.modal-footer span{color:#666;font-size:9px;letter-spacing:.2em}.modal-footer h3{font-family:"Playfair Display",serif;font-size:23px;font-weight:500;margin-top:5px}.modal-download{display:flex;gap:25px;align-items:center;color:#fff;text-decoration:none;padding:12px 18px;border:1px solid var(--border);font-size:12px;transition:all .3s}.modal-download:hover{background:#fff;color:#000}
footer{width:min(1400px,90%);margin:auto;padding:35px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:#444;font-size:9px;letter-spacing:.15em}
@keyframes heroIn{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes itemIn{to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.navbar{height:75px}.navbar nav{gap:12px}.navbar nav a{font-size:10px}.hero{min-height:80vh}.hero h1{font-size:55px}.hero-number{display:none}.section-heading{display:block}.section-heading p{margin-top:25px}.gallery-grid{grid-template-columns:1fr;gap:45px}.gallery-item.large{grid-column:span 1}.gallery-item.large .image-wrapper{aspect-ratio:4/3}.about{margin:150px auto}.modal{padding:15px}.modal-footer{gap:15px}footer{flex-direction:column;gap:10px}}
