:root{
  /* Green palette */
  --forest:#1B4332;--moss:#2D6A4F;--fern:#40916C;--leaf:#74C69D;--mint:#D8F3DC;
  /* Gold accents */
  --gold:#B5872A;--gold-light:#D4A843;--gold-dark:#7A5C1A;
  /* Cream/warm neutrals */
  --cream:#FAF7F0;--parchment:#F2EDE0;--sand:#E8DFD0;
  /* Text */
  --text:#1A2D1A;--text-light:#4A6350;--white:#FFFFFF;
  /* Legacy aliases so all existing refs keep working */
  --navy:var(--forest);--navy-mid:var(--moss);--navy-light:var(--fern);
  --green:var(--fern);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:"DM Sans",sans-serif;color:var(--text);background:var(--cream);overflow-x:hidden;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(27,67,50,0.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(181,135,42,0.25);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:76px;transition:all .3s ease;}
.nav-logo{display:flex;align-items:center;gap:14px;text-decoration:none;}
.nav-logo img{height:52px;width:auto;}
.nav-logo-text{display:flex;flex-direction:column;}
.nav-logo-text .brand{font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700;color:var(--gold-light);letter-spacing:.06em;line-height:1.2;}
.nav-logo-text .tagline{font-size:.6rem;color:rgba(255,255,255,.45);letter-spacing:.14em;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;}
.nav-links a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.87rem;letter-spacing:.04em;font-weight:500;transition:color .2s;position:relative;}
.nav-links a::after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--gold-light);transition:width .3s;}
.nav-links a:hover{color:var(--gold-light);}
.nav-links a:hover::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-cta{background:var(--gold);color:var(--white);padding:10px 22px;border-radius:4px;font-weight:700;font-size:.85rem;text-decoration:none;transition:all .2s;letter-spacing:.04em;}
.nav-cta:hover{background:var(--gold-light);transform:translateY(-1px);box-shadow:0 4px 14px rgba(181,135,42,.35);}
.nav-staff{background:transparent;border:1.5px solid rgba(212,168,67,.45);color:rgba(255,255,255,.8);padding:9px 18px;border-radius:4px;font-weight:500;font-size:.82rem;text-decoration:none;cursor:pointer;font-family:"DM Sans",sans-serif;transition:all .2s;letter-spacing:.04em;display:none;align-items:center;gap:7px;}
.nav-staff:hover{border-color:var(--gold-light);color:var(--gold-light);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:all .3s;}
.mobile-menu{display:none;position:fixed;top:76px;left:0;right:0;background:rgba(27,67,50,.99);padding:20px 5% 30px;z-index:999;flex-direction:column;gap:0;border-top:1px solid rgba(181,135,42,.18);}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:rgba(255,255,255,.8);text-decoration:none;font-size:1rem;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07);font-weight:500;}
.mobile-menu a:hover{color:var(--gold-light);}
.mobile-menu-btns{display:flex;flex-direction:column;gap:10px;margin-top:20px;}

/* ── HERO SLIDER ── */
#hero{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:center;}
.slider-track{position:absolute;inset:0;display:flex;transition:transform .9s cubic-bezier(.77,0,.18,1);}
.slide{position:relative;min-width:100%;height:100%;flex-shrink:0;}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08);transition:transform 8s ease;}
.slide.active .slide-bg{transform:scale(1);}
/* Slide overlays — cream/green tones, zero blue */
.slide:nth-child(1) .slide-bg{background-image:linear-gradient(160deg,rgba(27,67,50,.82) 0%,rgba(45,106,79,.6) 60%,rgba(181,135,42,.25) 100%),url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=1600&q=80');}
.slide:nth-child(2) .slide-bg{background-image:linear-gradient(160deg,rgba(27,67,50,.78) 0%,rgba(64,145,108,.5) 60%,rgba(250,247,240,.15) 100%),url('https://images.unsplash.com/photo-1582407947304-fd86f028f716?w=1600&q=80');}
.slide:nth-child(3) .slide-bg{background-image:linear-gradient(160deg,rgba(27,67,50,.75) 0%,rgba(116,198,157,.35) 70%,rgba(181,135,42,.3) 100%),url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1600&q=80');}
.slide:nth-child(4) .slide-bg{background-image:linear-gradient(160deg,rgba(27,67,50,.80) 0%,rgba(45,106,79,.55) 65%,rgba(242,237,224,.1) 100%),url('https://images.unsplash.com/photo-1464082354059-27db6ce50048?w=1600&q=80');}
.slide{position:relative;}
.slide::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
	background:linear-gradient(160deg,rgba(27,67,50,.82) 0%,rgba(45,106,79,.55) 60%,rgba(181,135,42,.25) 100%);}
#heroParticles{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;}	

/* Particle layer */
.slider-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;}
.particle{position:absolute;border-radius:50%;animation:particleDrift linear infinite;opacity:0;}
@keyframes particleDrift{0%{opacity:0;transform:translateY(100vh) translateX(0);}10%{opacity:.5;}90%{opacity:.2;}100%{opacity:0;transform:translateY(-100px) translateX(calc(var(--drift)*1px));}}

/* Slider content */
.hero-content{position:relative;z-index:5;width:100%;max-width:1300px;margin:0 auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:60px;min-height:100vh;}
.hero-left{flex:1;max-width:640px;padding-top:80px;padding-bottom:60px;}

/* Slide badge */
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(181,135,42,.15);border:1px solid rgba(212,168,67,.4);color:var(--gold-light);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;padding:7px 16px;border-radius:100px;margin-bottom:26px;animation:fadeInUp .8s ease both;}

/* Title */
.hero-title{font-family:"Playfair Display",serif;font-size:clamp(2.2rem,4.5vw,4rem);font-weight:900;color:var(--white);line-height:1.1;margin-bottom:22px;animation:fadeInUp .8s ease .1s both;}
.hero-title .line2{color:var(--gold-light);display:block;position:relative;}
.hero-title .line2::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));animation:underlineGrow 1s ease 1.2s forwards;}
@keyframes underlineGrow{to{width:60%;}}

.hero-desc{font-size:1.05rem;color:rgba(255,255,255,.72);line-height:1.8;margin-bottom:36px;font-weight:300;animation:fadeInUp .8s ease .2s both;max-width:560px;}

/* CTA buttons */
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;animation:fadeInUp .8s ease .3s both;}
.btn-primary{background:var(--gold);color:var(--white);padding:14px 30px;border-radius:5px;font-weight:700;font-size:.9rem;text-decoration:none;letter-spacing:.04em;transition:all .25s;display:inline-flex;align-items:center;gap:8px;position:relative;overflow:hidden;}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 10px 28px rgba(181,135,42,.4);}
.btn-outline{border:1.5px solid rgba(255,255,255,.35);color:var(--white);padding:14px 30px;border-radius:5px;font-weight:500;font-size:.9rem;text-decoration:none;letter-spacing:.04em;transition:all .25s;display:inline-flex;align-items:center;gap:8px;}
.btn-outline:hover{border-color:var(--gold-light);color:var(--gold-light);background:rgba(181,135,42,.08);}

/* Quick download chips */
.hero-dl-strip{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;animation:fadeInUp .8s ease .5s both;}
.hero-dl-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:rgba(27,67,50,.5);border:1px solid rgba(212,168,67,.25);border-radius:100px;color:rgba(255,255,255,.65);font-size:.74rem;text-decoration:none;transition:all .2s;backdrop-filter:blur(6px);}
.hero-dl-chip:hover{background:rgba(181,135,42,.2);border-color:var(--gold-light);color:var(--gold-light);}
.hero-dl-chip i{font-size:.65rem;color:var(--gold-light);}

/* Stats strip */
.hero-stats{display:flex;gap:36px;margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);animation:fadeInUp .8s ease .4s both;flex-wrap:wrap;}
.stat-item .num{font-family:"Playfair Display",serif;font-size:1.9rem;font-weight:700;color:var(--gold-light);}
.stat-item .lbl{font-size:.72rem;color:rgba(255,255,255,.5);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;}

