/* =========================================================
   V15.2 — MOBILE APP EXPERIENCE
   Mobile-first interaction layer for the public site.
   No heavy parallax / blur animation loops.
   ========================================================= */
.se152-mobile-dock{display:none}

@media (max-width:820px){
  :root{
    --se152-bg:#f8f4ef;
    --se152-surface:#fffdfb;
    --se152-ink:#30333b;
    --se152-muted:#747984;
    --se152-accent:#b18b77;
    --se152-line:rgba(48,51,59,.10);
    --se152-safe-bottom:max(8px,env(safe-area-inset-bottom));
    --se152-dock-height:72px;
  }
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--se152-bg)}
  body{max-width:100%;overflow-x:hidden;background:var(--se152-bg);padding-bottom:calc(var(--se152-dock-height) + var(--se152-safe-bottom) + 10px)}
  body,*{-webkit-tap-highlight-color:transparent}
  a,button,summary,input,select,textarea{touch-action:manipulation}
  main{overflow:clip;min-height:60vh}
  main>section,main>article{scroll-margin-top:72px}
  img,svg,video,iframe{max-width:100%}

  /* Compact native-app top bar */
  .se116-header{position:sticky!important;top:0!important;z-index:940!important;background:rgba(251,248,244,.985)!important;box-shadow:0 1px 0 var(--se152-line),0 8px 24px rgba(48,51,59,.05)!important}
  .se116-main{padding-top:env(safe-area-inset-top);background:transparent!important}
  .se116-shell{width:calc(100% - 24px)!important;min-height:58px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .se116-brand{gap:8px!important;min-width:0!important}
  .se116-brand-mark{width:29px!important;height:29px!important;flex-basis:29px!important}
  .se116-brand-copy{gap:2px!important}
  .se116-brand-copy strong{font-size:.68rem!important;letter-spacing:.105em!important}
  .se116-brand-copy small{font-size:.42rem!important;letter-spacing:.13em!important}
  .se116-actions{gap:6px!important}
  .se116-search,.se116-menu,.se116-cta{display:none!important}
  .se116-lang{display:block!important}
  .se116-lang-trigger{min-width:42px!important;width:42px!important;height:42px!important;padding:0!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 16px rgba(48,51,59,.05)!important}
  .se150-current-flag{width:24px!important;height:18px!important;margin:0!important}
  .se150-lang-code,.se150-lang-chevron{display:none!important}
  .se150-lang-menu,.se116-lang-menu{position:fixed!important;top:calc(64px + env(safe-area-inset-top))!important;right:12px!important;width:min(310px,calc(100vw - 24px))!important;border-radius:22px!important;box-shadow:0 24px 62px rgba(35,37,44,.18)!important}

  /* App-like page widths */
  .v11-shell,.v62-shell,.v72-shell,.v97-guide-shell,.calc95-shell,.container,.narrow,
  .se-footer-shell,.v73-shell,.v7-shell,.se126-shell{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }

  /* Mobile typography: readable, never desktop-sized */
  .se119-hero h1,.v62-page-head h1,.v72-page-hero h1,.page-hero h1,
  .v7-practice-page-grid h1,.v7-detail-hero h1,.v62-article-head h1,
  .v97-guide-hero h1{
    font-size:clamp(2.45rem,11vw,3.35rem)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
    overflow-wrap:anywhere;
  }
  main h2{overflow-wrap:anywhere}
  main p,main li{font-size:15px;line-height:1.72}

  /* Touch-friendly controls. 16px prevents Safari input zoom. */
  input,select,textarea{font-size:16px!important}
  button,a[role="button"],input,select,textarea{min-height:44px}
  .v106-primary,.v106-secondary,.v11-btn,.v62-action,.v62-submit,.se-button,.btn-primary,
  .calc-request-submit-row button,.se-footer-primary,.se-footer-call{
    min-height:52px!important;
    border-radius:17px!important;
  }

  /* Home becomes a vertical app feed */
  body.v6-home .se133-home-hero{padding:12px 0 38px!important;min-height:auto!important}
  body.v6-home .v106-hero-shell,body.v6-home .v112-hero-shell{width:calc(100% - 24px)!important;display:flex!important;flex-direction:column!important;gap:12px!important}
  body.v6-home .v106-hero-copy{padding:27px 20px 22px!important;border-radius:26px!important;box-shadow:0 14px 40px rgba(48,51,59,.065)!important}
  body.v6-home .v106-hero-copy::after{left:20px!important;width:68px!important;height:2px!important}
  body.v6-home .v106-eyebrow{font-size:.58rem!important;letter-spacing:.16em!important}
  body.v6-home .v112-hero-badges{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none;padding-bottom:2px}
  body.v6-home .v112-hero-badges::-webkit-scrollbar{display:none}
  body.v6-home .v112-hero-badges span{white-space:nowrap!important;flex:0 0 auto!important}
  body.v6-home .v106-hero h1{font-size:clamp(2.7rem,12.5vw,3.55rem)!important;line-height:.95!important;margin:16px 0 18px!important}
  body.v6-home .v106-hero-copy>p{font-size:15px!important;line-height:1.72!important}
  body.v6-home .v106-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:22px!important}
  body.v6-home .v106-primary,body.v6-home .v106-secondary{width:100%!important;justify-content:space-between!important;min-height:54px!important}
  body.v6-home .v112-hero-aside{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  body.v6-home .v112-hero-panel,body.v6-home .v112-hero-contact{border-radius:24px!important;padding:22px!important}
  body.v6-home .v106-feature-rail{
    display:flex!important;grid-template-columns:none!important;gap:10px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding:2px 2px 12px!important;margin-inline:-2px!important;scrollbar-width:none
  }
  body.v6-home .v106-feature-rail::-webkit-scrollbar{display:none}
  body.v6-home .v106-feature{flex:0 0 min(84vw,340px)!important;min-height:168px!important;scroll-snap-align:start;border-radius:23px!important;padding:22px!important}
  body.v6-home .se133-home-practices,body.v6-home .se133-home-about,body.v6-home .se133-home-journal,
  body.v6-home .se139-home-location,body.v6-home .se132-instagram--profile,body.v6-home .se133-home-final{padding:58px 0!important}
  body.v6-home .v11-section-head{display:grid!important;grid-template-columns:1fr!important;gap:20px!important;margin-bottom:30px!important}
  body.v6-home .v11-section-head h2,body.v6-home .v11-about-copy h2,body.v6-home .v11-final h2{font-size:clamp(2.25rem,10vw,3rem)!important;line-height:.99!important}
  body.v6-home .v11-practice-grid,body.v6-home .v11-journal-grid{grid-template-columns:1fr!important;gap:12px!important}
  body.v6-home .v11-practice-card,body.v6-home .v11-article-card{border-radius:24px!important}
  body.v6-home .v11-practice-card:first-child{min-height:0!important}
  body.v6-home .se133-home-about .v11-about-grid{grid-template-columns:1fr!important;gap:28px!important}
  body.v6-home .se139-home-location .v65-location-grid{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;width:calc(100% - 24px)!important}
  body.v6-home .v65-location-copy h2{font-size:clamp(2.45rem,11vw,3.2rem)!important}
  body.v6-home .se139-home-map{min-height:390px!important;border-radius:24px!important;overflow:hidden!important}
  body.v6-home .se139-home-map iframe{border-radius:24px!important}

  /* Common card/layout cleanup across inner pages */
  .v62-profile-grid,.v62-contact-grid,.v62-faq-layout,.v62-article-layout,.v72-career-grid,
  .v7-detail-layout,.v7-practice-page-grid,.calc95-layout,.se126-contact-grid{
    grid-template-columns:1fr!important;gap:26px!important
  }
  .v62-facts,.v97-guide-grid,.calc95-category-grid,.calc95-tools,.se-search-quicklinks{grid-template-columns:1fr!important}
  .v97-guide-card,.calc95-tool,.calc95-category-card,.v62-contact-item,.v72-career-list a{border-radius:22px!important}

  /* Real map feels like an embedded app screen */
  .v65-map-shell,.v65-map-shell-contact{min-height:390px!important;border-radius:24px!important;overflow:hidden!important}
  .v65-map-shell-live .se141-map-badge{left:10px!important;right:10px!important;top:10px!important;max-width:none!important;border-radius:16px!important;padding:10px 11px!important}

  /* Search = full-screen app modal on phones */
  .se-search-overlay{padding:0!important;place-items:stretch!important;background:#f8f4ef!important}
  .se-search-backdrop{display:none!important}
  .se-search-dialog{width:100%!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#f8f4ef!important;overflow:auto!important}
  .se-search-top{position:sticky!important;top:0!important;z-index:3!important;min-height:calc(58px + env(safe-area-inset-top))!important;padding:env(safe-area-inset-top) 14px 0!important;background:rgba(248,244,239,.985)!important}
  .se-search-brand>span{width:28px!important}.se-search-brand strong{font-size:.68rem!important}.se-search-brand small{font-size:.48rem!important}
  .se-search-close{min-height:40px!important;padding:0 5px 0 12px!important}.se-search-close span{display:none!important}
  .se-search-main{padding:30px 14px calc(110px + env(safe-area-inset-bottom))!important;max-width:none!important}
  .se-search-main h2{font-size:clamp(2.2rem,11vw,3rem)!important;margin-bottom:22px!important}
  .se-search-form{grid-template-columns:minmax(0,1fr) 48px!important;padding:8px 8px 8px 15px!important;border-radius:18px!important}
  .se-search-form input{height:50px!important;font-size:1rem!important}
  .se-search-form button{width:48px!important;height:48px!important;border-radius:14px!important}
  .se-search-helper span:last-child{display:none!important}
  .se-search-live{margin-top:26px!important}
  .se-search-quicklinks{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .se-search-quicklinks a{min-height:76px!important;padding:12px!important;border-radius:17px!important}
  .se-search-result-list{grid-template-columns:1fr!important}
  .se-search-result{grid-template-columns:1fr 22px!important;min-height:0!important;padding:16px!important;border-radius:18px!important}
  .se-search-result-type{grid-column:1/-1!important}

  /* Drawer becomes a native bottom sheet */
  .se134-backdrop.v6-drawer-backdrop{background:rgba(29,31,37,.42)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .se134-panel.v6-drawer-panel{
    top:auto!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:min(88dvh,760px)!important;
    border-radius:28px 28px 0 0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;
    transform:translate3d(0,102%,0)!important;box-shadow:0 -22px 70px rgba(28,30,36,.20)!important;padding-bottom:env(safe-area-inset-bottom)
  }
  .se134-drawer.is-open .se134-panel{transform:translate3d(0,0,0)!important}
  .se134-panel::before{content:"";position:absolute;top:8px;left:50%;width:42px;height:4px;border-radius:999px;background:rgba(48,51,59,.16);transform:translateX(-50%);z-index:5}
  .se134-head{min-height:68px!important;padding:8px 16px 0!important}
  .se134-nav{padding:7px 16px 4px!important}.se134-nav>a{min-height:52px!important}
  .se134-languages{margin-inline:16px!important;padding:10px 0!important}
  .se134-foot{padding:10px 16px 16px!important}

  /* Floating desktop utilities are replaced by the dock */
  .se122-utility,.v98-quick-root{display:none!important}

  /* Bottom navigation */
  .se152-mobile-dock{
    position:fixed;left:8px;right:8px;bottom:var(--se152-safe-bottom);z-index:1500;height:var(--se152-dock-height);
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;padding:7px 6px 6px;
    border:1px solid rgba(48,51,59,.10);border-radius:24px;background:rgba(255,253,251,.985);
    box-shadow:0 16px 46px rgba(39,41,48,.18),inset 0 1px 0 rgba(255,255,255,.92)
  }
  .se152-dock-item{
    appearance:none;border:0;background:transparent;color:#7a7f89;text-decoration:none!important;min-width:0;min-height:54px!important;padding:4px 2px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:650 9px/1.1 var(--se-font,"Helvetica Neue",Arial,sans-serif);cursor:pointer
  }
  .se152-dock-item>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
  .se152-dock-item span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .se152-dock-item.is-active{color:var(--se152-accent)}
  .se152-dock-item--primary{position:relative;color:var(--se152-ink)!important;justify-content:flex-end;padding-bottom:5px}
  .se152-dock-primary-icon{
    width:50px;height:50px;margin-top:-26px;display:grid!important;place-items:center;border-radius:18px;background:linear-gradient(145deg,#b9937f,#a77f6a);
    color:#fff;box-shadow:0 10px 24px rgba(167,127,106,.27),0 0 0 5px #fffdfb
  }
  .se152-dock-primary-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
  .se152-dock-item--primary>span:last-child{margin-top:1px;font-weight:750;color:#5f5550}
  .se152-dock-item:active{transform:scale(.96)}

  /* Keep temporary UI above the dock */
  .cookie-banner,.v6-cookie{bottom:calc(var(--se152-dock-height) + var(--se152-safe-bottom) + 14px)!important;left:12px!important;right:12px!important;width:auto!important}
  .se-footer{padding-bottom:28px!important}

  /* Hide dock while typing or when app modals are open */
  body.se152-input-focus .se152-mobile-dock,
  body.se-search-open .se152-mobile-dock,
  body.v6-menu-open .se152-mobile-dock{transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none}

  @media (max-width:390px){
    .se116-brand-copy small{display:none!important}
    .se152-mobile-dock{left:6px;right:6px;border-radius:21px}
    .se152-dock-item{font-size:8px}
    .se152-dock-primary-icon{width:47px;height:47px;border-radius:16px}
    .se-search-quicklinks{grid-template-columns:1fr!important}
  }
}

@media (max-width:820px) and (orientation:landscape){
  .se152-mobile-dock{height:64px}
  body{padding-bottom:calc(64px + var(--se152-safe-bottom) + 8px)}
  .se152-dock-primary-icon{width:44px;height:44px;margin-top:-20px}
}

@media (prefers-reduced-motion:reduce){
  .se152-mobile-dock,.se152-dock-item,.se134-panel{transition:none!important}
}
