.gallery-index{--navy:#2b4f1a;--ndark:#1b3a1f;--ndeep:#22481f;--nmid:#3a4d2c;--nsoft:#7c8b5f;--nfaint:#e8dcc8;--cream:#faf6f0;--cdk:#eadfc8;--sand:#eadfc8;--cta:#b8862c;--ctalt:#9e7225;--text:#2a1e14;--textmid:#4a3828;--textlt:#7a6858;--border:#eadfc8;--mist:#edf5e6;background:var(--cream);color:var(--text);min-height:100vh;font-family:DM Sans,sans-serif}.gallery-index .gi-nav{z-index:50;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#2b4f1af2;border-bottom:1px solid #ffffff14;position:fixed;top:0;left:0;right:0}.gallery-index .gi-nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1300px;height:80px;margin:0 auto;padding:0 28px;display:flex}.gallery-index .gi-logo{flex-shrink:0;align-items:center;gap:14px;text-decoration:none;display:flex}.gallery-index .gi-logo img{object-fit:contain;width:54px;height:54px}.gallery-index .gi-logo-text{flex-direction:column;line-height:1.15;display:flex}.gallery-index .gi-logo-sub{letter-spacing:.26em;text-transform:uppercase;color:#e8dcc88c;font-size:10px}.gallery-index .gi-logo-main{color:#fff;font-family:Playfair Display,serif;font-size:22px;font-style:italic;font-weight:700}.gallery-index .gi-logo-tag{letter-spacing:.26em;text-transform:uppercase;color:#e8dcc88c;font-size:10px}.gallery-index .gi-nav-links{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.gallery-index .gi-nav-links a{color:#e8dcc8eb;white-space:nowrap;border-radius:8px;padding:7px 13px;font-size:13px;font-weight:500;text-decoration:none;transition:color .18s,background .18s}.gallery-index .gi-nav-links a:hover{color:#fff;background:#e8dcc814}.gallery-index .gi-cta{background:var(--cta);color:#fff;white-space:nowrap;border-radius:40px;flex-shrink:0;align-items:center;gap:7px;padding:10px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.gallery-index .gi-cta:hover{background:var(--ctalt);transform:translateY(-1px)}@media (max-width:860px){.gallery-index .gi-nav-links,.gallery-index .gi-cta{display:none}}.gallery-index{--mob-top:80px;--mob-bg:#2b4f1af7;--mob-cta:var(--cta);--mob-cta-color:#fff}.gallery-index .mob-menu a{color:#fffc}.gallery-index .gi-hero{text-align:center;background:linear-gradient(160deg,#22481f 0%,#1b3a1f 60%);border-bottom:1px solid #ffffff0f;padding:148px 32px 80px}.gallery-index .gi-hero-inner{max-width:680px;margin:0 auto}.gallery-index .gi-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--cta);background:#b8862c14;border:1px solid #b8862c4d;border-radius:999px;margin-bottom:20px;padding:6px 18px;font-size:11px;font-weight:600;display:inline-block}.gallery-index .gi-h1{color:#fff;margin-bottom:18px;font-family:Playfair Display,serif;font-size:clamp(32px,4.5vw,52px);font-weight:900;line-height:1.15}.gallery-index .gi-h1 em{color:var(--cta);font-style:italic}.gallery-index .gi-hero-sub{color:#e8dcc8b3;font-size:17px;line-height:1.75}.gallery-index .gi-section{padding:80px 32px}.gallery-index .gi-inner{max-width:1000px;margin:0 auto}.gallery-index .gi-label{letter-spacing:.32em;text-transform:uppercase;color:var(--nsoft);align-items:center;gap:10px;margin-bottom:12px;font-size:10px;font-weight:600;display:flex}.gallery-index .gi-label:before{content:"";background:var(--nsoft);width:20px;height:1.5px;display:block}.gallery-index h2{color:var(--navy);margin-bottom:40px;font-family:Playfair Display,serif;font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1.2}.gi-cards{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}@media (max-width:640px){.gi-cards{grid-template-columns:1fr}}.gi-card{border:1.5px solid var(--border);color:inherit;background:#fff;border-radius:16px;flex-direction:column;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;overflow:hidden;box-shadow:0 2px 16px #4b5d3a0f}.gi-card:hover{border-color:var(--nsoft);transform:translateY(-2px);box-shadow:0 8px 32px #2b4f1a1f}.gi-card-thumb{aspect-ratio:16/9;background:var(--mist);flex-shrink:0;width:100%;position:relative;overflow:hidden}.gi-card-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.gi-card:hover .gi-card-thumb img{transform:scale(1.04)}.gi-card-thumb-empty{width:100%;height:100%;color:var(--textlt);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.gi-card-body{flex-direction:column;flex:1;gap:6px;padding:22px 24px 26px;display:flex}.gi-card-date{letter-spacing:.12em;text-transform:uppercase;color:var(--nsoft);font-size:11px;font-weight:600}.gi-card-title{color:var(--navy);font-family:Playfair Display,serif;font-size:20px;font-weight:700;line-height:1.3}.gi-card-count{color:var(--textlt);margin-top:2px;font-size:13px}.gi-card-cta{color:var(--cta);align-items:center;gap:7px;margin-top:14px;font-size:14px;font-weight:600;display:inline-flex}.gallery-index .gi-footer{text-align:center;color:#e8dcc880;background:#2b4f1a;border-top:1px solid #ffffff14;flex-direction:column;align-items:center;gap:4px;padding:48px 32px 40px;font-size:14px;display:flex}.gi-footer-logo{align-items:center;gap:10px;margin-bottom:8px;text-decoration:none;display:flex}.gi-footer-logo img{object-fit:contain;filter:brightness(0)invert();opacity:.9;width:36px;height:36px}.gi-footer-brand{color:#fff;font-family:Playfair Display,serif;font-size:16px;font-style:italic;font-weight:700}.gi-footer-sep{background:#e8dcc81f;width:40px;height:1px;margin:14px auto}.gallery-index .gi-footer a{color:var(--cta);text-decoration:none;transition:opacity .2s}.gallery-index .gi-footer a:hover{opacity:.75}.gallery-index .gi-footer .gi-designed-by{color:#fff;opacity:.75;align-items:center;gap:6px;margin-top:10px;font-size:11px;text-decoration:none;transition:opacity .2s;display:inline-flex}.gallery-index .gi-footer .gi-designed-by:hover{opacity:1;color:#fff}.gallery-index .gi-footer .gi-designed-by img{object-fit:contain;width:16px;height:16px}@media (max-width:640px){.gallery-index .gi-hero{padding:120px 20px 60px}.gallery-index .gi-section{padding:56px 20px}.gallery-index .gi-nav-inner{padding:0 20px}}