/* Slider controls */
.slider-dots{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10;}
.slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:all .3s;border:none;padding:0;}
.slider-dot.active{background:var(--gold-light);width:28px;border-radius:4px;}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:46px;height:46px;background:rgba(27,67,50,.55);border:1.5px solid rgba(212,168,67,.3);border-radius:50%;color:white;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;backdrop-filter:blur(6px);}
.slider-arrow:hover{background:rgba(181,135,42,.4);border-color:var(--gold-light);}
.slider-prev{left:24px;}
.slider-next{right:24px;}

/* Slide counter */
.slider-counter{position:absolute;top:110px;right:5%;z-index:10;color:rgba(255,255,255,.4);font-size:.75rem;letter-spacing:.14em;font-family:"Playfair Display",serif;}
.slider-counter span{color:var(--gold-light);font-size:1.1rem;}

/* Scroll hint */
.hero-scroll{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10;animation:fadeInUp 1s ease 2s both;}
.hero-scroll span{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);}
.scroll-dot{width:1px;height:44px;background:linear-gradient(transparent,var(--gold-light));position:relative;overflow:hidden;}
.scroll-dot::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--gold-light);animation:scrollDot 2s ease-in-out infinite 2.5s;}
@keyframes scrollDot{0%{top:-100%}100%{top:200%}}

/* Marquee — green bar */
.marquee-bar{background:var(--forest);padding:13px 0;overflow:hidden;border-top:1px solid rgba(181,135,42,.2);border-bottom:1px solid rgba(181,135,42,.2);}
.marquee-track{display:flex;gap:0;animation:marquee 22s linear infinite;white-space:nowrap;}
.marquee-track span{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);padding:0 36px;}
.marquee-track span i{margin-right:10px;color:rgba(212,168,67,.6);}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}


/* Floating orbs */
.hero-orb{position:absolute;border-radius:50%;filter:blur(60px);animation:orbFloat 8s ease-in-out infinite;pointer-events:none;}
.hero-orb-1{width:400px;height:400px;background:radial-gradient(circle,rgba(201,168,76,.08),transparent);top:-100px;right:-100px;animation-delay:0s;}
.hero-orb-2{width:300px;height:300px;background:radial-gradient(circle,rgba(45,106,79,.06),transparent);bottom:0;left:5%;animation-delay:-3s;}
.hero-orb-3{width:250px;height:250px;background:radial-gradient(circle,rgba(201,168,76,.05),transparent);top:30%;left:40%;animation-delay:-5s;}
@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-30px) scale(1.05);}}

/* Animated grid lines */
.hero-scan{position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(201,168,76,.015) 50%);background-size:100% 4px;animation:scanLines 20s linear infinite;pointer-events:none;}
@keyframes scanLines{0%{background-position:0 0}100%{background-position:0 100%}}

/* Particles */
.hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.particle{position:absolute;width:2px;height:2px;background:var(--gold);border-radius:50%;animation:particleDrift linear infinite;opacity:0;}
@keyframes particleDrift{0%{opacity:0;transform:translateY(100vh) translateX(0);}10%{opacity:.6;}90%{opacity:.3;}100%{opacity:0;transform:translateY(-100px) translateX(calc(var(--drift) * 1px));}}


/* ── SECTION HEADERS ── */
.section-header{margin-bottom:60px;}
.section-header.center{text-align:center;}
.section-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold-dark);margin-bottom:10px;}
.section-title{font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:900;color:var(--text);line-height:1.2;margin-bottom:16px;}
.section-title span{color:var(--gold);}
.section-desc{font-size:.97rem;color:var(--text-light);line-height:1.8;max-width:640px;}
.section-header.center .section-desc{margin:0 auto;}

/* ── HERO CARD ── */
.hero-visual{flex:0 0 420px;max-width:420px;position:relative;z-index:6;}
.hero-card{background:rgba(27,67,50,.88);backdrop-filter:blur(16px);border:1px solid rgba(212,168,67,.25);border-radius:16px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.hero-card-logo{display:flex;justify-content:center;margin-bottom:14px;}
.hero-card-logo img{width:90px;height:90px;border-radius:50%;border:3px solid rgba(212,168,67,.4);object-fit:cover;}
.hero-card-motto{font-family:"Playfair Display",serif;color:var(--gold-light);font-size:1.15rem;font-style:italic;text-align:center;margin-bottom:14px;}
.hero-card-divider{height:1px;background:rgba(212,168,67,.2);margin:14px 0;}
.hero-info-row{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.7);font-size:.82rem;margin-bottom:10px;line-height:1.5;}
.hero-info-row i{color:var(--gold-light);font-size:.85rem;margin-top:2px;flex-shrink:0;width:16px;}
.hero-cert{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);border-radius:4px;padding:4px 10px;}
.hero-cert i{color:var(--gold-light);font-size:.7rem;}

/* ── HERO TICKER ── */
.hero-ticker{margin-top:14px;border:1px solid rgba(212,168,67,.15);border-radius:6px;overflow:hidden;display:flex;align-items:center;}
.ticker-label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);font-weight:700;padding:8px 12px;border-right:1px solid rgba(212,168,67,.2);white-space:nowrap;background:rgba(212,168,67,.08);}
.ticker-label i{margin-right:5px;}
.ticker-track{flex:1;overflow:hidden;height:34px;display:flex;align-items:center;}
.ticker-inner{display:flex;gap:40px;animation:ticker 20s linear infinite;white-space:nowrap;}
.ticker-inner span{font-size:.74rem;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:6px;}
.ticker-inner span i{color:var(--gold);font-size:.4rem;}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── BASE SECTION SPACING ── */
/* Every content section gets consistent vertical rhythm + side gutters.
   Inner wrappers (.about-grid, .vmo-grid, etc.) still cap out at max-width:1300px
   and center themselves, but the section box itself needs its own padding —
   without this rule sections had zero breathing room on desktop. */
section{padding:110px 5%;}
#hero{padding:0;}

/* ── ABOUT ── */
#about{background:var(--white);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1300px;margin:0 auto;}
.about-visual{position:relative;}
.about-img-wrap{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);border-radius:16px;padding:50px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;position:relative;overflow:hidden;}
.about-img-wrap::after{content:"";position:absolute;bottom:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(201,168,76,.12),transparent);}
.about-img-wrap img{width:140px;margin-bottom:24px;position:relative;z-index:1;}
.about-img-wrap .motto{font-family:"Playfair Display",serif;color:var(--gold);font-size:1.2rem;font-style:italic;text-align:center;position:relative;z-index:1;}
.about-badge{position:absolute;top:-18px;right:-18px;background:var(--gold);color:var(--navy);border-radius:50%;width:100px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;text-align:center;box-shadow:0 8px 24px rgba(201,168,76,.4);}
.about-badge .yr{font-size:1.6rem;font-family:"Playfair Display",serif;line-height:1;}
.about-badge .yr-lbl{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;}
.about-text p{color:var(--text-light);line-height:1.9;margin-bottom:20px;font-size:.97rem;}
.about-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;}
.value-chip{display:flex;align-items:center;gap:8px;background:var(--cream);border-radius:6px;padding:10px 14px;font-size:.82rem;font-weight:500;color:var(--navy);border:1px solid rgba(201,168,76,.15);}
.value-chip i{color:var(--gold-dark);font-size:.75rem;}

/* ── VMO ── */
#vmo{background:var(--navy);}
.vmo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1300px;margin:0 auto;border-radius:16px;overflow:hidden;}
.vmo-card{background:rgba(255,255,255,.03);padding:50px 40px;border:1px solid rgba(201,168,76,.1);transition:all .3s;position:relative;overflow:hidden;}
.vmo-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:opacity .3s;}
.vmo-card:hover{background:rgba(255,255,255,.06);}
.vmo-card:hover::before{opacity:1;}
.vmo-icon{width:54px;height:54px;background:rgba(201,168,76,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;}
.vmo-icon i{color:var(--gold);font-size:1.3rem;}
.vmo-label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:8px;}
.vmo-title{font-family:"Playfair Display",serif;font-size:1.1rem;color:var(--white);margin-bottom:14px;}
.vmo-text{font-size:.9rem;color:rgba(255,255,255,.55);line-height:1.8;}

