/* 2026-10-23 compact visual pass: calmer scale, more breathing room, tighter footer. */
@media screen{
  .poster-home{
    --section:clamp(68px,5.8vw,92px);
  }
  .wrap{
    width:min(90%,1320px);
    max-width:1320px;
  }
  .poster-home .home-header{
    width:min(90%,1320px);
    max-width:1320px;
    margin-inline:auto;
    min-height:88px;
  }
  .poster-home .home-header .brand{width:246px}
  .poster-home .home-header nav{gap:34px}

  /* Hero: retain the poster idea without letting type dominate the viewport. */
  .poster-home .hero-b{
    width:min(90%,1320px);
    max-width:1320px;
    margin-inline:auto;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    gap:30px 5%;
    padding-top:20px;
  }
  .poster-home .hero-b h1{
    font-size:clamp(44px,5.8vw,84px);
    line-height:1.01;
  }
  .poster-home .hero-b .poster-copy h1>.hero-subtitle{
    font-size:clamp(18px,1.45vw,23px);
    line-height:1.46;
    margin-top:24px;
    max-width:36ch;
  }
  .poster-home .hero-b .poster-copy>.hero-lead{
    font-size:15px;
    line-height:1.76;
    max-width:55ch;
    margin-top:22px;
  }
  .poster-home .hero-b .poster-copy>.personal-role{
    font-size:14px;
    line-height:1.72;
  }
  .poster-home .hero-b>.face{
    max-width:490px;
    max-height:625px;
    justify-self:end;
  }
  .poster-home .hero-b .hero-action-row{margin-top:25px}
  .poster-home .hero-b .poster-bottom{padding-block:24px 30px}
  .poster-home .hero-b .poster-bottom .hero-facts{
    max-width:680px;
    gap:24px;
  }
  .poster-home .hero-b .poster-bottom .hero-facts strong{
    font-size:clamp(30px,3vw,42px);
  }

  /* Section rhythm: smaller type, generous outer space, less bulky cards. */
  .poster-home h2{
    font-size:clamp(32px,3.65vw,54px);
    line-height:1.12;
  }
  .poster-home .chapter-heading{
    grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
    gap:9%;
    margin-bottom:44px;
  }
  .poster-home .chapter-heading>p{
    font-size:14px;
    line-height:1.8;
  }
  .poster-home .task-briefs,
  .poster-home .service-briefs{column-gap:5.5%}
  .poster-home .task-brief{padding-block:23px}
  .poster-home .task-brief h3{font-size:22px}
  .poster-home .service-brief{padding-block:25px}
  .poster-home .service-brief>h3{
    font-size:clamp(21px,1.75vw,26px);
    min-height:2.45em;
  }
  .poster-home .service-output,
  .poster-home .service-detail>p,
  .poster-home .task-brief>p{font-size:14px}
  .poster-home .service-symbol{width:31px;height:31px}

  .poster-home .price-row{padding-block:29px;gap:8%}
  .poster-home .price-row h3{font-size:clamp(24px,2.1vw,32px)}
  .poster-home .price-row .price{font-size:clamp(23px,2.15vw,31px)}
  .poster-home .price-row>div>p:not(.price){font-size:14px}
  .price-action{font-size:13px;min-height:44px}

  .poster-home .home-process li{padding-block:22px}
  .poster-home .home-process li h3{font-size:21px}
  .poster-home .home-process li p{font-size:14px}
  .poster-home .big-questions{
    font-size:clamp(24px,2.7vw,38px);
    gap:20px 8%;
    margin-block:34px 22px;
  }

  .poster-home .home-timeline .year{font-size:clamp(34px,3.7vw,50px)}
  .poster-home .home-timeline li{padding-block:27px}
  .poster-home .home-timeline li>div>h3{font-size:22px}
  .poster-home .home-timeline li>div>p{font-size:14px}
  .poster-home .mentoring-compact{margin-top:42px;padding-top:30px}

  /* Cases should read as editorial proof, not billboard graphics. */
  .poster-home .compact-cases>h2{
    font-size:clamp(34px,4vw,56px);
    margin-bottom:34px;
  }
  .poster-home .compact-cases>.projects-intro{
    font-size:14px;
    margin-bottom:34px;
  }
  .poster-home .case-brief{padding-block:34px}
  .poster-home .case-brief-heading h3{font-size:clamp(27px,2.9vw,40px)}
  .poster-home .case-single .case-intro,
  .poster-home .projects-intro,
  .poster-home .case-details .case-story{font-size:14px}
  .poster-home .home-case .broker-stats strong{font-size:clamp(52px,6vw,82px)}
  .poster-home .home-case .company-stats{
    gap:24px;
    padding:32px;
  }
  .poster-home .home-case .company-stats strong{font-size:clamp(40px,4vw,58px)}
  .poster-home .home-case .company-stats>p:first-child strong{font-size:clamp(56px,5.7vw,78px)}
  .poster-home .home-case .company-stats span{font-size:13px}
  .city-grid{gap:8px;max-width:760px}

  .poster-home .home-faq .situation summary{
    min-height:82px;
    font-size:17px;
  }
  .poster-home .home-faq .situation>p{font-size:14px}

  /* Contact stays prominent, but no longer fills the page like a billboard. */
  .poster-home .home-contact h2{
    font-size:clamp(34px,5vw,72px);
    max-width:17ch;
  }
  .poster-home .contact-bottom{margin-top:42px;gap:9%}
  .poster-home .contact-bottom>div>p{font-size:14px}
  .poster-home .contact-bottom .action{
    padding:22px 24px;
    min-height:92px;
    font-size:15px;
  }

  /* Compact editorial footer, closer to the earlier site's quiet finish. */
  .poster-home .home-footer{
    width:min(90%,1320px);
    max-width:1320px;
    padding-block:30px 24px;
  }
  .poster-home .footer-top{
    align-items:center;
    gap:42px;
  }
  .poster-home .footer-top .brand{width:210px}
  .poster-home .footer-top nav{
    display:flex;
    justify-content:flex-end;
    gap:2px 24px;
    max-width:none;
  }
  .poster-home .home-footer nav a{
    min-height:36px;
    font-size:12px;
  }
  .poster-home .footer-bottom{
    margin-top:20px;
    padding-top:18px;
    align-items:start;
  }
  .poster-home .footer-bottom>p,
  .poster-home .footer-bottom>p span{
    font-size:11px;
    line-height:1.65;
  }
  .poster-home .footer-bottom>p span{margin-top:5px}
  .poster-home .footer-bottom nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:0 20px;
    max-width:none;
  }
}

