/* Channel chapters are centred independently from the branding timeline. */
.channel-intro{background:var(--brand);color:var(--white);text-align:center;border:0}
.channel-intro .section-heading{margin-bottom:0;gap:32px}
.channel-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 28px;margin-top:36px;font-size:var(--body-size);font-weight:700;line-height:1.6}
.channel-detail{background:var(--white);color:var(--black);text-align:center;border:0}
.channel-story{max-width:920px;margin-inline:auto}
.channel-detail .channel-name{margin:0 0 28px;font-size:var(--card-title-size);line-height:1.4;letter-spacing:-.035em}
.channel-story>h3{font-size:var(--channel-title-size);font-weight:700;line-height:1.35;letter-spacing:-.045em;margin:0;text-wrap:balance}
.channel-description{font-size:var(--body-size);line-height:1.95;letter-spacing:-.025em;max-width:800px;margin:36px auto 0;text-wrap:pretty}
.channel-description>span{display:block}
.channel-description>span+span{margin-top:12px}
.channel-keywords{font-size:var(--body-size);line-height:1.8;font-weight:500;letter-spacing:-.025em;margin:36px auto 0;max-width:800px;text-wrap:balance}
.channel-delivery{max-width:1060px;margin:var(--channel-stage-gap) auto 0;text-align:center}
.channel-delivery .channel-flow{margin-top:0;border-radius:8px}
.channel-delivery .channel-flow>li{display:flex;align-items:center;justify-content:center;min-height:80px;font-size:var(--body-size);padding:24px 16px}
.threads-delivery{padding-top:var(--channel-stage-gap);border-top:1px solid rgb(0 0 0 / 16%)}
.threads-delivery>h3{font-size:var(--feature-size);font-weight:700;line-height:1.5;letter-spacing:-.04em;margin:0}
.threads-delivery>p{font-size:var(--body-size);line-height:1.95;letter-spacing:-.025em;margin:28px auto 44px;max-width:800px;text-wrap:pretty}
.channel-production{padding-top:0;background:var(--white);border:0;text-align:center}
.channel-production .youtube-production{display:flex;flex-direction:column;align-items:center;gap:36px;max-width:1060px;margin:0 auto;padding:var(--production-space);border-radius:12px}
.channel-production h3{font-size:var(--channel-title-size);font-weight:700;line-height:1.35;letter-spacing:-.045em;margin:0}
.channel-production .production-tags{justify-content:center;max-width:760px;font-size:var(--body-size);line-height:1.8}
.channel-detail .channel-footnote{margin-top:24px;text-align:center;text-wrap:pretty}
@media(min-width:1025px){
  :root{--channel-title-size:48px;--channel-stage-gap:80px;--production-space:80px 64px}
  .channel-intro{padding-block:120px}
  .channel-detail{padding-block:120px}
  .channel-production{padding-bottom:120px}
  #youtube .channel-flow{--flow-columns:5}
}
@media(min-width:768px) and (max-width:1024px){
  :root{--channel-title-size:38px;--channel-stage-gap:64px;--production-space:64px 40px}
  .channel-intro{padding-block:96px}
  .channel-detail{padding-block:96px}
  .channel-production{padding-bottom:96px}
  #youtube .channel-flow{--flow-columns:5}
}
@media(max-width:767px){
  :root{--channel-title-size:30px;--channel-stage-gap:48px;--production-space:48px 24px}
  .channel-intro{padding-block:72px}
  .channel-detail{padding-block:72px}
  .channel-production{padding-bottom:72px}
  .channel-detail .channel-name{margin-bottom:24px}
  .channel-description{margin-top:28px}
  .channel-description>span+span{margin-top:16px}
  .channel-keywords{margin-top:28px}
  .channel-desktop-break{display:none}
  .channel-tags{gap:12px 24px;margin-top:28px}
  .channel-delivery .channel-flow>li{min-height:60px;padding:18px}
  #youtube .channel-flow{--flow-columns:1}
  .threads-delivery>p{margin:24px auto 32px}
  .channel-production .youtube-production{gap:28px}
}

