/* NETCA v100 — responsive engineering safety layer.
   Deliberately scoped to tablet/mobile widths so the existing desktop design stays intact. */

@media (max-width:1180px){
  html,body{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{min-width:0}
  :where(main,section,article,aside,header,footer,nav,form,fieldset,div){min-width:0}
  :where(img,video,iframe,canvas){max-width:100%}
  :where(input,select,textarea,button){box-sizing:border-box;max-width:100%}
  :where(p,li,dd,dt,address,figcaption,a){overflow-wrap:break-word}
  :where(pre){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  :where(table){max-width:100%}
  [id]{scroll-margin-top:92px}

  /* Keep any decorative/interactive stage contained by its column. */
  :where(.workx-hero-system,.processx-hero-visual,.sm-feed-stage,.sm-native-stage,.sm-console-wrap,
  .ix99-signaldesk,.ix99-featured,.nia-hero-media,.c93-form-shell,.career-hero-visual,
  .lg-engine,.lg-case-visual,.email-hero-visual,.sd-search-screen){max-width:100%}
}

@media (max-width:1120px){
  .site-header{box-sizing:border-box;max-width:calc(100vw - 24px)}
  .site-header .brand{min-width:0;flex:0 1 auto}
  .site-header .header-actions{min-width:0;flex:0 0 auto;gap:7px}
  .site-header .search-trigger,.site-header .menu-toggle{flex:0 0 auto}

  /* Mobile navigation panel must behave like a true viewport layer. */
  .mobile-menu{box-sizing:border-box;width:100%;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;
    padding-top:calc(100px + env(safe-area-inset-top));padding-bottom:calc(30px + env(safe-area-inset-bottom))}
  .mobile-menu-inner{width:100%;min-width:0}
  .mobile-menu-inner>a,.mobile-service-cluster>a{max-width:100%;min-width:0}
  .mobile-contact a{overflow-wrap:anywhere}

  /* Prevent sticky desktop sidebars from trapping tablet layouts. */
  :where(.sh99-group header,.nia-toc){max-height:none}
}

@media (max-width:900px){
  /* Footer stays readable instead of becoming a compressed 3-column row. */
  html body .footer-bottom{grid-template-columns:1fr!important;gap:14px!important;align-items:start!important}
  html body .footer-bottom>span:nth-child(2){text-align:left!important}
  html body .footer-bottom>div{justify-content:flex-start!important;gap:12px 18px!important;flex-wrap:wrap!important}
  html body .footer-bottom>div>a{white-space:normal!important}

  /* Trust/payment marks keep their natural aspect ratios and wrap cleanly. */
  .netca-trust-logos{width:100%;min-width:0}
  .netca-trust-logo-set,.netca-trust-payment-set{max-width:100%}

  /* Generic content media should never force horizontal page scrolling. */
  :where(.nia-page,.ix99-page,.c93-page,.career-page,.workx-page,.processx-page,.sm-page,.lg-page,.email-page) img{max-width:100%;height:auto}
}

@media (max-width:820px){
  .site-header{max-width:calc(100vw - 24px)}
  .site-header .netca-logo{max-width:116px;height:auto}
  .site-header .search-trigger{min-width:42px;min-height:42px;justify-content:center}
  .site-header .menu-toggle{min-width:44px;min-height:44px}

  /* Preserve the site's original mobile header decision: CTA lives inside the page, not squeezed into the bar. */
  html body .site-header .header-actions>a.pill-button.pill-small{display:none!important}

  /* Large horizontal UI rows become touch-scrollable rather than clipped. */
  :where(.sm-universe-nav,.sm-play-nav,.ix99-tools,.career-filters,.workx-filters,.insight-filters){max-width:100%;-webkit-overflow-scrolling:touch}
}

@media (max-width:760px){
  /* iOS Safari does not auto-zoom form fields at 16px+. */
  input,select,textarea{font-size:16px!important}
  input,select,textarea,button{min-height:44px}
  textarea{min-height:120px}

  /* Keep buttons useful when labels are longer on narrow phones. */
  :where(.hero-actions,.c93-hero-actions,.c93-final-actions,.workx-actions,.processx-actions,.nia-cta>div,.sd-cta>div){max-width:100%}
  :where(.hero-actions a,.hero-actions button,.c93-primary,.c93-submit,.workx-actions a,.processx-actions a){max-width:100%}

  /* Footer/legal row: large enough to read but allowed to wrap. */
  html body .site-footer .footer-bottom,
  html body footer.site-footer .footer-bottom,
  html body .footer-bottom,
  html body .footer-bottom>span,
  html body .footer-bottom>div>a{font-size:14px!important;line-height:1.5!important}
  html body .footer-bottom>div{justify-content:flex-start!important}

  .netca-trust-payment-set{width:100%!important;max-width:100%!important}
  .netca-trust-payment-set img{width:100%!important;height:auto!important}

  /* Cards and controls should not retain desktop transforms after touch. */
  @media (hover:none){
    .site-header a,.site-header button,.mobile-menu a{-webkit-tap-highlight-color:transparent}
  }
}

@media (max-width:520px){
  .site-header{left:8px!important;right:8px!important;max-width:calc(100vw - 16px);padding-left:10px!important;padding-right:8px!important}
  body.is-scrolled .site-header{left:8px!important;right:8px!important}
  .site-header .netca-logo{width:104px!important;max-width:104px!important}
  .site-header .header-actions{gap:4px!important}
  .site-header .search-trigger{width:40px;min-width:40px;padding:4px!important}
  .site-header .menu-toggle{width:42px;min-width:42px;height:42px;min-height:42px}

  .mobile-menu{padding-left:18px;padding-right:18px}
  .mobile-menu-inner>a{grid-template-columns:30px minmax(0,1fr) 24px!important}

  html body .footer-bottom>div{display:grid!important;grid-template-columns:1fr;gap:9px!important}
  html body .footer-bottom>div>a{width:max-content;max-width:100%}

  .netca-trust-logo-set{grid-template-columns:1fr 1fr!important;gap:16px!important}
  .netca-trust-logo-set img{max-width:132px!important;height:30px!important}

  /* Tables remain available without pushing the whole page sideways. */
  :where(.nia-article,.legal-content,.terms-content,.privacy-content) table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media (max-width:380px){
  .site-header .netca-logo{width:96px!important;max-width:96px!important}
  .netca-trust-logo-set img{max-width:118px!important;height:28px!important}
}

@media (max-width:900px) and (orientation:landscape){
  .mobile-menu{padding-top:82px;max-height:100dvh}
  .mobile-menu-inner>a{padding-top:12px!important;padding-bottom:12px!important}
}

@media (prefers-reduced-motion:reduce){
  .mobile-menu{scroll-behavior:auto}
}

/* ============================================================
   NETCA v101 — MOBILE/TABLET STABILITY LAYER
   Desktop (>1180px) is intentionally untouched.
   ============================================================ */

@media (max-width:1180px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  main{width:100%;max-width:100vw;overflow-x:clip!important}
  .site-header{box-sizing:border-box}
  :where(section,article,div,aside,figure,form,fieldset,nav){min-width:0}
  :where(img,svg,video,canvas,iframe){max-width:100%}
  :where([data-parallax]){will-change:auto}
}

/* ------------------------- TABLET -------------------------- */
@media (max-width:900px){
  /* Desktop parallax is attractive on a pointer device but can push large
     absolute scenes outside a narrow viewport while the user scrolls. */
  :where([data-parallax]){transform:none!important}

  /* Every visual/browser/dashboard must stay inside its own section. */
  :where(
    .hero-orbit-layer,.orbit-scene,
    .gads-hero-console,.gads-panel,.gads-panel-visual,
    .em-hero-cockpit,.em-cockpit-window,.em-lifecycle-lab,
    .lg-engine,.lg-pipeline-accordion,.lg-pipe-panel,.lg-pipe-viz,
    .sm-universe-shell,.sm-universe-main,.sm-console-wrap,.sm-native-stage,
    .career-hero-stage,.career-form-preview,
    .c93-form-shell,.workx-hero-system,.workx-system-frame,
    .processx-hero-visual,.ix99-signaldesk,.ix99-featured,
    .nia-hero-media,.sd-search-screen
  ){max-width:100%!important;min-width:0!important;box-sizing:border-box}

  /* Touch devices should never keep desktop hover transforms stuck. */
  @media (hover:none) and (pointer:coarse){
    :where(.cap-card,.gads-tools article,.lg-case,.lg-tool,.sm-case,.workx-case,
    .career-role,.ix99-card,.nia-related-grid a){transform:none}
  }
}

/* ---------------------- PHONE / SMALL TABLET ---------------------- */
@media (max-width:820px){
  /* Header: always fully visible, never wider than the viewport. */
  .site-header{
    left:10px!important;right:10px!important;top:9px!important;
    width:auto!important;max-width:calc(100vw - 20px)!important;
    padding-left:12px!important;padding-right:8px!important;
    border-radius:17px!important
  }
  body.is-scrolled .site-header{left:10px!important;right:10px!important;top:7px!important}
  .site-header .brand{min-width:0!important;flex:0 1 auto!important}
  .site-header .netca-logo{width:108px!important;max-width:108px!important;height:auto!important}
  .site-header .header-actions{margin-left:auto!important;gap:4px!important;min-width:0!important}
  .site-header .search-trigger{width:38px!important;min-width:38px!important;height:40px!important;min-height:40px!important;padding:5px!important}
  .site-header .menu-toggle{display:block!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important}

  /* Root mobile menu. */
  .mobile-menu{
    width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;
    overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;
    padding:88px 16px calc(28px + env(safe-area-inset-bottom))!important
  }
  .mobile-menu-inner{width:100%!important;max-width:720px!important;margin:0 auto!important;padding:0!important}
  .mobile-menu-inner>a{width:100%;box-sizing:border-box}
  .mobile-service-cluster{width:100%;max-width:100%;gap:8px}
  .mobile-service-cluster a{min-width:0;overflow:hidden}
  .mobile-contact{max-width:100%}
  .mobile-contact a{overflow-wrap:anywhere}

  /* HOMEPAGE — keep the complete hero system inside the phone. */
  .hero{overflow:clip!important;padding-left:16px!important;padding-right:16px!important}
  .hero-copy{width:100%!important;max-width:100%!important;transform:none!important}
  .hero h1{max-width:100%!important;font-size:clamp(48px,14.4vw,74px)!important;line-height:.89!important}
  .hero-copy>p{max-width:100%!important;font-size:16px!important;line-height:1.62!important}
  .hero-actions{width:100%!important;max-width:340px!important}
  .hero-primary{max-width:100%!important;box-sizing:border-box}
  .hero-meta{max-width:100%;gap:8px 10px!important;font-size:8px!important}
  .hero-orbit-layer{
    width:100%!important;max-width:100%!important;margin:34px auto 0!important;
    transform:none!important;justify-self:stretch!important
  }
  .hero-orbit-layer .orbit-scene{
    width:100%!important;max-width:100%!important;margin:0!important;transform:none!important
  }
  .hero-system-frame{left:0!important;right:0!important;max-width:100%!important}
  .card-performance{left:0!important;max-width:132px!important}
  .card-status{right:0!important;max-width:150px!important}
  .scene-label{display:none!important}
  .rail-track{max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;mask-image:none!important;-webkit-mask-image:none!important}

  /* Decorative vertical scroll labels are desktop-only affordances. */
  .ux-scroll-cue,.mobile-scroll-cue,.saas-scroll-cue,.custom-scroll-cue,.ai-scroll,
  .label-2{display:none!important}

  /* GOOGLE ADS — convert the desktop vertical accordion into a real mobile
     horizontal accordion. This directly fixes the clipped coloured rails. */
  .gads-format-guide{border-radius:18px!important;overflow:hidden}
  .gads-format-guide nav{max-width:100%;overflow-x:auto!important;padding:2px 2px 5px;-webkit-overflow-scrolling:touch}
  .gads-format-guide nav button{flex:0 0 36px}
  .gads-accordion{height:auto!important;display:block!important;overflow:visible!important;border-radius:0 0 22px 22px!important}
  .gads-accordion article,.gads-accordion article.active{
    display:block!important;width:100%!important;min-width:0!important;overflow:hidden!important;
    border-bottom:1px solid rgba(255,255,255,.14)
  }
  .gads-accordion article:last-child{border-bottom:0}
  .gads-accordion article>button{
    width:100%!important;min-width:0!important;height:auto!important;min-height:66px!important;
    padding:10px 14px!important;display:grid!important;
    grid-template-columns:34px minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;
    column-gap:11px!important;align-items:center!important;text-align:left!important;
    border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important
  }
  .gads-accordion article>button>span{
    position:static!important;grid-row:1/3;grid-column:1!important;align-self:center;
    font-size:9px!important;line-height:1!important
  }
  .gads-accordion article>button strong{
    position:static!important;grid-column:2!important;grid-row:1!important;
    transform:none!important;writing-mode:horizontal-tb!important;white-space:normal!important;
    font-size:18px!important;line-height:1.08!important;letter-spacing:-.035em!important
  }
  .gads-accordion article>button small{
    position:static!important;grid-column:2!important;grid-row:2!important;
    transform:none!important;writing-mode:horizontal-tb!important;white-space:normal!important;
    font-size:7px!important;line-height:1.2!important;letter-spacing:.08em!important;opacity:.72
  }
  .gads-accordion article>button>i{
    position:static!important;grid-column:3!important;grid-row:1/3!important;
    transform:none!important;width:28px!important;height:28px!important;align-self:center!important
  }
  .gads-accordion article.active>button>i{transform:rotate(45deg)!important}
  .gads-accordion article:not(.active) .gads-panel{display:none!important}
  .gads-accordion article.active .gads-panel{display:grid!important}
  .gads-panel{grid-template-columns:1fr!important;width:100%!important;min-width:0!important}
  .gads-panel-copy{padding:30px 18px!important;min-width:0!important}
  .gads-panel-copy h3{font-size:clamp(36px,11vw,48px)!important;overflow-wrap:anywhere}
  .gads-panel-copy li{gap:12px;align-items:flex-start}
  .gads-panel-copy footer{flex-wrap:wrap;align-items:flex-end}
  .gads-panel-visual{width:100%!important;min-width:0!important;min-height:330px!important;padding:13px!important;overflow:hidden!important}
  .format-search,.format-pmax,.format-shopping,.format-youtube{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}
  .gads-chart{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .gads-chart svg{min-width:520px!important;transform:none!important}
  .measurement-detail{min-width:0!important}

  /* SEARCH / SEO pages: scroll tab-like strips instead of clipping them. */
  .sd-search-screen>nav{overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;padding-right:18px!important}

  /* EMAIL MARKETING — contain scaled desktop-style diagrams. */
  .em-hero,.em-lifecycle,.em-creative,.em-segments,.em-deliverability,.em-measure{overflow-x:clip!important}
  .em-cockpit-window,.em-lifecycle-stage{max-width:100%!important;overflow:hidden!important}
  .em-lifecycle-lab>nav{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .em-platform-grid,.em-scope-grid,.em-system-grid{max-width:100%}

  /* LEAD GENERATION — horizontal accordion already exists; strengthen its
     containment so no pipeline panel can reintroduce a desktop min-width. */
  .lg-pipeline-accordion,.lg-pipe,.lg-pipe.active,.lg-pipe-panel{width:100%!important;max-width:100%!important;min-width:0!important}
  .lg-pipe>button{max-width:100%!important}
  .lg-pipe>button small{margin-right:42px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lg-pipe-copy,.lg-pipe-viz{min-width:0!important;max-width:100%!important}
  .lg-before-after,.lg-case-grid,.lg-tools-grid-v68{max-width:100%!important}

  /* SOCIAL — dock/tabs are swipeable; native previews remain inside card. */
  .sm-platform-dock,.sm-universe-nav,.sm-play-nav{max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .sm-platform-dock::-webkit-scrollbar,.sm-universe-nav::-webkit-scrollbar,.sm-play-nav::-webkit-scrollbar{display:none}
  .sm-console-post,.sm-native-stage,.sm-console-layout,.sm-format-theatre,.sm-constellation-shell{max-width:100%!important;min-width:0!important}
  .sm-pinterest-ui{grid-template-columns:1fr!important}
  .sm-pin{min-height:340px!important}

  /* NEW STATIC PAGES / BLOG — prevent transformed presentation boards from
     breaching the viewport and allow tool/filter rows to swipe. */
  .workx-hero-system,.workx-system-frame,.processx-hero-visual,.ix99-signaldesk,
  .c93-form-shell,.career-form-preview,.nia-hero-media{width:100%!important;max-width:100%!important;transform:none!important}
  .career-filters,.workx-filters,.ix99-tools>div,.ix99-filters,.insight-filters{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .workx-case,.processx-panel,.ix99-card,.nia-principle,.c93-form-shell{min-width:0!important}

  /* Tables and long snippets stay available inside their own scroll area. */
  :where(.nia-article,.terms-content,.privacy-content,.legal-content,.c93-page) table{
    display:block!important;width:100%!important;max-width:100%!important;
    overflow-x:auto!important;-webkit-overflow-scrolling:touch
  }
}

@media (max-width:620px){
  /* Home visual receives a little more room instead of being oversized then clipped. */
  .hero-orbit-layer{margin-top:26px!important}
  .hero-system-frame{border-radius:20px!important}

  /* Google Ads panels become compact but keep the same content and visual. */
  .gads-panel-copy{padding:26px 15px!important}
  .gads-panel-copy h3{font-size:38px!important}
  .gads-panel-visual{min-height:300px!important;padding:10px!important}
  .format-search{padding:18px!important}
  .format-search>a{font-size:19px!important;overflow-wrap:anywhere}
  .format-pmax,.format-shopping,.format-youtube{padding:14px!important}

  /* Email desktop diagrams are intentionally miniature visualizations on phones. */
  .em-flow-board{transform:scale(.56)!important;transform-origin:left top!important}
  .em-stage-map{transform:scale(.52)!important;transform-origin:left top!important}

  /* Cards with three-column metadata become single-column where necessary. */
  .lg-case-metrics{grid-template-columns:1fr!important}
  .nia-sources a{align-items:flex-start;flex-direction:column;gap:6px!important}
}

@media (max-width:420px){
  .site-header{left:7px!important;right:7px!important;max-width:calc(100vw - 14px)!important}
  .site-header .netca-logo{width:98px!important;max-width:98px!important}
  .site-header .search-trigger{width:36px!important;min-width:36px!important}
  .site-header .menu-toggle{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
  .hero h1{font-size:clamp(45px,14vw,62px)!important}
  .card-performance{transform:scale(.88)!important;transform-origin:left top!important}
  .card-status{transform:scale(.88)!important;transform-origin:right bottom!important}
  .gads-accordion article>button{grid-template-columns:30px minmax(0,1fr) 28px!important;padding:9px 10px!important}
  .gads-accordion article>button strong{font-size:16.5px!important}
  .gads-accordion article>button small{font-size:6.5px!important}
  .lg-pipe>button small{display:none!important}
}

/* -----------------------------------------------------------------
   MOBILE SERVICE SUBMENU — lives in a separate body-level sheet so it
   never competes with React/Vinext's desktop mega-menu DOM/state.
   ----------------------------------------------------------------- */
.netca-mobile-submenu-v101{display:none}
@media (max-width:1120px){
  .netca-mobile-submenu-v101{
    --m-ink:#16252a;--m-line:#16252a22;--m-blue:#3156e6;--m-acid:#c9ff4a;
    position:fixed;z-index:90;inset:0;width:100vw;height:100dvh;
    color:var(--m-ink);background:linear-gradient(145deg,#faf7ef,#eef2ff 58%,#e6faf5);
    overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    padding:calc(18px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));
    opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .22s ease,transform .25s ease
  }
  .netca-mobile-submenu-v101.is-open{display:block;opacity:1;pointer-events:auto;transform:none}
  .netca-mobile-submenu-v101__shell{max-width:720px;margin:0 auto}
  .netca-mobile-submenu-v101__top{
    position:sticky;z-index:3;top:0;display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:8px;
    padding:7px;background:#ffffffdd;backdrop-filter:blur(16px);border:1px solid var(--m-line);border-radius:17px;
    box-shadow:0 14px 40px #263c4318
  }
  .netca-mobile-submenu-v101__top button{width:42px;height:42px;min-height:42px;border:0;border-radius:12px;background:#edf1ff;color:var(--m-ink);font-size:19px;cursor:pointer}
  .netca-mobile-submenu-v101__top strong{text-align:center;font-size:15px;letter-spacing:-.02em}
  .netca-mobile-submenu-v101__intro{padding:34px 4px 18px}
  .netca-mobile-submenu-v101__intro span{font:700 9px/1 var(--font-mono,monospace);letter-spacing:.12em;color:var(--m-blue)}
  .netca-mobile-submenu-v101__intro h2{margin:13px 0 7px;font-size:clamp(38px,11vw,58px);line-height:.92;letter-spacing:-.055em}
  .netca-mobile-submenu-v101__intro p{margin:0;color:#637477;font-size:14px;line-height:1.55}
  .netca-mobile-submenu-v101__tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0 14px}
  .netca-mobile-submenu-v101__tabs button{
    min-width:0;min-height:48px;border:1px solid var(--m-line);border-radius:13px;background:#fff;color:var(--m-ink);
    padding:9px 6px;font:700 11px/1 var(--font-manrope,Arial,sans-serif);cursor:pointer
  }
  .netca-mobile-submenu-v101__tabs button.is-active{background:var(--m-ink);border-color:var(--m-ink);color:#fff;box-shadow:0 7px 0 var(--m-acid)}
  .netca-mobile-submenu-v101__list{border:1px solid var(--m-line);border-radius:20px;background:#ffffffc9;overflow:hidden}
  .netca-mobile-submenu-v101__list a{
    display:grid;grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:10px;
    min-height:77px;padding:13px 12px;border-bottom:1px solid var(--m-line);color:inherit;text-decoration:none
  }
  .netca-mobile-submenu-v101__list a:last-child{border-bottom:0}
  .netca-mobile-submenu-v101__list a>span{font:700 8px/1 var(--font-mono,monospace);color:var(--m-blue)}
  .netca-mobile-submenu-v101__list a>div{min-width:0}
  .netca-mobile-submenu-v101__list strong{display:block;font-size:16px;line-height:1.15}
  .netca-mobile-submenu-v101__list small{display:block;margin-top:5px;color:#6d7c80;font-size:11px;line-height:1.35}
  .netca-mobile-submenu-v101__list i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf1ff;color:var(--m-blue);font-style:normal}
  .netca-mobile-submenu-v101__contact{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:14px;padding:14px 4px;font-size:12px}
  .netca-mobile-submenu-v101__contact a{font-weight:750;color:var(--m-blue);overflow-wrap:anywhere}
}

@media (max-width:480px){
  .netca-mobile-submenu-v101{padding-left:10px;padding-right:10px}
  .netca-mobile-submenu-v101__intro{padding-top:28px}
  .netca-mobile-submenu-v101__tabs{gap:5px}
  .netca-mobile-submenu-v101__tabs button{font-size:10px}
  .netca-mobile-submenu-v101__list a{grid-template-columns:28px minmax(0,1fr) 28px;padding:12px 9px}
  .netca-mobile-submenu-v101__list strong{font-size:15px}
  .netca-mobile-submenu-v101__contact{align-items:flex-start;flex-direction:column}
}


/* v102 — subtle design credit; footer-only, zero layout displacement */
.footer { position: relative; }
.site-designer-credit {
  position: absolute;
  left: clamp(16px, 2.2vw, 42px);
  bottom: 10px;
  z-index: 4;
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  margin: 0;
  padding: 0;
  font-family: var(--font-mono, "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  font-size: 8px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: none;
  color: rgba(255,255,255,.38);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.site-designer-credit b {
  font: inherit;
  font-weight: 500;
  color: rgba(255,255,255,.52);
}
@media (max-width: 760px) {
  .site-designer-credit {
    left: 16px;
    bottom: 8px;
    font-size: 8px;
  }
}
