/* Quiet reading surfaces, with small, intentional interaction feedback. */
.product-showcase{margin-block:24px;padding:28px;background:#f7fbff;border:1px solid #ffffffd9;border-radius:20px;color:#123c78}
.product-showcase .section-head{margin-bottom:22px;align-items:center}
.product-showcase h2{font-size:24px;line-height:1.35}
.product-showcase .product-subtitle{font-size:13px;color:#4f7096;margin-top:8px}
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.product-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.product-tabs button{border:1px solid #c5def4;border-radius:99px;padding:10px 16px;color:#245487;background:#fff;font:inherit;font-size:14px;transition:background .2s,color .2s,box-shadow .2s}
.product-tabs button[aria-selected=true]{color:#fff;background:#174d8c;border-color:#174d8c;box-shadow:0 3px 9px #174d8c15}
.product-tabs button:is(:hover,:focus-visible){border-color:#1687ef}
.product-panel{min-height:120px}
.product-panel h3{font-size:22px;line-height:1.5;margin-bottom:10px}
.product-panel p{max-width:44ch;font-size:15px;line-height:1.9;color:#4f7096}
.product-coming{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:230px;padding:28px;text-align:center;border:1px solid #cce0f2;border-radius:16px;background:#eaf5ff}
.product-coming img{width:64px;height:64px;border-radius:14px;margin-bottom:18px}
.product-coming strong{font-size:20px;font-weight:650;line-height:1.5}
.product-coming span{font-size:14px;line-height:1.8;color:#4f7096;margin-top:6px}
.scene-scroll-hint{display:none;font-size:12px;color:#436894;margin:10px 0 0;text-align:right;align-items:center;justify-content:flex-end;gap:7px}
.scene-scroll-hint svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.scene-scroll-hint[data-scrollable=true]{display:flex}
.mobile-motion-control{display:none}
.back-to-top{display:flex;align-items:center;justify-content:flex-end;width:92%;max-width:1413px;margin:0 auto;padding:16px 0 0;font-size:13px;color:#245487;gap:8px}
.back-to-top a{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;transition:background .2s}
.back-to-top a:is(:hover,:focus-visible){background:#e1effa}
.scene-picture img{transform:scale(1);transition:transform .4s ease}
.scene-card:is(:hover,:focus-visible) .scene-picture img{transform:scale(1.035)}
.scene-card:is(:hover,:focus-visible){translate:0 -3px}
.news-card>img{transform:none;transition:transform .4s ease}
.news-card:is(:hover,:focus-visible)>img{transform:scale(1.025)}
.orb.has-original-icon{transform:none}
.hero-character:before{content:"";position:absolute;left:20%;top:79.6%;width:44%;height:5.5%;border-radius:50%;background:radial-gradient(ellipse,#24406430,transparent 68%);filter:blur(3px);z-index:2;pointer-events:none}
.hero-character .bear-sprite{clip-path:none}
:is(.navy-button,.text-link,.scene-controls button,.product-tabs button,.menu-toggle,.motion-switch):active{scale:.98}
:is(.product-tabs button,.product-panel,.back-to-top a,.motion-switch):focus-visible{outline:3px solid #1687ef;outline-offset:4px}
.company-home-copy .company-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.company-links>.text-link{font-size:14px;color:#245487;padding:10px}
@media(max-width:700px){
 .product-showcase{padding:22px 18px;margin-block:18px;border-radius:16px}
 .product-layout{grid-template-columns:1fr;gap:20px}
 .product-showcase h2{font-size:22px}
 .product-tabs{gap:6px;margin-bottom:16px}
 .product-tabs button{padding:10px 12px;font-size:13px}
 .product-panel{min-height:145px}
 .product-panel h3{font-size:20px}
 .product-panel p{font-size:14px}
 .product-coming{min-height:195px;padding:22px}
 .product-coming strong{font-size:18px}
 .mobile-motion-control{display:flex;grid-column:1/-1;justify-content:center;border-top:1px solid #d4e7f8;padding-top:10px;margin-top:4px}
 #header .mobile-motion-control .motion-switch{position:static;min-width:150px;min-height:44px;height:auto;justify-content:center;box-shadow:none;font-size:13px;padding:11px 16px;color:#225ba1;background:#e7f3ff;border-color:#c5def4}
 .back-to-top{width:calc(100% - 28px);font-size:12px;padding-top:8px}
}
@media(prefers-reduced-motion:reduce){
 .scene-picture img,.news-card>img,.product-tabs button,.back-to-top a{transition:none}
 .scene-card:is(:hover,:focus-visible),.scene-card:is(:hover,:focus-visible) .scene-picture img,.news-card:is(:hover,:focus-visible)>img{transform:none;translate:none}
 :is(.navy-button,.text-link,.scene-controls button,.product-tabs button,.menu-toggle,.motion-switch):active{scale:1}
}

/* Keep the existing blue palette while making small utility text readable. */
.tiny-label,.footer-center>p,#copy-email{color:#3e6589}

/* Preserve the artwork scale and keep both headline and greeting above the mascot. */
@media(max-width:700px){
 .hero{height:calc(408px + 55vw)}
 .hero .greeting.brush{left:14px;top:405px;bottom:auto}
}
@media(max-width:360px){
 .hero .greeting.brush{top:385px}
}
/* Text can wrap at the tablet breakpoint; the next section must follow the cards. */
@media(min-width:701px) and (max-width:850px){
 .choices-section{height:auto}
 .choice-grid{height:auto}
 .choice-grid article{min-height:calc(78 * var(--u));padding-block:10px}
}
/* Leave room to scroll footer links clear of the floating motion control. */
@media(min-width:701px){
 footer{padding-bottom:max(70px,calc(22 * var(--u)))}
}
/* Keep the close button anchored to the dialog while only its content scrolls. */
.scene-dialog{overflow:hidden}
.dialog-scroll{max-height:calc(100dvh - 34px);overflow-y:auto;overscroll-behavior:contain}
.scene-dialog .dialog-close{position:absolute;top:13px;right:13px}
@media(max-width:700px){
 .dialog-scroll{max-height:calc(100dvh - 22px)}
}

/* Official ICP filing link shown with the copyright on every formal page. */
.footer-filing{display:inline-block;color:inherit;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
.footer-filing:hover{color:#075ebd}
.footer-filing:focus-visible{outline:2px solid #075ebd;outline-offset:3px;border-radius:2px}
@media(max-width:700px){
 .footer-filing-separator{display:none}
 .footer-filing{display:block;margin-top:5px}
}
