.site-header{
  position:sticky;
  top:0;
  z-index:20;
}

.header-alert{
  background:linear-gradient(90deg, var(--forest-950), #0d2f23);
  color:rgba(255,255,255,.84);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.header-alert__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:3.4rem;
  padding:.5rem 0;
}

.header-alert__text{
  color:var(--gold-soft);
  font-size:.92rem;
  font-weight:800;
}

.header-alert__actions{
  display:flex;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
}

.header-main{
  backdrop-filter:blur(18px);
  background:rgba(255,250,244,.78);
  border-bottom:1px solid rgba(6,31,23,.08);
}

.header-main__inner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.2rem;
  min-height:5.75rem;
}

.brand{
  display:flex;
  align-items:center;
  gap:1rem;
  min-width:0;
}

.brand__logo-wrap{
  display:grid;
  place-items:center;
  width:4.35rem;
  height:4.35rem;
  padding:.55rem;
  border-radius:1.6rem;
  background:linear-gradient(160deg, rgba(255,255,255,.96), rgba(234,244,236,.92));
  border:1px solid rgba(6,31,23,.09);
  box-shadow:var(--shadow-md);
  flex-shrink:0;
}

.brand__logo{
  width:100%;
  height:100%;
  object-fit:contain;
}

.brand__text{
  display:grid;
  gap:.2rem;
  min-width:0;
}

.brand__text strong{
  font-family:var(--display-font);
  color:var(--forest-900);
  font-size:1.1rem;
  font-weight:1000;
  line-height:1.35;
}

.brand__text span{
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
  line-height:1.5;
}

.nav-toggle{
  display:none;
  width:3rem;
  height:3rem;
  border:1px solid rgba(6,31,23,.12);
  border-radius:1rem;
  background:rgba(255,255,255,.78);
  color:var(--forest-800);
  cursor:pointer;
}

.nav-toggle span{
  display:block;
  width:1.2rem;
  height:2px;
  margin:.24rem auto;
  border-radius:999px;
  background:currentColor;
}

.nav-panel{
  display:flex;
  align-items:center;
  gap:1rem;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:1.15rem;
  flex-wrap:wrap;
}

.site-nav a{
  position:relative;
  padding:.45rem 0;
  color:rgba(32,50,43,.78);
  font-size:.94rem;
  font-weight:900;
}

.site-nav a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--gold), var(--copper));
  transition:width .25s ease;
}

.site-nav a:hover::after{
  width:100%;
}

.header-main__actions{
  display:flex;
  align-items:center;
  gap:.8rem;
}

.hero{
  padding-top:4.8rem;
}

.hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(22rem,.94fr);
  gap:2rem;
  align-items:start;
}

.hero__copy{
  position:relative;
  z-index:1;
}

.hero__title{
  margin-top:1.2rem;
  font-family:var(--display-font);
  font-size:clamp(3.3rem, 8vw, 6.3rem);
  line-height:1.05;
  letter-spacing:-.015em;
  color:var(--forest-900);
}

.hero__title span{
  display:block;
  color:var(--copper);
  text-shadow:0 .8rem 2.2rem rgba(203,105,71,.12);
}

.hero__lead{
  max-width:41rem;
  margin-top:1.1rem;
  color:rgba(32,50,43,.82);
  font-size:1.08rem;
  line-height:2.02;
  font-weight:700;
}

.hero__actions{
  display:flex;
  align-items:center;
  gap:.85rem;
  flex-wrap:wrap;
  margin-top:1.8rem;
}

.hero__trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
  margin-top:1.5rem;
}

.trust-pill{
  padding:1rem 1.05rem;
  border:1px solid rgba(6,31,23,.08);
  border-radius:1.6rem;
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow-md);
}

.trust-pill__label{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  font-weight:900;
  margin-bottom:.35rem;
}

.trust-pill strong{
  color:var(--forest-900);
  font-size:.95rem;
  line-height:1.75;
}

.hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.95rem;
  margin-top:1.55rem;
}

.metric-card{
  padding:1.15rem;
}

.metric-card__label{
  display:block;
  color:var(--muted);
  font-size:.76rem;
  font-weight:900;
}

.metric-card__value{
  display:block;
  margin-top:.5rem;
  color:var(--forest-800);
  font-size:clamp(2rem,4vw,2.7rem);
  line-height:1;
  font-weight:1000;
}

.metric-card__text{
  margin-top:.65rem;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.8;
  font-weight:700;
}

.hero__visual{
  position:relative;
  min-height:38rem;
}

.poster{
  position:relative;
  min-height:35rem;
  padding:1.5rem;
  border-radius:2.3rem;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(232,241,235,.96)),
    radial-gradient(circle at 85% 20%, rgba(243,221,176,.36), transparent 25%);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-xl);
  overflow:hidden;
}

.poster::before{
  content:"";
  position:absolute;
  inset:auto -12% -18% auto;
  width:22rem;
  height:22rem;
  border-radius:43% 57% 64% 36%;
  background:radial-gradient(circle, rgba(17,80,58,.14), transparent 70%);
}

.poster__mesh{
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, rgba(255,255,255,.7), transparent 46%),
    radial-gradient(circle at 80% 18%, rgba(203,155,69,.18), transparent 24%),
    linear-gradient(180deg, transparent 0%, rgba(17,80,58,.04) 100%);
  pointer-events:none;
}

.poster__header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  flex-wrap:wrap;
  z-index:1;
}

.poster__orbit{
  position:relative;
  display:grid;
  place-items:center;
  min-height:25rem;
  margin-top:1.2rem;
}

.poster__orbit::before,
.poster__orbit::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px dashed rgba(17,80,58,.16);
}

.poster__orbit::before{
  width:20rem;
  height:20rem;
}

.poster__orbit::after{
  width:15rem;
  height:15rem;
  opacity:.9;
}

.poster__core{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  gap:.7rem;
  width:12.5rem;
  height:12.5rem;
  padding:1.25rem;
  text-align:center;
  border-radius:50%;
  background:linear-gradient(180deg, rgba(11,49,36,.98), rgba(19,84,60,.96));
  color:var(--white);
  box-shadow:0 22px 48px rgba(6,31,23,.26);
}

.poster__core img{
  width:3.1rem;
  height:3.1rem;
  opacity:.92;
}

.poster__core strong{
  font-size:1.08rem;
  line-height:1.35;
}

.poster__core span{
  color:rgba(255,255,255,.72);
  font-size:.78rem;
  line-height:1.7;
  font-weight:800;
}

.poster__node{
  position:absolute;
  display:grid;
  place-items:center;
  min-width:5.8rem;
  min-height:3rem;
  padding:.65rem .95rem;
  border-radius:999px;
  border:1px solid rgba(6,31,23,.06);
  background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-md);
  color:var(--forest-800);
  font-size:.86rem;
  font-weight:1000;
}

.poster__node--one{top:2.3rem;right:50%;transform:translateX(50%)}
.poster__node--two{top:50%;right:1.2rem;transform:translateY(-50%)}
.poster__node--three{bottom:2.2rem;right:50%;transform:translateX(50%)}
.poster__node--four{top:50%;left:1.2rem;transform:translateY(-50%)}

.poster__footer{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.2rem;
}

.poster__chip{
  padding:.72rem .95rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
  font-size:.8rem;
  font-weight:900;
}

.floating-card{
  position:absolute;
  z-index:2;
  max-width:17rem;
  padding:1rem 1.1rem;
  border-radius:1.7rem;
  border:1px solid rgba(255,255,255,.5);
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow-lg);
  animation:bob 6.3s ease-in-out infinite;
}

.floating-card--story{
  top:3.5rem;
  left:-1rem;
  background:rgba(255,248,240,.88);
}

.floating-card--contact{
  right:-.5rem;
  bottom:2.2rem;
  background:rgba(10,47,35,.94);
  color:var(--white);
  animation-delay:1.2s;
}

.floating-card__eyebrow{
  display:block;
  margin-bottom:.55rem;
  color:var(--copper);
  font-size:.78rem;
  font-weight:1000;
}

.floating-card p{
  font-size:.9rem;
  line-height:1.8;
  font-weight:700;
}

.floating-card--contact strong{
  display:block;
  margin-bottom:.35rem;
  font-size:1.1rem;
}

.floating-card--contact p{
  color:rgba(255,255,255,.72);
}

.hero-band{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:2rem;
}

.hero-band__card{
  padding:1.25rem 1.35rem;
  border-radius:1.8rem;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-md);
}

.hero-band__card h2{
  color:var(--forest-900);
  font-size:1.08rem;
  margin-bottom:.55rem;
}

.hero-band__card p{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.8;
  font-weight:700;
}

.narrative__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  gap:1.2rem;
}

.narrative__feature{
  position:relative;
  overflow:hidden;
  padding:1.8rem;
  background:
    radial-gradient(circle at 85% 18%, rgba(243,221,176,.32), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(241,247,243,.92));
}

.feature-mark{
  display:inline-flex;
  align-items:center;
  min-height:2.3rem;
  padding:.55rem .9rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
  font-size:.8rem;
  font-weight:1000;
}

.narrative__feature h3{
  margin-top:1rem;
  color:var(--forest-900);
  font-size:1.8rem;
  line-height:1.35;
}

.narrative__feature p{
  margin-top:1rem;
  color:var(--muted);
  font-size:1rem;
  line-height:1.95;
  font-weight:700;
}

.feature-quote{
  margin-top:1.2rem;
  padding:1.15rem;
  border-radius:1.5rem;
  background:rgba(6,31,23,.05);
  border:1px solid rgba(6,31,23,.08);
}

.feature-quote p{
  margin:0;
  color:var(--forest-800);
  font-size:.98rem;
  font-weight:900;
}

.mission-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.mission-card{
  padding:1.45rem;
}

.mission-card__index{
  display:inline-grid;
  place-items:center;
  width:2.7rem;
  height:2.7rem;
  border-radius:1rem;
  background:linear-gradient(135deg, var(--forest-800), var(--forest-700));
  color:var(--white);
  font-size:.95rem;
  font-weight:1000;
}

.mission-card h3{
  margin-top:.95rem;
  color:var(--forest-900);
  font-size:1.15rem;
}

.mission-card p{
  margin-top:.65rem;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.85;
  font-weight:700;
}

.funds{
  background:linear-gradient(180deg, rgba(7,31,23,.98), rgba(11,46,34,.98));
  color:var(--white);
}

.section-heading--light .section-heading__eyebrow{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
}

.funds__layout{
  display:grid;
  grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr);
  gap:1.2rem;
}

.funds__sidebar{
  padding:1.6rem;
  border-radius:2rem;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  box-shadow:0 22px 50px rgba(0,0,0,.18);
}

.funds__sidebar-label{
  display:inline-flex;
  padding:.55rem .9rem;
  border-radius:999px;
  background:rgba(203,155,69,.18);
  color:var(--gold-soft);
  font-size:.8rem;
  font-weight:1000;
}

.funds__sidebar h3{
  margin-top:.9rem;
  font-size:1.65rem;
  line-height:1.35;
}

.funds__steps{
  margin-top:1.2rem;
  display:grid;
  gap:.9rem;
  padding-right:1rem;
  color:rgba(255,255,255,.78);
  font-weight:700;
  line-height:1.9;
}

.support-tracks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.support-track{
  padding:1.35rem;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,242,232,.92));
}

.support-track__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.support-track__eyebrow{
  display:block;
  color:var(--copper);
  font-size:.78rem;
  font-weight:1000;
}

.support-track__title{
  margin-top:.35rem;
  color:var(--forest-900);
  font-size:1.12rem;
}

.support-track__value{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:4rem;
  min-height:2.3rem;
  padding:.35rem .7rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
  font-size:.82rem;
  font-weight:1000;
}

.support-track__text{
  margin-top:.8rem;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.85;
  font-weight:700;
}

.support-track__meter{
  height:.8rem;
  margin-top:1rem;
  border-radius:999px;
  background:rgba(6,31,23,.08);
  overflow:hidden;
}

.support-track__bar{
  display:block;
  width:var(--track-fill, 60%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--copper), var(--gold), var(--forest-700));
}

.impact__layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr);
  gap:1.2rem;
}

.impact-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.impact-card{
  padding:1.35rem;
}

.impact-card h3{
  color:var(--forest-900);
  font-size:1.12rem;
}

.impact-card p{
  margin-top:.6rem;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.85;
  font-weight:700;
}

.impact-panel{
  padding:1.7rem;
  border-radius:2rem;
  background:
    radial-gradient(circle at 90% 14%, rgba(243,221,176,.3), transparent 25%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,237,232,.82));
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-lg);
}

.impact-panel__eyebrow{
  display:inline-flex;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(203,105,71,.1);
  color:var(--copper);
  font-size:.8rem;
  font-weight:1000;
}

.impact-panel h3{
  margin-top:1rem;
  color:var(--forest-900);
  font-size:1.65rem;
  line-height:1.35;
}

.impact-panel p{
  margin-top:.9rem;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.95;
  font-weight:700;
}

.impact-panel__quote{
  margin-top:1.1rem;
  padding:1.15rem;
  border-radius:1.5rem;
  background:rgba(203,105,71,.1);
  border:1px solid rgba(203,105,71,.16);
  color:var(--forest-900);
  font-size:.98rem;
  line-height:1.9;
  font-weight:900;
}

.impact-panel__list{
  margin-top:1rem;
  display:grid;
  gap:.7rem;
  list-style:none;
}

.impact-panel__list li{
  position:relative;
  padding-right:1.4rem;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.85;
  font-weight:800;
}

.impact-panel__list li::before{
  content:"";
  position:absolute;
  top:.7rem;
  right:0;
  width:.7rem;
  height:.7rem;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--forest-700));
  box-shadow:0 0 0 .3rem rgba(203,155,69,.12);
}

.activities-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.activity-card{
  display:flex;
  flex-direction:column;
  gap:.9rem;
  padding:1.35rem;
}

.activity-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  color:var(--muted);
  font-size:.82rem;
  font-weight:900;
}

.activity-card__type{
  display:inline-flex;
  min-height:2.1rem;
  padding:.45rem .85rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
}

.activity-card__title{
  color:var(--forest-900);
  font-size:1.2rem;
  line-height:1.55;
}

.activity-card__text{
  color:var(--muted);
  font-size:.94rem;
  line-height:1.9;
  font-weight:700;
}

.activity-card__meta{
  display:grid;
  gap:.55rem;
  padding:1rem;
  border-radius:1.4rem;
  background:rgba(6,31,23,.04);
  border:1px solid rgba(6,31,23,.08);
  color:var(--forest-900);
  font-size:.86rem;
  font-weight:900;
}

.activity-card__state--live{
  color:var(--copper);
}

.news-filters{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
}

.filter-button{
  min-height:2.8rem;
  padding:.7rem 1rem;
  border:1px solid rgba(6,31,23,.12);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--forest-900);
  font-size:.9rem;
  font-weight:900;
  cursor:pointer;
  transition:transform .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease;
}

.filter-button:hover,
.filter-button.is-active{
  background:var(--forest-800);
  color:var(--white);
  border-color:transparent;
  transform:translateY(-2px);
}

.news-layout{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:1rem;
}

.news-featured{
  min-height:100%;
  padding:1.65rem;
  background:
    radial-gradient(circle at 88% 14%, rgba(243,221,176,.3), transparent 22%),
    linear-gradient(135deg, rgba(11,49,36,.98), rgba(20,85,61,.95));
  color:var(--white);
}

.news-featured__tag{
  display:inline-flex;
  min-height:2.2rem;
  padding:.5rem .85rem;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:var(--gold-soft);
  font-size:.8rem;
  font-weight:1000;
}

.news-featured__title{
  margin-top:1rem;
  font-size:clamp(1.7rem, 3vw, 2.45rem);
  line-height:1.25;
}

.news-featured__text{
  margin-top:1rem;
  color:rgba(255,255,255,.78);
  font-size:1rem;
  line-height:1.95;
  font-weight:700;
}

.news-featured__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.4rem;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.72);
  font-size:.84rem;
  font-weight:900;
}

.news-grid{
  display:grid;
  gap:1rem;
}

.news-card{
  padding:1.35rem;
}

.news-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  color:var(--muted);
  font-size:.82rem;
  font-weight:900;
}

.news-card__tag{
  display:inline-flex;
  min-height:2.15rem;
  padding:.5rem .8rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
}

.news-card__title{
  margin-top:.8rem;
  color:var(--forest-900);
  font-size:1.12rem;
  line-height:1.6;
}

.news-card__text{
  margin-top:.65rem;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.9;
  font-weight:700;
}

.news-card__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(6,31,23,.08);
  color:var(--muted);
  font-size:.82rem;
  font-weight:900;
}

.news-card__foot a{
  color:var(--forest-800);
}

.contact-board{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:1rem;
  padding:1.4rem;
  border-radius:2.2rem;
  background:
    radial-gradient(circle at 88% 18%, rgba(243,221,176,.24), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(238,244,240,.92));
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-xl);
}

.contact-board__copy{
  padding:1.3rem;
  border-radius:1.9rem;
  background:linear-gradient(145deg, rgba(11,49,36,.98), rgba(18,79,56,.95));
  color:var(--white);
}

.contact-board__copy .section-heading__title{
  color:var(--white);
}

.contact-board__copy .section-heading__eyebrow{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.14);
  color:var(--gold-soft);
  box-shadow:none;
}

.contact-board__text{
  margin-top:1rem;
  color:rgba(255,255,255,.76);
  font-size:1rem;
  line-height:1.95;
  font-weight:700;
}

.contact-board__actions{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:1.4rem;
}

.contact-board__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.contact-card{
  padding:1.35rem;
}

.contact-card__label{
  display:inline-flex;
  min-height:2.15rem;
  padding:.5rem .8rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
  font-size:.8rem;
  font-weight:1000;
}

.contact-card strong{
  display:block;
  margin-top:.95rem;
  color:var(--forest-900);
  font-size:1.15rem;
  line-height:1.6;
}

.contact-card p{
  margin-top:.7rem;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.85;
  font-weight:700;
}

.donate__layout{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(18rem,.94fr);
  gap:1rem;
}

