.site-shell.entry-shell { display: block; max-width: none; background: #f7f0e5; }
.entry-shell > .desktop-story { display: none; }
.entry-shell .mobile-prototype.is-age { max-width: 480px; margin: 0 auto; background: #f7f0e5; height: auto; min-height: 100dvh; overflow: visible; }
.entry-age, .entry-loading { box-sizing: border-box; color: #243129; background: #f7f0e5; min-height: 100dvh; margin: 0 auto; width: 100%; max-width: 480px; text-align: center; }
.entry-age { padding: 14px 20px 16px; }
.entry-age h1 { margin: 0 auto; max-width: 410px; font: 600 30px/1.08 "Playfair Display", Georgia, serif; letter-spacing: -.6px; }
.entry-age > p { margin: 12px 0 18px; font: 400 13px/1.45 "DM Sans", sans-serif; }
.entry-age-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 12px; }
.entry-age-grid button { min-width: 0; padding: 0; border: 0; border-radius: 13px; overflow: hidden; background: #fff; cursor: pointer; transition: transform 130ms ease; }
.entry-age-grid button:active { transform: scale(.98); }
.entry-age-grid button.is-selected { outline: 3px solid #c96c52; outline-offset: 2px; }
.entry-age-grid button:focus-visible { outline: 3px solid #c96c52; outline-offset: 3px; }
.entry-age-grid img { display: block; width: 100%; height: clamp(116px, calc((100svh - 345px) / 2), 190px); object-fit: cover; object-position: center top; }
.entry-age-grid button > span { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 18px; color: #fff; background: #25262a; }
.entry-age-grid strong { font: 400 19px/1.2 "DM Sans", sans-serif; }
.entry-age-grid svg { color: #dddcd5; flex-shrink: 0; }
.entry-age > small { display: block; margin: 14px auto 0; color: #777571; font: 400 9px/1.5 "DM Sans", sans-serif; }
.entry-age > small a { color: inherit; text-underline-offset: 2px; }
.entry-loading { padding: 22px 22px 28px; font-family: "DM Sans", sans-serif; }
.entry-brand { display: flex; align-items: center; justify-content: center; min-height: 36px; margin-bottom: 14px; }
.entry-brand .brand { display: flex; align-items: center; gap: 8px; color: #243129; font: 700 22px/1.2 "Playfair Display", Georgia, serif; letter-spacing: .12em; text-transform: uppercase; }
.entry-brand .brand img { width: 30px; height: 30px; object-fit: contain; }
.entry-age h1 em { color: #c96c52; font-weight: 600; }
.entry-mascot-stage { display: flex; align-items: center; justify-content: center; margin: 12px auto 0; height: clamp(190px, 38svh, 290px); }
.entry-mascot { display: block; width: min(100%, 285px); height: 100%; object-fit: contain; animation: entry-moe-float 2.8s ease-in-out infinite; }
@keyframes entry-moe-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.entry-intro { margin: 12px 0 0; color: #6f766e; font-size: 13px; line-height: 1.45; }
.entry-loading h1 { margin: 22px -4px 0; font: 600 32px/1.12 "Playfair Display", Georgia, serif; letter-spacing: -.4px; }
.entry-loading h1 em { color: #c96c52; }
.entry-loading-label { margin: 32px 0 12px; font-size: 13px; }
.entry-progress { display: block; width: 100%; height: 6px; border: 0; border-radius: 4px; overflow: hidden; accent-color: #c96c52; background: #fff; }
.entry-progress > span { display: block; width: 38%; height: 100%; background: #c96c52; border-radius: inherit; animation: entry-preparing 1.2s ease-in-out infinite alternate; }
@keyframes entry-preparing { from { transform: translateX(0); } to { transform: translateX(165%); } }
.entry-caption { margin: 20px 0 0; color: #777571; font-size: 10px; line-height: 1.4; }
@media (min-width: 600px) { .entry-age { padding-top: 30px; } .entry-loading { padding-top: 25px; } }
@media (max-width: 360px) { .entry-age h1 { font-size: 27px; } .entry-age > p { font-size: 13px; margin: 15px 0 18px; } .entry-age-grid { gap: 16px; } .entry-age-grid button > span { padding-inline: 14px; } }
@media (prefers-reduced-motion: reduce) { .entry-age-grid button { transition: none; } .entry-progress > span, .entry-mascot { animation: none; } }

/* Refine the existing trust screen without replacing its layout. */
.proof-refined .app-proof-heading h1 em { color: var(--coral); font-weight: 600; }
.proof-refined .app-proof-portraits img { object-position: center top; background: #fff; }
