/*! ccamp-page 1.0.1 | /solution/campaign-analysis to Figma 4461:299507 ("Use case - Campaign Analysis V3", 1920 frame).
   Same build as trend analysis / influencer discovery: "Campaign analysis for every kind of campaign you run" is 3 icon
   columns (section .cvoc-tells, classes shared with VoC/CA/TA/ID), the SL tab accordion is hidden, band + carousel visuals
   are Figma statics. The Figma carousel has 2 slides; the doc's "Count the posts that never used your hashtag" slide is hidden. */
/* Figma stats start at 2069: 100px under the 6-line first column (TA/ID: 121 under 5 lines) */
.cfh-page .cvoc-tells{position:relative;padding:120px 0 100px}
/* 48/48, Figma breaks after "every" (box 599; Geist fits it between 592 and 692 + the 36px insets) */
.cfh-page .cvoc-tells-h2{margin:0 0 95px;padding:0 36px;max-width:714px;text-wrap:balance;font-family:var(--cfh-display);font-weight:400;font-size:48px;line-height:48px;letter-spacing:-0.96px;color:#1D0A05}
.cfh-page .cvoc-tells-em{font-weight:600}
.cfh-page .cvoc-tells-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.cfh-page .cvoc-tells-col{padding:0 36px}
.cfh-page .cvoc-tells-ico{display:flex;align-items:flex-end;height:24px;margin:0 0 16px}
.cfh-page .cvoc-tells-svg{display:block;flex:none}
.cfh-page .cvoc-tells-title{margin:0 0 16px;max-width:301px;font-family:var(--cfh-display);font-weight:500;font-size:20px;line-height:24px;letter-spacing:-0.4px;color:#1D0A05;text-wrap:balance}
.cfh-page .cvoc-tells-text{margin:0;max-width:322px;font-family:var(--cfh-sans);font-weight:400;font-size:16px;line-height:1.3;letter-spacing:-0.16px;color:#1D0A05;text-wrap:pretty}
/* Figma title boxes 168 / 219 / 230 and copy boxes 306 / 285 / 273; these widths give the same breaks in Geist */
@media (min-width:992px){
  .cfh-page .cvoc-tells-col:nth-child(1) .cvoc-tells-title{max-width:181px;text-wrap:wrap}
  .cfh-page .cvoc-tells-col:nth-child(2) .cvoc-tells-title{max-width:234px;text-wrap:wrap}
  .cfh-page .cvoc-tells-col:nth-child(3) .cvoc-tells-title{max-width:263px;text-wrap:wrap}
  .cfh-page .cvoc-tells-col:nth-child(1) .cvoc-tells-text{max-width:312px;text-wrap:wrap}
  .cfh-page .cvoc-tells-col:nth-child(2) .cvoc-tells-text{max-width:289px;text-wrap:wrap}
  .cfh-page .cvoc-tells-col:nth-child(3) .cvoc-tells-text{max-width:277px;text-wrap:wrap}
}
@media (max-width:991px){
  .cfh-page .cvoc-tells{padding:64px 0}
  .cfh-page .cvoc-tells-h2{margin-bottom:40px;padding:0 32px;max-width:640px;font-size:40px;line-height:42px;letter-spacing:-0.8px;text-wrap:balance}
  .cfh-page .cvoc-tells-grid{grid-template-columns:minmax(0,1fr);row-gap:40px}
  .cfh-page .cvoc-tells-col{padding:0 32px}
  .cfh-page .cvoc-tells-title,.cfh-page .cvoc-tells-text{max-width:560px}
}
@media (max-width:767px){
  .cfh-page .cvoc-tells{padding:56px 0}
  .cfh-page .cvoc-tells-h2{margin-bottom:32px;padding:0 24px;font-size:30px;line-height:33px;letter-spacing:-0.6px}
  .cfh-page .cvoc-tells-grid{row-gap:32px}
  .cfh-page .cvoc-tells-col{padding:0 24px}
  .cfh-page .cvoc-tells-title{margin-bottom:12px;font-size:18px;line-height:23px;letter-spacing:-0.3px}
  .cfh-page .cvoc-tells-text{line-height:22px}
}
@media (max-width:479px){
  .cfh-page .cvoc-tells-h2,.cfh-page .cvoc-tells-col{padding-left:20px;padding-right:20px}
}

/* ---- hero (Figma: no eyebrow; "Campaign analysis" bold inline, line 1 ends after "shows"; sub 782 wide, 3 lines) ---- */
.cfh-page .cfh-s02 .cfs-hero-eyebrow{display:none}
.cfh-page .cfh-s02 .cfh-s02-h1-em{display:inline}
.cfh-page .cfh-s02 .cfh-s02-h1-em::after{content:none}
@media (min-width:992px){
  /* Figma: H1 top 199, 20px to the sub; Geist keeps "…that shows / which spend…" between 853 and 1034 */
  .cfh-page .cfh-s02 .cfh-s02-h1{max-width:944px;margin-top:21px;margin-bottom:18px}
  /* sub box 782: same 3 breaks between 756 and 783 */
  .cfh-page .cfh-s02 .cfh-s02-sub{max-width:770px;text-wrap:wrap}
}

/* ---- band: the Figma "Marisol Beauty Q3 2026 campaigns" card, 1096 x 442 at 412/630 (107 from the left rail, 102 from
   the band top) on this Figma's slate-blue texture (the shared cfh-s03-bg texture is the brown clay of the TA frame) ---- */
.cfh-page .cfh-s03 .cfh-s03-bg{background-image:url("https://cdn.prod.website-files.com/691ac89c63463f1a7f195c1a/6ac603575c1191dfd6083f38_ccamp-band-texture-2x.webp");background-color:#3C5363}
.cfh-page .cfh-s03 .csl-band-card{aspect-ratio:1096/442}
.cfh-page .cfh-s03 .csl-band-poster{display:block;width:100%;height:100%;object-fit:contain}
@media (min-width:992px){
  .cfh-page .cfh-s03 .cfh-s03-card{aspect-ratio:1310/646}
  .cfh-page .cfh-s03 .csl-band-card{width:83.6641%;margin-top:7.7863%;margin-left:8.1679%}
}

/* ---- feature carousel (2 slides) ---- */
@media (min-width:768px){
  /* Figma boxes: titles 337 / 361, copy 503 / 415 (slide state "2"); fitted in Geist (ranges 336-360, 486-509, 364-391, 399-416) */
  .cfh-page [data-cfh-sec="sl-carousel"] .csl-slide-title{max-width:520px;text-wrap:wrap}
  .cfh-page [data-cfh-sec="sl-carousel"] .csl-slide:nth-child(1) .csl-slide-title{max-width:348px}
  .cfh-page [data-cfh-sec="sl-carousel"] .csl-slide:nth-child(2) .csl-slide-title{max-width:377px}
  .cfh-page [data-cfh-sec="sl-carousel"] .csl-slide-body{max-width:520px;text-wrap:wrap}
  .cfh-page [data-cfh-sec="sl-carousel"] .csl-slide:nth-child(1) .csl-slide-body{max-width:498px}
  .cfh-page [data-cfh-sec="sl-carousel"] .csl-slide:nth-child(2) .csl-slide-body{max-width:407px}
}
/* ---- CTA band: heading on one line as in Figma ("See what your campaign really did", 712px at 48px) ---- */
@media (min-width:992px){
  .cfh-page .cfh-s13 .cfh-s13-head{max-width:none}
}
/* ---- testimonial + FAQ ---- */
@media (min-width:992px){
  .cfh-page .cfh-s10 .cfh-s10-quote{min-height:78px}
  /* this Figma's answer box is 571 wide (28 + 571 + 27 padding) */
  .cfh-page .cfh-s12 .cfh-s12-panel-inner > .cfs-faq-answer{max-width:626px;text-wrap:wrap}
}

/* ---- phone layouts of the Rive cards (1.0.1): below 992 (band) / 768 (carousel) the desktop artboards (1096 / 756 wide) shrink
   to unreadable text, so 360 px phone artboards with the same content show there instead (.ccamp-band-m / .ccamp-slide-m,
   keys ca-*-m). csl-page's [data-cfh-rive]{display:grid} would show both wrappers, hence the (0,3,0) rules. ---- */
.cfh-page .cfh-s03 .ccamp-band-m{display:none}
.cfh-page [data-cfh-sec="sl-carousel"] .ccamp-slide-m{display:none}
@media (max-width:991px){
  .cfh-page .cfh-s03 .cfh-s03-card{aspect-ratio:auto}
  .cfh-page .cfh-s03 .csl-band-stage{display:block;padding:40px 24px;overflow:visible}
  .cfh-page .cfh-s03 .csl-band-card{display:none}
  .cfh-page .cfh-s03 .ccamp-band-m{display:grid;width:100%;max-width:440px;aspect-ratio:360/928;margin:0 auto;background-color:#FCFBF8}
}
@media (max-width:479px){
  .cfh-page .cfh-s03 .csl-band-stage{padding:24px 16px}
}
@media (max-width:767px){
  /* both phone slides are 360 x 660, so the carousel row is the same height for each */
  .cfh-page [data-cfh-sec="sl-carousel"] .csl-slide-visual{display:none}
  .cfh-page [data-cfh-sec="sl-carousel"] .ccamp-slide-m{display:grid;grid-row:2;align-self:start;width:100%;max-width:440px;aspect-ratio:360/660;margin-top:32px;background-color:#F4F2EE;overflow:hidden}
}