.donate__copy{
  position:relative;
  overflow:hidden;
  padding:2rem;
  border-radius:2.2rem;
  background:
    radial-gradient(circle at 90% 16%, rgba(243,221,176,.22), transparent 26%),
    linear-gradient(140deg, rgba(11,49,36,.98), rgba(18,79,56,.95));
  color:var(--white);
  box-shadow:var(--shadow-xl);
}

.donate__copy::after{
  content:"";
  position:absolute;
  left:-4rem;
  bottom:-7rem;
  width:14rem;
  height:14rem;
  border-radius:40% 60% 55% 45%;
  background:rgba(255,255,255,.06);
}

.donate__eyebrow{
  display:inline-flex;
  min-height:2.2rem;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:var(--gold-soft);
  font-size:.8rem;
  font-weight:1000;
}

.donate__copy h2{
  position:relative;
  z-index:1;
  margin-top:1rem;
  font-family:var(--display-font);
  font-size:clamp(2.3rem, 5vw, 4.3rem);
  line-height:1.08;
}

.donate__copy p{
  position:relative;
  z-index:1;
  margin-top:1rem;
  color:rgba(255,255,255,.76);
  font-size:1rem;
  line-height:2;
  font-weight:700;
}

.donate__actions{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:1.5rem;
}

.qr-card{
  padding:1.45rem;
  text-align:center;
}

.qr-card__frame{
  width:min(17rem,100%);
  aspect-ratio:1;
  margin-inline:auto;
  padding:1rem;
  border-radius:1.8rem;
  background:linear-gradient(145deg, rgba(243,221,176,.42), rgba(255,255,255,.95));
  border:1px solid rgba(203,155,69,.24);
  box-shadow:var(--shadow-md);
}

.qr-card__frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:1.15rem;
  background:var(--white);
}

.qr-card h3{
  margin-top:1rem;
  color:var(--forest-900);
  font-size:1.3rem;
}

.qr-card p{
  margin-top:.7rem;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.9;
  font-weight:700;
}

.quick-dock{
  position:fixed;
  top:50%;
  left:1rem;
  z-index:16;
  display:grid;
  gap:.65rem;
  transform:translateY(-50%);
}

.quick-dock__action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:4.4rem;
  min-height:3rem;
  padding:.55rem .8rem;
  border-radius:1rem;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-md);
  color:var(--forest-900);
  font-size:.82rem;
  font-weight:1000;
  backdrop-filter:blur(16px);
}

.site-footer{
  padding:1.4rem 0 2.2rem;
  background:rgba(6,31,23,.98);
}

.site-footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.site-footer p{
  color:rgba(255,255,255,.72);
  font-size:.86rem;
  font-weight:800;
}

@media (max-width: 1180px){
  .hero__trust,
  .hero-metrics,
  .hero-band,
  .contact-board__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 1024px){
  .hero__grid,
  .narrative__layout,
  .funds__layout,
  .impact__layout,
  .news-layout,
  .contact-board,
  .donate__layout{
    grid-template-columns:1fr;
  }

  .hero__visual{
    min-height:unset;
  }

  .hero__trust,
  .hero-metrics,
  .hero-band,
  .mission-grid,
  .support-tracks,
  .impact-list,
  .activities-grid,
  .contact-board__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .floating-card--story{
    left:.5rem;
  }

  .floating-card--contact{
    right:.5rem;
  }
}

@media (max-width: 860px){
  .header-alert__inner,
  .site-footer__inner{
    justify-content:center;
    text-align:center;
  }

  .nav-toggle{
    display:inline-block;
  }

  .nav-panel{
    position:absolute;
    top:calc(100% + .75rem);
    right:0;
    left:0;
    flex-direction:column;
    align-items:stretch;
    gap:1rem;
    padding:1rem;
    border-radius:1.8rem;
    background:rgba(255,250,244,.98);
    border:1px solid rgba(6,31,23,.08);
    box-shadow:var(--shadow-xl);
    opacity:0;
    transform:translateY(-1rem);
    pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
  }

  .nav-panel.is-open{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }

  .site-nav,
  .header-main__actions,
  .contact-board__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .hero__trust,
  .hero-metrics,
  .hero-band,
  .mission-grid,
  .support-tracks,
  .impact-list,
  .activities-grid,
  .contact-board__grid{
    grid-template-columns:1fr;
  }

  .quick-dock{
    display:none;
  }
}

@media (max-width: 640px){
  .header-main__inner{
    min-height:5rem;
  }

  .brand__logo-wrap{
    width:3.7rem;
    height:3.7rem;
    border-radius:1.2rem;
  }

  .brand__text span{
    display:none;
  }

  .hero{
    padding-top:3.7rem;
  }

  .hero__actions,
  .donate__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .poster{
    min-height:31rem;
    padding:1.15rem;
  }

  .poster__orbit{
    min-height:22rem;
  }

  .poster__orbit::before{
    width:16.5rem;
    height:16.5rem;
  }

  .poster__orbit::after{
    width:12.3rem;
    height:12.3rem;
  }

  .poster__core{
    width:10.5rem;
    height:10.5rem;
  }

  .poster__node{
    min-width:5.1rem;
    font-size:.78rem;
  }

  .floating-card{
    position:relative;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    max-width:none;
    margin-top:1rem;
  }

  .contact-board{
    padding:1rem;
  }

  .donate__copy,
  .qr-card,
  .contact-board__copy{
    padding:1.35rem;
  }
}

/* Story-driven redesign overrides */
.hero{
  padding-top:5.3rem;
}

.hero__grid{
  grid-template-columns:minmax(0,1.08fr) minmax(19rem,.92fr);
  align-items:center;
}

.hero__lead{
  max-width:43rem;
  font-size:1.1rem;
  line-height:2;
}

.hero__visual{
  min-height:unset;
  display:grid;
  gap:1rem;
  align-content:start;
}

.metric-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,241,230,.92));
}

.metric-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg, var(--copper), var(--gold), var(--forest-700));
}

.metric-card__value{
  line-height:1.18;
}

.hero-panel{
  padding:1.6rem;
  border-radius:2.1rem;
  background:
    radial-gradient(circle at 88% 16%, rgba(243,221,176,.15), transparent 22%),
    linear-gradient(145deg, rgba(6,31,23,.98), rgba(14,56,41,.96));
  color:var(--white);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:var(--shadow-xl);
}

.hero-panel__eyebrow{
  display:inline-flex;
  min-height:2.1rem;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:var(--gold-soft);
  font-size:.8rem;
  font-weight:1000;
}

.hero-panel h2{
  margin-top:.9rem;
  color:var(--white);
  font-size:1.8rem;
  line-height:1.35;
}

.hero-panel__steps{
  list-style:none;
  counter-reset:hero-step;
  display:grid;
  gap:.9rem;
  margin-top:1.2rem;
}

.hero-panel__steps li{
  display:grid;
  grid-template-columns:2.5rem 1fr;
  gap:.85rem;
  align-items:start;
  color:rgba(255,255,255,.78);
  font-size:.96rem;
  line-height:1.85;
  font-weight:700;
}

.hero-panel__steps li::before{
  counter-increment:hero-step;
  content:counter(hero-step);
  display:grid;
  place-items:center;
  width:2.5rem;
  height:2.5rem;
  border-radius:1rem;
  background:linear-gradient(135deg, var(--gold), var(--copper));
  color:var(--forest-950);
  font-size:.95rem;
  font-weight:1000;
}

.hero-panel__actions{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:1.3rem;
}

.hero-story{
  padding:1.25rem 1.35rem;
  border-radius:1.8rem;
  background:linear-gradient(145deg, rgba(255,244,238,.98), rgba(244,221,214,.9));
  border:1px solid rgba(203,105,71,.16);
  box-shadow:var(--shadow-md);
}

.hero-story__eyebrow{
  display:inline-flex;
  min-height:2.1rem;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(203,105,71,.12);
  color:var(--copper);
  font-size:.8rem;
  font-weight:1000;
}

.hero-story p{
  margin-top:.8rem;
  color:var(--forest-900);
  font-size:.98rem;
  line-height:1.95;
  font-weight:800;
}

.hero-update{
  display:grid;
  gap:.35rem;
  padding:1rem 1.15rem;
  border-radius:1.5rem;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-md);
}

.hero-update strong{
  color:var(--forest-900);
  font-size:.9rem;
}

.hero-update span{
  color:var(--muted);
  font-size:.88rem;
  line-height:1.8;
  font-weight:800;
}

.hero-band{
  margin-top:2.3rem;
}

.hero-band__card{
  position:relative;
  padding:1.3rem 1.4rem;
  background:rgba(255,255,255,.82);
}

.hero-band__card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg, var(--forest-700), var(--gold), var(--copper));
}

.hero-band__card h2{
  font-size:1.08rem;
}

.story__layout{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:1.1rem;
}

.story__panel{
  padding:1.8rem;
  border-radius:2.2rem;
}

.story__panel--dark{
  background:
    radial-gradient(circle at 88% 18%, rgba(243,221,176,.14), transparent 24%),
    linear-gradient(145deg, rgba(6,31,23,.98), rgba(14,56,41,.96));
  color:var(--white);
  box-shadow:var(--shadow-xl);
}

.story__label{
  display:inline-flex;
  min-height:2.1rem;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:var(--gold-soft);
  font-size:.8rem;
  font-weight:1000;
}

.story__panel h3{
  margin-top:1rem;
  font-size:1.9rem;
  line-height:1.35;
}

.story__panel p{
  margin-top:.95rem;
  color:rgba(255,255,255,.76);
  font-size:1rem;
  line-height:1.95;
  font-weight:700;
}

.story__timeline{
  display:grid;
  gap:.95rem;
}

.story-step{
  display:grid;
  grid-template-columns:9rem 1fr;
  gap:1rem;
  padding:1.2rem 1.3rem;
  border-radius:1.8rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-md);
}

.story-step__when{
  display:inline-flex;
  align-self:start;
  justify-content:center;
  min-height:2.4rem;
  padding:.55rem .95rem;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(203,105,71,.12), rgba(203,155,69,.18));
  color:var(--forest-900);
  font-size:.82rem;
  font-weight:1000;
}

.story-step h3{
  color:var(--forest-900);
  font-size:1.16rem;
  line-height:1.55;
}

.story-step p{
  margin-top:.45rem;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.85;
  font-weight:700;
}

.story-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.2rem;
  padding:1.15rem 1.35rem;
  border-radius:1.8rem;
  background:linear-gradient(90deg, rgba(17,80,58,.96), rgba(28,112,81,.92));
  color:var(--white);
  box-shadow:var(--shadow-lg);
}

.story-cta strong{
  display:block;
  font-size:1rem;
}

.story-cta span{
  display:block;
  margin-top:.25rem;
  color:rgba(255,255,255,.76);
  font-size:.92rem;
  line-height:1.8;
  font-weight:700;
}

.support-tracks{
  grid-template-columns:1fr;
  gap:.95rem;
}

.support-track{
  display:grid;
  gap:.65rem;
  padding:1.2rem 1.25rem 1.3rem;
  border-radius:1.8rem;
}

.impact__rows{
  display:grid;
  gap:.9rem;
}

.impact-row{
  display:grid;
  grid-template-columns:4.2rem 1fr;
  gap:1rem;
  align-items:start;
  padding:1.15rem 1.25rem;
  border-radius:1.8rem;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-md);
}

.impact-row__index{
  display:grid;
  place-items:center;
  width:4.2rem;
  height:4.2rem;
  border-radius:1.3rem;
  background:linear-gradient(135deg, var(--forest-800), var(--forest-700));
  color:var(--white);
  font-size:1.02rem;
  font-weight:1000;
}

.impact-row h3{
  color:var(--forest-900);
  font-size:1.18rem;
  line-height:1.5;
}

.impact-row p{
  margin-top:.4rem;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.9;
  font-weight:700;
}

.impact-quote{
  margin-top:1rem;
  padding:1.4rem 1.55rem;
  border-radius:2rem;
  background:linear-gradient(145deg, rgba(203,105,71,.12), rgba(255,247,242,.95));
  border:1px solid rgba(203,105,71,.14);
  box-shadow:var(--shadow-md);
}

.impact-quote strong{
  display:block;
  color:var(--forest-900);
  font-size:1.02rem;
}

.impact-quote p{
  margin-top:.55rem;
  color:var(--forest-800);
  font-size:1rem;
  line-height:1.95;
  font-weight:800;
}

.activities-grid{
  display:grid;
  gap:1rem;
}

.activity-card{
  display:grid;
  grid-template-columns:11rem 1fr auto;
  grid-template-areas:
    "head title button"
    "head text button"
    "head meta button";
  gap:.8rem 1.1rem;
  padding:1.25rem 1.35rem;
  border-radius:2rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-md);
}

.activity-card__head{
  grid-area:head;
  display:grid;
  gap:.7rem;
  align-content:start;
}

.activity-card__type{
  width:max-content;
}

.activity-card__title{
  grid-area:title;
}

.activity-card__text{
  grid-area:text;
}

.activity-card__meta{
  grid-area:meta;
}

.activity-card .button{
  grid-area:button;
  align-self:start;
  width:auto;
}

.news-featured{
  padding:1.6rem;
  border-radius:2.1rem;
  background:
    radial-gradient(circle at 88% 14%, rgba(243,221,176,.24), transparent 24%),
    linear-gradient(145deg, rgba(6,31,23,.98), rgba(14,56,41,.96));
  color:var(--white);
  box-shadow:var(--shadow-xl);
}

.news-featured__title{
  font-family:var(--display-font);
  line-height:1.2;
}

.news-grid{
  display:grid;
  gap:.7rem;
}

.news-card{
  padding:1.2rem 1.1rem;
  border-radius:1.7rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-md);
}

.contact-board{
  gap:1rem;
  padding:1.15rem;
}

.contact-card{
  padding:1.25rem;
  border-radius:1.8rem;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-md);
}

.donate__copy h2{
  max-width:13ch;
}

@media (max-width: 1024px){
  .story__layout{
    grid-template-columns:1fr;
  }

  .activity-card{
    grid-template-columns:1fr;
    grid-template-areas:
      "head"
      "title"
      "text"
      "meta"
      "button";
  }

  .activity-card .button{
    width:max-content;
  }
}

@media (max-width: 860px){
  .hero__grid{
    grid-template-columns:1fr;
  }

  .hero__trust,
  .hero-metrics,
  .hero-band{
    grid-template-columns:1fr;
  }

  .hero-panel__actions,
  .story-cta{
    flex-direction:column;
    align-items:stretch;
  }
}

@media (max-width: 640px){
  .story-step{
    grid-template-columns:1fr;
  }

  .story-step__when{
    width:max-content;
  }

  .impact-row{
    grid-template-columns:1fr;
  }

  .impact-row__index{
    width:3.6rem;
    height:3.6rem;
  }

  .activity-card .button{
    width:100%;
  }
}

/* Final UX refinements */
.header-alert__inner{
  flex-wrap:nowrap;
}

.header-alert__actions{
  flex-wrap:nowrap;
}

.header-main{
  box-shadow:0 12px 28px rgba(6,40,23,.05);
}

.header-main__inner{
  gap:.85rem;
  min-height:5.2rem;
}

.brand{
  flex-shrink:0;
  max-width:22rem;
}

.brand__text strong{
  font-size:1.02rem;
}

.brand__text span{
  font-size:.74rem;
}

.nav-panel{
  flex:1;
  min-width:0;
  justify-content:flex-end;
  flex-wrap:nowrap;
}

.site-nav{
  flex:1;
  justify-content:center;
  gap:.82rem;
  flex-wrap:nowrap;
  min-width:0;
}

.site-nav a{
  white-space:nowrap;
  font-size:.85rem;
}

.site-nav a.is-current{
  color:var(--forest-900);
}

.site-nav a.is-current::after{
  width:100%;
}

.header-main__actions{
  flex-shrink:0;
}

.header-main__actions .button{
  min-height:2.65rem;
  padding:.68rem 1rem;
  font-size:.84rem;
}

.scroll-progress{
  height:3px;
  background:rgba(6,40,23,.05);
  overflow:hidden;
}

#scroll-progress-bar{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg, var(--gold), var(--copper), var(--forest-800));
  transition:width .12s linear;
}

.hero{
  padding-top:4.35rem;
}

.hero__grid{
  gap:1.45rem;
}

.hero__title{
  max-width:12.5ch;
  font-size:clamp(2.7rem, 6.2vw, 4.85rem);
  line-height:1.12;
}

.hero__lead{
  max-width:38rem;
  font-size:1rem;
  line-height:1.95;
}

.hero__actions{
  gap:.7rem;
  margin-top:1.45rem;
}

.hero__trust{
  gap:.75rem;
  margin-top:1.15rem;
}

.trust-pill{
  padding:.85rem .95rem;
}

.hero-metrics{
  gap:.8rem;
  margin-top:1rem;
}

.metric-card{
  padding:1rem;
}

.metric-card__value{
  font-size:clamp(1.3rem, 2.7vw, 2.05rem);
}

.metric-card__text{
  font-size:.86rem;
  line-height:1.72;
}

.hero-panel,
.hero-story,
.hero-update{
  box-shadow:var(--shadow-lg);
}

.story__panel h3{
  font-size:1.65rem;
}

.story-step h3,
.impact-row h3,
.contact-card strong,
.qr-card h3{
  font-size:1.08rem;
}

.funds__sidebar h3{
  font-size:1.52rem;
}

.support-track__title{
  font-size:1.02rem;
}

.news-layout{
  align-items:start;
}

.news-featured__title{
  font-size:clamp(1.45rem, 2.4vw, 2.05rem);
}

.news-card__title{
  font-size:1.02rem;
}

.contact-board{
  padding:1rem;
}

.contact-board__copy{
  box-shadow:0 20px 44px rgba(6,40,23,.2);
}

.donate__copy{
  padding:1.7rem;
}

.donate__copy h2{
  max-width:15ch;
  font-size:clamp(2rem, 4.2vw, 3.35rem);
  line-height:1.14;
}

.site-footer{
  margin-top:1.2rem;
}

