/* Final responsive guardrails: loaded after the design layers. */
*, *::before, *::after { box-sizing: border-box; }
html, body { min-width:0; overflow-x:hidden; }
button, input, select, textarea { max-width:100%; font:inherit; }
button { touch-action:manipulation; }
img, svg, video { max-width:100%; }
.landing-refresh, .premium-shell, .app-main, .content, .surface, .section-card, .catalog-visual, .modal, .app-header, .header-tools { min-width:0; }
.landing-refresh h1, .landing-refresh h2, .page-title h2, .service-row h4, .activity-row strong, .editorial-card strong, .campaign-card strong { overflow-wrap:anywhere; }
.data-table { min-width:680px; }
.app-mobile-nav { padding-bottom:max(0px, env(safe-area-inset-bottom)); }

@media (max-width:1180px) {
  .landing-nav-rebuild { padding-left:clamp(18px,4vw,46px); padding-right:clamp(18px,4vw,46px); }
  .hero-grid-rebuild { grid-template-columns:minmax(0,1fr) minmax(350px,.86fr); gap:clamp(26px,5vw,62px); }
  .catalog-visual { min-width:0; }
  .catalog-row { grid-template-columns:minmax(0,1.5fr) .55fr .68fr .45fr; gap:9px; }
  .catalog-row > div strong { font-size:11px; }
}
@media (max-width:940px) {
  .landing-nav-rebuild .nav-links { display:none; }
  .landing-nav-rebuild .mobile-menu { display:inline-grid; }
  .hero-grid-rebuild { grid-template-columns:1fr; }
  .hero-copy-rebuild { max-width:680px; }
  .catalog-visual { width:min(100%,660px); }
  .stats-strip-rebuild { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .how-grid-rebuild, .benefit-grid, .platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .comparison-grid, .admin-dash-grid, .dashboard-grid, .wallet-layout, .service-layout { grid-template-columns:1fr; }
  .service-detail { position:static; }
}
@media (max-width:700px) {
  .landing-nav-rebuild { min-height:68px; padding:10px 15px; gap:8px; }
  .landing-nav-rebuild .brand { font-size:17px; }
  .landing-nav-rebuild .btn-quiet { display:none; }
  .landing-nav-rebuild .landing-create { min-height:38px; padding:0 12px; font-size:11px; }
  .landing-nav-rebuild .landing-create .svg-icon { width:14px; }
  .landing-nav-rebuild .locale-current { min-width:44px; padding:0 7px; }
  .landing-nav-rebuild .locale-current > span:nth-child(2), .landing-nav-rebuild .locale-current .svg-icon { display:none; }
  .hero { padding-left:17px; padding-right:17px; }
  .hero-copy-rebuild { padding-top:42px; }
  .hero-copy-rebuild h1 { font-size:clamp(37px,10.8vw,56px); line-height:.99; letter-spacing:-2px; }
  .hero-copy-rebuild > p:not(.eyebrow) { max-width:37rem; font-size:15px; line-height:1.58; }
  .hero-network-rail { margin-bottom:17px; }
  .hero-network-rail .social-logo { width:27px; height:27px; }
  .hero-network-rail .social-logo:nth-of-type(n+7) { display:none; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { width:100%; justify-content:center; min-height:50px; }
  .hero-proof { flex-wrap:wrap; gap:8px 13px; }
  .catalog-visual { margin-top:2px; border-radius:20px; }
  .catalog-visual-top { padding:15px; gap:8px; }
  .catalog-visual-top strong { font-size:13px; }
  .catalog-search { width:39px; min-width:39px; padding:0; justify-content:center; }
  .catalog-search span, .catalog-search kbd { display:none; }
  .catalog-tabs { overflow-x:auto; scrollbar-width:none; white-space:nowrap; }
  .catalog-tabs::-webkit-scrollbar { display:none; }
  .catalog-tabs button { flex:0 0 auto; }
  .catalog-table { overflow-x:auto; }
  .catalog-table-head, .catalog-row { min-width:510px; }
  .catalog-visual-foot { padding:13px 15px; gap:8px; font-size:10px; }
  .catalog-visual-foot span:last-child { display:none; }
  .catalog-ticker-rebuild { min-height:42px; }
  .stats-strip-rebuild { margin:0 17px; grid-template-columns:repeat(2,minmax(0,1fr)); border-radius:19px; }
  .stats-strip-rebuild .stat { min-width:0; padding:16px 9px; }
  .stats-strip-rebuild .stat strong { font-size:22px; }
  .stats-strip-rebuild .stat span { font-size:9px; }
  .section { padding-left:17px; padding-right:17px; }
  .section-heading-rebuild h2 { font-size:clamp(30px,8.5vw,43px); }
  .how-grid-rebuild, .benefit-grid, .platform-grid { grid-template-columns:1fr; }
  .flow-card, .benefit-card { padding:20px; }
  .app-header { gap:8px; }
  .header-title { min-width:0; }
  .header-title h1 { max-width:135px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:17px; }
  .header-tools { gap:5px; }
  .header-tools .balance-pill { min-width:0; padding-left:8px; }
  .header-tools .balance-pill > span { max-width:68px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
  .header-tools .profile-toggle { display:none; }
  .premium-shell .content { width:100%; overflow:hidden; }
  .page-title > div { min-width:0; }
  .page-title .page-actions { width:100%; flex-wrap:wrap; }
  .page-title .page-actions .btn { flex:1 1 auto; justify-content:center; }
  .admin-banner { align-items:flex-start; flex-direction:column; }
  .modal-backdrop { padding:10px; align-items:end; }
  .modal { width:100%; max-height:calc(100dvh - 20px); overflow-y:auto; border-radius:20px; }
  .form-grid { grid-template-columns:1fr; }
  .form-group.full { grid-column:auto; }
}
@media (max-width:390px) {
  .landing-nav-rebuild .landing-theme { display:none; }
  .landing-nav-rebuild .landing-create { padding:0 9px; font-size:10px; }
  .hero-copy-rebuild h1 { font-size:35px; letter-spacing:-1.6px; }
  .hero-network-rail .social-logo:nth-of-type(n+6) { display:none; }
  .hero-network-rail span:last-child { font-size:9px; }
  .catalog-table-head, .catalog-row { min-width:475px; }
  .catalog-row { font-size:10px; }
  .catalog-row > div { min-width:180px; }
  .platform-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .order-mode-tabs { overflow-x:auto; }
  .order-mode-tabs button { min-width:95px; }
  .mobile-data .order-mobile-row, .activity-row { overflow-wrap:anywhere; }
}
@media (min-width:1800px) {
  .landing-refresh .hero-grid-rebuild, .landing-refresh .section, .landing-refresh .stats-strip-rebuild, .landing-refresh .landing-footer { max-width:1440px; margin-left:auto; margin-right:auto; }
  .premium-shell .content { max-width:1600px; margin-left:auto; margin-right:auto; }
}

.mobile-drawer { display:none; }
@media (max-width:700px) {
  .mobile-drawer { position:fixed; z-index:150; inset:0; display:block; visibility:hidden; pointer-events:none; }
  .mobile-drawer.open { visibility:visible; pointer-events:auto; }
  .drawer-scrim { position:absolute; inset:0; width:100%; border:0; opacity:0; background:rgba(4,12,27,.52); transition:opacity .24s ease; }
  .mobile-drawer.open .drawer-scrim { opacity:1; }
  .drawer-panel { position:absolute; top:0; bottom:0; left:0; width:min(86vw,330px); display:flex; flex-direction:column; padding:16px 14px max(18px,env(safe-area-inset-bottom)); overflow-y:auto; color:#16233a; background:#fff; box-shadow:18px 0 44px rgba(1,13,39,.2); transform:translateX(-104%); transition:transform .28s cubic-bezier(.2,.8,.2,1); }
  .mobile-drawer.open .drawer-panel { transform:translateX(0); }
  .drawer-head { display:flex; align-items:center; justify-content:space-between; min-height:42px; padding:0 2px 17px; border-bottom:1px solid #e5ecf7; }
  .drawer-head .brand { color:#122444; font-size:18px; }
  .drawer-panel nav { display:grid; gap:4px; padding:14px 0; }
  .drawer-panel nav a { min-height:45px; display:flex; align-items:center; gap:12px; padding:0 11px; border-radius:12px; color:#536178; font-size:13px; font-weight:800; text-decoration:none; }
  .drawer-panel nav a .svg-icon { width:18px; color:#5275ae; }
  .drawer-panel nav a .svg-icon:last-child { width:15px; margin-left:auto; color:#1d6fe9; }
  .drawer-panel nav a:active { color:#155fd5; background:#edf4ff; }
  .drawer-foot { display:flex; align-items:center; gap:10px; padding-top:15px; margin-top:auto; border-top:1px solid #e5ecf7; color:#8290a4; font-size:11px; font-weight:800; }
  .drawer-foot .icon-button { width:35px; height:35px; border:1px solid #dce6f4; border-radius:10px; }
  [data-theme="dark"] .drawer-panel { color:#dce8fb; background:#0e1d33; box-shadow:18px 0 44px rgba(0,0,0,.45); }
  [data-theme="dark"] .drawer-head, [data-theme="dark"] .drawer-foot { border-color:#273c5b; }
  [data-theme="dark"] .drawer-panel nav a { color:#c0cee3; }
  [data-theme="dark"] .drawer-panel nav a:active { color:#b8d3ff; background:#162d4e; }
}
