/* Shared finishing layer: readable prose, consistent media and responsive cards. */
.audience-copy>p:not(.eyebrow):not(.audience-impact-note),.partner-copy>p:not(.eyebrow),.journey-steps article>p,.page-story>div>p:not(.eyebrow){font-size:clamp(15px,1.3vw,17px);line-height:1.75;max-width:58ch;text-wrap:pretty}
.audience-copy li{font-size:14px;line-height:1.65;padding-block:6px}
.audience-image{height:auto;aspect-ratio:3/2;align-self:start}
.audience-image>img{width:100%;height:100%;object-fit:cover}
.audience-copy h3,.journey-steps h3,.page-story h2,.page-points h3,.faq h2,.page-faq h2{letter-spacing:-.035em;line-height:1.12}
.questions details p{max-width:60ch;line-height:1.75;padding-right:12px;font-size:15px}
.questions details p+p{margin-top:-8px;padding-top:0}
.questions summary{gap:24px;align-items:center;line-height:1.45}
.questions summary>span{flex-shrink:0}
#partenaires .partner-copy h2{font-size:clamp(34px,3.55vw,50px);line-height:1.1;letter-spacing:-.04em;text-wrap:balance;max-width:19ch}
#partenaires .partner-copy>p:not(.eyebrow){margin-block:22px;max-width:49ch}
#partenaires .partner-copy .partner-detail-link{margin-top:18px}
#pricing .price-grid strong{letter-spacing:-.055em}
#pricing .price-capsule:focus-within{z-index:10;border-color:var(--offer-accent);box-shadow:0 20px 38px #123a2b18;transform:translateY(-13px) scale(1.035)}
#pricing .offer-choose:focus-visible{outline:2px solid var(--petrol);outline-offset:4px}
.editorial-page{background:#fff}
.editorial-page .page-story,.editorial-page .page-faq{position:relative;isolation:isolate}
.editorial-page .page-story:before,.editorial-page .page-faq:before{content:'';position:absolute;inset:0;z-index:-1;background:#f3f5f4;box-shadow:0 0 0 100vmax #f3f5f4;clip-path:inset(0 -100vmax);pointer-events:none}
.editorial-page .partners.section{background:#fff;border-block:0;margin:0}
.editorial-page .page-story{border-top:0}
.project-dialog{padding:30px;max-height:calc(100dvh - 32px)}
.project-dialog h2{font-size:clamp(29px,3vw,39px);line-height:1.12;letter-spacing:-.035em;padding-right:8px}
.project-dialog label{font-size:13px}
.project-dialog input:focus-visible,.project-dialog select:focus-visible,.project-dialog textarea:focus-visible{outline:2px solid var(--deep);outline-offset:2px;border-color:var(--deep)}
.project-dialog .form-notice{font-size:12px;line-height:1.65;max-width:65ch}
@media(min-width:701px) and (max-width:1050px){
  #pricing .price-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 16px;padding:0}
  #pricing .price-grid>.price-capsule{grid-column:span 2;min-height:390px;padding:28px 22px;border-radius:35px}
  #pricing .price-grid>.price-capsule+.price-capsule{margin-left:0}
  #pricing .price-grid>.price-capsule:nth-child(4){grid-column:2 / span 2}
  #pricing .price-grid strong{font-size:49px}
  #pricing .price-grid>.price-capsule:nth-child(5){grid-column:4 / span 2}
}
@media(max-width:900px){
  .faq,.page-faq{grid-template-columns:1fr;gap:30px}
  .faq>div:first-child,.page-faq>div:first-child{max-width:580px}
  .page-story{grid-template-columns:1fr;gap:28px}
  .page-points{gap:24px}
}
@media(max-width:600px){
  #pricing .offer-choose{min-height:46px;font-size:13px}
  .phone-video-controls button,.faq .text-link,.site-header .menu-button,.project-dialog .icon-button{min-height:44px}
  .site-header .menu-button{min-width:44px}
  .project-dialog form>.button,.project-dialog section>.button{min-height:50px}
  .audience-copy li{font-size:13px}
  .questions details p{font-size:14px;padding-right:4px}
  .page-story,.page-faq{padding-block:48px}
  #partenaires .partner-copy h2{font-size:36px;max-width:21ch}
  #partenaires .partner-copy>p:not(.eyebrow){margin-block:18px}
  .project-dialog{padding:23px 20px}
}
@media(max-width:700px){#pricing .price-capsule:focus-within{transform:translateY(-4px) scale(1.015)}}
@media(prefers-reduced-motion:reduce){#pricing .price-capsule:focus-within{transform:none}}
@media print{.editorial-page .page-story:before,.editorial-page .page-faq:before{box-shadow:none}}