@media (max-width: 1240px){
  .brand__text span{
    display:none;
  }

  .site-nav{
    gap:.68rem;
  }

  .site-nav a{
    font-size:.8rem;
  }

  .header-main__actions .button{
    padding:.64rem .88rem;
    font-size:.8rem;
  }
}

@media (max-width: 1024px){
  .header-alert__inner,
  .header-alert__actions{
    flex-wrap:wrap;
  }
}

/* Image placement refinements */
.hero-title-art{
  max-width:21rem;
  margin-top:.9rem;
}

.hero-title-art img{
  width:100%;
  height:auto;
}

.hero-photo-card{
  position:relative;
  overflow:hidden;
  border-radius:2.2rem;
  background:var(--white);
  border:1px solid rgba(6,40,23,.08);
  box-shadow:var(--shadow-xl);
}

.hero-photo-card img{
  width:100%;
  aspect-ratio:4 / 4.8;
  object-fit:cover;
}

.hero-photo-card__caption{
  position:absolute;
  inset:auto 0 0 0;
  padding:1rem 1.1rem;
  background:linear-gradient(180deg, rgba(6,40,23,0) 0%, rgba(6,40,23,.86) 100%);
  color:var(--white);
}

.hero-photo-card__eyebrow{
  display:inline-flex;
  min-height:2.05rem;
  padding:.45rem .82rem;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:var(--gold-soft);
  font-size:.78rem;
  font-weight:1000;
}

.hero-photo-card__caption strong{
  display:block;
  margin-top:.65rem;
  font-size:1rem;
  line-height:1.8;
}

.hero-visual__stack{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(11rem,.8fr);
  gap:1rem;
  align-items:start;
}

.hero-poster-card{
  overflow:hidden;
  border-radius:2rem;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(6,40,23,.08);
  box-shadow:var(--shadow-lg);
}

.hero-poster-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.quote-strip{
  padding-top:0;
}

.quote-strip__frame{
  padding:1rem;
  border-radius:2rem;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(6,40,23,.08);
  box-shadow:var(--shadow-lg);
}

.quote-strip__frame img{
  width:100%;
  height:auto;
  display:block;
}

.funds-showcase{
  margin-top:1.2rem;
  overflow:hidden;
  border-radius:2rem;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 48px rgba(0,0,0,.16);
}

.funds-showcase img{
  width:100%;
  height:auto;
  display:block;
}

.news-featured{
  display:grid;
  gap:1rem;
}

.news-featured__media{
  overflow:hidden;
  border-radius:1.6rem;
}

.news-featured__image{
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  display:block;
}

.news-card__media{
  margin:-1.2rem -1.1rem .95rem;
  overflow:hidden;
  border-radius:1.7rem 1.7rem 0 0;
}

.news-card__image{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  display:block;
}

.donate__side{
  display:grid;
  gap:1rem;
  align-content:start;
}

.donate-poster{
  overflow:hidden;
  border-radius:2rem;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow-lg);
}

.donate-poster img{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  display:block;
}

@media (max-width: 1024px){
  .hero-visual__stack{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .hero-title-art{
    max-width:15rem;
  }

  .hero-photo-card img{
    aspect-ratio:4 / 5.2;
  }
}

/* Layout review refinements */
.hero__intro{
  display:flex;
  align-items:center;
  gap:.75rem 1rem;
  flex-wrap:wrap;
}

.hero__intro .eyebrow{
  margin:0;
}

.hero-title-art{
  max-width:12.5rem;
  margin-top:0;
}

.hero__title{
  margin-top:1rem;
  max-width:11.3ch;
}

.hero__lead{
  max-width:39rem;
}

.hero__proof{
  display:grid;
  gap:.75rem;
  margin-top:1.2rem;
}

.hero__trust,
.hero-metrics{
  margin-top:0;
}

.trust-pill,
.metric-card{
  height:100%;
}

.hero__visual{
  gap:1.1rem;
}

.hero-media-cluster{
  position:relative;
  display:grid;
  padding:0 0 1.4rem 1.35rem;
}

.hero-photo-card img{
  aspect-ratio:4 / 4.45;
}

.hero-photo-card__caption{
  padding:1.1rem 1.15rem 1rem;
  background:linear-gradient(180deg, rgba(6,40,23,0) 12%, rgba(6,40,23,.92) 100%);
}

.hero-poster-card{
  position:absolute;
  left:0;
  bottom:0;
  width:min(12.5rem, 34%);
  border-radius:1.75rem;
  overflow:hidden;
  box-shadow:0 24px 54px rgba(6,40,23,.22);
}

.hero-poster-card img{
  display:block;
  width:100%;
  height:auto;
}

.hero-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem 1.2rem;
  align-items:start;
  padding:1.35rem 1.4rem;
}

.hero-panel h2{
  grid-column:1;
  max-width:14ch;
  font-size:1.4rem;
}

.hero-panel__eyebrow{
  grid-column:1;
}

.hero-panel__steps{
  grid-column:1;
  margin-top:.2rem;
}

.hero-panel__actions{
  display:grid;
  gap:.7rem;
  grid-column:2;
  grid-row:1 / span 3;
  margin-top:0;
  align-self:stretch;
}

.hero-panel__actions .button{
  min-width:11rem;
}

.story__closing{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(16rem,.92fr);
  gap:1rem;
  margin-top:1.2rem;
  align-items:stretch;
}

.story-cta{
  margin-top:0;
  min-height:100%;
}

.story__quote{
  padding:.85rem;
  height:100%;
}

.story__quote img{
  height:100%;
  object-fit:cover;
  border-radius:1.45rem;
}

.funds__aside{
  display:grid;
  gap:1rem;
  align-content:start;
}

.funds__layout{
  grid-template-columns:minmax(18rem,.82fr) minmax(0,1.18fr);
  align-items:start;
}

.funds-showcase{
  margin-top:0;
}

.funds-showcase img{
  aspect-ratio:1.08 / 1;
  object-fit:cover;
}

@media (max-width: 1200px){
  .hero__trust,
  .hero-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hero-panel{
    grid-template-columns:1fr;
  }

  .hero-panel__eyebrow,
  .hero-panel h2,
  .hero-panel__steps,
  .hero-panel__actions{
    grid-column:auto;
    grid-row:auto;
  }

  .hero-panel__actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 1024px){
  .story__closing,
  .funds__layout{
    grid-template-columns:1fr;
  }
}

@media (max-width: 860px){
  .hero-media-cluster{
    padding:0;
  }

  .hero-poster-card{
    position:relative;
    width:min(12rem, 48%);
    margin-top:-4.5rem;
    margin-inline-start:auto;
  }

  .hero__trust,
  .hero-metrics,
  .hero-panel__actions{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .hero__intro{
    align-items:flex-start;
  }

  .hero-title-art{
    max-width:10.5rem;
  }

  .hero-photo-card img{
    aspect-ratio:4 / 5.1;
  }

  .hero-poster-card{
    width:min(10rem, 52%);
    margin-top:-3.2rem;
  }

  .hero-panel h2{
    font-size:1.25rem;
  }
}

.live-shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(18rem,.88fr) minmax(0,1.12fr);
  gap:1rem;
  padding:1.15rem;
  border-radius:2.4rem;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 14%, rgba(240,196,25,.18), transparent 22%),
    radial-gradient(circle at 12% 82%, rgba(196,20,57,.16), transparent 24%),
    linear-gradient(145deg, rgba(6,31,23,.99), rgba(14,56,41,.97));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 28px 70px rgba(6,40,23,.2);
}

.live-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 38%),
    linear-gradient(180deg, transparent, rgba(255,255,255,.02));
  pointer-events:none;
}

.live-copy,
.live-embed{
  position:relative;
  z-index:1;
}

.live-copy{
  display:grid;
  align-content:start;
  padding:1.45rem;
  border-radius:2rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}

.live-copy .section-heading__eyebrow{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.12);
  color:var(--gold-soft);
  box-shadow:none;
}

.live-copy .section-heading__title{
  margin-top:.95rem;
  max-width:18ch;
  color:var(--white);
}

.live-copy__text{
  margin-top:1rem;
  color:rgba(255,255,255,.78);
  font-size:1rem;
  line-height:1.95;
  font-weight:700;
}

.live-copy__meta{
  display:flex;
  gap:.65rem;
  flex-wrap:wrap;
  margin-top:1.15rem;
}

.live-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.35rem;
  padding:.55rem .95rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.84);
  font-size:.82rem;
  font-weight:900;
}

.live-chip--accent{
  background:rgba(240,196,25,.14);
  border-color:rgba(240,196,25,.22);
  color:var(--gold-soft);
}

.live-copy__actions{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:1.4rem;
}

.live-embed{
  display:grid;
  gap:.85rem;
  align-content:start;
}

.live-player{
  display:grid;
  gap:1rem;
  padding:1rem;
  border-radius:2rem;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 22px 58px rgba(6,40,23,.18);
}

.live-player__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.live-player__status{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  color:var(--white);
  font-size:.88rem;
  font-weight:900;
}

.live-player__status strong{
  color:var(--white);
}

.live-player__status span:last-child{
  color:rgba(255,255,255,.72);
  font-size:.8rem;
}

.live-player__dot{
  width:.78rem;
  height:.78rem;
  border-radius:50%;
  background:var(--copper);
  box-shadow:0 0 0 .35rem rgba(196,20,57,.18);
  animation:pulseDot 2.2s ease-in-out infinite;
}

.live-player__controls{
  display:flex;
  align-items:center;
  gap:.6rem;
  flex-wrap:wrap;
}

.player-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.65rem;
  padding:.65rem .95rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:var(--white);
  font-size:.84rem;
  font-weight:900;
  cursor:pointer;
  transition:transform .22s ease, background-color .22s ease, border-color .22s ease;
}

.player-action:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.22);
}

.live-player__viewport{
  width:min(100%, var(--live-viewport-width, 760px));
  margin-inline:auto;
  padding:.8rem;
  border-radius:1.85rem;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-xl);
}

.live-player__frame{
  display:block;
  width:100%;
  height:var(--live-frame-height, auto);
  border:0;
  border-radius:1.3rem;
  background:var(--white);
}

.live-player:fullscreen,
.live-player:-webkit-full-screen{
  width:100%;
  height:100%;
  padding:1rem;
  border-radius:0;
  background:rgba(6,31,23,.98);
  overflow:auto;
}

.live-player:fullscreen .live-player__top,
.live-player:-webkit-full-screen .live-player__top{
  position:sticky;
  top:0;
  z-index:2;
  padding-bottom:.35rem;
  background:linear-gradient(180deg, rgba(6,31,23,.98), rgba(6,31,23,.82));
}

.live-player:fullscreen .live-player__viewport,
.live-player:-webkit-full-screen .live-player__viewport{
  margin:auto;
}

.live-shell.is-expanded-live{
  grid-template-columns:1fr;
}

.live-shell.is-expanded-live .live-embed{
  order:1;
}

.live-shell.is-expanded-live .live-copy{
  order:2;
}

.live-embed__frame{
  padding:1rem;
  border-radius:2rem;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-xl);
}

.live-embed__frame iframe{
  display:block;
  width:100%;
  min-height:33.5rem;
  border-radius:1.45rem;
  background:var(--white);
}

.live-embed__caption{
  padding:1rem 1.15rem;
  border-radius:1.5rem;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

.live-embed__caption strong{
  display:block;
  color:var(--white);
  font-size:.98rem;
}

.live-embed__caption p{
  margin-top:.45rem;
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.8;
  font-weight:700;
}

@media (max-width: 1024px){
  .live-shell{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .live-shell,
  .live-copy{
    padding:1rem;
  }

  .live-copy__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .live-embed__frame{
    padding:.75rem;
  }

  .live-embed__frame iframe{
    min-height:29rem;
  }

  .live-player{
    padding:.85rem;
  }

  .live-player__top,
  .live-player__controls{
    flex-direction:column;
    align-items:stretch;
  }

  .player-action{
    width:100%;
  }

  .live-player__viewport{
    padding:.6rem;
  }
}

@keyframes pulseDot{
  0%, 100%{
    transform:scale(1);
    opacity:1;
  }

  50%{
    transform:scale(1.08);
    opacity:.82;
  }
}

.brand__logo-mark{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  border-radius:1.1rem;
  background:linear-gradient(145deg, var(--forest-800), var(--forest-700));
  color:var(--white);
  font-family:var(--display-font);
  font-size:.9rem;
  font-weight:1000;
  line-height:1.2;
  text-align:center;
  padding:.35rem;
}

.hero__signal{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.5rem;
  padding:.55rem 1rem;
  border-radius:999px;
  background:rgba(6,31,23,.08);
  color:var(--forest-800);
  font-size:.82rem;
  font-weight:1000;
  border:1px solid rgba(6,31,23,.08);
}

.hero__visual{
  align-content:start;
}

.hero-note{
  padding:1.25rem 1.35rem;
  border-radius:1.9rem;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,241,230,.9));
}

.hero-note__label{
  display:inline-flex;
  min-height:2.1rem;
  padding:.5rem .85rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
  font-size:.8rem;
  font-weight:1000;
}

.hero-note p{
  margin-top:.8rem;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.9;
  font-weight:700;
}

.live-access-card{
  padding:1.4rem;
  border-radius:2rem;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-xl);
}

.live-access-card__label{
  display:inline-flex;
  min-height:2.1rem;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
  font-size:.8rem;
  font-weight:1000;
}

.live-access-card h3{
  margin-top:1rem;
  color:var(--forest-900);
  font-size:1.5rem;
  line-height:1.4;
}

.live-access-card p{
  margin-top:.8rem;
  color:var(--muted);
  font-size:.97rem;
  line-height:1.9;
  font-weight:700;
}

.live-access-card__actions{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:1.25rem;
}

.donate-contact-card{
  padding:1.45rem;
  border-radius:2rem;
  background:
    radial-gradient(circle at 88% 16%, rgba(240,196,25,.16), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,241,230,.92));
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-xl);
}

.donate-contact-card__label{
  display:inline-flex;
  min-height:2.1rem;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
  font-size:.8rem;
  font-weight:1000;
}

.donate-contact-card h3{
  margin-top:1rem;
  color:var(--forest-900);
  font-size:1.45rem;
  line-height:1.45;
}

.donate-contact-card p{
  margin-top:.8rem;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.9;
  font-weight:700;
}

.donate-contact-card__list{
  display:grid;
  gap:.7rem;
  margin-top:1rem;
  padding-right:1.1rem;
  color:var(--forest-900);
  font-size:.92rem;
  line-height:1.85;
  font-weight:800;
}

.donate-contact-card__actions{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:1.25rem;
}

@media (max-width: 860px){
  .live-access-card__actions,
  .donate-contact-card__actions{
    flex-direction:column;
    align-items:stretch;
  }
}

/* Publishing-ready polish */
.site-footer__logo{
  width:4rem;
  height:4rem;
  padding:.42rem;
  border-radius:1.35rem;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 36px rgba(0,0,0,.16);
}

.hero__grid,
.story__layout,
.funds__layout,
.news-layout,
.contact-board,
.donate__layout{
  align-items:stretch;
}

.hero__title{
  width:fit-content;
  max-width:100%;
  font-size:clamp(2.5rem, 5vw, 4.25rem);
  line-height:1.26;
  text-wrap:balance;
}

.hero__title span{
  margin-top:.25rem;
}

.section-heading{
  align-items:start;
}

.section-heading__title,
.contact-board__copy .section-heading__title,
.live-copy .section-heading__title{
  width:fit-content;
  max-width:100%;
  font-size:clamp(1.95rem, 3.2vw, 2.85rem);
  line-height:1.42;
  text-wrap:balance;
}

.contact-board__copy .section-heading__title,
.live-copy .section-heading__title{
  font-size:clamp(1.85rem, 2.8vw, 2.45rem);
}

.section-heading__text,
.hero__lead,
.contact-board__text,
.donate__copy p,
.news-featured__text{
  font-size:.97rem;
  line-height:1.9;
}

.hero-panel h2,
.funds__sidebar h3,
.donate-contact-card h3{
  font-size:clamp(1.22rem, 1.9vw, 1.55rem);
  line-height:1.48;
}

.hero__trust,
.hero-metrics,
.support-tracks,
.activities-grid,
.contact-board__grid{
  align-items:stretch;
  grid-auto-rows:1fr;
}

.trust-pill,
.metric-card,
.hero-panel,
.hero-note,
.story__panel,
.story-step,
.support-track,
.activity-card,
.news-featured,
.news-card,
.contact-card,
.donate-contact-card{
  height:100%;
}

.metric-card,
.support-track,
.activity-card,
.news-card,
.contact-card{
  display:flex;
  flex-direction:column;
}

.support-track__head,
.activity-card__head,
.news-card__head{
  gap:.75rem;
}

.support-track__head > *,
.activity-card__head > *,
.news-card__head > *{
  min-width:0;
}

.support-track__title,
.activity-card__title,
.news-card__title,
.contact-card strong{
  overflow-wrap:anywhere;
}

.support-track__text,
.activity-card__text,
.news-card__text,
.contact-card p{
  font-size:.92rem;
  line-height:1.82;
}

.support-track__meter,
.activity-card__meta,
.news-card__foot,
.contact-card p{
  margin-top:auto;
}

.activity-card__meta{
  gap:.45rem;
}

.activity-card__meta span{
  overflow-wrap:anywhere;
}

.activity-card .button{
  margin-top:.85rem;
  align-self:flex-start;
}

.news-featured{
  gap:.9rem;
}

.news-featured__title{
  font-size:clamp(1.4rem, 2.3vw, 1.95rem);
  line-height:1.4;
}

.donate__copy h2{
  width:fit-content;
  max-width:100%;
  font-size:clamp(2.1rem, 3.9vw, 3.15rem);
  line-height:1.26;
  text-wrap:balance;
}

.offices-shell{
  display:grid;
  gap:1.35rem;
}

.offices-intro{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(20rem,.92fr);
  gap:1.2rem;
  padding:1.5rem;
  background:
    radial-gradient(circle at 88% 18%, rgba(240,196,25,.18), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(242,248,244,.92));
}

.offices-intro__copy{
  display:grid;
  gap:.8rem;
}