/* Service overview leads to channel detail; the three values close those chapters. */
.promise-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:840px;margin-top:48px;text-align:center}
.promise-channels a{display:flex;align-items:center;justify-content:center;min-height:88px;padding:24px 16px;background:var(--white);color:var(--brand);border:1px solid var(--white);border-radius:12px;font-size:28px;font-weight:700;line-height:1.4;transition:background-color 180ms ease,color 180ms ease}
.promise-channels a:hover{background:transparent;color:var(--white)}
.service-values{background:var(--brand);color:var(--white);text-align:center}
.service-values>div>h2{font-size:var(--values-heading-size);font-weight:700;line-height:1.4;letter-spacing:-.04em;margin:0;text-wrap:balance}
.promise-values{max-width:1280px;display:grid;grid-template-columns:var(--promise-columns);gap:var(--promise-gap);margin-top:var(--promise-heading-gap);text-align:center}
.promise-values article{border:1px solid var(--brand);border-radius:12px;padding:var(--promise-card-padding);background:var(--white);color:var(--black)}
.promise-values h3{color:var(--brand);font-size:var(--promise-title-size);font-weight:700;line-height:1.4;letter-spacing:-.035em;margin:0 0 24px}
.promise-values p{font-size:16px;font-weight:400;line-height:1.9;letter-spacing:-.025em;margin:0 auto;max-width:340px;text-wrap:pretty}
@media(min-width:1025px){
  .service-values{--promise-columns:repeat(3,minmax(0,1fr));--promise-gap:24px;--promise-heading-gap:56px;--promise-card-padding:40px 28px;--promise-title-size:28px;--values-heading-size:44px}
}
@media(min-width:768px) and (max-width:1024px){
  .service-values{--promise-columns:repeat(3,minmax(0,1fr));--promise-gap:24px;--promise-heading-gap:40px;--promise-card-padding:32px 20px;--promise-title-size:26px;--values-heading-size:36px}
  .promise-channels{gap:20px;margin-top:40px;max-width:640px}
  .promise-channels a{font-size:24px;min-height:76px;padding:20px 16px}
}
@media(max-width:767px){
  .service-values{--promise-columns:minmax(0,1fr);--promise-gap:20px;--promise-heading-gap:32px;--promise-card-padding:32px 24px;--promise-title-size:26px;--values-heading-size:30px}
  .promise-channels{gap:12px;margin-top:32px}
  .promise-channels a{font-size:18px;min-height:64px;padding:16px 8px;border-radius:8px}
  .promise-values h3{margin-bottom:20px}
}

/* Supplied channel artwork replaces the former text-only navigation cards. */
.promise-channels a{display:block;min-height:0;padding:0;border:0;overflow:hidden;background:transparent;line-height:0}
.promise-channels a:hover{background:transparent}
.promise-channels img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(min-width:1025px){.promise-channels a{min-height:0;padding:0}}
@media(min-width:768px) and (max-width:1024px){.promise-channels a{min-height:0;padding:0}}
@media(max-width:767px){.promise-channels a{min-height:0;padding:0}}

/* Balance the visible artwork, accounting for each PNG's transparent margins. */
.promise-channels a{display:flex;flex-direction:column;align-items:stretch;gap:20px;overflow:visible;line-height:1.6;color:var(--white)}
.promise-channels a:hover{color:var(--white)}
.promise-channels .channel-artwork{display:grid;place-items:center;aspect-ratio:1}
.promise-channels .channel-artwork img{width:var(--artwork-scale,100%);height:auto}
.promise-channels a[href="#youtube"]{--artwork-scale:90%}
.promise-channels a[href="#blog"]{--artwork-scale:91%}
.channel-hashtags{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-size:var(--body-size);font-weight:700;line-height:1.6}
.channel-hashtags>span{white-space:nowrap}
@media(max-width:767px){
  .promise-channels a{gap:12px}
  .channel-hashtags{font-size:12px;gap:4px 8px}
}

