:root{--cream:#F8F4EB;--paper:#EFE7D8;--ink:#2A1B12;--wood:#6B4630;--terra:#A62B1E;--gold:#DDA126;--olive:#4E6E43;--sand:#DDD0B6;--brand:#F9EAD4}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1000px;margin:0 auto;padding:0 24px}
.site-header{background:var(--brand);border-bottom:1px solid rgba(107,70,48,.15);position:sticky;top:0;z-index:20}
.site-header .wrap{max-width:1180px;display:flex;align-items:center;justify-content:space-between;height:72px}
.site-header img{height:38px;width:auto}
.site-header nav{display:flex;gap:26px;font-weight:500;font-size:.95rem;color:rgba(42,27,18,.85)}
.site-header nav a{text-decoration:none}.site-header nav a:hover{color:var(--terra)}
@media(max-width:560px){.site-header nav a:not(.keep){display:none}}
.crumbs{font-size:.8rem;color:rgba(42,27,18,.6);padding:22px 0 6px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--terra);text-decoration:underline}
.crumbs span[aria-hidden]{margin:0 6px}
.hero{display:grid;gap:28px;padding:14px 0 10px}
@media(min-width:780px){.hero.has-photo{grid-template-columns:1fr .95fr;align-items:center;gap:44px}}
.label{margin:0 0 8px;font:600 .75rem/1.2 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--terra)}
h1{font:600 clamp(1.7rem,4.2vw,2.5rem)/1.2 "Playfair Display",Georgia,serif;margin:0 0 14px}
.intro{margin:0;color:rgba(42,27,18,.78);font-size:1.02rem}
.photo{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--paper);box-shadow:0 0 0 1px var(--sand),0 0 0 5px var(--cream),0 0 0 6px var(--sand)}
.photo img{width:100%;height:100%;object-fit:cover}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 22px;border-radius:999px;font:600 .9rem/1 Inter,sans-serif;text-decoration:none;border:1px solid var(--wood);background:var(--wood);color:var(--cream);transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--terra);border-color:var(--terra)}
.btn.outline{background:transparent;color:var(--terra);border-color:var(--terra)}
.btn.outline:hover{background:var(--terra);color:var(--cream)}
article h2{font:600 1.45rem/1.25 "Playfair Display",Georgia,serif;margin:42px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--sand)}
article h2 small{font:400 .8rem Inter,sans-serif;color:rgba(42,27,18,.6);margin-left:6px}
h3.sub{font:600 .75rem/1.2 Inter,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:rgba(42,27,18,.6);margin:20px 0 10px}
.content p{margin:0 0 14px;color:rgba(42,27,18,.82)}
.content ul{list-style:none;margin:0 0 6px;padding:0}
.content ul li{position:relative;padding:0 0 8px 20px;color:rgba(42,27,18,.82)}
.content ul li::before{content:"";position:absolute;left:3px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--olive)}
.content ol{list-style:none;counter-reset:paso;margin:0 0 6px;padding:0}
.content ol li{counter-increment:paso;position:relative;padding:0 0 16px 46px;color:rgba(42,27,18,.82)}
.content ol li::before{content:counter(paso);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:50%;background:var(--olive);color:var(--cream);font:600 .85rem/30px Inter,sans-serif;text-align:center}
.content p.note{font-style:italic;color:rgba(42,27,18,.75)}
.content strong{color:var(--ink);font-weight:600}
.sign{margin:36px 0 0;padding-top:16px;border-top:1px solid var(--sand);display:flex;align-items:center;justify-content:flex-end;gap:14px}
.sign img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 1px var(--sand)}
.sign b{display:block;font:italic 500 1.2rem "Playfair Display",Georgia,serif;color:var(--wood)}
.sign b a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}.sign b a:hover{color:var(--terra)}
.sign span{display:block;font-size:.78rem;color:rgba(42,27,18,.6)}
.sign span.rol{color:rgba(42,27,18,.75)}
.cta{margin:46px 0 0;padding:26px;border-radius:16px;background:var(--paper);box-shadow:0 0 0 1px var(--sand);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.cta p{margin:0;font:600 1.1rem "Playfair Display",Georgia,serif}
.more{margin:56px 0 0}
.more h2{margin-top:0}
.cards{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:0;padding:0;list-style:none}
.card{display:flex;flex-direction:column;height:100%;background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px var(--sand);text-decoration:none;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--wood),0 10px 24px rgba(42,27,18,.12)}
.card .ph{aspect-ratio:4/3;background:#e6dcc9;position:relative;overflow:hidden;flex:none}.card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card .tx{padding:16px 18px 20px}
.card .tx em{display:block;font:600 .7rem Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--terra);font-style:normal;margin-bottom:6px}
.card .tx strong{display:block;font:600 1.05rem/1.3 "Playfair Display",Georgia,serif;color:var(--ink)}
.hub-intro{max-width:680px;color:rgba(42,27,18,.78);margin:0 0 30px}
.site-footer{margin-top:70px;background:var(--brand);border-top:1px solid rgba(107,70,48,.15);padding:34px 0}
.site-footer .wrap{max-width:1180px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.site-footer img{height:44px;width:auto}
.site-footer small{display:block;font-size:.72rem;letter-spacing:.18em;color:rgba(107,70,48,.7);margin-top:4px}
.site-footer p{margin:0;font-size:.85rem;color:rgba(42,27,18,.6)}
.site-footer nav{display:flex;gap:20px;font-size:.9rem}.site-footer nav a{text-decoration:none}.site-footer nav a:hover{color:var(--terra)}
