:root{
	--color-bg:#ffffff;
	--color-surface:#f6f6f6;
	--color-border:#e6e6e6;
	--color-text:#582855;
	--color-text-muted:#666666;
	--color-text-light:#999999;
	--color-accent:#c9a36a;
	--color-accent-hover:#b58f5b;
	--color-overlay:rgba(0,0,0,0.4);
	--nav-text:#ffffff;
	--nav-text-dark:#111111;
	--shadow-soft:0 8px 30px rgba(0,0,0,0.05);
	--transition-fast:0.25s ease;
	--transition-smooth:0.45s ease;
}
html{scroll-behavior:smooth;}
body{font-family:"Inter",sans-serif;color:var(--color-text);background:var(--color-bg);max-width: 100%; overflow-x: hidden;}
h1,h2,h3,h4{font-family:"Playfair Display",serif;}
img{max-width:100%;height:auto;display:block;}
a,button{-webkit-tap-highlight-color:transparent;}
p{font-size:1rem;line-height:1.75;margin-bottom:16px;letter-spacing:0.01em;}

/* BASE SECTIONS */
section{padding:100px 0;}

/* NAVIGATION */
.site-nav{position:sticky;top:0;width:100%;z-index:3000;padding:20px 40px;background:rgba(255,255,255,0.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);transition:padding 0.3s, background 0.3s, box-shadow 0.3s;transform:translateZ(0);}
.nav-inner{display:flex;justify-content:space-between;align-items:center;}
.brand{font-size:18px;font-weight:500;color:var(--color-text,#111);text-decoration:none;letter-spacing:.03em;position:relative;transition:color 0.3s;}
.brand::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--color-accent,#DC353C);transition:width 0.3s;}
.brand:hover{color:var(--color-accent,#DC353C);}
.menu-toggle{width:30px;height:20px;display:flex;flex-direction:column;justify-content:space-between;background:none;border:none;cursor:pointer;z-index:6000;position:relative;}
.menu-toggle span{display:block;height:3px;width:30px;background:var(--color-text);transition:all 0.3s ease;border-radius:1px;}
body.menu-open .menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg);}
body.menu-open .menu-toggle span:nth-child(2){transform:translateY(-8px) rotate(-45deg);}

/* NAV PANEL */
.nav-panel{position:fixed;top:0;right:-420px;width:420px;height:100vh;background:var(--color-bg,#fff);transition:right 0.4s ease;z-index:5000;box-shadow:-10px 0 30px rgba(0,0,0,0.08);}
.nav-panel.open{right:0;}
.nav-panel-inner{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:120px 70px 70px;position:relative;}
.nav-links{list-style:none;padding:0;margin:0;}
.nav-links li{margin-bottom:24px;}
.nav-links a{text-decoration:none;font-size:30px;font-weight:500;color:var(--nav-text-dark,#111);letter-spacing:0.02em;display:inline-block;transition:color 0.3s, transform 0.3s, opacity 0.3s;}
.nav-links a:hover{color:var(--color-accent,var(--color-text));transform:translateX(6px);opacity:0.8;}
.nav-info{font-size:14px;line-height:1.6;color:var(--color-text-muted,#666);max-width:260px;margin-bottom:30px;}
.nav-info p{margin:0 0 10px;}
.nav-info a{color:var(--color-text,#111);text-decoration:none;transition:color 0.3s;}
.nav-info a:hover{color:var(--color-accent,var(--color-text));}
.close-panel{position:absolute;top:20px;right:20px;font-size:36px;color:var(--color-text);background:none;border:none;cursor:pointer;z-index:7000;}

/* HERO GALLERY */
.hero-gallery{max-height:90vh;display:flex;align-items:center;padding:0 !important;}
.hero-row{min-height:70vh;align-items:center;}
.hero-left{display:flex;align-items:center;justify-content:flex-start;padding:0 40px;position:relative;z-index:3;opacity:0;transform:translateY(20px);animation:fadeInUpDesktop 0.8s forwards;animation-delay:0.4s;}
.hero-right{position:relative;overflow:hidden;display:flex;align-items:center;max-height:100vh;}
.hero-right img{width:100%;height:100%;object-fit:cover;object-position:center top;opacity:0;animation:fadeImageDesktop 0.8s ease forwards;transition:all 0.45s ease;}
.hero-copy{max-width:420px;position:relative;z-index:3;text-align:left;}
.hero-description{display:none;}
@keyframes fadeInUpDesktop{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeImageDesktop{from{opacity:0;transform:scale(1.02);}to{opacity:1;transform:scale(1);}}

.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:80px;padding:0 40px;}
.about-grid-item{overflow:hidden;border-radius:6px;}
.about-grid-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .4s ease;}
.about-grid-item:hover img{transform:scale(1.05);opacity:.95;}

.section-works{padding:100px 0;background:var(--color-surface);}
.section-subtitle{font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--color-text-light);display:inline-block;margin-bottom:14px;opacity:.85;}
.section-subtitle::after{content:"";display:block;width:28px;height:1px;background:var(--color-border);margin-top:8px;}
.section-title{font-size:2.8rem;line-height:1.2;margin-bottom:20px;color:var(--color-text);}
.section-text{font-size:1.05rem;line-height:1.7;color:var(--color-text-muted);max-width:420px;}

.section-current{padding:50px 0;background:var(--color-bg);}
.section-current img{width:100%;height:auto;object-fit:cover;border-radius:6px;transition:transform .6s ease;}
.current-image:hover{transform:scale(1.02);}
.current-title{font-size:2.2rem;line-height:1.2;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;margin:10px 0 12px;}
.current-title::after{content:"";display:block;width:40px;height:1px;background:var(--color-accent);margin-top:12px;opacity:.8;}
.exhibit-artist{font-size:14px;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px;}
.exhibit-artist a{color:var(--color-text);text-decoration:none;transition:color var(--transition-fast);}
.exhibit-artist a:hover{color:var(--color-accent);}
.current-dates{font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:20px;}
.current-description{max-width:420px;}

.section-exhibitions{padding:50px 0;background:var(--color-bg);}
.section-header{max-width:720px;margin:0 auto 60px;}
.section-intro{color:var(--color-text-muted);line-height:1.7;}
.exhibitions-grid{row-gap:60px;}
.exhibit-card{display:block;text-decoration:none;color:inherit;margin-bottom:12px;border-radius:6px;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease;}
.exhibit-card img{width:100%;height:460px;object-fit:cover;display:block;transition:transform .7s ease,opacity .4s ease;}
.exhibit-card:hover img{transform:scale(1.05);opacity:.9;}
.exhibit-card:hover{transform:translateY(-6px);}
.exhibit-meta{margin-top:14px;display:flex;flex-direction:column;gap:2px;}
.exhibit-title{font-size:20px;margin-bottom:6px;line-height:1.3;}
.exhibit-artist{font-size:14px;color:var(--color-text-muted);margin-bottom:4px;}
.exhibit-date{font-size:13px;color:var(--color-text-light);}

.btn-minimal{display:inline-block;padding:12px 22px;border:1px solid var(--color-border);background:transparent;color:var(--color-text);text-decoration:none;font-size:14px;letter-spacing:.08em;text-transform:uppercase;transition:all var(--transition-fast);}
.btn-minimal:hover{border-color:var(--color-text);background:var(--color-text);color:var(--color-bg);}

.contact-us{padding:80px 0;color:#222;background-color:#f8f8f8;}
.contact-us .contact-copy h2{font-family:"Playfair Display",serif;font-size:2.8rem;line-height:1.1;font-weight:500;margin-bottom:30px;}
.contact-us .contact-copy p{font-size:1rem;line-height:1.7;margin-bottom:20px;}
.contact-us .contact-copy a{color:var(--color-text);text-decoration:none;font-weight:500;transition:color 0.3s ease;}
.contact-us .contact-copy a:hover{color:#a72a2f;}

.site-footer{padding:90px 0 40px;background:var(--color-bg);border-top:1px solid var(--color-border);}
.footer-main{margin-bottom:60px;}
.site-footer h5{margin:20px 0;font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;color:var(--color-text);}
.site-footer p{font-size:14px;line-height:1.7;color:var(--color-text-muted);margin:0;}
.site-footer a{color:var(--color-text);text-decoration:none;transition:color var(--transition-fast);}
.site-footer a:hover{color:var(--color-accent);}

.footer-social a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--color-text);
	text-decoration: none;
	font-size: 14px;
	transition: color var(--transition-fast);
}

.footer-social img {
	width: 18px;
	height: 18px;
	opacity: 0.7;
	transition: opacity var(--transition-fast), transform var(--transition-fast);
	color: var(--color-text);
}

.footer-social a:hover {
	color: var(--color-accent);
}

.footer-social a:hover img {
	opacity: 1;
	transform: translateY(-2px);
}
.footer-bottom{border-top:1px solid var(--color-border);padding-top:25px;font-size:13px;color:var(--color-text-light);}
.contact-social-row a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--color-text-muted);
	text-decoration: none;
	font-size: 14px;
	transition: color var(--transition-fast);
}

.contact-social-row img {
	width: 18px;
	height: 18px;
	opacity: 0.7;
	transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.contact-social-row a:hover {
	color: var(--color-accent);
}

.contact-social-row a:hover img {
	opacity: 1;
	transform: translateY(-2px);
}
.nav-social-row a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--color-text-muted);
	text-decoration: none;
	font-size: 14px;
	transition: color var(--transition-fast);
	margin-top: 10px;
	letter-spacing: 0.05em;
}

.nav-social-row img {
	width: 18px;
	height: 18px;
	opacity: 0.7;
	transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.nav-social-row a:hover {
	color: var(--color-accent);
}

.nav-social-row a:hover img {
	opacity: 1;
	transform: translateY(-2px);
}

/* MOBILE & TABLET FIXES: ≤768px */
@media(max-width:768px){
	/* Sections padding adjustment for mobile & tablet */
	section{padding:80px 20px;}
	
	/* Hero gallery layout for mobile/tablet */
	.hero-row{position:relative;height:90vh;overflow:hidden;}
	.hero-left{
		position:absolute;
		top:50%;
		left:0;
		width:100%;
		padding:20px;
		transform:translateY(-50%);
		z-index:3;
	}
	.hero-copy h1{
		font-family:"Playfair Display",serif;
		font-size:2.4rem;
		line-height:1.1;
		font-weight:500;
		letter-spacing:0.04em;
		text-transform:uppercase;
		color:#fff;
		text-shadow:0 2px 10px rgba(0,0,0,0.25),0 8px 30px rgba(0,0,0,0.35);
		margin-bottom:18px;
		animation:fadeInUp 0.8s ease forwards;
		animation-delay:0.4s;
	}
	.hero-copy p{display:none;}
	.hero-right{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		overflow:hidden;
		z-index:1;
	}
	.hero-right::before{
		content:"";
		position:absolute;
		inset:0;
		background:rgba(0,0,0,0.35);
		z-index:2;
	}
	.hero-right img{
		width:100%;
		height:100%;
		object-fit:cover;
		object-position:center center;
		opacity:0;
		animation:fadeImage 1s ease forwards;
		animation-delay:0.2s;
		display:block;
	}
	.hero-description{
		display:block;
		padding:40px 20px;
		background:#fff;
	}
	.hero-description p{
		font-size:1rem;
		line-height:1.7;
		color:#333;
		max-width:420px;
		margin:0 auto;
		text-align:left;
	}

	/* About grid and exhibitions adjustments */
	.about-grid{grid-template-columns:1fr;gap:14px;padding:0 16px;margin-top:40px;}
	.about-grid-item{border-radius:4px;}
	.exhibitions-grid{row-gap:40px;}
	.exhibit-card{margin-bottom:20px;}
	.exhibit-card img{height:100%;border-radius:4px;}
	.section-header{margin-bottom:40px;}
	.current-title{font-size:1.8rem;letter-spacing:0.06em;}
	.section-current img{margin-bottom:25px;}
	.contact-us{padding:60px 20px;}
	.contact-us .contact-copy h2{font-size:2.2rem;}
	.contact-us .contact-copy p{font-size:0.95rem;}
	.site-footer{padding:20px;}
}

/* Tablets and above (desktop intact) ≥769px */
@media(min-width:769px){
	.hero-description{display:none;} /* hide hero description on desktop/tablet large */
}

/* Tablets ≥768px: use mobile layout but slightly bigger nav & section padding */
@media(min-width:601px) and (max-width:992px){
	.nav-panel{width:360px;}
	.nav-info{max-width:100%;font-size:13px;line-height:1.5;}
	.nav-links a{font-size:26px;}
}

/* Tablets ≥768px: grid and cards adjustments */
@media(min-width:601px) and (max-width:991px){
	.about-grid{grid-template-columns:1fr;gap:16px;padding:0 20px;}
	.exhibit-card img{height:100%;}
}

/* Desktop ≥992px */
@media(min-width:992px){
	section{padding:100px 0;}
	.nav-panel{width:420px;right:-420px;}
	.about-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding:0 40px;}
	.exhibit-card img{height:460px;}
}

/* Large desktop ≥1200px */
@media(min-width:1200px){
	.hero-row{min-height:90vh;}
}

/* Hero animations for mobile/tablet */
@keyframes fadeImage{from{opacity:0;transform:scale(1.02);}to{opacity:1;transform:scale(1);}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}