/* Numbered process markers sit on a fine connecting line. */
.channel-process{max-width:1120px;margin:64px auto 0;text-align:center;--process-circle:56px}
.channel-process h4{margin:0 0 28px;font-size:18px;font-weight:700;line-height:1.6;color:var(--channel-process-label,var(--channel-accent,var(--brand)))}
.channel-process-steps{position:relative;display:flex;justify-content:center;list-style:none;padding:0;margin:0;counter-reset:channel-step}
.channel-process-steps>li{position:relative;counter-increment:channel-step;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:24px;padding:0 6px;background:transparent;color:var(--black);font-size:20px;font-weight:700;line-height:1.5;white-space:nowrap}
.channel-process-steps>li::before{position:relative;z-index:1;content:counter(channel-step,decimal-leading-zero);display:grid;place-items:center;box-sizing:border-box;width:var(--process-circle);height:var(--process-circle);flex-shrink:0;border:1px solid var(--channel-accent,var(--brand));border-radius:50%;background:var(--channel-accent,var(--brand));color:var(--white);font-size:16px;font-weight:700;line-height:1}
.channel-process-steps>li::after{content:"";position:absolute;inset:calc(var(--process-circle) / 2) 0 auto;height:1px;background:var(--channel-process-line,rgb(134 182 92 / 35%))}
@media(min-width:768px) and (max-width:1024px){
  .channel-process{margin-top:52px;--process-circle:48px}
  .channel-process-steps{flex-wrap:wrap;row-gap:36px}
  .channel-process-steps>li{flex:0 0 calc(100% / 3);font-size:18px;gap:18px}
  .channel-process-steps>li::before{font-size:15px}
}
@media(max-width:767px){
  .channel-process{margin-top:40px;--process-circle:44px}
  .channel-process h4{font-size:16px;margin-bottom:24px}
  .channel-process-steps{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;max-width:260px;margin-inline:auto}
  .channel-process-steps::before{content:"";position:absolute;left:calc(var(--process-circle) / 2);top:calc(var(--process-circle) / 2);bottom:calc(var(--process-circle) / 2);width:1px;background:var(--channel-process-line,rgb(134 182 92 / 35%))}
  .channel-process-steps>li{display:grid;grid-template-columns:var(--process-circle) minmax(0,1fr);gap:24px;align-items:center;justify-items:start;padding:0;text-align:left;font-size:17px}
  .channel-process-steps>li::before{font-size:14px}
  .channel-process-steps>li::after{display:none}
}

/* Alternating copy and imagery; the process remains full-width below each pair. */
.channel-feature{display:grid;align-items:center}
.channel-feature .channel-story{min-width:0;max-width:none;margin:0}
.channel-feature .channel-name{color:var(--channel-accent,var(--brand))}
.channel-feature .channel-description{max-width:none}
.channel-media{display:block;min-width:0;margin:0;aspect-ratio:1;border-radius:12px;overflow:hidden}
.channel-media img{display:block;width:100%;height:100%;object-fit:contain}
.channel-media-placeholder{display:grid;place-items:center;border:1px solid var(--brand);background:var(--white);color:var(--brand);font-size:18px;font-weight:500;line-height:1.6}
@media(min-width:1025px){
  .channel-feature{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;text-align:left}
  .channel-feature .channel-story>h3{font-size:clamp(32px,2.65vw,42px)}
  .channel-feature .channel-description{margin-top:28px}
  .channel-feature .channel-footnote{text-align:left;font-size:13px;margin-top:20px}
  .channel-feature-reversed .channel-media{grid-column:1;grid-row:1}
  .channel-feature-reversed .channel-story{grid-column:2;grid-row:1}
}
@media(min-width:768px) and (max-width:1024px){
  .channel-feature{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;text-align:left}
  .channel-feature .channel-story>h3{font-size:28px}
  .channel-feature .channel-name{margin-bottom:20px}
  .channel-feature .channel-description{margin-top:24px}
  .channel-feature .channel-footnote{text-align:left;font-size:12px;margin-top:16px}
  .channel-feature-reversed .channel-media{grid-column:1;grid-row:1}
  .channel-feature-reversed .channel-story{grid-column:2;grid-row:1}
}
@media(max-width:767px){
  .channel-feature{grid-template-columns:minmax(0,1fr);gap:32px;text-align:center}
  .channel-feature .channel-story>h3{font-size:30px}
  .channel-media{width:100%;max-width:440px;margin-inline:auto}
  .channel-media-placeholder{font-size:16px}
}