.offices-intro__eyebrow,
.office-focus__eyebrow,
.office-network__eyebrow,
.offices-map__label,
.office-detail__eyebrow{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  min-height:2.2rem;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
  font-size:.8rem;
  font-weight:1000;
}

.offices-intro h3,
.offices-map h3,
.office-focus__head h3,
.office-network__head h3{
  color:var(--forest-900);
  font-size:clamp(1.35rem, 2.2vw, 1.85rem);
  line-height:1.42;
}

.offices-intro p,
.offices-map__hint,
.office-focus__head p,
.office-network__head p,
.office-detail__text,
.office-detail__note{
  color:var(--muted);
  font-size:.96rem;
  line-height:1.9;
  font-weight:700;
}

.office-map-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
}

.office-map-stat{
  display:grid;
  gap:.45rem;
  align-content:start;
  padding:1rem;
  border-radius:1.55rem;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-md);
}

.office-map-stat__label{
  color:var(--muted);
  font-size:.77rem;
  font-weight:900;
}

.office-map-stat__value{
  color:var(--forest-900);
  font-size:1.1rem;
  line-height:1.55;
}

.offices-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(19rem,.92fr);
  gap:1.2rem;
  align-items:start;
}

.offices-map{
  padding:1.4rem;
  background:
    radial-gradient(circle at 16% 12%, rgba(10,138,69,.08), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,241,230,.92));
}

.offices-map__head,
.office-focus__head,
.office-network__head,
.office-detail__top{
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:1rem;
}

.offices-map__head{
  margin-bottom:1rem;
}

.offices-map__hint{
  max-width:22rem;
}

.offices-map__board{
  position:relative;
  min-height:39rem;
  overflow:hidden;
  border-radius:2rem;
  border:1px solid rgba(6,31,23,.08);
  background:
    radial-gradient(circle at 18% 24%, rgba(240,196,25,.12), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(236,244,237,.96));
  box-shadow:var(--shadow-xl);
}

.office-vector-map{
  display:block;
  width:100%;
  height:100%;
  min-height:39rem;
}

.office-vector-map__district{
  stroke:#fff;
  stroke-width:4;
  opacity:.97;
}

.office-vector-map__district--north{
  fill:rgba(240,196,25,.18);
}

.office-vector-map__district--center{
  fill:rgba(10,138,69,.16);
}

.office-vector-map__district--south{
  fill:rgba(196,20,57,.12);
}

.office-vector-map__route{
  fill:none;
  stroke:url(#officeMapRoute);
  stroke-width:8;
  stroke-linecap:round;
  stroke-dasharray:18 13;
  animation:officeRouteFlow 12s linear infinite;
}

.office-vector-map__halo{
  fill:url(#officeMapGlow);
  opacity:.9;
}

.office-vector-map__focus{
  stroke:#fff;
  stroke-width:6;
}

.office-vector-map__focus--north{
  fill:var(--forest-800);
}

.office-vector-map__focus--center{
  fill:var(--gold);
}

.office-vector-map__focus--south{
  fill:var(--copper);
}

.office-vector-map__caption{
  fill:var(--forest-950);
  font-family:var(--display-font);
  font-size:28px;
  font-weight:900;
}

.office-vector-map__tag{
  fill:rgba(24,50,39,.72);
  font-family:var(--body-font);
  font-size:21px;
  font-weight:800;
}

.office-marker-layer{
  position:absolute;
  inset:0;
}

.office-map-marker{
  position:absolute;
  top:calc(var(--office-y) * 1%);
  left:calc(var(--office-x) * 1%);
  width:4rem;
  height:4rem;
  padding:0;
  border:none;
  background:none;
  cursor:pointer;
  z-index:2;
  transform:translate(-50%, -50%);
}

.office-map-marker__pulse{
  position:absolute;
  top:50%;
  left:50%;
  width:3.8rem;
  height:3.8rem;
  border-radius:50%;
  background:rgba(10,138,69,.16);
  transform:translate(-50%, -50%);
  animation:officePulse 3.2s ease-out infinite;
}

.office-map-marker__core{
  position:absolute;
  top:50%;
  left:50%;
  width:1.3rem;
  height:1.3rem;
  border-radius:50%;
  background:#fff;
  border:5px solid var(--forest-800);
  transform:translate(-50%, -50%);
  box-shadow:0 16px 28px rgba(6,40,23,.18);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.office-map-marker__label{
  position:absolute;
  top:calc(50% - 3.4rem);
  left:50%;
  padding:.55rem .9rem;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(6,31,23,.08);
  color:var(--forest-900);
  font-size:.82rem;
  font-weight:1000;
  white-space:nowrap;
  transform:translate(-50%, -50%);
  box-shadow:var(--shadow-md);
  transition:transform .25s ease, background .25s ease, color .25s ease;
}

.office-map-marker[data-office-tone="hq"] .office-map-marker__core{
  border-color:var(--gold);
}

.office-map-marker[data-office-tone="axis"] .office-map-marker__core{
  border-color:var(--copper);
}

.office-map-marker[data-office-tone="hq"] .office-map-marker__pulse{
  background:rgba(240,196,25,.18);
}

.office-map-marker[data-office-tone="axis"] .office-map-marker__pulse{
  background:rgba(196,20,57,.14);
}

.office-map-marker:hover .office-map-marker__core,
.office-map-marker.is-active .office-map-marker__core{
  transform:translate(-50%, -50%) scale(1.15);
  box-shadow:0 20px 32px rgba(6,40,23,.22);
}

.office-map-marker:hover .office-map-marker__label,
.office-map-marker.is-active .office-map-marker__label{
  transform:translate(-50%, calc(-50% - .18rem));
}

.office-map-marker.is-active .office-map-marker__label{
  background:var(--forest-950);
  color:var(--white);
}

.office-map-marker:focus-visible{
  outline:none;
}

.office-map-marker:focus-visible .office-map-marker__core{
  transform:translate(-50%, -50%) scale(1.15);
  box-shadow:0 0 0 6px rgba(240,196,25,.34), 0 20px 32px rgba(6,40,23,.22);
}

.offices-map__legend{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  margin-top:1rem;
  color:var(--forest-900);
  font-size:.87rem;
  font-weight:900;
}

.offices-map__legend span{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}

.office-legend__dot{
  width:.85rem;
  height:.85rem;
  border-radius:50%;
  box-shadow:0 0 0 6px rgba(255,255,255,.58);
}

.office-legend__dot--hq{
  background:var(--gold);
}

.office-legend__dot--office{
  background:var(--forest-800);
}

.office-legend__dot--axis{
  background:var(--copper);
}

.offices-side{
  display:grid;
  gap:1rem;
}

.office-detail{
  padding:1.45rem;
  background:
    radial-gradient(circle at 88% 14%, rgba(240,196,25,.14), transparent 24%),
    linear-gradient(160deg, rgba(255,255,255,.98), rgba(245,239,228,.94));
}

.office-detail__index{
  display:inline-flex;
  align-items:center;
  min-height:2.2rem;
  padding:.5rem .85rem;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:var(--forest-900);
  font-size:.8rem;
  font-weight:1000;
  border:1px solid rgba(6,31,23,.08);
}

.office-detail__title{
  margin-top:.85rem;
  color:var(--forest-900);
  font-size:clamp(1.55rem, 2.5vw, 2.1rem);
  line-height:1.38;
}

.office-detail__region{
  margin-top:.5rem;
  color:var(--copper);
  font-size:.9rem;
  font-weight:900;
}

.office-detail__text{
  margin-top:.95rem;
}

.office-detail__meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  margin-top:1rem;
}

.office-detail__meta-card{
  display:grid;
  gap:.45rem;
  padding:1rem;
  border-radius:1.5rem;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(6,31,23,.08);
}

.office-detail__meta-card span{
  color:var(--muted);
  font-size:.76rem;
  font-weight:900;
}

.office-detail__meta-card strong{
  color:var(--forest-900);
  font-size:.94rem;
  line-height:1.8;
}

.office-detail__phones{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1rem;
}

.office-detail__phone{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.75rem;
  padding:.72rem .95rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-900);
  font-size:.88rem;
  font-weight:1000;
  transition:transform .25s ease, background .25s ease;
}

.office-detail__phone:hover{
  transform:translateY(-2px);
  background:rgba(17,80,58,.12);
}

.office-detail__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.1rem;
}

.office-detail__note{
  margin-top:1rem;
}

.office-detail__empty{
  display:inline-flex;
  align-items:center;
  min-height:3rem;
  padding:.72rem 1rem;
  border-radius:999px;
  background:rgba(196,20,57,.08);
  color:var(--copper);
  font-size:.88rem;
  font-weight:900;
}

.office-focus{
  display:grid;
  gap:.9rem;
}

.office-focus__list{
  display:grid;
  gap:.85rem;
}

.office-focus-card{
  width:100%;
  padding:1.15rem 1.2rem;
  text-align:right;
  cursor:pointer;
}

.office-focus-card__badge{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.42rem .8rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-800);
  font-size:.76rem;
  font-weight:1000;
}

.office-focus-card__title{
  display:block;
  margin-top:.8rem;
  color:var(--forest-900);
  font-size:1.08rem;
  line-height:1.65;
}

.office-focus-card__meta{
  margin-top:.5rem;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.85;
  font-weight:700;
}

.office-focus-card__hint{
  display:inline-flex;
  margin-top:.75rem;
  color:var(--copper);
  font-size:.82rem;
  font-weight:1000;
}

.office-focus-card.is-active{
  border-color:rgba(10,138,69,.24);
  box-shadow:0 18px 38px rgba(6,40,23,.14);
  transform:translateY(-.18rem);
}

.office-focus-card.is-active .office-focus-card__badge{
  background:rgba(240,196,25,.18);
  color:var(--forest-950);
}

.office-network{
  padding:1.35rem;
  border-radius:2.2rem;
  background:
    radial-gradient(circle at 84% 16%, rgba(10,138,69,.08), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(250,245,236,.9));
  border:1px solid rgba(6,31,23,.08);
  box-shadow:var(--shadow-lg);
}

.office-network__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;
  margin-top:1.15rem;
}

.office-network-card{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  padding:1.15rem;
  border-radius:1.8rem;
}

.office-network-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}

.office-network-card__index{
  display:inline-flex;
  align-items:center;
  min-height:1.95rem;
  padding:.34rem .7rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-900);
  font-size:.78rem;
  font-weight:1000;
}

.office-network-card__municipality{
  color:var(--muted);
  font-size:.8rem;
  font-weight:900;
}

.office-network-card__title{
  color:var(--forest-900);
  font-size:1rem;
  line-height:1.7;
}

.office-network-card__text{
  color:var(--muted);
  font-size:.89rem;
  line-height:1.85;
  font-weight:700;
}

.office-network-card__actions{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  margin-top:auto;
}

.office-network-card__actions .button{
  flex:1 1 11rem;
  min-width:0;
}

.office-network-card__call{
  overflow-wrap:anywhere;
}

.button.is-disabled,
.office-network-card__actions .is-disabled{
  pointer-events:none;
  opacity:.55;
  filter:saturate(.65);
}

@keyframes officePulse{
  0%{
    transform:translate(-50%, -50%) scale(.55);
    opacity:.85;
  }
  70%{
    transform:translate(-50%, -50%) scale(1.18);
    opacity:0;
  }
  100%{
    transform:translate(-50%, -50%) scale(1.18);
    opacity:0;
  }
}

@keyframes officeRouteFlow{
  from{
    stroke-dashoffset:0;
  }
  to{
    stroke-dashoffset:-620;
  }
}

@media (max-width: 1200px){
  .offices-layout{
    grid-template-columns:1fr;
  }

  .office-network__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 1024px){
  .offices-intro{
    grid-template-columns:1fr;
  }

  .office-map-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .offices-map__head,
  .office-focus__head,
  .office-network__head,
  .office-detail__top{
    flex-direction:column;
  }

  .offices-map__hint{
    max-width:none;
  }

  .office-network__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 860px){
  .offices-map,
  .office-network,
  .office-detail{
    padding:1.15rem;
  }

  .office-map-stats{
    grid-template-columns:1fr;
  }

  .offices-map__board,
  .office-vector-map{
    min-height:31rem;
  }

  .office-detail__meta{
    grid-template-columns:1fr;
  }

  .office-network-card__actions,
  .office-detail__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .office-network__grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .offices-map__board,
  .office-vector-map{
    min-height:26rem;
  }

  .office-map-marker__label{
    font-size:.74rem;
    padding:.48rem .72rem;
  }

  .office-detail__phones{
    flex-direction:column;
  }

  .office-detail__phone{
    justify-content:flex-start;
  }
}

/* Compact realistic offices map */
.offices .section-heading{
  margin-bottom:1.2rem;
}

.offices-shell{
  gap:1rem;
}

.offices-layout{
  grid-template-columns:minmax(0,1.12fr) minmax(19rem,.88fr);
  gap:1rem;
}

.offices-side{
  gap:.8rem;
}

.offices-map{
  padding:1rem;
  border-radius:2rem;
}

.offices-map__head{
  gap:.8rem;
  margin-bottom:.75rem;
}

.offices-map__hint{
  max-width:20rem;
  font-size:.9rem;
}

.offices-map__toolbar{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:.75rem;
  margin-bottom:.85rem;
}

.offices-map__controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.55rem;
  padding:.7rem .8rem;
  border-radius:1.25rem;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(245,247,243,.84));
  border:1px solid rgba(16,47,35,.08);
}

.map-control-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.45rem;
  padding:.52rem .9rem;
  border:1px solid rgba(16,47,35,.12);
  border-radius:999px;
  background:var(--forest-950);
  color:var(--white);
  font-size:.8rem;
  font-weight:900;
  cursor:pointer;
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.map-control-button:hover{
  transform:translateY(-1px);
}

.map-control-button--ghost{
  background:rgba(255,255,255,.92);
  color:var(--forest-900);
}

.map-control-switch{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-height:2.45rem;
  padding:.45rem .78rem;
  border-radius:999px;
  background:rgba(16,47,35,.06);
  color:var(--forest-900);
  font-size:.8rem;
  font-weight:900;
  cursor:pointer;
}

.map-control-switch input{
  width:1rem;
  height:1rem;
  accent-color:var(--forest-900);
}

.office-map-stats--compact{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}

.office-map-stats--compact .office-map-stat{
  min-width:8.2rem;
  padding:.7rem .85rem;
  border-radius:1.15rem;
  box-shadow:none;
}

.office-map-stats--compact .office-map-stat__label{
  font-size:.72rem;
}

.office-map-stats--compact .office-map-stat__value{
  font-size:.95rem;
}

.offices-map__reference{
  display:grid;
  gap:.45rem;
  padding:.8rem .95rem;
  border-radius:1.35rem;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(6,31,23,.08);
}

.office-map-admin-note,
.office-map-source{
  color:var(--muted);
  font-size:.82rem;
  line-height:1.8;
  font-weight:700;
}

.office-map-source a{
  color:var(--forest-900);
  font-weight:900;
}

.office-map-footnote{
  margin-top:.8rem;
  color:var(--muted);
  font-size:.77rem;
  line-height:1.8;
  font-weight:700;
}

.office-map-footnote a{
  color:var(--forest-900);
  font-weight:900;
}

.offices-map__board{
  min-height:auto;
  padding:.7rem;
  border-radius:1.6rem;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,239,230,.95));
}

.offices-map__viewport{
  position:relative;
  width:100%;
  aspect-ratio:970 / 865;
  border-radius:1.25rem;
  overflow:hidden;
  background:#fff;
}

.office-vector-map-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.office-marker-layer{
  position:absolute;
  inset:0;
}

.office-map-marker{
  width:3.25rem;
  height:3.25rem;
}

.office-map-marker__pulse{
  width:3.2rem;
  height:3.2rem;
}

.office-map-marker__core{
  width:1.05rem;
  height:1.05rem;
  border-width:4px;
}

.office-map-marker__label{
  top:calc(50% - 2.75rem);
  padding:.42rem .72rem;
  font-size:.74rem;
}

.offices-map__legend{
  margin-top:.75rem;
  font-size:.82rem;
  gap:.6rem;
}

.office-district-key{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.75rem;
}

.office-district-key__item{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  min-height:2.2rem;
  padding:.45rem .8rem;
  border-radius:999px;
  background:rgba(17,80,58,.08);
  color:var(--forest-900);
  font-size:.8rem;
  font-weight:900;
}

.office-district-key__item strong{
  display:inline-grid;
  place-items:center;
  width:1.5rem;
  height:1.5rem;
  border-radius:50%;
  background:var(--forest-950);
  color:var(--white);
  font-size:.78rem;
}

.office-detail{
  padding:1rem;
  border-radius:1.6rem;
}

.office-detail__top{
  gap:.7rem;
}

.office-detail__title{
  margin-top:.65rem;
  font-size:1.45rem;
}

.office-detail__region{
  margin-top:.3rem;
  font-size:.84rem;
}

.office-detail__text{
  margin-top:.7rem;
  font-size:.9rem;
}

.office-detail__meta{
  grid-template-columns:1fr;
  gap:.6rem;
  margin-top:.8rem;
}

.office-detail__meta-card{
  padding:.8rem .9rem;
  border-radius:1.2rem;
}

.office-detail__meta-card strong{
  font-size:.88rem;
}

.office-detail__phones{
  gap:.45rem;
  margin-top:.8rem;
}

.office-detail__phone{
  min-height:2.4rem;
  padding:.58rem .8rem;
  font-size:.82rem;
}

.office-detail__actions{
  gap:.6rem;
  margin-top:.85rem;
}

.office-focus{
  gap:.65rem;
}

.office-focus__head{
  gap:.6rem;
}

.office-focus__head p{
  max-width:22rem;
  font-size:.84rem;
}

.office-focus__list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;
}

.office-focus-card{
  padding:.8rem .9rem;
  border-radius:1.2rem;
}

.office-focus-card__badge{
  min-height:1.75rem;
  padding:.34rem .65rem;
  font-size:.7rem;
}

.office-focus-card__title{
  margin-top:.55rem;
  font-size:.92rem;
  line-height:1.55;
}

.office-focus-card__meta{
  margin-top:.3rem;
  font-size:.78rem;
  line-height:1.6;
}

