/* ── Home page refresh (variant B + manifesto model 1B) ──────────────────────
   Everything below the hero video on the home page: manifesto, proof in
   figures, "Three ways to work together".

   One violet only, the brand plum #4E1838, used solid or as an opacity tint on
   the linen background. Depth comes from thick rules and hard offset shadows,
   not from extra colours. Scoped to the home <main>, so no other page changes.
   ──────────────────────────────────────────────────────────────────────── */

/* Part 1 — sections: tinted bands, thick rules, hard-shadow panels, ghost numerals */
:root main[data-route="home"] .manifesto{
  border-top:6px solid #4E1838;
  padding-bottom:var(--section-y);
  background:#EFE9DD;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

:root main[data-route="home"] .manifesto h2{
  font-size:clamp(44px,6vw,84px);
}

:root main[data-route="home"] .manifesto-signature{
  border-top:3px solid #4E1838;
}

@media (min-width:801px){
  :root main[data-route="home"] .manifesto-hero{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:clamp(32px,4vw,64px);
    align-items:stretch;
  }
  :root main[data-route="home"] .manifesto h2{
    font-size:clamp(40px,4.3vw,62px);
    line-height:1.08;
  }
  :root main[data-route="home"] .manifesto-hero > h2{
    width:fit-content;
    margin-inline:auto;
  }
  :root main[data-route="home"] .manifesto-body-col{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding-top:0;
  }
  :root main[data-route="home"] .manifesto-body-col .lede{
    font-size:clamp(16px,1.25vw,19px);
  }
  :root main[data-route="home"] .manifesto-signature{
    margin-top:var(--stack-md);
  }
}

@media (max-width:800px){
  :root main[data-route="home"] .manifesto-hero{
    grid-template-columns:1fr;
    row-gap:var(--stack-md);
  }
  :root main[data-route="home"] .manifesto h2{
    font-size:clamp(40px,11vw,60px);
  }
  :root main[data-route="home"] .manifesto-body-col .lede{
    font-size:16px;
    max-width:none;
  }
}

:root main[data-route="home"] .manifesto-body-col{
  max-width:none;
  margin:0;
  padding-top:10px;
}

:root main[data-route="home"] .manifesto-body-col .lede{
  max-width:50ch;
  font-size:17px;
  line-height:1.7;
}

:root main[data-route="home"] .manifesto-signature{
  margin:var(--stack-md) 0 0;
  padding-top:var(--stack-md);
}

:root main[data-route="home"] .manifesto-grid{
  border-top:0;
  gap:30px;
  position:relative;
  margin-top:var(--stack-xl);
  padding-top:var(--stack-xl);
}

:root main[data-route="home"] .manifesto-grid::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:calc(-1 * var(--home-gap));
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:rgba(78,24,56,0.1);
}

:root main[data-route="home"] .manifesto-pillar,
:root main[data-route="home"] .manifesto-pillar:nth-child(2),
:root main[data-route="home"] .manifesto-pillar:nth-child(3){
  background:#F6F2E8;
  border:3px solid #4E1838;
  border-radius:0;
  padding:34px 28px 32px;
  box-shadow:9px 9px 0 #4E1838;
  transition:transform .2s ease-out,box-shadow .2s ease-out;
}

:root main[data-route="home"] .manifesto-pillar:hover{
  transform:translate(-4px,-4px);
  box-shadow:13px 13px 0 #4E1838;
}

:root main[data-route="home"] .manifesto-pillar,
:root main[data-route="home"] .manifesto-pillar:nth-child(2),
:root main[data-route="home"] .manifesto-pillar:nth-child(3){
  position:relative;
  overflow:hidden;
}

:root main[data-route="home"] .manifesto-pillar .num{
  position:absolute;
  top:6px;
  right:16px;
  font-family:var(--serif);
  font-style:italic;
  font-size:84px;
  line-height:.9;
  letter-spacing:-.04em;
  color:rgba(78,24,56,0.13);
}

:root main[data-route="home"] .manifesto-pillar h3{
  margin-top:64px;
  font-size:36px;
  line-height:1.05;
}

:root main[data-route="home"] .numbers-section{
  background:rgba(78,24,56,0.1);
  border-top:6px solid #4E1838;
}

:root main[data-route="home"] .numbers-list{
  border-top:4px solid #4E1838;
}

:root main[data-route="home"] .number-row{
  border-bottom:3px solid #4E1838;
}

:root main[data-route="home"] .number-row .v{
  font-size:clamp(60px,8vw,112px);
}

:root main[data-route="home"] .chart-card{
  background:#F6F2E8;
  border:3px solid #4E1838;
}

:root main[data-route="home"] .testimonial-card{
  background:#F6F2E8;
  border:0;
  border-top:6px solid #4E1838;
  border-radius:0;
  padding:30px 34px 26px;
  position:relative;
  box-shadow:0 18px 34px -24px rgba(78,24,56,0.4);
}

:root main[data-route="home"] .testimonial-card::before{
  content:"\201C";
  position:absolute;
  top:8px;
  right:24px;
  font-family:var(--serif);
  font-size:120px;
  line-height:1;
  color:rgba(78,24,56,0.14);
  pointer-events:none;
}

