
:root{--navy:#062d55;--navy-dark:#031d37;--blue:#0c4778;--gold:#c8a13b;--gold-soft:#e4d19a;--ink:#182b40;--muted:#647588;--paper:#fff;--soft:#f4f6f8;--line:#dce3ea}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit}.site-wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{background:#fff}.brandbar{min-height:116px;display:flex;align-items:center;gap:20px}.brandbar img{width:82px;height:82px;object-fit:contain}.brandname{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-weight:700;font-size:21px;line-height:1.16;letter-spacing:.15px;max-width:650px}
.mainnav{background:var(--navy-dark);border-bottom:3px solid var(--gold)}.navinner{display:flex;align-items:center;min-height:55px;gap:6px}.mainnav a{color:#fff;text-decoration:none;font-size:12px;font-weight:700;padding:19px 18px;white-space:nowrap}.mainnav a:hover,.mainnav a.active{background:rgba(198,162,74,.18);color:#fff}
.hero{background:linear-gradient(115deg,#062d55,#104f80);color:#fff;border-bottom:4px solid var(--gold)}.hero .site-wrap{padding:78px 0 82px}.eyebrow{color:#e2b63e;font-weight:700;font-size:13px;letter-spacing:1.6px;text-transform:uppercase}.hero h1{font:700 clamp(40px,5vw,64px)/1.02 Georgia,serif;margin:10px 0 14px;max-width:950px}.hero p{font-size:17px;max-width:720px;margin:0;color:#e7eef4}
.pagehero .site-wrap{padding:52px 0 55px}.pagehero h1{font-size:48px}.section{padding:66px 0}.section.soft{background:var(--soft)}.section-title{font:700 32px Georgia,serif;color:var(--navy);margin:0 0 10px}.section-lead{color:var(--muted);max-width:760px;margin:0 0 30px}
.btn{display:inline-block;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.3px;padding:12px 18px;border-radius:2px}.btn-gold{background:var(--gold);color:#10263c}.btn-navy{background:var(--navy);color:#fff}.home-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:38px;align-items:center}.institution-card{border-left:4px solid var(--gold);background:#fff;padding:25px 28px;box-shadow:0 7px 25px rgba(14,42,67,.07)}
.filters{display:flex;gap:12px;margin:0 0 28px}.filters input,.filters select{border:1px solid #ccd6df;border-radius:3px;padding:12px 13px;background:#fff;font:inherit;min-width:230px}
.lodges-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.lodge-card{position:relative;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);padding:28px;box-shadow:0 8px 24px rgba(16,46,72,.06)}.lodge-number{position:absolute;right:22px;top:20px;background:#f3ead0;color:#765c18;border:1px solid #dfc87e;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700}.lodge-card h2{font:700 23px/1.15 Georgia,serif;color:var(--navy);margin:0 80px 22px 0}.facts{display:grid;grid-template-columns:105px 1fr;gap:7px 10px;font-size:13px}.facts dt{font-weight:700;color:#5b6c7e}.facts dd{margin:0}.lodge-extra{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:13px}.lodge-extra p{margin:5px 0}.lodge-extra a{color:var(--blue)}
.site-footer{background:var(--navy-dark);color:#fff;border-top:3px solid var(--gold);padding:34px 0}.footergrid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.site-footer strong{font-family:Georgia,serif}.site-footer p{margin:5px 0 0;color:#b7c7d6;font-size:12px}
.content-card{background:#fff;border:1px solid var(--line);padding:28px;box-shadow:0 7px 22px rgba(15,43,67,.05)}.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.content-card h3{font-family:Georgia,serif;color:var(--navy);margin-top:0}
@media(max-width:800px){.brandbar{min-height:95px}.brandbar img{width:65px;height:65px}.brandname{font-size:16px}.navinner{overflow:auto}.mainnav a{padding:16px 13px}.hero .site-wrap{padding:55px 0}.home-intro,.lodges-grid,.cards3{grid-template-columns:1fr}.filters{flex-direction:column}.filters input,.filters select{width:100%;min-width:0}.footergrid{display:block}.pagehero h1{font-size:40px}}

/* v0.6.1 - emblemas de Logias */
.lodge-card-head{display:flex;align-items:center;gap:20px;margin-bottom:22px}
.lodge-emblem{width:92px;height:92px;flex:0 0 92px;border:1px solid #dce3ea;background:#fff;border-radius:50%;padding:8px;display:flex;align-items:center;justify-content:center}
.lodge-emblem img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.lodge-title-wrap{min-width:0;flex:1}.lodge-title-wrap h2{margin:0 0 9px!important}.lodge-title-wrap .lodge-number{position:static;display:inline-block}
@media(max-width:520px){.lodge-card-head{align-items:flex-start}.lodge-emblem{width:72px;height:72px;flex-basis:72px}}

/* v0.6.3 — presencia visual de emblemas */
.lodges-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.lodge-card{min-width:0;padding:32px}
.lodge-card-head{display:grid;grid-template-columns:145px minmax(0,1fr);gap:24px;align-items:center;margin-bottom:28px}
.lodge-emblem{width:145px;height:145px;min-width:145px;border:1px solid #d7e0e8;background:#fff;border-radius:50%;padding:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px rgba(10,42,70,.08)}
.lodge-emblem img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.lodge-title-wrap{min-width:0;overflow-wrap:anywhere}
.lodge-title-wrap h2{font-size:26px!important;line-height:1.12!important;margin:0 0 12px!important;max-width:none}
.lodge-title-wrap .lodge-number{position:static;display:inline-block}
.facts{grid-template-columns:105px minmax(0,1fr)}
@media(max-width:1050px){.lodges-grid{grid-template-columns:1fr}.lodge-card-head{grid-template-columns:135px minmax(0,1fr)}.lodge-emblem{width:135px;height:135px;min-width:135px}}
@media(max-width:560px){.lodge-card{padding:24px}.lodge-card-head{grid-template-columns:100px minmax(0,1fr);gap:16px}.lodge-emblem{width:100px;height:100px;min-width:100px}.lodge-title-wrap h2{font-size:21px!important}}
/* Logotipo institucional usado cuando una Logia no tiene emblema propio */
.lodge-emblem .default-lodge-emblem {
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0.88;
}

/* =========================================================
   AUTORIDADES — TARJETAS INSTITUCIONALES
   ========================================================= */

.authority-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    margin-top: 32px !important;
    align-items: start !important;
}

/* Tarjeta */
.authority-card {
    background: #ffffff !important;
    border: 1px solid #e1e5e9 !important;
    border-top: 4px solid #c7a34b !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(8, 35, 61, 0.08) !important;
    max-width: 340px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* Contenedor de fotografía */
.authority-photo {
    width: 100% !important;
    height: 300px !important;
    max-height: 300px !important;
    overflow: hidden !important;
    background: #f2f4f6 !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

/* Fotografía */
.authority-photo img {
    display: block !important;

    width: 100% !important;
    height: 300px !important;

    max-width: 100% !important;
    max-height: 300px !important;

    object-fit: cover !important;
    object-position: center top !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Información */
.authority-info {
    padding: 20px 22px 24px !important;
    text-align: center !important;
}

.authority-info h3 {
    margin: 0 0 9px !important;
    color: #082f56 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
}

.authority-role {
    margin: 0 !important;
    color: #9a7628 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-transform: uppercase !important;
    letter-spacing: .6px !important;
}

.authority-period {
    margin: 10px 0 0 !important;
    color: #6d7882 !important;
    font-size: 14px !important;
}

/* Tablet */
@media (max-width: 950px) {
    .authority-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Celular */
@media (max-width: 620px) {
    .authority-grid {
        grid-template-columns: 1fr !important;
    }

    .authority-card {
        max-width: 340px !important;
    }

    .authority-photo,
    .authority-photo img {
        height: 290px !important;
        max-height: 290px !important;
    }
}