/* Each frame holds for 1s, then crossfades for .4s: a 4.2s loop. */
.blog-slideshow{position:relative;isolation:isolate;aspect-ratio:4 / 3;background:var(--white)}
.blog-slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.blog-slideshow img:first-child{opacity:1}
.blog-slideshow.is-ready img{animation:blog-dissolve 4.2s linear infinite;animation-play-state:paused}
.blog-slideshow.is-ready img:nth-child(2){animation-delay:-2.8s}
.blog-slideshow.is-ready img:nth-child(3){animation-delay:-1.4s}
.blog-slideshow.is-ready.is-playing img{animation-play-state:running}
@keyframes blog-dissolve{
  0%,23.809524%{opacity:1}
  33.333333%,90.476190%{opacity:0}
  100%{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .blog-slideshow.is-ready img{animation:none;opacity:0}
  .blog-slideshow.is-ready img:first-child{opacity:1}
}

/* Channel names sit above the supplied artwork, with hashtags below. */
/* Original internal reports remain uncropped and share equal visual weight. */
.threads-results{max-width:none;width:100%;margin-inline:auto;text-align:center}
.threads-results>h3{margin:0;font-weight:700;line-height:1.4;letter-spacing:-.04em;text-wrap:balance}
.threads-results-grid{display:grid;align-items:start}
.threads-results-grid figure{min-width:0;margin:0;overflow:hidden;border:0;border-radius:16px;background:var(--white);box-shadow:0 6px 20px rgb(0 0 0 / 8%)}
.threads-results-grid img{display:block;width:100%;height:auto}
.threads-results-footnote{margin:24px 0 0;color:var(--channel-process-label);font-weight:400;line-height:1.8;letter-spacing:-.02em;text-wrap:pretty}
@media(min-width:1025px){
  .threads-results{margin-top:104px}
  .threads-results>h3{font-size:36px}
  .threads-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:44px}
  .threads-results-footnote{font-size:15px}
}
@media(min-width:768px) and (max-width:1024px){
  .threads-results{margin-top:80px}
  .threads-results>h3{font-size:30px}
  .threads-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}
  .threads-results-footnote{font-size:14px}
}
@media(max-width:767px){
  .threads-results{margin-top:64px}
  .threads-results>h3{font-size:28px}
  .threads-results-grid{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:32px}
  .threads-results-footnote{font-size:13px;margin-top:20px}
}

