/* Home, re-composed for touch rather than a scaled desktop canvas. */
@media (max-width:1000px) {
  .mobile-app.home-polished .hero { display:flex; flex-direction:column; min-height:0; height:auto; padding:28px 0 20px; margin:0; border-radius:0 0 28px 28px; background:#eaf4ff; overflow:hidden; isolation:isolate; }
  .mobile-app.home-polished .hero-backdrop { inset:0 0 auto; height:540px; z-index:-1; opacity:1; }
  .mobile-app.home-polished .hero-backdrop img { width:100%; height:100%; object-fit:cover; object-position:64% bottom; filter:none; opacity:.55; }
  .mobile-app.home-polished .hero-backdrop::after { content:''; position:absolute; inset:0; background:linear-gradient(#eaf4ffe8 0%,#eaf4ffde 55%,#eaf4ff); }
  .mobile-app.home-polished .hero-content { width:100%; max-width:680px; margin:0 auto; padding:0 20px; text-align:left; order:0; }
  .mobile-app.home-polished .hero-eyebrow { justify-content:flex-start; width:max-content; max-width:100%; min-height:30px; padding:6px 10px; margin:0 0 16px; border:1px solid #b9d5dd; background:#f5fcffb3; border-radius:9px; font-size:9px; line-height:1.3; letter-spacing:.08em; }
  .mobile-app.home-polished .hero-eyebrow .icon { width:15px; height:15px; }
  .mobile-app.home-polished .hero h1 { font-size:clamp(32px,8.7vw,42px); max-width:550px; line-height:1.08; font-weight:500; color:#15334e; margin:0; letter-spacing:-.045em; }
  .mobile-app.home-polished .hero h1 span { color:#165fc4; background:none; -webkit-text-fill-color:currentColor; }
  .mobile-app.home-polished .hero .hero-description { margin:16px 0 20px; font-size:15px; line-height:1.6; color:#496478; max-width:520px; }
  .mobile-app.home-polished .hero-search { display:flex; flex-direction:row; align-items:center; gap:6px; width:100%; min-height:60px; margin:0; padding:5px; border:1px solid #bdd4e6; border-radius:18px; background:#fff; box-shadow:0 4px 16px #173d5810; }
  .mobile-app.home-polished .hero-search-field { flex:1; min-width:0; padding-left:10px; gap:8px; }
  .mobile-app.home-polished .hero-search-field > .icon { width:18px; height:18px; }
  .mobile-app.home-polished .hero-search #hero-query { width:0; flex:1; height:48px; min-height:48px; padding:0; font-size:16px; color:#1d435e; }
  .mobile-app.home-polished .hero-search .button { width:48px; height:48px; min-height:48px; flex:0 0 48px; padding:12px; border-radius:13px; font-size:0; gap:0; background:#165fc4; }
  .mobile-app.home-polished .hero-search .button .icon { width:23px; height:23px; }
  .mobile-app.home-polished .popular-searches { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:8px; width:calc(100% + 20px); margin:12px 0 0; padding-right:20px; overflow-x:auto; scrollbar-width:none; }
  .mobile-app.home-polished .popular-searches > span { display:none; }
  .mobile-app.home-polished .popular-searches a { flex:0 0 auto; min-height:44px; display:flex; align-items:center; padding:10px 13px; border:1px solid #c8ddee; border-radius:12px; font-size:12px; white-space:nowrap; background:#f9fcff; color:#244d6c; }
  .mobile-app.home-polished :is(.hero-note,.trust-note,.benefits-intro) { display:none; }
  .mobile-app.home-polished .hero-categories { order:1; display:flex; justify-content:flex-start; width:100%; max-width:720px; margin:20px auto 0; padding:0 20px 6px; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .mobile-app.home-polished .hero-category { flex:0 0 140px; width:140px; height:176px; margin:0; padding:12px; border:1px solid #d6e4ee; border-radius:20px; background:#fff; scroll-snap-align:start; box-shadow:none; }
  .mobile-app.home-polished .hero-category:nth-child(3) { background:#eff7f1; }
  .mobile-app.home-polished .hero-category:nth-child(4) { background:#fff1ed; }
  .mobile-app.home-polished .hero-category:nth-child(5) { background:#f3f0fc; }
  .mobile-app.home-polished :is(.hero-categories,.project-grid,.testimonials-grid) { scroll-padding-inline:20px; }
  .mobile-app.home-polished .category-photo { width:100%; height:91px; margin:0; padding:0; background:transparent; }
  .mobile-app.home-polished .category-photo img { width:100%; height:91px; object-fit:contain; mix-blend-mode:normal; filter:none; }
  .mobile-app.home-polished .category-copy { margin-top:9px; min-height:0; }
  .mobile-app.home-polished .category-copy strong { font-size:14px; line-height:1.2; }
  .mobile-app.home-polished .category-copy small { font-size:11px; line-height:1.35; margin-top:4px; }
  .mobile-app.home-polished .category-arrow { display:none; }
  .mobile-app.home-polished .hero-benefits { position:static; order:2; display:block; width:100%; padding:0 20px; margin:18px auto; max-width:720px; }
  .mobile-app.home-polished .hero-benefits ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
  .mobile-app.home-polished .hero-benefits li { display:flex; flex-direction:column; align-items:flex-start; gap:7px; font-size:11px; line-height:1.4; color:#3a6471; }
  .mobile-app.home-polished .benefit-icon { width:30px; height:30px; background:transparent; }
  .mobile-app.home-polished .benefit-icon .icon { width:26px; height:26px; }
  .mobile-app.home-polished .hero-trust-wrap { order:3; display:block; min-height:0; width:100%; padding:0 20px; margin:0 auto; max-width:720px; background:transparent; border-radius:0; }
  .mobile-app.home-polished .hero-trust { display:flex; flex-wrap:nowrap; min-height:0; overflow-x:auto; scrollbar-width:none; gap:8px; padding:0; border:0; background:none; }
  .mobile-app.home-polished .hero-trust > div { display:flex; flex:0 0 205px; gap:10px; padding:12px; min-height:70px; border:1px solid #c9e0e9; border-radius:14px; background:#f7fcff; text-align:left; align-items:center; }
  .mobile-app.home-polished .hero-trust .icon { width:24px; height:24px; }
  .mobile-app.home-polished .hero-trust strong { font-size:12px; line-height:1.4; }
  .mobile-app.home-polished .hero-trust small { font-size:11px; line-height:1.4; }
  .mobile-app.home-polished .section-heading { display:block; margin-bottom:22px; }
  .mobile-app.home-polished .section-heading > p { font-size:15px; max-width:none; margin-top:14px; }
  .mobile-app.home-polished .section-heading .small { font-size:12px; }
  .mobile-app.home-polished .category-nav { display:flex; overflow-x:auto; scrollbar-width:none; gap:8px; border:0; margin:0 -20px 24px; padding:0 20px; }
  .mobile-app.home-polished .category { flex:0 0 auto; min-height:48px; gap:8px; padding:10px 13px; border:1px solid #d0dfe9; border-radius:14px; font-size:12px; color:#3c5b70; background:#fff; }
  .mobile-app.home-polished .category .category-icon { width:23px; height:23px; }
  .mobile-app.home-polished .category > .icon { display:none; }
  .mobile-app.home-polished .category.active { border-color:#165fc4; background:#165fc4; color:#fff; }
  .mobile-app.home-polished .catalogue-heading { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
  .mobile-app.home-polished .catalogue-heading h3 { font-size:20px; max-width:none; flex:1; }
  .mobile-app.home-polished .catalogue-heading .text-link { font-size:12px; gap:5px; min-height:48px; }
  .mobile-app.home-polished .filter-tabs { display:flex; flex-wrap:nowrap; gap:6px; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; }
  .mobile-app.home-polished .filter-tabs button { min-height:44px; flex:0 0 auto; padding:10px 12px; font-size:12px; border-radius:12px; }
  .mobile-app.home-polished .filter-tabs button.active { color:#145eb1; background:#e5efff; }
  .mobile-app.home-polished .product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .mobile-app.home-polished .catalogue-note { font-size:12px; line-height:1.6; margin:18px 0; }
  .mobile-app.home-polished .expert-strip { margin-top:22px; padding:18px; display:flex; gap:12px; background:#e8f3ea; border:0; border-radius:18px; }
  .mobile-app.home-polished .expert-strip p { font-size:14px; flex:1 1 200px; }
  .mobile-app.home-polished .expert-strip .text-link { margin:0; flex-basis:100%; justify-content:flex-end; }
  .mobile-app.home-polished .brand-rail { padding:20px 0; gap:12px; }
  .mobile-app.home-polished .brand-rail-label { font-size:11px; letter-spacing:.1em; }
  .mobile-app.home-polished .brand-group a { min-width:110px; min-height:64px; padding:8px; }
  .mobile-app.home-polished .brand-group img { max-width:94px; height:42px; object-fit:contain; }
  .mobile-app.home-polished .brand-pause { min-width:60px; min-height:44px; border:1px solid #d5e2e9; border-radius:12px; font-size:12px; }
  .mobile-app.home-polished .home-company { display:block; padding:28px 20px; width:calc(100% - 32px); margin:0 auto 24px; background:#fff0eb; border-radius:24px; }
  .mobile-app.home-polished .home-company p { margin:16px 0; font-size:15px; line-height:1.75; }
  .mobile-app.home-polished .company-photo { display:block; width:100%; margin:22px 0 18px; }
  .mobile-app.home-polished .company-photo img { height:220px; width:100%; object-fit:cover; border-radius:18px; }
  .mobile-app.home-polished .vision-grid { display:flex; gap:12px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; }
  .mobile-app.home-polished .vision-grid > div { flex:0 0 87%; padding:20px; border:1px solid #ead6cd; border-radius:18px; background:#fffaf6; scroll-snap-align:start; }
  .mobile-app.home-polished .vision-grid h3 { font-size:21px; }
  .mobile-app.home-polished .vision-grid p { font-size:14px; margin:10px 0 0; }
  .mobile-app.home-polished .published-figures { width:calc(100% - 32px); padding:22px 12px; margin:0 auto 28px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; background:#1d614c; border-radius:22px; color:#fff; }
  .mobile-app.home-polished .published-figures > div { text-align:center; padding:0 8px; border:0; }
  .mobile-app.home-polished .published-figures > div + div { border-left:1px solid #ffffff36; }
  .mobile-app.home-polished .published-figures strong { display:block; font:500 clamp(24px,7vw,32px)/1.2 Outfit,sans-serif; letter-spacing:-.04em; color:#fff; }
  .mobile-app.home-polished .published-figures span { display:block; font-size:11px; line-height:1.45; color:#d6ece3; margin:8px 0 0; }
  .mobile-app.home-polished .solutions-section { background:#eaf3eb; padding:32px 0; }
  .mobile-app.home-polished .solutions-grid { display:block; }
  .mobile-app.home-polished .solutions-intro > p { max-width:none; margin-top:16px; font-size:15px; }
  .mobile-app.home-polished .solutions-intro figure { margin:24px 0 12px; }
  .mobile-app.home-polished .solutions-intro figure { overflow:hidden; border-radius:18px; }
  .mobile-app.home-polished .solution-photo img { width:100%; height:200px; border-radius:18px; object-fit:cover; }
  .mobile-app.home-polished .solutions-intro figcaption { padding:10px 0; font-size:12px; }
  .mobile-app.home-polished .service-list { margin-top:18px; display:grid; gap:10px; }
  .mobile-app.home-polished .service-row { display:grid; grid-template-columns:28px minmax(0,1fr) 18px; gap:12px; padding:20px 16px; background:#fff; border:1px solid #d1e1d5; border-radius:18px; }
  .mobile-app.home-polished .service-number { font-size:19px; color:#589276; }
  .mobile-app.home-polished .service-row h3 { font-size:19px; }
  .mobile-app.home-polished .service-row p { font-size:14px; line-height:1.6; margin-top:8px; }
  .mobile-app.home-polished .service-row > .icon { width:18px; height:18px; }
  .mobile-app.home-polished .planner-section { margin:24px 16px; padding:28px 20px; border-radius:24px; background:linear-gradient(120deg,#153954ed,#17395ce8),url('/assets/hero-visuals/solutions-generated.png') center/cover; }
  .mobile-app.home-polished .planner-grid { width:100%; display:block; }
  .mobile-app.home-polished .planner-intro :is(h2,.section-label) { color:#eff8ff; }
  .mobile-app.home-polished .planner-intro h2 { font-size:32px; }
  .mobile-app.home-polished .planner-intro p { color:#d2e5f4; font-size:15px; margin-top:16px; }
  .mobile-app.home-polished .planner-intro .text-link { color:#bfdef7; font-size:13px; margin:12px 0 22px; }
  .mobile-app.home-polished .planner-card { padding:22px 18px; border:0; border-radius:20px; background:#f4f9ff; color:var(--app-ink); }
  .mobile-app.home-polished .planner-card > label { font-size:15px; font-weight:600; }
  .mobile-app.home-polished .planner-card > label span { font-size:12px; line-height:1.6; }
  .mobile-app.home-polished .usage-number { margin:20px 0 4px; }
  .mobile-app.home-polished .usage-number output { font:500 44px/1.2 Outfit,sans-serif; color:#165fc4; }
  .mobile-app.home-polished .usage-number span { font-size:13px; }
  .mobile-app.home-polished #monthly-usage { min-height:44px; accent-color:#165fc4; }
  .mobile-app.home-polished .range-labels { font-size:12px; }
  .mobile-app.home-polished .estimate-result { margin-top:20px; padding:20px 0; border-color:#cbdce9; }
  .mobile-app.home-polished .estimate-result span { font-size:13px; }
  .mobile-app.home-polished .estimate-result strong { font-size:38px; }
  .mobile-app.home-polished .planner-card .small { font-size:12px; line-height:1.7; }
  .mobile-app.home-polished .estimate-assumptions summary { font-size:13px; min-height:48px; padding:12px 0; }
  .mobile-app.home-polished .estimate-assumptions p { font-size:13px; }
  .mobile-app.home-polished .planner-card > .button { width:100%; margin-top:14px; }
  .mobile-app.home-polished .projects-heading-aside > p { font-size:15px; margin:16px 0; }
  .mobile-app.home-polished .projects-heading-aside .button { width:100%; }
  .mobile-app.home-polished .project-grid { display:flex; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; gap:14px; margin:0 -20px; padding:0 20px 8px; }
  .mobile-app.home-polished .project-card { flex:0 0 91%; min-width:0; padding:0; margin:0; border-radius:20px; border:1px solid #d4e2ed; background:#e8f1fa; overflow:hidden; scroll-snap-align:start; }
  .mobile-app.home-polished .project-card:nth-child(2) { background:#eaf3e5; }
  .mobile-app.home-polished .project-photo { height:210px; aspect-ratio:auto; border-radius:0; }
  .mobile-app.home-polished .project-photo img { width:100%; height:100%; padding:0; object-fit:cover; object-position:center; }
  .mobile-app.home-polished .project-tag { font-size:10px; top:12px; left:12px; }
  .mobile-app.home-polished .round-arrow { width:40px; height:40px; right:12px; bottom:12px; }
  .mobile-app.home-polished .project-caption { display:block; margin:0; padding:16px; }
  .mobile-app.home-polished .project-caption h3 { font-size:19px; }
  .mobile-app.home-polished .project-caption h3 a { display:flex; align-items:center; min-height:44px; }
  .mobile-app.home-polished .project-caption p { font-size:13px; margin:4px 0; }
  .mobile-app.home-polished .project-photo-count { display:block; font-size:11px; color:#4c6e87; }
  .mobile-app.home-polished .project-library-teasers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
  .mobile-app.home-polished .project-teaser { padding:0; border:1px solid #d5e2eb; border-radius:16px; overflow:hidden; background:#fff; }
  .mobile-app.home-polished .project-teaser-image { height:120px; margin:0; border-radius:0; }
  .mobile-app.home-polished .project-teaser img { padding:0; width:100%; height:120px; object-fit:cover; }
  .mobile-app.home-polished .project-teaser-type { display:block; font-size:10px; line-height:1.5; padding:12px 12px 0; }
  .mobile-app.home-polished .project-teaser h3 { font-size:14px; line-height:1.5; padding:6px 12px 0; min-height:69px; }
  .mobile-app.home-polished .project-teaser-link { display:flex; align-items:center; min-height:44px; padding:8px 12px; font-size:11px; }
  .mobile-app.home-polished .process-heading { margin-top:32px; }
  .mobile-app.home-polished .process-heading h3 { font-size:25px; max-width:none; }
  .mobile-app.home-polished .process-list { display:grid; grid-template-columns:1fr; gap:0; margin-top:20px; }
  .mobile-app.home-polished .process-list li { position:relative; padding:0 0 24px 50px; border:0; }
  .mobile-app.home-polished .process-list li::before { content:''; position:absolute; left:17px; top:38px; bottom:0; border-left:1px solid #bad0df; }
  .mobile-app.home-polished .process-list li:last-child::before { content:none; }
  .mobile-app.home-polished .process-list li > span { position:absolute; left:0; top:0; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#e1edfb; color:#165fc4; font-size:15px; }
  .mobile-app.home-polished .process-list h4 { font-size:17px; margin:5px 0 8px; }
  .mobile-app.home-polished .process-list p { font-size:14px; }
  .mobile-app.home-polished .why-japston { background:linear-gradient(120deg,#193e61f2,#16517bea),url('/assets/hero-visuals/solutions-generated.png') center/cover; border-radius:24px; margin:0 16px 24px; padding:28px 20px; }
  .mobile-app.home-polished .why-japston > .container { width:100%; }
  .mobile-app.home-polished .why-japston .section-heading :is(h2,.section-label) { color:#fff; }
  .mobile-app.home-polished .why-japston .section-heading p { color:#d0e5f3; font-size:15px; margin-top:16px; }
  .mobile-app.home-polished .values-grid { display:grid; grid-template-columns:1fr; gap:10px; background:none; }
  .mobile-app.home-polished .values-grid article { padding:20px; border:0; border-radius:18px; background:#f7fbff; }
  .mobile-app.home-polished .values-grid article > span { font-size:12px; color:#477593; }
  .mobile-app.home-polished .values-grid h3 { font-size:20px; margin:8px 0; }
  .mobile-app.home-polished .values-grid p { font-size:14px; }
  .mobile-app.home-polished .credentials-line { display:block; padding-top:20px; margin-top:24px; }
  .mobile-app.home-polished .credentials-line h3 { color:#e0edf5; font-size:17px; }
  .mobile-app.home-polished .credentials-line .text-link { color:#c4e2ff; font-size:12px; margin-top:10px; }
  .mobile-app.home-polished .testimonials-section { width:calc(100% - 32px); padding:28px 20px; background:#fff0eb; border-radius:24px; }
  .mobile-app.home-polished .testimonials-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; gap:12px; margin:0 -20px; padding:0 20px 4px; }
  .mobile-app.home-polished .testimonials-grid figure { flex:0 0 92%; min-width:0; padding:22px; border:1px solid #ead9d1; border-radius:18px; background:#fffaf7; scroll-snap-align:start; }
  .mobile-app.home-polished .testimonials-grid blockquote { font-size:16px; line-height:1.75; }
  .mobile-app.home-polished .testimonials-grid figcaption { font-size:13px; margin-top:20px; }
  .mobile-app.home-polished .faq-grid { display:block; }
  .mobile-app.home-polished .faq-grid > div:first-child { margin-bottom:22px; }
  .mobile-app.home-polished .faq-grid h2 { font-size:30px; }
  .mobile-app.home-polished .faq-grid > div > p { font-size:15px; margin-top:16px; }
  .mobile-app.home-polished .closing-cta { display:block; width:calc(100% - 32px); padding:26px 20px; margin:0 auto 28px; background:#c7462f; border:0; border-radius:24px; }
  .mobile-app.home-polished .closing-cta h2 { font-size:28px; color:#fff; }
  .mobile-app.home-polished .closing-cta p { color:#ffebe5; font-size:14px; margin:16px 0 22px; }
  .mobile-app.home-polished .closing-cta .button { width:100%; background:#fff8f5; color:#a83622; border-color:transparent; }
  .mobile-app.home-polished .contact-section { width:calc(100% - 32px); padding:0; margin:0 auto; }
  .mobile-app.home-polished .contact-grid { display:grid; padding:26px 20px; border-radius:24px; background:#edf4fa; }
  .mobile-app.home-polished .contact-intro { display:block; }
  .mobile-app.home-polished .contact-intro h2 { font-size:30px; }
  .mobile-app.home-polished .contact-intro > p { margin:16px 0 20px; font-size:15px; }
  .mobile-app.home-polished .office-block { margin:12px 0; padding:16px; border:1px solid #d4e1e9; border-radius:16px; background:#f9fcff; }
  .mobile-app.home-polished .office-block h3 { font-size:17px; }
  .mobile-app.home-polished .office-block p { font-size:14px; margin:8px 0; }
  .mobile-app.home-polished .office-block a { font-size:13px; }
  .mobile-app.home-polished .contact-line { display:flex; align-items:center; min-height:44px; margin:0; font-size:15px; overflow-wrap:anywhere; }
  .mobile-app.home-polished #quote-form { margin-top:12px; border-top:1px solid #cbdce8; padding-top:24px; }
  .mobile-app.home-polished .panel-enquiry { padding:20px; border:1px solid #d5e4ed; border-radius:18px; }
  .mobile-app.home-polished .panel-enquiry h3 { font-size:23px; }
  .mobile-app.home-polished .panel-enquiry p { font-size:14px; }
  @media (max-width:359px) {
    .mobile-app.home-polished .product-grid { grid-template-columns:1fr; }
    .mobile-app.home-polished .catalog-card { display:grid; grid-template-columns:96px minmax(0,1fr); }
    .mobile-app.home-polished .catalog-photo { height:150px; padding:12px; align-self:center; }
  }
  @media (min-width:601px) {
    .mobile-app.home-polished .hero-content { padding-inline:0; }
    .mobile-app.home-polished .hero h1 { font-size:44px; }
    .mobile-app.home-polished .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .mobile-app.home-polished .hero-categories { justify-content:center; }
    .mobile-app.home-polished .hero-category { flex-basis:126px; }
    .mobile-app.home-polished .project-card { flex-basis:48%; }
    .mobile-app.home-polished .project-library-teasers { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .mobile-app.home-polished .service-list { grid-template-columns:1fr 1fr; }
    .mobile-app.home-polished .testimonials-grid figure { flex-basis:46%; }
  }
}
