/* Mobile experience. No selector may affect a viewport wider than 900px. */
@media (max-width: 900px) {
  .sl-studio {
    --sm-paper: #f6f7fb;
    --sm-line: #dfe3ef;
    --sm-muted: #596174;
    --sm-radius: 24px;
    --sm-gutter: clamp(20px, 5vw, 36px);
    font-size: 16px;
    line-height: 1.65;
    background: var(--sm-paper);
  }
  .sl-studio.sl-mobile-enabled { padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px)); }
  .sl-studio .sl-wrap { padding-inline: var(--sm-gutter); }
  .sl-studio section[id] { scroll-margin-top: 24px; }
  .sl-studio :where(a, button, input, textarea, select, summary) { scroll-margin-block: 24px calc(110px + env(safe-area-inset-bottom, 0px)); }
  .sl-studio :where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #4056bb; outline-offset: 4px; }
  .sl-studio :where(button, a) { -webkit-tap-highlight-color: #556ede20; touch-action: manipulation; }
  .sl-studio .sl-button { min-height: 52px; border-radius: 16px; padding: 14px 20px; font-size: 14px; }
  .sl-studio .sl-button-primary, .sl-studio .sl-button-dark { box-shadow: inset 0 1px 0 #ffffff45, 0 6px 16px #4056bb1c; }
  .sl-studio .sl-button-outline { border-color: #cdd4e6; }

  /* The unenhanced header keeps all navigation usable when JS is unavailable. */
  .sl-header { position: relative; top: auto; min-height: 72px; padding: 14px var(--sm-gutter); flex-wrap: wrap; gap: 12px 20px; border: 0; background: var(--sm-paper); box-shadow: none; backdrop-filter: none; }
  .sl-studio.admin-bar .sl-header { top: auto; }
  .sl-header .sl-brand { min-height: 44px; font-size: 23px; gap: 8px; }
  .sl-header .sl-brand img { width: 32px; height: 32px; }
  .sl-header nav { flex-wrap: wrap; gap: 12px; }
  .sl-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .sl-header-cta { width: auto; margin-left: auto; }
  .sl-header.sl-mobile-header { flex-wrap: nowrap; justify-content: space-between; gap: 12px; }
  .sl-header [hidden], .sl-mobile-dock[hidden], .slx .slx-offer[hidden] { display: none !important; }
  .sl-mobile-signature { max-width: 105px; text-align: right; font-size: 10px; line-height: 1.5; color: var(--sm-muted); }
  .sl-mobile-dock { position: fixed; z-index: 80; bottom: max(12px, env(safe-area-inset-bottom, 0px)); left: 50%; transform: translateX(-50%); width: calc(100% - 28px); max-width: 440px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 7px; border: 1px solid #fff; border-radius: 27px; background: #f8f9fd; box-shadow: inset 0 1px 1px #fff, inset 0 -1px 2px #d3d9ef80, 0 10px 40px #25345524, 0 2px 8px #25345512; }
  .sl-mobile-dock a { min-width: 0; min-height: 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px solid transparent; border-radius: 20px; color: #596174; font-size: 10px; line-height: 1.2; font-weight: 600; }
  .sl-mobile-dock svg { width: 22px; height: 22px; }
  .sl-mobile-dock a[aria-current] { background: #e8ecfc; color: #4056bb; border-color: #d6def9; box-shadow: inset 0 1px 0 #fff; }
  .sl-mobile-dock a:last-child:not([aria-current]) { color: #4056bb; }
  .sl-mobile-dock a:active { background: #dce3fa; }

  /* A mobile headline and a separate image stage, with a compact price bridge. */
  .sl-hero { display: flex; flex-direction: column; align-items: stretch; min-height: 0; background: radial-gradient(ellipse at 100% 35%, #e7ebfc, transparent 65%), var(--sm-paper); overflow: hidden; padding-bottom: 0; }
  .sl-hero .sl-wrap { padding-block: 26px 22px; }
  .sl-hero .sl-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; font-size: 10px; font-weight: 650; color: #4056bb; }
  .sl-hero .sl-kicker::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #556ede; box-shadow: 0 0 0 4px #556ede10; }
  .sl-hero h1 { font-size: 0; max-width: none; }
  .sl-hero h1 span { margin: 0; max-width: 17ch; font-size: clamp(35px, 8.9vw, 56px); line-height: 1.1; font-weight: 650; letter-spacing: -.045em; text-wrap: balance; }
  .sl-hero p { max-width: 54ch; margin: 22px 0; font-size: 15px; line-height: 1.7; color: var(--sm-muted); }
  .sl-hero .sl-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; max-width: 420px; }
  .sl-hero .sl-button { justify-content: space-between; }
  .sl-hero .sl-text-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; font-size: 13px; text-underline-offset: 4px; }
  .sl-hero-image { position: relative; inset: auto; z-index: 0; order: 2; width: calc(100% - var(--sm-gutter) * 2); height: auto; aspect-ratio: 1.5; margin-inline: auto; border: 1px solid #e1e5ee; border-radius: var(--sm-radius); object-fit: cover; object-position: 90% 55%; }
  .sl-glass-ribbon { z-index: 1; display: grid; grid-template-columns: .85fr 1.15fr; gap: 16px; margin: -18px calc(var(--sm-gutter) + 12px) 0; padding: 18px; border: 1px solid #fff; border-radius: 20px; background: #f9faff; box-shadow: inset 0 1px 1px #fff, 0 8px 24px #293c6110; font-size: 10px; line-height: 1.65; }
  .sl-glass-ribbon > span:nth-of-type(2) { padding-left: 16px; border-left: 1px solid #d5dced; }
  .sl-glass-ribbon > span:nth-of-type(3), .sl-glass-ribbon > a { display: none; }
  .sl-glass-ribbon strong { font-size: 27px; letter-spacing: -.04em; }
  .sl-glass-ribbon small { font-size: 11px; }
  .sl-glass-ribbon b { font-size: 12px; }

  /* Shared rhythm: short introductions, useful diagrams, generous touch targets. */
  .slx { --sx-muted: #596174; --sx-line: #dfe3e9; }
  .slx .slx-section { padding-block: 56px; }
  .slx :where(h1, h2) { font-size: clamp(29px, 6.8vw, 40px); line-height: 1.16; letter-spacing: -.035em; }
  .slx h3 { letter-spacing: -.02em; }
  .slx .slx-eyebrow { gap: 6px 12px; margin-bottom: 16px; font-size: 10px; }
  .slx .slx-heading { flex-direction: column; align-items: start; gap: 16px; margin-bottom: 28px; }
  .slx .slx-heading > p { max-width: 54ch; font-size: 15px; }
  .slx .slx-copy > p:not(.slx-eyebrow) { margin-top: 20px; font-size: 15px; }
  .slx .slx-split, .slx .slx-toolkit-grid, .slx .slx-faq-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .slx .slx-link { min-height: 48px; gap: 16px; margin-top: 18px; font-size: 14px; }
  .slx .slx-intro { background: var(--sm-paper); }
  .slx .slx-principle { padding: 18px 0 0; margin-top: 20px; gap: 12px; font-size: 13px; }
  .slx .slx-workbench { width: 100%; max-width: 540px; padding: 18px; border-radius: var(--sm-radius); background-size: 20px 20px; }
  .slx .slx-demo-label { flex-wrap: wrap; gap: 4px 10px; margin-bottom: 16px; font-size: 9px; }
  .slx .slx-browser { border-radius: 14px; }
  .slx .slx-browser-bar { padding: 10px; font-size: 9px; }
  .slx .slx-browser-body { padding: 18px 14px; }
  .slx .slx-demo-nav { gap: 8px; }
  .slx .slx-demo-nav > span { max-width: 68px; font-size: 9px; text-align: right; }
  .slx .slx-demo-content { grid-template-columns: 1fr; padding-block: 28px; }
  .slx .slx-demo-index { display: none; }
  .slx .slx-demo-title { font-size: 22px; }
  .slx .slx-demo-footer { gap: 8px; font-size: 9px; }
  .slx .slx-annotation { gap: 10px; margin-top: 16px; font-size: 12px; }

  /* All offers remain stacked without JS; the enhanced view uses real tabs. */
  .slx .slx-offers { background: #edf0f8; border-color: #e1e5f0; }
  .sl-mobile-offer-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 5px; margin-bottom: 18px; border: 1px solid #dce2f1; border-radius: 20px; background: #e3e8f4; }
  .sl-mobile-offer-tabs button { min-width: 0; min-height: 66px; padding: 8px 3px; border: 1px solid transparent; border-radius: 15px; color: #505b74; background: transparent; cursor: pointer; font-size: 11px; font-weight: 650; line-height: 1.5; }
  .sl-mobile-offer-tabs small { display: block; margin-top: 4px; font-size: 10px; font-weight: 500; }
  .sl-mobile-offer-tabs [aria-selected=true] { border-color: #fff; color: #4056bb; background: #fff; box-shadow: 0 3px 9px #2d416b13; }
  .slx .slx-offer-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; overflow: visible; }
  .slx .slx-offer { display: flex; border: 1px solid #d2daf0; border-radius: var(--sm-radius); box-shadow: 0 8px 24px #31476a08; }
  .slx .slx-offer-featured { border-color: #c0ccf5; box-shadow: 0 8px 24px #31476a08; }
  .slx .slx-offer-top { align-self: stretch; padding: 16px 20px; font-size: 10px; }
  .slx .slx-tag { border: 1px solid #dfe5f3; border-radius: 20px; padding: 4px 8px; font-size: 9px; }
  .slx .slx-service-art { height: 148px; min-height: 148px; padding: 16px 20px; border-block: 1px solid #252b2b0d; }
  .slx .slx-map-root { border-radius: 7px; }
  .slx .slx-product-object { border-radius: 12px; height: 72px; }
  .slx .slx-system-flow > span { border-radius: 8px; }
  .slx .slx-offer-body { border-left: 0; padding: 24px 20px 20px; }
  .slx .slx-offer-body h3 { min-height: 0; font-size: 24px; }
  .slx .slx-offer-body > p:not(.slx-price) { min-height: 0; margin-top: 10px; font-size: 14px; }
  .slx .slx-price { margin: 20px 0; font-size: 38px; letter-spacing: -.04em; }
  .slx .slx-price small { font-size: 12px; letter-spacing: 0; }
  .slx .slx-offer-body ul { padding: 18px 0 20px; font-size: 13px; }
  .slx .slx-offer-body li { padding-left: 22px; margin-bottom: 8px; }
  .slx .slx-offer-body li::before { width: 6px; height: 10px; top: 5px; left: 3px; background: transparent; border-right: 1.5px solid #4056bb; border-bottom: 1.5px solid #4056bb; transform: rotate(40deg); }
  .slx .slx-offer-foot { grid-template-columns: 1fr; gap: 8px; padding-top: 22px; font-size: 12px; }

  /* Method becomes a vertical timeline with a concrete deliverable at each step. */
  .slx .slx-process { background: #242d31; }
  .slx .slx-process-list { grid-template-columns: 1fr; gap: 0; }
  .slx .slx-process-list > li { position: relative; border: 0; border-left: 1px solid #5e736e; margin-left: 17px; padding: 0 0 30px 28px; }
  .slx .slx-process-list > li:last-child { padding-bottom: 0; border-left-color: transparent; }
  .slx .slx-stage { padding: 0 0 14px; gap: 10px; min-height: 34px; }
  .slx .slx-stage > span:first-child { position: absolute; left: -18px; top: 0; width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid #647c78; border-radius: 12px; background: #33433f; color: #e0ede7; font-size: 11px; }
  .slx .slx-stage h3 { font-size: 23px; }
  .slx .slx-stage-arrow { font-size: 20px; }
  .slx .slx-process-list > li > p { padding-bottom: 18px; font-size: 14px; }
  .slx .slx-deliverable { padding: 14px 16px; border: 1px solid #526761; border-radius: 14px; background: #ffffff06; }
  .slx .slx-deliverable > span { font-size: 9px; margin-bottom: 6px; }
  .slx .slx-deliverable strong { font-size: 14px; }
  .slx .slx-deliverable p { font-size: 12px; }
  .slx .slx-process-note { gap: 12px; margin-top: 28px; padding-top: 20px; }
  .slx .slx-editorial { background: #fff; }
  .slx .slx-editorial-flow { margin-top: 22px; padding-top: 18px; }
  .slx .slx-editorial-flow ol { flex-direction: column; gap: 10px; counter-reset: editorial; }
  .slx .slx-editorial-flow li { display: flex; align-items: center; gap: 10px; counter-increment: editorial; font-size: 12px; }
  .slx .slx-editorial-flow li::before { content: '0' counter(editorial); display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; background: #edf2ef; font-size: 10px; }
  .slx .slx-editorial-flow li:not(:last-child)::after { content: none; }
  .slx .slx-subscriptions { padding: 20px; border: 1px solid #dce5df; border-radius: var(--sm-radius); background: #f4f7f5; }
  .slx .slx-subscriptions > .slx-mini-label { display: block; padding-bottom: 18px; font-size: 9px; }
  .slx .slx-subscription { gap: 8px; padding-block: 20px; }
  .slx .slx-subscription h3 { font-size: 16px; }
  .slx .slx-subscription div p { font-size: 12px; }
  .slx .slx-subscription strong { font-size: 25px; }
  .slx .slx-subscription small { font-size: 10px; }
  .slx .slx-subscriptions > .slx-note { font-size: 12px; padding-top: 16px; }
  .slx .slx-faq { background: var(--sm-paper); }
  .slx .slx-faq h2 { font-size: clamp(29px, 6.8vw, 40px); }
  .slx .slx-faq details { margin-bottom: 10px; padding: 0 18px; border: 1px solid #dfe3ed; border-radius: 18px; background: #fff; }
  .slx .slx-faq summary { gap: 14px; min-height: 64px; padding: 18px 0; font-size: 14px; }
  .slx .slx-faq summary::after { color: #4056bb; }
  .slx .slx-faq details[open] { border-color: #b9c6f0; }
  .slx .slx-faq details p { padding: 0 0 20px; font-size: 14px; }

  /* Studio: an intentional mobile diagram, then people and concrete commitments. */
  .slx .slx-about-opening { padding-top: 26px; padding-bottom: 40px; background: radial-gradient(ellipse at 100% 0, #e6ebfc, transparent 55%), var(--sm-paper); }
  .slx .slx-about-lead { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .slx .slx-about-lead h1 { font-size: 0; }
  .slx .slx-about-lead h1 > span { margin: 0; font-size: clamp(34px, 8.6vw, 52px); line-height: 1.12; font-weight: 650; letter-spacing: -.04em; }
  .slx .slx-about-lead > div > p { font-size: 15px; }
  .slx .slx-expertise-map { padding: 20px; margin-top: 28px; border: 1px solid #dbe3e9; border-radius: var(--sm-radius); background: radial-gradient(ellipse at 50% 55%, #dde6f8, transparent 65%), #edf2f4; }
  .slx .slx-expertise-map figcaption { flex-direction: column; gap: 3px; font-size: 10px; color: #40566c; }
  .slx .slx-expertise-track { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 24px 0 20px; text-align: left; }
  .slx .slx-expertise-end { padding: 18px; border: 1px solid #fff; border-radius: 16px; background: #f8faff; }
  .slx .slx-expertise-end:last-child { text-align: left; background: #f3f8f5; }
  .slx .slx-expertise-end .slx-mini-label { font-size: 9px; color: #4056bb; }
  .slx .slx-expertise-end:last-child .slx-mini-label { color: #245447; }
  .slx .slx-expertise-end strong { font-size: 23px; margin: 8px 0; }
  .slx .slx-expertise-end p { font-size: 11px; margin: 0; }
  .slx .slx-expertise-center { padding: 18px 0; }
  .slx .slx-expertise-center strong { width: auto; min-width: 150px; aspect-ratio: auto; padding: 13px 24px; outline: 0; border-radius: 40px; font-size: 16px; line-height: 1.4; color: #4056bb; background: #f9faff; }
  .slx .slx-expertise-center > span { display: none; }
  .slx .slx-expertise-center::before { top: 0; height: 18px; border-color: #b3c1d6; }
  .slx .slx-expertise-center::after { bottom: 0; height: 18px; border-color: #b3c1d6; }
  .slx .slx-expertise-baseline { flex-direction: column; gap: 8px; font-size: 10px; border-color: #d0dbe4; }
  .slx .slx-people { background: #fff; }
  .slx .slx-profiles { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .slx .slx-profile { padding: 22px; border: 1px solid #dce2f2; border-radius: var(--sm-radius); background: linear-gradient(135deg, #f0f3fc, #fff 55%); }
  .slx .slx-profile-marketing { border-color: #dbe6df; background: linear-gradient(135deg, #eef5f0, #fff 55%); }
  .slx .slx-profile-head { gap: 16px; margin-bottom: 20px; }
  .slx .slx-monogram { flex-basis: 64px; border-radius: 18px; font-size: 36px; }
  .slx .slx-monogram > span { font-size: 13px; right: 7px; }
  .slx .slx-profile-head .slx-eyebrow { font-size: 9px; margin-bottom: 6px; }
  .slx .slx-profile h3 { font-size: 27px; margin-bottom: 4px; }
  .slx .slx-profile-head p:last-child { font-size: 11px; }
  .slx .slx-profile > p { font-size: 14px; margin-bottom: 20px; }
  .slx .slx-profile-focus > div { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 13px 0; font-size: 12px; }
  .slx .slx-profile-focus > div:last-child { padding-bottom: 0; }
  .slx .slx-commitments { background: var(--sm-paper); }
  .slx .slx-commitment-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .slx .slx-commitment-grid article { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px 16px; padding: 24px 0; border-top: 1px solid #dce1ed; }
  .slx .slx-commitment-number { grid-column: 1; grid-row: 1 / 4; display: grid; place-items: center; width: 36px; height: 36px; margin: 0; border: 1px solid #d8e0f6; border-radius: 12px; background: #eaf0fc; font-size: 11px; }
  .slx .slx-commitment-grid article:nth-child(even) { border-color: #dce1ed; }
  .slx .slx-commitment-grid article:nth-child(even) .slx-commitment-number { color: #245447; background: #eaf1ed; border-color: #d8e5dc; }
  .slx .slx-commitment-grid h3 { min-height: 0; font-size: 21px; }
  .slx .slx-commitment-grid p { grid-column: 2; margin: 0; font-size: 14px; }
  .slx .slx-commitment-grid .slx-mini-label { grid-column: 2; margin: 0; font-size: 9px; }
  .slx .slx-toolkit { background: #fff; }
  .slx .slx-tool-rows > article, .slx .slx-tool-rows > article:first-child { grid-template-columns: 28px minmax(0, 1fr); gap: 14px; padding: 22px 0; border-top: 1px solid #dce2eb; }
  .slx .slx-tool-number { width: 28px; height: 28px; padding: 4px 0; text-align: center; border-radius: 8px; background: #edf2ef; font-size: 11px; }
  .slx .slx-tool-rows h3 { font-size: 21px; }
  .slx .slx-tool-rows p { font-size: 14px; margin-top: 10px; }
  .slx .slx-tool-caption { font-size: 9px; margin-top: 12px; }

  /* Contact stays a single real form, with optional subject shortcuts. */
  .slx .slx-contact-opening { padding-top: 26px; }
  .slx .slx-contact-opening h1 { font-size: clamp(40px, 10vw, 58px); line-height: 1.08; }
  .slx .slx-contact-opening .slx-heading { gap: 18px; margin-bottom: 24px; }
  .sl-mobile-topic-hint { font-size: 12px; color: var(--sm-muted); margin-bottom: 12px !important; }
  .slx .slx-contact-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; border: 0; font-size: 12px; }
  .slx .slx-contact-topics > span { min-height: 36px; padding: 6px 12px; border: 1px solid #dce2f2; border-radius: 24px; background: #fff; }
  .sl-mobile-topic { min-height: 44px; padding: 9px 14px; border: 1px solid #d2daee; border-radius: 24px; background: #fff; color: #505b74; font-size: 12px; cursor: pointer; }
  .sl-mobile-topic[aria-pressed=true] { background: #e8edfc; border-color: #556ede; color: #4056bb; box-shadow: inset 0 0 0 1px #556ede; }
  .slx .slx-contact-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 28px 36px; }
  .slx .slx-contact-form-region { padding: 22px 18px; border: 1px solid #dfe4f0; border-radius: var(--sm-radius); background: #fff; box-shadow: 0 8px 28px #33456406; }
  .slx .slx-form-heading { gap: 12px; margin-bottom: 24px; }
  .slx .slx-form-index { flex-basis: 32px; height: 32px; border-radius: 10px; }
  .slx .slx-form-heading h2 { font-size: 22px; letter-spacing: -.03em; }
  .slx .slx-form-heading p { font-size: 12px; margin-top: 8px; }
  .sl-studio .slx-contact .bl-contact-form-shell { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .sl-studio .slx-contact .bl-contact-grid { grid-template-columns: 1fr; gap: 0; }
  .sl-studio .slx-contact .bl-contact-field { margin-bottom: 20px; }
  .sl-studio .slx-contact .bl-contact-field label { font-size: 13px; margin-bottom: 8px; }
  .sl-studio .slx-contact .bl-contact-field :where(input, textarea, select) { font-size: 16px; min-height: 52px; padding: 14px; border: 1px solid #b8c2d9; border-radius: 12px; background: #f9faff; scroll-margin-block: 24px; }
  .sl-studio .slx-contact .bl-contact-field textarea { min-height: 156px; }
  .sl-studio .slx-contact .bl-contact-field :where(input, textarea, select):focus-visible { outline: 3px solid #4056bb; outline-offset: 3px; background: #fff; }
  .sl-studio .slx-contact .bl-contact-field [aria-invalid=true] { border-color: #ad3543; }
  .sl-studio .slx-contact .bl-contact-submit { width: 100%; min-height: 54px; border-radius: 14px; font-size: 14px; padding: 14px 16px; }
  .slx .slx-contact-aside { padding: 24px 0 0; border: 0; border-top: 1px solid #d6dfdf; }
  .slx .slx-contact-aside h2 { font-size: 30px; }
  .slx .slx-contact-steps { margin-top: 24px; }
  .slx .slx-contact-steps li { grid-template-columns: 32px minmax(0, 1fr); gap: 14px; padding-bottom: 24px; }
  .slx .slx-contact-steps li > span { width: 32px; height: 32px; border-radius: 11px; }
  .slx .slx-contact-steps li:not(:last-child)::before { left: 15px; top: 36px; bottom: 4px; }
  .slx .slx-contact-steps h3 { font-size: 18px; }
  .slx .slx-contact-steps p { font-size: 14px; }
  .slx .slx-contact-brief { padding-block: 18px; }
  .slx .slx-contact-foot { flex-direction: column; gap: 10px; padding-block: 24px 28px; }
  .slx .slx-contact-foot .slx-mini-label { font-size: 9px; }
  .sl-footer { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 28px var(--sm-gutter); border-top: 1px solid #dfe3ed; }
  .sl-footer .sl-brand { font-size: 22px; margin-right: auto; }
  .sl-footer > a { display: inline-flex; align-items: center; min-height: 44px; }
  .sl-footer p { flex-basis: 100%; order: 2; margin: 0; font-size: 12px; }
  .sl-footer > span { order: 3; font-size: 11px; color: var(--sm-muted); }
}

@media (min-width: 651px) and (max-width: 900px) {
  .sl-hero .sl-wrap { max-width: 650px; padding-block: 36px 24px; }
  .sl-hero-image { max-width: 578px; aspect-ratio: 1.9; }
  .sl-glass-ribbon { width: 530px; margin-inline: auto; padding: 20px 28px; }
  .slx .slx-section > .sl-wrap, .slx .slx-contact-opening, .slx .slx-contact-layout, .slx .slx-contact-foot { max-width: 720px; }
  .slx .slx-offer { display: grid; grid-template-columns: .8fr 1.2fr; grid-template-rows: auto 1fr; }
  .slx .slx-offer-top { grid-column: 1; padding: 18px 14px; flex-wrap: wrap; align-self: start; }
  .slx .slx-service-art { grid-column: 1; grid-row: 2; height: auto; min-height: 220px; padding: 20px 14px; }
  .slx .slx-offer-body { grid-column: 2; grid-row: 1 / 3; border-left: 1px solid #dfe3e9; padding: 24px; }
  .sl-mobile-offer-tabs button { font-size: 13px; }
  .sl-mobile-offer-tabs small { font-size: 12px; }
  .slx .slx-profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .slx .slx-profile { padding: 20px; }
  .slx .slx-profile-head { flex-wrap: wrap; }
  .slx .slx-contact-form-region { padding: 28px; }
}

@media (max-width: 900px) and (max-height: 500px) {
  .sl-mobile-dock { max-width: 500px; padding: 5px; border-radius: 20px; }
  .sl-mobile-dock a { flex-direction: row; gap: 7px; min-height: 44px; border-radius: 15px; }
  .sl-mobile-dock svg { width: 20px; height: 20px; }
}

/* Solid defaults above also cover browsers without backdrop-filter support. */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  @media (max-width: 900px) {
    .sl-mobile-dock { background: #f8faffdc; -webkit-backdrop-filter: blur(24px) saturate(1.5); backdrop-filter: blur(24px) saturate(1.5); }
    .sl-glass-ribbon { background: #f9faffdc; -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); }
    .slx .slx-expertise-center strong { background: #ffffffb8; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
  }
}
@media (max-width: 900px) and (prefers-reduced-transparency: reduce) {
  .sl-mobile-dock, .sl-glass-ribbon, .slx .slx-browser, .slx .slx-expertise-center strong { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  .sl-studio * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media (max-width: 900px) and (forced-colors: active) {
  .sl-mobile-dock { background: Canvas; border: 1px solid CanvasText; }
  .sl-mobile-dock a[aria-current], .sl-mobile-offer-tabs [aria-selected=true], .sl-mobile-topic[aria-pressed=true] { border: 2px solid Highlight; }
}
