:root{--v:#1b4229;--o:#c19e58;--c:#f1dfb5;--t:#143620;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box;margin:0}
html{scroll-padding-top:5rem}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font:600 1.05rem/1.75 Lora,Georgia,serif;background:var(--o);color:var(--t)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--c);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-style:italic;font-weight:900;line-height:1.15}
h2{font-size:clamp(2rem,5vw,3rem);margin-bottom:1rem}
.w{max-width:72rem;margin:auto;padding:0 1.25rem}
.verde{--ac:var(--o);--bg:var(--v);background:var(--v);color:var(--c)}
.oro{--ac:var(--v);--bg:var(--o);background:var(--o);color:var(--t)}
section{padding:4.5rem 0}
.verde h2,.verde h1{color:var(--c);text-shadow:0 0 18px rgba(241,223,181,.45)}
.oro h2{color:var(--v);text-shadow:3px 3px 0 rgba(255,255,255,.3)}
.orn{height:2px;background:var(--ac);position:relative;margin:0 0 2.5rem}
.orn::after{content:"";position:absolute;left:50%;top:50%;width:1rem;height:1rem;background:var(--bg);border:2px solid var(--ac);transform:translate(-50%,-50%) rotate(45deg)}
header{position:sticky;top:0;z-index:5;background:var(--v);border-bottom:3px solid var(--o)}
header .w{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;flex-wrap:wrap;padding-block:.5rem}
header img{height:3.4rem;width:auto}
nav{display:flex;gap:.25rem 1.5rem;flex-wrap:wrap}
nav a{color:var(--c);text-decoration:none;font:italic 700 1.1rem var(--serif);padding:.4rem 0}
nav a:hover{color:var(--o)}
.hero{padding:4rem 0}
.hero .w{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero h1{font-size:clamp(2.6rem,7vw,4.6rem)}
.hero p{margin:1.25rem 0 2rem;max-width:34rem;font-size:1.2rem}
.marco{background:var(--o);padding:.6rem;border:3px solid var(--v);box-shadow:0 0 0 6px var(--o)}
.marco img{width:100%;aspect-ratio:3/2;object-fit:cover}
.btn{display:inline-block;background:var(--o);color:var(--v);padding:.75rem 1.5rem;margin:0 .75rem .75rem 0;border:2px solid var(--c);font:italic 900 1.1rem var(--serif);text-decoration:none}
.btn:hover{background:var(--c)}
.dos{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.dos p{max-width:40rem;font-size:1.15rem}
.circulo{width:min(21rem,100%);aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px solid #e3bd5f}
.intro{max-width:42rem;margin-bottom:1.5rem}
#filtros{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem}
#filtros button{font:italic 700 1rem var(--serif);padding:.45rem 1.2rem;border:2px solid var(--o);border-radius:999px;background:transparent;color:var(--c);cursor:pointer}
#filtros button[aria-pressed=true]{background:var(--o);color:var(--v)}
#conteo{margin-bottom:1.75rem;font-size:.95rem}
#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1.75rem}
.card{background:var(--o);color:var(--t);border:2px solid var(--c);display:flex;flex-direction:column;padding-bottom:1.1rem}
.card[hidden]{display:none}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover;background:#000;clip-path:polygon(0 3%,6% 0,12% 4%,19% 1%,27% 5%,35% 1%,44% 4%,52% 0,61% 4%,70% 1%,79% 5%,88% 1%,100% 4%,100% 97%,92% 100%,83% 96%,74% 100%,65% 96%,55% 99%,46% 95%,36% 100%,27% 96%,17% 100%,8% 96%,0 99%)}
.card h3{font-size:1.45rem;color:var(--v);margin:.9rem 1.1rem .4rem;text-shadow:2px 2px 0 rgba(255,255,255,.3)}
.card p{margin:0 1.1rem 1rem;font-size:.98rem;line-height:1.6}
.usos{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0 1.1rem;margin-top:auto}
.usos li{background:var(--v);color:var(--c);padding:.1rem .8rem;border-radius:999px;font:italic 700 .9rem var(--serif)}
.sedes{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.75rem}
.sede{border:3px solid var(--v);padding:1.5rem;background:rgba(255,255,255,.12)}
.sede h3{font-size:1.7rem;color:var(--v);margin-bottom:.5rem}
.sede address{font-style:normal;margin-bottom:.75rem}
.sede a{font-weight:700}
.contacto p{max-width:38rem;margin-bottom:1.5rem}
.contacto p:last-child{margin:.5rem 0 0;overflow-wrap:anywhere}
footer{background:var(--v);color:var(--c);border-top:3px solid var(--o);text-align:center;padding:2rem 1.25rem}
footer img{height:5rem;width:auto;margin:0 auto .75rem}
.e404{min-height:100vh;display:grid;place-items:center;text-align:center;padding:2rem}
.e404 img{margin:0 auto 1.5rem}
.e404 p{margin:1rem 0 1.5rem}
@media(max-width:48rem){.hero .w,.dos{grid-template-columns:1fr}.hero{padding:2.5rem 0}section{padding:3rem 0}.circulo{margin:auto}}