.office-focus-card__hint{
  margin-top:.45rem;
  font-size:.72rem;
}

.office-network{
  padding:1rem;
  border-radius:1.8rem;
}

.office-network__head{
  gap:.8rem;
}

.office-network__head p{
  max-width:32rem;
  font-size:.86rem;
}

.office-network__grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  max-height:20rem;
  margin-top:.85rem;
  padding-inline-end:.35rem;
  overflow:auto;
}

.office-network__grid::-webkit-scrollbar{
  width:10px;
}

.office-network__grid::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(10,138,69,.22);
}

.office-network-card{
  gap:.5rem;
  padding:.9rem .95rem;
  border-radius:1.25rem;
}

.office-network-card__municipality{
  font-size:.76rem;
}

.office-network-card__title{
  font-size:.92rem;
  line-height:1.55;
}

.office-network-card__text{
  font-size:.8rem;
  line-height:1.7;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

.office-network-card__actions{
  gap:.45rem;
}

.office-network-card__actions .button{
  min-height:2.3rem;
  padding:.52rem .7rem;
  font-size:.78rem;
  flex:1 1 8.5rem;
}

@media (max-width: 1024px){
  .offices-map__toolbar{
    grid-template-columns:1fr;
  }

  .offices-map__controls{
    justify-content:flex-start;
  }

  .office-focus__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 860px){
  .offices-layout{
    grid-template-columns:1fr;
  }

  .offices-map,
  .office-detail,
  .office-network{
    padding:.95rem;
  }

  .office-map-stats--compact .office-map-stat{
    min-width:unset;
    flex:1 1 8rem;
  }

  .offices-map__controls{
    padding:.65rem;
  }

  .offices-map__board{
    padding:.5rem;
  }

  .office-focus__list,
  .office-network__grid{
    grid-template-columns:1fr;
  }

  .office-network__grid{
    max-height:17rem;
  }
}

@media (max-width: 640px){
  .office-map-stats--compact{
    flex-direction:column;
  }

  .offices-map__controls{
    flex-direction:column;
    align-items:stretch;
  }

  .office-map-marker__label{
    top:calc(50% - 2.45rem);
  }

  .map-control-button,
  .map-control-switch{
    width:100%;
    justify-content:center;
  }
}

/* Advanced interactive office map */
.offices-map{
  background:
    linear-gradient(180deg, rgba(248,246,240,.98), rgba(239,242,236,.95));
  border:1px solid rgba(16,47,35,.09);
}

.offices-map__reference{
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(246,248,244,.82));
}

.offices-map__viewport{
  box-shadow:inset 0 0 0 1px rgba(16,47,35,.06);
}

.office-vector-map-object,
.office-vector-map-image{
  display:block;
  width:100%;
  height:100%;
}

.office-vector-map-object{
  border:0;
  background:transparent;
}

.office-map-overlay{
  position:absolute;
  z-index:4;
  width:min(18rem, calc(100% - 1.5rem));
  padding:.9rem 1rem;
  border-radius:1.15rem;
  border:1px solid rgba(16,47,35,.1);
  background:rgba(10,23,17,.9);
  color:var(--white);
  box-shadow:0 18px 45px rgba(7,25,18,.28);
  backdrop-filter:blur(16px);
  transform:translate(-50%, -50%);
  pointer-events:none;
}

.office-map-overlay__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:1.8rem;
  padding:.28rem .65rem;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.88);
  font-size:.72rem;
  font-weight:900;
}

.office-map-overlay__title{
  margin-top:.55rem;
  font-size:1rem;
  line-height:1.55;
  color:var(--white);
}

.office-map-overlay__text{
  margin-top:.35rem;
  color:rgba(255,255,255,.76);
  font-size:.8rem;
  line-height:1.7;
  font-weight:700;
}

.office-map-overlay__chips{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:.65rem;
}

.office-map-overlay__chip{
  display:inline-flex;
  align-items:center;
  min-height:1.9rem;
  padding:.32rem .62rem;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:var(--white);
  font-size:.72rem;
  font-weight:900;
}

.office-detail{
  background:
    radial-gradient(circle at 92% 14%, rgba(240,196,25,.13), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(243,245,240,.95));
}

.office-detail__district-list{
  display:grid;
  gap:.55rem;
  margin-top:.85rem;
}

.office-detail__office{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding:.72rem .82rem;
  border-radius:1rem;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(16,47,35,.07);
}

.office-detail__office-copy{
  display:grid;
  gap:.2rem;
  min-width:0;
}

.office-detail__office-copy strong{
  color:var(--forest-900);
  font-size:.87rem;
  line-height:1.6;
}

.office-detail__office-copy span{
  color:var(--muted);
  font-size:.76rem;
  line-height:1.65;
  font-weight:700;
}

.office-detail__office-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.45rem;
}

.office-detail__office-actions .button{
  min-height:2.15rem;
  padding:.42rem .66rem;
  font-size:.74rem;
}

.office-detail__micro{
  display:inline-flex;
  align-items:center;
  min-height:2.15rem;
  padding:.38rem .62rem;
  border-radius:999px;
  background:rgba(16,47,35,.08);
  color:var(--forest-900);
  font-size:.72rem;
  font-weight:900;
}

.office-detail__micro--muted{
  background:rgba(93,113,100,.12);
  color:var(--muted);
}

.office-focus-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,247,243,.92));
  border:1px solid rgba(16,47,35,.08);
}

.office-focus-card.is-active{
  border-color:rgba(15,106,67,.26);
  box-shadow:0 12px 28px rgba(10,40,30,.12);
}

.office-network{
  background:
    linear-gradient(180deg, rgba(249,248,243,.98), rgba(241,244,238,.94));
  border:1px solid rgba(16,47,35,.08);
}

.office-network__grid{
  display:flex;
  flex-direction:column;
  gap:.55rem;
}

.office-network-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.75rem;
  padding:.78rem .85rem;
  border-radius:1rem;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(16,47,35,.07);
  box-shadow:none;
}

.office-network-card__head{
  display:grid;
  justify-items:start;
  gap:.3rem;
}

.office-network-card__index{
  min-height:1.72rem;
  padding:.28rem .58rem;
  font-size:.72rem;
}

.office-network-card__municipality{
  font-size:.72rem;
}

.office-network-card__main{
  display:grid;
  gap:.18rem;
  min-width:0;
}

.office-network-card__title{
  font-size:.9rem;
}

.office-network-card__text{
  font-size:.78rem;
  -webkit-line-clamp:1;
}

.office-network-card__actions{
  justify-content:flex-end;
  margin-top:0;
}

.office-network-card__actions .button{
  min-height:2.1rem;
  padding:.38rem .65rem;
  font-size:.74rem;
}

@media (max-width: 1024px){
  .office-detail__office{
    align-items:flex-start;
  }
}

@media (max-width: 860px){
  .office-map-overlay{
    width:min(16rem, calc(100% - 1rem));
    padding:.78rem .85rem;
  }

  .office-detail__office,
  .office-network-card{
    grid-template-columns:1fr;
    align-items:flex-start;
  }

  .office-detail__office-actions,
  .office-network-card__actions{
    width:100%;
    justify-content:flex-start;
  }
}

@media (max-width: 860px){
  .site-footer__logo{
    width:3.4rem;
    height:3.4rem;
  }

  .hero__title,
  .section-heading__title,
  .contact-board__copy .section-heading__title,
  .live-copy .section-heading__title,
  .donate__copy h2{
    max-width:none;
  }
}

/* Refined office map cards */
.office-map-overlay{
  display:grid;
  gap:.78rem;
  width:min(21rem, calc(100% - .9rem));
  padding:1rem;
  border-radius:1.4rem;
  border:1px solid rgba(255,255,255,.09);
  background:
    linear-gradient(180deg, rgba(11,30,22,.95), rgba(13,40,29,.92)),
    radial-gradient(circle at top right, rgba(240,196,25,.14), transparent 38%);
  box-shadow:0 24px 62px rgba(7,24,18,.36);
  backdrop-filter:blur(18px);
  overflow:hidden;
}

.office-map-overlay::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,.28), transparent 74%);
  opacity:.6;
}

.office-map-overlay > *{
  position:relative;
  z-index:1;
  margin:0;
}

.office-map-overlay__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  flex-wrap:wrap;
}

.office-map-overlay__eyebrow{
  min-height:1.9rem;
  padding:.32rem .72rem;
  border-radius:999px;
  background:rgba(240,196,25,.14);
  color:rgba(255,255,255,.94);
  font-size:clamp(.68rem, .64rem + .18vw, .76rem);
  font-weight:900;
}

.office-map-overlay__index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.9rem;
  padding:.3rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.88);
  font-size:clamp(.68rem, .64rem + .18vw, .76rem);
  font-weight:900;
}

.office-map-overlay__title{
  color:var(--white);
  font-size:clamp(1.02rem, .95rem + .42vw, 1.22rem);
  line-height:1.45;
}

.office-map-overlay__text{
  color:rgba(255,255,255,.78);
  font-size:clamp(.82rem, .78rem + .18vw, .89rem);
  line-height:1.75;
  font-weight:700;
}

.office-map-overlay__stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.55rem;
}

.office-map-overlay__stat{
  display:grid;
  gap:.18rem;
  padding:.72rem .78rem;
  border-radius:1rem;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.06);
}

.office-map-overlay__stat strong{
  color:var(--white);
  font-size:clamp(.88rem, .84rem + .2vw, .98rem);
  line-height:1.55;
}

.office-map-overlay__stat span{
  color:rgba(255,255,255,.64);
  font-size:.71rem;
  font-weight:800;
}

.office-map-overlay__lead{
  display:grid;
  gap:.22rem;
  padding:.82rem .86rem;
  border-radius:1.05rem;
  background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.08);
}

.office-map-overlay__lead--empty{
  background:rgba(255,255,255,.06);
}

.office-map-overlay__lead-label{
  color:rgba(255,255,255,.62);
  font-size:.71rem;
  font-weight:900;
}

.office-map-overlay__lead-title{
  color:var(--white);
  font-size:clamp(.9rem, .86rem + .24vw, 1rem);
  line-height:1.55;
}

.office-map-overlay__lead-text{
  color:rgba(255,255,255,.74);
  font-size:.77rem;
  line-height:1.7;
  font-weight:800;
}

.office-detail{
  padding:clamp(1rem, .92rem + .5vw, 1.3rem);
  border-radius:1.8rem;
}

.office-detail__shell{
  display:grid;
  gap:clamp(.9rem, .78rem + .55vw, 1.2rem);
}

.office-detail__hero{
  display:grid;
  gap:.78rem;
  padding:clamp(1rem, .92rem + .45vw, 1.2rem);
  border-radius:1.4rem;
  background:
    radial-gradient(circle at top left, rgba(240,196,25,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,248,244,.86));
  border:1px solid rgba(16,47,35,.08);
}

.office-detail__hero-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.7rem;
  flex-wrap:wrap;
}

.office-detail__hero-main{
  display:grid;
  gap:.35rem;
}

.office-detail__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:1.95rem;
  padding:.32rem .76rem;
  border-radius:999px;
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
  font-size:clamp(.69rem, .66rem + .16vw, .76rem);
  font-weight:900;
}

.office-detail__index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.95rem;
  padding:.32rem .8rem;
  border-radius:999px;
  background:var(--forest-950);
  color:var(--white);
  font-size:clamp(.69rem, .66rem + .16vw, .76rem);
  font-weight:900;
}

.office-detail__region{
  margin:0;
  color:var(--muted);
  font-size:clamp(.78rem, .75rem + .16vw, .84rem);
  font-weight:800;
}

.office-detail__title{
  margin:0;
  color:var(--forest-900);
  font-size:clamp(1.35rem, 1.12rem + .95vw, 1.95rem);
  line-height:1.38;
}

.office-detail__text{
  margin:0;
  max-width:42rem;
  color:var(--muted);
  font-size:clamp(.92rem, .88rem + .18vw, 1rem);
  line-height:1.9;
  font-weight:700;
}

.office-detail__insights{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.68rem;
}

.office-detail__insight{
  display:grid;
  gap:.16rem;
  padding:.84rem .9rem;
  border-radius:1.12rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(16,47,35,.07);
  box-shadow:0 10px 24px rgba(16,47,35,.05);
}

.office-detail__insight span{
  color:var(--muted);
  font-size:.73rem;
  font-weight:900;
}

.office-detail__insight strong{
  color:var(--forest-900);
  font-size:clamp(.96rem, .9rem + .22vw, 1.08rem);
  line-height:1.55;
}

.office-detail__insight small{
  color:var(--muted);
  font-size:.72rem;
  font-weight:700;
}

.office-detail__section{
  display:grid;
  gap:.72rem;
  padding:clamp(.92rem, .86rem + .25vw, 1.05rem);
  border-radius:1.35rem;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(16,47,35,.08);
}

.office-detail__section--primary{
  background:
    linear-gradient(180deg, rgba(248,249,245,.92), rgba(244,246,241,.88));
}

.office-detail__section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
}

.office-detail__section-head > div{
  display:grid;
  gap:.2rem;
}

.office-detail__section-head h4{
  margin:0;
  color:var(--forest-900);
  font-size:clamp(.98rem, .94rem + .24vw, 1.12rem);
  line-height:1.5;
}

.office-detail__section-eyebrow{
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
}

.office-detail__tag,
.office-detail__section-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.95rem;
  padding:.32rem .78rem;
  border-radius:999px;
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
  font-size:.72rem;
  font-weight:900;
}

.office-detail__primary{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:.8rem;
  align-items:start;
  padding:.86rem .9rem;
  border-radius:1.15rem;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,249,246,.88));
  border:1px solid rgba(16,47,35,.08);
}

.office-detail__primary-main{
  display:grid;
  gap:.72rem;
  min-width:0;
}

.office-detail__primary-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.65rem;
}

.office-detail__primary-title{
  margin:0;
  color:var(--forest-900);
  font-size:clamp(1rem, .95rem + .28vw, 1.14rem);
  line-height:1.55;
}

.office-detail__primary-subtitle{
  margin:.18rem 0 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.75;
  font-weight:800;
}

.office-detail__primary-text{
  margin:0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.85;
  font-weight:700;
}

.office-detail__facts{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.58rem;
}

.office-detail__fact{
  display:grid;
  gap:.18rem;
  padding:.72rem .78rem;
  border-radius:1rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(16,47,35,.06);
}

.office-detail__fact span{
  color:var(--muted);
  font-size:.71rem;
  font-weight:900;
}

.office-detail__fact strong{
  color:var(--forest-900);
  font-size:.82rem;
  line-height:1.8;
}

.office-detail__contacts{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.office-detail__contact-chip{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.35rem .72rem;
  border-radius:999px;
  background:rgba(16,47,35,.07);
  color:var(--forest-900);
  font-size:.75rem;
  font-weight:900;
}

.office-detail__primary-actions{
  display:grid;
  gap:.5rem;
  align-self:stretch;
  min-width:11rem;
}

.office-detail__primary-actions .button,
.office-detail__primary-actions .office-detail__micro{
  width:100%;
  justify-content:center;
  min-height:2.45rem;
  padding:.5rem .76rem;
  font-size:.78rem;
}

.office-detail__district-list{
  display:grid;
  gap:.62rem;
  margin-top:0;
}

.office-detail__office{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:.72rem;
  padding:.8rem .88rem;
  border-radius:1.08rem;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(16,47,35,.07);
}

.office-detail__office-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:3.15rem;
  min-height:2.2rem;
  padding:.32rem .68rem;
  border-radius:999px;
  background:rgba(16,47,35,.08);
  color:var(--forest-900);
  font-size:.74rem;
  font-weight:900;
}

.office-detail__office-copy{
  display:grid;
  gap:.28rem;
  min-width:0;
}

.office-detail__office-head{
  display:grid;
  gap:.14rem;
}

.office-detail__office-copy strong{
  color:var(--forest-900);
  font-size:clamp(.9rem, .86rem + .16vw, .98rem);
  line-height:1.55;
}

.office-detail__office-head span{
  color:var(--muted);
  font-size:.74rem;
  font-weight:900;
}

.office-detail__office-address{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.8;
  font-weight:700;
}

.office-detail__office-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.42rem;
}

.office-detail__office-actions .button,
.office-detail__office-actions .office-detail__micro{
  min-height:2.15rem;
  padding:.42rem .66rem;
  font-size:.74rem;
}

.office-detail__micro{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.15rem;
  padding:.42rem .66rem;
  border-radius:999px;
  background:rgba(16,47,35,.08);
  color:var(--forest-900);
  font-size:.72rem;
  font-weight:900;
}

.office-detail__micro--muted{
  background:rgba(93,113,100,.12);
  color:var(--muted);
}

.office-detail__more{
  margin:0;
  color:var(--muted);
  font-size:.77rem;
  line-height:1.8;
  font-weight:800;
}

.office-detail__notes{
  display:grid;
  gap:.55rem;
}

.office-detail__note{
  margin:0;
  padding:.72rem .84rem;
  border-radius:1rem;
  background:rgba(255,250,240,.88);
  border:1px solid rgba(157,122,47,.12);
  color:var(--forest-900);
  font-size:.77rem;
  line-height:1.85;
  font-weight:800;
}

.office-detail__empty{
  margin:0;
  padding:1rem;
  border-radius:1.05rem;
  background:rgba(255,255,255,.74);
  border:1px dashed rgba(16,47,35,.14);
  color:var(--muted);
  font-size:.82rem;
  line-height:1.85;
  text-align:center;
}

.office-detail__empty-state{
  display:grid;
  gap:.7rem;
  padding:.96rem 1rem;
  border-radius:1.22rem;
  background:rgba(255,255,255,.74);
  border:1px dashed rgba(16,47,35,.12);
}

.office-detail__empty-copy{
  margin:0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.85;
  font-weight:700;
}

