
/*
  BLM V10.10 — MOBILE-ONLY OPTIMISATION
  This stylesheet is loaded only at 760px and below.
  The approved desktop V10.8 stylesheet and JavaScript are unchanged.
*/

@media only screen and (max-width: 760px) {

  /* ---------------------------------------------------------------
     MOBILE FOUNDATION
     --------------------------------------------------------------- */
  html {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    scroll-padding-top: 76px;
  }

  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    padding-bottom: 60px !important;
    font-size: 16px;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
  }

  main,
  section,
  footer,
  .shell,
  .header-inner,
  .home-grid,
  .profile-layout,
  .article-layout,
  .contact-layout,
  .client-hub-layout {
    min-width: 0;
    max-width: 100%;
  }

  img,
  svg,
  iframe,
  video,
  canvas {
    max-width: 100%;
  }

  iframe {
    width: 100%;
  }

  p,
  li,
  dd,
  address,
  a,
  button,
  label,
  span {
    overflow-wrap: anywhere;
  }

  .shell {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  .section {
    padding: 58px 0 !important;
  }

  .section-head {
    margin-bottom: 30px !important;
  }

  .section-head,
  .section-head > p,
  .split-head > p {
    max-width: none !important;
  }

  h1 {
    font-size: clamp(38px, 11vw, 48px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
  }

  h2 {
    font-size: clamp(34px, 9.2vw, 43px) !important;
    line-height: 1.03 !important;
    letter-spacing: -.03em !important;
  }

  h3 {
    font-size: clamp(25px, 7vw, 31px) !important;
    line-height: 1.08 !important;
  }

  .kicker,
  .overline {
    margin-bottom: 14px !important;
    font-size: 10px !important;
    letter-spacing: .17em !important;
    line-height: 1.45 !important;
  }

  .lead-copy {
    font-size: 20px !important;
    line-height: 1.42 !important;
  }

  .gold-rule {
    margin: 24px 0 22px !important;
  }

  .btn {
    min-height: 51px !important;
    padding: 0 18px !important;
    gap: 10px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    text-align: center;
  }

  input,
  select,
  textarea,
  button {
    font-size: 16px !important;
  }

  input,
  select {
    min-height: 48px;
  }

  textarea {
    min-height: 126px;
  }

  .js [data-reveal],
  .js .reveal-item {
    opacity: 1 !important;
    transform: none !important;
  }

  /* ---------------------------------------------------------------
     HEADER AND MOBILE NAVIGATION
     --------------------------------------------------------------- */
  .utility {
    display: none !important;
  }

  .header {
    top: 0 !important;
    background: rgba(251, 249, 244, .985) !important;
    backdrop-filter: blur(16px);
  }

  .header-inner,
  .header.is-scrolled .header-inner {
    width: calc(100% - 24px) !important;
    height: 68px !important;
    gap: 10px !important;
  }

  .brand {
    min-width: 0 !important;
    max-width: calc(100% - 54px);
    gap: 8px !important;
  }

  .brand img.brand-mark,
  .header.is-scrolled .brand img.brand-mark {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }

  .brand-copy {
    min-width: 0;
  }

  .brand-copy strong {
    max-width: 225px;
    overflow: hidden;
    color: #003d32;
    font-size: 13px !important;
    letter-spacing: 0 !important;
    text-overflow: ellipsis;
  }

  .brand-copy small {
    margin-top: 5px !important;
    font-size: 7px !important;
    letter-spacing: .18em !important;
  }

  .menu {
    width: 44px;
    height: 44px;
    display: grid !important;
    place-items: center;
    flex: 0 0 44px;
    padding: 0 !important;
    border: 1px solid rgba(0, 61, 50, .13) !important;
    border-radius: 50%;
    background: #fff !important;
  }

  .menu .icon {
    width: 23px;
    height: 23px;
  }

  .header nav,
  .header.is-scrolled nav {
    position: fixed !important;
    inset: 68px 0 auto 0 !important;
    top: 68px !important;
    z-index: 2000;
    width: 100%;
    max-height: calc(100dvh - 68px) !important;
    display: none !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    gap: 0 !important;
    padding: 10px 16px 92px !important;
    border-top: 1px solid rgba(0, 61, 50, .08);
    border-radius: 0 !important;
    background: rgba(251, 249, 244, .995) !important;
    box-shadow: 0 24px 60px rgba(0, 45, 37, .18) !important;
  }

  .header nav.open,
  .header.is-scrolled nav.open {
    display: block !important;
  }

  .header nav > a,
  .header nav > a:not(.header-cta) {
    width: 100%;
    min-height: 50px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 13px 4px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0, 61, 50, .09) !important;
    color: #123a32;
    font-size: 14px !important;
  }

  .header nav > a.active {
    color: #8c6b2d !important;
  }

  .header nav .portal {
    color: #8c6b2d !important;
  }

  .header nav .header-cta {
    min-height: 52px;
    justify-content: center;
    margin-top: 13px;
    padding: 0 16px !important;
    border: 0 !important;
    background: #003d32 !important;
    color: #fff !important;
  }

  /* ---------------------------------------------------------------
     HOMEPAGE HERO
     --------------------------------------------------------------- */
  .home-grid {
    min-height: 0 !important;
    padding: 38px 0 30px !important;
    gap: 25px !important;
  }

  .hero-copy {
    max-width: none !important;
  }

  .hero-copy h1 {
    margin-bottom: 18px !important;
    font-size: clamp(39px, 11.6vw, 48px) !important;
    line-height: 1.015 !important;
  }

  .hero-copy > p:last-of-type {
    max-width: none !important;
    margin-bottom: 0;
    color: rgba(255,255,255,.9) !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
  }

  .hero-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 27px !important;
  }

  .hero-buttons .btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 53px !important;
  }

  .hero-art.rings {
    right: -210px !important;
    top: -210px !important;
    width: 540px !important;
    height: 540px !important;
    opacity: .48 !important;
  }

  .hero-art.building {
    left: -180px !important;
    bottom: 90px !important;
    width: 580px !important;
    height: 390px !important;
    opacity: .42 !important;
  }

  .hero-form,
  .contact-form {
    width: 100%;
    max-width: 100% !important;
    padding: 22px 18px !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.16) !important;
  }

  .form-heading {
    margin-bottom: 18px !important;
  }

  .form-heading h2 {
    font-size: 29px !important;
  }

  .form-heading p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .mobile-enquiry-choices {
    gap: 9px !important;
  }

  .mobile-enquiry-choices a,
  .mobile-enquiry-choices button {
    min-height: 62px;
    grid-template-columns: 27px minmax(0, 1fr) 18px !important;
    gap: 11px !important;
    padding: 12px 13px !important;
    border-radius: 10px !important;
  }

  .mobile-enquiry-choices strong {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .mobile-enquiry-choices small {
    margin-top: 2px;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  .mobile-form-top {
    gap: 12px;
  }

  .mobile-form-top button {
    min-height: 38px !important;
    font-size: 11px !important;
  }

  .hero-form label,
  .contact-form label {
    margin-bottom: 12px !important;
    font-size: 13px !important;
  }

  .hero-form input,
  .hero-form select,
  .hero-form textarea,
  .contact-form input,
  .contact-form select,
  .contact-form textarea {
    height: auto !important;
    min-height: 48px;
    margin-top: 6px;
    padding: 12px 13px !important;
  }

  .hero-form textarea,
  .contact-form textarea {
    min-height: 118px !important;
  }

  .privacy-note {
    font-size: 11px !important;
  }

  .hero-strip .shell {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0;
    padding: 4px 0 !important;
  }

  .hero-feature {
    min-height: 76px !important;
    height: auto !important;
    gap: 10px !important;
    padding: 12px 10px !important;
    border-right: 1px solid rgba(212,180,109,.25) !important;
    border-bottom: 1px solid rgba(212,180,109,.2) !important;
  }

  .hero-feature:nth-child(2n) {
    border-right: 0 !important;
  }

  .hero-feature .icon {
    width: 25px !important;
    height: 25px !important;
  }

  .hero-feature span {
    font-size: 10px !important;
    line-height: 1.38 !important;
  }

  /* ---------------------------------------------------------------
     HOMEPAGE SECTIONS
     --------------------------------------------------------------- */
  .about-home {
    padding: 52px 0 18px !important;
  }

  .about-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }

  .about-copy {
    order: 1;
  }

  .about-visual {
    order: 2;
    padding-top: 0 !important;
  }

  .about-visual img {
    width: 100% !important;
    max-width: 500px !important;
    margin-inline: auto !important;
  }

  .about-copy > p:not(.kicker) {
    font-size: 15px !important;
    line-height: 1.72 !important;
  }

  .about-features {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 0 !important;
    margin: 24px 0 !important;
  }

  .about-feature {
    min-height: 112px !important;
    padding: 15px 10px !important;
    border-right: 1px solid #ded5c5 !important;
    border-bottom: 1px solid #ded5c5;
  }

  .about-feature:nth-child(2n) {
    border-right: 0 !important;
  }

  .about-feature:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .about-feature .icon {
    width: 33px !important;
    height: 33px !important;
  }

  .about-feature span {
    font-size: 11px !important;
  }

  .stats-bar {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 0 !important;
    padding: 8px !important;
  }

  .stat {
    min-width: 0;
    padding: 15px 10px !important;
    border-right: 1px solid #dbcdb4 !important;
    border-bottom: 1px solid #dbcdb4 !important;
  }

  .stat:nth-child(2n) {
    border-right: 0 !important;
  }

  .stat:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }

  .stat-icon {
    width: 40px !important;
    height: 40px !important;
  }

  .stat strong {
    font-size: 26px !important;
  }

  .stat span {
    font-size: 10px !important;
  }

  .split-head {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .pathway-grid,
  .service-grid,
  .team-grid,
  .team-grid.compact,
  .value-grid,
  .featured-insights,
  .article-grid,
  .location-grid,
  .related-grid,
  .premium-checks,
  .premium-checks.two-col,
  .process-grid,
  .choice-grid,
  .profile-principles,
  .service-promises .shell,
  .about-practice-grid,
  .about-process,
  .about-team-grid,
  .blog-author-grid,
  .featured-blog-grid,
  .expanded-blog-grid {
    grid-template-columns: 1fr !important;
  }

  .pathway-card,
  .service-card,
  .person-card,
  .article-card,
  .value-grid article,
  .about-practice-grid article,
  .about-team-grid article,
  .blog-author-grid article {
    min-height: 0 !important;
    padding: 22px !important;
    border-radius: 16px !important;
  }

  .pathway-card {
    min-height: 0 !important;
  }

  .pathway-card h3 {
    margin-top: 18px !important;
  }

  .pathway-links {
    display: grid !important;
  }

  .pathway-links a {
    min-height: 48px;
    justify-content: space-between;
  }

  .mini-service-grid {
    grid-template-columns: 1fr !important;
  }

  .mini-service {
    min-height: 0 !important;
    padding: 17px !important;
  }

  .urgent-band,
  .final-contact {
    padding: 55px 0 !important;
  }

  .urgent-inner,
  .final-contact-inner,
  .cta-inner,
  .profile-contact .shell,
  .team-note {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 22px !important;
  }

  .urgent-actions,
  .final-contact-inner > div:last-child,
  .cta-inner > div:last-child,
  .profile-contact .shell > div:last-child {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .urgent-actions .btn,
  .final-contact .btn,
  .cta .btn,
  .profile-contact .btn {
    width: 100% !important;
  }

  /* ---------------------------------------------------------------
     GENERIC PAGE HEROES AND SERVICE PAGES
     --------------------------------------------------------------- */
  .page-hero {
    padding: 48px 0 44px !important;
  }

  .page-hero .shell {
    max-width: none !important;
  }

  .page-hero h1 {
    max-width: none !important;
    margin-bottom: 17px !important;
  }

  .page-lead,
  .page-hero p:not(.kicker):not(.breadcrumbs) {
    max-width: none !important;
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  .breadcrumbs {
    margin-bottom: 22px !important;
    font-size: 10px !important;
  }

  .page-actions,
  .profile-actions,
  .portal-actions,
  .client-hub-hero-actions,
  .about-office-actions,
  .tomas-context-actions,
  .tomas-direct-actions {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .page-actions .btn,
  .profile-actions .btn,
  .portal-actions .btn,
  .client-hub-hero-actions .btn,
  .about-office-actions .btn,
  .tomas-context-actions .btn,
  .tomas-direct-actions .btn {
    width: 100% !important;
  }

  .service-promises .shell > div {
    padding: 15px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(205,168,91,.2) !important;
  }

  .service-promises .shell > div:last-child {
    border-bottom: 0 !important;
  }

  .service-layout,
  .contact-layout,
  .office-editorial-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .service-aside,
  .profile-facts,
  .article-aside,
  .faq-layout > aside {
    position: static !important;
  }

  .tomas-context-section {
    padding: 52px 0 !important;
  }

  .tomas-context-card {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 17px !important;
    border-radius: 17px !important;
  }

  .tomas-context-photo {
    height: auto !important;
    aspect-ratio: 4 / 4.5;
  }

  .tomas-context-copy > p {
    font-size: 15px !important;
  }

  .tomas-context-meta,
  .tomas-profile-pills {
    gap: 7px !important;
    margin: 16px 0 20px !important;
  }

  .tomas-context-meta span,
  .tomas-profile-pills span {
    padding: 6px 9px !important;
    font-size: 10px !important;
  }

  /* ---------------------------------------------------------------
     DETAILED ABOUT PAGE
     --------------------------------------------------------------- */
  .about-introduction-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 34px !important;
  }

  .about-introduction-copy {
    order: 1;
  }

  .about-office-figure {
    order: 2;
    width: calc(100% - 8px);
    margin-inline: auto !important;
  }

  .about-office-figure::before {
    inset: 12px -8px -10px 12px !important;
  }

  .about-office-figure picture {
    border-radius: 17px !important;
  }

  .about-office-figure img {
    aspect-ratio: 4 / 5 !important;
  }

  .about-office-figure figcaption {
    max-width: calc(100% - 18px) !important;
    margin: -17px 0 0 12px !important;
    font-size: 10px !important;
  }

  .about-introduction-copy > p,
  .about-clients p,
  .about-regulatory p {
    font-size: 15px !important;
    line-height: 1.72 !important;
  }

  .about-fact-strip {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .about-fact-strip div {
    min-height: 96px !important;
    padding: 13px !important;
  }

  .about-process::before {
    display: none !important;
  }

  .about-process article {
    min-height: 0 !important;
  }

  .about-clients-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .about-client-list > div {
    min-height: 0 !important;
    padding: 13px 14px !important;
  }

  .about-regulatory-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 21px !important;
    border-radius: 17px !important;
  }

  .about-regulatory-links {
    width: 100%;
  }

  /* ---------------------------------------------------------------
     PEOPLE AND SOLICITOR PROFILES
     --------------------------------------------------------------- */
  .profile-hero {
    padding: 46px 0 !important;
  }

  .profile-hero-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
  }

  .profile-intro {
    order: 1;
  }

  .profile-portrait {
    order: 2;
    width: 100%;
    min-height: 0 !important;
    aspect-ratio: 4 / 4.7;
  }

  .profile-portrait.photo-profile {
    min-height: 0 !important;
    aspect-ratio: 4 / 4.7;
  }

  .profile-intro p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .profile-page-nav {
    top: 68px !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .profile-page-nav::-webkit-scrollbar {
    display: none;
  }

  .profile-page-nav .shell {
    width: max-content !important;
    min-width: 100%;
    padding-inline: 16px;
  }

  .profile-page-nav a {
    white-space: nowrap;
    font-size: 10px !important;
  }

  .profile-layout {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .profile-main-inner > p:not(.overline):not(.lead-copy) {
    max-width: none !important;
    font-size: 15px !important;
    line-height: 1.78 !important;
  }

  .profile-highlight {
    grid-template-columns: 42px minmax(0,1fr) !important;
    gap: 13px !important;
    padding: 17px !important;
  }

  .profile-detail-grid {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }

  .profile-detail-grid article {
    padding: 20px !important;
  }

  .bio-accordion summary {
    padding: 17px 18px !important;
    font-size: 16px !important;
  }

  .bio-accordion-content {
    padding: 0 18px 18px !important;
  }

  .reported-experience-detailed,
  .author-insights-section {
    padding: 55px 0 !important;
  }

  .detailed-case,
  .case-study,
  .reported-case {
    border-radius: 16px !important;
  }

  .tomas-profile-conversion {
    margin: 44px 0 28px !important;
    border-radius: 17px !important;
  }

  .tomas-profile-form-intro,
  .tomas-profile-form {
    padding: 21px 17px !important;
  }

  .tomas-form-grid {
    grid-template-columns: 1fr !important;
  }

  .tomas-form-grid .full {
    grid-column: auto !important;
  }

  /* ---------------------------------------------------------------
     LEGAL BLOG INDEX
     --------------------------------------------------------------- */
  .blog-page-hero {
    padding-bottom: 45px !important;
  }

  .blog-launch-note {
    padding: 13px 14px !important;
  }

  .blog-index-intro {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .blog-toolbar {
    padding: 16px !important;
    border-radius: 15px !important;
  }

  .blog-search {
    width: 100%;
    min-width: 0 !important;
  }

  .blog-search input {
    width: 100%;
    min-width: 0;
  }

  .blog-search kbd {
    display: none !important;
  }

  .blog-filter-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .blog-filter-group > div {
    display: flex !important;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 5px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .blog-filter-group > div::-webkit-scrollbar {
    display: none;
  }

  .blog-filter-group button {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 8px 12px !important;
    white-space: nowrap;
  }

  .article-card {
    padding: 20px !important;
  }

  .article-card.featured {
    padding: 22px !important;
  }

  .article-card h3 {
    font-size: 27px !important;
  }

  .blog-author-grid article {
    min-height: 0 !important;
  }

  .blog-subscribe {
    padding: 54px 0 !important;
  }

  .blog-subscribe-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .blog-subscribe form {
    grid-template-columns: 1fr !important;
  }

  /* ---------------------------------------------------------------
     LEGAL ARTICLES
     --------------------------------------------------------------- */
  .article-hero {
    padding: 48px 0 44px !important;
  }

  .article-hero h1 {
    max-width: none !important;
    font-size: clamp(37px, 10.5vw, 46px) !important;
  }

  .article-hero .article-summary,
  .article-hero > .shell > p {
    max-width: none !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .article-layout {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .article-prose {
    padding: 22px 17px !important;
    border-radius: 15px !important;
  }

  .article-prose section {
    scroll-margin-top: 105px;
  }

  .article-prose section h2 {
    margin-top: 36px !important;
    font-size: 31px !important;
    line-height: 1.08 !important;
  }

  .article-prose h3 {
    font-size: 24px !important;
  }

  .article-prose p,
  .article-prose li {
    font-size: 15.5px !important;
    line-height: 1.76 !important;
  }

  .article-prose ul,
  .article-prose ol {
    padding-left: 21px !important;
  }

  .article-publication-note,
  .tomas-article-byline,
  .article-byline,
  .author-line {
    margin-bottom: 22px !important;
  }

  .article-publication-note {
    padding: 13px 14px !important;
  }

  .article-publication-note p {
    font-size: 12px !important;
  }

  .tomas-article-byline {
    grid-template-columns: 50px minmax(0,1fr) !important;
    gap: 11px !important;
    padding: 13px !important;
  }

  .tomas-article-byline img {
    width: 50px !important;
    height: 50px !important;
  }

  .article-aside {
    margin-top: 0 !important;
  }

  .article-faq details,
  .primary-sources,
  .key-takeaways {
    border-radius: 14px !important;
  }

  /* ---------------------------------------------------------------
     CLIENT HUB
     --------------------------------------------------------------- */
  .client-hub-alert-grid {
    grid-template-columns: 1fr !important;
  }

  .client-hub-alert-grid article {
    min-height: 0 !important;
    padding: 16px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }

  .client-hub-alert-grid article:last-child {
    border-bottom: 0;
  }

  .client-hub-section {
    padding-top: 50px !important;
  }

  .client-hub-heading {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .client-identity-panel {
    padding: 17px !important;
    border-radius: 15px !important;
  }

  .client-identity-intro,
  .client-identity-fields,
  .client-form-grid {
    grid-template-columns: 1fr !important;
  }

  .client-identity-actions {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .client-identity-actions button {
    width: 100%;
  }

  .client-hub-layout {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .client-hub-navigation {
    position: static !important;
    padding: 14px !important;
    border-radius: 15px !important;
  }

  .client-hub-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .client-hub-tabs button {
    min-height: 48px;
    padding: 9px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .client-hub-content,
  .client-hub-pane,
  .client-hub-form {
    min-width: 0;
    max-width: 100%;
  }

  .client-hub-pane {
    padding: 18px !important;
    border-radius: 15px !important;
  }

  .client-task-grid {
    grid-template-columns: 1fr !important;
  }

  .client-task-grid button,
  .client-task-grid a {
    min-height: 0 !important;
    padding: 17px !important;
  }

  .client-hub-process,
  .client-recent-submissions {
    margin: 0 0 18px !important;
    padding: 17px !important;
  }

  .client-hub-process ol,
  .service-standard-grid,
  .client-hub-contact-grid {
    grid-template-columns: 1fr !important;
  }

  .client-file-fields {
    grid-template-columns: 1fr !important;
  }

  .client-review-modal {
    padding: 12px !important;
  }

  .client-review-dialog {
    width: 100% !important;
    max-height: calc(100dvh - 24px) !important;
    padding: 22px 17px !important;
    overflow-y: auto;
  }

  .client-review-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  /* ---------------------------------------------------------------
     CONTACT, MAPS AND OFFICES
     --------------------------------------------------------------- */
  .contact-routes .shell,
  .contact-map-grid {
    grid-template-columns: 1fr !important;
  }

  .contact-routes a {
    width: 100% !important;
    max-width: none !important;
  }

  .contact-info,
  .contact-form,
  .contact-map-grid article,
  .location-grid article {
    border-radius: 15px !important;
  }

  .contact-form .form-grid {
    grid-template-columns: 1fr !important;
  }

  .office-map-frame {
    height: 220px !important;
  }

  .office-map-overlay {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 9px !important;
  }

  .office-map-overlay > div {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 6px !important;
  }

  .office-map-overlay a {
    min-height: 36px;
    justify-content: center !important;
    padding: 6px !important;
    font-size: 8px !important;
  }

  .office-mini-maps {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  .office-mini-maps a {
    min-height: 185px !important;
    padding: 21px !important;
  }

  .office-travel-note {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
    padding: 20px !important;
  }

  .office-travel-note > .btn {
    width: 100% !important;
  }

  /* ---------------------------------------------------------------
     FOOTER AND FIXED MOBILE CALL BAR
     --------------------------------------------------------------- */
  .footer-emergency .shell {
    min-height: 0 !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 18px 0 !important;
  }

  .footer-emergency a {
    font-size: 15px !important;
  }

  .footer-main {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 28px 17px !important;
    padding: 42px 0 30px !important;
  }

  .footer-intro,
  .footer-contact {
    grid-column: 1 / -1 !important;
  }

  .footer-intro img.footer-company-logo {
    width: 112px !important;
    height: 112px !important;
    margin-bottom: 17px !important;
  }

  .footer-intro p {
    max-width: none !important;
    font-size: 12px !important;
  }

  .footer-column h3 {
    margin-bottom: 13px !important;
    font-size: 9px !important;
  }

  .footer-column li {
    margin: 8px 0 !important;
  }

  .footer-column a {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .footer-office address {
    font-size: 10px !important;
  }

  .footer-bottom {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 11px !important;
    font-size: 9px !important;
  }

  .footer-bottom > div {
    gap: 10px 15px !important;
  }

  .footer-legal {
    padding-bottom: 22px !important;
    font-size: 9px !important;
  }

  .mobile-action-bar {
    height: 60px !important;
    grid-template-columns: 1fr !important;
  }

  .mobile-action-bar a:first-child {
    width: 100%;
    background: #003d32 !important;
    color: #fff !important;
    font-size: 12px !important;
  }

  .mobile-action-bar a:first-child .icon {
    color: #d4b46d;
  }

  /* Both original buttons call the same corrected office number.
     The duplicate is removed on mobile to avoid a confusing double call bar. */
  .mobile-action-bar a.urgent {
    display: none !important;
  }

  .reading-progress {
    top: 68px !important;
  }
}

/* Narrow phones */
@media only screen and (max-width: 390px) {
  .shell {
    width: calc(100% - 26px) !important;
  }

  .brand-copy strong {
    max-width: 190px;
    font-size: 12px !important;
  }

  .brand-copy small {
    font-size: 6.5px !important;
  }

  .hero-copy h1 {
    font-size: 38px !important;
  }

  .page-hero h1,
  .article-hero h1 {
    font-size: 36px !important;
  }

  .about-features,
  .stats-bar {
    grid-template-columns: 1fr !important;
  }

  .about-feature,
  .stat {
    border-right: 0 !important;
    border-bottom: 1px solid #ded5c5 !important;
  }

  .about-feature:last-child,
  .stat:last-child {
    border-bottom: 0 !important;
  }

  .client-hub-tabs {
    grid-template-columns: 1fr !important;
  }

  .footer-main {
    grid-template-columns: 1fr !important;
  }

  .footer-intro,
  .footer-contact {
    grid-column: auto !important;
  }
}