@media(max-width:800px){
  .wrap,
  .poster-home .home-header,
  .poster-home .hero-b,
  .poster-home .home-footer{
    width:calc(100% - 40px);
  }
  .poster-home{--section:clamp(58px,14vw,78px)}
  .poster-home .hero-b{grid-template-columns:1fr;gap:16px;padding-top:14px}
  .poster-home .hero-b h1{font-size:clamp(38px,10vw,62px);line-height:1.04}
  .poster-home .hero-b .poster-copy h1>.hero-subtitle{font-size:clamp(17px,4.2vw,21px);margin-top:20px}
  .poster-home .hero-b>.face{max-width:390px;justify-self:center}
  .poster-home h2{font-size:clamp(30px,8.5vw,44px)}
  .poster-home .chapter-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}
  .poster-home .service-briefs{grid-template-columns:1fr}
  .poster-home .service-brief>h3{min-height:0;font-size:23px}
  .poster-home .price-row h3{font-size:25px}
  .poster-home .price-row .price{font-size:25px}
  .poster-home .big-questions{font-size:26px;grid-template-columns:1fr;gap:12px;margin-block:30px 20px}
  .poster-home .compact-cases>h2{font-size:38px}
  .poster-home .home-contact h2{font-size:clamp(34px,9vw,52px)}
  .poster-home .contact-bottom .action{min-height:78px;padding:18px}
  .poster-home .footer-top,.poster-home .footer-bottom{display:block}
  .poster-home .footer-top .brand{width:190px}
  .poster-home .footer-top nav{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;gap:0 18px}
  .poster-home .footer-bottom{margin-top:16px;padding-top:16px}
  .poster-home .footer-bottom nav{display:grid;justify-content:start;margin-top:14px;gap:0}
  .poster-home .home-footer{padding-bottom:76px}
}

@media(max-width:550px){
  .poster-home .hero-b h1{font-size:clamp(36px,10.4vw,52px)}
  .poster-home .hero-b .poster-bottom .hero-facts{grid-template-columns:1fr 1fr}
  .poster-home .hero-b .poster-bottom .hero-facts strong{font-size:30px}
  .poster-home .footer-top nav{grid-template-columns:1fr}
}