.office-detail__guide{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.office-detail__guide-item{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.34rem .72rem;
  border-radius:999px;
  background:rgba(16,47,35,.07);
  color:var(--forest-900);
  font-size:.73rem;
  font-weight:900;
}

@media (max-width: 1120px){
  .office-detail__insights{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .office-detail__primary{
    grid-template-columns:1fr;
  }

  .office-detail__primary-actions{
    min-width:0;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px){
  .office-map-overlay{
    width:min(18.5rem, calc(100% - .8rem));
    gap:.68rem;
    padding:.88rem;
    border-radius:1.22rem;
  }

  .office-map-overlay__stats,
  .office-detail__insights,
  .office-detail__facts{
    grid-template-columns:1fr;
  }

  .office-detail__hero,
  .office-detail__section{
    padding:.9rem;
  }

  .office-detail__office{
    grid-template-columns:1fr;
    align-items:flex-start;
  }

  .office-detail__office-actions,
  .office-detail__primary-actions{
    width:100%;
    justify-content:flex-start;
  }
}

@media (max-width: 640px){
  .office-map-overlay{
    width:min(17.4rem, calc(100% - .75rem));
    padding:.82rem;
  }

  .office-map-overlay__top,
  .office-detail__hero-top,
  .office-detail__section-head{
    align-items:flex-start;
  }

  .office-detail__insights{
    grid-template-columns:1fr;
  }

  .office-detail__primary-actions{
    grid-template-columns:1fr;
  }

  .office-detail__office-actions{
    justify-content:stretch;
  }

  .office-detail__office-actions .button,
  .office-detail__office-actions .office-detail__micro,
  .office-detail__primary-actions .button,
  .office-detail__primary-actions .office-detail__micro{
    width:100%;
  }

  .office-detail__office-index,
  .office-detail__tag,
  .office-detail__section-count,
  .office-detail__index{
    width:fit-content;
  }
}

/* Rebuilt office explorer */
.offices-shell{
  display:grid;
  gap:1rem;
}

.office-explorer,
.office-directory{
  border:1px solid rgba(16,47,35,.08);
  background:
    radial-gradient(circle at top right, rgba(240,196,25,.08), transparent 24%),
    linear-gradient(180deg, rgba(248,247,242,.98), rgba(241,244,238,.95));
}

.office-explorer{
  display:grid;
  gap:1rem;
  padding:clamp(1rem, .92rem + .45vw, 1.35rem);
  border-radius:2rem;
}

.office-explorer__top,
.office-directory__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

.office-explorer__eyebrow,
.office-directory__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:1.9rem;
  padding:.3rem .72rem;
  border-radius:999px;
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
  font-size:.72rem;
  font-weight:900;
}

.office-explorer__top h3,
.office-directory__head h3{
  margin:.45rem 0 0;
  color:var(--forest-900);
  font-size:clamp(1.22rem, 1.06rem + .72vw, 1.72rem);
  line-height:1.4;
}

.office-explorer__top p,
.office-directory__summary{
  margin:0;
  max-width:36rem;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.9;
  font-weight:700;
}

.office-explorer__toolbar{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:.9rem;
  align-items:start;
}

.office-map-stats--explorer{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.65rem;
}

.office-map-stats--explorer .office-map-stat{
  padding:.8rem .9rem;
  border-radius:1.2rem;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(16,47,35,.07);
  box-shadow:none;
}

.office-map-stats--explorer .office-map-stat__label{
  color:var(--muted);
  font-size:.73rem;
  font-weight:800;
}

.office-map-stats--explorer .office-map-stat__value{
  color:var(--forest-900);
  font-size:.96rem;
}

.office-explorer__actions{
  display:grid;
  gap:.8rem;
}

.office-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}

.office-filter-chip{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.45rem;
  padding:.5rem .9rem;
  border:1px solid rgba(16,47,35,.12);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--forest-900);
  font:inherit;
  font-size:.8rem;
  font-weight:900;
  cursor:pointer;
  transition:transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
}

.office-filter-chip:hover,
.office-filter-chip:focus-visible{
  transform:translateY(-1px);
}

.office-filter-chip.is-active{
  border-color:rgba(15,106,67,.22);
  background:var(--forest-950);
  color:var(--white);
}

.office-explorer__search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.75rem;
  align-items:end;
}

.office-search-field{
  display:grid;
  gap:.42rem;
}

.office-search-field span{
  color:var(--muted);
  font-size:.73rem;
  font-weight:900;
}

.office-search-field input{
  width:100%;
  min-height:3rem;
  padding:0 .95rem;
  border:1px solid rgba(16,47,35,.12);
  border-radius:1rem;
  background:rgba(255,255,255,.84);
  color:var(--forest-900);
  font:inherit;
  outline:none;
  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.office-search-field input::placeholder{
  color:rgba(93,113,100,.82);
}

.office-search-field input:focus{
  border-color:rgba(15,106,67,.28);
  box-shadow:0 0 0 4px rgba(15,106,67,.08);
  background:var(--white);
}

.office-reset-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3rem;
  padding:0 1rem;
  border:1px solid rgba(16,47,35,.12);
  border-radius:1rem;
  background:rgba(255,255,255,.76);
  color:var(--forest-900);
  font:inherit;
  font-weight:900;
  cursor:pointer;
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.office-reset-button:hover,
.office-reset-button:focus-visible{
  transform:translateY(-1px);
  background:var(--white);
}

.office-explorer__body{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);
  gap:1rem;
  align-items:start;
}

.office-stage{
  position:relative;
  min-height:34rem;
  border-radius:1.85rem;
  overflow:hidden;
  padding:1rem;
  background:
    radial-gradient(circle at 18% 22%, rgba(240,196,25,.18), transparent 28%),
    radial-gradient(circle at 78% 18%, rgba(15,106,67,.12), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,247,241,.88));
  border:1px solid rgba(16,47,35,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}

.office-stage::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(16,47,35,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,47,35,.035) 1px, transparent 1px);
  background-size:4.6rem 4.6rem;
  opacity:.65;
  pointer-events:none;
}

.office-stage__zones{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.office-stage__zone{
  position:absolute;
  display:inline-flex;
  align-items:center;
  min-height:1.9rem;
  padding:.28rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.76);
  color:var(--forest-900);
  font-size:.72rem;
  font-weight:900;
  box-shadow:0 10px 26px rgba(16,47,35,.06);
}

.office-stage__zone--north{ top:1rem; right:1rem; }
.office-stage__zone--center{ top:42%; right:1rem; }
.office-stage__zone--south{ bottom:4.75rem; left:1rem; }

.office-stage__connections{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
}

.office-stage__connection{
  fill:none;
  stroke:rgba(33,74,57,.22);
  stroke-width:.7;
  stroke-linecap:round;
  stroke-dasharray:2.4 5.2;
  animation:officeStageFlow 18s linear infinite;
}

.office-stage__connection.is-dimmed{
  opacity:.18;
}

.office-stage__connection.is-selected{
  stroke:rgba(15,106,67,.55);
  stroke-width:.95;
}

.office-stage__nodes{
  position:relative;
  z-index:2;
  min-height:31.5rem;
}

.office-stage-node{
  --office-node-bg:rgba(255,255,255,.88);
  --office-node-border:rgba(16,47,35,.08);
  --office-node-ink:var(--forest-900);
  --office-node-soft:rgba(16,47,35,.06);
  appearance:none;
  position:absolute;
  top:calc(var(--node-y) * 1%);
  left:calc(var(--node-x) * 1%);
  transform:translate(-50%, -50%);
  width:7rem;
  display:grid;
  gap:.35rem;
  padding:.78rem .82rem;
  border:1px solid var(--office-node-border);
  border-radius:1.35rem;
  background:var(--office-node-bg);
  color:var(--office-node-ink);
  font:inherit;
  text-align:right;
  box-shadow:0 18px 34px rgba(16,47,35,.09);
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, opacity .22s ease;
}

.office-stage-node[data-node-size="sm"]{ width:6.3rem; }
.office-stage-node[data-node-size="md"]{ width:7rem; }
.office-stage-node[data-node-size="lg"]{ width:7.7rem; }
.office-stage-node[data-node-size="xl"]{ width:8.2rem; }

.office-stage-node[data-node-tone="hq"]{
  --office-node-bg:linear-gradient(180deg, rgba(230,244,237,.94), rgba(216,236,225,.9));
  --office-node-border:rgba(15,106,67,.18);
  --office-node-soft:rgba(15,106,67,.08);
}

.office-stage-node[data-node-tone="featured"],
.office-stage-node[data-node-tone="axis"]{
  --office-node-bg:linear-gradient(180deg, rgba(244,234,229,.94), rgba(238,224,216,.9));
  --office-node-border:rgba(142,75,60,.16);
  --office-node-soft:rgba(142,75,60,.08);
}

.office-stage-node[data-node-tone="mapped"]{
  --office-node-bg:linear-gradient(180deg, rgba(245,239,222,.95), rgba(240,231,205,.9));
  --office-node-border:rgba(157,122,47,.16);
  --office-node-soft:rgba(157,122,47,.09);
}

.office-stage-node[data-node-tone="muted"]{
  --office-node-bg:rgba(250,250,247,.84);
  --office-node-border:rgba(93,113,100,.14);
  --office-node-soft:rgba(93,113,100,.08);
}

.office-stage-node:hover,
.office-stage-node:focus-visible,
.office-stage-node.is-active{
  transform:translate(-50%, -52%);
  box-shadow:0 22px 42px rgba(16,47,35,.14);
}

.office-stage-node.is-active{
  border-color:rgba(15,106,67,.22);
}

.office-stage-node.is-dimmed,
.office-stage-node:disabled{
  opacity:.3;
  cursor:default;
  box-shadow:none;
}

.office-stage-node__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.45rem;
}

.office-stage-node__index,
.office-stage-node__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.75rem;
  padding:.24rem .55rem;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
}

.office-stage-node__index{
  background:var(--forest-950);
  color:var(--white);
}

.office-stage-node__badge{
  background:var(--office-node-soft);
  color:var(--office-node-ink);
}

.office-stage-node__title{
  color:var(--forest-900);
  font-size:.94rem;
  line-height:1.4;
}

.office-stage-node__meta{
  color:var(--muted);
  font-size:.72rem;
  line-height:1.6;
  font-weight:800;
}

.office-stage__tooltip{
  position:absolute;
  z-index:4;
  width:min(18rem, calc(100% - 2rem));
  padding:.9rem 1rem;
  border-radius:1.25rem;
  border:1px solid rgba(255,255,255,.09);
  background:
    linear-gradient(180deg, rgba(11,30,22,.96), rgba(14,37,28,.92)),
    radial-gradient(circle at top right, rgba(240,196,25,.15), transparent 40%);
  color:var(--white);
  box-shadow:0 24px 56px rgba(7,23,17,.34);
  backdrop-filter:blur(18px);
}

.office-stage__tooltip-top,
.office-stage__tooltip-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  flex-wrap:wrap;
}

.office-stage__tooltip-badge,
.office-stage__tooltip-index{
  display:inline-flex;
  align-items:center;
  min-height:1.8rem;
  padding:.26rem .62rem;
  border-radius:999px;
  font-size:.7rem;
  font-weight:900;
}

.office-stage__tooltip-badge{
  background:rgba(240,196,25,.16);
}

.office-stage__tooltip-index{
  background:rgba(255,255,255,.08);
}

.office-stage__tooltip-title{
  display:block;
  margin-top:.55rem;
  font-size:1rem;
  line-height:1.5;
}

.office-stage__tooltip-text{
  margin:.35rem 0 0;
  color:rgba(255,255,255,.76);
  font-size:.79rem;
  line-height:1.75;
  font-weight:700;
}

.office-stage__tooltip-meta{
  margin-top:.7rem;
  color:rgba(255,255,255,.86);
  font-size:.73rem;
  font-weight:900;
}

.office-stage__legend{
  position:absolute;
  inset:auto 1rem 1rem 1rem;
  z-index:3;
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
}

.office-stage__legend span{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  min-height:2rem;
  padding:.35rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:var(--forest-900);
  font-size:.74rem;
  font-weight:900;
}

.office-stage__legend-dot{
  width:.7rem;
  height:.7rem;
  border-radius:50%;
}

.office-stage__legend-dot--hq{ background:#0f6a43; }
.office-stage__legend-dot--featured{ background:#8e4b3c; }
.office-stage__legend-dot--mapped{ background:#9d7a2f; }

.office-panel{
  display:grid;
  gap:.95rem;
  min-height:100%;
  padding:clamp(1rem, .92rem + .45vw, 1.25rem);
  border-radius:1.85rem;
  background:
    radial-gradient(circle at top left, rgba(240,196,25,.1), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,247,241,.92));
  border:1px solid rgba(16,47,35,.08);
}

.office-panel__shell{
  display:grid;
  gap:.9rem;
}

.office-panel__context,
.office-panel__lead-head,
.office-panel__section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.7rem;
  flex-wrap:wrap;
}

.office-panel__eyebrow,
.office-panel__context-chip,
.office-panel__lead-badge,
.office-panel__lead-index,
.office-panel__section-count,
.office-panel__empty-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.9rem;
  padding:.28rem .72rem;
  border-radius:999px;
  font-size:.71rem;
  font-weight:900;
}

.office-panel__eyebrow,
.office-panel__section-count{
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
}

.office-panel__context-chip,
.office-panel__lead-index,
.office-panel__empty-badge{
  background:var(--forest-950);
  color:var(--white);
}

.office-panel__title{
  margin:0;
  color:var(--forest-900);
  font-size:clamp(1.32rem, 1.1rem + .82vw, 1.85rem);
  line-height:1.38;
}

.office-panel__summary,
.office-panel__section-text,
.office-panel__empty-text{
  margin:0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.85;
  font-weight:700;
}

.office-panel__metrics{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.65rem;
}

.office-panel__metric,
.office-panel__fact{
  display:grid;
  gap:.18rem;
  padding:.8rem .88rem;
  border-radius:1.1rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(16,47,35,.07);
}

.office-panel__metric span,
.office-panel__fact span{
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
}

.office-panel__metric strong,
.office-panel__fact strong{
  color:var(--forest-900);
  font-size:.92rem;
  line-height:1.65;
}

.office-panel__metric small{
  color:var(--muted);
  font-size:.71rem;
  font-weight:700;
}

.office-panel__lead,
.office-panel__section{
  display:grid;
  gap:.75rem;
  padding:.92rem;
  border-radius:1.35rem;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(16,47,35,.08);
}

.office-panel__lead-title,
.office-panel__section-title,
.office-panel__empty-title{
  margin:0;
  color:var(--forest-900);
  font-size:1rem;
  line-height:1.5;
}

.office-panel__lead-badge{
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
}

.office-panel__lead-text{
  margin:0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.8;
  font-weight:700;
}

.office-panel__facts{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.58rem;
}

.office-panel__contacts,
.office-panel__pills{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.office-panel__contact,
.office-panel__pill,
.office-panel__micro{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2rem;
  padding:.34rem .72rem;
  border-radius:999px;
  background:rgba(16,47,35,.07);
  color:var(--forest-900);
  font-size:.74rem;
  font-weight:900;
}

.office-panel__micro--muted{
  background:rgba(93,113,100,.12);
  color:var(--muted);
}

.office-panel__actions,
.office-panel__office-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.office-panel__offices{
  display:grid;
  gap:.6rem;
}

.office-panel__office{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.7rem;
  align-items:center;
  padding:.78rem .82rem;
  border-radius:1.08rem;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(16,47,35,.06);
}

.office-panel__office-copy{
  display:grid;
  gap:.18rem;
  min-width:0;
}

.office-panel__office-copy strong{
  color:var(--forest-900);
  font-size:.9rem;
  line-height:1.55;
}

.office-panel__office-copy span{
  color:var(--muted);
  font-size:.74rem;
  font-weight:900;
}

.office-panel__office-copy p,
.office-panel__note{
  margin:0;
  color:var(--muted);
  font-size:.77rem;
  line-height:1.8;
  font-weight:700;
}

.office-panel__notes{
  display:grid;
  gap:.55rem;
}

.office-panel__note{
  padding:.75rem .82rem;
  border-radius:1rem;
  background:rgba(255,250,240,.88);
  border:1px solid rgba(157,122,47,.12);
  color:var(--forest-900);
}

.office-panel__empty{
  display:grid;
  gap:.6rem;
  padding:1rem;
  border-radius:1.2rem;
  background:rgba(255,255,255,.74);
  border:1px dashed rgba(16,47,35,.12);
}

.office-panel__empty--inline{
  padding:.9rem;
}

.office-directory{
  display:grid;
  gap:.9rem;
  padding:clamp(1rem, .92rem + .45vw, 1.3rem);
  border-radius:1.9rem;
}

.office-directory__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.75rem;
}

.office-directory-card{
  display:grid;
  gap:.72rem;
  padding:.95rem;
  border-radius:1.35rem;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(16,47,35,.07);
  box-shadow:none;
}

.office-directory-card.is-current{
  border-color:rgba(15,106,67,.18);
  box-shadow:0 14px 34px rgba(16,47,35,.08);
}

.office-directory-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
}

.office-directory-card__municipality{
  display:block;
  color:var(--muted);
  font-size:.73rem;
  font-weight:900;
}

.office-directory-card__title{
  display:block;
  margin-top:.22rem;
  color:var(--forest-900);
  font-size:.96rem;
  line-height:1.5;
}

.office-directory-card__index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:3rem;
  min-height:1.9rem;
  padding:.28rem .62rem;
  border-radius:999px;
  background:rgba(16,47,35,.08);
  color:var(--forest-900);
  font-size:.72rem;
  font-weight:900;
}

.office-directory-card__text{
  margin:0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.8;
  font-weight:700;
}

.office-directory-card__chips{
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
}

.office-directory-card__chip{
  display:inline-flex;
  align-items:center;
  min-height:1.85rem;
  padding:.28rem .62rem;
  border-radius:999px;
  background:rgba(15,106,67,.07);
  color:var(--forest-900);
  font-size:.71rem;
  font-weight:900;
}

.office-directory-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.office-directory-card__actions .button{
  flex:1 1 9rem;
  min-height:2.3rem;
  padding:.45rem .7rem;
  font-size:.76rem;
}

.office-directory__empty{
  display:grid;
  gap:.45rem;
  padding:1rem;
  border-radius:1.15rem;
  background:rgba(255,255,255,.76);
  border:1px dashed rgba(16,47,35,.12);
  color:var(--muted);
}

