/* =====================================================
   CXGLOBE v2 — Shared styles
   ===================================================== */
:root{
  --navy:#1B2430;--navy-soft:#27323F;--brass:#B8862B;--brass-soft:#D9A94F;
  --paper:#FAF8F4;--paper-dim:#F1EDE4;--slate:#5C6470;--ink:#21262C;--line:#E3DDCE;
  --serif:'Source Serif 4',Georgia,serif;--sans:'Inter',-apple-system,sans-serif;
  --maxw:1200px;--nav-h:76px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;}

/* Link reset — scoped carefully to not override buttons */
a{text-decoration:none;color:inherit;}
/* Override browser user-agent blue only for non-button links */
a:not(.btn-primary):not(.nav-cta):not(.card-link):not(.hub-link):not(.crosslink a):not(.footer-col a):not(.related-card):link,
a:not(.btn-primary):not(.nav-cta):not(.card-link):not(.hub-link):not(.crosslink a):not(.footer-col a):not(.related-card):visited{
  color:inherit;
  text-decoration:none;
}
.card-link,a.card-link{color:var(--brass);}
.card-link:hover{color:var(--navy);}
nav a{color:inherit;}
footer a{color:inherit;}
.footer-col a{color:var(--slate);}
.footer-col a:hover{color:var(--brass);}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}

/* ===== NAV ===== */
nav{position:sticky;top:0;z-index:100;background:rgba(250,248,244,0.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
nav>.wrap{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);gap:16px;}
.logo{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--navy);flex-shrink:0;letter-spacing:0.01em;}
.logo span{color:var(--brass);}
.navlinks{display:flex;gap:2px;align-items:center;flex-shrink:0;}
.nav-item{position:relative;}
.nav-item>a,.nav-top{
  font-size:13.5px;font-weight:500;color:var(--ink);
  padding:8px 13px;border-radius:2px;
  display:flex;align-items:center;gap:4px;
  white-space:nowrap;cursor:pointer;
  background:none;border:none;font-family:var(--sans);
  transition:color 0.15s,background 0.15s;
}
.nav-item>a:hover,.nav-top:hover,.nav-item.open .nav-top{color:var(--brass);}
.nav-item.open .nav-top{background:var(--paper-dim);}
.chev{font-size:8px;opacity:0.5;transition:transform 0.2s;line-height:1;}
.nav-item.open .chev{transform:rotate(180deg);}
.dropdown{
  position:absolute;top:calc(100% + 4px);left:0;
  background:#fff;border:1px solid var(--line);border-radius:3px;
  box-shadow:0 8px 32px rgba(27,36,48,0.10);min-width:210px;
  opacity:0;pointer-events:none;transform:translateY(-6px);
  transition:opacity 0.18s,transform 0.18s;z-index:200;
}
.nav-item.open .dropdown{opacity:1;pointer-events:auto;transform:translateY(0);}
.dropdown a{display:block;padding:10px 16px;font-size:13.5px;color:var(--ink);border-bottom:1px solid var(--line);transition:background 0.12s,color 0.12s;}
.dropdown a:last-child{border-bottom:none;}
.dropdown a:hover{background:var(--paper-dim);color:var(--brass);}
.dropdown-head{padding:9px 16px 7px;font-size:10.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--slate);border-bottom:1px solid var(--line);}
.nav-cta{
  background:var(--navy)!important;color:var(--paper)!important;
  padding:10px 20px!important;border-radius:2px;font-size:13.5px!important;font-weight:600!important;
  margin-left:6px;white-space:nowrap;transition:background 0.2s;
}
.nav-cta:hover{background:var(--navy-soft)!important;color:var(--paper)!important;}

/* ===== SHARED ===== */
.rule{height:1px;background:var(--line);width:100%;}
section{padding:72px 0;}
.section-narrow{max-width:720px;}
.section-wide{max-width:100%;}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--brass);margin-bottom:18px;display:flex;align-items:center;gap:12px;}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--brass);}
.eyebrow-center{justify-content:center;}
.eyebrow-center::before,.eyebrow-center::after{content:'';width:24px;height:1px;background:var(--brass);}
.section-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--brass);margin-bottom:14px;}

h1.display{font-family:var(--serif);font-size:clamp(32px,3.8vw,52px);font-weight:600;line-height:1.13;color:var(--navy);letter-spacing:-0.015em;margin-bottom:22px;}
h2.section-title{font-family:var(--serif);font-size:clamp(24px,2.6vw,34px);font-weight:600;color:var(--navy);line-height:1.22;margin-bottom:16px;}
p.lead{font-size:17.5px;color:var(--slate);line-height:1.65;}
p.body-text{font-size:16.5px;color:var(--ink);line-height:1.77;margin-bottom:16px;}

.btn-primary{
  background:var(--navy);color:var(--paper)!important;
  padding:14px 28px;border-radius:2px;font-size:14.5px;font-weight:600;
  display:inline-flex;align-items:center;gap:9px;
  transition:background 0.2s,transform 0.15s;border:1.5px solid var(--navy);
}
.btn-primary:hover{background:var(--navy-soft);transform:translateY(-1px);}
.btn-brass{background:var(--brass)!important;color:var(--navy)!important;border-color:var(--brass)!important;}
.btn-brass:hover{background:var(--brass-soft)!important;}

