/* v1.4: readable editorial hierarchy and usable campaign demonstrations.
   Loaded after the established styles; the art direction and assets are unchanged. */
:root{--body-copy:16px;--support-copy:13px;--label-copy:12px}
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.brand-intro .eyebrow,
.campaign-section-heading .eyebrow,.kfc-case-hero .eyebrow,.kfc-case-story>.eyebrow,
.kfc-case-cta .eyebrow,.mcd-case-intro .eyebrow,.mcd-interaction-copy>.eyebrow{
  font-size:12px;line-height:1.6;letter-spacing:.1em
}
.site-header nav,.header-cta,.button,.hero-work-link{font-size:15px}
.wordmark{flex-direction:row;align-items:center;gap:7px;line-height:1;letter-spacing:-.055em}
.wordmark small{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;letter-spacing:.045em;line-height:1;padding:0;margin:0;font-weight:500}
.button{min-height:52px}.header-cta{min-height:48px}
body:not(.inner-page) .site-header .header-cta{background:#17111def}
body:not(.inner-page) .site-header .header-cta:hover{background:var(--paper)}
.hero-capabilities{font-size:14px;line-height:1.6;max-width:580px}
.hero-caption{font-size:12px;letter-spacing:.08em}
.brand-intro p{font-size:15px}.history-label{font-size:13px;color:#c7bbcd}
.brand-strip{grid-template-columns:205px 1fr;gap:16px 32px}
.section-intro,.feature-copy p,.small-case p,.what-heading>p,.service-list p,
.process p,.ai-note p,.contact-layout p{font-size:16px;line-height:1.75}
.feature-copy p{max-width:360px}.case-kicker{font-size:12px;letter-spacing:.08em}
.case-tags{font-size:12px;line-height:1.7;max-width:290px;padding-right:20px}
.art-label,.kfc-art-modern .art-label,.mcd-art-modern .art-label{font-size:12px;letter-spacing:.04em;max-width:calc(100% - 48px);line-height:1.5}
.mcd-art-modern .art-label{background:#281815b8;padding:7px 10px;bottom:16px;right:16px;text-shadow:none;border-radius:4px}
.small-case{min-height:315px}.small-case h3{margin-top:24px}.small-case-footer{font-size:14px}
.service-list article>span,.process li>span,.audience-line{font-size:12px;line-height:1.65;letter-spacing:.07em}
.process{gap:32px}.process h3{font-size:23px;line-height:1.25}.process p{max-width:280px}
.ai-note h3{font-size:18px}.contact-actions>span,.text-link{font-size:14px}
.site-footer>p,.site-footer>div{font-size:13px;line-height:1.7}
.site-footer{gap:40px}.site-footer>div{flex-wrap:wrap}
.back-link,.case-next{font-size:15px;line-height:1.6}
.case-meta{font-size:14px;gap:32px}.case-meta strong{font-size:12px;line-height:1.7}
.case-cover figcaption,.case-gallery figcaption,.archive-note{font-size:13px;line-height:1.75}
.case-story p,.case-subsection p,.contact-page .lead,.privacy-copy p{font-size:16px;line-height:1.8}
.case-hero-grid>div,.case-story article{min-width:0}
.case-cover{margin:0}.case-next{gap:30px;flex-wrap:wrap}
.contact-page{gap:70px}.contact-page .direct-contact{font-size:16px}
.direct-contact button{font-size:14px;min-height:44px}
.enquiry-form label,.enquiry-form input,.enquiry-form textarea{font-size:16px}
.enquiry-form .form-note,#form-status{font-size:14px;line-height:1.75}
.image-note{font-size:13px!important}

/* Case introductions: the labels support the story instead of becoming microtype. */
.kfc-case-hero-grid,.mcd-case-hero-grid{gap:48px}
.kfc-case-hero .lead,.mcd-case-intro .lead{font-size:17px;line-height:1.8}
.kfc-case-hero .lead{color:#f8ded5}.kfc-try-link,.mcd-demo-link{font-size:15px;line-height:1.65;min-height:44px}
.kfc-hero-art{padding-bottom:48px}.kfc-hero-mood{font-size:12px;letter-spacing:.08em;color:#713718}
.kfc-hero-footnote{font-size:12px;line-height:1.5;letter-spacing:.02em;bottom:16px;color:#713718}
.kfc-case-meta span,.mcd-case-meta span{font-size:12px;letter-spacing:.07em;line-height:1.6}
.kfc-case-meta span{color:#f0bfc0}.mcd-case-meta span{color:#76583e}
.kfc-case-meta p,.mcd-case-meta p{font-size:16px;line-height:1.6}
.kfc-story-columns,.mcd-case-story{gap:36px}
.kfc-story-columns article>span,.mcd-case-story article>span{font-size:12px;letter-spacing:.05em;color:#925232}
.kfc-story-columns h3,.mcd-case-story h3{font-size:28px;line-height:1.25;margin:20px 0 18px}
.kfc-story-columns p,.mcd-case-story p{font-size:16px;line-height:1.8;color:#705b4c}
.mcd-case-visual figcaption{font-size:13px;color:#70573f;line-height:1.7}
.kfc-reference summary,.mcd-reference summary{font-size:16px;line-height:1.6;min-height:64px}
.kfc-reference details>p,.mcd-reference details>p{font-size:16px;color:#745d4a}
.kfc-reference figcaption,.mcd-reference-images figcaption{font-size:13px;color:#745d4a;line-height:1.7}
.kfc-case-cta p:not(.eyebrow),.mcd-case-cta p:not(.eyebrow){font-size:16px;line-height:1.8}

/* Shared presentation frames. */
.campaign-section-heading{align-items:start;gap:48px;margin-bottom:36px}
.campaign-section-heading>p{font-size:16px;line-height:1.8;color:#725b47;max-width:400px;padding-top:32px}
.campaign-browser-chrome{font-size:12px;color:#725f4c;padding:12px 24px}
.campaign-mini-label{font-size:12px;letter-spacing:.07em;line-height:1.6}
.campaign-study-note{font-size:13px;line-height:1.8;color:#745d4a;max-width:900px}

/* KFC: copy and coffee choices share one column; the reaction stays alongside. */
.kfc-web-top{padding:22px 32px}.kfc-web-top strong{gap:18px;font-size:32px}
.kfc-web-top strong>span{font-size:12px;letter-spacing:.05em;color:#80553b}
.kfc-web-top button,.kfc-web-controls button{font-size:14px;min-height:44px;color:#805032}
.kfc-coffee-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'copy owl' 'choices owl' 'controls controls';gap:22px 32px;align-items:start;padding:32px}
.kfc-coffee-copy{grid-area:copy}.kfc-coffee-copy>span{color:#994223}
.kfc-coffee-copy h3{font-size:clamp(40px,3.4vw,50px);min-height:104px;margin:16px 0 18px}
.kfc-coffee-copy>p{font-size:16px;line-height:1.7;max-width:360px;min-height:0;color:#74543a}
.kfc-demo-cup{display:none}
.kfc-owl-stage{grid-area:owl;align-self:center}.kfc-owl-stage img{max-width:490px}
.kfc-animation-caption{font-size:12px;line-height:1.5;letter-spacing:.05em;color:#805336;margin-top:6px}
.kfc-coffee-choices{grid-area:choices;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:10px;min-width:0}
.kfc-coffee-choices legend{margin:0;padding:0 0 14px;font-size:14px;line-height:1.6;color:#725039;letter-spacing:0}
.kfc-coffee-choices button{padding:14px 16px;min-height:56px;gap:8px;align-items:center;border-color:#dec4a6}
.kfc-coffee-choices button>span:first-child{display:none}
.kfc-coffee-choices button strong{font-size:15px;line-height:1.4;overflow-wrap:normal}
.kfc-coffee-choices button>span:last-child{font-size:19px}
.kfc-coffee-choices button:last-child{grid-column:1/-1}
.kfc-web-controls{grid-area:controls;padding:16px 0 0;border-top:1px solid #e3cbb0;gap:24px}
.kfc-web-controls>span{font-size:14px;line-height:1.7;color:#765132}

/* McDonald's: the action, progress and ranking have equal editorial weight. */
.mcd-web-top{padding:22px 32px}.mcd-web-top strong{font-size:23px}
.mcd-web-top small{font-size:12px;letter-spacing:.08em;color:#865128}
.mcd-web-top>a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.mcd-web-main{padding:32px;gap:36px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.mcd-web-message>span:first-child{color:#855226}
.mcd-web-message h3{font-size:clamp(38px,3.8vw,56px);line-height:1.08;margin:18px 0}
.mcd-web-message>p{font-size:16px;line-height:1.7;max-width:395px;color:#72543a}
.mcd-community-total{margin-top:24px}.mcd-community-total output{font-size:60px}
.mcd-community-total>span{font-size:12px;letter-spacing:.06em;color:#805a36;line-height:1.6}
.mcd-web-progress-label{font-size:14px;line-height:1.5;max-width:395px}
.mcd-web-message progress{max-width:395px;height:10px}
.mcd-web-goal-note{font-size:12px;color:#795b3f;max-width:395px;line-height:1.65}
.mcd-community-add{font-size:15px;line-height:1.5;min-height:48px;padding:14px 22px;margin-top:20px}
#mcd-community-status{font-size:13px;line-height:1.7;color:#795331}
.mcd-community-flame img{width:100%;max-width:305px}
.mcd-community-flame>span{font-size:12px;line-height:1.5;letter-spacing:.08em;color:#855222}
.mcd-web-bottom{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:40px;padding:28px 32px 32px}
.mcd-web-bottom>div:first-child>p{font-size:16px;color:#72512b}
.mcd-web-bottom>div:first-child output{font-size:44px}
#mcd-community-reset{font-size:14px;min-height:44px;color:#795025}
.mcd-leaderboard-title{margin-bottom:12px;flex-wrap:wrap;gap:8px}
.mcd-leaderboard-title h4{font-size:20px;line-height:1.4;margin:0}
.mcd-leaderboard-title>span{font-size:12px;letter-spacing:.04em;color:#765632}
.mcd-web-bottom table{font-size:15px;line-height:1.5}.mcd-web-bottom thead{font-size:13px;color:#77502b}
.mcd-web-bottom th,.mcd-web-bottom td{padding:13px 8px}
.mcd-interaction{gap:60px}.mcd-interaction-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#725640}
.mcd-mechanic-list li{grid-template-columns:145px 1fr;gap:20px}
.mcd-mechanic-list strong{font-size:16px}.mcd-mechanic-list span{font-size:15px;line-height:1.75;color:#735b46}
.mcd-interaction-copy .mcd-demo-disclosure{font-size:13px!important;color:#735b46!important}
.mcd-demo-phone{width:360px;max-width:100%}
.mcd-demo-screen{padding:58px 26px 26px}
.mcd-demo-brand{font-size:17px}.mcd-demo-brand span{display:block;font-size:12px;letter-spacing:.06em;color:#805734;margin:6px 0 0}
.mcd-demo-screen h3{font-size:40px;line-height:1.08;margin:22px 0}
.mcd-energy-word{font-size:14px;color:#80512c}
.mcd-demo-total output{font-size:48px}.mcd-demo-total>span{font-size:12px;letter-spacing:.03em;color:#775331}
.mcd-fuel-label{font-size:14px}.mcd-start,.mcd-add{font-size:15px;line-height:1.5;min-height:48px;padding:14px 18px}
.mcd-add:disabled{color:#77604a}.mcd-reset{font-size:14px;min-height:44px;margin-top:10px;color:#795132}
.mcd-phone-note{font-size:12px;line-height:1.7;color:#795b42}
.mcd-stage-caption{font-size:12px;letter-spacing:.1em}

@media(max-width:1100px) and (min-width:761px){
  .brand-strip{grid-template-columns:1fr}.history-label{grid-column:1}
  .feature-case{grid-template-columns:47% 53%}.case-tags{padding-right:30px}
  .mcd-case-hero-grid{grid-template-columns:1fr 1fr}.mcd-case-intro h1{font-size:58px}
  .kfc-coffee-stage{gap:20px}.kfc-coffee-stage,.mcd-web-main,.mcd-web-bottom{padding:28px}
  .mcd-web-bottom{grid-template-columns:minmax(0,.5fr) minmax(0,1fr)}
}
@media(max-width:760px){
  .site-header{gap:20px}.header-cta{padding:12px 17px;font-size:14px;gap:18px}
  .menu-toggle{width:32px;min-height:44px;align-items:center;flex-shrink:0}
  .hero{height:auto;padding-bottom:300px;min-height:0}
  .hero-content{padding-top:136px;padding-bottom:24px}
  .hero-art{top:auto;height:340px;bottom:10px;left:0;right:0}
  .hero .eyebrow{font-size:12px}.hero-description{font-size:16px;max-width:440px}
  .hero-capabilities{font-size:13px;max-width:420px}
  .hero .button{font-size:15px;padding:18px 22px}
  .hero-work-link{font-size:14px;margin:16px 0 0;display:flex;width:max-content}
  .hero-caption{font-size:12px;bottom:12px}.hero-caption>span:last-child{display:none}
  .brand-strip{display:flex;gap:20px}.brand-intro p{font-size:14px}.brand-intro .eyebrow{font-size:12px}
  .brand-links{gap:14px 24px}.history-label{font-size:13px}
  .feature-copy p,.small-case p,.section-intro,.what-heading>p,.service-list p,
  .process p,.ai-note p,.contact-layout p{font-size:16px}
  .case-tags{font-size:12px;padding-right:35px}.small-case{min-height:0}
  .art-label,.kfc-art-modern .art-label{position:static;text-align:center;margin-bottom:12px;max-width:100%;font-size:12px}
  .kfc-art-modern{flex-direction:column;padding-top:24px;padding-bottom:24px}
  .mcd-art-modern .art-label{position:absolute;font-size:12px}
  .process{grid-template-columns:1fr;gap:30px}.process p{max-width:none}
  .process li>span,.audience-line{font-size:12px}.ai-note h3{font-size:18px}
  .site-footer{grid-template-columns:1fr;gap:25px}.site-footer>p{justify-self:start;max-width:none;font-size:14px}
  .site-footer>div{grid-column:1;gap:14px 24px;justify-content:start;font-size:13px}
  .case-meta{flex-wrap:wrap;font-size:14px}.case-meta strong{font-size:12px}
  .case-hero .lead,.contact-page .lead{font-size:16px}
  .case-story p,.case-subsection p{font-size:16px}.case-next{font-size:15px;flex-direction:column;align-items:start}
  .sony-products{grid-template-columns:1fr}.sony-products img{height:auto;max-height:280px;width:100%;object-fit:contain}
  .contact-page{gap:40px}.privacy-copy h1{font-size:36px;line-height:1.15}
  .kfc-case-hero .lead,.mcd-case-intro .lead{font-size:16px}
  .kfc-hero-mood{font-size:12px}.kfc-hero-footnote{font-size:12px;padding:0 10px}
  .kfc-hero-cup{bottom:46px}.kfc-story-columns,.mcd-case-story{gap:32px}
  .campaign-section-heading{gap:22px}.campaign-section-heading>p{font-size:16px;padding-top:0}
  .campaign-section-heading h2{font-size:clamp(32px,9vw,44px)}
  .campaign-browser-chrome{font-size:12px;padding:12px 18px;gap:12px}
  .campaign-browser-chrome>span:nth-child(2){max-width:175px;line-height:1.5}
  .kfc-web-top,.mcd-web-top{padding:18px;align-items:center;gap:14px}
  .kfc-web-top strong{font-size:30px;display:block}
  .kfc-web-top strong>span{display:block;max-width:165px;font-size:12px;line-height:1.5;letter-spacing:0;margin-top:5px}
  .kfc-web-top button{font-size:14px;flex-shrink:0}
  .kfc-coffee-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:'copy' 'owl' 'choices' 'controls';padding:24px 18px;gap:22px}
  .kfc-coffee-copy h3{font-size:42px}.kfc-coffee-copy>p{font-size:16px}
  .kfc-demo-cup{display:none}.kfc-owl-stage img{max-width:300px}
  .kfc-coffee-choices{padding:0;gap:10px}.kfc-coffee-choices legend{margin:0;max-width:none;font-size:14px}
  .kfc-coffee-choices button{padding:13px 12px}.kfc-coffee-choices button strong{font-size:14px}
  .kfc-web-controls{padding:16px 0 0;gap:8px}.kfc-web-controls>span{font-size:14px}
  .mcd-web-top strong{font-size:20px}.mcd-web-top small{font-size:12px}
  .mcd-web-top>a{font-size:14px}.mcd-web-main{padding:26px 18px;gap:26px;grid-template-columns:minmax(0,1fr)}
  .mcd-web-message h3{font-size:40px}.mcd-community-total output{font-size:56px}
  .mcd-community-flame img{max-width:190px}.mcd-community-flame>span{font-size:12px}
  .mcd-web-bottom{padding:26px 18px;gap:28px;grid-template-columns:minmax(0,1fr)}
  .mcd-web-bottom table{font-size:14px}.mcd-web-bottom thead{font-size:12px}
  .mcd-web-bottom th,.mcd-web-bottom td{padding:12px 5px}
  .mcd-interaction{gap:38px}.mcd-interaction-copy h2{font-size:clamp(35px,10vw,46px)}
  .mcd-mechanic-list li{grid-template-columns:1fr;gap:6px}.mcd-mechanic-list strong{font-size:16px}
  .mcd-demo-screen{padding:58px 22px 22px}
}
@media(max-width:360px){
  :root{--pad:20px}.site-header{gap:13px}.header-cta{font-size:13px;padding:12px 13px;gap:12px}
  .hero h1{font-size:40px}.hero .eyebrow{letter-spacing:.05em}
  .kfc-web-top,.mcd-web-top{padding:16px;gap:10px}
  .kfc-web-top strong>span{max-width:125px}.kfc-coffee-stage,.mcd-web-main,.mcd-web-bottom{padding-left:16px;padding-right:16px}
  .kfc-coffee-choices button{padding:12px 10px}.kfc-coffee-choices button>span:last-child{display:none}
  .mcd-web-message h3{font-size:34px}.mcd-demo-screen{padding-left:18px;padding-right:18px}
  .mcd-demo-total{gap:12px}.mcd-demo-total output{font-size:44px}
}
