:root{
  --navy:#0f4c81;
  --navy-2:#0a3d68;
  --green:#10c8c4;
  --gold:#98bee0;
  --cream:#f3f3f3;
  --paper:#ffffff;
  --stone:#d2dde7;
  --ink:#3b434a;
  --muted:#677d92;
  --line:rgba(59,67,74,.14);
  --shadow:0 24px 70px rgba(15,76,129,.14);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,var(--cream),#fbf8f1 46%,#f4efe4);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:white;padding:8px 12px;border-radius:10px;z-index:100}.skip:focus{left:8px}
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(22px,5vw,72px);background:rgba(245,239,227,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;min-width:230px}.brand-logo{display:block;width:clamp(230px,28vw,380px);height:auto}.nav nav{display:flex;gap:22px;font-size:.9rem;color:rgba(59,67,74,.78)}.nav nav a:hover{color:var(--navy)}
.section{padding:clamp(64px,9vw,118px) clamp(22px,5vw,72px)}
.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(32px,6vw,80px);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:8% auto auto -15%;width:48vw;height:48vw;background:radial-gradient(circle,rgba(185,154,90,.18),transparent 62%);pointer-events:none}.hero-copy{position:relative;z-index:2}.eyebrow,.section-label{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:.76rem;font-weight:800}.hero h1{font-size:clamp(72px,12vw,156px);line-height:.82;margin:18px 0 0;color:var(--navy);letter-spacing:-.08em}.hero h2{font-size:clamp(28px,4.2vw,56px);line-height:1;margin:10px 0 24px;color:var(--green);letter-spacing:-.045em}.lead{font-size:clamp(1.08rem,1.55vw,1.35rem);max-width:720px;color:#344552}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-weight:800;border:1px solid transparent;transition:.2s ease}.button.primary{background:var(--navy);color:#fff;box-shadow:0 16px 34px rgba(15,76,129,.18)}.button.primary:hover{transform:translateY(-2px);background:var(--green)}.button.ghost{border-color:rgba(59,67,74,.18);background:rgba(255,250,240,.64)}.button.ghost:hover{border-color:var(--gold)}
.hero-visual{position:relative}.hero-visual img{width:100%;height:auto;filter:drop-shadow(0 32px 42px rgba(15,76,129,.18))}.two-col{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,7vw,90px);align-items:start}.two-col h2,.section h2{font-size:clamp(32px,4.5vw,58px);line-height:1.02;letter-spacing:-.05em;margin:12px 0;color:var(--navy)}.rich-copy{font-size:1.12rem;color:#344552}.rich-copy p:first-child{margin-top:0}.problem{background:rgba(255,250,240,.5);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.centered{text-align:center;margin:0 auto}.narrow{max-width:800px}.centered p,.section-head p,.split-card>div>p{color:#53616d;font-size:1.08rem}.cards{display:grid;gap:22px;margin-top:42px}.cards.three{grid-template-columns:repeat(3,1fr)}.card{background:rgba(255,250,240,.82);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 12px 32px rgba(15,76,129,.06)}.card.featured{background:linear-gradient(160deg,var(--navy),var(--green));color:white;transform:translateY(-12px)}.card h3{font-size:1.35rem;margin:18px 0 10px;color:inherit}.card p{color:inherit;opacity:.82}.card-icon{width:54px;height:54px}.card a{display:inline-flex;margin-top:12px;font-weight:800;color:var(--green)}.featured .card-icon{filter:brightness(0) invert(1)}
.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:end;margin-bottom:34px}.grid-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-list div{background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:22px;padding:22px}.grid-list strong{display:block;color:var(--navy);margin-bottom:10px}.grid-list span{display:block;color:#53616d;font-size:.96rem}
.split-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;border-radius:calc(var(--radius) + 10px);padding:clamp(30px,5vw,58px);background:linear-gradient(135deg,var(--navy),#173a3b);color:white;box-shadow:var(--shadow);position:relative;overflow:hidden}.split-card:after{content:"";position:absolute;right:-14%;top:-30%;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(185,154,90,.3),transparent 60%)}.split-card>*{position:relative;z-index:1}.split-card h2{color:white}.split-card p{color:rgba(255,255,255,.78)}.support-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.support-list article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:22px}.support-list h3{margin:0 0 8px;color:#fff}.support-list p{font-size:.95rem;margin:0}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.program-grid article{padding:24px;border-radius:24px;background:rgba(255,250,240,.75);border:1px solid var(--line)}.program-grid span{color:var(--gold);font-weight:900;letter-spacing:.12em}.program-grid h3{margin:14px 0 8px;font-size:1.12rem;color:var(--navy)}.program-grid p{font-size:.95rem;color:#53616d;margin:0}.compact .card{padding:26px}.references{padding-top:18px;padding-bottom:18px}.references details{max-width:1100px;margin:auto;background:rgba(255,250,240,.65);border:1px solid var(--line);border-radius:22px;padding:18px 22px}.references summary{font-weight:900;color:var(--navy);cursor:pointer}.reference-body{color:#53616d}.reference-body a{text-decoration:underline;text-decoration-color:rgba(185,154,90,.5)}
.contact-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;background:var(--paper);border:1px solid var(--line);border-radius:calc(var(--radius) + 10px);padding:clamp(30px,5vw,58px);box-shadow:var(--shadow)}.contact-form{display:grid;gap:14px}.contact-form label{font-size:.86rem;font-weight:800;color:var(--navy)}.contact-form input,.contact-form textarea{width:100%;margin-top:6px;border:1px solid rgba(59,67,74,.18);border-radius:16px;padding:13px 14px;background:white;font:inherit;color:var(--ink)}.hidden{display:none}.footer{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:28px clamp(22px,5vw,72px);border-top:1px solid var(--line);color:#53616d;background:#f2eadc}.footer strong{color:var(--navy)}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer small{font-size:.76rem;color:#7b858d}
.legal-main{max-width:900px;margin:0 auto;padding:70px 22px}.legal-main h1{font-size:clamp(38px,6vw,72px);line-height:1;letter-spacing:-.06em;color:var(--navy)}.legal-main h2{font-size:1.4rem;color:var(--green);margin-top:32px}.legal-main p,.legal-main li{color:#42515d}.legal-main .back{display:inline-flex;margin-bottom:28px;color:var(--green);font-weight:800}.reveal{opacity:0;transform:translateY(18px);animation:rise .7s ease forwards}.delay{animation-delay:.12s}@keyframes rise{to{opacity:1;transform:none}}
@media (max-width:980px){.hero,.two-col,.section-head,.split-card,.contact-panel{grid-template-columns:1fr}.cards.three,.grid-list,.program-grid{grid-template-columns:1fr 1fr}.nav nav{display:none}.hero{min-height:auto}.card.featured{transform:none}}
@media (max-width:640px){.section{padding:58px 18px}.cards.three,.grid-list,.program-grid,.support-list{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}.hero h1{font-size:68px}.brand span{display:none}}

/* Editorial visual upgrade */
.hero-photo{border-radius:38px;overflow:hidden;box-shadow:0 32px 86px rgba(15,76,129,.22);border:1px solid rgba(255,255,255,.62);background:#d9d1c3}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,76,129,.05),rgba(185,154,90,.12));pointer-events:none}.hero-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:none}
.editorial-band,.section-image,.embedded-photo{margin:42px 0 0}.editorial-band img,.section-image img,.embedded-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:30px;border:1px solid rgba(255,255,255,.72);box-shadow:0 24px 62px rgba(15,76,129,.14);background:#d9d1c3}.editorial-band{grid-column:1/-1;margin-top:56px}.editorial-band img{max-height:520px}.section-image{max-width:1160px;margin-left:auto;margin-right:auto}.section-image img{max-height:460px}.embedded-photo{margin-top:28px}.embedded-photo img{border-radius:24px;box-shadow:0 20px 44px rgba(0,0,0,.22);border-color:rgba(255,255,255,.16)}.visual-split{align-items:start}.visual-split .support-list{align-self:stretch}.problem{padding-bottom:clamp(64px,8vw,98px)}
@media (max-width:980px){.editorial-band{margin-top:34px}.hero-photo{border-radius:28px}.section-image img,.editorial-band img,.embedded-photo img{border-radius:22px}}


/* EchoRGI final brand palette update */
.nav{background:rgba(243,243,243,.88)}
.button.primary{background:var(--navy);box-shadow:0 16px 34px rgba(15,76,129,.18)}
.button.primary:hover{background:var(--navy-2)}
.button.ghost{background:rgba(255,255,255,.72)}
.card.featured{background:linear-gradient(160deg,var(--navy),var(--navy-2))}
.split-card{background:linear-gradient(135deg,var(--navy),var(--navy-2))}
.grid-list div,.program-grid article,.card{background:rgba(255,255,255,.72)}
.problem{background:rgba(210,221,231,.28)}
.footer{background:#e9eef3}
@media (max-width:640px){.brand-logo{width:230px}}
