/* Public mobile sizing. Desktop geometry and motion remain unchanged. */
@media (max-width: 680px) {
  body.restored-front, body.portal-body {font-size:16px; overflow-wrap:break-word}
  .restored-front .container, .restored-front .live-hero.container,
  .restored-front .section.container {padding-inline:16px}
  .restored-front .site-header {padding-top:8px; padding-bottom:0}
  .restored-front .header-inner {margin-inline:8px; padding:8px 12px; gap:4px 10px; min-height:0; border-radius:14px}
  .restored-front .header-inner .brand img {width:132px; height:36px}
  .restored-front .header-tools .icon-btn {width:44px; height:44px}
  .restored-front .command-trigger {display:none}
  .restored-front .site-nav {display:flex; gap:0; padding-top:4px; margin-top:2px; justify-content:space-between}
  .restored-front .site-nav a {display:flex; align-items:center; justify-content:center; min-height:44px; padding:6px; font-size:12px; line-height:1.4; flex:none}
  .restored-front .live-hero {padding-top:22px; padding-bottom:22px}
  .restored-front .live-hero .hero-grid {gap:18px}
  .restored-front .live-edition {font-size:11px; margin-bottom:14px; padding:3px 7px 3px 12px}
  .restored-front .live-hero h1 {font-size:clamp(36px,10.5vw,46px); line-height:1.17; letter-spacing:-.8px}
  .restored-front .live-hero .lead {font-size:16px; line-height:1.8; margin-block:16px 18px; max-width:100%}
  .restored-front .live-hero .actions {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:stretch}
  .restored-front .live-hero .actions .btn {min-width:0; min-height:46px; font-size:12px; padding:9px 7px; gap:5px; line-height:1.5}
  .restored-front .live-hero .actions .icon {width:16px; height:16px}
  .restored-front .live-hero .fine {font-size:12px; margin:12px 0 0; line-height:1.65}
  .restored-front .hero .fine a {display:inline-flex; align-items:center; min-height:40px; margin-top:0}
  .restored-front .orbital-scene {height:auto; max-width:430px; margin:0 auto}
  .restored-front .scene-caption {font-size:8px; letter-spacing:.6px; padding-inline:4px; min-height:26px}
  .restored-front .scene-caption>span:last-child {font-size:20px}
  .restored-front .orbital-canvas {height:300px}
  .restored-front .orbital-scene .hero-logo {width:180px; height:156px; max-width:54%}
  .restored-front .orbit-service {width:42%; max-width:148px; min-height:56px; padding:8px; gap:6px; border-radius:11px}
  .restored-front .orbit-service>span:nth-child(2) {font-size:12px; line-height:1.35}
  .restored-front .orbit-service small {font-size:10px; line-height:1.4; margin-top:3px; white-space:normal}
  .restored-front .service-symbol {width:24px; height:26px; border-radius:7px}
  .restored-front .service-symbol .icon {width:15px; height:15px}
  .restored-front .service-store {left:0; top:3%}
  .restored-front .service-webhook {right:0; top:5%}
  .restored-front .service-data {left:0; bottom:3%}
  .restored-front .service-notify {right:0; bottom:5%}
  .restored-front .connection-caption {padding:12px; gap:10px; border-radius:12px; margin:8px 0 0}
  .restored-front .connection-caption strong {font-size:14px; line-height:1.55}
  .restored-front .connection-caption p {font-size:12px; line-height:1.55; margin-top:3px}
  .restored-front .connection-caption .connection-index {font-size:21px}
  .restored-front .connection-caption>.icon {display:none}
  .restored-front .live-hero .hero-bottom {margin-top:18px; padding-top:16px; gap:6px}
  .restored-front .live-hero .hero-bottom>div {font-size:10px; gap:5px; line-height:1.5; align-items:flex-start}
  .restored-front .live-hero .hero-bottom .icon {width:13px; height:16px}
  .restored-front .restored-services {padding-block:20px 30px}
  .restored-front .section-head {gap:16px; margin-bottom:20px}
  .restored-front .section-head h2, .portal-body .section-heading h2 {font-size:27px; line-height:1.3; letter-spacing:-.4px}
  .restored-front .eyebrow {font-size:11px; letter-spacing:.6px; margin-bottom:12px; gap:8px}
  .restored-front .restored-services .section-head {display:flex; align-items:center}
  .restored-front .restored-services .section-head .eyebrow {max-width:200px; font-size:10px}
  .restored-front .restored-services .section-head>.btn {margin:0; padding:9px 11px; font-size:12px; gap:5px; min-height:44px; flex:none}
  .restored-front .restored-services .section-head>.btn .icon {width:16px}
  .restored-front .restored-services .section-head h2 {font-size:24px}
  .restored-front .service-grid, .portal-body .service-grid {gap:12px}
  .restored-front .service-card, .portal-body .service-card {min-height:0; padding:20px; border-radius:15px}
  .restored-front .card-top, .portal-body .card-top {margin-bottom:10px}
  .restored-front .service-glyph, .portal-body .service-card .service-glyph {width:38px; height:38px; border-radius:11px}
  .restored-front .service-glyph svg, .portal-body .service-card .service-glyph svg {width:21px; height:21px}
  .restored-front .card-badge, .portal-body .service-card .card-badge {margin-bottom:6px}
  .restored-front .service-card h2, .portal-body .service-card h2 {font-size:22px; margin-bottom:8px; line-height:1.4}
  .restored-front .service-card p, .portal-body .service-card p {font-size:16px; line-height:1.7; margin-bottom:14px}
  .restored-front .card-link, .portal-body .card-link {min-height:28px; align-items:center; font-size:14px}
  .restored-front .restored-experience-link {font-size:14px; line-height:1.7; gap:8px; margin-top:20px; padding-top:16px}
  .restored-front .restored-experience-link a {white-space:normal; min-height:44px; display:flex; align-items:center}
  .restored-front .experience-heading {padding-block:30px 24px}
  .restored-front .experience-heading h1 {font-size:36px; line-height:1.25}
  .restored-front .experience-heading p {font-size:16px; line-height:1.8; margin-block:14px}
  .restored-front .section {padding-block:36px}
  .restored-front .section-head p {font-size:16px; margin-top:14px; line-height:1.8}
  .restored-front .sequence-info {padding:18px; gap:12px}
  .restored-front .sequence-info h3 {font-size:24px}
  .restored-front .sequence-info p {font-size:15px; line-height:1.7}
  .restored-front .sequence-info .field {grid-column:1/-1; font-size:14px}
  .restored-front .sequence-info .btn {grid-column:1/-1; width:100%; min-height:44px; font-size:15px}
  .restored-front .sequence-stage {padding:24px 12px; min-height:290px}
  .restored-front .sequence-nodes {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px 0 22px}
  .restored-front .sequence-node {width:100%; padding:12px 5px; gap:9px; min-width:0}
  .restored-front .sequence-node strong {font-size:13px; line-height:1.5; min-height:39px; display:grid; place-items:center}
  .restored-front .node-code {font-size:8px}
  .restored-front .node-state {font-size:10px; line-height:1.5; min-height:30px}
  .restored-front .node-art {width:38px; height:38px; border-radius:10px}
  .restored-front .sequence-timeline {gap:9px; padding:10px 12px}
  .restored-front .sequence-timeline .icon-btn {width:44px; height:44px}
  .restored-front .timeline-field input {min-height:44px}
  .restored-front .sequence-timeline output {font-size:10px}
  .restored-front .template {padding:20px}
  .restored-front .template h3 {font-size:22px; margin:16px 0 10px}
  .restored-front .template p {font-size:16px; line-height:1.7; margin-bottom:18px}
  .restored-front .brand-system {gap:24px}
  .restored-front .brand-system p {font-size:16px; line-height:1.8; margin-block:16px}
  .restored-front .identity-sheet {padding:20px}
  .restored-front .identity-sheet .sheet-logo {width:200px; height:160px}
  .restored-front .cta-band {margin-top:30px; padding:22px}
  .restored-front .cta-band h2 {font-size:26px}
  .restored-front .site-footer {margin-top:30px; padding-block:24px}
  .restored-front .footer-inner {gap:14px}
  .restored-front .footer-links {gap:4px 16px; font-size:13px}
  .restored-front .footer-links a {display:inline-flex; min-height:44px; align-items:center}
  .restored-front {padding-bottom:52px}
  .restored-front .motion-footer-control {min-height:40px; font-size:11px; padding:8px 11px; bottom:10px; right:10px}

  .portal-body .portal-header {margin:8px; padding:10px 12px; gap:6px 12px; border-radius:14px}
  .portal-body .portal-header .brand img {width:140px; height:38px}
  .portal-body .portal-header nav {gap:0; padding-top:4px; justify-content:space-between}
  .portal-body .portal-header nav a {display:flex; align-items:center; min-height:44px; padding:6px; font-size:12px}
  .portal-body .portal-main {padding:0 16px 24px}
  .portal-body .page-heading {padding:30px 0 24px}
  .portal-body .page-heading h1 {font-size:34px; line-height:1.3}
  .portal-body .page-heading p {font-size:16px; line-height:1.8; margin-top:14px}
  .portal-body .crumb {padding:22px 0 16px; font-size:13px}
  .portal-body .service-heading {gap:12px; padding:4px 0 24px}
  .portal-body .service-heading h1 {font-size:29px; line-height:1.3; margin-bottom:8px}
  .portal-body .service-heading p {font-size:16px; line-height:1.7}
  .portal-body .service-heading .service-glyph {width:44px; height:44px; border-radius:12px}
  .portal-body .service-tabs {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:10px 0; overflow:visible}
  .portal-body .service-tabs a {min-height:44px; padding:9px 7px; font-size:14px; line-height:1.5; white-space:normal; text-align:center; display:grid; place-items:center}
  .portal-body .service-page {padding:16px 0}
  .portal-body .section-heading {margin:12px 0 18px; align-items:flex-start}
  .portal-body .section-heading .eyebrow {font-size:11px; margin-bottom:8px}
  .portal-body .page-number {font-size:10px; padding-top:6px; white-space:nowrap}
  .portal-body .page-copy {margin-bottom:22px}
  .portal-body .page-copy p {font-size:16px; line-height:1.85}
  .portal-body .feature-grid {gap:12px}
  .portal-body .feature {padding:20px}
  .portal-body .feature-index {margin-bottom:12px}
  .portal-body .feature h3 {font-size:21px; margin-bottom:9px}
  .portal-body .feature p {font-size:16px; line-height:1.75}
  .portal-body .service-request, .portal-body .demo-content {padding:18px}
  .portal-body .form-heading h3, .portal-body .demo-description h3 {font-size:22px}
  .portal-body .service-request .actions {align-items:stretch; flex-direction:column}
  .portal-body .service-request .actions button {width:100%; min-height:46px}
  .portal-body .demo-steps button {padding:14px; gap:10px}
  .portal-body .demo-steps strong {font-size:17px}
  .portal-body .demo-steps small {font-size:14px; line-height:1.6}
  .portal-body .next-page {gap:10px; margin-top:24px; padding-top:20px}
  .portal-body .next-page .btn {font-size:14px; padding-inline:12px}
  .portal-body .portal-footer {margin-inline:16px; gap:12px; font-size:13px}
  .portal-body .portal-footer nav {gap:4px 16px}
  .portal-body .portal-footer nav a {min-height:44px; display:flex; align-items:center}
}

