/* BMA — canonical public mobile layer. iPhone-first, corporate technical. */
:root{
  --bma-ui-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Arial,sans-serif;
  --bma-dock-ink:#294d63;
  --bma-dock-muted:#82919a;
  --bma-dock-active-a:rgba(103,139,159,.18);
  --bma-dock-active-b:rgba(103,139,159,.075);
  --bma-dock-surface-a:rgba(250,252,253,.975);
  --bma-dock-surface-b:rgba(238,243,246,.965);
}
.mobile-dock{display:none}
.mobile-nav:not([open]){display:none}
@media(min-width:901px){.mobile-nav{display:none!important}}

@media(max-width:900px){
  body{padding-bottom:calc(102px + env(safe-area-inset-bottom));font-family:var(--bma-ui-font)}
  body.menu-open{overflow:hidden}
  .desktop-nav,.header-cta{display:none}

  /* iOS-style navigation bar: logo remains mathematically centered. */
  .site-header{padding-top:env(safe-area-inset-top);background:rgba(249,251,252,.94);border-bottom:1px solid rgba(54,74,87,.07);backdrop-filter:saturate(120%) blur(20px);-webkit-backdrop-filter:saturate(120%) blur(20px)}
  .site-header .nav-shell{position:relative;width:100%;max-width:none;margin:0;min-height:64px;padding:0 20px;justify-content:center;transition:min-height .18s ease}
  .site-header .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;touch-action:manipulation}
  body:not(.panel-body) .site-header .brand-mask{width:90px;height:34px;background:#607480;transition:width .18s ease,height .18s ease,background-color .18s ease}
  .site-header.is-scrolled .nav-shell{min-height:55px}
  body:not(.panel-body) .site-header.is-scrolled .brand-mask{width:82px;height:31px;background:#566d7a}

  /* Native dialog bottom sheet. The More tab remains a real fallback link without JS. */
  .mobile-nav[open]{position:fixed;inset:auto 9px calc(86px + env(safe-area-inset-bottom));z-index:160;display:flex;flex-direction:column;gap:14px;width:auto;max-width:none;max-height:min(72svh,620px);margin:0;padding:10px 14px 14px;overflow:auto;overscroll-behavior:contain;border:1px solid rgba(59,89,108,.12);border-radius:27px;background:linear-gradient(180deg,rgba(252,253,254,.99),rgba(238,244,247,.99));color:#1d4056;box-shadow:0 24px 70px rgba(22,53,72,.22);backdrop-filter:saturate(125%) blur(24px);-webkit-backdrop-filter:saturate(125%) blur(24px);animation:bma-sheet-in .18s ease-out both}
  .mobile-nav::backdrop{background:rgba(19,39,52,.26);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
  .mobile-nav:before{content:"";width:38px;height:5px;margin:0 auto 2px;border-radius:999px;background:rgba(66,91,106,.18)}
  .mobile-nav-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:2px 2px 4px;border:0}
  .mobile-nav-kicker{margin:0 0 4px;color:#7d8f99;font:700 9px/1 var(--bma-ui-font);letter-spacing:.07em;text-transform:uppercase}
  .mobile-nav-top strong{display:block;color:#1d4056;font:700 22px/1.05 var(--bma-ui-font);letter-spacing:-.025em}
  .menu-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:rgba(70,101,120,.08);color:#48687b;font:400 27px/1 var(--bma-ui-font);cursor:pointer;touch-action:manipulation}
  .mobile-nav nav{display:grid;gap:8px;margin:0}
  .mobile-nav nav a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 12px;align-items:center;min-height:62px;padding:11px 14px;border:1px solid rgba(57,86,104,.08);border-radius:16px;background:rgba(255,255,255,.62);text-decoration:none;color:#294d63;font-family:var(--bma-ui-font)}
  .mobile-nav nav a[aria-current]{background:linear-gradient(180deg,rgba(112,146,165,.16),rgba(112,146,165,.07));border-color:rgba(75,109,129,.16)}
  .mobile-nav nav a strong{font-size:15px;line-height:1.15;font-weight:650;color:inherit}
  .mobile-nav nav a small{font-size:11px;line-height:1.35;color:#80919a}
  .mobile-nav nav a b{grid-column:2;grid-row:1/span 2;align-self:center;color:#728a99;font:400 22px/1 var(--bma-ui-font)}
  .mobile-nav-cta{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:0 15px;border-radius:15px;background:linear-gradient(180deg,#728d9d,#607d8e);color:#fff;text-decoration:none;font:650 12px/1 var(--bma-ui-font);box-shadow:0 8px 20px rgba(52,80,96,.12)}

  /* Canonical BMA tab bar — muted steel-blue, never electric blue. */
  .mobile-dock{position:fixed;left:10px;right:10px;bottom:10px;z-index:140;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;align-items:stretch;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border:1px solid rgba(52,82,100,.12);border-radius:25px;background:linear-gradient(180deg,var(--bma-dock-surface-a),var(--bma-dock-surface-b));box-shadow:0 12px 34px rgba(39,68,84,.10),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:saturate(130%) blur(24px);-webkit-backdrop-filter:saturate(130%) blur(24px)}
  .mobile-dock__item{appearance:none;min-width:0;min-height:62px;padding:5px 2px;border:0;border-radius:17px;background:transparent;color:var(--bma-dock-muted);display:grid;grid-template-rows:30px auto;align-content:center;justify-items:center;gap:4px;text-decoration:none;font-family:var(--bma-ui-font);cursor:pointer;touch-action:manipulation;transition:background .16s ease,color .16s ease,transform .1s ease,box-shadow .16s ease}
  .mobile-dock__bubble{width:32px;height:30px;display:grid;place-items:center;border-radius:10px;color:currentColor}
  .mobile-dock__item svg{display:block;width:22px;height:22px}
  .mobile-dock__label{font-size:10px;line-height:1;font-weight:650;letter-spacing:-.01em;white-space:nowrap}
  .mobile-dock__item[aria-current],.mobile-dock__item.is-open{color:var(--bma-dock-ink);background:linear-gradient(180deg,var(--bma-dock-active-a),var(--bma-dock-active-b));box-shadow:inset 0 0 0 1px rgba(71,103,122,.065)}
  .mobile-dock__item[aria-current] .mobile-dock__bubble,.mobile-dock__item.is-open .mobile-dock__bubble{color:#526f80}
  .mobile-dock__item:active{transform:scale(.965)}

  /* Home composition: retain content, change mobile interaction model. */
  .home-page--bma .bma-section__head{display:grid;grid-template-columns:minmax(0,1fr);gap:21px;align-items:start}
  .home-page--bma .bma-section__head>div,.home-page--bma .bma-section__side{min-width:0;width:100%}
  .home-page--bma .bma-section__side{max-width:620px;justify-self:stretch}
  .home-page--bma .bma-actions{display:grid;grid-template-columns:1fr;gap:10px;max-width:360px}
  .home-page--bma .bma-actions .bma-btn{width:100%;justify-content:space-between}
  .home-page--bma .bma-hero__location{max-width:280px;padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

  /* Principles become intentional swipeable chips instead of disappearing. */
  .home-page--bma .bma-hero__principles{width:calc(100vw - 40px);max-width:520px;gap:8px;margin-top:34px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding-bottom:2px}
  .home-page--bma .bma-hero__principles::-webkit-scrollbar{display:none}
  .home-page--bma .bma-hero__principles i{display:none}
  .home-page--bma .bma-hero__principles span{flex:0 0 auto;min-height:34px;padding:0 13px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.065);color:rgba(255,255,255,.78);scroll-snap-align:start}

  .home-page--bma .bma-proof{background:linear-gradient(180deg,#f5f8fa,#fff)}
  .home-page--bma .bma-proof__grid{gap:10px;padding:20px 0}
  .home-page--bma .bma-proof__grid>div{min-height:unset;padding:18px;border:1px solid rgba(34,60,76,.08);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(27,56,72,.035)}
  .home-page--bma .bma-proof__intro{grid-column:1/-1}
  .home-page--bma .bma-proof__grid>div:first-child,.home-page--bma .bma-proof__grid>div:last-child{padding-left:18px;padding-right:18px}

  /* Services + Sectors: native CSS scroll-snap, no library and no pagination dots. */
  .home-page--bma .bma-service-grid,.home-page--bma .bma-sector-grid{display:flex!important;grid-template-columns:none!important;gap:12px!important;width:min(calc(100% - 40px),var(--bma-content-max));padding:2px 0 14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;border:0!important}
  .home-page--bma .bma-service-grid::-webkit-scrollbar,.home-page--bma .bma-sector-grid::-webkit-scrollbar{display:none}
  .home-page--bma .bma-service-card{flex:0 0 min(82vw,350px);min-height:260px!important;padding:23px 21px;scroll-snap-align:start;scroll-snap-stop:normal;border-radius:16px;overflow:hidden;box-shadow:0 7px 22px rgba(28,55,70,.045)}
  .home-page--bma .bma-sector-card{flex:0 0 min(76vw,320px);min-height:155px!important;scroll-snap-align:start;scroll-snap-stop:normal;border:1px solid var(--bma-brand-line)!important;border-radius:16px;overflow:hidden;box-shadow:0 7px 22px rgba(28,55,70,.04)}
  .home-page--bma .bma-card-index,.home-page--bma .bma-sector-number,.home-page--bma .bma-team-card__index{opacity:.5}

  /* Technology is a deliberate system list on mobile, not another card grid. */
  .home-page--bma .bma-digital__grid{display:block;border:0;border-top:1px solid rgba(255,255,255,.13)}
  .home-page--bma .bma-digital-card{grid-template-columns:34px 44px minmax(0,1fr) 16px;gap:12px;min-height:126px;padding:21px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.13);background:transparent}
  .home-page--bma .bma-digital-card__icon{width:42px;height:42px;border-radius:11px}

  /* Values remain intentionally secondary, but now read as a designed system. */
  .home-page--bma .bma-about__values{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:30px;border-top:1px solid #cbd6dc}
  .home-page--bma .bma-about__values div,.home-page--bma .bma-about__values div+div{min-width:0;padding:14px 8px 0;border-left:0;border-bottom:0}
  .home-page--bma .bma-about__values div:first-child{padding-left:0}
  .home-page--bma .bma-about__values div+div{border-left:1px solid #d6e0e5;padding-left:12px}
  .home-page--bma .bma-about__values strong{font-size:9px}
  .home-page--bma .bma-about__values span{font-size:11px;line-height:1.25}

  /* Work method chips reuse the same interaction grammar as the hero principles. */
  .home-page--bma .bma-work__principles{display:flex;gap:7px;margin-top:24px;overflow-x:auto;scrollbar-width:none}
  .home-page--bma .bma-work__principles::-webkit-scrollbar{display:none}
  .home-page--bma .bma-work__principles span{flex:0 0 auto;min-height:34px;padding:0 12px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#c7d5dd;font:600 9px/1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}
  .home-page--bma .bma-work-rail{display:none}

  /* Team is scanned, not explored: two visible columns instead of a carousel. */
  .home-page--bma .bma-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .home-page--bma .bma-team-card{display:block!important;min-height:0!important;border-radius:15px;overflow:hidden;box-shadow:0 7px 22px rgba(28,55,70,.04)}
  .home-page--bma .bma-team-card__media{height:128px!important;min-height:128px!important}
  .home-page--bma .bma-team-card__body{min-height:105px!important;padding:13px 12px 14px!important}
  .home-page--bma .bma-team-card__body h3{font-size:13px!important}
  .home-page--bma .bma-team-card__body p{font-size:9px!important}
  /* Mobile footer: direct information remains visible; no extra tap required. */
  .footer-v2__grid{padding-bottom:calc(30px + env(safe-area-inset-bottom))}

  /* iOS form ergonomics. */
  .lead-form input,.lead-form select,.lead-form textarea{font-size:16px;min-height:46px}
  .lead-form textarea{min-height:138px}
  .btn,.bma-btn,.lead-submit,.text-link,.mobile-nav a,.menu-close{touch-action:manipulation}
}

@media(max-width:640px){
  :root{--bma-gutter:20px}
  .site-header .nav-shell{min-height:62px;padding-inline:16px}
  .site-header.is-scrolled .nav-shell{min-height:54px}
  body:not(.panel-body) .site-header .brand-mask{width:88px;height:33px}
  body:not(.panel-body) .site-header.is-scrolled .brand-mask{width:80px;height:30px}
  body{padding-bottom:calc(98px + env(safe-area-inset-bottom))}
  .mobile-dock{left:8px;right:8px;bottom:8px;padding:7px 7px calc(7px + env(safe-area-inset-bottom));border-radius:23px}
  .mobile-dock__item{min-height:60px;border-radius:16px}
  .mobile-dock__label{font-size:9.5px}
  .mobile-nav[open]{left:8px;right:8px;bottom:calc(80px + env(safe-area-inset-bottom));border-radius:24px}
  .home-page--bma .bma-section__head{gap:18px;margin-bottom:28px}
  .home-page--bma .bma-section__head h2{max-width:100%;margin-top:10px;font-size:clamp(36px,10.7vw,46px);line-height:1.01;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:normal;word-break:normal}
  .home-page--bma .bma-section__side p{margin:0 0 17px;font-size:15px;line-height:1.55}
  .home-page--bma .bma-section__side a{min-height:40px;white-space:normal;line-height:1.35}
  .home-page--bma .bma-service-grid,.home-page--bma .bma-sector-grid{width:calc(100% - 40px)}
}

@media(max-width:390px){
  .mobile-dock__label{font-size:9px}
  .mobile-dock__item svg{width:21px;height:21px}
  .home-page--bma .bma-team-card__media{height:116px!important;min-height:116px!important}
}

@media(hover:hover) and (pointer:fine){
  .mobile-dock__item:not([aria-current]):not(.is-open):hover{color:#426579;background:rgba(94,128,147,.08)}
  .mobile-nav nav a:hover{background:rgba(101,137,157,.10)}
}

@media(prefers-reduced-motion:reduce){
  .mobile-dock__item,.site-header .nav-shell,.brand-mask{transition:none!important}
  .mobile-nav[open]{animation:none!important}
}

@media(hover:none),(pointer:coarse){
  .btn:hover,.btn-dark:hover,.btn-outline:hover,.lead-submit:hover,.bma-btn:hover,.bma-btn--light:hover,.bma-btn--outline:hover,.bma-btn--accent:hover,.bma-btn--prefooter:hover{transform:none}
  .bma-service-card:hover,.home-page--bma .bma-service-card:hover,.bma-sector-card:hover,.home-page--bma .bma-sector-card:hover,.bma-digital-card:hover{transform:none}
  .bma-about__media:hover img,.bma-work__photo:hover img{transform:none}
  .mobile-dock__item:active,.mobile-nav nav a:active,.bma-btn:active,.btn:active,.lead-submit:active{transform:scale(.975);opacity:.92}
}

@keyframes bma-sheet-in{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:none}
}


/* BMA 1.9.8 — mobile fine polish */
@media(max-width:900px){
  .mobile-dock{box-shadow:0 14px 38px rgba(39,68,84,.12),inset 0 1px 0 rgba(255,255,255,.92)}
  .mobile-dock__item{transition:background .14s ease,color .14s ease,transform .08s ease,box-shadow .14s ease}
  .mobile-nav[open]{box-shadow:0 26px 72px rgba(22,53,72,.24)}
  .home-page--bma .bma-service-grid,.home-page--bma .bma-sector-grid{scroll-padding-inline:2px}
  .home-page--bma .bma-service-card,.home-page--bma .bma-sector-card{scroll-margin-inline:2px}
  .home-page--bma .bma-service-card p{font-size:12px;line-height:1.52}
  .home-page--bma .bma-digital-card__body small{line-height:1.48}
}
@media(max-width:640px){
  .site-header .nav-shell{transition:min-height .16s ease}
  .mobile-dock{box-shadow:0 10px 30px rgba(39,68,84,.11),inset 0 1px 0 rgba(255,255,255,.94)}
  .mobile-dock__item[aria-current],.mobile-dock__item.is-open{box-shadow:inset 0 0 0 1px rgba(71,103,122,.08)}
  .home-page--bma .bma-proof__grid>div{box-shadow:0 6px 18px rgba(27,56,72,.03)}
  .home-page--bma .bma-service-card,.home-page--bma .bma-sector-card,.home-page--bma .bma-team-card{box-shadow:0 6px 18px rgba(28,55,70,.038)}
}

/* BMA 1.10.0 — mobile content parity + optical finish */
@media(max-width:900px){
  /* Dynamic public content is never hidden because of viewport size. */
  [data-public-record] [data-public-field]{visibility:visible!important;opacity:1}
  .mobile-dock__bubble{transition:background-color .14s ease,color .14s ease,box-shadow .14s ease}
  .mobile-nav nav a{min-height:48px}
}
@media(max-width:640px){
  .mobile-dock__item{gap:3px}
  .mobile-dock__bubble{width:30px;height:30px}
  .mobile-dock__item[aria-current] .mobile-dock__label,.mobile-dock__item.is-open .mobile-dock__label{font-weight:650}
  .home-page--bma .bma-team-card__media{height:132px!important;min-height:132px!important}
}
@media(max-width:390px){
  .home-page--bma .bma-team-card__media{height:120px!important;min-height:120px!important}
}


/* BMA 1.10.1 — mobile optical polish */
@media(max-width:900px){
  .home-page--bma .bma-actions .bma-btn{min-height:50px;padding-inline:18px}
  .home-page--bma .bma-service-grid,.home-page--bma .bma-sector-grid{scroll-padding-inline:1px}
  .home-page--bma .bma-service-card,.home-page--bma .bma-sector-card{scroll-snap-stop:always}
  .home-page--bma .bma-section__side a{width:max-content;max-width:100%}
}
@media(max-width:640px){
  .home-page--bma .bma-service-card{padding:22px 20px}
  .home-page--bma .bma-service-card h3{margin-top:19px}
  .home-page--bma .bma-team-card__body{padding-inline:13px!important}
}