/* ── SERVICES ── */
#services{background:var(--cream);}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1300px;margin:0 auto;}
.service-card{background:var(--white);border-radius:14px;padding:36px 30px;border:1px solid rgba(201,168,76,.1);transition:all .3s;position:relative;overflow:hidden;}
.service-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(13,27,42,.08);}
.service-card:hover::after{transform:scaleX(1);}
.svc-icon{width:52px;height:52px;background:linear-gradient(135deg,var(--navy),var(--navy-light));border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.svc-icon i{color:var(--gold);font-size:1.2rem;}
.svc-title{font-family:"Playfair Display",serif;font-size:1.1rem;color:var(--navy);font-weight:700;margin-bottom:10px;}
.svc-desc{font-size:.88rem;color:var(--text-light);line-height:1.8;margin-bottom:18px;}
.svc-link{font-size:.82rem;font-weight:600;color:var(--gold-dark);text-decoration:none;letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px;}
.svc-link i{font-size:.7rem;transition:transform .2s;}
.svc-link:hover i{transform:translateX(4px);}

/* ── NEWS ── */
#news{background:var(--white);}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1300px;margin:0 auto;}
.news-card{border-radius:14px;overflow:hidden;background:var(--cream);border:1px solid rgba(201,168,76,.12);transition:all .3s;}
.news-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(13,27,42,.08);}
.news-tag-bar{padding:20px 24px 0;display:flex;align-items:center;justify-content:space-between;}
.news-tag{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:4px 12px;border-radius:100px;}
.tag-agm{background:rgba(201,168,76,.15);color:var(--gold-dark);}
.tag-property{background:rgba(45,106,79,.1);color:var(--green);}
.tag-notice{background:rgba(13,27,42,.08);color:var(--navy-mid);}
.news-date{font-size:.76rem;color:var(--text-light);}
.news-body{padding:18px 24px 26px;}
.news-title{font-family:"Playfair Display",serif;font-size:1rem;color:var(--navy);font-weight:700;margin-bottom:10px;line-height:1.4;}
.news-excerpt{font-size:.85rem;color:var(--text-light);line-height:1.7;}
.news-footer{padding:0 24px 24px;display:flex;align-items:center;gap:8px;}
.news-read{font-size:.8rem;font-weight:600;color:var(--gold-dark);text-decoration:none;display:inline-flex;align-items:center;gap:5px;}

/* ── STATS BAND ── */
.stats-band{background:var(--gold);padding:60px 5%;}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;max-width:1300px;margin:0 auto;text-align:center;}
.stats-band .stat-num{font-family:"Playfair Display",serif;font-size:2.8rem;font-weight:900;color:var(--navy);}
.stats-band .stat-lbl{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-mid);font-weight:600;margin-top:4px;}

/* ── PROPERTIES ── */
#properties{background:var(--cream);}
.prop-header{display:flex;flex-direction:column;align-items:center;margin-bottom:60px;max-width:1300px;margin-left:auto;margin-right:auto;}
.prop-filter{display:flex;gap:8px;}
.filter-btn{padding:8px 20px;border-radius:100px;font-size:.82rem;font-weight:500;border:1.5px solid rgba(201,168,76,.25);color:var(--text-light);background:transparent;cursor:pointer;transition:all .2s;letter-spacing:.04em;}
.filter-btn.active,.filter-btn:hover{background:var(--navy);color:var(--white);border-color:var(--navy);}
.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1300px;margin:0 auto;}
.prop-card{border-radius:14px;overflow:hidden;background:var(--white);border:1px solid rgba(201,168,76,.1);transition:all .3s;}
.prop-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(13,27,42,.08);}
.prop-img{height:220px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.prop-badge{position:absolute;top:16px;right:16px;padding:5px 14px;border-radius:100px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.badge-sold{background:rgba(13,27,42,.85);color:var(--gold);}
.badge-available{background:rgba(45,106,79,.9);color:var(--white);}
.badge-upcoming{background:rgba(201,168,76,.9);color:var(--navy);}
.prop-icon{position:relative;z-index:1;color:rgba(255,255,255,.15);font-size:5rem;}
.prop-body{padding:24px;}
.prop-type{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);font-weight:600;margin-bottom:8px;}
.prop-name{font-family:"Playfair Display",serif;font-size:1.1rem;color:var(--navy);font-weight:700;margin-bottom:8px;}
.prop-loc{display:flex;align-items:center;gap:6px;color:var(--text-light);font-size:.83rem;margin-bottom:16px;}
.prop-loc i{color:var(--gold-dark);font-size:.75rem;}
.prop-details{display:flex;gap:16px;padding-top:16px;border-top:1px solid rgba(201,168,76,.1);}
.prop-detail{font-size:.8rem;color:var(--text-light);display:flex;align-items:center;gap:5px;}
.prop-detail i{color:var(--gold-dark);}
.prop-price{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:700;color:var(--navy);margin-top:12px;}

/* ── MEMBERSHIP ── */
#membership{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);position:relative;overflow:hidden;}
#membership::before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(201,168,76,.08),transparent);}
.memb-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1300px;margin:0 auto;position:relative;z-index:1;}
.memb-text .section-title{color:var(--white);}
.memb-desc{color:rgba(255,255,255,.6);line-height:1.9;font-size:.97rem;margin-bottom:36px;}
.memb-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:36px;}
.memb-list li{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.75);font-size:.9rem;}
.memb-list li i{color:var(--gold);font-size:.85rem;width:18px;}
.memb-form{background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.2);border-radius:16px;padding:40px;}
.memb-form h3{font-family:"Playfair Display",serif;color:var(--gold);font-size:1.3rem;margin-bottom:24px;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px;font-weight:500;}
.form-group input,.form-group select{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(201,168,76,.2);border-radius:6px;padding:12px 16px;color:var(--white);font-size:.9rem;font-family:"DM Sans",sans-serif;outline:none;transition:border-color .2s;}
.form-group input:focus,.form-group select:focus{border-color:var(--gold);}
.form-group select option{background:var(--navy);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.btn-submit{width:100%;background:var(--gold);color:var(--navy);border:none;padding:14px;border-radius:6px;font-size:.92rem;font-weight:700;cursor:pointer;letter-spacing:.06em;transition:all .2s;margin-top:8px;font-family:"DM Sans",sans-serif;}
.btn-submit:hover{background:var(--gold-light);transform:translateY(-1px);}
.form-success{display:none;text-align:center;padding:20px;color:var(--gold);font-weight:600;}

/* ── UNIVERSITIES ── */
#universities{background:var(--white);}
.uni-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:1300px;margin:0 auto;}
.uni-card{background:var(--cream);border:1px solid rgba(201,168,76,.12);border-radius:12px;padding:28px 20px;text-align:center;transition:all .3s;}
.uni-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.35);box-shadow:0 12px 30px rgba(13,27,42,.07);}
.uni-icon{width:50px;height:50px;background:linear-gradient(135deg,var(--navy),var(--navy-light));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.uni-icon i{color:var(--gold);font-size:1.1rem;}
.uni-name{font-size:.82rem;font-weight:600;color:var(--navy);line-height:1.4;}

/* ── DOWNLOADS ── */
#downloads{background:var(--cream);}

/* ── CONTACT ── */
#contact{background:var(--white);}
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;max-width:1300px;margin:0 auto;align-items:start;}
.contact-info{display:flex;flex-direction:column;gap:24px;}
.contact-item{display:flex;gap:18px;align-items:flex-start;}
.c-icon{width:46px;height:46px;background:var(--cream);border:1px solid rgba(201,168,76,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.c-icon i{color:var(--gold-dark);font-size:1rem;}
.c-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);font-weight:600;margin-bottom:4px;}
.c-val{font-size:.92rem;color:var(--navy);font-weight:500;line-height:1.6;}
.contact-map{background:linear-gradient(135deg,var(--navy),var(--navy-light));border-radius:14px;padding:32px;margin-top:28px;display:flex;flex-direction:column;gap:12px;}
.contact-map p{color:rgba(255,255,255,.6);font-size:.85rem;line-height:1.7;}
.contact-map strong{color:var(--gold);}
.contact-form-wrap{background:var(--cream);border-radius:14px;padding:40px;border:1px solid rgba(201,168,76,.12);}
.contact-form-wrap h3{font-family:"Playfair Display",serif;font-size:1.5rem;color:var(--navy);margin-bottom:28px;}
.cf-group{margin-bottom:18px;}
.cf-group label{display:block;font-size:.77rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin-bottom:8px;font-weight:600;}
.cf-group input,.cf-group textarea{width:100%;background:var(--white);border:1.5px solid rgba(201,168,76,.15);border-radius:7px;padding:13px 16px;font-size:.9rem;font-family:"DM Sans",sans-serif;color:var(--navy);outline:none;transition:border-color .2s;}
.cf-group input:focus,.cf-group textarea:focus{border-color:var(--gold);}
.cf-group textarea{min-height:120px;resize:vertical;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.btn-send{background:var(--navy);color:var(--white);border:none;padding:14px 36px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;letter-spacing:.06em;transition:all .2s;font-family:"DM Sans",sans-serif;display:inline-flex;align-items:center;gap:8px;}
.btn-send:hover{background:var(--navy-light);transform:translateY(-2px);}

/* ── FOOTER ── */
footer{background:var(--navy);color:rgba(255,255,255,.6);}
.footer-top{padding:70px 5% 50px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;max-width:1300px;margin:0 auto;}
.footer-brand{display:flex;flex-direction:column;}
.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.footer-logo img{height:52px;}
.footer-logo-text .nm{font-family:"Playfair Display",serif;color:var(--white);font-size:.95rem;font-weight:700;}
.footer-logo-text .sl{font-size:.65rem;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;}
.footer-brand p{font-size:.87rem;line-height:1.8;margin-bottom:24px;}
.social-links{display:flex;gap:10px;}
.social-links a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);text-decoration:none;font-size:.85rem;transition:all .2s;}
.social-links a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.footer-col h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:20px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col ul li a{color:rgba(255,255,255,.5);text-decoration:none;font-size:.87rem;transition:color .2s;}
.footer-col ul li a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:20px 5%;display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;font-size:.8rem;}
.footer-bottom a{color:var(--gold);text-decoration:none;}