:root main[data-route="home"] .testimonial-card blockquote{
  font-size:clamp(18px,1.6vw,22px);
  line-height:1.55;
  border-left:0;
  padding-left:0;
  padding-right:56px;
  margin:0 0 22px;
  max-width:none;
}

:root main[data-route="home"] .testimonial-card__cite{
  border-top:2px solid rgba(78,24,56,0.2);
  padding-top:18px;
}

:root main[data-route="home"] .testimonial-card__avatar{
  width:48px;
  height:48px;
  border:2px solid #4E1838;
}

:root main[data-route="home"] .testimonial-card__name{
  font-size:18px;
}

:root main[data-route="home"] .services-section{
  background:#EFE9DD;
  border-top:6px solid #4E1838;
}

:root main[data-route="home"] .services-section::before{
  display:none;
}

:root main[data-route="home"] .ways-grid{
  border-top:0;
  gap:30px;
}

:root main[data-route="home"] .way-card,
:root main[data-route="home"] .way-card:first-child,
:root main[data-route="home"] .way-card:last-child{
  position:relative;
  overflow:hidden;
  background:#F6F2E8;
  border:3px solid #4E1838;
  border-radius:0;
  box-shadow:9px 9px 0 #4E1838;
  padding:34px 28px 32px;
  transition:transform .2s ease-out,box-shadow .2s ease-out;
}

:root main[data-route="home"] .way-card:hover{
  transform:translate(-4px,-4px);
  box-shadow:13px 13px 0 #4E1838;
}

:root main[data-route="home"] .way-card .num{
  position:absolute;
  top:6px;
  right:16px;
  font-family:var(--serif);
  font-style:italic;
  font-size:84px;
  line-height:.9;
  letter-spacing:-.04em;
  color:rgba(78,24,56,0.13);
}

:root main[data-route="home"] .way-card h3{
  margin-top:64px;
  font-size:36px;
  line-height:1.05;
}

@media (min-width:901px){
  :root main[data-route="home"] .manifesto-pillar h3,
  :root main[data-route="home"] .way-card h3{
    min-height:2.1em;
  }
}

:root{
  --home-gap:clamp(24px,2.6vw,36px);
}

:root main[data-route="home"] .manifesto{
  padding-top:var(--home-gap);
  padding-bottom:var(--home-gap);
}

:root main[data-route="home"] .numbers-section{
  padding-top:var(--home-gap);
  padding-bottom:var(--home-gap);
}

:root main[data-route="home"] .services-section,
:root main[data-route="home"] #services-home{
  padding-top:var(--home-gap);
  padding-bottom:var(--home-gap);
}

:root main[data-route="home"] .manifesto{
  border-top-width:2px;
}

:root main[data-route="home"] .numbers-section{
  border-top-width:2px;
  border-bottom-width:0;
}

:root main[data-route="home"] .services-section{
  border-top-width:2px;
}

:root main[data-route="home"] .services-section::before{
  height:2px;
}

/* Part 2 — manifesto headline: centred poster, title one step below the hero title */
:root main[data-route="home"] .manifesto-hero{
  display:block;
  text-align:center;
}

:root main[data-route="home"] .manifesto-hero > h2{
  width:auto;
  max-width:22ch;
  margin:0 auto;
  font-size:clamp(46px,6.4vw,96px);
  line-height:1.02;
  letter-spacing:-.035em;
  text-wrap:balance;
}

:root main[data-route="home"] .manifesto h2 > span{
  display:inline;
}

:root main[data-route="home"] .manifesto-body-col{
  display:block;
  max-width:none;
  margin:0;
  padding:0;
  border:0;
}

:root main[data-route="home"] .manifesto-body-col::before{
  content:"";
  display:block;
  width:84px;
  height:4px;
  background:#4E1838;
  margin:clamp(28px,3vw,44px) auto clamp(24px,2.6vw,36px);
}

:root main[data-route="home"] .manifesto-body-col .lede{
  max-width:62ch;
  margin:0 auto;
  font-size:clamp(17px,1.4vw,20px);
  line-height:1.7;
  text-align:center;
}

:root main[data-route="home"] .manifesto-signature{
  border-top:0;
  margin:clamp(22px,2.4vw,32px) 0 0;
  padding:0;
  text-align:center;
}

:root main[data-route="home"] .manifesto-signature p{
  font-size:clamp(20px,1.8vw,26px);
}

:root main[data-route="home"] .manifesto-signature p::before,
:root main[data-route="home"] .manifesto-signature p::after{
  content:"";
  display:inline-block;
  width:44px;
  height:2px;
  background:#4E1838;
  vertical-align:middle;
  margin:0 18px;
}

@media (max-width:600px){
  :root main[data-route="home"] .manifesto-signature p::before,
  :root main[data-route="home"] .manifesto-signature p::after{
    display:none;
  }
}

:root main[data-route="home"] .manifesto-hero > h2{
  font-size:clamp(2.5rem,4.4vw,5.1rem);
  line-height:1.12;
  letter-spacing:-.026em;
  max-width:30ch;
}