.office-explorer__footnote{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.8;
  font-weight:700;
}

@keyframes officeStageFlow{
  from{ stroke-dashoffset:0; }
  to{ stroke-dashoffset:-24; }
}

@media (max-width: 1120px){
  .office-explorer__toolbar,
  .office-explorer__body{
    grid-template-columns:1fr;
  }

  .office-map-stats--explorer{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .office-panel__metrics{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px){
  .office-stage{
    min-height:28rem;
  }

  .office-stage__nodes{
    min-height:25.5rem;
  }

  .office-stage-node{
    width:6.15rem;
    padding:.68rem .72rem;
  }

  .office-panel__metrics,
  .office-panel__facts,
  .office-directory__grid{
    grid-template-columns:1fr;
  }

  .office-panel__office{
    grid-template-columns:1fr;
    align-items:flex-start;
  }
}

@media (max-width: 640px){
  .office-map-stats--explorer{
    grid-template-columns:1fr;
  }

  .office-filter-bar{
    gap:.45rem;
  }

  .office-filter-chip,
  .office-reset-button{
    width:100%;
  }

  .office-explorer__search-row{
    grid-template-columns:1fr;
  }

  .office-stage{
    min-height:24rem;
    padding:.82rem;
  }

  .office-stage__nodes{
    min-height:21.75rem;
  }

  .office-stage__legend{
    position:static;
    margin-top:1rem;
  }

  .office-stage__zone{
    font-size:.68rem;
  }

  .office-stage__zone--center{
    top:auto;
    bottom:5.2rem;
    right:1rem;
  }

  .office-stage-node{
    width:5.45rem;
    padding:.58rem .6rem;
    border-radius:1.05rem;
  }

  .office-stage-node__title{
    font-size:.82rem;
  }

  .office-stage-node__meta,
  .office-stage-node__index,
  .office-stage-node__badge{
    font-size:.65rem;
  }

  .office-stage__tooltip{
    width:min(16rem, calc(100% - 1rem));
    padding:.78rem .84rem;
  }

  .office-panel__actions,
  .office-panel__office-actions,
  .office-directory-card__actions{
    display:grid;
    grid-template-columns:1fr;
  }
}

@media (prefers-reduced-motion: reduce){
  .office-stage__connection{
    animation:none;
  }

  .office-stage-node,
  .office-filter-chip,
  .office-reset-button{
    transition:none;
  }
}

/* Final SVG office map studio */
.offices-shell{
  display:grid;
  gap:1rem;
}

.office-map-studio{
  display:grid;
  gap:1rem;
  padding:clamp(1rem, .92rem + .45vw, 1.4rem);
  border-radius:2rem;
  border:1px solid rgba(16,47,35,.08);
  background:
    radial-gradient(circle at top right, rgba(240,196,25,.1), transparent 22%),
    linear-gradient(180deg, rgba(250,248,243,.98), rgba(242,244,238,.95));
}

.office-map-studio__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:start;
}

.office-map-studio__top > p{
  grid-column:1;
}

.office-map-studio__eyebrow,
.office-map-studio__footer-label{
  display:inline-flex;
  align-items:center;
  min-height:1.9rem;
  padding:.3rem .72rem;
  border-radius:999px;
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
  font-size:.72rem;
  font-weight:900;
}

.office-map-studio__top h3{
  margin:.45rem 0 0;
  color:var(--forest-900);
  font-size:clamp(1.26rem, 1.08rem + .72vw, 1.78rem);
  line-height:1.4;
}

.office-map-studio__top p{
  margin:.55rem 0 0;
  max-width:42rem;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.9;
  font-weight:700;
}

.office-map-stats--studio{
  grid-column:2;
  grid-row:1 / span 2;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.6rem;
  min-width:min(25rem, 100%);
}

.office-map-stats--studio .office-map-stat{
  padding:.78rem .88rem;
  border-radius:1.15rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(16,47,35,.07);
  box-shadow:none;
}

.office-map-studio__toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.85rem;
  align-items:center;
}

.office-map-studio__actions{
  display:grid;
  grid-template-columns:minmax(18rem, 22rem) auto;
  gap:.65rem;
  align-items:end;
}

.office-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}

.office-filter-chip{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.4rem;
  padding:.46rem .88rem;
  border:1px solid rgba(16,47,35,.12);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--forest-900);
  font:inherit;
  font-size:.79rem;
  font-weight:900;
  cursor:pointer;
  transition:transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
}

.office-filter-chip:hover,
.office-filter-chip:focus-visible{
  transform:translateY(-1px);
}

.office-filter-chip.is-active{
  border-color:rgba(15,106,67,.24);
  background:var(--forest-950);
  color:var(--white);
}

.office-search-field--compact{
  display:grid;
  gap:.4rem;
}

.office-search-field--compact span{
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
}

.office-search-field--compact input{
  width:100%;
  min-height:2.95rem;
  padding:0 .95rem;
  border:1px solid rgba(16,47,35,.12);
  border-radius:1rem;
  background:rgba(255,255,255,.84);
  color:var(--forest-900);
  font:inherit;
  outline:none;
}

.office-search-field--compact input:focus{
  border-color:rgba(15,106,67,.24);
  box-shadow:0 0 0 4px rgba(15,106,67,.08);
}

.office-reset-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.95rem;
  padding:0 1rem;
  border:1px solid rgba(16,47,35,.12);
  border-radius:1rem;
  background:rgba(255,255,255,.78);
  color:var(--forest-900);
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.office-map-studio__layout{
  display:grid;
  grid-template-columns:minmax(0,1.34fr) minmax(21rem,.86fr);
  gap:1rem;
  align-items:start;
}

.office-map-canvas{
  display:grid;
  gap:.75rem;
  padding:.95rem;
  border-radius:1.8rem;
  background:
    radial-gradient(circle at top right, rgba(240,196,25,.12), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,247,241,.92));
  border:1px solid rgba(16,47,35,.08);
}

.office-map-canvas__viewport{
  position:relative;
  aspect-ratio:970 / 865;
  border-radius:1.45rem;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 22%, rgba(240,196,25,.12), transparent 26%),
    linear-gradient(180deg, #fffdf9, #f6f1e4 48%, #f2f5ef 100%);
  box-shadow:inset 0 0 0 1px rgba(16,47,35,.06);
}

.office-map-canvas__viewport::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(16,47,35,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,47,35,.03) 1px, transparent 1px);
  background-size:4.5rem 4.5rem;
  pointer-events:none;
}

.office-map-object,
.office-map-image{
  display:block;
  width:100%;
  height:100%;
}

.office-map-object{
  position:relative;
  z-index:1;
  border:0;
  background:transparent;
}

.office-marker-layer{
  position:absolute;
  inset:0;
  z-index:3;
}

.office-map-marker{
  appearance:none;
  position:absolute;
  top:calc(var(--office-y) * 1%);
  left:calc(var(--office-x) * 1%);
  transform:translate(-50%, -50%);
  display:grid;
  place-items:center;
  width:3.25rem;
  height:3.25rem;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
  z-index:var(--office-z, 2);
}

.office-map-marker__pulse,
.office-map-marker__core{
  position:absolute;
  border-radius:50%;
}

.office-map-marker__pulse{
  width:3rem;
  height:3rem;
  background:rgba(15,106,67,.16);
  animation:officeMarkerPulse 3.2s ease-out infinite;
}

.office-map-marker__core{
  width:1rem;
  height:1rem;
  border:4px solid rgba(255,255,255,.96);
  background:var(--forest-900);
  box-shadow:0 10px 22px rgba(16,47,35,.18);
}

.office-map-marker[data-office-tone="office"] .office-map-marker__core,
.office-map-marker[data-office-tone="axis"] .office-map-marker__core{
  background:#9d7a2f;
}

.office-map-marker[data-office-tone="axis"] .office-map-marker__core{
  background:#8e4b3c;
}

.office-map-marker[data-office-tone="network"] .office-map-marker__core{
  background:#2f8a58;
}

.office-map-marker[data-office-tone="office"] .office-map-marker__pulse{
  background:rgba(157,122,47,.18);
}

.office-map-marker[data-office-tone="axis"] .office-map-marker__pulse{
  background:rgba(142,75,60,.18);
}

.office-map-marker[data-office-tone="network"] .office-map-marker__pulse{
  background:rgba(47,138,88,.14);
}

.office-map-marker[data-office-tier="network"]{
  width:2.45rem;
  height:2.45rem;
}

.office-map-marker[data-office-tier="network"] .office-map-marker__pulse{
  width:2.15rem;
  height:2.15rem;
}

.office-map-marker[data-office-tier="network"] .office-map-marker__core{
  width:.78rem;
  height:.78rem;
  border-width:3px;
}

.office-map-marker[data-office-tier="network"] .office-map-marker__label{
  top:calc(50% - 2.32rem);
  font-size:.66rem;
}

.office-map-marker__label{
  position:absolute;
  top:calc(50% - 2.7rem);
  padding:.34rem .64rem;
  border-radius:999px;
  background:rgba(6,40,23,.9);
  color:var(--white);
  font-size:.7rem;
  font-weight:900;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .22s ease, transform .22s ease;
  white-space:nowrap;
}

.office-map-marker:hover .office-map-marker__label,
.office-map-marker:focus-visible .office-map-marker__label,
.office-map-marker.is-active .office-map-marker__label{
  opacity:1;
  transform:translateY(0);
}

.office-map-marker.is-active .office-map-marker__core{
  transform:scale(1.18);
}

.office-map-marker.is-dimmed,
.office-map-marker:disabled{
  opacity:.22;
  cursor:default;
}

.office-map-tooltip{
  position:absolute;
  z-index:5;
  width:min(18rem, calc(100% - 1rem));
  padding:.9rem .95rem;
  border-radius:1.2rem;
  border:1px solid rgba(255,255,255,.09);
  background:
    linear-gradient(180deg, rgba(11,30,22,.96), rgba(14,39,28,.92)),
    radial-gradient(circle at top right, rgba(240,196,25,.14), transparent 40%);
  color:var(--white);
  box-shadow:0 24px 54px rgba(7,24,18,.34);
  pointer-events:none;
}

.office-map-tooltip__top,
.office-map-tooltip__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  flex-wrap:wrap;
}

.office-map-tooltip__badge,
.office-map-tooltip__index{
  display:inline-flex;
  align-items:center;
  min-height:1.8rem;
  padding:.26rem .6rem;
  border-radius:999px;
  font-size:.69rem;
  font-weight:900;
}

.office-map-tooltip__badge{
  background:rgba(240,196,25,.16);
}

.office-map-tooltip__index{
  background:rgba(255,255,255,.08);
}

.office-map-tooltip__title{
  margin:.55rem 0 0;
  font-size:1rem;
  line-height:1.5;
}

.office-map-tooltip__text{
  margin:.3rem 0 0;
  color:rgba(255,255,255,.76);
  font-size:.79rem;
  line-height:1.75;
  font-weight:700;
}

.office-map-tooltip__meta{
  margin-top:.7rem;
  color:rgba(255,255,255,.84);
  font-size:.72rem;
  font-weight:900;
}

.office-map-canvas__foot{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
  flex-wrap:wrap;
}

.office-map-legend{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}

.office-map-legend span{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  min-height:2rem;
  padding:.34rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.8);
  color:var(--forest-900);
  font-size:.74rem;
  font-weight:900;
}

.office-map-legend__dot{
  width:.7rem;
  height:.7rem;
  border-radius:50%;
}

.office-map-legend__dot--active{ background:var(--forest-900); }
.office-map-legend__dot--mapped{ background:#9d7a2f; }
.office-map-legend__dot--featured{ background:#8e4b3c; }

.office-map-caption{
  margin:0;
  max-width:26rem;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.8;
  font-weight:700;
}

.office-map-sidebar{
  display:grid;
  gap:.8rem;
  min-height:100%;
  padding:1rem;
  border-radius:1.8rem;
  background:
    radial-gradient(circle at top left, rgba(240,196,25,.08), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,247,241,.92));
  border:1px solid rgba(16,47,35,.08);
}

.office-map-sidebar__shell,
.office-map-sidebar__empty{
  display:grid;
  gap:.8rem;
}

.office-map-sidebar__empty{
  min-height:100%;
  align-content:center;
}

.office-map-sidebar__empty-hero{
  display:grid;
  gap:.7rem;
  padding:1rem 1.05rem;
  border-radius:1.45rem;
  background:
    radial-gradient(circle at top right, rgba(240,196,25,.16), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,249,244,.94));
  border:1px solid rgba(16,47,35,.08);
}

.office-map-sidebar__empty-badge{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  min-height:1.9rem;
  padding:.28rem .74rem;
  border-radius:999px;
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
  font-size:.72rem;
  font-weight:900;
}

.office-map-sidebar__empty-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.58rem;
}

.office-map-sidebar__empty-card{
  display:grid;
  gap:.14rem;
  padding:.9rem .86rem;
  border-radius:1.18rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(16,47,35,.07);
}

.office-map-sidebar__empty-card span{
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
}

.office-map-sidebar__empty-card strong{
  color:var(--forest-900);
  font-size:1rem;
  line-height:1.5;
}

.office-map-sidebar__chips,
.office-map-sidebar__lead-top,
.office-map-sidebar__section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.6rem;
  flex-wrap:wrap;
}

.office-map-sidebar__eyebrow,
.office-map-sidebar__status,
.office-map-sidebar__lead-badge,
.office-map-sidebar__lead-municipality{
  display:inline-flex;
  align-items:center;
  min-height:1.85rem;
  padding:.26rem .68rem;
  border-radius:999px;
  font-size:.7rem;
  font-weight:900;
}

.office-map-sidebar__eyebrow,
.office-map-sidebar__lead-badge{
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
}

.office-map-sidebar__status,
.office-map-sidebar__lead-municipality{
  background:rgba(6,40,23,.92);
  color:var(--white);
}

.office-map-sidebar__title{
  margin:0;
  color:var(--forest-900);
  font-size:clamp(1.2rem, 1.06rem + .54vw, 1.54rem);
  line-height:1.42;
}

.office-map-sidebar__text,
.office-map-sidebar__lead p,
.office-map-sidebar__note,
.office-map-sidebar__source{
  margin:0;
  color:var(--muted);
  font-size:.85rem;
  line-height:1.85;
  font-weight:700;
}

.office-map-sidebar__tips,
.office-map-sidebar__contacts{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.office-map-sidebar__tips span,
.office-map-sidebar__contacts span,
.office-map-sidebar__micro{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.34rem .72rem;
  border-radius:999px;
  background:rgba(16,47,35,.07);
  color:var(--forest-900);
  font-size:.73rem;
  font-weight:900;
}

.office-map-sidebar__stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.55rem;
}

.office-map-sidebar__stats article{
  display:grid;
  gap:.12rem;
  padding:.78rem .82rem;
  border-radius:1.08rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(16,47,35,.07);
}

.office-map-sidebar__stats span{
  color:var(--muted);
  font-size:.71rem;
  font-weight:900;
}

.office-map-sidebar__stats strong{
  color:var(--forest-900);
  font-size:.94rem;
  line-height:1.6;
}

.office-map-sidebar__lead,
.office-map-sidebar__section{
  display:grid;
  gap:.72rem;
  padding:.88rem;
  border-radius:1.3rem;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(16,47,35,.08);
}

.office-map-sidebar__lead h4,
.office-map-sidebar__section h4{
  margin:.24rem 0 0;
  color:var(--forest-900);
  font-size:.98rem;
  line-height:1.5;
}

.office-map-sidebar__section-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.85rem;
  padding:.26rem .68rem;
  border-radius:999px;
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
  font-size:.71rem;
  font-weight:900;
}

.office-map-sidebar__actions,
.office-map-sidebar__row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
}

.office-map-sidebar__actions .button{
  min-height:2.35rem;
  padding:.44rem .72rem;
  font-size:.76rem;
}

.office-map-sidebar__rows{
  display:grid;
  gap:.55rem;
}

.office-map-sidebar__row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:.65rem;
  align-items:center;
  padding:.75rem .8rem;
  border-radius:1rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(16,47,35,.06);
}

.office-map-sidebar__row-copy{
  display:grid;
  gap:.18rem;
}

.office-map-sidebar__row-copy strong{
  color:var(--forest-900);
  font-size:.87rem;
  line-height:1.5;
}

.office-map-sidebar__row-copy span{
  color:var(--muted);
  font-size:.73rem;
  font-weight:800;
}

.office-map-sidebar__row-copy p{
  margin:0;
  color:var(--muted);
  font-size:.74rem;
  line-height:1.7;
  font-weight:700;
}

.office-map-sidebar__inline-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.95rem;
  padding:.3rem .62rem;
  border-radius:999px;
  background:rgba(15,106,67,.08);
  color:var(--forest-900);
  font-size:.72rem;
  font-weight:900;
}

.office-map-sidebar__inline-action.is-muted{
  background:rgba(93,113,100,.12);
  color:var(--muted);
}

.office-map-studio__footer{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.9rem;
  flex-wrap:wrap;
}

.office-map-studio__footer h4{
  margin:.42rem 0 0;
  color:var(--forest-900);
  font-size:1rem;
}

.office-featured-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.6rem;
}

