/* Home page: nav has no bottom border, logo is slightly larger */
.nav{ border-bottom:none; }
.nav-logo img{ height:40px; }

/* ---------- hero ---------- */
.hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3vw;
  align-items:center;
  padding:2vh 6vw 6vh 6vw;
  max-width:1400px;
  margin:0 auto;
}
.hero-eyebrow{
  font-family:'Work Sans', sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:1.2rem;
}
.hero-title{
  font-family:'Bitter', serif;
  font-weight:600;
  font-size:clamp(34px, 4.2vw, 54px);
  line-height:1.12;
  letter-spacing:-0.01em;
  margin-bottom:1.4rem;
}
.hero-title em{
  font-style:normal;
  background:linear-gradient(180deg, transparent 62%, rgba(240,163,32,0.35) 62%);
}
.hero-desc{
  font-size:16.5px;
  line-height:1.7;
  color:var(--ink-soft);
  max-width:480px;
  margin-bottom:2rem;
}
.hero-ctas{ display:flex; gap:1rem; }
.btn-solid{
  font-family:'Work Sans', sans-serif;
  font-weight:600;
  font-size:14.5px;
  padding:0.9rem 1.8rem;
  border-radius:999px;
  background:var(--ink);
  color:var(--paper);
}
.btn-solid:hover{ opacity:0.88; }
.btn-outline{
  font-family:'Work Sans', sans-serif;
  font-weight:600;
  font-size:14.5px;
  padding:0.9rem 1.8rem;
  border-radius:999px;
  border:1.5px solid var(--ink);
}
.btn-outline:hover{ background:var(--ink); color:var(--paper); }

/* ---------- the knot (interactive svg) ---------- */
.knot-wrap{ position:relative; display:flex; justify-content:center; }
.knot-svg{ width:100%; max-width:460px; height:auto; }
.petal{
  cursor:pointer;
  transition:transform 0.25s ease, filter 0.25s ease;
  transform-origin:center;
}
.petal:hover, .petal.active{ filter:brightness(1.08); }
.petal-label{
  position:absolute;
  max-width:200px;
  cursor:pointer;
  background:color-mix(in srgb, var(--c) 10%, var(--paper));
  color:var(--ink);
  font-size:13px;
  line-height:1.55;
  padding:0.95rem 1.15rem;
  border-radius:20px 20px 20px 4px;
  border:1.5px solid var(--c);
  box-shadow:0 8px 24px rgba(38,35,32,0.14);
  opacity:0;
  pointer-events:none;
  transition:opacity 0.2s ease;
  z-index:5;
}
.petal-label.show{ opacity:1; }
.petal-label .plabel-title{
  font-family:'Bitter', serif;
  font-weight:700;
  color:color-mix(in srgb, var(--c) 75%, var(--ink) 25%);
  font-size:14px;
  display:block;
  margin-bottom:0.35rem;
}

/* ---------- mission ---------- */
.mission{
  background:
    radial-gradient(circle at 15% 20%, rgba(240,163,32,0.16), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(87,168,145,0.16), transparent 45%),
    var(--ink);
  color:var(--paper);
  padding:8vh 6vw;
  text-align:center;
}
.mission-eyebrow{
  font-family:'Work Sans', sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:1.2rem;
}
.mission-text{
  font-family:'Bitter', serif;
  font-weight:500;
  font-size:clamp(22px, 3vw, 32px);
  line-height:1.5;
  max-width:820px;
  margin:0 auto;
}

/* ---------- five areas grid ---------- */
.areas{ padding:8vh 6vw; max-width:1300px; margin:0 auto; }
.areas-head{ text-align:center; margin-bottom:4rem; }
.areas-eyebrow{
  font-family:'Work Sans', sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--magenta);
  margin-bottom:1rem;
}
.areas-title{ font-family:'Bitter', serif; font-weight:600; font-size:clamp(26px, 3.2vw, 36px); }
.sequence-row{ display:grid; grid-template-columns:repeat(5, 1fr); gap:1.5rem; text-align:center; }
.seq-item{ display:block; padding:0.75rem; border-radius:12px; transition:transform 0.2s ease, background 0.2s ease; }
.seq-item:hover{ transform:translateY(-3px); background:var(--paper); }
.seq-verb{ font-family:'Bitter', serif; font-weight:600; font-style:italic; font-size:19px; color:var(--c); margin-bottom:0.6rem; }
.seq-name{ font-family:'Work Sans', sans-serif; font-weight:600; font-size:14px; letter-spacing:0.02em; margin-bottom:0.7rem; }
.seq-desc{ font-size:12.5px; line-height:1.55; color:var(--ink-soft); }
.sequence-svg{ width:100%; height:70px; margin-top:0.5rem; display:block; }

