/* v1.7: bounded composition, with full-width section backgrounds. */
:root{--content-width:1440px;--page-gutter:max(clamp(20px,5.5vw,80px),calc((100vw - var(--content-width))/2))}
.section-pad,.brand-strip,.site-header,.site-footer,.case-hero,.case-content,.catalog-intro,.catalog-grid,.catalog-enquiry,.catalog-case-hero,.catalog-case-story,.catalog-mechanic,.catalog-takeaway,.catalog-references,.catalog-case-next,.kfc-case-hero,.mcd-case-hero,.contact-page,.privacy-copy{padding-inline:var(--page-gutter)}
.site-header nav,.header-cta{font-size:16px;font-weight:500}.site-header nav{gap:30px;margin-right:34px}
.hero{height:clamp(720px,50vw,760px);min-height:0;background:#17111d}
.hero-art{left:50%;right:auto;width:min(100%,1600px);transform:translateX(-50%);background:transparent}
.hero-art img{object-fit:contain;object-position:right center;mask-image:linear-gradient(90deg,transparent,black 18%,black 94%,transparent)}
.hero-shade{background:linear-gradient(90deg,#17111d 0%,#17111dba 26%,#17111d00 62%)}
.hero-content{width:calc(var(--page-gutter) + 720px);max-width:100%;padding:190px 0 55px var(--page-gutter)}
.hero-description{max-width:580px}.hero h1{font-size:clamp(58px,5.8vw,90px)}
.hero-caption{right:var(--page-gutter);bottom:24px;font-size:12px;letter-spacing:.08em}.hero-caption>span{display:inline}
.section-heading,.what-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.85fr);align-items:end;gap:72px}
.section-intro,.what-heading>p{max-width:410px;justify-self:end;font-size:17px;line-height:1.75;font-weight:500}
.section-intro{color:#655969}.what-heading>p{color:#e0d2df}
.rc-featured.feature-case{grid-template-columns:minmax(0,40fr) minmax(0,60fr);height:auto;min-height:510px}.rc-featured .feature-copy{padding:38px 40px}
.rc-featured .feature-visual{aspect-ratio:3/2;min-height:0}
.rc-featured .feature-copy h3{font-size:clamp(42px,4vw,52px)}.rc-featured .feature-copy p{max-width:420px}
.scene-backdrop{position:absolute!important;inset:-3%!important;width:106%!important;height:106%!important;max-width:none!important;object-fit:cover!important;filter:blur(22px);opacity:.82;z-index:0;pointer-events:none}
.scene-subject{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;object-position:center!important;z-index:1;pointer-events:none}
.service-list{gap:48px;margin-top:52px}.service-list h3{font-size:30px;line-height:1.2;margin-top:24px}.service-list p{max-width:400px;color:#d8cbd9}
.service-visual{display:block;width:100%;height:170px;margin-top:16px;color:#ff9184;overflow:visible}
.service-visual .quiet{stroke:#c9b3c7;opacity:.65}.service-visual .paper{fill:#f4ded1;stroke:none}.service-visual .accent{fill:#ff9184;stroke:none}
.process{gap:32px}.process li{min-width:0}.process p{max-width:320px;color:#665c65}
.process-sketch{display:block;width:100%;height:84px;margin:18px 0 22px;color:#a72d42}
.review-loop{display:flex;align-items:center;gap:20px;border-top:1px solid #d4c9c7;margin:0 0 42px;padding-top:22px;font-size:16px;line-height:1.7;color:#655966;max-width:900px}
.review-loop .review-symbol{width:50px;height:40px;flex:none}.review-loop strong{color:#2d2030;font-weight:600}
.case-hero-grid,.kfc-case-hero-grid,.mcd-case-hero-grid,.catalog-case-hero-grid{gap:54px;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}
.case-story,.kfc-story-columns,.mcd-case-story,.catalog-story-grid{gap:40px}.case-story p,.kfc-story-columns p,.mcd-case-story p,.catalog-story-grid p{max-width:440px}
.campaign-section-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:64px}.campaign-section-heading>p{justify-self:end;padding-top:32px}
.kfc-coffee-stage{gap:24px 44px}.kfc-owl-stage img{max-width:430px}.mcd-community-flame img{max-width:320px}
.catalog-grid{gap:28px}.catalog-card-featured{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:0}
.catalog-card-featured .catalog-visual{height:460px;min-height:0;aspect-ratio:auto}.catalog-card-featured .catalog-card-copy{padding:36px}.catalog-card-featured .catalog-card-copy h2{font-size:42px}
.catalog-card-copy>p{max-width:500px;font-size:16px}.catalog-visual{aspect-ratio:3/2}
.catalog-visual-presented{padding:0;background:#251821}.catalog-visual-presented img{border-radius:0}.catalog-visual-presented .catalog-art-label,.catalog-visual-presented .catalog-visual-note{display:none}
.catalog-case-hero .catalog-visual{aspect-ratio:3/2;min-height:0}.catalog-case-hero .catalog-visual-presented{border-radius:8px}.catalog-case-meta{gap:24px}.catalog-card-formats{font-size:13px}
.catalog-visual-sony{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr 1fr;justify-items:stretch;gap:0;padding:0;background:#211c27}.sony-scene{position:relative;flex:1;align-self:stretch;justify-self:stretch;width:100%;min-width:0;overflow:hidden}
.sony-scene img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 38%}.sony-scene strong{position:absolute;left:18px;right:12px;bottom:16px;color:white;font-size:16px;line-height:1.25;text-shadow:0 2px 8px #000;z-index:1}
.sony-scene:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#000b)}
.sony-cover.case-cover{padding:0;overflow:hidden;background:#211c27;width:100%;max-width:640px;margin-inline:auto}.sony-products{display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:0;aspect-ratio:8/9;min-height:0}.sony-products .sony-scene{min-height:0}
.sony-products .sony-scene img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 38%}
.sony-cover>figcaption{padding:18px 22px;color:#dfd4e3;font-size:13px}.case-cover img{max-height:540px;object-fit:contain}
.case-recognition{margin:0 var(--page-gutter) 42px;padding:24px 28px;border:1px solid #d3c5b7;background:#efe7da;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.case-recognition strong{font-size:21px;color:#362d31}.case-recognition p{font-size:15px;line-height:1.75;color:#655966}.case-recognition a{text-decoration:underline;text-underline-offset:3px}
.catalog-reference-body>dl{grid-template-columns:1fr 1fr;gap:30px}.catalog-reference-images{align-items:start}.catalog-reference-images figure:first-child{grid-column:auto}
.catalog-reference-images a{display:flex;align-items:center;justify-content:center;height:420px;background:#ede8df;border-radius:6px;padding:22px}
.catalog-reference-images img,.catalog-case-danone .catalog-reference-images img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.catalog-reference-images figcaption{padding-top:16px}
.catalog-reference-images figure:only-child{grid-column:1/-1}.catalog-reference-images figure:only-child a{height:auto;max-height:none}.catalog-reference-images figure:only-child img{width:100%;max-width:1440px}
@media(min-width:1700px){.brand-strip{padding-top:30px;padding-bottom:26px}}
@media(max-width:1100px) and (min-width:761px){.section-heading,.what-heading,.campaign-section-heading{gap:36px;grid-template-columns:1.15fr .9fr}.section-intro,.what-heading>p{font-size:16px}.rc-featured .feature-copy{padding:32px 28px}.rc-featured .feature-copy h3{font-size:42px}.service-list{gap:28px}.service-list h3{font-size:26px}.service-visual{height:140px}.catalog-card-featured .catalog-visual{height:440px}.catalog-card-featured .catalog-card-copy{padding:28px}.catalog-card-featured .catalog-card-copy h2{font-size:35px}.catalog-case-hero-grid{gap:35px}.case-recognition{grid-template-columns:1fr}}
@media(max-width:900px){.rc-featured.feature-case{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}.rc-featured .feature-copy{padding:34px 30px}.rc-featured .feature-visual{min-height:0;aspect-ratio:3/2}}
@media(max-width:760px){
 :root{--page-gutter:clamp(20px,5.5vw,38px)}.site-header nav{font-size:16px;margin:0}.header-cta{font-size:14px}
 .hero{height:auto;padding-bottom:310px;min-height:0}.hero-content{width:100%;max-width:none;padding:136px var(--page-gutter) 28px}.hero h1{font-size:clamp(40px,10.5vw,58px)}
 .hero-art{left:0;right:0;top:auto;bottom:10px;width:100%;height:340px;transform:none}.hero-art img{object-position:center bottom;mask-image:linear-gradient(180deg,transparent,black 14%,black 90%,transparent)}
 .hero-shade{background:linear-gradient(180deg,#17111d 0%,#17111d 45%,#17111d00 68%,#17111d00 90%,#17111d 100%)}.hero-caption{right:var(--page-gutter);bottom:14px;font-size:11px}
 .section-heading,.what-heading,.campaign-section-heading{grid-template-columns:1fr;gap:24px}.section-intro,.what-heading>p,.campaign-section-heading>p{justify-self:start;max-width:100%;padding:0;font-size:16px}
 .rc-featured .feature-copy h3{font-size:48px}.rc-featured .feature-copy p{font-size:16px}.rc-featured .feature-visual{aspect-ratio:3/2}
 .service-list{gap:36px}.service-visual{height:155px;max-width:340px}.process-sketch{height:72px;max-width:300px}.review-loop{align-items:start;font-size:15px}
 .case-hero-grid,.kfc-case-hero-grid,.mcd-case-hero-grid,.catalog-case-hero-grid{grid-template-columns:1fr;gap:32px}.case-story,.kfc-story-columns,.mcd-case-story,.catalog-story-grid{gap:32px}
 .case-hero h1{font-size:clamp(42px,10.5vw,56px)}.catalog-card-featured .catalog-visual{height:auto;min-height:0;aspect-ratio:3/2}.catalog-card-featured .catalog-card-copy{padding:25px}.catalog-card-featured .catalog-card-copy h2{font-size:32px}
 .catalog-visual,.catalog-case-hero .catalog-visual{aspect-ratio:3/2}.sony-products,.sony-products .sony-scene{min-height:0}.sony-scene strong{font-size:14px;left:12px}
 .case-recognition{grid-template-columns:1fr;gap:12px;padding:22px;margin-bottom:32px}.catalog-reference-body>dl{grid-template-columns:1fr;gap:22px}.catalog-reference-images a{height:280px;padding:16px}.catalog-case-danone .catalog-reference-images{grid-template-columns:1fr}.kfc-owl-stage img{max-width:300px}
}
@media(prefers-reduced-motion:reduce){.scene-backdrop,.scene-subject{transition:none}}