/* ===== CTA BAND ===== */
.cta-band{background:var(--navy);color:var(--paper);text-align:center;padding:80px 0;}
.cta-band h2{font-family:var(--serif);font-size:clamp(26px,3.2vw,38px);font-weight:600;margin-bottom:12px;color:var(--paper);}
.cta-band p{color:#AEB6C0;font-size:16px;max-width:480px;margin:0 auto 30px;}
.cta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.cta-row-center{justify-content:center;}

/* ===== FOOTER ===== */
footer{padding:60px 0 32px;border-top:1px solid var(--line);background:var(--paper);}
.footer-grid{display:grid;grid-template-columns:220px 1fr;gap:56px;margin-bottom:44px;}
.footer-logo{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--navy);margin-bottom:10px;}
.footer-logo span{color:var(--brass);}
.footer-tagline{font-size:13.5px;color:var(--slate);line-height:1.65;max-width:200px;}
.footer-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.footer-col-head{font-size:11px;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;color:var(--navy);margin-bottom:14px;}
.footer-col a{display:block;font-size:13.5px;color:var(--slate)!important;margin-bottom:8px;transition:color 0.15s;}
.footer-col a:hover{color:var(--brass)!important;}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--slate);}
.footer-bottom a{color:var(--slate);margin-left:20px;}
.footer-bottom a:hover{color:var(--brass);}

/* ===== PAGE-LEVEL SHARED ===== */
.breadcrumb{font-size:13px;color:var(--slate);padding-top:22px;padding-bottom:4px;}
.breadcrumb a{color:var(--slate);}
.breadcrumb a:hover{color:var(--brass);}
.breadcrumb .sep{margin:0 8px;opacity:0.35;}
.page-hero{padding:38px 0 60px;}
.page-hero-lg{padding:70px 0 60px;}

/* sub-page shared sections */
.included-band{background:var(--paper-dim);padding:64px 0;}
.included-list{list-style:none;margin-top:6px;}
.included-list li{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line);}
.included-list li:last-child{border-bottom:1px solid var(--line);}
.incl-dash{color:var(--brass);font-size:18px;flex-shrink:0;line-height:1.6;}
.incl-text{font-size:15.5px;color:var(--ink);line-height:1.65;margin:0;}
.who-card{background:#fff;border:1px solid var(--line);border-left:3px solid var(--brass);padding:28px 32px;border-radius:2px;}
.who-card p{font-size:16px;color:var(--ink);line-height:1.72;margin:0;}
.related-grid{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;}
.related-card{flex:1;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:2px;padding:22px 26px;transition:border-color 0.18s,transform 0.18s;}
.related-card:hover{border-color:var(--brass);transform:translateY(-2px);}
.related-label{font-size:10.5px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--brass);margin-bottom:8px;}
.related-card h4{font-family:var(--serif);font-size:16px;color:var(--navy);font-weight:600;}

/* hub page list */
.hub-list{display:flex;flex-direction:column;}
.hub-row{display:grid;grid-template-columns:52px 1fr 160px;gap:28px;align-items:center;padding:30px 0;border-top:1px solid var(--line);}
.hub-list .hub-row:last-child{border-bottom:1px solid var(--line);}
.hub-num{font-family:var(--serif);font-size:14px;color:var(--brass);}
.hub-row h3{font-family:var(--serif);font-size:21px;color:var(--navy);font-weight:600;margin-bottom:6px;}
.hub-row p{color:var(--slate);font-size:15px;line-height:1.58;margin:0;}
.hub-link{font-size:13.5px;font-weight:600;color:var(--brass);display:inline-flex;align-items:center;gap:5px;justify-self:end;white-space:nowrap;}
.hub-link:hover{color:var(--navy);}
.crosslink-stack{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
.crosslink{background:var(--paper-dim);border-radius:2px;border:1px solid var(--line);padding:22px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.crosslink p{color:var(--ink);font-size:15px;max-width:600px;margin:0;}
.crosslink a{font-size:13.5px;font-weight:600;color:var(--brass);white-space:nowrap;}
.crosslink a:hover{color:var(--navy);}

@media(max-width:960px){
  .navlinks .nav-item:not(:last-child):not(:nth-last-child(2)){display:none;}
  .hub-row{grid-template-columns:1fr;gap:8px;}.hub-link{justify-self:start;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-links-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .wrap{padding:0 20px;}
  .footer-links-grid{grid-template-columns:1fr;}
}

/* ===== ANIMATED GLOBE LOGO ===== */
.cxglobe-logo{display:inline-flex;align-items:center;line-height:1;cursor:pointer;}
.cxglobe-logo-text{
  font-family:'Arial Black','Arial',sans-serif;font-weight:900;
  color:#054bac;letter-spacing:-0.02em;font-size:inherit;user-select:none;
}
.cxglobe-globe-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  position:relative;border-radius:50%;flex-shrink:0;overflow:hidden;
  margin:0 0.04em;
}
.cxglobe-canvas{display:block;border-radius:50%;}
/* Dark background variant — text goes white */
.cxglobe-logo.on-dark .cxglobe-logo-text{color:#ffffff;}
