/* Art Gallery - Fullscreen Snap Scrolling */
:root{--white:#FAFAFA;--black:#0A0A0A;--accent:#C7A17A;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Garamond','Georgia',serif;background:var(--black);color:var(--white);overflow-x:hidden;cursor:none;}

/* Custom Cursor */
.cursor-dot{width:40px;height:40px;border:2px solid var(--accent);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:transform 0.15s ease;mix-blend-mode:difference;}

/* Sidebar Navigation */
.sidebar-nav{position:fixed;left:40px;top:50%;transform:translateY(-50%);z-index:1000;display:flex;flex-direction:column;gap:60px;align-items:center;}
.sidebar-logo{font-size:2rem;font-weight:900;letter-spacing:-2px;color:var(--accent);writing-mode:vertical-rl;transform:rotate(180deg);}
.vertical-nav{display:flex;flex-direction:column;gap:30px;}
.nav-dot{width:12px;height:12px;background:rgba(255,255,255,0.3);border-radius:50%;transition:all 0.3s;position:relative;text-decoration:none;}
.nav-dot span{position:absolute;left:30px;top:50%;transform:translateY(-50%);opacity:0;white-space:nowrap;color:var(--white);font-size:0.9rem;transition:opacity 0.3s;font-family:-apple-system,sans-serif;}
.nav-dot:hover span,.nav-dot.active span{opacity:1;}
.nav-dot.active{background:var(--accent);transform:scale(1.5);}

/* Fullscreen Sections */
.fullscreen-section{height:100vh;width:100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;position:relative;}
html{scroll-snap-type:y mandatory;scroll-behavior:smooth;}

/* Current Exhibition */
#current{background:var(--white);color:var(--black);}
.section-content{max-width:600px;padding:0 80px 0 150px;z-index:10;}
.exhibition-date{font-size:0.9rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:30px;font-family:-apple-system,sans-serif;}
.exhibit-title{font-size:7rem;line-height:0.9;margin-bottom:40px;font-weight:400;letter-spacing:-5px;}
.exhibit-artist{font-size:1.8rem;margin-bottom:40px;font-style:italic;}
.exhibit-description{font-size:1.2rem;line-height:1.8;margin-bottom:50px;opacity:0.8;}
.btn-book-visit{display:inline-block;padding:20px 50px;background:var(--black);color:var(--white);text-decoration:none;font-family:-apple-system,sans-serif;font-weight:700;transition:transform 0.3s;}
.btn-book-visit:hover{transform:scale(1.05);}
.section-image{position:absolute;right:0;top:0;width:50%;height:100%;background-size:cover;background-position:center;}

/* Upcoming Section */
.fullscreen-section.dark{background:var(--black);color:var(--white);}
.upcoming-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;max-width:1400px;padding:0 150px;}
.upcoming-item{display:flex;gap:60px;align-items:center;}
.upcoming-info{flex:1;}
.upcoming-date{display:block;font-size:0.85rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:25px;font-family:-apple-system,sans-serif;}
.upcoming-info h2{font-size:3.5rem;margin-bottom:15px;font-weight:400;line-height:1.1;}
.upcoming-artist{font-size:1.3rem;font-style:italic;margin-bottom:20px;opacity:0.9;}
.upcoming-info p:last-of-type{line-height:1.8;opacity:0.8;}
.upcoming-preview{flex-shrink:0;}
.upcoming-preview img{width:300px;height:400px;object-fit:cover;box-shadow:0 20px 60px rgba(0,0,0,0.5);}

/* Artists Section */
#artists{background:var(--white);color:var(--black);}
.artists-carousel{display:flex;align-items:center;gap:80px;max-width:1200px;padding:0 150px;}
.artist-slide{display:flex;gap:80px;align-items:center;}
.artist-portrait img{width:400px;height:600px;object-fit:cover;}
.artist-bio h2{font-size:3.5rem;margin-bottom:10px;font-weight:400;}
.artist-title{font-size:1.3rem;font-style:italic;margin-bottom:30px;color:var(--accent);}
.artist-desc{font-size:1.2rem;line-height:1.8;margin-bottom:40px;opacity:0.8;}
.artist-links{display:flex;gap:20px;}
.artist-links a{padding:12px 30px;background:var(--black);color:var(--white);text-decoration:none;font-family:-apple-system,sans-serif;font-weight:700;transition:background 0.3s;}
.artist-links a:hover{background:var(--accent);color:var(--black);}
.carousel-controls{display:flex;gap:20px;}
.carousel-btn{width:60px;height:60px;background:rgba(0,0,0,0.1);border:2px solid var(--black);color:var(--black);font-size:1.5rem;cursor:pointer;transition:all 0.3s;}
.carousel-btn:hover{background:var(--black);color:var(--white);}

/* Visit Section */
.visit-split{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%;}
.visit-info{padding:100px 80px 100px 150px;display:flex;flex-direction:column;justify-content:center;}
.visit-info h2{font-size:4.5rem;margin-bottom:60px;font-weight:400;}
.info-block{margin-bottom:50px;}
.info-block h3{font-size:1.1rem;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:15px;font-family:-apple-system,sans-serif;}
.info-block p{font-size:1.2rem;line-height:1.8;opacity:0.9;}
.visit-map{background:#333;}

@media (max-width:1024px){
.section-image{display:none;}
.section-content{max-width:100%;padding:0 60px;}
.upcoming-grid{grid-template-columns:1fr;padding:0 60px;}
.artists-carousel{padding:0 60px;flex-direction:column;}
.visit-split{grid-template-columns:1fr;}
.sidebar-nav{left:20px;}
}

@media (max-width:768px){
.exhibit-title{font-size:4rem;}
.upcoming-item{flex-direction:column;}
.artist-slide{flex-direction:column;}
}
