/* Multi-page layouts. Navigation/footer styling remains in glacier.css. */
.glacier-site { display:flex; flex-direction:column; min-height:100svh; }
.glacier-site > .nav, .glacier-site > .footer { flex-shrink:0; }
.glacier-site > main { flex:1; min-width:0; }
.nav .brand-mark { display:block; flex:none; width:70px; height:auto; aspect-ratio:564 / 425; object-fit:contain; mix-blend-mode:multiply; }
@media (max-width:900px) { .nav .brand-mark { width:62px; } }
@media (max-width:600px) { .nav .brand-mark { width:52px; } }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.page-intro { padding:38px 0 40px; background:linear-gradient(110deg,#fbfdff,#f2f7ff); }
.page-intro-row { display:flex; align-items:end; justify-content:space-between; gap:40px; }
.page-intro h1, .companion-copy h1, .contact-welcome h1 { font:900 clamp(38px,4.8vw,72px)/1.3 var(--display); letter-spacing:-.045em; color:#12284f; transform:skew(-5deg); transform-origin:left bottom; }
.page-menu .page-intro-row, .page-reviews .page-intro-row { display:block; }
.page-menu .page-intro-row > p, .page-reviews .page-intro-row > p { margin-top:15px; font-size:16px; }
.page-menu .page-intro-row > p br, .page-reviews .page-intro-row > p br { display:none; }
.page-menu .page-intro { background:linear-gradient(140deg,#f9fcff 55%,#e3effe); }
.page-intro-row > p { color:#637996; font-size:14px; line-height:1.9; padding-bottom:5px; }
.text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:#3b64a2; font-size:14px; font-weight:600; }
.text-link:hover { color:var(--blue); }
.text-link svg { width:18px; height:18px; }
.minor-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:22px; }
.minor-heading h2 { font:900 27px/1.4 var(--display); letter-spacing:-.025em; }
.minor-heading > span { color:#70829a; font-size:13px; }

/* Homepage follows the short 2 + 4 rhythm of the selected reference. */
.home-screens { --home-nav-height:82px; scroll-padding-top:var(--home-nav-height); }
.page-home .hero { display:grid; grid-template-rows:minmax(min-content,1fr); min-height:calc(100vh - var(--home-nav-height)); min-height:calc(100svh - var(--home-nav-height)); padding-bottom:24px; }
.page-home .hero-inner { align-self:center; }
@media (min-width:601px) { .page-home .mascot-stage { transform:translateY(clamp(0px, calc(50svh - 384px), 160px)); } }
/* Expand the whole composition only when desktop width and height allow it.
   Its aspect ratio and proportional stage insets keep the ice and duo intact. */
@media (min-width:1600px) {
  .page-home .hero-inner { width:calc(100% - 160px); max-width:clamp(1360px, calc(200svh - 240px), 1600px); min-height:580px; aspect-ratio:1360 / 580; container-type:inline-size; }
  .page-home .hero-left { align-self:start; padding-top:40px; }
  .page-home .hero-title { font-size:6.617647cqw; }
  .page-home .hero-tagline { font-size:1.838235cqw; }
  .page-home .hero-scribble { font-size:1.323529cqw; top:8.970588cqw; }
  .page-home .mascot-stage { inset:-1.37931% -10.21242% 0 -9.53159%; transform:translateY(clamp(0px, calc(50svh - 500px), 64px)); }
  .page-home .stage-background { right:-2.27428%; }
  .page-home .stage-label { font-size:1.911765cqw; }
}
.poster-menu.poster-menu--home { padding:48px 0; scroll-margin-top:0; }
.poster-menu--home:focus { outline:none; }
.poster-menu--home:focus-visible .poster-menu-heading h2 { outline:2px solid var(--blue); outline-offset:6px; border-radius:2px; }
.poster-menu .poster-menu-heading { margin-bottom:20px; }
.poster-menu .poster-menu-heading-note { display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:0; min-height:44px; white-space:nowrap; color:#617da4; }
.poster-menu .poster-menu-heading-note svg { width:16px; height:16px; }
.poster-menu .poster-menu-card--feature { min-height:clamp(170px,12.4vw,180px); padding:23px 30px; border-radius:9px; }
.poster-menu .poster-menu-card--feature .poster-menu-name { font-size:clamp(29px,2.85vw,42px); transform:skew(-4deg); transform-origin:left; }
.poster-menu .poster-feature-eyebrow { margin-bottom:8px; font-size:10px; }
.poster-menu .poster-menu-card--feature .poster-menu-summary { margin-top:7px; font-size:15px; }
.poster-menu .poster-menu-card--feature .poster-menu-arrow { bottom:26px; }
.poster-menu .poster-menu-card--compact { min-height:100px; padding:19px 17px; }
.poster-menu .poster-menu-card--compact .poster-menu-name { font-family:var(--display); font-size:20px; font-weight:900; }
.poster-menu #menu-link-sweet-day .poster-menu-symbol { background:#fff0f3; color:#e97888; }
.poster-menu #menu-link-other-games .poster-menu-symbol { background:#f0edff; color:#8075d7; }
.poster-menu.poster-menu--full { padding:8px 0 48px; background:#f4f7fa; }
.page-menu .page-intro { padding-bottom:32px; }
.poster-menu--full .poster-menu-grid { gap:20px; }
.poster-menu--full .poster-menu-card--feature { min-height:195px; }
.poster-menu--full .poster-menu-card--compact { min-height:108px; }
.poster-menu--full .poster-menu-card--secondary { min-height:102px; background:#fafdff; gap:18px; }
.poster-menu--full .poster-menu-card--secondary .poster-menu-name { font:900 20px/1.5 var(--display); color:#284468; }
.poster-menu--full .poster-menu-card--secondary .poster-menu-symbol, .poster-menu--full .poster-menu-card--secondary .poster-menu-glyph { width:34px; height:34px; color:#6488bc; }
.poster-menu--full .poster-menu-benefits { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; padding-top:0; border:0; }
.poster-menu--full .poster-menu-promise { display:none; }
.poster-menu--full .poster-menu-benefit { min-height:96px; padding:24px 30px; gap:18px; border:1px solid #d5e3f7; border-radius:12px; background:linear-gradient(135deg,#eaf3ff,#f9fcff); font:900 22px/1.4 var(--display); color:#28466e; }
.poster-menu--full .poster-menu-benefit-icon { width:36px; height:36px; }
.poster-menu--full .poster-menu-benefit > svg:last-child { margin-left:auto; }

/* A single activity stage, plus a quieter recruitment strip. */
.page-activities-content { border:0; padding:0 0 26px; background:#f4f7fa; }
.page-activities-content .campaign { min-height:430px; }
.page-activities-content .campaign-copy { padding:40px 48px; }
.page-activities-content .campaign h3 { font-size:52px; transform:skew(-4deg); transform-origin:left; }
.page-activities-content .campaign-duo { width:49%; padding:26px 25px 23px 0; background:url('../images/glacier/stage-800.webp') center / 100% 100% no-repeat; }
.page-activities-content .campaign-orbit { display:none; }
.page-activities-content .campaign-duo > img { height:350px; width:45%; transform:none; }
.page-activities-content .campaign-lead { font-size:19px; max-width:600px; }
.page-activities-content .campaign-copy > p:not(.campaign-date):not(.campaign-lead) { color:#55708f; font-size:14px; }
.campaign-action { margin-top:20px; }
.campaign-action .button { min-height:47px; font-size:14px; padding:9px 22px; }
.page-activities-content .carousel-controls { margin-top:12px; }
.recruit-strip { display:flex; align-items:center; justify-content:space-between; gap:32px; min-height:145px; margin-top:6px; margin-bottom:48px; padding:26px 30px; background:linear-gradient(125deg,#fff4e9 35%,#ffead9 35%,#fff3e9 53%,#ffe8d7 53%,#fff1e7 82%); border:1px solid #f3ddcd; border-radius:12px; }
.strip-label { font-size:11px; color:#b37952; letter-spacing:.12em; }
.recruit-strip h2 { font:900 32px/1.5 var(--display); transform:skew(-4deg); transform-origin:left; }
.recruit-strip p { font-size:16px; color:#475c77; }
.recruit-strip p span { font-size:12px; color:#8d786a; }
.recruit-strip .button { min-height:48px; font-size:14px; background:#fffaf5; padding:10px 22px; white-space:nowrap; }

/* Companion page: brand illustration and one honest empty state. */
.companion-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:32px; padding-top:32px; min-height:505px; }
.companion-copy { padding:4px 0 34px; }
.companion-copy h1 { font-size:clamp(34px,4.6vw,66px); line-height:1.35; }
.companion-lead { margin-top:20px; color:#55718f; font-size:16px; }
.companion-actions { display:flex; align-items:center; gap:27px; margin-top:28px; }
.companion-actions .button { min-height:52px; padding:11px 23px; font-size:15px; }
.companion-footnote { margin-top:23px; color:#8293a9; font-size:12px; }
.companion-scene { position:relative; height:470px; isolation:isolate; align-self:end; }
.companion-scene-bg { position:absolute; width:100%; height:100%; object-fit:fill; mix-blend-mode:multiply; mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); z-index:-1; }
.companion-character { position:absolute; height:88%; width:auto; object-fit:contain; bottom:5%; }
.companion-character--male { left:9%; }
.companion-character--female { right:4%; height:87%; bottom:4%; }
.scene-caption { position:absolute; right:6%; top:10%; color:#5680b8; font:700 10px/1.5 Arial,sans-serif; letter-spacing:.13em; }
.people-gallery { padding-top:34px; padding-bottom:12px; }
.companion-empty.player-card { display:flex; flex-direction:row; justify-content:flex-start; width:100%; min-height:136px; height:auto; gap:22px; padding:27px 34px; border-radius:12px; background:#edf3fb; }
.companion-empty h3 { color:#314e75; font-size:18px; font-weight:700; }
.companion-empty p { color:#798da7; font-size:13px; margin-top:5px; }
.companion-empty .text-link { margin-left:auto; flex:none; }
.page-players .streamers-section { padding-top:44px; padding-bottom:56px; }
.page-players .section-title h2 { font-size:29px; }
.page-players .section-title > p { font-size:9px; }
.page-players .streamer-pill { min-height:43px; min-width:110px; border-radius:22px; font-size:14px; padding:9px 23px; background:#eaf3ff; border-color:#deebfd; color:#3b6bb7; }
.page-players .streamer-pill.hot, .page-players .streamer-pill.mhot { background:#fff1e7; border-color:#f6e4d6; color:#b3754d; }

/* Reviews keep the gallery honest while giving the empty page a clear shape. */
.feedback-section { padding-bottom:48px; }
.feedback-empty.review-card { display:grid; grid-template-columns:1fr 1fr; width:100%; min-height:430px; height:auto; gap:30px; padding:35px 46px; text-align:left; overflow:hidden; background:linear-gradient(120deg,#edf4ff,#f9fcff); border:1px solid #cfdef4; border-radius:16px; }
.empty-status { display:inline-flex; color:#6a85a9; font-size:12px; margin-bottom:17px; }
.feedback-copy h2 { font:900 40px/1.45 var(--display); color:#172f54; transform:skew(-4deg); transform-origin:left; }
.feedback-copy { position:relative; z-index:2; }
.feedback-copy p { margin-top:14px; color:#7185a0; line-height:1.9; font-size:14px; }
.feedback-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:25px; }
.feedback-copy .button { min-height:48px; font-size:14px; padding:10px 22px; }
.feedback-art { position:relative; height:350px; width:100%; isolation:isolate; }
.feedback-art::before { content:''; position:absolute; inset:-15px -45px -35px -35px; z-index:-1; background:url('../images/glacier/stage-800.webp') center / 100% 100% no-repeat; mask-image:radial-gradient(ellipse at 50% 60%,#000 48%,transparent 77%); mix-blend-mode:multiply; opacity:.8; }
.glass-photo { position:absolute; display:grid; place-items:center; width:200px; height:255px; border:2px solid #f8fcff; outline:1px solid #aac8ef; border-radius:9px; background:linear-gradient(140deg,#ffffff9c,#bdd8fb4d); box-shadow:inset 0 0 0 7px #ffffff52,0 5px 7px #5c84b826,0 15px 26px #7ea1d321; }
.glass-photo--back { top:15px; left:10%; transform:rotate(-6deg); }
.glass-photo--middle { top:32px; left:50%; transform:rotate(14deg); }
.glass-photo--front { top:87px; left:29%; height:235px; transform:rotate(6deg); background:linear-gradient(150deg,#eff8ffbf,#aed0ff70); }
.glass-photo--front svg { width:72px; height:72px; color:#a5c2e9; opacity:.75; }
.glass-dot { position:absolute; bottom:12px; left:15%; width:35px; height:35px; background:#ffdab9; border-radius:50%; border:7px solid #fff1e6; }
.feedback-benefits { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:20px 0 0; }
.feedback-benefits > p { margin-right:auto; color:#8396ae; font-size:12px; }
.feedback-benefits .poster-menu-benefit { display:flex; gap:22px; align-items:center; min-height:112px; padding:24px 30px; border:1px solid #dce7f7; border-radius:12px; background:#f9fcff; color:#203d64; font:900 25px/1.4 var(--display); }
.feedback-benefits .poster-menu-benefit-icon { width:42px; height:42px; color:#4774ba; }
.feedback-benefits .poster-menu-benefit > svg:last-child { width:20px; height:20px; margin-left:auto; }

/* Contact: clear customer-service action, real channel icons and honest statuses. */
.contact-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:50px; padding-top:38px; padding-bottom:50px; }
.contact-welcome h1 { line-height:1.3; font-size:clamp(40px,5.3vw,78px); }
.contact-intro { margin-top:17px; color:#66809f; font-size:15px; }
.contact-scene { position:relative; height:380px; margin-top:0; isolation:isolate; }
.contact-scene::before { content:''; position:absolute; inset:0; z-index:-1; background:url('../images/glacier/stage-800.webp') center / 100% 100% no-repeat; mask-image:radial-gradient(ellipse at 50% 60%,#000 50%,transparent 80%); mix-blend-mode:multiply; }
.contact-scene > img { position:absolute; left:43%; bottom:18px; height:360px; width:auto; object-fit:contain; }
.contact-orbit { display:none; }
.contact-signature { position:absolute; left:8%; top:75px; max-width:125px; color:#8fabce; font:italic 16px/1.8 'Segoe Print',cursive; transform:rotate(-10deg); }
.contact-panel { align-self:center; padding:28px 0 10px; }
.contact-panel-heading { margin-bottom:25px; }
.contact-panel-heading > span { color:#8195b0; font-size:12px; }
.contact-panel-heading h2 { margin-top:6px; font:900 29px/1.45 var(--display); }
.contact-panel .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-panel .contact-card { padding:22px; min-height:152px; align-items:start; }
.contact-panel .contact-card-primary { order:-1; grid-column:span 2; min-height:300px; padding:32px; background:#fbfdff; border-color:#cadcf8; }
.contact-panel .contact-card-primary { align-items:stretch; flex-direction:column; justify-content:center; gap:24px; }
.contact-panel .contact-card-primary .contact-card-name { font:900 33px/1.45 var(--display); }
.contact-panel .contact-card-primary .contact-card-icon img { width:42px; height:42px; }
.contact-panel .contact-card-primary .contact-support-cta { display:flex; align-items:center; justify-content:center; min-height:56px; font-size:17px; }
.contact-panel .contact-card:not(.contact-card-primary) { flex-direction:column; justify-content:flex-start; gap:16px; }
.contact-panel .contact-card:not(.contact-card-primary) .contact-card-name { font-size:17px; }
.contact-panel .contact-card-qr-placeholder { width:110px; height:60px; border:1px dashed #d4e0ef; background:#f6f9fd; padding:8px; color:#8b9bb0; font-size:11px; }
.contact-panel .contact-card:not(.contact-card-primary) .contact-card-desc { font-size:16px; color:#526f91; }
.contact-panel .contact-card-desc strong { display:block; font:900 30px/1.4 var(--display); color:#243e63; }
.contact-panel .contact-card-cta { font-size:11px; }
.contact-panel .contact-card-cta-arrow { width:25px; height:25px; }
.contact-note { color:#8193ac; font-size:12px; margin-top:18px; }
.poster-detail-page .poster-detail-header { position:static; background:#f4f7fa; border-bottom:0; }
.poster-detail-page .poster-detail-header-inner { min-height:92px; padding-block:23px; }
.poster-detail-page .poster-detail-main { margin-top:12px; min-height:calc(100vh - 440px); }
.poster-detail-page .poster-detail-header h1 { font-size:22px; }

@media (max-width:1100px) {
  .page-intro-row { gap:24px; }
  .page-intro-row > p { font-size:13px; }
  .poster-menu .poster-menu-card--feature { padding:22px; }
  .poster-menu .poster-menu-card--compact .poster-menu-name { font-size:17px; }
  .page-activities-content .campaign h3 { font-size:37px; }
  .page-activities-content .campaign-copy { padding:32px; }
  .page-activities-content .campaign-lead { font-size:17px; }
  .page-activities-content .campaign-duo > img { height:270px; }
  .companion-scene { height:345px; }
  .companion-hero { min-height:415px; }
  .companion-copy h1 { font-size:38px; }
  .companion-lead { font-size:14px; }
  .feedback-empty.review-card { padding:36px; }
  .glass-photo { width:160px; height:210px; }
  .glass-photo--back { left:6%; top:32px; }
  .glass-photo--middle { left:48%; top:40px; }
  .glass-photo--front { left:24%; top:90px; }
  .contact-layout { gap:35px; }
  .contact-signature { left:5%; font-size:13px; }
  .contact-scene > img { left:35%; height:320px; }
  .contact-panel .contact-card { padding:20px; }
  .contact-panel .contact-card-name { font-size:15px; }
}
@media (max-width:768px) {
  .page-intro { padding:27px 0 28px; }
  .page-intro-row { display:block; }
  .page-intro h1 { font-size:34px; }
  .page-menu .page-intro-row > p, .page-reviews .page-intro-row > p { font-size:13px; }
  .page-intro-row > p { margin-top:14px; font-size:13px; }
  .page-intro-row > p br { display:none; }
  .poster-menu.poster-menu--home { padding:32px 0; }
  .poster-menu .poster-menu-heading-note { display:inline-flex; margin-left:15px; min-height:30px; font-size:11px; }
  .poster-menu .poster-menu-heading p { flex-basis:auto; flex:1; }
  .poster-menu.poster-menu--home .poster-menu-heading p { flex:0 0 100%; order:3; width:100%; margin-top:0; padding-left:15px; line-height:1.6; }
  .poster-menu.poster-menu--home .poster-menu-heading-note { margin-left:auto; }
  .poster-menu .poster-menu-card--feature { min-height:174px; padding:23px; }
  .poster-menu .poster-menu-card--feature .poster-menu-name { font-size:30px; }
  .poster-menu .poster-menu-card--feature .poster-menu-summary { font-size:12px; }
  .poster-menu .poster-menu-card--compact { min-height:134px; padding:16px; }
  .poster-menu .poster-menu-card--compact .poster-menu-name { font-size:18px; }
  .poster-menu.poster-menu--full { padding-top:0; padding-bottom:32px; }
  .poster-menu--full .poster-menu-grid { gap:12px; }
  .poster-menu--full .poster-menu-card--secondary { min-height:74px; }
  .poster-menu--full .poster-menu-card--secondary .poster-menu-name { font-size:17px; }
  .poster-menu--full .poster-menu-card--secondary .poster-menu-symbol, .poster-menu--full .poster-menu-card--secondary .poster-menu-glyph { width:27px; height:27px; }
  .poster-menu--full .poster-menu-benefits { grid-template-columns:1fr; gap:12px; }
  .poster-menu--full .poster-menu-benefit { min-height:77px; padding:18px 22px; font-size:19px; }
  .poster-menu--full .poster-menu-benefit-icon { width:30px; height:30px; }
  .page-activities-content .campaign { min-height:480px; }
  .page-activities-content .campaign-copy { padding:26px; width:100%; }
  .page-activities-content .campaign h3 { font-size:34px; }
  .page-activities-content .campaign-lead { font-size:15px; max-width:90%; }
  .page-activities-content .campaign-duo { top:auto; bottom:0; right:0; width:68%; height:180px; padding:5px 0 10px; }
  .page-activities-content .campaign-duo > img { height:100%; width:50%; }
  .recruit-strip { align-items:start; flex-wrap:wrap; gap:15px; padding:22px; margin-bottom:32px; }
  .recruit-strip h2 { font-size:23px; }
  .recruit-strip p { width:100%; font-size:15px; }
  .recruit-strip .button { flex:none; }
  .companion-hero { grid-template-columns:1fr; gap:0; padding-top:26px; }
  .companion-copy { padding-bottom:0; }
  .companion-copy h1 { font-size:35px; }
  .companion-actions { gap:24px; margin-top:23px; }
  .companion-actions .button { flex:none; font-size:14px; }
  .companion-footnote { font-size:11px; margin-top:16px; }
  .companion-scene { height:300px; margin-top:17px; }
  .minor-heading { display:block; margin-bottom:17px; }
  .minor-heading h2 { font-size:25px; }
  .minor-heading > span { display:block; margin-top:5px; font-size:12px; }
  .people-gallery { padding-top:24px; }
  .companion-empty.player-card { gap:15px; padding:22px; flex-wrap:wrap; }
  .companion-empty h3 { font-size:16px; }
  .companion-empty p { font-size:12px; }
  .companion-empty .text-link { margin-left:53px; min-height:30px; font-size:12px; }
  .companion-empty > svg { width:32px; height:32px; }
  .companion-empty > div { flex:1; min-width:160px; }
  .page-players .streamers-section { padding-top:26px; padding-bottom:36px; }
  .page-players .streamer-pill { font-size:12px; padding:7px 13px; min-height:35px; min-width:72px; }
  .feedback-empty.review-card { grid-template-columns:1fr; padding:28px; gap:10px; }
  .feedback-copy h2 { font-size:26px; }
  .feedback-actions { gap:10px; }
  .feedback-actions .button { font-size:13px; padding-inline:15px; }
  .feedback-copy p { font-size:13px; }
  .feedback-art { height:215px; max-width:330px; margin-inline:auto; }
  .glass-photo { width:160px; height:165px; }
  .glass-photo--back { left:12%; top:12px; }
  .glass-photo--middle { left:45%; top:20px; }
  .glass-photo--front { left:32%; top:29px; }
  .glass-photo--front svg { width:52px; height:52px; }
  .feedback-benefits { gap:12px; padding-top:20px; }
  .feedback-benefits > p { flex-basis:100%; }
  .feedback-benefits .poster-menu-benefit { font-size:16px; gap:10px; padding:15px 13px; min-height:82px; flex-wrap:wrap; }
  .feedback-benefits .poster-menu-benefit-icon { width:26px; height:26px; }
  .feedback-benefits .poster-menu-benefit > svg:last-child { display:none; }
  .feedback-section { padding-bottom:30px; }
  .contact-layout { grid-template-columns:1fr; gap:8px; padding-top:26px; padding-bottom:34px; }
  .contact-welcome { position:relative; min-height:265px; }
  .contact-welcome h1 { font-size:37px; position:relative; z-index:1; }
  .contact-intro { max-width:68%; font-size:13px; position:relative; z-index:1; }
  .contact-scene { position:absolute; right:0; bottom:-14px; width:150px; height:195px; margin:0; }
  .contact-scene > img { left:6px; top:0; bottom:auto; height:185px; }
  .contact-orbit { left:-6px; bottom:4px; width:150px; height:130px; border-width:22px; }
  .contact-signature { display:none; }
  .contact-panel { padding-top:12px; }
  .contact-panel-heading { margin-bottom:19px; }
  .contact-panel-heading h2 { font-size:26px; }
  .contact-panel .contact-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .contact-panel .contact-card { padding:19px; }
  .contact-panel .contact-card-primary { min-height:228px; gap:18px; }
  .contact-panel .contact-card-primary .contact-support-cta { min-height:47px; font-size:15px; }
  .contact-panel .contact-card-primary .contact-card-name { font-size:23px; }
  .contact-panel .contact-card:not(.contact-card-primary) .contact-card-name { font-size:15px; }
  .contact-panel .contact-card-desc { font-size:11px; }
  .contact-panel .contact-card:not(.contact-card-primary) .contact-card-desc { font-size:13px; }
  .contact-panel .contact-card-qr-placeholder { width:100%; max-width:110px; }
  .contact-note { font-size:11px; }
  .poster-detail-page .poster-detail-header-inner { min-height:84px; flex-wrap:wrap; gap:13px; padding-block:17px; }
  .poster-detail-page .poster-detail-header h1 { font-size:17px; }
}
@media (max-width:359px) {
  .page-intro h1 { font-size:29px; }
  .poster-menu .poster-menu-card--feature { padding:20px; min-height:160px; }
  .poster-menu .poster-menu-card--feature .poster-menu-name { font-size:26px; }
  .poster-menu .poster-menu-card--compact .poster-menu-name { font-size:16px; }
  .page-activities-content .campaign-copy { padding:22px; }
  .page-activities-content .campaign h3 { font-size:29px; }
  .companion-copy h1 { font-size:30px; }
  .companion-scene { height:255px; }
  .companion-actions { gap:15px; }
  .companion-actions .text-link { font-size:12px; }
  .contact-welcome h1 { font-size:32px; }
  .contact-panel .contact-card { padding:16px; }
  .contact-panel .contact-support-cta { font-size:12px; }
  .feedback-empty.review-card { padding:23px; }
}
@media (max-width:900px) { .home-screens { --home-nav-height:73px; } }
@media (max-width:600px) { .home-screens { --home-nav-height:69px; } }
