@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Montserrat:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,600;8..60,700&display=swap');

:root{
  --display:"Source Serif Pro","Source Serif 4",Georgia,serif;
  --text:Inter,"Segoe UI",Arial,sans-serif;
  --slogan:Montserrat,"Avenir Next",Arial,sans-serif;
  --navy:#153845;
  --teal:#087C75;
  --ivory:#F7F4ED;
  --soft:#DCEEEA;
  --charcoal:#27343A;
  --amber:#A35A00;
  --burgundy:#8B1E3F;
  --radius:10px;
  --radius-sm:8px;
}

body{font-family:var(--text);color:var(--charcoal)}
h1,h2,h3,h4{font-family:var(--display)}
.home-hero h1{font-family:var(--text);font-weight:800;letter-spacing:-.052em}

.topbar{background:rgba(255,255,255,.97)}
.topbar-inner{min-height:88px}
.brand{display:flex;align-items:center;gap:10px;min-width:260px;line-height:1;text-decoration:none}
.brand-mark-image--header{display:block;width:64px;height:64px;flex:0 0 64px}
.brand-copy{display:grid;gap:3px;color:var(--navy)}
.brand-copy strong{font-family:var(--display);font-size:1.12rem;line-height:.97;letter-spacing:-.025em}
.brand-copy small{font-family:var(--slogan);font-size:.42rem;line-height:1.2;color:var(--teal);white-space:nowrap}
.header-cta{min-height:48px;padding-inline:21px;border-radius:8px;white-space:nowrap}
.desktop-nav a{font-family:var(--text);font-weight:700}
/* Publication alerts are personal account tools. Anonymous visitors see Join GCSI only. */
.header-actions:has(.header-cta) .header-update-link{display:none!important}

.hero-brand-mark{display:block;width:112px;height:112px;margin-bottom:28px}
.brand-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;border-top:1px solid rgba(247,244,237,.22);border-bottom:1px solid rgba(247,244,237,.22)}
.brand-sequence div{padding:18px 14px 18px 0;border-right:1px solid rgba(247,244,237,.18)}
.brand-sequence div:not(:first-child){padding-left:16px}
.brand-sequence div:last-child{border-right:0}
.brand-sequence strong{display:block;color:#fff;font-size:.86rem}
.brand-sequence span{display:block;color:#cfe1e2;font-size:.78rem;margin-top:4px}

.brand-principles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line);gap:1px}
.brand-principle{background:#fffdf8;padding:25px}
.brand-principle--primary{background:var(--soft)}
.brand-principle h3{font-family:var(--text);font-size:1.03rem;letter-spacing:-.01em}
.brand-principle p{font-size:.93rem;color:var(--slate);margin-bottom:0}

.mission-band{padding:clamp(36px,5vw,58px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(230px,.45fr) minmax(0,1fr);gap:clamp(36px,6vw,76px)}
.mission-band blockquote{font-family:var(--display);font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1.34;color:var(--navy);margin:0;max-width:32ch}

.footer-brand{display:flex;align-items:center;gap:16px;max-width:450px;margin-bottom:20px;color:var(--ivory)}
.footer-brand img{display:block;width:92px;height:92px;flex:0 0 92px}
.footer-brand span{display:grid;gap:7px}
.footer-brand strong{font-family:var(--display);font-size:1.65rem;line-height:.98;letter-spacing:-.025em}
.footer-brand small{font-family:var(--slogan);font-size:.72rem;color:#8accc5;line-height:1.25}
.footer-brand-summary{max-width:630px;color:#c7d8da}
.footer h2{font-family:var(--slogan);font-size:1.05rem;font-weight:500;letter-spacing:.01em}

.brand-note{font-family:var(--slogan)}
.evidence-ladder{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.evidence-step{padding:22px;border-right:1px solid var(--line)}
.evidence-step:first-child{padding-left:0}.evidence-step:last-child{border-right:0;padding-right:0}
.evidence-step strong{display:block;color:var(--navy);font-size:.9rem}.evidence-step span{display:block;color:var(--slate);font-size:.82rem;margin-top:5px}

@media(max-width:1260px){
  .desktop-nav{gap:13px}.desktop-nav a{font-size:.8rem}.brand{min-width:225px}.brand-mark-image--header{width:56px;height:56px;flex-basis:56px}.brand-copy strong{font-size:1rem}.brand-copy small{font-size:.37rem}
}
@media(max-width:1020px){
  .brand-principles{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-principle--primary{grid-column:1/-1}
  .evidence-ladder{grid-template-columns:1fr}.evidence-step,.evidence-step:first-child,.evidence-step:last-child{padding:17px 0;border-right:0;border-bottom:1px solid var(--line)}.evidence-step:last-child{border-bottom:0}
}
@media(max-width:760px){
  .brand-copy{display:none}.brand{min-width:auto}.brand-mark-image--header{width:52px;height:52px;flex-basis:52px}
  .header-actions{margin-left:auto}.header-cta{min-height:44px;padding:8px 13px;font-size:.82rem}
  .mission-band{grid-template-columns:1fr;padding-inline:0}
  .brand-sequence{grid-template-columns:1fr}.brand-sequence div,.brand-sequence div:not(:first-child){padding:14px 0;border-right:0;border-bottom:1px solid rgba(247,244,237,.18)}.brand-sequence div:last-child{border-bottom:0}
  .brand-principles{grid-template-columns:1fr}.brand-principle--primary{grid-column:auto}
  .footer-brand img{width:72px;height:72px;flex-basis:72px}.footer-brand strong{font-size:1.35rem}.footer-brand small{font-size:.62rem}
}
