/* Campaign compositions enhance native editorial blocks; all content is visible without JS. */
.campaign-hero,.campaign-band { --scene-x:0; --scene-y:0; isolation:isolate; position:relative; }
.editorial-main .campaign-hero { margin:30px 0 66px; border-radius:12px; padding:64px 54px; }
.campaign-hero-services,.campaign-hero-journey,.campaign-hero-about,.campaign-hero-contact { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); column-gap:32px; align-content:center; }
.campaign-hero>* { min-width:0; }
.campaign-hero>:is(.eyebrow,h1,.lead,.wp-block-buttons) { grid-column:1; position:relative; z-index:2; }
.campaign-hero>.eyebrow { grid-row:1; align-self:end; }
.campaign-hero>h1 { grid-row:2; }
.campaign-hero>.lead { grid-row:3; }
.campaign-hero-actions { grid-column:1; grid-row:4; position:relative; z-index:3; display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:28px; align-self:start; }
.campaign-hero-actions .button { font-size:12px; padding:15px 19px; gap:18px; }
.campaign-secondary-link { font-size:11px; font-weight:750; padding:12px 0; text-decoration:underline; text-underline-offset:5px; }
.campaign-secondary-link span { padding-left:8px; }
.campaign-hero>.wp-block-buttons { grid-row:4; align-self:start; }
.editorial-main .campaign-hero h1 { font-size:clamp(42px,4.4vw,65px); line-height:1.025; letter-spacing:-.055em; }
.editorial-main .campaign-hero>.lead { font-size:15px; max-width:440px; margin-top:25px; line-height:1.8; }
.campaign-hero-services { background:#eee7f8; background-image:radial-gradient(ellipse at 82% 16%,#fff7e7 0,transparent 50%); }
.campaign-scene { grid-column:2; grid-row:1/6; position:relative; min-height:470px; min-width:0; align-self:center; }
.campaign-product { display:block; position:absolute; color:#241d2d; border-radius:7px; background:#fff; padding:8px; box-shadow:0 14px 24px -18px #25133470; transform-origin:center; }
.campaign-product img { width:100%; height:100%; object-fit:cover; border-radius:3px; }
.campaign-product:focus-visible { outline:3px solid var(--purple); outline-offset:7px; }
.campaign-product-label { position:absolute; inset:auto 8px 8px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 12px; border-radius:3px; background:#fffffff2; font:750 12px/1.4 var(--body); }
.campaign-product-label>span:first-child { min-width:0; overflow-wrap:anywhere; }
.campaign-product-label>span:last-child { flex-shrink:0; font-size:18px; line-height:1; }
.campaign-product-main { width:72%; aspect-ratio:1/1.07; left:6%; top:6%; z-index:2; transform:translate(calc(var(--scene-x)*-9px),calc(var(--scene-y)*-8px)) rotate(-9deg); }
.campaign-product-detail { width:46%; aspect-ratio:1; right:-1%; bottom:2%; z-index:3; transform:translate(calc(var(--scene-x)*13px),calc(var(--scene-y)*9px)) rotate(10deg); }
.campaign-product img { transition:filter .25s ease; }
.campaign-product:hover img { filter:brightness(1.045); }
.campaign-orbit { position:absolute; width:95%; aspect-ratio:1; top:1%; left:4%; border:1px solid #86649a35; border-radius:50%; transform:rotate(-24deg) scaleY(.9); }
.campaign-orbit:after { content:''; position:absolute; inset:24px -20px; border:1px solid #86649a20; border-radius:50%; }
.campaign-scene-word { position:absolute; bottom:7%; left:-4%; font:700 clamp(42px,6vw,80px)/.9 'Archivo Variable',var(--body); letter-spacing:-.07em; color:#d1bddf; transform:rotate(-8deg); white-space:nowrap; }
.campaign-note { position:absolute; z-index:4; padding:19px; border-radius:5px; color:#33233d; box-shadow:0 13px 24px -18px #24152960; }
.campaign-note>span,.campaign-small-note>span,.campaign-stage-note>span { display:block; font:750 8px/1.5 var(--body); letter-spacing:.1em; }
.campaign-note-type { top:0; right:-3%; width:151px; background:#e5f2ee; transform:translate(calc(var(--scene-x)*16px),calc(var(--scene-y)*11px)) rotate(7deg); }
.campaign-note-type strong { display:block; font:650 71px/1.1 'Archivo Variable',var(--body); letter-spacing:-.06em; margin:13px 0; }
.campaign-note i { font-style:normal; position:absolute; right:13px; bottom:10px; font-size:29px; color:#58826d; }
/* Process: a dark editorial spread and a light photographic work surface. */
.campaign-hero-journey { color:#fff; background:#291c36; }
.editorial-main .campaign-hero-journey>.eyebrow { color:#d8bee9; }
.editorial-main .campaign-hero-journey>.lead { color:#d6cddd; }
.editorial-main .campaign-hero-journey .wp-block-button__link { background:#d9c4eb; color:#291c36; --button-fill:#e8d9f3; }
.editorial-main .campaign-hero-journey .wp-block-button:nth-child(2) .wp-block-button__link { background:transparent; color:#fff; box-shadow:inset 0 0 0 1px #ffffff55; --button-fill:#463052; }
.campaign-scene-journey { min-height:505px; }
.campaign-scene-journey:before { content:''; position:absolute; inset:2% 0 4% 4%; background:#ded1e9; border-radius:200px 200px 12px 12px; transform:rotate(5deg); }
.campaign-scene-journey .campaign-product-main { width:72%; top:7%; left:11%; transform:translate(calc(var(--scene-x)*-8px),calc(var(--scene-y)*-8px)) rotate(8deg); }
.campaign-scene-journey .campaign-product-detail { width:36%; right:-2%; bottom:14%; transform:translate(calc(var(--scene-x)*11px),calc(var(--scene-y)*8px)) rotate(-8deg); }
.campaign-scene-journey .campaign-scene-word { display:none; }
.campaign-note-route { left:-1%; bottom:0; width:222px; background:#fff9e9; transform:translate(calc(var(--scene-x)*-11px),calc(var(--scene-y)*7px)) rotate(-5deg); }
.campaign-note-route ol { list-style:none; padding:0; margin:13px 0 0; display:grid; gap:8px; }
.campaign-note-route li { display:flex; align-items:center; gap:10px; font-size:11px; }
.campaign-note-route b { font-size:8px; border:1px solid #d7cfc5; width:23px; height:23px; border-radius:50%; display:grid; place-items:center; }
/* Existing native image blocks become generous product stages. */
.editorial-main .campaign-hero-supply,.editorial-main .campaign-hero-personalization { padding:48px 45px; gap:55px; overflow:visible; }
.campaign-hero-supply { background:#e8f2ef; }
.campaign-hero-personalization { background:#f2e8f1; }
.campaign-hero-supply:before,.campaign-hero-personalization:before { content:''; position:absolute; inset:28px 25px 28px 53%; border:1px solid #856b8c33; border-radius:48% 48% 8px 8px; z-index:-1; }
.campaign-hero-supply>.editorial-photo,.campaign-hero-personalization>.editorial-photo { z-index:1; padding:12px; border:1px solid #fff; box-shadow:0 20px 24px -24px #25152990; border-radius:8px; background:#fff; transform:translate(calc(var(--scene-x)*-5px),calc(var(--scene-y)*-5px)) rotate(4deg); overflow:hidden; }
.campaign-hero-personalization>.editorial-photo { transform:translate(calc(var(--scene-x)*-5px),calc(var(--scene-y)*-5px)) rotate(-5deg); }
.campaign-hero-supply .editorial-photo img,.campaign-hero-personalization .editorial-photo img { border-radius:3px; }
.campaign-hero-supply .editorial-photo figcaption,.campaign-hero-personalization .editorial-photo figcaption { inset:auto 22px 24px; padding:10px; }
.campaign-hero-supply>.service-detail-copy,.campaign-hero-personalization>.personalization-title { position:relative; z-index:3; }
.campaign-stage-decor { position:absolute; inset:0; pointer-events:none; z-index:2; }
.campaign-stage-note { position:absolute; right:5%; bottom:2%; width:174px; padding:19px; background:#fff7e1; border-radius:5px; transform:translate(calc(var(--scene-x)*12px),calc(var(--scene-y)*9px)) rotate(-7deg); box-shadow:0 12px 18px -17px #251529a0; }
.campaign-stage-note strong { display:block; font:650 28px/1.06 'Archivo Variable',var(--body); letter-spacing:-.05em; margin-top:17px; }
.campaign-stage-note i { font:normal 36px/1 var(--body); position:absolute; right:14px; bottom:14px; color:var(--purple); }
.campaign-hero-personalization .campaign-stage-note { background:#e1f0e9; right:1%; bottom:7%; width:140px; transform:translate(calc(var(--scene-x)*12px),calc(var(--scene-y)*9px)) rotate(8deg); }
.campaign-hero-personalization .campaign-stage-note strong { font-size:65px; margin-top:8px; }
.campaign-stage-orbit { position:absolute; width:90px; height:90px; top:14px; right:24px; border:1px solid #856b8c55; border-radius:50%; }
.campaign-stage-orbit:after { content:''; position:absolute; inset:10px -8px; border:1px solid #856b8c55; border-radius:50%; transform:rotate(25deg); }
/* About and contact have their own visual language, with no invented business metrics. */
.campaign-hero-about { background:#f8f0dc; }
.editorial-main .campaign-hero-about>.lead { margin-left:0; }
.campaign-scene-about .campaign-scene-word { left:-5%; top:-17%; bottom:auto; font-size:330px; color:#dac7e1; transform:rotate(-14deg); letter-spacing:-.12em; }
.campaign-scene-about .campaign-product-main { top:21%; left:2%; width:63%; transform:translate(calc(var(--scene-x)*-8px),calc(var(--scene-y)*-8px)) rotate(-12deg); }
.campaign-scene-about .campaign-product-detail { width:44%; right:-1%; bottom:0; }
.campaign-note-signature { right:-2%; top:7%; width:172px; padding:21px; background:#73499a; color:#fff; transform:translate(calc(var(--scene-x)*12px),calc(var(--scene-y)*9px)) rotate(8deg); }
.campaign-note-signature strong { font:600 29px/1.04 'Archivo Variable',var(--body); display:block; margin:21px 0 24px; letter-spacing:-.045em; }
.campaign-note-signature i { color:#e8d6ac; }
.editorial-main .campaign-hero-contact { max-width:none; background:#eaf3f0; margin-bottom:36px; }
.campaign-scene-contact { min-height:400px; }
.campaign-scene-contact .campaign-orbit { border-color:#5075653b; top:0; }
.campaign-note-message { background:#fffaf0; left:8%; top:5%; width:78%; min-height:310px; padding:30px; transform:translate(calc(var(--scene-x)*-8px),calc(var(--scene-y)*-6px)) rotate(-7deg); border:1px solid #e8e0d2; }
.campaign-note-message strong { display:block; font:600 clamp(35px,4vw,53px)/1.08 'Archivo Variable',var(--body); letter-spacing:-.055em; margin-top:32px; }
.campaign-note-message em { color:#73499a; font-style:normal; }
.campaign-note-message i { color:#73499a; font-size:56px; right:28px; bottom:26px; }
.campaign-small-note { position:absolute; z-index:5; bottom:0; right:-2%; background:#73499a; color:#fff; padding:20px 24px; width:222px; border-radius:6px; transform:translate(calc(var(--scene-x)*12px),calc(var(--scene-y)*8px)) rotate(5deg); }
.campaign-small-note strong { display:block; font-size:16px; margin:13px 0; letter-spacing:-.04em; }
.campaign-small-note .campaign-note-dots { color:#ddc7ed; letter-spacing:5px; font-size:11px; }
.campaign-fallback { inset:15% 10%; background:#fff9ed; transform:rotate(-7deg); }
.campaign-fallback strong { display:block; font:600 48px/1.04 'Archivo Variable',var(--body); letter-spacing:-.05em; margin-top:25px; }
.campaign-scene-empty .campaign-note-type { right:0; top:0; }
/* One broad collection invitation between larger editorial chapters. */
.campaign-band { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:30px; min-height:455px; border-radius:12px; background:#73499a; color:#fff; padding:60px 62px; margin:75px 0 15px; overflow:hidden; }
.campaign-band-copy { position:relative; z-index:3; }
.campaign-band .eyebrow,.editorial-main .campaign-band .eyebrow { font-size:9px; line-height:1.6; letter-spacing:.14em; font-weight:750; color:#e4d4ee; margin-bottom:22px; }
.campaign-band h2,.editorial-main .campaign-band h2 { font:600 clamp(35px,4vw,55px)/1.035 'Archivo Variable',var(--body); letter-spacing:-.055em; }
.campaign-band h2 span { color:#ead7f3; }
.campaign-band-copy>p:not(.eyebrow) { font-size:13px; line-height:1.85; color:#eee5f4; max-width:325px; margin-top:21px; }
.campaign-band .button { background:#fff9ed; color:#392446; margin-top:26px; font-size:12px; padding:14px 21px; --button-fill:#f3e5ff; }
.campaign-band-scene { position:relative; min-height:330px; height:100%; }
.campaign-band-orbit { position:absolute; width:120%; aspect-ratio:1; border:1px solid #d9c1e657; border-radius:50%; left:-5%; top:-15%; }
.campaign-band-orbit:after { content:''; position:absolute; inset:25px -30px; border:1px solid #d9c1e635; border-radius:50%; }
.campaign-band-product-1 { width:62%; left:0; top:-5%; aspect-ratio:1; z-index:1; transform:translate(calc(var(--scene-x)*-11px),calc(var(--scene-y)*-8px)) rotate(-12deg); }
.campaign-band-product-2 { width:59%; right:-4%; bottom:0; aspect-ratio:1; z-index:2; transform:translate(calc(var(--scene-x)*14px),calc(var(--scene-y)*10px)) rotate(11deg); }
.campaign-band-signature { position:absolute; left:0; bottom:-35px; font:550 clamp(28px,4vw,51px)/1 'Archivo Variable',var(--body); letter-spacing:-.06em; color:#dbc3ec; transform:rotate(-7deg); }
.campaign-band-empty { grid-template-columns:1fr; min-height:360px; }
.campaign-band-empty .campaign-band-copy>p { max-width:560px; }
.home-campaign { padding-bottom:70px; }
/* A gentle drift belongs only to active, opted-in motion scenes. */
@keyframes campaign-drift { 0%,100% { translate:0 0; } 50% { translate:0 -9px; } }
.motion-ready .campaign-hero.motion-playing .campaign-note,.motion-ready .campaign-hero.motion-playing .campaign-small-note,.motion-ready .campaign-hero.motion-playing .campaign-stage-note { animation:campaign-drift 6s ease-in-out infinite; }
.motion-ready .campaign-band.motion-playing .campaign-band-product-2 { animation:campaign-drift 7s ease-in-out infinite; }
.motion-paused :is(.campaign-note,.campaign-small-note,.campaign-stage-note,.campaign-band-product-2) { animation:none!important; }
@media (max-width:1100px) {
 .editorial-main .campaign-hero { padding:45px 35px; column-gap:24px; }
 .editorial-main .campaign-hero h1 { font-size:clamp(40px,4.4vw,52px); }
 .campaign-scene { min-height:410px; }
 .campaign-scene-journey { min-height:470px; }
 .campaign-note-type { width:129px; padding:15px; }
 .campaign-note-type strong { font-size:61px; }
 .campaign-band { padding:50px 40px; }
 .campaign-band-scene { min-height:310px; }
 .campaign-note-message { padding:25px; min-height:290px; }
 .campaign-note-signature { width:150px; }
 .campaign-note-signature strong { font-size:26px; }
}
@media (max-width:800px) {
 .campaign-hero-actions .button,.campaign-band .button { min-height:48px; padding:11px 16px; font-size:13px; gap:14px; border-radius:6px; }
 .editorial-main .campaign-hero { padding:37px 27px 58px; margin-top:22px; margin-bottom:38px; }
 .campaign-hero-services,.campaign-hero-journey,.campaign-hero-about,.campaign-hero-contact { grid-template-columns:minmax(0,1fr); }
 .editorial-main .campaign-hero h1 { font-size:clamp(40px,7.2vw,62px); max-width:580px; }
 .editorial-main .campaign-hero>.lead { max-width:560px; font-size:15px; }
 .campaign-scene { grid-column:1; grid-row:5; width:min(440px,100%); min-height:460px; margin:35px auto 0; }
 .campaign-scene-journey { min-height:480px; }
 .campaign-scene-journey .campaign-orbit { width:80%; left:10%; }
 .campaign-scene-journey .campaign-orbit:after { inset:24px -8px; }
 .campaign-scene-about { margin-top:70px; }
 .campaign-scene-contact { min-height:410px; }
 .editorial-main .campaign-hero-supply,.editorial-main .campaign-hero-personalization { grid-template-columns:minmax(0,1fr); gap:40px; }
 .campaign-hero-supply>.editorial-photo,.campaign-hero-personalization>.editorial-photo { width:min(420px,85%); margin:0 auto; }
 .campaign-hero-supply:before,.campaign-hero-personalization:before { inset:47% 30px 25px; }
 .campaign-stage-note { bottom:32px; right:5%; }
 .campaign-hero-personalization .campaign-stage-note { right:5%; bottom:60px; }
 .campaign-stage-orbit { top:auto; bottom:45%; right:20px; }
 .campaign-band { grid-template-columns:minmax(0,1fr); padding:42px 30px 70px; gap:38px; margin-top:45px; }
 .home-campaign { padding-bottom:45px; }
 .campaign-band h2,.editorial-main .campaign-band h2 { font-size:clamp(37px,6.2vw,54px); }
 .campaign-band-copy>p:not(.eyebrow) { max-width:430px; }
 .campaign-band-scene { width:min(460px,100%); min-height:350px; margin:auto; }
 .campaign-band-product-1 { width:60%; }
 .campaign-band-product-2 { width:56%; right:1%; }
 .campaign-band-signature { bottom:-22px; font-size:45px; }
}
@media (max-width:480px) {
 .editorial-main .campaign-hero { padding:30px 22px 58px; border-radius:9px; }
 .editorial-main .campaign-hero h1 { font-size:38px; }
 .campaign-scene { width:calc(100% - 24px); min-height:335px; margin-top:28px; }
 .campaign-orbit { width:80%; left:10%; }
 .campaign-orbit:after { inset:24px -8px; }
 .editorial-main .campaign-hero-supply h1 { font-size:clamp(26px,7.9vw,38px); }
 .campaign-note-type { width:115px; right:-2%; }
 .campaign-note-type strong { font-size:50px; margin:9px 0; }
 .campaign-note>span { font-size:7px; }
 .campaign-product-label { font-size:11px; padding:8px; gap:6px; }
 .campaign-product-label>span:last-child { font-size:14px; }
 .campaign-product-detail { width:56%; }
 .campaign-scene-journey { min-height:400px; }
 .campaign-note-route { width:188px; padding:15px; }
 .campaign-note-route li { font-size:10px; }
 .campaign-scene-journey .campaign-product-detail { width:52%; bottom:20%; }
 .editorial-main .campaign-hero-about h1 { font-size:clamp(33px,10.3vw,38px); }
 .campaign-scene-about { min-height:280px; margin-top:58px; }
 .campaign-scene-about .campaign-product-main { width:80%; top:8%; }
 .campaign-scene-about .campaign-product-main .campaign-product-label { inset:8px 8px auto; }
 .campaign-scene-about .campaign-product-detail { width:56%; bottom:0; }
 .campaign-scene-about .campaign-scene-word { font-size:220px; left:4%; }
 .campaign-note-signature { width:100px; padding:12px; top:0; right:0; }
 .campaign-note-signature strong { font-size:18px; margin:12px 0 20px; }
 .campaign-scene-contact { min-height:355px; }
 .campaign-note-message { min-height:280px; left:3%; width:88%; padding:25px; }
 .campaign-note-message strong { font-size:39px; }
 .campaign-small-note { width:194px; padding:16px 19px; }
 .campaign-small-note strong { font-size:14px; }
 .campaign-hero-supply .campaign-stage-note { width:150px; }
 .campaign-stage-note strong { font-size:24px; }
 .campaign-band { padding:36px 24px 65px; }
 .campaign-band-scene { min-height:265px; }
 .campaign-band-signature { font-size:36px; }
 .campaign-band-product-1 { top:0; }
 .campaign-fallback { inset:13% 5%; }
 .campaign-fallback strong { font-size:38px; }
 /* Keep linked titles in the card flow; decorative notes get their own row. */
 :is(.campaign-scene-journey,.campaign-scene-about) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px 12px; min-height:0; }
 :is(.campaign-scene-journey,.campaign-scene-about) .campaign-product { position:relative; inset:auto; width:auto; aspect-ratio:auto; transform:none; }
 :is(.campaign-scene-journey,.campaign-scene-about) .campaign-product img { height:auto; aspect-ratio:1; }
 :is(.campaign-scene-journey,.campaign-scene-about) .campaign-product .campaign-product-label { position:static; inset:auto; align-items:flex-start; padding:8px 0 0; background:transparent; }
 :is(.campaign-scene-journey,.campaign-scene-about) .campaign-product-label>span:last-child { display:none; }
 :is(.campaign-scene-journey,.campaign-scene-about) :is(.campaign-note-route,.campaign-note-signature) { grid-column:1/-1; position:relative; inset:auto; width:auto; margin-top:8px; padding:18px; transform:rotate(-2deg); }
 .campaign-note-route>span { font-size:9px; }
 .campaign-note-route li { font-size:12px; line-height:1.55; font-weight:600; }
 .campaign-note-route b { flex:0 0 24px; height:24px; font-size:9px; }
 .campaign-scene-about .campaign-note-signature strong { font-size:24px; margin:12px 0 8px; }
}
@media (prefers-reduced-motion:reduce) {
 .campaign-hero,.campaign-band { --scene-x:0!important; --scene-y:0!important; }
 .campaign-hero *,.campaign-band * { animation:none!important; transition:none!important; }
}

/* Service openings share the same compact editorial scale. */
.editorial-main :is(.campaign-hero-services,.campaign-hero-supply,.campaign-hero-personalization) {
 margin-block:24px;
 padding:36px 40px;
 gap:36px;
}
.editorial-main :is(.campaign-hero-supply,.campaign-hero-personalization) {
 grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
}
.editorial-main :is(.campaign-hero-supply,.campaign-hero-personalization) h1 { font-size:clamp(40px,4.3vw,60px); }
.editorial-main :is(.campaign-hero-supply,.campaign-hero-personalization) .lead { font-size:15px; line-height:1.8; margin-top:22px; }
.campaign-hero-supply>.editorial-photo,.campaign-hero-personalization>.editorial-photo { max-width:450px; justify-self:center; }
.campaign-hero-supply .editorial-photo img,.campaign-hero-personalization .editorial-photo img { aspect-ratio:1.16; max-height:380px; }
.campaign-hero-services .campaign-scene { min-height:380px; width:100%; max-width:440px; justify-self:center; }
.campaign-hero-services .campaign-product-main { width:68%; }
.campaign-hero-services .campaign-product-detail { width:42%; }
.editorial-main .campaign-hero-services { row-gap:0; }
.editorial-main .campaign-hero-services h1 { font-size:clamp(38px,3.8vw,55px); }
.campaign-hero-personalization .campaign-stage-note { width:112px; padding:14px; right:2.5%; bottom:8%; }
.campaign-hero-personalization .campaign-stage-note strong { font-size:44px; }
.editorial-main .campaign-band { min-height:0; padding:36px 44px; margin-top:40px; gap:40px; }
.editorial-main .campaign-band h2 { font-size:clamp(32px,3vw,43px); }
.editorial-main .campaign-band-scene { min-height:280px; width:100%; max-width:390px; justify-self:center; }
.editorial-main .campaign-band-signature { font-size:37px; bottom:-14px; }
@media(max-width:800px) {
 .editorial-main :is(.campaign-hero-services,.campaign-hero-supply,.campaign-hero-personalization) {
  padding:30px 28px 36px;
  grid-template-columns:minmax(0,1fr);
  gap:24px;
  margin-block:20px;
 }
 .editorial-main :is(.campaign-hero-supply,.campaign-hero-personalization) h1 { font-size:clamp(32px,6vw,48px); }
 .campaign-hero-supply>.editorial-photo,.campaign-hero-personalization>.editorial-photo { width:min(380px,90%); }
 .campaign-hero-services .campaign-scene { min-height:330px; max-width:360px; margin-top:16px; }
 .editorial-main .campaign-hero-services { row-gap:0; }
 .editorial-main .campaign-band { padding:32px 30px 46px; gap:30px; margin-top:28px; }
 .editorial-main .campaign-band-scene { width:min(350px,100%); min-height:270px; }
}
@media(max-width:480px) {
 .editorial-main :is(.campaign-hero-services,.campaign-hero-supply,.campaign-hero-personalization) { padding:26px 22px 30px; gap:22px; }
 .editorial-main :is(.campaign-hero-supply,.campaign-hero-personalization) h1 { font-size:clamp(29px,8.1vw,38px); }
 .editorial-main :is(.campaign-hero-supply,.campaign-hero-personalization) .lead { font-size:14px; margin-top:18px; }
 .campaign-hero-services .campaign-scene { width:100%; min-height:285px; margin-top:8px; }
 .editorial-main .campaign-hero-services { row-gap:0; }
 .editorial-main .campaign-hero-services h1 { font-size:clamp(30px,8.2vw,38px); }
 .campaign-hero-services .campaign-note-type { width:96px; padding:12px; }
 .campaign-hero-services .campaign-note-type strong { font-size:40px; }
 .campaign-hero-personalization .campaign-stage-note { width:92px; padding:12px; bottom:34px; }
 .campaign-hero-personalization .campaign-stage-note strong { font-size:35px; }
 .campaign-stage-note>span { font-size:7px; }
 .editorial-main .campaign-band { padding:28px 24px 42px; }
 .editorial-main .campaign-band-scene { min-height:225px; }
 .editorial-main .campaign-band-signature { font-size:30px; }
 .campaign-hero-services .campaign-scene { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-height:0; margin-top:22px; }
 .campaign-hero-services .campaign-product { position:relative; inset:auto; width:auto; aspect-ratio:auto; transform:none; }
 .campaign-hero-services .campaign-product img { height:auto; aspect-ratio:1; }
 .campaign-hero-services .campaign-product-label { position:static; padding:8px 0 0; align-items:flex-start; background:transparent; font-size:11px; }
 .campaign-hero-services :is(.campaign-note-type,.campaign-scene-word) { display:none; }
}

/* Services: two distinct categories, styled as a small editorial photo spread. */
.editorial-main .campaign-hero-services {
 background: #f1ecf6;
 background-image: radial-gradient(ellipse at 85% 10%, #fff8ec 0, transparent 58%);
 grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);
}
.editorial-main .campaign-hero-services h1 { max-width: 550px; line-height: 1.08; }
.campaign-hero-services .service-brand-scene { min-height: 445px; max-width: 480px; }
.service-brand-photo {
 position: absolute; margin: 0; padding: 8px; background: #fff;
 box-shadow: 0 18px 34px -22px #38244766; border: 1px solid #ffffffb3;
 border-radius: 9px; overflow: hidden;
}
.service-brand-photo img { display: block; width: 100%; height: auto; border-radius: 4px; object-fit: cover; }
.service-brand-photo figcaption {
 display: flex; justify-content: space-between; align-items: center; gap: 8px;
 padding: 12px 5px 5px; color: #2b2331; font: 700 13px/1.3 var(--body);
}
.service-photo-index { font-size: 10px; font-weight: 600; color: #8c7c95; }
.service-brand-diamond { width: 77%; top: 0; left: 1%; transform: translate(calc(var(--scene-x)*-6px),calc(var(--scene-y)*-5px)) rotate(-6deg); z-index: 1; }
.service-brand-diamond img { aspect-ratio: 1.5; }
.service-brand-tshirt { width: 48%; right: 0; bottom: 0; transform: translate(calc(var(--scene-x)*8px),calc(var(--scene-y)*6px)) rotate(6deg); z-index: 2; }
.service-brand-tshirt img { aspect-ratio: 1; object-position: 50% 45%; }
.service-brand-signature { position: absolute; bottom: 8%; left: 4%; color: #79618d; font: 600 18px/1.35 'Archivo Variable',var(--body); letter-spacing: -.035em; transform: rotate(-5deg); }
@media(max-width:800px) {
 .editorial-main .campaign-hero-services { grid-template-columns: minmax(0,1fr); }
 .campaign-hero-services .service-brand-scene { display: block; min-height: 400px; max-width: 425px; margin-top: 25px; }
}
@media(max-width:480px) {
 .campaign-hero-services .service-brand-scene { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; min-height: 0; margin-top: 24px; align-items: start; }
 .service-brand-photo { position: relative; inset: auto; width: 100%; padding: 6px; border-radius: 6px; transform: none; }
 .service-brand-tshirt { margin-top: 20px; }
 .service-brand-photo img { aspect-ratio: 1; }
 .service-brand-diamond img { object-fit: contain; background: #17191b; }
 .service-brand-photo figcaption { padding: 9px 2px 3px; font-size: 12px; }
 .service-brand-signature { grid-column: 1/-1; position: static; transform: none; margin-top: 0; font-size: 16px; line-height: 1.4; }
 .service-brand-signature br { display: none; }
 .service-brand-signature br::after { content: ' '; }
}
