/* V22 desktop composition; V23 adds compact diagnosis and case summaries. */
@media (min-width:960px){
  :root{--pc-gutter:56px;--pc-width:1200px;--heading:clamp(52px,4.7vw,68px);--section-space:clamp(88px,7.5vw,112px)}
  .wrap{width:min(calc(100% - var(--pc-gutter)*2),var(--pc-width))}
  .desktop-header{padding-block:26px;gap:32px}
  .desktop-header nav{gap:clamp(24px,2.6vw,40px);font-size:14px}
  .desktop-header nav a{display:flex;align-items:center;min-height:44px}
  .desktop-header .brand-link img{width:238px}

  /* One sentence, one wide composition; no duplicate explanatory sidebar. */
  .hero-layout{display:block;width:100%;max-width:none;padding:0}
  .hero-column{width:100%;max-width:none;margin:0}
  .hero-detail{display:none}
  .stage{padding:26px 0 40px;background-size:100% 100%;background-position:center}
  .hero-copy{width:min(calc(100% - var(--pc-gutter)*2),var(--pc-width));margin-inline:auto;padding:0}
  .hero-eyebrow{font-size:13px;line-height:1.5;letter-spacing:.24em;margin:0 0 16px;text-align:center}
  .hero-title{display:grid;grid-template-columns:max-content max-content;justify-content:center;column-gap:0;align-items:baseline;text-align:center}
  .hero-intro{grid-column:1/-1;grid-row:1;font-size:clamp(48px,4.8vw,68px);line-height:1.25;margin-bottom:4px}
  .hero-seo-row{display:contents;margin:0}
  .hero-seo{grid-column:1/-1;grid-row:2;justify-self:center;width:auto;font-size:clamp(280px,min(31vw,45vh),446px);line-height:.91;letter-spacing:-.075em;transform:none;margin:0;padding-right:.075em}
  .hero-particle{grid-column:1;grid-row:3;justify-self:end;font-size:clamp(40px,4.5vw,64px);line-height:1.25;letter-spacing:-.055em}
  .hero-ending{grid-column:2;grid-row:3;justify-self:start;font-size:clamp(40px,4.5vw,64px);line-height:1.25;letter-spacing:-.055em;padding-top:10px;white-space:nowrap}
  .hero-ending br{display:none}
  .support{display:flex;align-items:center;gap:26px;width:min(calc(100% - var(--pc-gutter)*2),var(--pc-width));margin:22px auto 0;padding:0}
  .support-top{flex:none;margin:0;padding-right:26px;border-right:1px solid var(--line)}
  .support-top>p{font-size:15px;line-height:1.5;white-space:nowrap}
  .lanes{flex:1;min-width:0;margin:0}
  .marquee{height:42px;mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 20px),transparent)}
  .wordmarks{gap:36px;padding-right:36px}
  .wordmarks li{font-size:23px;line-height:1.8}
  .stage[data-reduced="true"] .wordmarks{padding-inline:12px}
  .hero-action{width:min(calc(100% - var(--pc-gutter)*2),var(--pc-width));margin:20px auto 0;padding:0}
  .hero-benefit{font-size:14px;line-height:1.7}
  .hero-benefit>span{display:inline-block}
  .hero-benefit>span+span{margin-left:.75em}
  .hero-action .button{width:430px;min-height:68px;margin-inline:auto;padding:18px 54px 18px 28px;font-size:18px}
  .hero-action .button-arrow{font-size:28px;right:28px}

  /* Give the evidence a shared baseline and keep labels readable. */
  .evidence-section .section-title,.evidence-cases .section-title{display:flex;gap:.25em;align-items:baseline;font-size:clamp(68px,6.3vw,92px);line-height:1.2}
  .proof-heading{padding-top:calc(var(--photo-height) - 80px)}
  .proof-overview{gap:clamp(40px,5vw,72px)}
  .proof-company-numbers{max-width:480px}
  .proof-total>p,.proof-years>p{font-size:15px;margin-bottom:8px}
  .proof-total strong,.rank-main strong{font-size:clamp(84px,7.4vw,108px)}
  .proof-years strong{font-size:clamp(48px,4.8vw,64px)}
  .proof-rank{padding-left:clamp(28px,3.5vw,48px)}
  .rank-main dt,.rank-sub dt{font-size:14px}
  .rank-sub strong{font-size:clamp(40px,3.7vw,52px)}
  .keyword-featured{gap:16px 40px}
  .keyword-featured li{font-size:clamp(28px,2.4vw,34px)}

  /* Results occupy the former empty half; original client photos stay intact. */
  .case-story{--photo-height:100%;min-height:610px;background:#fff}
  .case-story .case-story-photo{height:100%;background:#fff}
  .case-story .case-story-photo img{width:55%;height:100%;margin-left:auto;object-fit:cover;mask-image:none;-webkit-mask-image:none}
  .motion-ready .case-story[data-story-scene] .evidence-photo img{transform:none}
  .case-hitonowa .case-story-photo img{object-position:52% 32%;transform-origin:75% 40%}
  .case-ange .case-story-photo img{object-position:19% 35%;transform-origin:38% 45%}
  .case-story-photo::after{background:linear-gradient(90deg,#fff 43%,rgba(255,255,255,.92) 46%,rgba(255,255,255,.15) 57%,transparent 65%),linear-gradient(180deg,transparent 72%,#fff 99%)}
  .case-story-photo figcaption{top:44px;left:max(var(--pc-gutter),calc((100% - var(--pc-width))/2));max-width:42%;font-size:18px;padding:12px 18px}
  .case-story-photo figcaption>span{font-size:11px}
  .case-story-content{display:block;min-height:610px;padding-top:164px;padding-bottom:56px}
  .case-story-content>div{width:44%;max-width:500px}
  .case-stat .metric-label{font-size:18px}
  .case-stat .result-number{margin:10px 0 18px;gap:8px}
  .case-stat .result-number strong{font-size:clamp(164px,14.3vw,206px);line-height:.95}
  .case-stat .result-number>span{font-size:28px}
  .case-stat .result-change{font-size:22px;gap:24px}
  .case-stat .result-change strong{font-size:34px}
  .case-story .case-actions{border:0;border-top:1px solid var(--line);margin-top:28px;padding:20px 0 0}
  .case-story .case-actions>p{font-size:13px;margin-bottom:12px}
  .case-story .case-actions>.case-summary{font-size:clamp(22px,1.95vw,28px);margin-bottom:16px}
  .case-story .case-actions ul{font-size:16px;gap:8px;line-height:1.75}

  /* Same four service chapters, with more weight on the actual work. */
  .work-scene .section-title{display:flex;gap:.24em;align-items:baseline;font-size:clamp(78px,8.2vw,118px);line-height:1.2}
  .work-scene .work-heading{padding-top:calc(var(--photo-height) - 94px);padding-bottom:48px}
  .work-content{padding-bottom:88px}
  .team-intro{font-size:16px;line-height:1.9}
  .work-verb,.work-verb:first-child,.work-verb:nth-child(2){grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:56px;padding-block:48px}
  .work-verb h3{font-size:clamp(80px,7.6vw,108px)}
  .verb-title>p{font-size:16px}
  .service-points{gap:15px 26px}
  .service-points li{font-size:16px;line-height:1.8}
  .work-action .button{max-width:430px;min-height:68px;font-size:18px}

  .diagnosis-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,72px);align-items:center}
  .diagnosis-topics{gap:28px 24px}
  .diagnosis-topics dt{font-size:23px}
  .diagnosis-topics dd,.simulation p,.flow-list p,.faq details>p{font-size:16px;line-height:1.85}
  .diagnosis-topics dd br{display:none}
  .simulation h3{font-size:28px;line-height:1.5}
  .diagnosis-bottom>p{font-size:16px;max-width:590px}
  .diagnosis-bottom .button{min-height:68px}
  .flow-list{gap:40px}
  .flow-number{font-size:64px;margin-bottom:16px}
  .flow-list h3{font-size:24px}
  .flow-list li+li{padding-left:36px}
  .faq>.wrap{max-width:960px}
  .faq-list{max-width:none;margin-top:40px}
  .faq summary{font-size:17px;min-height:84px;padding-block:24px}
  .faq details>p{padding-right:48px}
  .contact-layout{grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:clamp(48px,5vw,72px)}
  .contact-heading .section-title{font-size:clamp(48px,4.1vw,60px)}
  .contact-heading>p:not(.eyebrow):not(.section-kicker){font-size:16px}
  .contact-report{max-width:360px;margin-top:36px}
  .form-grid{gap:28px 24px}
  #review-button{max-width:none;min-height:68px}
  .site-footer{padding-block:44px;gap:24px 40px}
}

/* Laptop-height viewports keep the primary action in the first view. */
@media (min-width:960px) and (max-height:850px){
  .desktop-header{padding-block:16px}
  .stage{padding-top:10px;padding-bottom:28px}
  .hero-eyebrow{font-size:12px;margin-bottom:8px}
  .hero-intro{font-size:56px}
  .hero-seo{font-size:clamp(240px,min(30vw,45vh),370px)}
  .hero-particle,.hero-ending{font-size:48px}
  .hero-ending{padding-top:8px}
  .support{margin-top:14px}
  .marquee{height:38px}
  .wordmarks li{font-size:21px}
  .hero-action{margin-top:10px}
  .hero-benefit{margin-bottom:10px}
  .hero-action .button{min-height:60px;font-size:17px;padding-block:15px}
}

@media (min-width:960px) and (max-width:1199px){
  :root{--pc-gutter:40px}
  .case-story,.case-story-content{min-height:580px}
  .case-story-content{padding-top:156px;padding-bottom:44px}
  .case-story .case-actions ul{font-size:15px}
  .work-verb,.work-verb:first-child,.work-verb:nth-child(2){gap:32px}
  .service-points{gap:12px 16px}
  .service-points li{font-size:15px}
  .diagnosis-topics dt{font-size:21px}
  .flow-list{gap:24px}
  .flow-list li+li{padding-left:24px}
  .flow-list p br,.simulation p br{display:none}
  .contact-layout{grid-template-columns:280px minmax(0,1fr);gap:40px}
}

@media (min-width:960px) and (max-width:1199px) and (min-height:851px){
  .stage{padding-top:22px;padding-bottom:40px}
  .hero-action{margin-top:22px}
}

@media (min-width:960px) and (min-height:851px) and (max-height:900px){
  .desktop-header{padding-block:22px}
  .stage{padding-top:14px}
  .hero-eyebrow{margin-bottom:12px}
  .support{margin-top:14px}
  .hero-action{margin-top:14px}
}