/* ── STAFF PORTAL MODAL ── */
.portal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9000;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);}
.portal-overlay.open{display:flex;}
.portal-box{background:var(--navy-mid);border:1px solid rgba(201,168,76,.25);border-radius:20px;padding:0;max-width:420px;width:100%;position:relative;overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,.5);}
.portal-box::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-light));}
.portal-header{padding:36px 36px 24px;text-align:center;}
.portal-header img{width:70px;margin-bottom:16px;}
.portal-header h2{font-family:"Playfair Display",serif;color:var(--white);font-size:1.5rem;margin-bottom:6px;}
.portal-header p{color:rgba(255,255,255,.5);font-size:.85rem;}
.portal-body{padding:0 36px 36px;}
.portal-field{margin-bottom:16px;}
.portal-field label{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px;font-weight:600;}
.portal-field input{width:100%;background:rgba(255,255,255,.06);border:1.5px solid rgba(201,168,76,.2);border-radius:8px;padding:13px 16px;color:var(--white);font-size:.9rem;font-family:"DM Sans",sans-serif;outline:none;transition:border-color .2s;}
.portal-field input:focus{border-color:var(--gold);}
.portal-field input::placeholder{color:rgba(255,255,255,.25);}
.portal-error{color:#e87070;font-size:.82rem;margin-bottom:14px;display:none;}
.portal-btn{width:100%;background:var(--gold);color:var(--navy);border:none;padding:14px;border-radius:8px;font-size:.92rem;font-weight:700;cursor:pointer;font-family:"DM Sans",sans-serif;letter-spacing:.06em;transition:all .2s;margin-top:6px;}
.portal-btn:hover{background:var(--gold-light);}
.portal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:rgba(255,255,255,.4);font-size:1.3rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;}
.portal-close:hover{color:var(--white);background:rgba(255,255,255,.08);}
.portal-divider{margin:20px 0;border:none;border-top:1px solid rgba(255,255,255,.08);}
.portal-note{text-align:center;font-size:.78rem;color:rgba(255,255,255,.35);line-height:1.6;}
.portal-note a{color:var(--gold);text-decoration:none;}

/* ── PMS IFRAME MODAL ── */
.pms-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9500;display:none;flex-direction:column;}
.pms-overlay.open{display:flex;}
.pms-topbar{background:var(--navy);padding:0 20px;height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(201,168,76,.2);flex-shrink:0;}
.pms-topbar span{color:var(--gold);font-size:.85rem;font-weight:600;letter-spacing:.06em;}
.pms-close-btn{background:rgba(231,76,60,.15);border:1px solid rgba(231,76,60,.3);color:rgba(231,76,60,.9);padding:6px 14px;border-radius:5px;cursor:pointer;font-size:.8rem;font-weight:600;font-family:"DM Sans",sans-serif;transition:all .2s;display:inline-flex;align-items:center;gap:6px;}
.pms-close-btn:hover{background:rgba(231,76,60,.3);}
.pms-frame-wrap{flex:1;overflow:hidden;}
.pms-frame-wrap iframe{width:100%;height:100%;border:none;}

