.skip-link:focus { z-index: 10000; }
.main-nav { flex: 1 1 auto; }
.main-nav .menu { display:flex; align-items:center; justify-content:center; gap:clamp(14px,2vw,28px); list-style:none; padding:0; margin:0; }
.main-nav .menu li { margin:0; padding:0; }
.main-nav .menu a { display:block; }
.main-nav .current-menu-item > a,.main-nav .current_page_item > a { color:var(--navy); }
.brand-copy strong { max-width:190px; }
.brand-mark { flex:0 0 47px; }
.hero-float-card { position:absolute; z-index:3; display:flex; align-items:center; gap:10px; padding:12px 15px; border:1px solid rgba(229,235,242,.85); border-radius:15px; background:rgba(255,255,255,.93); box-shadow:var(--shadow-md); }
.hero-float-card strong,.hero-float-card small { display:block; }
.hero-float-card strong { color:var(--navy); font-size:14px; }
.hero-float-card small { margin-top:4px; color:var(--muted); font-size:14px; }
.float-learning { top:68px; left:0; }
.float-progress { right:0; bottom:53px; }
.float-icon { display:grid; width:32px; height:32px; place-items:center; border-radius:10px; color:#af4c00; background:var(--orange-pale); }
.progress-ring { display:grid; width:32px; height:32px; place-items:center; border:3px solid #b8edf2; border-right-color:var(--cyan-strong); border-radius:50%; color:#047a87; font-weight:900; }
.avatar-stack { display:flex; padding-left:3px; }
.avatar-stack span { display:grid; width:28px; height:28px; margin-left:-3px; place-items:center; border:2px solid white; border-radius:50%; color:var(--navy); background:var(--cyan-pale); font-size:14px; }
.avatar-stack span:nth-child(2) { background:#fff1e5; }
.avatar-stack span:nth-child(3) { background:#eaf0f8; }
.site-footer { padding:43px max(24px,calc((100vw - 1160px)/2)) 18px; color:#d6e1ed; background:#06172f; }
.footer-main { display:grid; grid-template-columns:1.25fr .72fr .72fr .88fr; gap:38px; padding-bottom:29px; }
.footer-brand { display:inline-flex; width:auto; min-width:0; padding:0; border-radius:0; background:transparent; }
.footer-brand .brand-mark { width:44px; height:44px; }
.footer-brand .brand-copy strong { color:#fff; }
.footer-brand .brand-copy small { color:#9db0c6; }
.footer-brand-block > p { max-width:310px; margin:15px 0 0; color:#9db0c6; font-size:14px; line-height:1.65; }
.footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.footer-links > strong { margin-bottom:3px; color:#fff; font-size:14px; }
.footer-links a { color:#b5c5d6; font-size:14px; }
.footer-links a:hover { color:var(--cyan); }
.footer-bottom { display:flex; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid rgba(255,255,255,.1); color:#8296ad; font-size:14px; }
.page-content-wrap .wp-entry { padding-top:48px; padding-bottom:68px; }
.wp-entry { color:#384963; font-size:15px; line-height:1.8; }
.wp-entry > * { max-width:100%; }
.wp-entry h2,.wp-entry h3,.wp-entry h4 { color:var(--navy); line-height:1.25; letter-spacing:-.025em; }
.wp-entry h2 { margin-top:1.8em; font-size:clamp(23px,3vw,32px); }
.wp-entry h3 { margin-top:1.5em; font-size:21px; }
.wp-entry a { color:#058fa0; text-decoration:underline; text-underline-offset:3px; }
.wp-entry img { height:auto; border-radius:14px; }
.wp-entry blockquote { margin:1.8em 0; padding:14px 20px; border-left:3px solid var(--orange); color:#435675; background:#f1f7fa; }
.wp-entry ul,.wp-entry ol { padding-left:1.5em; }
.wp-entry table { width:100%; border-collapse:collapse; }
.wp-entry th,.wp-entry td { padding:10px; border:1px solid var(--line); text-align:left; }
.wp-entry-featured { margin-bottom:28px; }
.wp-entry-featured img { width:100%; max-height:480px; object-fit:cover; }
.wp-entry .wp-block-button__link { color:#fff; text-decoration:none; background:var(--orange); border-radius:10px; }
.wp-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.wp-post-card { padding:22px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:0 4px 15px rgba(7,27,59,.025); }
.wp-post-card h2 { margin:8px 0 10px; color:var(--navy); font-size:19px; }
.wp-post-card p { color:var(--muted); font-size:16px; line-height:1.7; }
.wp-post-image { display:block; margin:-22px -22px 18px; overflow:hidden; border-radius:var(--radius-md) var(--radius-md) 0 0; }
.wp-post-image img { width:100%; height:175px; object-fit:cover; }
.wp-post-navigation { padding-bottom:42px; }
.navigation.pagination { margin-top:24px; }
.navigation.pagination .nav-links { display:flex; gap:8px; }
.navigation.pagination a,.navigation.pagination span { padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:white; }
body.admin-bar .site-header { top:32px; }
@media (max-width:1000px) {
 .main-nav .menu { gap:15px; }
 .footer-main { gap:24px; }
}
@media (max-width:760px) {
 .main-nav .menu { align-items:stretch; flex-direction:column; gap:0; }
 .main-nav .menu a { padding:13px 6px; border-bottom:1px solid #f1f4f7; }
 .site-header .main-nav { padding-bottom:16px; }
 .footer-main { grid-template-columns:1fr 1fr; }
 .footer-brand-block { grid-column:1/-1; }
 .wp-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
 .float-learning { top:22px; left:-4px; }
 .float-progress { right:-4px; bottom:25px; }
 .hero-float-card { padding:9px 10px; }
 .hero-float-card strong { font-size:14px; }
 .hero-float-card small { font-size:14px; }
 .footer-main { grid-template-columns:1fr 1fr; gap:22px 16px; }
 .footer-bottom { align-items:flex-start; flex-direction:column; }
 .wp-post-grid { grid-template-columns:1fr; }
 .page-content-wrap .wp-entry { padding-top:32px; padding-bottom:45px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

/* UMS filled-site components v1.1 */
.ums-path-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ums-path-card { padding:22px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:0 4px 15px rgba(7,27,59,.025); transition:transform .2s ease, box-shadow .2s ease; }
.ums-path-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.ums-path-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:14px; margin-bottom:16px; font-size:20px; }
.ums-path-icon.cyan { color:#047a87; background:var(--cyan-pale); }
.ums-path-icon.orange { color:var(--orange); background:var(--orange-pale); }
.ums-path-icon.navy { color:var(--navy); background:#edf2f8; }
.ums-path-icon.green { color:#0c7558; background:var(--green-pale); }
.ums-path-card h3 { margin:0 0 8px; color:var(--navy); font-size:15px; letter-spacing:-.02em; }
.ums-path-card p { margin:0 0 14px; color:var(--muted); font-size:16px; line-height:1.7; }
.ums-step-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ums-step-card { position:relative; padding:24px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:0 4px 15px rgba(7,27,59,.025); }
.ums-step-card.cert-step { background:var(--cyan-pale); border-color:#c9f2f5; }
.ums-step-number { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; color:#fff; background:var(--navy); font-weight:900; margin-bottom:14px; }
.ums-step-card h3 { margin:0 0 8px; color:var(--navy); font-size:16px; }
.ums-step-card p { margin:0; color:var(--muted); font-size:16px; line-height:1.7; }
.ums-quote-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ums-quote-card { margin:0; padding:22px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:0 4px 15px rgba(7,27,59,.025); }
.ums-quote-card p { margin:0 0 16px; color:var(--ink); font-size:17px; line-height:1.75; }
.ums-quote-card footer { display:flex; align-items:center; gap:10px; }
.ums-quote-avatar { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:var(--navy); background:var(--cyan-pale); font-weight:900; }
.ums-quote-card strong { display:block; color:var(--navy); font-size:16px; }
.ums-quote-card small { color:var(--muted); font-size:14px; }
.ums-cta-strip { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:34px; border-radius:var(--radius-lg); color:#fff; background:linear-gradient(120deg,var(--navy),#123b64 55%,#0a6f7b); box-shadow:var(--shadow-md); }
.ums-cta-strip h2 { margin:8px 0 10px; color:#fff; font-size:clamp(22px,2.6vw,32px); line-height:1.15; letter-spacing:-.03em; }
.ums-cta-strip p { max-width:560px; margin:0; color:#c8d8e8; font-size:17px; line-height:1.7; }
.about-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:22px; align-items:stretch; }
.about-copy { padding:28px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:0 4px 15px rgba(7,27,59,.025); }
.about-copy p { color:#42536d; font-size:14px; line-height:1.8; }
.about-vision-card { background:var(--navy); color:#fff; }
.about-vision-card h3 { color:#fff; font-size:22px; line-height:1.35; }
.about-vision-card .learning-list li { color:#d7e4f0; }
.about-logo-card { display:grid; place-items:center; padding:28px; border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-md); }
.about-logo-card img { width:min(300px,100%); height:auto; }
.about-values { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.about-value { padding:20px 18px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; }
.about-value h3 { margin:14px 0 8px; color:var(--navy); font-size:14px; }
.about-value p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.ums-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; position:relative; }
.ums-timeline::before { content:""; position:absolute; top:8px; left:8px; right:8px; height:2px; background:linear-gradient(90deg,var(--cyan),var(--orange)); opacity:.35; }
.ums-timeline-item { position:relative; padding:22px 18px 0; border-radius:var(--radius-md); background:#fff; border:1px solid var(--line); }
.ums-timeline-dot { position:absolute; top:-9px; left:18px; width:18px; height:18px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 5px rgba(243,107,8,.15); }
.ums-timeline-item h3 { margin:0 0 8px; color:var(--navy); font-size:14px; }
.ums-timeline-item p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.ums-team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ums-team-card { padding:22px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; text-align:center; }
.ums-team-avatar { display:grid; width:58px; height:58px; margin:0 auto 14px; place-items:center; border-radius:50%; color:var(--navy); background:linear-gradient(135deg,var(--cyan-pale),#fff2e8); font-weight:900; letter-spacing:.04em; }
.ums-team-card h3 { margin:0 0 8px; color:var(--navy); font-size:14px; }
.ums-team-card p { margin:0 0 10px; color:var(--muted); font-size:14px; line-height:1.65; }
.ums-team-card small { color:var(--muted-2); font-size:14px; }
.contact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.contact-card { display:flex; flex-direction:column; gap:12px; padding:22px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; }
.contact-item { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:var(--cyan-strong); background:var(--cyan-pale); font-size:18px; }
.contact-card small { display:block; color:var(--muted-2); font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.contact-card strong { display:block; margin-top:4px; color:var(--navy); font-size:17px; line-height:1.35; }
.ums-contact-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; align-items:start; }
.ums-contact-intro p { color:#42536d; font-size:14px; line-height:1.8; }
.ums-map-card { display:flex; align-items:center; gap:14px; margin-top:22px; padding:16px; border:1px solid #c9f2f5; border-radius:14px; background:#f2fcfd; }
.ums-map-card strong { display:block; color:var(--navy); }
.ums-map-card small { color:var(--muted); font-size:14px; line-height:1.5; }
.ums-contact-form-wrap { padding:24px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-sm); }
.ums-contact-notes { margin-top:16px; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:16px; line-height:1.7; }
.ums-contact-notes a { color:#058fa0; font-weight:800; }
.faq-layout { display:grid; grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr); gap:34px; align-items:start; }
.ums-faq-side { position:sticky; top:110px; padding:20px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; }
.ums-faq-side h2 { margin:0 0 14px; color:var(--navy); font-size:15px; }
.ums-faq-side a { display:block; padding:7px 0; color:var(--muted); font-size:16px; font-weight:700; }
.ums-faq-side a:hover { color:var(--cyan-strong); }
.ums-faq-help { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.ums-faq-help p { color:var(--muted); font-size:14px; line-height:1.65; }
.ums-faq-list h3 { margin:28px 0 12px; color:var(--navy); font-size:18px; }
.ums-faq-list h3:first-child { margin-top:0; }
.ums-support-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ums-support-card { padding:22px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; }
.ums-support-card h3 { margin:14px 0 8px; color:var(--navy); font-size:15px; }
.ums-support-card p { margin:0 0 12px; color:var(--muted); font-size:16px; line-height:1.7; }
.ums-support-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
.ums-safety-note { margin-top:22px; padding:16px; border-left:4px solid var(--orange); border-radius:12px; background:var(--orange-pale); }
.ums-safety-note p { margin:6px 0 0; color:#6b4a37; font-size:16px; line-height:1.65; }
.ums-role-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ums-role-card { padding:22px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; }
.ums-role-card h3 { margin:0 0 10px; color:var(--navy); font-size:15px; }
.ums-role-card p { color:var(--muted); font-size:16px; line-height:1.7; }
.ums-role-card ul { margin:12px 0 0; padding-left:18px; color:#42536d; font-size:14px; line-height:1.8; }
.ums-teach-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:28px; align-items:start; }
.ums-teach-steps { padding:24px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-sm); }
.ums-teach-steps h3 { margin:0 0 14px; color:var(--navy); }
.ums-teach-steps ol { margin:0; padding-left:20px; color:#42536d; font-size:17px; line-height:1.8; }
.ums-policy-date { margin:18px 0 0; color:var(--muted); font-size:14px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ums-policy-content { padding-top:44px; padding-bottom:70px; }
.ums-policy-note { margin-bottom:24px; padding:14px 16px; border-left:4px solid var(--cyan-strong); border-radius:12px; background:var(--cyan-pale); color:#234; font-size:16px; line-height:1.65; }
.ums-single-meta { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 0; }
.ums-category-strip { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:16px 18px; border:1px solid var(--line); border-radius:999px; background:#fff; }
.ums-category-label { color:var(--muted); font-size:14px; font-weight:800; }
.ums-category-strip .pill small { color:var(--muted-2); font-weight:700; }
.ums-cert-notes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ums-cert-note { padding:20px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; }
.ums-cert-note strong { display:block; margin-bottom:8px; color:var(--navy); font-size:17px; }
.ums-cert-note p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.ums-dashboard-features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ums-dashboard-feature { display:flex; gap:14px; padding:20px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; }
.ums-dashboard-feature h3 { margin:0 0 6px; color:var(--navy); font-size:14px; }
.ums-dashboard-feature p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.ums-dashboard-links { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.kids-art-core { display:grid; width:150px; height:150px; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,var(--cyan),var(--navy)); font-size:54px; box-shadow:var(--shadow-md); }
@media (max-width:1080px) {
  .ums-path-grid, .ums-team-grid, .contact-grid, .ums-support-grid, .ums-role-grid, .ums-cert-notes, .ums-dashboard-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-values, .ums-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ums-timeline::before { display:none; }
  .ums-quote-grid, .ums-step-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .ums-path-grid, .ums-team-grid, .contact-grid, .ums-support-grid, .ums-role-grid, .ums-cert-notes, .ums-dashboard-features, .about-grid, .ums-contact-layout, .ums-support-layout, .ums-teach-layout, .faq-layout, .ums-quote-grid, .ums-step-grid, .about-values, .ums-timeline { grid-template-columns:1fr; }
  .ums-cta-strip { flex-direction:column; align-items:flex-start; padding:26px; }
  .ums-faq-side { position:static; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-links:last-child { grid-column:1/-1; }
}
@media (max-width:520px) {
  .contact-grid, .ums-support-grid, .ums-role-grid, .ums-cert-notes, .ums-dashboard-features { grid-template-columns:1fr; }
  .ums-category-strip { border-radius:18px; }
  .ums-single-meta { gap:6px; }
}

/* Install button and device install guide */
.install-button { display:none !important; }
.install-button.visible { display:inline-flex !important; }
.install-button[disabled] { opacity:.65; cursor:default; }
.modal-root[hidden] { display:none !important; }
.modal-root { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(7,27,59,.58); backdrop-filter:blur(5px); }
.modal-root.open { display:flex; }
.ums-install-card { position:relative; width:min(700px,100%); max-height:88vh; overflow:auto; padding:28px; border-radius:22px; background:#fff; box-shadow:var(--shadow-lg); }
.ums-install-card h2 { margin:6px 0 10px; color:var(--navy); font-size:clamp(22px,3vw,30px); letter-spacing:-.03em; }
.ums-install-device { margin:0; padding:10px 12px; border:1px solid #c9f2f5; border-radius:11px; background:var(--cyan-pale); color:#075d68; font-size:16px; font-weight:800; }
.ums-install-steps { display:grid; gap:12px; margin:18px 0; }
.ums-install-step { padding:16px; border:1px solid var(--line); border-radius:14px; background:#fbfdff; }
.ums-install-step.active { border-color:var(--cyan-strong); background:var(--cyan-pale); box-shadow:0 0 0 3px rgba(24,207,225,.12); }
.ums-install-step h3 { margin:0 0 10px; color:var(--navy); font-size:14px; }
.ums-install-step ol { margin:0; padding-left:20px; color:#42536d; font-size:16px; line-height:1.8; }
.ums-install-step p { margin:0; color:#42536d; font-size:16px; line-height:1.7; }
.ums-install-requirements { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0 14px; color:var(--muted); font-size:14px; font-weight:800; }
.ums-install-requirements span { padding:6px 10px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--navy); font-size:14px; }
.ums-install-note { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
@media (max-width:600px) { .ums-install-card { padding:20px; } }

/* Home page install band (responsive) */
.home-install-section { padding-top:0; }
.home-install-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; padding:30px 34px; border:1px solid #c9f2f5; border-radius:22px; background:linear-gradient(120deg,#fff 0%,var(--cyan-pale) 100%); box-shadow:var(--shadow-md); }
.home-install-copy h2 { margin:6px 0 10px; color:var(--navy); font-size:clamp(22px,3vw,32px); letter-spacing:-.03em; line-height:1.15; }
.home-install-copy p { margin:0 0 8px; color:#42536d; font-size:14px; line-height:1.7; }
.home-install-note { color:#075d68 !important; font-weight:800; }
.home-install-actions { display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; }
.home-install-actions .button { max-width:100%; white-space:normal; text-align:center; }
.home-install-hint { color:var(--muted); font-size:16px; font-weight:700; }
.home-install-actions .button[disabled] { opacity:.65; cursor:default; }
.ums-install-status-title { margin:14px 0 6px; color:var(--navy); font-size:16px; font-weight:800; }
.ums-install-status { display:grid; gap:6px; margin:0; padding:0; list-style:none; color:#42536d; font-size:16px; line-height:1.6; }
.ums-install-status li { padding:8px 10px; border-radius:10px; background:#f6f9fc; }
.ums-install-status strong { color:var(--navy); }
@media (max-width:760px) {
  .home-install-card { grid-template-columns:1fr; padding:24px; gap:16px; }
  .home-install-actions .button { width:100%; }
}
@media (max-width:420px) {
  .home-install-card { padding:20px 18px; border-radius:18px; }
  .home-install-copy p { font-size:17px; }
}
@media (max-width:600px) {
  .ums-install-card { max-height:92vh; padding:18px; border-radius:18px; }
  .ums-install-card h2 { font-size:21px; padding-right:34px; }
  .ums-install-step { padding:13px; }
}

/* Header fit: keep the menu toggle and portal link on screen at every width */
.hp-short { display:none; }
@media (max-width:1180px) and (min-width:881px) {
  .header-login { display:none; }
  .brand { min-width:0; }
  .main-nav { gap:12px; }
}
@media (max-width:640px) {
  .header-actions { gap:4px; }
  .install-button { padding:6px 4px; }
}
@media (max-width:460px) {
  .hp-long { display:none; }
  .hp-short { display:inline; }
  .brand-copy { display:none; }
  .site-header { gap:8px; padding-inline:12px; }
}

/* 1.10.0: long words (emails, links) wrap inside cards instead of pushing the page wider than a phone screen. */
.contact-grid > *, .contact-card > * { min-width:0; }
.contact-card strong, .contact-card a, .contact-card p { overflow-wrap:anywhere; word-break:break-word; }


/* 1.11.1: between 900px and 1290px the header uses the menu button, so every item fits on one row without sideways scrolling. */
@media (min-width: 900px) and (max-width: 1290px) {
    .mobile-menu-toggle { display: block; order: 3; }
    .main-nav { position: absolute; top: calc(100% + 1px); left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 9px 22px 17px; border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 16px 24px rgba(7,27,59,.08); }
    .main-nav.open { display: flex; }
    .main-nav .menu { flex-direction: column; align-items: stretch; gap: 0; }
    .main-nav .menu a { padding: 13px 6px; border-bottom: 1px solid #f1f4f7; font-size: 16px; }
}

/* 1.11.1: a visible Store link in the header on phones and tablets, where the full menu is behind the menu button. */
.header-store { display: none; font-weight: 700; color: var(--navy, #0b1f3a); padding: 8px 6px; font-size: 15px; white-space: nowrap; }
@media (max-width: 1290px) { .header-store { display: inline-flex; align-items: center; } }


/* 1.11.3: auto-hiding header. */
.site-header { transition: transform .25s ease; }
.site-header.header-away { transform: translateY(-100%); }
@media (prefers-reduced-motion: reduce) { .site-header { transition: none; } }
