/* === from index.html === */
:root {
  --teal-900:#04342C;--teal-800:#085041;--teal-700:#0F6E56;--teal-600:#1D9E75;
  --teal-400:#5DCAA5;--teal-200:#9FE1CB;--teal-50:#E1F5EE;
  --green-700:#3B6D11;--green-600:#639922;--green-50:#EAF3DE;--green-100:#C0DD97;
  --slate-900:#111B17;--slate-800:#1A2920;--slate-700:#243729;
  --slate-200:#B8CEC0;--slate-100:#D6E5DA;--slate-50:#EDF4EF;
  --amber-600:#BA7517;--amber-400:#EF9F27;--amber-50:#FAEEDA;--amber-100:#FAC775;
  --coral-600:#993C1D;--coral-400:#D85A30;--coral-50:#FAECE7;--coral-100:#F5C4B3;
  --ink:#0A100E;--paper:#FAFCFB;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.7;}
a{color:inherit;text-decoration:none;}

/* NAV */
.site-nav{background:var(--slate-900);border-bottom:3px solid var(--teal-600);padding:0.75rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.nav-brand{display:flex;align-items:center;gap:0.75rem;}
.nav-logo{width:64px;height:64px;display:flex;align-items:center;}
.nav-logo img{width:64px;height:64px;object-fit:contain;}
.nav-name{color:var(--teal-200);font-weight:600;font-size:14px;letter-spacing:0.08em;text-transform:uppercase;}
.nav-name span{color:var(--slate-200);font-weight:300;}
.nav-links{display:flex;gap:2rem;align-items:center;}
.nav-links a{color:var(--slate-200);font-size:13px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;opacity:0.75;transition:opacity 0.15s;}
.nav-links a:hover{opacity:1;color:var(--teal-400);}
.nav-links a.active{color:var(--teal-400);opacity:1;}

/* FOOTER */
.site-footer{background:var(--slate-900);border-top:3px solid var(--teal-600);padding:3rem 2rem;text-align:center;margin-top:6rem;}
.footer-logo{width:48px;height:48px;margin:0 auto 0.75rem;}
.footer-logo img{width:48px;height:48px;object-fit:contain;}
.footer-name{color:var(--teal-400);font-weight:600;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.5rem;}
.footer-tagline{color:var(--slate-200);font-size:12px;opacity:0.55;line-height:2;}
.footer-links{display:flex;justify-content:center;gap:2rem;margin:1.25rem 0;flex-wrap:wrap;}
.footer-links a{color:var(--teal-400);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;opacity:0.6;}
.footer-links a:hover{opacity:1;}
.footer-legal{font-size:11px;color:var(--slate-200);opacity:0.35;margin-top:1rem;}

/* UTILITIES */
.container{max-width:960px;margin:0 auto;padding:0 1.5rem;}
.container-wide{max-width:1100px;margin:0 auto;padding:0 1.5rem;}
.section-label{display:inline-flex;align-items:center;gap:0.5rem;font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-700);margin-bottom:0.75rem;}
.section-label::before{content:'';display:block;width:20px;height:2px;background:var(--teal-600);}

/* === from index.html === */
.hero{background:var(--slate-900);padding:6rem 2rem 5rem;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(29,158,117,0.15) 0%,transparent 70%);pointer-events:none;}
.hero-kicker{display:inline-block;background:rgba(29,158,117,0.12);border:1px solid var(--teal-700);color:var(--teal-400);font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;padding:0.35rem 1rem;border-radius:2px;margin-bottom:1.5rem;}
.hero h1{font-family:'DM Serif Display',serif;font-size:clamp(2.4rem,5vw,4rem);color:#fff;line-height:1.15;max-width:700px;margin:0 auto 1.25rem;}
.hero h1 em{color:var(--teal-400);font-style:normal;}
.hero-sub{color:var(--slate-200);font-size:1.1rem;font-weight:300;max-width:560px;margin:0 auto;opacity:0.8;}
.investigations-header{padding:4rem 0 1.5rem;}
.investigations-header h2{font-family:'DM Serif Display',serif;font-size:1.8rem;color:var(--slate-900);}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:1.5rem 0 5rem;}
.article-card{background:#fff;border:1px solid var(--teal-100);border-top:3px solid var(--teal-600);border-radius:4px;padding:1.5rem;transition:border-top-color 0.15s;}
.article-card:hover{border-top-color:var(--teal-400);}
.card-tag{font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-700);margin-bottom:0.75rem;}
.card-title{font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--slate-900);line-height:1.3;margin-bottom:0.75rem;}
.card-excerpt{font-size:0.875rem;color:#4A5E53;line-height:1.6;margin-bottom:1.25rem;}
.card-meta{font-size:11px;color:var(--slate-200);text-transform:uppercase;letter-spacing:0.06em;display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.card-link{display:inline-flex;align-items:center;gap:0.4rem;font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal-700);}
.card-link:hover{color:var(--teal-400);}
.tips-section{background:var(--slate-900);padding:5rem 2rem;}
.tips-inner{max-width:680px;margin:0 auto;text-align:center;}
.tips-inner h2{font-family:'DM Serif Display',serif;font-size:2rem;color:#fff;margin-bottom:1rem;}
.tips-inner p{color:var(--slate-200);font-size:1rem;opacity:0.8;margin-bottom:2rem;max-width:520px;margin-left:auto;margin-right:auto;}
.tip-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;text-align:left;}
.tip-card{background:rgba(29,158,117,0.08);border:1px solid var(--teal-800);border-radius:4px;padding:1.25rem;}
.tip-card h4{color:var(--teal-400);font-size:0.875rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0.5rem;}
.tip-card p{color:var(--slate-200);font-size:0.875rem;opacity:0.8;line-height:1.5;}
.tip-card a{color:var(--teal-400);}

/* === from about.html === */
.page-hero{background:var(--slate-900);padding:5rem 2rem 4rem;}
.page-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4vw,3rem);color:#fff;max-width:680px;line-height:1.2;}
.page-hero p{color:var(--slate-200);font-size:1.1rem;font-weight:300;max-width:560px;margin-top:1rem;opacity:0.8;}
.about-body{padding:5rem 0;}
.about-body h2{font-family:'DM Serif Display',serif;font-size:1.8rem;color:var(--slate-900);margin-bottom:1rem;margin-top:3rem;}
.about-body h2:first-child{margin-top:0;}
.about-body p{font-size:1.05rem;color:#2E3B35;max-width:680px;margin-bottom:1.25rem;line-height:1.75;}
.about-body ul{max-width:680px;padding-left:1.25rem;margin-bottom:1.25rem;}
.about-body ul li{font-size:1rem;color:#2E3B35;margin-bottom:0.5rem;line-height:1.65;}
.principle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:2rem 0 3rem;}
.principle-card{background:var(--teal-50);border-left:3px solid var(--teal-600);padding:1.25rem;border-radius:0 4px 4px 0;}
.principle-card h4{font-weight:600;font-size:0.9rem;color:var(--teal-800);margin-bottom:0.4rem;}
.principle-card p{font-size:0.875rem;color:#2E3B35;line-height:1.55;margin:0;}

/* === from east-palatka-data-center.html === */
.article-hero{background:var(--slate-900);padding:5rem 2rem 4rem;position:relative;overflow:hidden;}
.article-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(29,158,117,0.15) 0%,transparent 70%);pointer-events:none;}
.article-hero .container{position:relative;}
.article-kicker{display:inline-block;background:rgba(29,158,117,0.12);border:1px solid var(--teal-700);color:var(--teal-400);font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;padding:0.35rem 1rem;border-radius:2px;margin-bottom:1.25rem;}
.article-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(2rem,4.5vw,3.4rem);color:#fff;line-height:1.15;max-width:760px;margin-bottom:1.25rem;}
.article-hero h1 em{color:var(--teal-400);font-style:normal;}
.article-hero-sub{color:var(--slate-200);font-size:1.1rem;font-weight:300;max-width:640px;opacity:0.85;margin-bottom:2rem;}
.article-byline{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;font-size:12px;color:var(--slate-200);opacity:0.6;text-transform:uppercase;letter-spacing:0.06em;}
.article-body{padding:4rem 0 2rem;}
.article-content{max-width:700px;}
.article-content h2{font-family:'DM Serif Display',serif;font-size:1.7rem;color:var(--slate-900);margin:3rem 0 1rem;line-height:1.25;}
.article-content p{font-size:1.05rem;color:#2E3B35;margin-bottom:1.25rem;line-height:1.8;}
.article-content .lead{font-size:1.15rem;color:#1A2920;font-weight:400;line-height:1.75;margin-bottom:1.5rem;}
.callout{border-left:3px solid var(--teal-600);background:var(--teal-50);padding:1rem 1.25rem;border-radius:0 4px 4px 0;font-size:0.95rem;color:var(--teal-900);margin:1.5rem 0;}
.callout.warning{border-left-color:var(--amber-600);background:var(--amber-50);color:var(--slate-900);}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:2rem 0;}
.stat-card{background:var(--teal-50);border:1px solid var(--teal-200);border-top:3px solid var(--teal-600);border-radius:4px;padding:1.25rem;text-align:center;}
.stat-card.amber{background:var(--amber-50);border-color:var(--amber-100);border-top-color:var(--amber-600);}
.stat-card.coral{background:var(--coral-50);border-color:var(--coral-100);border-top-color:var(--coral-600);}
.stat-value{font-family:'DM Serif Display',serif;font-size:2.4rem;color:var(--teal-800);line-height:1;margin-bottom:0.35rem;}
.stat-card.amber .stat-value{color:var(--amber-600);}
.stat-card.coral .stat-value{color:var(--coral-600);}
.stat-label{font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal-700);}
.stat-card.amber .stat-label{color:var(--amber-600);}
.stat-card.coral .stat-label{color:var(--coral-600);}
.chart-panel{background:var(--slate-900);border-radius:6px;padding:2rem;border:1px solid var(--teal-900);margin:2rem 0;}
.chart-panel-title{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-400);margin-bottom:1.25rem;text-align:center;}
.metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0;}
.metric-card{background:var(--slate-50);border:1px solid var(--teal-100);border-radius:4px;padding:1.25rem;}
.metric-card h4{font-weight:600;font-size:0.9rem;color:var(--slate-900);margin-bottom:0.4rem;}
.metric-card p{font-size:0.85rem;color:#4A5E53;line-height:1.55;}
.water-split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;margin:2rem 0;}
@media(max-width:680px){.water-split{grid-template-columns:1fr;}}
.water-feature{background:var(--teal-800);border-radius:8px;padding:2.5rem 2rem;text-align:center;color:white;}
.water-number{font-family:'DM Serif Display',serif;font-size:clamp(2.5rem,6vw,4rem);color:var(--teal-200);line-height:1;margin:0.5rem 0;}
.water-unit{font-size:1rem;font-weight:500;color:var(--teal-400);letter-spacing:0.05em;text-transform:uppercase;margin-bottom:0.75rem;}
.water-note{font-size:0.85rem;color:#ffffff !important;opacity:1;max-width:240px;margin:0 auto;}
.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2rem 0;}
@media(max-width:600px){.balance-grid{grid-template-columns:1fr;}}
.balance-card{border-radius:6px;padding:1.5rem;}
.balance-card.gains{background:var(--green-50);border:1px solid var(--green-100);}
.balance-card.costs{background:var(--coral-50);border:1px solid var(--coral-100);}
.balance-card h3{font-family:'DM Serif Display',serif;font-size:1.2rem;margin-bottom:1rem;}
.balance-card.gains h3{color:var(--green-700);}
.balance-card.costs h3{color:var(--coral-600);}
.balance-list{list-style:none;}
.balance-list li{font-size:0.875rem;color:#2E3B35;padding:0.5rem 0;border-bottom:1px solid rgba(0,0,0,0.06);display:flex;align-items:flex-start;gap:0.5rem;line-height:1.5;}
.balance-list li:last-child{border-bottom:none;}
.balance-list .dot{width:6px;height:6px;border-radius:50%;margin-top:7px;flex-shrink:0;}
.balance-card.gains .dot{background:var(--green-600);}
.balance-card.costs .dot{background:var(--coral-400);}
.back-link{display:inline-flex;align-items:center;gap:0.4rem;font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal-700);margin-bottom:2rem;}
.back-link:hover{color:var(--teal-400);}
.methodology-note{background:var(--slate-50);border:1px solid var(--teal-100);border-radius:4px;padding:1.5rem;margin:3rem 0;font-size:0.9rem;color:#4A5E53;line-height:1.65;}
.methodology-note strong{color:var(--slate-900);font-weight:600;}

/* ── Entity accent overrides ── */
body.entity-group  { --brand-accent: var(--teal-600); }
body.entity-media  { --brand-accent: var(--teal-600); }
body.entity-invest { --brand-accent: var(--amber-600); }
body.entity-tech   { --brand-accent: var(--coral-600); }

/* ── Group home hero ── */
.group-hero { background: var(--slate-900); padding: 6rem 2rem; text-align: center; }
.group-hero h1 { font-family: 'DM Serif Display', serif; color: var(--teal-200); font-size: clamp(2rem,5vw,3.5rem); margin-bottom: 1rem; }
.group-hero p  { color: var(--slate-200); font-size: 1.125rem; max-width: 640px; margin: 0 auto 2.5rem; opacity: 0.8; }

/* ── Entity cards on group home ── */
.entity-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 2rem; max-width: 1100px; margin: 0 auto; padding: 4rem 2rem; }
.entity-card { background: var(--paper); border: 1px solid var(--slate-100); border-radius: 8px; padding: 2rem; display: flex; flex-direction: column; gap: 1rem; }
.entity-card img { width: 96px; height: 96px; object-fit: contain; margin-bottom: 0.75rem; }
.entity-card h2 { font-family: 'DM Serif Display', serif; font-size: 1.4rem; color: var(--slate-900); }
.entity-card p  { color: var(--slate-700); font-size: 0.95rem; line-height: 1.65; flex: 1; }
.entity-card a.card-link { display: inline-block; margin-top: auto; color: var(--teal-600); font-weight: 600; font-size: 0.9rem; letter-spacing: 0.05em; text-transform: uppercase; }
.entity-card a.card-link:hover { color: var(--teal-800); }

/* ── Stub pages ── */
.stub-hero { background: var(--slate-900); padding: 6rem 2rem; text-align: center; }
.stub-hero h1 { font-family: 'DM Serif Display', serif; color: var(--teal-200); font-size: 2.5rem; margin-bottom: 1rem; }
.stub-hero p  { color: var(--slate-200); opacity: 0.7; max-width: 520px; margin: 0 auto; }
.stub-body { max-width: 720px; margin: 4rem auto; padding: 0 2rem; color: var(--slate-700); font-size: 1rem; line-height: 1.7; }