/* Scoped visual campaign layout; existing app and company pages stay independent. */
.game-campaign { --campaign-ink:#0c1b33; --campaign-lime:#d8f448; --campaign-paper:#f4f2e9; --campaign-cyan:#b9e8ef; background:var(--campaign-paper); }
.game-campaign.app-wickle { --campaign-ink:#173d3d; --campaign-lime:#f5c663; --campaign-paper:#f7f1e6; --campaign-cyan:#d9e8df; }
.game-campaign.app-skipper { --campaign-lime:#ffbc48; --campaign-cyan:#cee1ea; }
.game-campaign .detail-header { background:var(--campaign-paper); }
.game-campaign a:focus-visible,.game-campaign video:focus-visible { outline:3px solid #1487a6; outline-offset:5px; }
.campaign-hero { background:var(--campaign-ink); color:var(--campaign-paper); overflow:hidden; }
.campaign-hero-grid { display:grid; grid-template-columns:0.9fr 1.1fr; gap:34px; align-items:center; padding-block:64px 48px; }
.game-identity { display:inline-flex; gap:14px; align-items:center; text-decoration:none; font-weight:750; font-size:19px; }
.game-identity img { border-radius:15px; }
.game-identity small { display:block; margin-top:2px; font-size:12px; font-weight:650; letter-spacing:.09em; text-transform:uppercase; color:var(--campaign-cyan); }
.campaign-copy h1 { font-size:clamp(64px,7.6vw,110px); line-height:.91; letter-spacing:-.065em; font-weight:900; text-transform:uppercase; margin:38px 0 25px; }
.campaign-copy h1 span,.play-copy h2 span { display:block; }
.campaign-copy h1 .campaign-product-title { font-size:clamp(16px,1.6vw,21px); line-height:1.4; letter-spacing:0; text-transform:none; margin-bottom:18px; font-weight:700; color:var(--campaign-cyan); }
.campaign-intro { max-width:460px; margin:-12px 0 26px; font-size:16px; line-height:1.6; color:#d1dbe5; }
.accent { color:var(--campaign-lime); }
.campaign-tagline { font-size:clamp(18px,2vw,23px); line-height:1.4; max-width:400px; margin:0 0 28px; }
.campaign-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; }
.campaign-button { display:inline-flex; gap:22px; justify-content:space-between; align-items:center; min-height:50px; padding:13px 20px; background:var(--campaign-lime); color:var(--campaign-ink); border-radius:8px; font-size:15px; font-weight:800; text-decoration:none; }
.campaign-button:hover { background:var(--campaign-cyan); }
.release-note { max-width:425px; margin:18px 0 0; color:#b9c6d5; font-size:13px; line-height:1.5; }
.campaign-art { margin:0; min-width:0; position:relative; }
.campaign-art img { width:100%; height:auto; border-radius:24px 24px 80px 24px; box-shadow:0 20px 80px #0004; }
.campaign-art figcaption { margin-top:12px; font-size:11px; color:#b9c6d5; text-align:right; letter-spacing:.04em; }
.campaign-stats { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0 0 38px; gap:16px; margin-block:0; }
.campaign-stats li { border-top:1px solid #ffffff30; padding-top:20px; display:flex; align-items:baseline; gap:12px; }
.campaign-stats strong { font-size:40px; line-height:1; font-weight:850; letter-spacing:-.05em; color:var(--campaign-lime); }
.campaign-stats span { font-size:13px; color:#d1dbe5; }
.campaign-play { background:var(--campaign-cyan); color:var(--campaign-ink); padding:80px 0; }
.play-grid { display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center; max-width:1050px; }
.campaign-video { margin:0; justify-self:center; width:min(100%,290px); }
.campaign-video video { display:block; width:100%; aspect-ratio:886/1920; border:6px solid var(--campaign-ink); border-radius:30px; background:var(--campaign-ink); box-shadow:16px 20px 0 #0c1b3312; }
.campaign-video figcaption { font-size:12px; margin-top:16px; text-align:center; }
.campaign-kicker { margin:0 0 18px; font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.play-copy h2 { font-size:clamp(48px,6vw,82px); line-height:.95; letter-spacing:-.055em; text-transform:uppercase; margin:0 0 24px; font-weight:900; }
.play-copy>p:not(.campaign-kicker) { font-size:20px; max-width:390px; }
.game-promises { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.game-promises span { border:1px solid #0c1b3340; border-radius:99px; padding:7px 13px; font-size:12px; font-weight:700; }
.campaign-screens { padding:80px 0; background:var(--campaign-paper); }
.rail-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:34px; }
.game-campaign h2:not(.play-copy h2) { font-size:clamp(34px,4vw,52px); letter-spacing:-.045em; line-height:1.04; margin:0; font-weight:850; }
.rail-heading>p { font-size:13px; white-space:nowrap; }
.campaign-rail { padding-bottom:28px; gap:24px; }
.campaign-rail img { width:260px; border-radius:20px; box-shadow:0 12px 24px #0c1b3314; }
.campaign-rail a { display:block; border-radius:20px; }
.campaign-value { color:var(--campaign-ink); padding:70px 0 76px; border-top:1px solid #0c1b3325; }
.value-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:32px; }
.value-card { position:relative; padding:32px; border:1px solid #0c1b3325; border-radius:18px; background:#fff; }
.value-paid { background:var(--campaign-lime); border-color:transparent; }
.value-number { font-size:40px; font-weight:700; display:block; margin-bottom:16px; line-height:1; }
.value-card h3 { font-size:30px; letter-spacing:-.035em; margin:0 0 12px; }
.value-card p { font-size:17px; margin:0; max-width:430px; }
.value-card .value-detail { margin-top:22px; font-size:13px; font-weight:750; }
.ownership-note { font-size:13px; margin:22px 0 0; }
.campaign-about,.campaign-faq { padding:64px 0; color:var(--campaign-ink); border-top:1px solid #0c1b3325; }
.campaign-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.campaign-about-grid>p { font-size:18px; line-height:1.7; margin:0; }
.campaign-questions { margin-top:32px; max-width:850px; }
.campaign-questions details { border-bottom:1px solid #0c1b3325; }
.campaign-questions summary { padding:20px 0; cursor:pointer; font-weight:750; font-size:18px; }
.campaign-questions summary:focus-visible { outline:3px solid #1487a6; outline-offset:5px; }
.campaign-questions details p { margin:0 0 22px; max-width:740px; line-height:1.7; }
.campaign-help,.campaign-related { font-size:14px; margin:26px 0 0; line-height:1.7; }
.campaign-end { background:var(--campaign-ink); color:var(--campaign-paper); padding:70px 0; }
.campaign-end-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:64px; align-items:center; }
.campaign-end h2 { max-width:500px; margin-bottom:26px!important; }
.campaign-end .campaign-actions>a:not(.store-badge) { font-size:14px; }
.press-download { border-left:1px solid #ffffff35; padding-left:50px; display:flex; flex-direction:column; align-items:start; gap:14px; }
.press-download>span { font-size:48px; line-height:1; color:var(--campaign-lime); }
.press-download h3 { font-size:25px; margin:0; }
.press-download>a:not(.campaign-button) { font-size:13px; }
.press-download small { font-size:12px; color:#b9c6d5; }
@media(max-width:900px) {
 .campaign-hero-grid { grid-template-columns:1fr 1fr; gap:24px; padding-top:40px; }
 .campaign-copy h1 { font-size:clamp(48px,7.5vw,68px); }
 .campaign-tagline { font-size:18px; }
 .campaign-stats li { flex-direction:column; gap:8px; }
 .play-grid { gap:36px; }
}
@media(max-width:680px) {
 .campaign-hero-grid { grid-template-columns:1fr; gap:28px; padding:32px 0; }
 .game-identity img { width:50px; height:50px; border-radius:12px; }
 .game-identity { font-size:17px; }
 .campaign-copy h1 { font-size:clamp(48px,17vw,90px); margin:28px 0 18px; }
 .campaign-tagline { max-width:300px; font-size:19px; margin-bottom:22px; }
 .campaign-actions { gap:12px; }
 .campaign-button { padding-inline:15px; gap:12px; }
 .campaign-art img { border-radius:18px 18px 48px 18px; }
 .campaign-stats { grid-template-columns:1fr 1fr; padding-bottom:30px; gap:20px; }
 .campaign-stats li { flex-direction:row; align-items:baseline; gap:10px; }
 .campaign-stats strong { font-size:34px; }
 .campaign-play,.campaign-screens,.campaign-value,.campaign-end,.campaign-about,.campaign-faq { padding-block:46px; }
 .campaign-about-grid { grid-template-columns:1fr; gap:24px; }
 .play-grid { grid-template-columns:1fr; gap:30px; }
 .play-copy { grid-row:1; }
 .play-copy h2 { font-size:54px; }
 .play-copy>p:not(.campaign-kicker) { font-size:18px; margin-bottom:0; }
 .game-promises { margin-top:20px; }
 .campaign-video { width:250px; }
 .rail-heading { display:block; }
 .rail-heading>p { margin-bottom:0; }
 .campaign-rail img { width:245px; }
 .value-grid,.campaign-end-grid { grid-template-columns:1fr; gap:18px; }
 .value-card { padding:25px; }
 .value-card h3 { font-size:27px; }
 .campaign-end-grid { gap:40px; }
 .press-download { border-left:0; border-top:1px solid #ffffff35; padding:30px 0 0; }
}
@media(prefers-reduced-motion:reduce) { .game-campaign { scroll-behavior:auto; } }

/* Room for Wonder follows the released game's warm paper, teal and serif type. */
.game-campaign.app-roomforwonder { --campaign-ink:#173f3c; --campaign-lime:#f0ba70; --campaign-paper:#fbf3e1; --campaign-cyan:#dce7df; }
.app-roomforwonder .campaign-copy h1,.app-roomforwonder .play-copy h2 { font-family:Georgia,serif; text-transform:none; font-weight:400; letter-spacing:-.045em; line-height:1.02; }
.app-roomforwonder .campaign-copy h1 { font-size:clamp(52px,6.3vw,90px); }
.app-roomforwonder .campaign-art img { border-radius:24px; }