/* ---------- global reach ---------- */
.global{ background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:8vh 6vw; }
.global-inner{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1.3fr; gap:4vw; align-items:center; }
.global-eyebrow{
  font-family:'Work Sans', sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:1rem;
}
.global-title{ font-family:'Bitter', serif; font-weight:600; font-size:clamp(24px, 3vw, 32px); line-height:1.25; margin-bottom:1.1rem; }
.global-desc{ font-size:14.5px; line-height:1.7; color:var(--ink-soft); }
.global-map{ display:flex; flex-wrap:wrap; gap:0.9rem; }
.place-chip{ display:flex; flex-direction:column; gap:0.3rem; padding:1.1rem 1.3rem; border-radius:12px; background:var(--paper); border:1px solid var(--line); flex:1 1 210px; }
.place-dot{ width:9px; height:9px; border-radius:50%; background:var(--c); margin-bottom:0.2rem; }
.place-name{ font-family:'Bitter', serif; font-weight:600; font-size:15px; }
.place-desc{ font-size:12.5px; line-height:1.5; color:var(--ink-soft); }

/* ---------- partnerships (home summary) ---------- */
.partners{ padding:8vh 6vw; max-width:1200px; margin:0 auto; }
.partners-head{ text-align:center; margin-bottom:3.5rem; }
.partners-eyebrow{
  font-family:'Work Sans', sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:1rem;
}
.partners-title{ font-family:'Bitter', serif; font-weight:600; font-size:clamp(26px, 3.2vw, 36px); margin-bottom:0.8rem; }
.partners-sub{ font-size:14.5px; color:var(--ink-soft); max-width:560px; margin:0 auto; line-height:1.6; }
.mou-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.3rem; margin-bottom:3.5rem; }
.mou-logo{ height:40px; max-width:150px; margin-bottom:0.8rem; display:flex; align-items:center; justify-content:flex-start; }
.mou-logo img{ max-height:100%; max-width:150px; width:auto; height:auto; object-fit:contain; }
.mou-logo-placeholder{
  width:56px;
  border:1.5px dashed var(--line);
  border-radius:8px;
  color:var(--ink-soft);
  font-size:9px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  justify-content:center;
}
.mou-card{ padding:1.7rem 1.4rem; border-radius:14px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--c); }
.mou-tag{
  font-family:'Work Sans', sans-serif;
  font-size:10.5px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--c);
  margin-bottom:0.6rem;
}
.mou-name{ font-family:'Bitter', serif; font-weight:600; font-size:15.5px; line-height:1.35; margin-bottom:0.6rem; }
.mou-desc{ font-size:12.5px; line-height:1.55; color:var(--ink-soft); }
.network-row{ text-align:center; }
.network-label{
  font-family:'Work Sans', sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:1rem;
}
.network-list{ font-family:'Work Sans', sans-serif; font-size:14px; line-height:2.2; color:var(--ink-soft); max-width:820px; margin:0 auto; }
.network-list span{ color:var(--ink); font-weight:500; }
.network-list span:not(:last-child):after{ content:" \00b7 "; color:var(--line); font-weight:400; }

/* ---------- footer (home has extra padding + text, id="contact") ---------- */
.footer{ padding:4rem 6vw; }
.footer-logo{ height:32px; }
.footer-text{ letter-spacing:0.04em; }

@media (max-width:900px){
  .hero{ grid-template-columns:1fr; }
  .sequence-row{ grid-template-columns:1fr; gap:2rem; }
  .sequence-svg{ display:none; }
  .global-inner{ grid-template-columns:1fr; }
  .mou-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:600px){
  .mou-grid{ grid-template-columns:1fr; }
}