/* Equal-size examples; a small zoom clips the source screenshots' black outer edges. */
#youtube .youtube-formats{text-align:center}
.youtube-formats>h3{margin:0;font-weight:700;line-height:1.4;letter-spacing:-.04em;text-wrap:balance}
.youtube-format-grid{display:grid;align-items:stretch}
.youtube-format-card{min-width:0;margin:0;overflow:hidden;border:0;border-radius:16px;background:var(--white);box-shadow:0 6px 20px rgb(0 0 0 / 8%)}
.youtube-format-image{overflow:hidden;aspect-ratio:700 / 519}
.youtube-format-image>img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transform-origin:center}
.youtube-format-card figcaption{padding:32px 28px 36px}
.youtube-format-card h4{margin:0;color:var(--channel-accent);font-size:24px;font-weight:700;line-height:1.5;letter-spacing:-.035em;text-wrap:balance}
.youtube-format-card p{max-width:420px;margin:16px auto 0;font-size:var(--body-size);font-weight:400;line-height:1.8;letter-spacing:-.025em;text-wrap:pretty}
@media(min-width:1025px){
  #youtube .youtube-formats{margin-top:104px}
  .youtube-formats>h3{font-size:36px}
  .youtube-format-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:44px}
}
@media(min-width:768px) and (max-width:1024px){
  #youtube .youtube-formats{margin-top:80px}
  .youtube-formats>h3{font-size:30px}
  .youtube-format-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}
  .youtube-format-card figcaption{padding:28px 20px 32px}
  .youtube-format-card h4{font-size:22px}
}
@media(max-width:767px){
  #youtube .youtube-formats{margin-top:64px}
  .youtube-formats>h3{font-size:28px}
  .youtube-format-grid{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:32px}
  .youtube-format-card figcaption{padding:24px 20px 28px}
  .youtube-format-card h4{font-size:22px}
  .youtube-format-card p{margin-top:12px}
}

.promise-channels .channel-label{font-size:20px;font-weight:700;line-height:1.5;color:var(--white)}
@media(min-width:768px) and (max-width:1024px){
  .promise-channels .channel-label{font-size:18px}
}
@media(max-width:767px){
  .promise-channels .channel-label{font-size:14px}
}

/* Channel-specific accents are scoped to their detail sections. */
#youtube{--channel-accent:#ff0000;--channel-process-line:rgb(255 0 0 / 25%)}
#threads{--channel-accent:#000;--channel-process-label:#666;--channel-process-line:#d0d0d0}
#blog{--channel-accent:#03c75a;--channel-process-line:rgb(3 199 90 / 28%)}
/* Balance the white space below the blog image against the green section below. */
@media(min-width:1025px){#blog{padding-bottom:130px}}
@media(min-width:768px) and (max-width:1024px){#blog{padding-bottom:106px}}
@media(max-width:767px){#blog{padding-bottom:82px}}

/* Optically align the visible artwork, excluding each PNG's transparent margins. */
.channel-detail .channel-name{display:flex;align-items:center;justify-content:flex-start;gap:18px;font-size:var(--channel-name-size)}
.channel-name-icon{position:relative;display:block;flex-shrink:0;width:var(--channel-icon-size);height:var(--channel-icon-size)}
.channel-detail .channel-name-icon img{position:absolute;display:block;width:var(--art-width);height:var(--art-width);max-width:none;left:var(--art-left);top:var(--art-top);object-fit:contain}
#youtube .channel-name-icon{--art-width:119.6565%;--art-left:-10.0191%;--art-top:-9.6851%}
#threads .channel-name-icon{--art-width:132.4182%;--art-left:-17.1595%;--art-top:-14.2555%}
#blog .channel-name-icon{--art-width:121.2766%;--art-left:-11.5087%;--art-top:-10.1064%}
@media(min-width:1025px){.channel-detail{--channel-icon-size:88px;--channel-name-size:36px}}
@media(min-width:768px) and (max-width:1024px){.channel-detail{--channel-icon-size:76px;--channel-name-size:30px}}
@media(max-width:767px){
  .channel-detail{--channel-icon-size:64px;--channel-name-size:26px}
  .channel-detail .channel-name{justify-content:center;gap:14px}
}

/* Shared framing for channel examples and results. */
#youtube .youtube-formats,#threads .threads-results{box-sizing:border-box;background:rgb(134 182 92 / 6%);border:0;border-radius:20px}
@media(min-width:1025px){#youtube .youtube-formats,#threads .threads-results{padding:56px}}
@media(min-width:768px) and (max-width:1024px){#youtube .youtube-formats,#threads .threads-results{padding:36px}}
@media(max-width:767px){#youtube .youtube-formats,#threads .threads-results{padding:24px 20px;border-radius:16px}}

/* Channel hashtags share the body text size and regular weight. */
#service-overview .channel-hashtags{font-size:var(--type-body);font-weight:400}