.office-featured-chip{
  appearance:none;
  display:grid;
  gap:.16rem;
  min-width:12rem;
  padding:.72rem .82rem;
  border:1px solid rgba(16,47,35,.08);
  border-radius:1.15rem;
  background:rgba(255,255,255,.8);
  color:var(--forest-900);
  text-align:right;
  cursor:pointer;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.office-featured-chip:hover,
.office-featured-chip:focus-visible,
.office-featured-chip.is-active{
  transform:translateY(-1px);
  border-color:rgba(15,106,67,.18);
  box-shadow:0 12px 26px rgba(16,47,35,.08);
}

.office-featured-chip__badge{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  min-height:1.7rem;
  padding:.22rem .55rem;
  border-radius:999px;
  background:rgba(15,106,67,.08);
  font-size:.68rem;
  font-weight:900;
}

.office-featured-chip__title{
  color:var(--forest-900);
  font-size:.88rem;
  line-height:1.5;
}

.office-featured-chip__meta{
  color:var(--muted);
  font-size:.72rem;
  line-height:1.65;
  font-weight:800;
}

@keyframes officeMarkerPulse{
  0%{ transform:scale(.82); opacity:.7; }
  70%{ transform:scale(1.32); opacity:0; }
  100%{ transform:scale(1.32); opacity:0; }
}

@media (max-width: 1120px){
  .office-map-studio__top,
  .office-map-studio__toolbar,
  .office-map-studio__layout{
    grid-template-columns:1fr;
  }

  .office-map-stats--studio{
    grid-column:auto;
    grid-row:auto;
  }

  .office-map-studio__actions{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .office-map-stats--studio{
    min-width:0;
  }
}

@media (max-width: 860px){
  .office-map-stats--studio,
  .office-map-sidebar__stats,
  .office-map-sidebar__empty-stats{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .office-map-sidebar__row{
    grid-template-columns:1fr;
    align-items:flex-start;
  }

  .office-featured-list{
    justify-content:flex-start;
  }
}

@media (max-width: 640px){
  .office-map-stats--studio,
  .office-map-sidebar__stats,
  .office-map-sidebar__empty-stats{
    grid-template-columns:1fr;
  }

  .office-map-studio__actions{
    grid-template-columns:1fr;
  }

  .office-filter-bar{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .office-filter-chip,
  .office-reset-button{
    width:100%;
  }

  .office-map-caption,
  .office-map-studio__top p{
    max-width:none;
  }

  .office-map-marker{
    width:2.85rem;
    height:2.85rem;
  }

  .office-map-marker__pulse{
    width:2.7rem;
    height:2.7rem;
  }

  .office-map-marker__label{
    display:none;
  }

  .office-map-tooltip{
    width:min(16rem, calc(100% - .75rem));
    padding:.8rem .85rem;
  }

  .office-map-sidebar__actions,
  .office-map-sidebar__row-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .office-featured-chip{
    width:100%;
    min-width:0;
  }
}

@media (prefers-reduced-motion: reduce){
  .office-map-marker__pulse{
    animation:none;
  }

  .office-filter-chip,
  .office-featured-chip,
  .office-map-marker{
    transition:none;
  }
}

/* Header and hero redesign */
.header-main{
  padding:.9rem 0 .7rem;
  background:linear-gradient(180deg, rgba(255,249,242,.94), rgba(255,246,238,.72));
  border-bottom:none;
  box-shadow:none;
}

.header-main__shell{
  display:grid;
  gap:.72rem;
}

.header-main__inner{
  position:relative;
  display:flex;
  align-items:center;
  gap:1rem;
  min-height:unset;
  padding:1rem 1.15rem;
  border:1px solid rgba(6,31,23,.08);
  border-radius:1.9rem;
  background:rgba(255,255,255,.76);
  box-shadow:0 18px 42px rgba(6,40,23,.08);
}

.brand{
  max-width:24rem;
}

.brand__logo-wrap{
  width:4.1rem;
  height:4.1rem;
  border-radius:1.35rem;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(246,239,223,.88));
}

.brand__text strong{
  font-size:1.02rem;
  line-height:1.45;
}

.brand__text span{
  font-size:.78rem;
  color:rgba(32,50,43,.72);
}

.nav-panel{
  flex:1;
  min-width:0;
  justify-content:space-between;
  gap:.9rem;
}

.site-nav{
  flex:1;
  justify-content:center;
  gap:.35rem;
  padding:.35rem;
  border:1px solid rgba(6,31,23,.08);
  border-radius:999px;
  background:rgba(247,240,230,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.site-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.65rem;
  padding:.55rem .95rem;
  border-radius:999px;
  color:rgba(32,50,43,.76);
  font-size:.87rem;
  font-weight:900;
  white-space:nowrap;
  transition:background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.site-nav a::after{
  display:none;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a.is-current{
  background:rgba(255,255,255,.94);
  color:var(--forest-900);
  box-shadow:0 10px 22px rgba(6,40,23,.08);
  transform:translateY(-1px);
}

.header-main__actions{
  flex-shrink:0;
  gap:.55rem;
}

.header-main__actions .button{
  min-height:2.8rem;
  padding:.68rem .95rem;
  border-radius:999px;
  white-space:nowrap;
}

.header-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.72rem;
}

.header-strip__item{
  appearance:none;
  display:grid;
  gap:.16rem;
  width:100%;
  padding:.82rem 1rem;
  border:1px solid rgba(6,31,23,.08);
  border-radius:1.3rem;
  background:rgba(255,255,255,.68);
  text-align:right;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(6,40,23,.05);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.header-strip__item:hover,
.header-strip__item:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(6,31,23,.14);
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 32px rgba(6,40,23,.08);
}

.header-strip__label{
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
}

.header-strip__item strong{
  color:var(--forest-900);
  font-size:.9rem;
  line-height:1.6;
  font-weight:900;
}

.scroll-progress{
  width:var(--container);
  height:4px;
  margin-inline:auto;
  border-radius:999px;
  background:rgba(6,40,23,.06);
}

.hero{
  padding-top:3.2rem;
  scroll-margin-top:6.5rem;
}

.hero__grid{
  grid-template-columns:minmax(0, 1.28fr) minmax(18rem, .72fr);
  gap:1.1rem;
  align-items:stretch;
}

.hero__main{
  position:relative;
  display:grid;
  align-content:center;
  gap:1.15rem;
  min-height:100%;
  padding:2rem;
  border:1px solid rgba(6,31,23,.08);
  border-radius:2rem;
  background:
    radial-gradient(circle at 92% 12%, rgba(203,20,57,.1), transparent 24%),
    radial-gradient(circle at 8% 12%, rgba(240,196,25,.12), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(251,246,239,.9));
  box-shadow:0 26px 60px rgba(6,40,23,.09);
  overflow:hidden;
}

.hero__main::before{
  content:"";
  position:absolute;
  inset:auto auto -4.5rem -4.5rem;
  width:16rem;
  height:16rem;
  border-radius:50%;
  background:radial-gradient(circle, rgba(10,138,69,.12), transparent 70%);
  pointer-events:none;
}

.hero__main::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(6,31,23,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(6,31,23,.035) 1px, transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.14), transparent 52%);
  pointer-events:none;
}

.hero__intro,
.hero__title,
.hero__lead,
.hero__actions{
  position:relative;
  z-index:1;
}

.hero__intro{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  flex-wrap:wrap;
}

.hero__intro .eyebrow{
  padding:.55rem .95rem;
  background:rgba(6,31,23,.06);
  color:var(--forest-900);
}

.hero__title{
  margin:0;
  max-width:11ch;
  font-size:clamp(2.75rem, 5vw, 4.5rem);
  line-height:1.25;
  text-wrap:balance;
}

.hero__lead{
  max-width:37rem;
  margin:0;
  color:rgba(32,50,43,.84);
  font-size:1.03rem;
  line-height:1.95;
}

.hero__actions{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:.15rem;
}

.hero__actions .button{
  min-width:11rem;
}

.hero__side{
  display:grid;
  align-content:stretch;
}

.hero-contact{
  display:grid;
  align-content:start;
  gap:1rem;
  min-height:100%;
  padding:1.45rem;
  border-radius:1.9rem;
}

.hero-contact__eyebrow{
  display:inline-flex;
  width:fit-content;
  min-height:2rem;
  padding:.42rem .8rem;
  border-radius:999px;
  background:rgba(10,138,69,.08);
  color:var(--forest-800);
  font-size:.76rem;
  font-weight:900;
}

.hero-contact h2{
  margin:0;
  color:var(--forest-900);
  font-size:clamp(1.25rem, 2vw, 1.55rem);
  line-height:1.6;
}

.hero-contact__list{
  list-style:none;
  display:grid;
  gap:.75rem;
  margin:0;
  padding:0;
}

.hero-contact__list li{
  display:grid;
  gap:.35rem;
  padding:.92rem .95rem;
  border-radius:1.2rem;
  background:rgba(247,240,230,.74);
  border:1px solid rgba(6,31,23,.06);
}

.hero-contact__list span{
  color:var(--muted);
  font-size:.78rem;
  font-weight:900;
}

.hero-contact__list a,
.hero-contact__list p{
  margin:0;
  color:var(--forest-900);
  font-size:.93rem;
  line-height:1.8;
  font-weight:800;
}

.hero-contact__list a{
  white-space:nowrap;
  justify-self:start;
}

.hero-contact__list button{
  appearance:none;
  width:fit-content;
  border:1px solid rgba(6,31,23,.08);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,240,230,.92));
  color:var(--forest-900);
  padding:.58rem .95rem;
  font-size:.84rem;
  font-weight:900;
  cursor:pointer;
}

.hero-followup{
  padding-top:0;
}

.hero-followup .section-heading{
  margin-bottom:1.35rem;
}

.hero-followup__grid{
  display:grid;
  grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);
  gap:1rem;
  align-items:stretch;
}

.hero-panel{
  display:grid;
  gap:.95rem;
  padding:1.45rem;
  border-radius:1.9rem;
  background:
    radial-gradient(circle at 88% 10%, rgba(240,196,25,.18), transparent 26%),
    linear-gradient(160deg, #0c3d2c, #0a5d41 54%, #0e7a55 100%);
}

.hero-panel__eyebrow{
  min-height:2rem;
  padding:.42rem .82rem;
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.08);
  color:var(--gold-soft);
}

.hero-panel__header{
  display:grid;
  gap:.7rem;
}

.hero-panel h2{
  max-width:none;
  margin-top:0;
}

.hero-panel__intro{
  color:rgba(255,255,255,.76);
  font-size:.88rem;
  line-height:1.9;
  font-weight:700;
}

.hero-panel__steps{
  margin-top:0;
}

.hero-panel__steps li{
  grid-template-columns:2rem minmax(0, 1fr);
  padding:.85rem .9rem;
  border-radius:1.2rem;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}

.hero-panel__steps li::before{
  width:2rem;
  height:2rem;
}

.hero-panel__step-copy{
  display:grid;
  gap:.24rem;
}

.hero-panel__step-copy strong{
  color:var(--white);
  font-size:.95rem;
  line-height:1.6;
  font-weight:900;
}

.hero-panel__step-copy p{
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:.83rem;
  line-height:1.85;
  font-weight:700;
}

.hero-panel__actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.7rem;
  margin-top:.1rem;
}

.hero-panel__actions .button{
  min-width:0;
  width:100%;
}

.hero__cards{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:1rem;
  margin-top:1rem;
  align-items:stretch;
}

.hero-update{
  display:grid;
  gap:.95rem;
  padding:1.35rem 1.45rem;
  border-radius:1.8rem;
}

.hero-update__head{
  display:grid;
  gap:.35rem;
}

.hero-update__eyebrow{
  display:inline-flex;
  width:fit-content;
  min-height:2rem;
  padding:.42rem .8rem;
  border-radius:999px;
  background:rgba(10,138,69,.08);
  color:var(--forest-800);
  font-size:.75rem;
  font-weight:900;
}

.hero-update__head strong{
  color:var(--forest-900);
  font-size:1.12rem;
  line-height:1.65;
}

.hero-update p{
  color:rgba(32,50,43,.84);
  font-size:.95rem;
  line-height:1.95;
  font-weight:700;
}

.hero-update__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
}

.hero-update__meta span{
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
}

.hero-update__meta a{
  color:var(--forest-900);
  font-size:.86rem;
  font-weight:900;
}

.hero-metrics-shell{
  display:grid;
  gap:1rem;
  padding:1.35rem 1.45rem;
  border-radius:1.8rem;
}

.hero-metrics__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.9rem;
  flex-wrap:wrap;
}

.hero-metrics__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.42rem .8rem;
  border-radius:999px;
  background:rgba(10,138,69,.08);
  color:var(--forest-800);
  font-size:.75rem;
  font-weight:900;
}

.hero-metrics__head h3{
  margin-top:.5rem;
  color:var(--forest-900);
  font-size:clamp(1.15rem, 1.8vw, 1.45rem);
  line-height:1.55;
}

.hero-metrics__sync{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.3rem;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(6,31,23,.06);
  color:var(--forest-900);
  font-size:.78rem;
  line-height:1.6;
  font-weight:900;
}

.hero-metrics__sync[data-tone="live"]{
  background:rgba(10,138,69,.1);
  color:var(--forest-800);
}

.hero-metrics__sync[data-tone="fallback"]{
  background:rgba(203,20,57,.08);
  color:var(--copper);
}

.hero-metrics__sync[data-tone="loading"]{
  background:rgba(240,196,25,.16);
  color:#8b5a00;
}

.hero-metrics{
  margin-top:0;
}

.metric-card{
  min-height:100%;
  border-radius:1.45rem;
  background:
    radial-gradient(circle at 85% 12%, rgba(240,196,25,.14), transparent 23%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(252,246,238,.88));
}

.metric-card__label{
  font-size:.78rem;
}

.metric-card__value{
  line-height:1.12;
}

@media (max-width: 1240px){
  .header-main__inner{
    flex-wrap:wrap;
  }

  .brand{
    max-width:none;
    flex:1 1 auto;
  }

  .nav-panel{
    width:100%;
  }

  .header-strip{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hero__proof,
  .hero__trust{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px){
  .header-main__actions{
    flex-wrap:wrap;
  }

  .header-strip{
    grid-template-columns:1fr;
  }

  .hero{
    padding-top:2.8rem;
  }

  .hero__grid,
  .hero-followup__grid,
  .hero__cards{
    grid-template-columns:1fr;
  }

  .hero__main{
    padding:1.6rem;
  }

  .hero-metrics__head{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width: 860px){
  .header-main__inner{
    padding:.85rem;
    border-radius:1.5rem;
  }

  .nav-toggle{
    display:inline-grid;
    place-items:center;
    flex-shrink:0;
  }

  .nav-panel{
    position:absolute;
    top:calc(100% + .7rem);
    right:0;
    left:0;
    display:grid;
    gap:.85rem;
    padding:1rem;
    border:1px solid rgba(6,31,23,.08);
    border-radius:1.45rem;
    background:rgba(255,250,244,.98);
    box-shadow:0 22px 50px rgba(6,40,23,.12);
    opacity:0;
    transform:translateY(-.4rem);
    pointer-events:none;
    z-index:30;
  }

  .nav-panel.is-open{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }

  .site-nav{
    flex-direction:column;
    align-items:stretch;
    padding:0;
    border:none;
    background:transparent;
    box-shadow:none;
  }

  .site-nav a{
    justify-content:flex-start;
    min-height:3rem;
    padding:.78rem 1rem;
    background:rgba(247,240,230,.86);
  }

  .header-main__actions{
    display:grid;
    gap:.65rem;
  }

  .header-main__actions .button{
    width:100%;
  }

  .hero-panel__actions{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .brand__logo-wrap{
    width:3.55rem;
    height:3.55rem;
  }

  .brand__text strong{
    font-size:.92rem;
  }

  .brand__text span{
    display:block;
    font-size:.72rem;
  }

  .header-strip__item{
    padding:.76rem .9rem;
  }

  .hero{
    padding-top:2.35rem;
  }

  .hero__main,
  .hero-contact,
  .hero-panel,
  .hero-update,
  .hero-metrics-shell{
    padding:1.2rem;
    border-radius:1.55rem;
  }

  .hero__title{
    max-width:100%;
    font-size:clamp(2.1rem, 9vw, 3rem);
  }

  .hero__lead{
    font-size:.97rem;
  }

  .hero__actions .button{
    width:100%;
    min-width:0;
  }

  .hero-contact__list li{
    padding:.85rem .9rem;
  }
}

/* Brand and footer polish */
.brand--header{
  gap:1rem;
}

.brand__logo-wrap--header{
  width:4.55rem;
  height:5rem;
  padding:.42rem .42rem .32rem;
  border-radius:1.7rem;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,239,223,.92));
  box-shadow:0 18px 38px rgba(7,35,24,.12);
}

.brand__logo{
  object-position:center;
  filter:drop-shadow(0 8px 20px rgba(10,109,58,.12));
}

.site-footer{
  padding:1.6rem 0 2.25rem;
}

.site-footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem 2rem;
  flex-wrap:wrap;
}

.site-footer__brand{
  display:flex;
  align-items:center;
  gap:1rem;
  min-width:0;
}

.site-footer__logo-wrap{
  display:grid;
  place-items:center;
  width:4.75rem;
  height:5.25rem;
  padding:.45rem .42rem .34rem;
  border-radius:1.75rem;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,237,220,.94));
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  flex-shrink:0;
}

.site-footer__logo{
  width:100%;
  height:100%;
  padding:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  object-fit:contain;
  object-position:center;
}

.site-footer__copy{
  display:grid;
  gap:.28rem;
}

.site-footer__copy p,
.site-footer__meta p{
  margin:0;
}

.site-footer__title{
  color:#fff;
  font-size:1rem;
  font-weight:900;
}

.site-footer__subtitle{
  color:rgba(255,255,255,.72);
}

.site-footer__meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.65rem 1rem;
  flex-wrap:wrap;
}

.site-footer__meta p{
  color:rgba(255,255,255,.74);
}

.site-footer__phone,
.site-footer__id{
  display:inline-block;
  color:var(--gold-soft);
  font-weight:900;
}

.site-footer__phone{
  direction:ltr;
  unicode-bidi:isolate;
}

.site-footer__id{
  letter-spacing:.04em;
}

@media (max-width: 860px){
  .site-footer__inner{
    justify-content:center;
    text-align:center;
  }

  .site-footer__brand{
    width:100%;
    justify-content:center;
  }

  .site-footer__copy{
    text-align:center;
  }

  .site-footer__meta{
    width:100%;
    justify-content:center;
  }
}

@media (max-width: 640px){
  .brand__logo-wrap--header{
    width:3.75rem;
    height:4.2rem;
    padding:.32rem .32rem .22rem;
    border-radius:1.35rem;
  }

  .site-footer__logo-wrap{
    width:4rem;
    height:4.45rem;
    padding:.32rem .3rem .22rem;
  }

  .site-footer__inner{
    gap:1rem;
  }

  .site-footer__title{
    font-size:.95rem;
  }

  .site-footer__meta{
    gap:.45rem .8rem;
  }
}
