/* Home, re-composed for touch rather than a scaled desktop canvas. */
.mobile-home-photo,.mobile-hero-action { display:none; }
@media (max-width:1000px) {
  body.mobile-app.home-polished { --app-paper:#eff6f3; padding-bottom:calc(100px + env(safe-area-inset-bottom)); background:#eff6f3; }
  .mobile-app.home-polished #site-header.brand-header,
  .mobile-app.home-polished #site-header.brand-header.is-sticky { background:#eaf5f0; border-bottom:0; box-shadow:none; }
  .mobile-app.home-polished #site-header .header-search { background:#fff; }
  .mobile-app.home-polished #site-header .menu-toggle { background:#fff; color:#153c3a; }
  .mobile-app.home-polished .hero { display:flex; flex-direction:column; min-height:0; height:auto; padding:10px 0 24px; margin:0; border-radius:0 0 28px 28px; background:linear-gradient(#eaf5f0,#e5f4ef 60%,#f3f7f2); overflow:hidden; isolation:isolate; }
  .mobile-app.home-polished .hero-backdrop { display:none; }
  .mobile-app.home-polished .hero-content { display:grid; grid-template-columns:minmax(0,1fr); 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 { grid-area:3/1; z-index:1; align-self:start; width:72%; font-size:clamp(29px,8vw,34px); max-width:290px; line-height:1.08; font-weight:600; color:#102e33; margin:24px 0 0 20px; letter-spacing:-.035em; text-align:left; }
  .mobile-app.home-polished .hero h1 span { color:#156355; background:none; -webkit-text-fill-color:currentColor; }
  .mobile-app.home-polished .hero .hero-description { grid-area:4/1; margin:18px 0 4px; font-size:14px; line-height:1.65; color:#41605e; max-width:600px; text-align:left; }
  .mobile-app.home-polished .hero-search { grid-area:1/1; display:flex; flex-direction:row; align-items:center; gap:6px; width:100%; min-height:58px; margin:0 0 14px; padding:5px; border:1px solid #c4dcd4; border-radius:30px; background:#ffffffc9; box-shadow:none; }
  .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:46px; height:46px; min-height:46px; flex:0 0 46px; padding:12px; border-radius:50%; font-size:0; gap:0; background:#173e3e; }
  .mobile-app.home-polished .hero-search .button .icon { width:23px; height:23px; }
  .mobile-app.home-polished .popular-searches { grid-area:5/1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; margin:12px 0 0; padding:0; overflow:visible; }
  .mobile-app.home-polished .popular-searches > span { display:none; }
  .mobile-app.home-polished .popular-searches a { min-width:0; min-height:44px; display:flex; align-items:center; justify-content:center; text-align:center; padding:10px 8px; border:1px solid #c8ddee; border-radius:12px; font-size:12px; line-height:1.4; white-space:normal; background:#f9fcff; color:#244d6c; }
  .mobile-app.home-polished .popular-searches a:last-child { grid-column:1/-1; }
  .mobile-app.home-polished :is(.hero-note,.trust-note,.benefits-intro) { display:none; }
  .mobile-app.home-polished .hero-categories { order:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; max-width:720px; margin:20px auto 0; padding:0 20px; gap:10px; overflow:visible; }
  .mobile-app.home-polished .hero-category { width:100%; min-width:0; height:auto; min-height:190px; margin:0; padding:12px; border:1px solid #d6e4ee; border-radius:20px; background:#fff; box-shadow:none; }
  .mobile-app.home-polished .hero-category:last-child { grid-column:1/-1; display:grid; grid-template-columns:100px minmax(0,1fr); gap:18px; align-items:center; min-height:120px; }
  .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 .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:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:0; overflow:visible; gap:8px; padding:0; border:0; background:none; }
  .mobile-app.home-polished .hero-trust > div { display:flex; flex-direction:column; gap:8px; padding:14px 10px; min-width:0; min-height:70px; border:1px solid #c9e0e9; border-radius:14px; background:#f7fcff; text-align:center; 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:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; gap:8px; border:0; margin:0 0 24px; padding:0; }
  .mobile-app.home-polished .category-nav .category { min-width:0; flex-direction:row; text-align:left; }
  .mobile-app.home-polished .category-nav .category:last-child { grid-column:1/-1; }
  .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:wrap; gap:6px; overflow:visible; 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)); align-items:stretch; gap:10px; min-height:0; scroll-margin-top:90px; }
  .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 { display:grid; grid-template-columns:1fr; padding:24px 0; gap:12px; }
  .mobile-app.home-polished .brand-marquee { overflow:visible; mask-image:none; }
  .mobile-app.home-polished .brand-track { display:block; width:100%; animation:none; transform:none; will-change:auto; }
  .mobile-app.home-polished .brand-group { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .mobile-app.home-polished .brand-group[aria-hidden="true"],
  .mobile-app.home-polished .brand-pause { display:none; }
  .mobile-app.home-polished .brand-rail-label { font-size:11px; letter-spacing:.1em; }
  .mobile-app.home-polished .brand-group a { min-width:0; height:76px; padding:12px; border:1px solid #dce5eb; border-radius:14px; background:#fff; }
  .mobile-app.home-polished .brand-group a:last-child { grid-column:1/-1; }
  .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:grid; grid-template-columns:1fr; gap:12px; overflow:visible; }
  .mobile-app.home-polished .vision-grid > div { min-width:0; padding:20px; border:1px solid #ead6cd; border-radius:18px; background:#fffaf6; }
  .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:grid; grid-template-columns:1fr; overflow:visible; gap:16px; margin:0; padding:0; }
  .mobile-app.home-polished .project-card { min-width:0; padding:0; margin:0; border-radius:20px; border:1px solid #d4e2ed; background:#e8f1fa; overflow:hidden; }
  .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:grid; grid-template-columns:1fr; overflow:visible; gap:12px; margin:0; padding:0; }
  .mobile-app.home-polished .testimonials-grid figure { min-width:0; margin:0; padding:22px; border:1px solid #ead9d1; border-radius:18px; background:#fffaf7; }
  .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; }
  /* Photographs lead the mobile story. Every existing paragraph stays available. */
  .mobile-app.home-polished .mobile-home-photo {
    display:block; position:relative; width:100%; overflow:hidden;
    aspect-ratio:1.6; margin:0 0 24px; border-radius:20px; background:#dce9f0;
  }
  .mobile-app.home-polished .mobile-home-photo img {
    display:block; width:100%; height:100%; object-fit:cover;
    object-position:center; filter:none; opacity:1; mix-blend-mode:normal;
  }
  .mobile-app.home-polished .mobile-hero-scene {
    grid-area:3/1; height:260px; aspect-ratio:auto; margin:0; border-radius:26px;
    border:1px solid #c3ded4; box-shadow:0 10px 24px #326c5210;
  }
  .mobile-app.home-polished .mobile-hero-scene::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg,#e0f3e9 2%,#e0f3e9db 30%,#e0f3e972 53%,transparent 76%); }
  .mobile-app.home-polished .mobile-hero-scene img {
    transform:scale(1.85); transform-origin:72% 100%;
    object-position:center bottom;
  }
  .mobile-app.home-polished .hero-eyebrow { grid-area:2/1; margin:0 0 12px; padding:0; min-height:20px; border:0; background:none; letter-spacing:.055em; }
  .mobile-app.home-polished .mobile-hero-action { grid-area:3/1; z-index:1; align-self:end; justify-self:start; display:inline-flex; align-items:center; gap:8px; min-height:46px; margin:0 0 22px 20px; padding:12px 16px; border-radius:24px; background:#102e33; color:#fff; font-size:13px; font-weight:600; }
  .mobile-app.home-polished .mobile-hero-action .icon { width:17px; height:17px; }
  .mobile-app.home-polished .hero-category { text-align:left; }
  .mobile-app.home-polished .category-photo,
  .mobile-app.home-polished .category-photo img { height:102px; }
  .mobile-app.home-polished .hero-category:nth-child(1) { background:#fff; }
  .mobile-app.home-polished .hero-category:nth-child(2) { background:#edf5fc; }
  .mobile-app.home-polished .hero-benefits { margin-block:20px; }
  .mobile-app.home-polished .hero-benefits li { align-items:center; text-align:center; }
  .mobile-app.home-polished .hero-trust > div { background:#fff; }
  .mobile-app.home-polished .shop-section { padding-top:32px; }
  /* Two complete rows fit between the app header and bottom navigation. */
  .mobile-app.home-polished .catalog-photo { height:clamp(76px,calc((100svh - 500px)/2),120px); padding:8px; }
  .mobile-app.home-polished .catalog-card { border:0; border-radius:22px; padding:8px; box-shadow:0 5px 18px #24483b08; }
  .mobile-app.home-polished .catalog-photo { background:#f3f6f3; border-radius:16px; }
  .mobile-app.home-polished .catalog-card:nth-child(2n) .catalog-photo { background:#f3eef9; }
  .mobile-app.home-polished .catalog-copy { padding:8px 2px 0; }
  .mobile-app.home-polished .catalog-copy .product-brand { margin:0 0 3px; font-size:11px; line-height:1.4; }
  .mobile-app.home-polished .catalog-copy h3 { min-height:44px; margin:0; font-size:13px; line-height:22px; }
  .mobile-app.home-polished .catalog-copy h3 a { min-height:44px; max-height:44px; -webkit-line-clamp:2; overflow:hidden; }
  .mobile-app.home-polished .catalog-card .catalog-card-bottom { margin-top:8px; padding:0; border:0; gap:0; }
  .mobile-app.home-polished .catalog-card .catalog-card-bottom > .text-link { display:none; }
  .mobile-app.home-polished .catalog-card a.whatsapp-price { min-height:44px; width:100%; gap:6px; padding:7px 6px; border-radius:12px; font-size:11px; line-height:1.3; white-space:normal; }
  .mobile-app.home-polished .catalog-card .whatsapp-price .whatsapp-icon { width:20px; min-width:20px; height:20px; flex:0 0 20px; }
  .mobile-app.home-polished .hero-benefits li > span { white-space:normal; }
  .mobile-app.home-polished .app-bottom-nav { left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom)); min-height:68px; max-width:620px; margin-inline:auto; padding:5px 6px; border:1px solid #aecfc8; border-radius:36px; box-shadow:0 8px 28px #173c3022; background:#fffffff5; }
  .mobile-app.home-polished .app-bottom-nav :is(a,button) { min-height:56px; gap:2px; border-radius:28px; font-size:9px; }
  .mobile-app.home-polished .app-bottom-nav :is([aria-current='page'],[data-section-active='true'],[aria-expanded='true']) { color:#105b56; background:#d0eee7; }
  .mobile-app.home-polished .app-bottom-nav .app-icon { width:22px; height:22px; }
  .mobile-app.home-polished .app-menu { background:#f0f8f4; }
  .mobile-app.home-polished .app-menu .app-nav-item[aria-current] { background:#d8eee5; color:#125346; }

  .mobile-app.home-polished .home-company { display:flex; flex-direction:column; gap:0; padding:20px; background:#edf4ed; }
  .mobile-app.home-polished .home-company > div:first-child { order:1; }
  .mobile-app.home-polished .home-company > div:nth-child(2) { display:contents; }
  .mobile-app.home-polished .company-photo { order:0; margin:0 0 24px; border-radius:18px; overflow:hidden; }
  .mobile-app.home-polished .company-photo img { display:block; height:auto; aspect-ratio:1.3; object-fit:cover; }
  .mobile-app.home-polished .vision-grid { order:2; margin-top:18px; }
  .mobile-app.home-polished .vision-grid > div { background:#fff; border-color:#d5e2d3; }
  .mobile-app.home-polished .solutions-section { background:#f5f8fc; }
  .mobile-app.home-polished .solutions-intro { display:flex; flex-direction:column; }
  .mobile-app.home-polished .solutions-intro figure { order:-1; margin:0 0 22px; position:relative; background:#dde8ee; }
  .mobile-app.home-polished .solution-photo { display:block; }
  .mobile-app.home-polished .solution-photo img { display:block; height:auto; aspect-ratio:1.35; }
  .mobile-app.home-polished .solutions-intro figcaption { position:absolute; bottom:0; left:0; right:0; padding:34px 16px 14px; background:linear-gradient(transparent,#102c49df); color:white; font-size:13px; }
  .mobile-app.home-polished .service-row { border-color:#dce5eb; border-left:3px solid #5087bd; }
  .mobile-app.home-polished .service-row:nth-child(2n) { border-left-color:#81a850; background:#f1f7ee; }
  .mobile-app.home-polished .service-row:nth-child(3) { border-left-color:#d45a43; background:#fff4ef; }
  .mobile-app.home-polished .service-number { display:grid; place-items:center; width:30px; height:34px; border-radius:8px; font-size:15px; background:#e7f1fc; color:#235b8e; }
  .mobile-app.home-polished .planner-section { background:#143858; }
  .mobile-app.home-polished .mobile-planner-photo { aspect-ratio:1.7; }
  .mobile-app.home-polished .projects-heading-aside .button { margin-top:6px; }
  .mobile-app.home-polished .project-photo { height:248px; }
  .mobile-app.home-polished .project-teaser-image,
  .mobile-app.home-polished .project-teaser img { height:145px; }
  .mobile-app.home-polished .why-japston { background:#163e61; }
  .mobile-app.home-polished .mobile-commercial-photo { aspect-ratio:1.3; margin-bottom:20px; }
  .mobile-app.home-polished .values-grid article { border-left:3px solid #73a7cc; }
  .mobile-app.home-polished .testimonials-section { background:#faf1ed; }
  .mobile-app.home-polished .mobile-backup-photo { aspect-ratio:1.2; object-position:center; }
  .mobile-app.home-polished .testimonials-grid figure { background:#fff; }
  .mobile-app.home-polished .faq-grid > div:first-child { display:flex; flex-direction:column; }
  .mobile-app.home-polished .faq-photo { order:-1; display:block; width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; margin:0 0 24px; border-radius:20px; }
  .mobile-app.home-polished .mobile-team-photo { aspect-ratio:1.7; }
  .mobile-app.home-polished .contact-grid { background:#eef4f9; }
  .mobile-app.home-polished .contact-intro > p { line-height:1.65; }
  @media (min-width:601px) {
    .mobile-app.home-polished .mobile-hero-scene { height:300px; }
    .mobile-app.home-polished .mobile-hero-scene img { transform:scale(1.5); }
    .mobile-app.home-polished .mobile-home-photo:not(.mobile-hero-scene),
    .mobile-app.home-polished .company-photo img { max-height:360px; }
    .mobile-app.home-polished .mobile-backup-photo img { object-position:center 45%; }
  }
  @media (min-width:601px) {
    .mobile-app.home-polished .hero-content { padding-inline:20px; }
    .mobile-app.home-polished .hero h1 { font-size:42px; max-width:350px; }
    .mobile-app.home-polished .hero-categories { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .mobile-app.home-polished .hero-category:last-child { grid-column:span 2; }
    .mobile-app.home-polished .hero-trust { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .mobile-app.home-polished :is(.project-grid,.vision-grid,.testimonials-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mobile-app.home-polished .brand-group { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .mobile-app.home-polished .brand-group a:last-child { grid-column:auto; }
    .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; }
  }
}
