/* Phone-only app presentation; existing public content and desktop layouts are shared. */
.ins-awp-app-tabs,
.ins-awp-mobile-agent-name,
.ins-awp-mobile-consultation-toggle,
.ins-awp-mobile-about-toggle { display:none; }
.ins-awp-app-sheet:not([open]) { display:none; }

@media screen and (max-width:767px), screen and (max-width:1024px) and (max-height:500px) and (pointer:coarse) {
  body.ins-awp-body.ins-awp-mobile-app {
    --awp-app-ink:#12334e;
    --awp-app-blue:#0b5c94;
    --awp-app-muted:#526779;
    background:#f3f6fa;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:16px;
    padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));
    padding-left:env(safe-area-inset-left,0px);
    padding-right:env(safe-area-inset-right,0px);
    -webkit-text-size-adjust:100%;
  }
  body.ins-awp-mobile-app .ins-awp-mm-layout { background:transparent; }
  body.ins-awp-mobile-app *, body.ins-awp-mobile-app *::before, body.ins-awp-mobile-app *::after { box-sizing:border-box; }
  body.ins-awp-mobile-app .ins-awp-shell { width:calc(100% - 32px)!important; max-width:600px; }
  body.ins-awp-mobile-app :is(#about,#consultation,#ins-awp-coverage) { scroll-margin-top:88px; }
  body.ins-awp-mobile-app :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #087c72; outline-offset:3px; }
  body.ins-awp-mobile-app .ins-awp-header { position:sticky; top:0; z-index:200; background:#fff; border:0; border-bottom:1px solid #e0e7ef; box-shadow:0 2px 12px #183c5a08; }
  body.ins-awp-mobile-app .ins-awp-topnav { display:flex!important; flex-wrap:nowrap!important; gap:12px!important; min-height:64px; padding:8px 0!important; }
  body.ins-awp-mobile-app .ins-awp-topnav .ins-awp-brand { width:86px!important; min-width:0!important; height:40px!important; flex:0 0 86px!important; margin:0!important; padding:0!important; }
  body.ins-awp-mobile-app .ins-awp-topnav .ins-awp-brand img { width:100%!important; height:40px!important; max-height:40px!important; object-fit:contain!important; }
  body.ins-awp-mobile-app .ins-awp-mobile-agent-name { display:block; flex:1; min-width:0; font-size:14px; line-height:1.3; font-weight:750; color:var(--awp-app-ink); overflow-wrap:anywhere; }
  body.ins-awp-mobile-app .ins-awp-menu-toggle { display:flex!important; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 44px; padding:0; margin:0; color:var(--awp-app-ink); background:#f2f6fa; border:1px solid #e1e8ef; border-radius:14px; font-size:22px; }
  body.ins-awp-mobile-app .ins-awp-header-cta { display:none!important; }
  body.ins-awp-mobile-app .ins-awp-topnav nav { display:none!important; }
  body.ins-awp-mobile-app .ins-awp-topnav nav:is(.is-open,:target) { display:flex!important; max-height:70vh; overflow:auto; }
  body.ins-awp-mobile-app .ins-awp-translation-bar { background:#f3f6fa; }
  body.ins-awp-mobile-app .ins-awp-translate-control { min-height:32px; }
  body.ins-awp-mobile-app .ins-awp-translate-control select { font-size:16px!important; }

  /* A compact profile, with actions spanning the full card instead of a narrow column. */
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-hero { padding:16px 0!important; margin:0!important; background:none!important; min-height:0!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-hero::before,
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-hero::after,
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-hero-background { display:none!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-hero-grid { display:flex!important; flex-direction:column!important; gap:12px!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-wrap { width:100%; padding:18px!important; margin:0!important; border:1px solid #e3eaf1!important; border-radius:22px!important; background:#fff!important; box-shadow:0 4px 18px #153b5b06!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-top { display:grid!important; grid-template-columns:88px minmax(0,1fr)!important; grid-template-areas:"photo name" "photo role" "license languages" "details details" "actions actions" "booking booking"!important; align-items:center!important; gap:6px 14px!important; padding:0!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-media { display:contents!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-agent-photo { grid-area:photo!important; justify-self:center; width:76px!important; height:76px!important; min-width:76px!important; min-height:76px!important; max-width:76px!important; max-height:76px!important; border:3px solid #fff!important; box-shadow:0 0 0 1px #dde7f0!important; object-fit:cover; border-radius:50%!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-npn { grid-area:license!important; padding:3px 5px!important; margin:0!important; font-size:10px!important; white-space:normal!important; text-align:center; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-language-badges.is-profile-media { grid-area:languages!important; display:flex!important; flex-direction:row!important; flex-wrap:wrap; align-items:center!important; justify-content:flex-start!important; width:auto!important; margin:0!important; gap:4px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-language-badges.is-profile-media>span { width:auto!important; font-size:9px!important; letter-spacing:0!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-language-badges.is-profile-media b { font-size:10px!important; padding:2px 5px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-copy { display:contents!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-agent-name-row { grid-area:name!important; align-self:end; margin:0!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-copy h1 { font-size:25px!important; line-height:1.15!important; letter-spacing:-.5px; margin:0!important; overflow-wrap:anywhere; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-copy .ins-awp-role { grid-area:role!important; align-self:start; font-size:13px!important; line-height:1.5; margin:0!important; color:#526779!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-copy>ul { grid-area:details!important; display:flex!important; flex-wrap:wrap; gap:2px 14px; margin:4px 0!important; padding:0!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-copy>ul li { font-size:13px!important; line-height:1.5; min-width:0; max-width:100%; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-copy>ul a { display:inline-flex; align-items:center; min-height:36px; overflow-wrap:anywhere; white-space:normal!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-actions { grid-area:actions!important; display:flex!important; gap:8px!important; width:100%; margin:0!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-actions a { flex:1 1 0; min-width:0!important; min-height:46px!important; padding:10px 8px!important; border-radius:12px!important; font-size:14px!important; text-align:center; justify-content:center; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-scope-consent-action { grid-area:booking!important; display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px!important; margin-top:4px!important; width:100%; max-width:none; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-scope-consent-button { width:auto!important; min-width:0!important; min-height:70px!important; padding:10px 8px!important; border-radius:14px!important; gap:7px!important; font-size:12px!important; line-height:1.35!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-scope-consent-button:only-child { grid-column:1/-1; min-height:52px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-appointment-mark { width:28px!important; height:28px!important; min-width:28px!important; max-width:28px!important; max-height:28px!important; flex:0 0 28px!important; border-radius:7px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-appointment-label { font-size:12px!important; line-height:1.4!important; overflow-wrap:normal; word-break:normal; }

  /* Open-on-demand consultation retains the original form and its protection fields. */
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-consultation-scene { width:100%; margin:0!important; padding:0!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mobile-consultation { padding:0!important; border:1px solid #dce7f0!important; border-radius:18px!important; overflow:hidden; box-shadow:none!important; background:#fff!important; }
  body.ins-awp-mobile-app .ins-awp-mobile-consultation-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:60px; padding:14px 18px; border:0; background:#fff; color:#0b5c94; font:700 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:left; cursor:pointer; }
  body.ins-awp-mobile-app .ins-awp-mobile-consultation-toggle::after { content:"+"; font-size:25px; line-height:1; }
  body.ins-awp-mobile-app .ins-awp-mobile-consultation-toggle[aria-expanded="true"]::after { content:"−"; }
  body.ins-awp-mobile-app .ins-awp-mobile-consultation-content { padding:20px; background:#0d355c; }
  body.ins-awp-mobile-app .ins-awp-mobile-consultation.is-collapsed .ins-awp-mobile-consultation-content { display:none; }
  body.ins-awp-body.ins-awp-mobile-app :is(.ins-awp-lead-box,.ins-awp-contact-form,.ins-awp-rsvp-dialog) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea) { font-size:16px!important; min-height:48px!important; border-radius:10px!important; }
  body.ins-awp-body.ins-awp-mobile-app :is(.ins-awp-lead-box,.ins-awp-contact-form,.ins-awp-rsvp-dialog) button { min-height:48px; font-size:15px; }

  /* Readable single-column cards, with smaller images and consistent spacing. */
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-bio { width:100%; margin:0!important; padding:16px!important; border:1px solid #e3eaf1!important; border-radius:18px!important; background:#fff!important; box-shadow:none!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-bio-copy { font-size:14px!important; line-height:1.6!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-bio.ins-awp-mobile-about { padding:0!important; }
  body.ins-awp-mobile-app .ins-awp-mobile-about-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:56px; padding:14px 18px; border:0; border-radius:18px; background:#fff; color:#12334e; font:700 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:left; cursor:pointer; }
  body.ins-awp-mobile-app .ins-awp-mobile-about-toggle::after { content:"+"; font-size:25px; line-height:1; }
  body.ins-awp-mobile-app .ins-awp-mobile-about-toggle[aria-expanded="true"]::after { content:"−"; }
  body.ins-awp-mobile-app .ins-awp-mobile-about-content { padding:18px; }
  body.ins-awp-mobile-app .ins-awp-mobile-about.is-collapsed .ins-awp-mobile-about-content { display:none; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-main-grid { display:flex!important; flex-direction:column; gap:16px!important; margin-top:0!important; padding-bottom:16px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-main-grid>* { width:100%; min-width:0; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-market-section,
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-solutions { padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-section-heading { text-align:left!important; padding:8px 2px!important; margin:0!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-section-heading h2 { font-size:23px!important; line-height:1.25!important; letter-spacing:-.4px; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-section-heading p { font-size:14px!important; line-height:1.5!important; }
  body.ins-awp-body.ins-awp-mobile-app :is(.ins-awp-mm-market-grid,.ins-awp-solution-grid,.ins-awp-mm-resource-grid) { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:12px!important; margin-top:8px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-market-grid article { display:grid!important; grid-template-columns:84px minmax(0,1fr)!important; min-height:0!important; border:1px solid #e0e8f0!important; border-radius:18px!important; box-shadow:none!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-market-grid article>div:not(.ins-awp-mm-market-image) { grid-column:2!important; grid-row:1!important; padding:16px 14px!important; min-width:0; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-market-image { grid-column:1!important; grid-row:1!important; min-height:130px!important; height:auto!important; border-radius:0!important; background-position:center!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-market-image::before { display:none!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-market-grid h3 { font-size:19px!important; line-height:1.25!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-market-grid p { font-size:14px!important; line-height:1.5!important; max-width:100%!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-card-actions { gap:6px 12px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-card-actions a { min-height:44px!important; display:inline-flex; align-items:center; font-size:13px!important; padding:10px 8px!important; border-radius:10px!important; white-space:normal!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-resource-card { border-radius:18px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-resource-image { height:145px!important; min-height:145px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-resource-copy { padding:18px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-resource-copy h3 { font-size:21px!important; line-height:1.3!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-resource-copy :is(p,li) { font-size:14px!important; line-height:1.6!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-resource-copy a { min-height:44px!important; font-size:14px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-detail-hero { padding:20px 0!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-detail-hero h1 { font-size:29px!important; line-height:1.2!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-detail-hero-visual { height:160px!important; border-radius:18px!important; }

  /* Bottom tabs respect phone gesture areas and stay clear of text-entry controls. */
  body.ins-awp-mobile-app .ins-awp-app-tabs { position:fixed; z-index:500; inset:auto 0 0; display:flex; align-items:stretch; justify-content:center; gap:2px; padding:7px max(8px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px)); background:#fffffff5; border-top:1px solid #dde6ee; box-shadow:0 -4px 24px #15344d0a; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
  body.ins-awp-mobile-app .ins-awp-app-tabs>a { display:flex; flex:1 1 0; max-width:120px; min-width:0; min-height:57px; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:4px 2px; border-radius:14px; color:#526779; text-decoration:none; font-size:11px; font-weight:700; line-height:1.2; }
  body.ins-awp-mobile-app .ins-awp-app-tabs>a[aria-current] { color:#0b5c94; background:#eaf3fa; }
  body.ins-awp-mobile-app .ins-awp-app-tabs svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  body.ins-awp-mobile-app .ins-awp-app-tabs img { display:block; width:25px; height:25px; object-fit:contain; border-radius:6px; }
  body.ins-awp-mobile-app .ins-awp-app-tabs .ins-awp-app-book { color:#066b62; }
  body.ins-awp-mobile-app.ins-awp-mobile-editing .ins-awp-app-tabs { display:none; }

  /* Native dialog behavior supplies focus containment, Escape and modal semantics. */
  html.ins-awp-app-menu-open { overflow:hidden; }
  body.ins-awp-mobile-app .ins-awp-app-sheet[open] { display:block; position:fixed; inset:auto 0 0; margin:0 auto; width:100%; max-width:600px; max-height:86vh; max-height:86dvh; overflow:auto; overscroll-behavior:contain; padding:20px max(20px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px)); border:0; border-radius:26px 26px 0 0; background:#f7f9fc; color:#12334e; box-shadow:0 -16px 60px #0b223c33; }
  body.ins-awp-mobile-app .ins-awp-app-sheet::backdrop { background:#0b223c70; }
  body.ins-awp-mobile-app .ins-awp-app-sheet>header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 18px; }
  body.ins-awp-mobile-app .ins-awp-app-sheet>header span { color:#526779; font-size:13px; }
  body.ins-awp-mobile-app .ins-awp-app-sheet h2 { margin:3px 0 0; font-size:26px; line-height:1.2; color:#12334e; }
  body.ins-awp-mobile-app .ins-awp-app-sheet [data-awp-app-close] { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; padding:0; border:1px solid #dae4ed; border-radius:50%; background:#fff; color:#12334e; font-size:28px; cursor:pointer; }
  body.ins-awp-mobile-app .ins-awp-app-coverage-list { display:grid; gap:10px; }
  body.ins-awp-mobile-app .ins-awp-app-coverage-list>a { display:grid; grid-template-columns:42px minmax(0,1fr) 12px; gap:12px; align-items:center; padding:14px; border:1px solid #e0e8ef; border-radius:16px; color:#12334e; background:#fff; text-decoration:none; }
  body.ins-awp-mobile-app .ins-awp-app-coverage-list strong { display:block; font-size:16px; line-height:1.3; }
  body.ins-awp-mobile-app .ins-awp-app-coverage-list small { display:block; color:#526779; font-size:13px; line-height:1.4; margin-top:4px; }
  body.ins-awp-mobile-app .ins-awp-app-coverage-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:#eaf3fa; color:#0b5c94; }
  body.ins-awp-mobile-app .ins-awp-app-coverage-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  body.ins-awp-mobile-app .ins-awp-app-page-list { display:grid; gap:6px; margin-top:16px; }
  body.ins-awp-mobile-app .ins-awp-app-page-list a,
  body.ins-awp-mobile-app .ins-awp-app-page-list summary { display:block; padding:13px 15px; min-height:48px; color:#12334e; background:#fff; border:1px solid #e1e8ef; border-radius:12px; font-size:15px; font-weight:650; line-height:1.45; text-decoration:none; cursor:pointer; }
  body.ins-awp-mobile-app .ins-awp-app-page-list summary { display:list-item; list-style-position:inside; }
  body.ins-awp-mobile-app .ins-awp-app-page-list details>a { margin:5px 0 5px 12px; font-size:14px; font-weight:500; }
  body.ins-awp-mobile-app .ins-awp-app-sheet a[aria-current] { border-color:#0b5c94; background:#edf5fc; }
  body.ins-awp-mobile-app .ins-awp-app-resources h3 { margin:24px 0 0; color:#526779; font-size:14px; }
}
@media screen and (max-width:359px) {
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-scope-consent-button { flex-direction:column; text-align:center; justify-content:center; font-size:12px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-profile-wrap { padding:14px!important; }
  body.ins-awp-body.ins-awp-mobile-app .ins-awp-mm-market-grid article { grid-template-columns:64px minmax(0,1fr)!important; }
}
@media print {
  .ins-awp-app-tabs,.ins-awp-app-sheet,.ins-awp-mobile-agent-name,.ins-awp-mobile-consultation-toggle { display:none!important; }
}