@media (max-width: 359px) {
  .restored-front .container, .restored-front .live-hero.container,
  .restored-front .section.container, .portal-body .portal-main {padding-inline:14px}
  .restored-front .header-inner, .portal-body .portal-header {padding-inline:9px; margin-inline:6px}
  .restored-front .site-nav a, .portal-body .portal-header nav a {font-size:11px; padding-inline:5px}
  .restored-front .live-hero .actions {grid-template-columns:1fr}
  .restored-front .live-hero .actions .btn {font-size:14px}
  .restored-front .restored-services .section-head {align-items:flex-start; flex-direction:column; gap:8px}
  .restored-front .orbit-service {padding:7px 6px; gap:5px; max-width:126px}
  .restored-front .service-symbol {width:22px}
  .restored-front .orbit-service>span:nth-child(2) {font-size:11px}
  .restored-front .orbit-service small {font-size:10px}
  .portal-body .service-heading h1 {font-size:27px}
}

/* Compact service tiles: shared icon/title row, full readable description. */
@media (max-width:680px) {
  .restored-front .service-card, .portal-body .service-card {
    display:grid; grid-template-columns:38px minmax(0,1fr);
    grid-template-areas:"symbol badge" "symbol title" "description description" "link link";
    column-gap:12px; row-gap:0; padding:17px 18px; min-height:0; border-radius:14px;
  }
  .restored-front .service-card .card-top, .portal-body .service-card .card-top {grid-area:symbol; display:flex; align-items:center; margin:0}
  .restored-front .service-card .card-number, .portal-body .service-card .card-number {display:none}
  .restored-front .service-card .card-badge, .portal-body .service-card .card-badge {grid-area:badge; font-size:11px; line-height:1.4; margin:0 0 3px}
  .restored-front .service-card h2, .portal-body .service-card h2 {grid-area:title; font-size:20px; line-height:1.4; margin:0}
  .restored-front .service-card p, .portal-body .service-card p {grid-area:description; font-size:15px; line-height:1.65; margin:11px 0 8px}
  .restored-front .service-card .card-link, .portal-body .service-card .card-link {grid-area:link; font-size:13px; min-height:25px; line-height:1.5}
  .restored-front .service-card .card-link b, .portal-body .service-card .card-link b {font-size:18px}
  .restored-front .service-card:after, .portal-body .service-card:after {width:65px; height:65px; top:-35px; left:-35px}
}

.account-entry-note{padding:24px;border:1px solid #06d6ff44;border-radius:14px;background:#06d6ff09;margin:20px 0}.account-entry-note p{margin:8px 0 16px;font-size:15px}
@media(max-width:680px){.restored-front .site-nav,.portal-header nav{flex-wrap:wrap;justify-content:center;gap:6px 16px}.restored-front .site-nav a,.portal-header nav a{font-size:12px}.account-entry-note{padding:18px}.account-entry-note .btn{width:100%}}

/* Explicit account entry points, shared across the public site. */
.restored-front .site-nav .nav-account{display:none}
.portal-header nav .catalog-account{color:var(--accent);border:1px solid var(--line);border-radius:8px;padding:7px 12px}
@media(max-width:800px){.restored-front .site-nav .nav-account{display:inline-flex;color:var(--accent);border:1px solid var(--line);border-radius:8px;padding-inline:12px}.restored-front .site-nav{flex-wrap:wrap;justify-content:center;gap:0 8px}.restored-front .site-nav a{font-size:12px}.portal-header nav{flex-wrap:wrap}}