/* ── ANIMATIONS ── */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
.reveal{opacity:0;transform:translateY(30px);transition:all .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ══════════════════════════
   RESPONSIVE MEDIA QUERIES
══════════════════════════ */
@media(max-width:1200px){
  .hero-content{gap:40px;}
  .hero-visual{flex:0 0 360px;max-width:360px;}
  .hero-card{padding:22px;}
  .about-grid{gap:50px;}
}
@media(max-width:1024px){
  .hero-content{flex-direction:column;justify-content:center;gap:40px;padding-top:100px;padding-bottom:60px;}
  .hero-left{width:100%;max-width:100%;padding-top:0;padding-bottom:0;}
  .hero-visual{flex:0 0 auto;width:100%;max-width:520px;margin:0 auto;}
  .hero-desc{max-width:100%;}
  .about-grid,.memb-grid,.contact-grid{grid-template-columns:1fr;gap:40px;}
  .vmo-grid,.services-grid,.prop-grid,.news-grid{grid-template-columns:1fr 1fr;}
  .uni-grid{grid-template-columns:repeat(3,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .prop-header{flex-direction:column;align-items:center;gap:20px;}
  .stats-inner{grid-template-columns:repeat(2,1fr);}
  .hero-stats{gap:28px;}
  .board-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:768px){
  nav{padding:0 4%;}
  .nav-links,.nav-staff,.nav-cta{display:none;}
  .hamburger{display:flex;}
  section{padding:60px 4%;}
  #hero{padding:0;}
  .hero-content{min-height:100vh;padding:90px 4% 50px;align-items:flex-start;}
  .hero-visual{display:none;}
  .hero-title{font-size:clamp(2rem,8vw,2.8rem);}
  .hero-desc{font-size:.95rem;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn-primary,.hero-actions .btn-outline{justify-content:center;}
  .hero-stats{flex-wrap:wrap;gap:20px;}
  .hero-stats .stat-item{min-width:calc(50% - 10px);}
  .hero-dl-strip{gap:8px;}
  .hero-dl-chip{font-size:.7rem;padding:5px 10px;}
  .vmo-grid,.services-grid,.prop-grid,.news-grid{grid-template-columns:1fr;}
  .uni-grid{grid-template-columns:repeat(2,1fr);}
  .dl-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center;}
  .about-values{grid-template-columns:1fr;}
  .form-row,.cf-row{grid-template-columns:1fr;}
  .portal-box{border-radius:14px;}
  .portal-header,.portal-body{padding-left:20px;padding-right:20px;}
  .dl-tab{padding:7px 14px;font-size:.76rem;}
  .dl-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;max-width:1300px;margin:0 auto 40px;}
  .dl-card-v2{border-radius:10px;}
  .dl-card-inner{padding:16px 16px 14px;}
  .dl-name-v2{font-size:.92rem;}
  .stats-inner{grid-template-columns:1fr 1fr;}
  .section-title{font-size:clamp(1.6rem,5vw,2.2rem);}
  .hero-ticker{flex-direction:column;gap:6px;align-items:flex-start;}
  .ticker-label{border-right:none;border-bottom:1px solid rgba(201,168,76,.2);padding-right:0;padding-bottom:4px;width:100%;}
  .board-grid{grid-template-columns:repeat(2,1fr);}
  .board-chair-row{grid-template-columns:1fr;}
}
@media(max-width:480px){
  section{padding:50px 4%;}
  .hero-title{font-size:2rem;}
  .hero-stats .stat-item{min-width:calc(50% - 10px);}
  .uni-grid{grid-template-columns:1fr 1fr;}
  .dl-grid{grid-template-columns:1fr;}
  .dl-actions{flex-direction:column;}
  .dl-btn-v2{justify-content:center;width:100%;}
  .hero-cert{font-size:.65rem;}
  .vmo-card{padding:30px 24px;}
  .form-preview-box{width:95%;border-radius:12px;}
  .fpb-header,.fpb-body{padding:16px 18px;}
  .board-grid{grid-template-columns:1fr 1fr;}
  .board-chair-row{grid-template-columns:1fr;}
  #board{padding-bottom:120px;}
}
/* ── DOWNLOAD CARDS V2 ── */
.dl-tab{padding:9px 22px;border-radius:100px;border:1.5px solid rgba(13,27,42,.15);background:transparent;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--navy);cursor:pointer;transition:all .2s;}
.dl-tab.active,.dl-tab:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.dl-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;max-width:1300px;margin:0 auto 40px;}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;}
.dl-card-v2{background:var(--white);border-radius:14px;border:1px solid rgba(13,27,42,.1);box-shadow:0 4px 20px rgba(13,27,42,.06);overflow:hidden;transition:transform .25s,box-shadow .25s;}
.dl-card-v2:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(13,27,42,.12);}
.dl-card-v2.hidden{display:none;}
.dl-card-accent{height:4px;width:100%;}
.dl-card-accent.membership{background:linear-gradient(90deg,#1c6b31,#5aaa6e);}
.dl-card-accent.finance{background:linear-gradient(90deg,#1e5799,#3498db);}
.dl-card-accent.shares{background:linear-gradient(90deg,var(--gold),#f0c040);}
.dl-card-accent.reports{background:linear-gradient(90deg,#6c3483,#a569bd);}
.dl-card-inner{padding:20px 22px 18px;display:flex;flex-direction:column;gap:12px;}
.dl-file-icon{width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.dl-file-icon.pdf{background:#fdecea;color:#c0392b;}
.dl-file-icon.doc{background:#e8f0fe;color:#1565c0;}
.dl-file-icon.locked{background:#f3e5f5;color:#6c3483;}
.dl-cat-label{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);font-weight:700;margin-bottom:2px;}
.dl-name-v2{font-family:"Playfair Display",serif;font-size:.97rem;font-weight:700;color:var(--navy);line-height:1.3;}
.dl-meta-v2{display:flex;gap:12px;flex-wrap:wrap;}
.dl-meta-v2 span{font-size:.71rem;color:var(--text-light);display:flex;align-items:center;gap:4px;}
.dl-desc{font-size:.8rem;color:var(--text-light);line-height:1.6;margin:0;}
.dl-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px;}
.dl-btn-v2{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:7px;font-size:.8rem;font-weight:700;cursor:pointer;text-decoration:none;border:none;font-family:inherit;transition:all .2s;white-space:nowrap;letter-spacing:.03em;}
.dl-btn-v2.primary{background:var(--navy);color:var(--white);}
.dl-btn-v2.primary:hover{background:var(--gold);color:var(--navy);}
.dl-btn-v2.outline{background:transparent;color:var(--navy);border:1.5px solid rgba(13,27,42,.2);}
.dl-btn-v2.outline:hover{border-color:var(--gold-dark);color:var(--gold-dark);}

/* ── BOARD OF DIRECTORS ── */
#board{background:linear-gradient(160deg,var(--forest) 0%,var(--moss) 100%);padding:100px 5%;}
.board-intro{max-width:1300px;margin:0 auto 60px;}
.board-chair-row{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1300px;margin:0 auto 24px;}
.board-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1300px;margin:0 auto;}
.board-card{background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.12);border-radius:14px;overflow:hidden;transition:all .3s;position:relative;text-align:center;}
.board-card:hover{transform:translateY(-5px);border-color:rgba(201,168,76,.4);box-shadow:0 16px 40px rgba(0,0,0,.25);}
.board-card.featured{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.05);}
.board-card-top{height:5px;width:100%;}
.board-card-top.chair{background:linear-gradient(90deg,var(--gold),var(--gold-light));}
.board-card-top.vice{background:linear-gradient(90deg,#c0a030,var(--gold));}
.board-card-top.member{background:linear-gradient(90deg,rgba(201,168,76,.4),rgba(201,168,76,.2));}
.board-avatar{width:88px;height:88px;border-radius:50%;margin:24px auto 16px;display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-size:1.6rem;font-weight:700;color:var(--navy);background:linear-gradient(135deg,var(--gold),var(--gold-light));border:3px solid rgba(201,168,76,.3);flex-shrink:0;}
.board-card.featured .board-avatar{width:100px;height:100px;font-size:1.8rem;}
/* Board photo images */
.board-card img{display:block;width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:top center;border:3px solid rgba(201,168,76,.35);margin:20px auto 0;}
.board-card.featured img{width:104px;height:104px;border-color:rgba(201,168,76,.55);}
.board-role-badge{display:inline-block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:4px 12px;border-radius:100px;margin-bottom:10px;}
.role-chair{background:rgba(201,168,76,.2);color:var(--gold-light);}
.role-vice{background:rgba(201,168,76,.12);color:rgba(201,168,76,.8);}
.role-treasurer{background:rgba(45,106,79,.2);color:#7dd4a0;}
.role-secretary{background:rgba(30,87,153,.2);color:#90b8e8;}
.role-supervisory{background:rgba(108,52,131,.2);color:#c9a0dc;}
.role-member{background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);}
.board-name{font-family:"Playfair Display",serif;font-size:.97rem;color:var(--white);font-weight:700;line-height:1.3;padding:0 16px;}
.board-card.featured .board-name{font-size:1.05rem;}
.board-title{font-size:.75rem;color:rgba(255,255,255,.45);padding:6px 16px 22px;line-height:1.5;}
.board-divider{height:1px;background:rgba(201,168,76,.1);margin:0 20px;}
.board-contact{padding:12px 16px;font-size:.72rem;color:rgba(201,168,76,.6);display:flex;align-items:center;justify-content:center;gap:6px;}
.board-contact i{font-size:.65rem;}

/* ── FORM PREVIEW MODAL ── */
.form-preview-overlay{display:none;position:fixed;inset:0;background:rgba(10,35,58,.7);backdrop-filter:blur(6px);z-index:9000;align-items:center;justify-content:center;}
.form-preview-overlay.open{display:flex;}
.form-preview-box{background:white;border-radius:16px;width:90%;max-width:680px;max-height:88vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,.3);animation:modalIn .3s ease;}
@keyframes modalIn{from{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.fpb-header{padding:20px 24px 16px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:white;z-index:10;}
.fpb-header h3{font-family:"Playfair Display",serif;font-size:1.1rem;color:var(--navy);}
.fpb-close{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;}
.fpb-body{padding:24px;}
.form-preview-table{width:100%;border-collapse:collapse;font-size:.84rem;}
.form-preview-table th{background:var(--navy);color:white;padding:9px 14px;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;}
.form-preview-table td{padding:10px 14px;border-bottom:1px solid #eee;vertical-align:top;}
.form-preview-table tr:nth-child(even) td{background:#f9f9f9;}
.fpb-field{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid #f0f0f0;}
.fpb-field:last-child{border-bottom:none;}
.fpb-field-label{font-size:.72rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;}
.fpb-field-line{height:1px;background:#ddd;margin-top:8px;}

/* ── ONLINE vs PHYSICAL MODE BANNER ── */
.dl-mode-banner{display:flex;gap:0;flex-wrap:wrap;max-width:760px;margin:0 auto 36px;border-radius:14px;overflow:hidden;border:1px solid rgba(13,27,42,.1);box-shadow:0 4px 20px rgba(13,27,42,.06);}
.dl-mode-card{flex:1 1 260px;padding:22px 24px;background:var(--white);display:flex;gap:14px;align-items:flex-start;}
.dl-mode-card+.dl-mode-card{border-left:1px solid rgba(13,27,42,.08);}
.dl-mode-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;}
.dl-mode-icon.online{background:#e8f5eb;color:#1c6b31;}
.dl-mode-icon.physical{background:#fdf3e0;color:var(--gold-dark);}
.dl-mode-title{font-family:"Playfair Display",serif;font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:4px;}
.dl-mode-text{font-size:.78rem;color:var(--text-light);line-height:1.55;}

/* Brochure accent */
.dl-card-accent.brochure{background:linear-gradient(90deg,#0e7c7b,#3aafae);}
.dl-file-icon.brochure{background:#e0f5f4;color:#0e7c7b;}

/* "Apply Online" pill on eligible cards */
.dl-online-flag{display:inline-flex;align-items:center;gap:5px;background:#e8f5eb;color:#1c6b31;font-size:.66rem;font-weight:700;letter-spacing:.04em;padding:3px 10px;border-radius:100px;margin-left:8px;vertical-align:middle;}
.dl-online-flag i{font-size:.55rem;}
.dl-btn-v2.online{background:#1c6b31;color:var(--white);}
.dl-btn-v2.online:hover{background:#155224;}

/* ── ONLINE APPLICATION WIZARD MODAL ── */
.app-overlay{display:none;position:fixed;inset:0;background:rgba(10,35,58,.72);backdrop-filter:blur(6px);z-index:9100;align-items:center;justify-content:center;padding:20px;}
.app-overlay.open{display:flex;}
.app-box{background:var(--cream);border-radius:18px;width:100%;max-width:780px;max-height:92vh;overflow-y:auto;box-shadow:0 28px 90px rgba(0,0,0,.35);animation:modalIn .3s ease;}
.app-header{padding:24px 28px 18px;border-bottom:1px solid rgba(13,27,42,.08);display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:0;background:var(--cream);z-index:10;}
.app-header h3{font-family:"Playfair Display",serif;font-size:1.25rem;color:var(--navy);margin-bottom:4px;}
.app-header p{font-size:.78rem;color:var(--text-light);}
.app-close{width:34px;height:34px;border:none;background:rgba(13,27,42,.06);border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--navy);}
.app-close:hover{background:rgba(13,27,42,.12);}

/* Step progress */
.app-steps{display:flex;gap:6px;padding:18px 28px 0;}
.app-step-dot{flex:1;height:5px;border-radius:4px;background:rgba(13,27,42,.1);transition:background .25s;}
.app-step-dot.done,.app-step-dot.active{background:var(--gold);}
.app-step-label{padding:10px 28px 0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);font-weight:700;}

.app-body{padding:20px 28px 8px;}
.app-fieldset{display:none;}
.app-fieldset.active{display:block;animation:fadeInUp .3s ease;}
.app-fieldset-title{font-family:"Playfair Display",serif;font-size:1.02rem;color:var(--navy);margin-bottom:4px;}
.app-fieldset-sub{font-size:.8rem;color:var(--text-light);margin-bottom:18px;line-height:1.6;}
.app-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.app-row.single{grid-template-columns:1fr;}
.app-fgroup{display:flex;flex-direction:column;gap:6px;}
.app-fgroup label{font-size:.74rem;font-weight:600;letter-spacing:.04em;color:var(--navy);}
.app-fgroup label span{color:#c0392b;margin-left:2px;}
.app-fgroup input,.app-fgroup select,.app-fgroup textarea{width:100%;border:1.5px solid rgba(13,27,42,.15);border-radius:8px;padding:10px 13px;font-size:.86rem;font-family:"DM Sans",sans-serif;color:var(--navy);outline:none;background:var(--white);transition:border-color .2s,box-shadow .2s;}
.app-fgroup input:focus,.app-fgroup select:focus,.app-fgroup textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.15);}
.app-fgroup textarea{resize:vertical;min-height:70px;}
.app-hint{font-size:.7rem;color:var(--text-light);margin-top:2px;}

/* Guarantor / next-of-kin repeating block */
.app-repeat-block{background:rgba(13,27,42,.03);border:1px solid rgba(13,27,42,.08);border-radius:10px;padding:16px;margin-bottom:12px;position:relative;}
.app-repeat-num{position:absolute;top:-10px;left:14px;background:var(--gold);color:var(--navy);font-size:.68rem;font-weight:700;padding:2px 10px;border-radius:100px;}

/* Declaration / review */
.app-declaration{background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.25);border-radius:10px;padding:16px 18px;font-size:.8rem;color:#444;line-height:1.65;margin-bottom:16px;}
.app-checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:.82rem;color:var(--navy);line-height:1.5;}
.app-checkbox-row input{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:var(--gold);}
.app-review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;margin-bottom:16px;}
.app-review-item{font-size:.82rem;border-bottom:1px solid rgba(13,27,42,.07);padding-bottom:6px;}
.app-review-item .lbl{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-light);margin-bottom:2px;}
.app-review-item .val{font-weight:600;color:var(--navy);}

/* Footer nav */
.app-footer{padding:18px 28px 26px;display:flex;justify-content:space-between;gap:12px;position:sticky;bottom:0;background:var(--cream);border-top:1px solid rgba(13,27,42,.06);}
.app-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:all .2s;letter-spacing:.03em;}
.app-btn.back{background:transparent;color:var(--navy);border:1.5px solid rgba(13,27,42,.18);}
.app-btn.back:hover{border-color:var(--gold-dark);color:var(--gold-dark);}
.app-btn.next{background:var(--navy);color:var(--white);}
.app-btn.next:hover{background:var(--gold);color:var(--navy);}
.app-btn.submit{background:#1c6b31;color:var(--white);}
.app-btn.submit:hover{background:#15522d;}
.app-btn:disabled{opacity:.45;cursor:not-allowed;}

/* Success state */
.app-success{display:none;text-align:center;padding:50px 30px;}
.app-success.show{display:block;}
.app-success-icon{width:72px;height:72px;border-radius:50%;background:#e8f5eb;color:#1c6b31;display:flex;align-items:center;justify-content:center;font-size:1.9rem;margin:0 auto 20px;}
.app-success h3{font-family:"Playfair Display",serif;color:var(--navy);font-size:1.3rem;margin-bottom:10px;}
.app-success p{font-size:.88rem;color:var(--text-light);max-width:440px;margin:0 auto 18px;line-height:1.7;}
.app-ref{display:inline-block;background:rgba(201,168,76,.12);border:1px dashed var(--gold);border-radius:8px;padding:10px 22px;font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:700;color:var(--gold-dark);letter-spacing:.04em;margin-bottom:18px;}

@media(max-width:640px){
  .app-row{grid-template-columns:1fr;}
  .app-review-grid{grid-template-columns:1fr;}
  .app-footer{flex-direction:column-reverse;}
  .app-btn{width:100%;justify-content:center;}
  .dl-mode-card+.dl-mode-card{border-left:none;border-top:1px solid rgba(13,27,42,.08);}
}

/* ── NAV DROPDOWN ── */
.nav-links .has-dropdown{position:relative;}
.nav-dropdown{display:none;position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);background:rgba(27,67,50,.98);border:1px solid rgba(212,168,67,.2);border-radius:10px;min-width:180px;padding:8px 0;z-index:200;box-shadow:0 16px 40px rgba(0,0,0,.35);backdrop-filter:blur(12px);}
.nav-dropdown::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid rgba(212,168,67,.25);}
.has-dropdown:hover .nav-dropdown{display:block;}
.nav-dropdown a{display:block;padding:10px 20px;color:rgba(255,255,255,.75);font-size:.83rem;text-decoration:none;transition:all .2s;white-space:nowrap;border-bottom:none !important;}
.nav-dropdown a:hover{color:var(--gold-light);background:rgba(212,168,67,.08);padding-left:26px;}
.has-dropdown > a::after{content:none !important;}
.has-dropdown > a .chevron{display:inline-block;margin-left:4px;font-size:.65rem;transition:transform .2s;}
.has-dropdown:hover > a .chevron{transform:rotate(180deg);}

/* ── GALLERY ── */
#gallery{background:var(--forest);}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:6px;max-width:1300px;margin:0 auto;}
.gallery-item{position:relative;overflow:hidden;border-radius:8px;cursor:pointer;}
.gallery-item.wide{grid-column:span 2;}
.gallery-item.tall{grid-row:span 2;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(27,67,50,.85) 0%,transparent 60%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:18px;}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-caption{color:var(--white);font-size:.8rem;font-weight:600;letter-spacing:.04em;}
.gallery-caption span{display:block;color:var(--gold-light);font-size:.7rem;font-weight:400;margin-top:2px;}
.gallery-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.04);border:1.5px dashed rgba(212,168,67,.2);border-radius:8px;color:rgba(255,255,255,.25);font-size:.78rem;text-align:center;padding:16px;}
.gallery-placeholder i{font-size:1.6rem;color:rgba(212,168,67,.25);}
/* Gallery lightbox */
.gallery-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9800;align-items:center;justify-content:center;flex-direction:column;}
.gallery-lightbox.open{display:flex;}
.lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lightbox-close{position:absolute;top:20px;right:24px;background:none;border:none;color:white;font-size:2rem;cursor:pointer;opacity:.6;transition:opacity .2s;}
.lightbox-close:hover{opacity:1;}
.lightbox-caption{margin-top:14px;color:rgba(255,255,255,.6);font-size:.85rem;letter-spacing:.04em;}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:white;font-size:1.4rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.lightbox-nav:hover{background:rgba(201,168,76,.35);}
.lightbox-prev{left:20px;}
.lightbox-next{right:20px;}
@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;}.gallery-item.wide{grid-column:span 2;}.gallery-item.tall{grid-row:span 1;}}.dl-tab{padding:7px 14px;font-size:.76rem;}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px;}}

/* ══════════════════════════════════════════════════════
   ADDITIONAL THEME CSS
   Everything below this line was added when porting the
   static design into the Sumat WordPress theme. The rules
   above this line are kept as close to the original design
   as possible for visual fidelity.
══════════════════════════════════════════════════════ */

/* ── WP core / accessibility basics ── */
.screen-reader-text{position:absolute !important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;word-wrap:normal !important;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:99999;background:var(--forest);color:var(--white);padding:12px 20px;border-radius:0 0 6px 0;}
.skip-link:focus{left:0;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px;}
.alignleft{float:left;margin:0 20px 12px 0;}
.alignright{float:right;margin:0 0 12px 20px;}
.aligncenter{display:block;margin:0 auto 12px;}
section img{max-width:100%;height:auto;}

/* ── Empty-state placeholders for CPT loops ── */
.smcs-empty-state{max-width:1300px;margin:0 auto;text-align:center;padding:40px 20px;color:var(--text-light);font-size:.92rem;border:1.5px dashed rgba(201,168,76,.3);border-radius:12px;}
.smcs-empty-state i{display:block;font-size:1.8rem;color:var(--gold);margin-bottom:10px;}
#vmo .smcs-empty-state,#board .smcs-empty-state,#gallery .smcs-empty-state{color:rgba(255,255,255,.5);border-color:rgba(212,168,67,.25);}

/* ── HERO: Slider Revolution wrapper ── */
.hero-revslider-wrap{position:absolute;inset:0;z-index:1;}
.hero-revslider-wrap .rev_slider_wrapper,.hero-revslider-wrap .rev_slider{height:100% !important;}
/* When a Revolution Slider is active we hide the built-in fallback slider mechanics
   but keep particles + the static content overlay (badge/title/CTAs/card). */
.has-revslider .slider-track,.has-revslider .slider-dots,.has-revslider .slider-arrow,.has-revslider .slider-counter{display:none;}

/* ── DOWNLOADS: additional file-icon variants for real uploaded mime types ── */
.dl-file-icon.image{background:#eef7ee;color:#2d6a4f;}
.dl-file-icon.sheet{background:#e6f4ea;color:#1e7e34;}
.dl-file-icon.generic{background:#eef0f2;color:#546e7a;}
.dl-card-accent.generic{background:linear-gradient(90deg,#546e7a,#90a4ae);}
.dl-meta-v2 .dl-filesize{opacity:.8;}
.dl-actions .dl-btn-v2.upload{background:transparent;color:var(--gold-dark);border:1.5px dashed rgba(181,135,42,.5);}
.dl-actions .dl-btn-v2.upload:hover{background:rgba(181,135,42,.08);border-style:solid;}

/* ── UPLOAD COMPLETED FORM MODAL (mirrors .app-overlay) ── */
.upload-overlay{display:none;position:fixed;inset:0;background:rgba(10,35,58,.72);backdrop-filter:blur(6px);z-index:9100;align-items:center;justify-content:center;padding:20px;}
.upload-overlay.open{display:flex;}
.upload-box{background:var(--cream);border-radius:18px;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;box-shadow:0 28px 90px rgba(0,0,0,.35);animation:modalIn .3s ease;}
.upload-header{padding:24px 28px 18px;border-bottom:1px solid rgba(13,27,42,.08);display:flex;justify-content:space-between;align-items:flex-start;}
.upload-header h3{font-family:"Playfair Display",serif;font-size:1.2rem;color:var(--navy);margin-bottom:4px;}
.upload-header p{font-size:.8rem;color:var(--text-light);}
.upload-close{width:34px;height:34px;border:none;background:rgba(13,27,42,.06);border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--navy);}
.upload-close:hover{background:rgba(13,27,42,.12);}
.upload-body{padding:22px 28px 8px;}
.upload-dropzone{border:1.5px dashed rgba(13,27,42,.2);border-radius:10px;padding:30px 18px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:rgba(13,27,42,.02);}
.upload-dropzone:hover,.upload-dropzone.dragover{border-color:var(--gold);background:rgba(201,168,76,.06);}
.upload-dropzone i{font-size:1.7rem;color:var(--gold-dark);display:block;margin-bottom:8px;}
.upload-dropzone .fname{font-weight:700;color:var(--navy);font-size:.85rem;margin-top:6px;}
.upload-hint{font-size:.72rem;color:var(--text-light);margin-top:8px;}
.upload-footer{padding:18px 28px 26px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid rgba(13,27,42,.06);}
.upload-error-box{display:none;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.25);color:#a8332a;border-radius:8px;padding:10px 14px;font-size:.8rem;margin-bottom:14px;}
.upload-error-box.show{display:block;}
.upload-success{display:none;text-align:center;padding:40px 28px;}
.upload-success.show{display:block;}

/* ── Honeypot field (anti-spam) — visually hidden but present for bots to fill ── */
.smcs-hp-field{position:absolute !important;left:-9999px !important;top:-9999px !important;width:1px;height:1px;overflow:hidden;opacity:0;}

/* ── Inline loading / submit spinner ── */
.smcs-spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:smcsSpin .7s linear infinite;margin-right:6px;vertical-align:-2px;}
@keyframes smcsSpin{to{transform:rotate(360deg);}}
.app-btn:disabled .smcs-spinner,.upload-footer .smcs-spinner{border-color:rgba(13,27,42,.25);border-top-color:var(--navy);}

@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}

/* ── Contact Form 7 styling — reuses the original .cf-group / .cf-row look ── */
.wpcf7-form .cf-group{margin-bottom:18px;}
.wpcf7-form .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.wpcf7-form p{margin:0;}
.wpcf7 form .wpcf7-response-output{margin:18px 0 0;border-radius:8px;padding:14px 16px;font-size:.87rem;border-width:1.5px;}
.wpcf7-form.sent .wpcf7-response-output{background:rgba(45,106,79,.1);border-color:rgba(45,106,79,.3);color:var(--green);font-weight:600;}
.wpcf7-form.invalid .wpcf7-response-output,.wpcf7-form.unaccepted .wpcf7-response-output,.wpcf7-form.payment-required .wpcf7-response-output{background:rgba(192,57,43,.08);border-color:rgba(192,57,43,.3);color:#a8332a;}
.wpcf7-form.failed .wpcf7-response-output,.wpcf7-form.aborted .wpcf7-response-output,.wpcf7-form.spam .wpcf7-response-output{background:rgba(192,57,43,.08);border-color:rgba(192,57,43,.3);color:#a8332a;}
.wpcf7-not-valid-tip{color:#c0392b;font-size:.76rem;margin-top:5px;display:block;}
.wpcf7-form-control.wpcf7-not-valid{border-color:#c0392b !important;}
.wpcf7 .ajax-loader{display:inline-block;margin-left:10px;vertical-align:middle;}

/* ── Gallery plugin container ── */
.gallery-plugin-wrap{max-width:1300px;margin:0 auto;}
.gallery-plugin-wrap .foogallery{margin:0 auto;}

/* ── News: extra tag colour for any category beyond the original three ── */
.tag-default{background:rgba(116,198,157,.18);color:var(--fern);}

/* ── Footer widget areas ── */
.footer-col .widget{margin-bottom:0;}
.footer-col .widget-title,.footer-col h2.widgettitle{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:20px;}
.footer-col .widget ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0;}
.footer-col .widget ul li{margin:0;}
.footer-col .widget a{color:rgba(255,255,255,.5);text-decoration:none;font-size:.87rem;transition:color .2s;}
.footer-col .widget a:hover{color:var(--gold);}
.footer-col .widget_text p{font-size:.87rem;line-height:1.8;color:rgba(255,255,255,.6);}
.footer-brand .widget_text p:last-child{margin-bottom:0;}
@media(max-width:980px){.footer-top{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.footer-top{grid-template-columns:1fr;}.footer-bottom{flex-direction:column;gap:8px;text-align:center;}}

/* ── Admin bar offset so the fixed nav isn't covered ── */
.admin-bar nav{top:32px;}
@media(max-width:782px){.admin-bar nav{top:46px;}}

/* ══════════════════════════════════════════════════════════
   MOBILE FIXES — appended to assets/css/main.css
   Targets hero section and board section display issues.
══════════════════════════════════════════════════════════ */

/* ── HERO: Prevent stat strip from over-squishing ─────── */
@media (max-width:768px) {
  .hero-stats {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px 12px;
    margin-top:28px;
    padding-top:20px;
  }
  .hero-stats .stat-item {
    min-width:0; /* override the inline min-width that fights the grid */
  }
  .stat-item .num {
    font-size:1.5rem; /* was 1.9rem — too large at 375px */
  }

  /* ── HERO: Download chips wrap gracefully ────────────── */
  .hero-dl-strip {
    gap:7px;
  }
  .hero-dl-chip {
    font-size:.68rem;
    padding:5px 9px;
    /* prevent any single chip from forcing a full-width row */
    flex-shrink:1;
    white-space:nowrap;
  }

  /* ── HERO: Badge text doesn't overflow narrow screens ── */
  .hero-badge {
    font-size:.65rem;
    padding:6px 12px;
    white-space:normal;
    text-align:center;
    max-width:100%;
  }

  /* ── HERO: Description comfortable line-length ────────── */
  .hero-desc {
    font-size:.9rem;
    line-height:1.75;
  }
}

/* ── BOARD: Chair row stacks cleanly on all mobiles ────── */
@media (max-width:1024px) {
  .board-chair-row {
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:640px) {
  .board-chair-row {
    grid-template-columns:1fr;
    max-width:380px;
    margin-left:auto;
    margin-right:auto;
  }
}

/* ── BOARD: Consistent avatar sizing on small screens ───── */
@media (max-width:768px) {
  .board-avatar {
    width:72px;
    height:72px;
    font-size:1.3rem;
    margin:18px auto 12px;
  }
  .board-card.featured .board-avatar {
    width:80px;
    height:80px;
    font-size:1.45rem;
  }
  /* Photo images follow the same sizing */
  .board-card img {
    width:72px;
    height:72px;
    margin:16px auto 0;
  }
  .board-card.featured img {
    width:80px;
    height:80px;
  }

  /* ── BOARD: Prevent long contact labels from overflowing */
  .board-contact {
    font-size:.68rem;
    padding:10px 12px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:100%;
  }

  /* ── BOARD: Name text wraps without breaking card width */
  .board-name {
    font-size:.9rem;
    padding:0 12px;
    word-break:break-word;
  }
  .board-title {
    font-size:.7rem;
    padding:4px 12px 16px;
  }
  .board-role-badge {
    font-size:.55rem;
    padding:3px 9px;
  }
}

/* ── BOARD: 4-col grid → 2-col at 1024px, confirmed ─────
   (the existing rule at 1024px targets .board-grid but
   the chair row was missing — covered above).           */
@media (max-width:480px) {
  /* On very small phones keep grid at 2 cols but shrink card padding */
  .board-grid {
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
  .board-card {
    /* Cards are narrow at 2-col on 375px — reduce inner breathing room */
    border-radius:10px;
  }
  .board-avatar {
    width:60px;
    height:60px;
    font-size:1.1rem;
    margin:14px auto 10px;
  }
  .board-card.featured .board-avatar {
    width:68px;
    height:68px;
  }
  .board-card img {
    width:60px;
    height:60px;
    margin:12px auto 0;
  }
  .board-card.featured img {
    width:68px;
    height:68px;
  }
  .board-name {
    font-size:.82rem;
    padding:0 8px;
  }
  .board-title {
    font-size:.65rem;
    padding:4px 8px 14px;
  }
  .board-contact {
    font-size:.63rem;
    padding:8px;
  }

  /* Section padding reduced — #board has a large bottom already */
  #board {
    padding:60px 4% 80px;
  }
}

/* ══════════════════════════════════════════════════════════
   HERO OVERFLOW FIX
   Fixes the hero content spilling below the slider background
   on mobile, and restores legibility of buttons + stats.
══════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

  /* 1. Make #hero auto-size to its content instead of capping
        at 100vh, so the slide background always covers the
        full hero-left column no matter how tall it grows.    */
  #hero {
    min-height: 100vh;
    height: auto;
  }

  /* 2. The slider-track slides must match the hero height,
        not just the viewport height. position:absolute + inset:0
        already does this IF the parent has a known height —
        switching to min-height:100% makes it follow the content. */
  .slider-track,
  .slide,
  .slide-bg {
    min-height: 100%;
  }
  .slide-bg {
    /* Keep the cover + Ken Burns, but ensure it fills a tall hero */
    position: absolute;
    inset: 0;
    height: 100%;
  }

  /* 3. The hero overlay gradient (slide::after) also needs to
        cover the full height, not just the viewport portion.  */
  .slide::after {
    min-height: 100%;
  }

  /* 4. hero-content column: remove the min-height:100vh that
        was inherited — the section height now drives it.      */
  .hero-content {
    min-height: unset;
    padding-top: 100px;
    padding-bottom: 60px;
    align-items: flex-start;
  }

  /* 5. "Become a Member" and "Get Forms" outline buttons —
        make the border and text solid white so they stay
        legible both on the dark image AND on any lighter area. */
  .hero-actions .btn-outline {
    border-color: rgba(255, 255, 255, 0.75);
    color: #ffffff;
    background: rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  .hero-actions .btn-outline:hover,
  .hero-actions .btn-outline:focus {
    border-color: var(--gold-light);
    color: var(--gold-light);
    background: rgba(0, 0, 0, 0.35);
  }

  /* 6. Stats strip — force white text + gold numbers so they
        read on both the dark slide and any overflow area.     */
  .hero-stats {
    /* Add a subtle dark gradient behind the stats strip so
       numbers are always legible regardless of slide colour. */
    background: linear-gradient(
      to bottom,
      rgba(27, 67, 50, 0) 0%,
      rgba(27, 67, 50, 0.55) 30%,
      rgba(27, 67, 50, 0.7) 100%
    );
    border-radius: 10px;
    padding: 16px 12px 18px;
    margin-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
  .stat-item .num {
    color: var(--gold-light);
    text-shadow: 0 1px 6px rgba(0,0,0,0.5);
  }
  .stat-item .lbl {
    color: rgba(255, 255, 255, 0.75);
    text-shadow: 0 1px 4px rgba(0,0,0,0.4);
  }

  /* 7. Download chips — keep them readable on any background  */
  .hero-dl-chip {
    background: rgba(27, 67, 50, 0.65);
    border-color: rgba(212, 168, 67, 0.45);
    color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  /* 8. Ensure the "View Properties" primary button fills full
        width cleanly on narrow screens (it already does via
        flex-direction:column on .hero-actions, but clamp it). */
  .hero-actions {
    width: 100%;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-outline {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
  }

  /* 9. Slider prev/next arrows — hide the left arrow since it
        was clipping into the title text (visible in screenshot) */
  .slider-prev {
    display: none;
  }
  .slider-next {
    right: 12px;
    top: 42%;
  }
}

@media (max-width: 480px) {
  /* Extra bottom padding so the stats don't crowd the section edge */
  .hero-content {
    padding-bottom: 80px;
  }
  /* Slightly darker scrim on very small screens for readability */
  .hero-stats {
    background: linear-gradient(
      to bottom,
      rgba(27, 67, 50, 0.1) 0%,
      rgba(27, 67, 50, 0.7) 40%,
      rgba(27, 67, 50, 0.85) 100%
    );
  }
}
