/* Explicit references supplied by Veronika: 124542 / 161146 / 161212. */
section.soda-editorial-intro{align-items:stretch;gap:20px}
.soda-intro-copy{padding:clamp(24px,3vw,40px);border-radius:24px;background:#faf9ff;color:#24212d}
.soda-editorial-intro .soda-eyebrow,.soda-editorial-intro .soda-intro-description{color:#514a5c}
.soda-editorial-intro h1,.soda-editorial-intro .soda-intro-subtitle{color:#24212d}
.soda-intro-visual{border-radius:24px;background:#f563e2}
.soda-intro-links a,.soda-rich-open{background:#6330c7;border-color:transparent;color:#fff}
.soda-intro-links a+a,:root[data-theme="light"] .soda-intro-links a+a{background:transparent;color:#24212d;border-color:#6330c7}
.soda-intro-links a:focus-visible{outline-color:#6330c7}
section.soda-reference-video{border-radius:24px;gap:24px;padding:24px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.soda-reference-video-copy{padding:24px;background:#faf9ff;border-radius:18px;color:#24212d}
.soda-reference-video-copy h2,.soda-reference-video-copy h3{color:#24212d}
.soda-reference-video-copy p{color:#514a5c}
section.soda-storyboard{display:block;padding:0;background:transparent;border-radius:0}
.soda-storyboard .project-section-head{margin-bottom:18px}
.soda-storyboard .project-section-head h2{max-width:850px;color:var(--ink)}
.soda-storyboard>.soda-board-lead{font-size:18px;font-weight:500;color:var(--muted);max-width:760px;margin:0 0 28px}
.soda-story-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0;background:transparent;border-radius:0;align-items:stretch}
.soda-story-cards>article{display:flex;flex-direction:column;padding:24px 20px 0;border:0;border-radius:24px;overflow:hidden;background:#b88aff;color:#24212d}
.soda-story-cards>article:nth-child(2){background:#faf9ff}
.soda-story-cards>article:nth-child(3){background:#f5dc21}
.soda-story-cards>article:nth-child(4){background:#f563e2}
.soda-story-cards>article:before{display:none}
.soda-storyboard .soda-story-cards h3{color:#24212d;font-size:20px;line-height:1.2;font-weight:700;margin:0 0 14px}
.soda-storyboard .soda-story-cards p{color:#24212d;font-size:15px;line-height:1.55;margin:0 0 22px}
.soda-story-cards .soda-highlight{background:transparent;color:inherit;padding:0;font-weight:650}
.soda-story-photo{margin:auto -20px 0;line-height:0}
.soda-story-photo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center}
.soda-realism-note{margin:24px 0 0;padding:clamp(24px,4vw,44px);background:#8ec8ff;color:#24212d;border-radius:24px;text-align:center}
.soda-storyboard .soda-realism-note h3{max-width:880px;margin:0 auto 20px;font-size:clamp(27px,3vw,40px);line-height:1.16;color:#24212d;letter-spacing:-.035em}
.soda-realism-note p{max-width:960px;margin-inline:auto;color:#24212d;font-size:17px;line-height:1.85}
.soda-realism-criteria{display:inline;line-height:2.5}
.soda-realism-criteria>span{display:inline-block;background:#fff;color:#24212d;border-radius:999px;padding:2px 14px;line-height:1.7;font-weight:650}
section.soda-rich-layout{border-radius:24px}
@media(max-width:1000px){.soda-story-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.soda-story-photo img{aspect-ratio:1.35/1}.soda-reference-video-copy{padding:20px}}
@media(max-width:760px){section.soda-reference-video{grid-template-columns:1fr;padding:20px}.soda-storyboard>.soda-board-lead{margin-bottom:24px}.soda-intro-copy{padding:24px}.soda-intro-links a{gap:14px}}
@media(max-width:600px){
 section.soda-editorial-intro{gap:16px}.soda-intro-visual{max-width:none}
 section.soda-reference-video{padding:16px;gap:20px}.soda-reference-video-copy{padding:20px 16px}
 section.soda-storyboard{padding:0}.soda-story-cards{gap:12px}
 .soda-story-cards>article{padding:20px 16px 0;border-radius:18px}
 .soda-storyboard .soda-story-cards h3{font-size:18px}.soda-storyboard .soda-story-cards p{font-size:14px;line-height:1.55}
 .soda-story-photo{margin-inline:-16px}.soda-story-photo img{aspect-ratio:1/1}
 .soda-realism-note{margin-top:20px;padding:24px 18px}.soda-realism-note p{font-size:16px}
}
@media(max-width:420px){.soda-story-cards{grid-template-columns:1fr}.soda-story-photo img{aspect-ratio:1.4/1}}

/* Show all four story photographs in their original proportions. */
.soda-story-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:1000px){.soda-story-photo img{aspect-ratio:auto;height:auto}}
@media(max-width:600px){.soda-story-photo img{aspect-ratio:auto;height:auto}}
@media(max-width:420px){.soda-story-photo img{aspect-ratio:auto;height:auto}}
/* Wide banner composition approved from the new blue reference. */
.soda-realism-banner{position:relative;isolation:isolate;display:grid;grid-template-columns:150px minmax(0,1fr) 150px;align-items:center;gap:28px;padding:36px 28px;overflow:hidden;background:linear-gradient(180deg,#0862b6,#2678bc);border-radius:26px}
.soda-storyboard .soda-realism-banner h3{font-size:clamp(25px,2.7vw,36px);color:#fff;margin-bottom:16px;max-width:780px}
.soda-realism-banner p{color:#fff;font-size:15px;line-height:1.65;max-width:800px}
.soda-realism-banner .soda-realism-criteria{line-height:2.3}
.soda-banner-copy{position:relative;z-index:1;min-width:0}
.soda-banner-action{display:inline-flex;align-items:center;gap:22px;margin-top:24px;padding:12px 22px;min-height:46px;background:#fff;color:#24212d;border-radius:8px;text-decoration:none;font-size:14px;font-weight:650;line-height:1.5}
.soda-banner-action:hover{background:#eaf4ff}.soda-banner-action:active{background:#d4eaff}.soda-banner-action:focus-visible{outline:3px solid #fff;outline-offset:5px}
.soda-banner-tile{display:grid;place-items:center;position:relative;aspect-ratio:1;width:100%;border-radius:28px;box-shadow:inset 4px 5px 5px #ffffff9c,inset -6px -8px 8px #0000002b,0 12px 14px #003c723d}
.soda-banner-tile-left{background:linear-gradient(135deg,#9af43c,#4ab70a);transform:rotate(-13deg)}
.soda-banner-tile-left:before{content:'';position:absolute;inset:25%;border:9px solid #378e0d;border-radius:12px;box-shadow:2px 3px 0 #c7ff7380}
.soda-banner-eyes{position:absolute;display:flex;gap:2px;top:12%;right:-12%;transform:rotate(13deg)}
.soda-banner-eyes i{display:block;width:43px;height:56px;background:white;border:2px solid #24212d;border-radius:50%;box-shadow:0 0 0 4px white;position:relative}
.soda-banner-eyes i:after{content:'';position:absolute;width:24px;height:36px;border-radius:50%;background:#24212d;top:9px;right:3px}
.soda-banner-tile-right{background:linear-gradient(135deg,#fff,#e2eaf4);transform:rotate(9deg);color:#0959a4}
.soda-banner-tile-right span{font-size:21px;font-weight:800;line-height:1.3;text-align:left}
@media(max-width:1000px){.soda-realism-banner{grid-template-columns:100px minmax(0,1fr) 100px;gap:22px;padding:28px 22px}.soda-banner-tile-right span{font-size:17px}.soda-banner-eyes{transform:scale(.8) rotate(13deg);transform-origin:right top}}
@media(max-width:760px){.soda-realism-banner{grid-template-columns:70px minmax(0,1fr);gap:18px;padding:28px 20px}.soda-banner-tile-right{display:none}.soda-banner-eyes{transform:scale(.6) rotate(13deg)}.soda-banner-tile-left:before{border-width:5px}.soda-banner-copy{text-align:left}.soda-storyboard .soda-realism-banner h3{font-size:27px}.soda-realism-banner p{font-size:15px}}
@media(max-width:420px){.soda-realism-banner{grid-template-columns:1fr;padding:24px 20px}.soda-banner-tile-left{width:64px;margin:0 0 4px 8px}.soda-banner-action{margin-top:20px}}
/* User-supplied plush SODA opening image, shown in full. */
.soda-plush-banner{max-width:1320px;padding-top:28px}
.soda-plush-banner img{display:block;width:100%;height:auto;border-radius:24px}
.soda-plush-banner+section.soda-editorial-intro{padding-top:24px}
@media(max-width:600px){.soda-plush-banner{padding-top:20px}.soda-plush-banner img{border-radius:18px}.soda-plush-banner+section.soda-editorial-intro{padding-top:20px}}
/* The keyboard reference belongs to the opening banner. Use Veronika's original asset. */
section.soda-editorial-intro{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(0,2fr) minmax(140px,.85fr);align-items:center;gap:24px;padding:28px 24px;margin-top:24px;margin-bottom:32px;background:linear-gradient(180deg,#0862b6,#2678bc);border-radius:26px}
.soda-header-keyboard{min-width:0}
.soda-header-keyboard img{display:block;width:100%;height:auto}
.soda-intro-copy{padding:12px 0;background:transparent;border-radius:0;text-align:center}
.soda-editorial-intro h1{font-size:clamp(58px,7vw,100px);color:#fff}
.soda-editorial-intro .soda-intro-subtitle{font-size:clamp(23px,2.4vw,32px);color:#fff;margin:18px 0 14px}
.soda-editorial-intro .soda-intro-description{color:#fff;margin-inline:auto;font-size:15px}
.soda-intro-links{justify-content:center;margin-top:24px}
.soda-intro-links a,:root[data-theme="light"] .soda-intro-links a{background:#fff;border-color:transparent;color:#24212d}
.soda-intro-links a+a,:root[data-theme="light"] .soda-intro-links a+a{background:transparent;color:#fff;border-color:#fff}
.soda-intro-links a:focus-visible{outline-color:#fff}
.soda-intro-visual{display:block;padding:0;background:transparent;border-radius:12px;align-self:center}
.soda-intro-main{border-radius:12px}.soda-intro-detail,.soda-intro-label{display:none}
.soda-realism-banner{display:block}
@media(max-width:760px){section.soda-editorial-intro{grid-template-columns:100px minmax(0,1fr);padding:24px 20px;gap:20px}.soda-intro-visual{display:none}.soda-editorial-intro h1{font-size:68px}}
@media(max-width:600px){section.soda-editorial-intro{grid-template-columns:1fr;gap:16px;padding:24px 20px;margin-top:20px;margin-bottom:28px}.soda-header-keyboard{width:110px;justify-self:center}.soda-intro-copy{padding:0}.soda-editorial-intro h1{font-size:72px}.soda-editorial-intro .soda-intro-subtitle{font-size:26px}.soda-intro-main{max-height:none}}
/* Bright azure-to-sky palette sampled from the user's banner reference. */
section.soda-editorial-intro{grid-template-columns:minmax(140px,1fr) minmax(0,2fr) minmax(140px,1fr);background:linear-gradient(180deg,#0788fa 0%,#50aafa 55%,#8bccff 100%);gap:20px;padding:30px 0;overflow:hidden}
.soda-editorial-intro h1,.soda-editorial-intro .soda-intro-subtitle,.soda-editorial-intro .soda-intro-description{color:#07213b}
.soda-intro-links a+a,:root[data-theme="light"] .soda-intro-links a+a{background:transparent;color:#07213b;border-color:#07213b}
.soda-intro-links a:focus-visible{outline-color:#07213b}
.soda-header-keyboard img,.soda-intro-visual img{display:block;width:100%;height:auto;border-radius:0}
.soda-header-keyboard{transform:translateX(-9%) scale(1.2)}
.soda-intro-visual{display:block;transform:translateX(9%) scale(1.2);background:transparent;padding:0}
.soda-intro-visual .soda-intro-detail,.soda-intro-visual .soda-intro-label{display:none}
@media(max-width:760px){section.soda-editorial-intro{grid-template-columns:100px minmax(0,1fr) 100px;gap:10px;padding:26px 0}.soda-editorial-intro h1{font-size:62px}.soda-intro-visual{display:block}}
@media(max-width:600px){section.soda-editorial-intro{grid-template-columns:1fr 1fr;padding:24px 18px;gap:20px}.soda-intro-copy{grid-column:1/-1;grid-row:1}.soda-header-keyboard{grid-column:1;width:100%;max-width:170px;transform:none;justify-self:center}.soda-intro-visual{grid-column:2;width:100%;max-width:170px;transform:none;justify-self:center}.soda-editorial-intro h1{font-size:72px}}
/* One complete key on each side; the lettering stays inside the banner. */
.soda-header-keyboard,.soda-intro-visual{transform:none;padding:10px}
section.soda-editorial-intro{padding-inline:18px}
@media(max-width:760px){.soda-header-keyboard,.soda-intro-visual{padding:0}}
/* Match the supplied low horizontal banner rather than a tall hero. */
section.soda-editorial-intro{grid-template-columns:minmax(150px,1fr) minmax(0,2.15fr) minmax(150px,1fr);gap:24px;padding:26px 0;min-height:0;border-radius:24px;background:linear-gradient(180deg,#0788fa 0%,#50aafa 58%,#8bccff 100%)}
.soda-header-keyboard,.soda-intro-visual{padding:0;transform:scale(1.12);align-self:center}
.soda-header-keyboard{transform-origin:right center}.soda-intro-visual{transform-origin:left center}
.soda-intro-copy{padding:0;text-align:center}
.soda-editorial-intro h1{font-size:30px;line-height:1.1;letter-spacing:-.03em;font-weight:700;color:#fff;margin:0 0 12px}
.soda-editorial-intro .soda-intro-subtitle{font-size:clamp(23px,2.35vw,32px);line-height:1.18;font-weight:500;letter-spacing:-.035em;color:#fff;margin:0 0 12px}
.soda-editorial-intro .soda-intro-description{font-size:14px;line-height:1.5;color:#fff;max-width:540px;margin:0 auto}
/* A narrow dark-blue edge keeps white letters legible over the lighter gradient. */
.soda-editorial-intro h1,.soda-editorial-intro .soda-intro-subtitle,.soda-editorial-intro .soda-intro-description{text-shadow:1px 0 #07529a,-1px 0 #07529a,0 1px #07529a,0 -1px #07529a}
.soda-intro-links{margin-top:22px;gap:12px;justify-content:center}
.soda-intro-links a,.soda-intro-links a+a,:root[data-theme="light"] .soda-intro-links a,:root[data-theme="light"] .soda-intro-links a+a{background:#fff;border-color:transparent;color:#24212d;min-height:44px;padding:12px 18px;border-radius:7px;font-size:13px;text-shadow:none}
@media(max-width:850px){section.soda-editorial-intro{grid-template-columns:125px minmax(0,1fr) 125px;gap:14px;padding:24px 0}.soda-editorial-intro h1{font-size:27px}.soda-editorial-intro .soda-intro-subtitle{font-size:24px}}
@media(max-width:600px){section.soda-editorial-intro{grid-template-columns:1fr 1fr;gap:18px;padding:24px 18px}.soda-intro-copy{grid-column:1/-1;grid-row:1}.soda-header-keyboard,.soda-intro-visual{max-width:150px;transform:none;justify-self:center}.soda-editorial-intro h1{font-size:28px}.soda-editorial-intro .soda-intro-subtitle{font-size:25px}}
/* Four keycaps: blue/white at left, white/blue at right, as in reference 192116. */
section.soda-editorial-intro{grid-template-columns:minmax(0,1.15fr) minmax(0,1.5fr) minmax(0,1.15fr);gap:20px;padding:24px 0;min-height:0;aspect-ratio:4.9/1;align-items:center}
.soda-header-keyboard.soda-key-pair,.soda-intro-visual.soda-key-pair{display:flex;align-items:center;gap:0;width:100%;max-width:none;padding:0;transform:none;min-width:0}
.soda-key-pair img{display:block;flex:0 0 57%;width:57%;max-width:none;height:auto;object-fit:contain;filter:none;box-shadow:none;border-radius:0}
.soda-header-keyboard.soda-key-pair{margin-left:-14%}
.soda-intro-visual.soda-key-pair{margin-left:0}
.soda-editorial-intro h1,.soda-editorial-intro .soda-intro-subtitle,.soda-editorial-intro .soda-intro-description{text-shadow:none;filter:none}
.soda-editorial-intro h1{font-size:18px;font-weight:600;margin-bottom:8px}
.soda-editorial-intro .soda-intro-subtitle{font-size:clamp(22px,2.1vw,29px);line-height:1.16;margin-bottom:10px;font-weight:500}
.soda-editorial-intro .soda-intro-description{font-size:13px;line-height:1.45;max-width:480px}
.soda-intro-links{margin-top:20px;gap:10px}
.soda-intro-links a{padding:10px 13px;min-height:40px;font-size:12px}
@media(max-width:850px){section.soda-editorial-intro{grid-template-columns:1fr 1.65fr 1fr;gap:12px;aspect-ratio:auto;padding:24px 0}.soda-editorial-intro .soda-intro-subtitle{font-size:23px}}
@media(max-width:600px){section.soda-editorial-intro{grid-template-columns:1fr 1fr;gap:20px 8px;padding:24px 0}.soda-intro-copy{grid-column:1/-1;grid-row:1;padding:0 20px}.soda-header-keyboard.soda-key-pair{grid-column:1;margin-left:-10%}.soda-intro-visual.soda-key-pair{grid-column:2;margin-left:0}.soda-editorial-intro .soda-intro-subtitle{font-size:25px}}

/* Narrower plush opening, retaining the complete image. */
.soda-plush-banner{width:min(calc(100% - 48px),1060px);max-width:1060px;margin-inline:auto}
@media(max-width:600px){.soda-plush-banner{width:calc(100% - 30px)}}

/* Reduce the plush image height, not its width. */
.soda-plush-banner{width:min(calc(100% - 48px),1320px);max-width:1320px}
.soda-plush-banner img{width:100%;height:auto;aspect-ratio:2.8/1;object-fit:cover;object-position:center center}
@media(max-width:600px){.soda-plush-banner{width:calc(100% - 30px)}}

/* White stage numbers on a contrast-safe pink. */
.soda-reference-video-copy .soda-video-stages>li:before{background:#b91a9c;color:#fff}

/* Comfortable action targets and readable central banner text. */
.soda-intro-links a,.soda-intro-links a+a,:root[data-theme="light"] .soda-intro-links a,:root[data-theme="light"] .soda-intro-links a+a,.soda-rich-open,:root[data-theme="light"] .soda-rich-open{min-height:48px;padding:12px 24px;font-size:15px;line-height:1.5;gap:16px}
.soda-intro-links a:hover{background:#eef5ff;border-color:transparent;box-shadow:none}
.soda-intro-links a:active{background:#dcecff;border-color:transparent}
.soda-intro-links a:focus-visible{outline:3px solid #07213b;outline-offset:4px}
.soda-editorial-intro h1,.soda-editorial-intro .soda-intro-subtitle,.soda-editorial-intro .soda-intro-description{color:#07213b;text-shadow:none}
.soda-rich-close{min-height:44px;padding:10px 20px;font-size:14px;line-height:1.5}
.soda-gallery-controls button{width:48px;height:48px;min-width:48px;min-height:48px}
.soda-gallery-controls{gap:20px}
@media(max-width:600px){.soda-intro-links a,.soda-rich-open{max-width:100%;white-space:normal}.soda-rich-reader-bar{flex-wrap:wrap}}
.lightbox #close-lightbox{min-height:44px;padding:10px 20px;font-size:14px;line-height:1.5}
.lightbox #close-lightbox:focus-visible{outline:3px solid #fff;outline-offset:4px}
.soda-rich-open:focus-visible{outline:3px solid var(--ink);outline-offset:4px}

/* White reference typography; blue remains dark behind the complete copy. */
section.soda-editorial-intro{background:linear-gradient(180deg,#0865c2 0%,#1474bd 78%,#8bccff 100%)}
.soda-editorial-intro h1,.soda-editorial-intro .soda-intro-subtitle,.soda-editorial-intro .soda-intro-description{color:#fff;text-shadow:none}
.soda-editorial-intro .soda-intro-description{max-width:440px}
@media(max-width:600px){section.soda-editorial-intro{background:linear-gradient(180deg,#0865c2 0%,#1474bd 82%,#8bccff 100%)}}
