:root{
	--color-bg:#faf7f2;
	--color-ink:#222;
	--color-muted:#6b6b6b;
	--color-accent:#8b5e3c; /* warm museum brown */
	--color-accent-2:#d9c7b1;
	--container-width:1100px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{height:100%;margin:0;font-family:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; color:var(--color-ink);background:var(--color-bg)}

.container{max-width:var(--container-width);margin:0 auto;padding:0 1rem}

/* Site header */
.site-header{position:relative;z-index:20;width:100%;background:#efe4d3;border-bottom:1px solid rgba(34,34,34,.12)}
.header__inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.logo{display:inline-flex;align-items:center;gap:.65rem;font-weight:700;color:#1f1a15;text-decoration:none;font-size:1.03rem;letter-spacing:.02em;padding-left:.3rem}
.logo__img{height:38px;width:auto;display:block;object-fit:contain;mix-blend-mode:multiply}
.logo__text{line-height:1}
.nav-jump{display:none}
.nav-jump-menu{display:none}
.nav__list{list-style:none;margin:0;padding:0;display:flex;gap:1rem}
.nav__list a{color:rgba(31,26,21,.88);text-decoration:none;padding:0.2rem 0.3rem;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.nav__list a:hover{color:#000;border-bottom-color:rgba(31,26,21,.62)}

/* Hero */
.hero{
	position:relative;
	min-height:100vh;
	display:flex;
	align-items:center;
	overflow:hidden;
}

.hero__bg{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	transform:translateY(-50px) scale(1.14);
	pointer-events:none;
	filter:saturate(.56) contrast(.94) brightness(.72);
	animation:heroPan 42s ease-in-out infinite alternate;
}

.hero__overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(8,6,4,.5) 0%,rgba(8,6,4,.74) 78%);
}

.hero__content.container{
	position:relative;
	z-index:2;
	max-width:980px;
	width:100%;
	padding-top:4.8rem;
	padding-bottom:3.2rem;
}

.hero__eyebrow{
	margin:0 0 .65rem;
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	font-size:.76rem;
	text-transform:uppercase;
	letter-spacing:.12em;
	font-weight:700;
	color:rgba(255,255,255,.92);
}

.hero__eyebrow::before{
	content:"";
	width:32px;
	height:2px;
	background:rgba(255,255,255,.9);
}

.hero__title{margin:0;line-height:1.06;font-family:Georgia, 'Times New Roman', Times, serif}
.hero__title--decor{display:block;font-size:clamp(2.3rem,5.6vw,4.9rem);color:#fff;font-weight:700;letter-spacing:-0.01em;text-shadow:0 14px 28px rgba(0,0,0,.24)}
.hero__title--place{display:block;font-size:clamp(1.1rem,2vw,1.6rem);color:rgba(255,255,255,.94);font-weight:500;margin-top:.25rem}
.hero__subtitle{margin:2.05rem 0 1.45rem;color:rgba(255,255,255,.82);max-width:58ch;line-height:1.7;font-size:clamp(1rem,1.2vw,1.1rem)}

.hero__featured{
	display:flex;
	flex-direction:column;
	gap:.2rem;
	margin-bottom:1.15rem;
	padding:.7rem .9rem;
	max-width:fit-content;
	border-left:2px solid rgba(255,255,255,.74);
	background:rgba(255,255,255,.12);
	backdrop-filter:blur(1.5px);
}

.featured__label{font-size:.68rem;color:rgba(255,255,255,.88);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.featured__title{font-size:1rem;line-height:1.4;color:#fff}

.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.4rem}
.btn{display:inline-block;padding:.72rem 1.15rem;border-radius:6px;border:1px solid transparent;text-decoration:none;color:#fff;background:rgba(255,255,255,.14);backdrop-filter:blur(1px);transition:transform .18s ease,background-color .18s ease,border-color .18s ease}
.btn--primary{position:relative;padding:.82rem 1.55rem .82rem 1.2rem;background:linear-gradient(135deg,#9a6a45 0%,#7b5234 100%);border-color:rgba(255,255,255,.16);color:#fff;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 24px rgba(0,0,0,.26)}
.btn--primary::after{content:"→";margin-left:.55rem;display:inline-block;transition:transform .18s ease}
.btn--primary:hover{transform:translateY(-2px);background:linear-gradient(135deg,#a6734b 0%,#84593a 100%);box-shadow:0 14px 30px rgba(0,0,0,.32)}
.btn--primary:hover::after{transform:translateX(2px)}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.55)}
.btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:focus{outline:3px solid rgba(255,255,255,.32);outline-offset:3px}

.hero__meta{
	margin:1.45rem 0 0;
	padding:0;
	list-style:none;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:.55rem;
	max-width:760px;
}

.hero__meta li{
	display:flex;
	flex-direction:column;
	gap:.2rem;
	padding:.72rem .82rem;
	min-height:80px;
	justify-content:center;
	background:rgba(255,255,255,.15);
	border:1px solid rgba(255,255,255,.22);
	border-radius:8px;
	backdrop-filter:blur(1.5px);
}

.hero__meta strong{font-size:.95rem;color:#fff}
.hero__meta span{font-size:.76rem;color:rgba(255,255,255,.8)}

@keyframes heroPan{
	0%{transform:translateY(-50px) scale(1.14) translate3d(0,0,0)}
	100%{transform:translateY(-53px) scale(1.16) translate3d(-.45%,0,0)}
}

/* Exhibitions */
.exhibitions{padding:5rem 0;background:#efe4d3}
.exhibitions__heading{margin:0 0 2.5rem}
.exhibitions__title{margin:0;font-size:clamp(1.45rem,2.3vw,2rem);font-weight:800;color:#1f1a15}
.exhibitions__intro{margin:1rem 0 0;color:#5e5650;line-height:1.65;text-align:justify;text-justify:inter-word}

/* Visits */
.visits{padding:4rem 0;background:#efe4d3;--visits-text-left:max(.9rem, calc((100vw - var(--container-width))/2 + 1rem))}
.visits__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:start}
.visits__content{max-width:62ch}
.visits__title{margin:0;font-size:clamp(1.35rem,2.1vw,1.85rem);font-weight:800;color:#1f1a15}
.visits__text{margin:.85rem 0 0;color:#5e5650;max-width:64ch;line-height:1.65}
.visits__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;background:#fff;padding:1rem;border:1px solid rgba(31,26,21,.12);border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.visits__field{display:flex;flex-direction:column;gap:.35rem;grid-column:1 / -1}
.visits__field--half{grid-column:auto}
.visits__field label{font-size:.86rem;font-weight:700;color:#1f1a15}
.visits__field input,
.visits__field select,
.visits__field textarea{width:100%;padding:.62rem .72rem;border:1px solid rgba(31,26,21,.2);border-radius:8px;font:inherit;color:#1f1a15;background:#fff}
.visits__field input::placeholder,
.visits__field textarea::placeholder{color:#6b6b6b;opacity:1}
.visits__field select:invalid{color:#6b6b6b}
.visits__field select option{color:#1f1a15}
.visits__field select option[value=""]{color:#6b6b6b}
.visits__field input:focus,
.visits__field select:focus,
.visits__field textarea:focus{outline:3px solid rgba(31,26,21,.18);outline-offset:1px;border-color:rgba(31,26,21,.4)}
.visits__submit{justify-self:start}

/* Decorative exhibits */
.mission,.visits{position:relative;overflow:hidden}
.floating-exponat{position:absolute;z-index:3;max-width:170px;opacity:0;transform:translateY(14px) scale(.92);animation:exponatReveal 1.2s ease forwards}
.floating-exponat img{display:block;width:100%;height:auto;border-radius:0;border:0;box-shadow:none;background:transparent}
.floating-exponat figcaption{margin:0;position:absolute;left:calc(100% + .55rem);top:50%;transform:translateY(-50%) translateX(-6px);padding:.45rem .55rem;min-width:230px;font-size:.78rem;line-height:1.35;color:#fff;background:rgba(31,26,21,.9);border-radius:7px;opacity:0;pointer-events:none;transition:opacity .24s ease,transform .24s ease}
.floating-exponat--coin{bottom:1rem;left:var(--visits-text-left);max-width:220px;animation-delay:.9s}
.floating-exponat--earrings{top:12.4rem;left:calc(var(--visits-text-left) + 7rem);max-width:240px;animation-delay:1.35s}
.moneda_anim img{animation:coinTilt 26s ease-in-out infinite}
.cercei_anim img{animation:earringTilt 18s ease-in-out infinite}

@keyframes exponatReveal{
	to{opacity:.95;transform:translateY(0) scale(1)}
}

@keyframes coinTilt{
	0%,100%{transform:rotate(-3deg)}
	50%{transform:rotate(3deg)}
}

@keyframes earringTilt{
	0%,100%{transform:rotate(-4deg)}
	50%{transform:rotate(4deg)}
}

@media (hover:hover) and (pointer:fine) and (min-width:901px){
	.floating-exponat{pointer-events:auto}
	.floating-exponat:hover figcaption,
	.floating-exponat:focus-within figcaption{opacity:1;transform:translateY(-50%) translateX(0)}
}

/* Find us */
.find-us{padding:4rem 0;background:#f6efe4}
.find-us__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:stretch}
.find-us__content{display:grid;grid-template-rows:1fr 1fr;gap:1rem;min-height:420px}
.find-us__title{margin:0 0 .9rem;font-size:clamp(1.35rem,2.1vw,1.85rem);font-weight:800;color:#1f1a15}
.find-us__subtitle{margin:0 0 .65rem;font-size:1rem;font-weight:800;color:#1f1a15}
.find-us__text{margin:.75rem 0 0;color:#5e5650;line-height:1.6}
.find-us__card{margin:0;padding:1rem;background:#fff;border:1px solid rgba(31,26,21,.12);border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.08);display:flex;flex-direction:column;justify-content:center}
.find-us__hours{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}
.find-us__hours li{display:flex;justify-content:space-between;gap:1rem;color:#5e5650}
.find-us__hours strong{color:#1f1a15}
.find-us__map-wrap{border-radius:12px;overflow:hidden;border:1px solid rgba(31,26,21,.12);box-shadow:0 10px 24px rgba(0,0,0,.08);background:#fff;min-height:420px;height:100%}
.find-us__map{display:block;width:100%;height:100%;border:0}

/* Footer */
.site-footer{padding:2rem 0;color:var(--color-muted);text-align:center}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1rem;margin:0 0 .6rem}
.footer-links a{font-size:.875rem;color:var(--color-muted);text-decoration:none;line-height:1.2}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--color-accent);text-decoration:underline}

/* Mobile only content */
.mobile-only-spotlight{display:none}
.mobile-cta{display:none}

/* Responsive */
@media (max-width:1100px){
	.hero__content.container{padding-top:4.4rem;padding-bottom:2.9rem}
}

@media (max-width:900px){
	.container{padding:0 .9rem}
	.hero{min-height:92vh}
	.hero__content.container{padding-top:4rem;padding-bottom:2.4rem}
	.hero__meta{grid-template-columns:repeat(3,minmax(0,1fr))}
	.hero__title--decor{font-size:clamp(2rem,6vw,3.2rem)}
	.exhibitions,.mission,.visits,.find-us{padding:3.2rem 0}
	.floating-exponat{display:none}
	.visits__inner{grid-template-columns:1fr}
	.visits__form{grid-template-columns:1fr}
	.visits__field--half{grid-column:1 / -1}
	.find-us__inner{grid-template-columns:1fr}
	.find-us__content{grid-template-rows:auto;min-height:0}
	.find-us__map-wrap,
	.find-us__map{min-height:320px}
}

@media (max-width:480px){
	.site-header{position:relative;z-index:50}
	.header__inner{align-items:center;gap:.65rem;padding:1.2rem 0}
	.nav{display:none}
	.nav-jump{display:inline-flex;position:fixed;top:5.25rem;right:-.2rem;width:40px;height:40px;align-items:center;justify-content:center;border-radius:999px 0 0 999px;border:1px solid rgba(31,26,21,.22);background:#fff;color:#1f1a15;text-decoration:none;font-size:1.25rem;font-weight:800;line-height:1;z-index:46}
	.nav-jump-menu{position:fixed;top:8.2rem;right:.2rem;z-index:46;min-width:180px;background:#fff;border:1px solid rgba(31,26,21,.18);border-radius:10px;box-shadow:0 12px 24px rgba(0,0,0,.12);padding:.45rem;display:none}
	.nav-jump-menu.is-open{display:grid;gap:.1rem}
	.nav-jump-menu a{color:#1f1a15;text-decoration:none;font-size:.93rem;font-weight:700;padding:.45rem .5rem;border-radius:7px}
	.nav-jump-menu a:hover,
	.nav-jump-menu a:focus-visible{background:#f6efe4;outline:none}
	.logo{font-size:1.03rem;gap:.55rem}
	.logo__img{height:36px}
	.hero{min-height:88vh}
	.hero__content.container{padding-top:5.1rem;padding-bottom:2rem}
	.hero__title--decor{font-size:1.86rem}
	.hero__title--place{font-size:1rem}
	.hero__subtitle{font-size:.94rem}
	.hero__actions{display:none}
	.hero__meta{grid-template-columns:1fr}
	.hero__meta li{min-height:68px}
}

@media (max-width:768px){
	body{padding-bottom:5.6rem}
	.site-footer{margin-bottom:0}
	.mobile-only-spotlight{display:grid;gap:.75rem;padding:1rem;background:#fff;border:1px solid rgba(31,26,21,.12);border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.08)}
	.mobile-only-spotlight__title{margin:0;font-size:clamp(1.35rem,2.1vw,1.85rem);font-weight:800;color:#1f1a15}
	.mobile-only-spotlight__text{margin:0;color:#5e5650;line-height:1.65;font-size:1rem}
	.mobile-only-spotlight__image{width:100%;max-height:170px;object-fit:cover;border-radius:10px;border:1px solid rgba(31,26,21,.12)}
	.mobile-only-spotlight__link{justify-self:start;padding:.6rem 1rem}
	.mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:.6rem .9rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(239,228,211,.96);border-top:1px solid rgba(31,26,21,.12)}
	.mobile-cta .btn{display:block;width:100%;text-align:center;padding:.82rem 1rem}
}

/* Small utility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}