/* Interior mobile views extend the approved home app UI. Desktop stays unchanged. */
@media (max-width:1000px) {
  body.mobile-app.inner-page { --app-paper:#eff6f3; --mobile-mint:#e5f3ed; --mobile-ink:#173e3e; --mobile-line:#cfdfd9; background:#eff6f3; padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
  .mobile-app.inner-page #site-header.brand-header,
  .mobile-app.inner-page #site-header.brand-header.is-sticky { background:#eaf5f0; border:0; box-shadow:none; }
  .mobile-app.inner-page #site-header :is(.header-search,.menu-toggle) { background:#fff; color:#173e3e; }
  .mobile-app.inner-page .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.inner-page .app-bottom-nav :is(a,button) { min-height:56px; gap:2px; border-radius:28px; font-size:9px; }
  .mobile-app.inner-page .app-bottom-nav :is([aria-current='page'],[aria-expanded='true']) { color:#105b56; background:#d0eee7; }
  .mobile-app.inner-page .app-bottom-nav .app-icon { width:22px; height:22px; }
  .mobile-app.inner-page .app-menu { background:#f0f8f4; }
  .mobile-app.inner-page .app-menu .app-nav-item[aria-current] { background:#d8eee5; color:#125346; }
  .mobile-app.inner-page :is(.button,summary,select,input,.text-link) { touch-action:manipulation; }
  .mobile-app.inner-page :is(.button,.text-link,summary):active { opacity:.8; }
  .mobile-app.inner-page .mobile-reading-more { margin:12px 0 0; border-top:1px solid #b8ceca; }
  .mobile-app.inner-page .mobile-reading-more > summary { display:flex; align-items:center; justify-content:space-between; min-height:48px; gap:12px; font-size:14px; font-weight:600; color:#175b53; cursor:pointer; list-style:none; }
  .mobile-app.inner-page .mobile-reading-more > summary::-webkit-details-marker { display:none; }
  .mobile-app.inner-page .mobile-reading-more > summary::after { content:'+'; font-size:22px; }
  .mobile-app.inner-page .mobile-reading-more[open] > summary::after { content:'−'; }
  .mobile-app.inner-page .mobile-reading-more[open] > div { animation:mobile-read-in 220ms ease-out; }
  .mobile-app.inner-page .mobile-reading-more :is(p,li) { font-size:15px; line-height:1.75; }
  .mobile-app.inner-page :is(.support-section,.source-faq) { width:calc(100% - 32px); padding:22px 20px; margin:20px auto; border:1px solid var(--mobile-line); border-radius:24px; background:#fff; }
  .mobile-app.inner-page :is(.support-section,.source-faq) h2 { font-size:26px; line-height:1.2; margin:0 0 16px; }
  .mobile-app.inner-page :is(.support-section,.source-faq) :is(p,li) { font-size:15px; line-height:1.75; }
  .mobile-app.inner-page .source-faq summary { min-height:52px; font-size:15px; line-height:1.5; padding:14px 0; }
  .mobile-app.inner-page .breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; }

  /* Shop: visual entry, vertical category grid, and two compact product rows. */
  .mobile-app.commerce-catalogue .commerce-intro { background:#e5f3ed; border-color:#cfe1d8; padding:16px; margin-top:10px; }
  .mobile-app.commerce-catalogue .commerce-intro-grid { display:flex; flex-direction:column; gap:18px; }
  .mobile-app.commerce-catalogue .commerce-intro h1 { font-size:29px; line-height:1.12; margin:8px 0 14px; color:#173e3e; }
  .mobile-app.commerce-catalogue .commerce-intro h1 em { color:#156355; }
  .mobile-app.commerce-catalogue .commerce-intro-copy > p { font-size:14px; line-height:1.65; color:#41605e; }
  .mobile-app.commerce-catalogue .commerce-eyebrow { font-size:9px; }
  .mobile-app.commerce-catalogue .commerce-browse { margin:4px 0 0; color:#175b53; }
  .mobile-app.commerce-catalogue .commerce-spotlights { order:-1; gap:10px; }
  .mobile-app.commerce-catalogue .commerce-spotlight { border:0; border-radius:20px; background:#fff; }
  .mobile-app.commerce-catalogue .commerce-spotlight:nth-child(even) { background:#f1ebfa; }
  .mobile-app.commerce-catalogue .commerce-spotlight img { height:92px; }
  .mobile-app.commerce-catalogue .spotlight-caption strong { font-size:12px; }
  .mobile-app.commerce-catalogue .commerce-category-ribbon { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0 16px; overflow:visible; }
  .mobile-app.commerce-catalogue .commerce-category-ribbon a { white-space:normal; min-width:0; padding:10px; line-height:1.4; }
  .mobile-app.commerce-catalogue .commerce-category-ribbon a:last-child { grid-column:1/-1; }
  .mobile-app.commerce-catalogue .catalog-search { border-radius:30px; }
  .mobile-app.commerce-catalogue .catalog-search .button { border-radius:50%; background:#173e3e; }
  .mobile-app.commerce-catalogue .catalog-toolbar { background:#eff6f3; top:76px; }
  .mobile-app.commerce-catalogue .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .mobile-app.commerce-catalogue .catalog-card { display:block; border:0; border-radius:22px; padding:8px; background:#fff; box-shadow:0 5px 18px #24483b08; }
  .mobile-app.commerce-catalogue .catalog-photo { height:clamp(90px,calc((100svh - 470px)/2),130px); border-radius:16px; background:#f3f6f3; padding:8px; }
  .mobile-app.commerce-catalogue .catalog-card:nth-child(even) .catalog-photo { background:#f3eef9; }
  .mobile-app.commerce-catalogue .catalog-copy { padding:8px 2px 0; }
  .mobile-app.commerce-catalogue .catalog-copy .product-brand { font-size:11px; margin:0 0 3px; }
  .mobile-app.commerce-catalogue .catalog-copy h3 { min-height:44px; margin:0; font-size:13px; line-height:22px; }
  .mobile-app.commerce-catalogue .catalog-copy h3 a { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:44px; max-height:44px; }
  .mobile-app.commerce-catalogue .catalog-card-bottom { margin-top:8px; padding:0; border:0; gap:0; }
  .mobile-app.commerce-catalogue .catalog-card-bottom > .text-link { display:none; }
  .mobile-app.commerce-catalogue .catalog-card a.whatsapp-price { min-height:44px; width:100%; gap:5px; padding:7px 4px; border-radius:12px; font-size:11px; line-height:1.3; white-space:normal; }
  .mobile-app.commerce-catalogue .catalog-card .whatsapp-icon { width:20px; min-width:20px; height:20px; flex:0 0 20px; }
  .mobile-app.commerce-catalogue .support-section:nth-of-type(even) { background:#e7f3ed; }
  .mobile-app.commerce-catalogue .support-section:nth-of-type(odd) { background:#f1ecf8; }
  .mobile-app.commerce-catalogue .commerce-support { background:linear-gradient(110deg,#163e3eee,#163e3eda),url('/assets/hero-real.jpeg') center/cover; }
  .mobile-app.commerce-catalogue .commerce-support :is(h2,h2 em,p) { color:#fff; }
  @media (min-width:601px) { .mobile-app.commerce-catalogue .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
  @keyframes mobile-read-in { from {opacity:0;transform:translateY(5px)} to {opacity:1;transform:none} }
}
@media (max-width:1000px) and (prefers-reduced-motion:reduce) { .mobile-app.inner-page .mobile-reading-more[open] > div { animation:none; } }

@media (max-width:1000px) {
  /* Product: true-scale photography and a clear, always reachable enquiry action. */
  .mobile-app.commerce-product .product-gallery { border:0; background:#e0f0e9; border-radius:24px; padding:10px; }
  .mobile-app.commerce-product .product-stage { height:235px; padding:12px; border-radius:18px; }
  .mobile-app.commerce-product .gallery-thumbnails { display:grid; grid-template-columns:repeat(auto-fit,minmax(48px,64px)); overflow:visible; gap:8px; }
  .mobile-app.commerce-product .gallery-thumb { width:100%; min-width:0; height:56px; min-height:56px; }
  .mobile-app.commerce-product .gallery-thumb.selected { border-color:#176348; }
  .mobile-app.commerce-product .product-summary { padding:20px 16px; border-radius:22px; background:#fff; }
  .mobile-app.commerce-product .product-summary .product-brand { color:#175b53; background:#e5f3ed; }
  .mobile-app.commerce-product .product-summary h1 { font-size:25px; line-height:1.24; margin-top:12px; }
  .mobile-app.commerce-product .product-assurance { background:#f1ecf8; border:0; }
  .mobile-app.commerce-product .product-assurance :is(p,a,.small) { color:#514466; }
  .mobile-app.commerce-product .app-product-bar { left:10px; right:10px; bottom:calc(8px + env(safe-area-inset-bottom)); border:1px solid #cce0d7; border-radius:24px; padding:12px; min-height:76px; }
  .mobile-app.commerce-product .app-product-bar .button { font-size:12px; padding-inline:12px; border-radius:16px; }
  .mobile-app.commerce-product .listing-terms { background:#f1ecf8; border-color:#e2d9ee; }
  .mobile-app.commerce-product .closing-cta { background:linear-gradient(100deg,#173e3ef0,#173e3ecf),url('/assets/solar-home.jpg') center/cover; }
  .mobile-app.commerce-product .closing-cta :is(h2,p) { color:#fff; }
}

@media (max-width:1000px) {
  /* Company and guide heroes: the same photographic card rhythm as mobile Home. */
  .hero-art.mobile-app.inner-page .company-hero { padding:16px; margin:10px auto 22px; background:#e5f3ed; border:1px solid #cfe1d8; border-radius:24px; }
  .hero-art.mobile-app.inner-page .company-hero .page-intro-grid { display:flex; flex-direction:column; gap:18px; }
  .hero-art.mobile-app.inner-page .company-hero .company-hero-visual { order:-1; display:block; position:relative; inset:auto; width:100%; margin:0; border-radius:18px; overflow:hidden; background:#fff; }
  .hero-art.mobile-app.inner-page .company-hero .company-hero-visual img { display:block; width:100%; height:175px; object-fit:cover; border-radius:0; padding:0; }
  .hero-art.mobile-app.inner-page .company-hero .company-hero-visual figcaption { font-size:11px; padding:10px 12px; line-height:1.4; background:#f8fcfa; }
  .hero-art.mobile-app.inner-page .company-hero h1 { font-size:29px; line-height:1.13; color:#173e3e; margin:8px 0 14px; letter-spacing:-.035em; }
  .hero-art.mobile-app.inner-page .company-hero h1 span { color:#156355; }
  .hero-art.mobile-app.inner-page .company-hero .company-eyebrow { color:#466c60; font-size:9px; margin-bottom:10px; }
  .hero-art.mobile-app.inner-page .company-hero .company-hero-copy > p { font-size:14px; line-height:1.65; color:#41605e; }
  .hero-art.mobile-app.inner-page .company-hero .company-hero-actions { margin-top:18px; gap:6px; }
  .hero-art.mobile-app.inner-page .company-hero .company-hero-actions .button { min-height:48px; border-radius:16px; background:#173e3e; }
  .mobile-app.inner-page .solution-jumplinks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:calc(100% - 32px); padding:0; overflow:visible; }
  .mobile-app.inner-page .solution-jumplinks a { white-space:normal; min-width:0; min-height:48px; font-size:12px; padding:10px 12px; justify-content:space-between; }
  .mobile-app.inner-page .solution-benefits { padding:22px 18px; background:#edf3e5; }
  .mobile-app.inner-page .solution-benefits h2 { font-size:26px; }
  .mobile-app.inner-page .service-entry { border:0; box-shadow:0 4px 18px #24483b07; }
  .mobile-app.inner-page .service-entry:nth-child(3n+2) { background:#f0ebf7; }
  .mobile-app.inner-page .service-entry:nth-child(3n+3) { background:#fff0e8; }
  .mobile-app.inner-page .service-project-visual img { height:180px; }
  .mobile-app.inner-page .service-entry-body { padding:18px 16px; gap:8px; grid-template-columns:22px minmax(0,1fr); }
  .mobile-app.inner-page .service-entry h3 { font-size:23px; }
  .mobile-app.inner-page .service-entry p { line-height:1.65; }
  .mobile-app.inner-page .company-process { background:linear-gradient(#e8f3eb 0%,#e8f3eb 78%,#e8f3eb33 96%),url('/assets/company/1d749abab5a21558.jpg') center bottom/100% auto no-repeat; }
  .mobile-app.inner-page .closing-cta { background:linear-gradient(115deg,#173e3ef0,#173e3ed4),url('/assets/solar-home.jpg') center/cover; }
  .mobile-app.inner-page .closing-cta :is(h2,p,.section-label) { color:#fff; }
  .mobile-app.inner-page .closing-cta .button { color:#173e3e; background:#fff; }
  .mobile-app.inner-page .solution-detail-lead { margin:18px auto; padding:0 4px; }
  .mobile-app.inner-page .solution-detail-lead p { font-size:15px; line-height:1.7; }
  .mobile-app.inner-page .solution-detail-feature { padding:16px; gap:18px; background:#e5f1e9; border-color:#cfdfd6; }
  .mobile-app.inner-page .solution-feature-photo figure { border-radius:18px; margin-bottom:8px; }
  .mobile-app.inner-page .solution-feature-photo img { height:190px; aspect-ratio:auto; width:100%; object-fit:cover; }
  .mobile-app.inner-page .solution-feature-photo figcaption { padding:12px; font-size:12px; }
  .mobile-app.inner-page .solution-detail-copy h2 { font-size:25px; line-height:1.2; margin:12px 0 16px; }
  .mobile-app.inner-page :is(.solution-detail-copy,.solution-detail-card) p { font-size:15px; line-height:1.7; }
  .mobile-app.inner-page .solution-detail-card { padding:20px 18px; border:0; background:#fff; border-radius:22px; box-shadow:0 4px 18px #24483b06; overflow:clip; }
  .mobile-app.inner-page .solution-detail-card:nth-child(4n+2) { background:#f5e9e1; }
  .mobile-app.inner-page .solution-detail-card:nth-child(4n+3) { background:#eee8f6; }
  .mobile-app.inner-page .solution-detail-card:nth-child(4n+4) { background:#e5f1e9; }
  .mobile-app.inner-page .solution-detail-card h2 { font-size:24px; line-height:1.25; margin-bottom:14px; }
  .mobile-app.inner-page .solution-card-marker { margin-bottom:16px; }
  .mobile-app.inner-page .solution-card-marker .icon { background:#dcece6; width:42px; height:42px; border-radius:14px; }
  .mobile-app.inner-page .solution-detail-card:nth-child(3n) .solution-card-marker .icon { background:#e0d5ef; }
  .mobile-app.inner-page .solution-related nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .mobile-app.inner-page .solution-related a { min-width:0; min-height:56px; font-size:13px; line-height:1.4; background:#fff; }
  .hero-art.mobile-app.inner-page.product-guide-page:not(.product-guide-photo) .company-hero .company-hero-visual img { object-fit:contain; padding:16px; background:#fff; }
  .mobile-app.inner-page.product-guide-page:not(.product-guide-photo) .solution-feature-photo img { object-fit:contain; padding:16px; background:#fff; }
}

@media (max-width:1000px) {
  .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro { padding:16px; margin-top:10px; background:#e5f3ed; border-color:#cfe1d8; }
  .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro-grid::before { content:''; display:block; height:185px; margin:0 0 20px; border-radius:18px; background:var(--project-hero-photo,url('/assets/company/projects-original-hero.png')) center/cover; }
  .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro h1,
  .mobile-app.projects-page #project-list-view .page-intro h1 { font-size:29px; color:#173e3e; margin:10px 0 16px; }
  .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro h1 span { color:#156355; }
  .mobile-app.projects-page .project-hero-actions .button { background:#173e3e; border-radius:16px; }
  .mobile-app.projects-page .project-controls { padding:18px; background:#e6f1ec; border-color:#cfdfd6; }
  .mobile-app.projects-page .project-tile { border:0; box-shadow:0 5px 18px #24483b08; }
  .mobile-app.projects-page .project-tile:nth-child(3n+2) { background:#f0ebf7; }
  .mobile-app.projects-page .project-tile:nth-child(3n+3) { background:#fff0e8; }
  .mobile-app.projects-page .project-tile img { height:210px; }
  .mobile-app.projects-page .project-tile h3 { font-size:21px; }
  .mobile-app.projects-page .project-tile > .text-link { min-height:48px; display:flex; align-items:center; }
  .mobile-app.projects-page .project-photo-grid { display:grid; grid-template-columns:1fr; overflow:visible; scroll-snap-type:none; gap:14px; }
  .mobile-app.projects-page .project-gallery-link { min-width:0; }
  .mobile-app.projects-page .project-gallery-link img { height:230px; }
  .mobile-app.projects-page .project-body-section { padding:22px 18px; background:#fff; border:0; overflow:clip; }
  .mobile-app.projects-page .project-body-section:nth-child(3n+2) { background:#f1ecf8; }
  .mobile-app.projects-page .project-body-section:nth-child(3n+3) { background:#e5f1e9; }
  .mobile-app.projects-page .project-body-section h2 { font-size:25px; }
  .mobile-app.projects-page .project-body-section h3 { font-size:20px; line-height:1.35; }
  .mobile-app.projects-page .project-story aside .button { background:#173e3e; }
  @media (min-width:601px) { .mobile-app.projects-page .project-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
}

@media (max-width:1000px) {
  .mobile-app.about-page .company-story { padding:22px 18px; border:0; border-radius:24px; background:#fff; }
  .mobile-app.about-page .company-story .large-copy { font-size:16px; line-height:1.75; }
  .mobile-app.about-page .vision-grid > div { padding:20px 16px; background:#e5f1e9; border:0; border-radius:20px; }
  .mobile-app.about-page .vision-grid > div:nth-child(even) { background:#f0eaf7; }
  .mobile-app.about-page .vision-grid h3 { font-size:22px; line-height:1.3; }
  .mobile-app.about-page .vision-grid p { font-size:15px; line-height:1.75; }
  .mobile-app.about-page .company-story-label h2 { font-size:27px; }
  .mobile-app.about-page .team-portrait img { height:320px; object-fit:cover; object-position:center 20%; }
  .mobile-app.about-page .team-story { background:#fff0e8; padding:22px 18px; border-radius:0 0 24px 24px; }
  .mobile-app.about-page .team-story h2 { font-size:27px; }
  .mobile-app.about-page .team-story .button { background:#173e3e; }
  .mobile-app.inner-page .closing-cta p a { color:inherit; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
}

@media (max-width:1000px) {
  .hero-art.mobile-app.contact-page .contact-hero { padding:16px; margin-top:10px; background:#e5f3ed; border-color:#cfe1d8; }
  .hero-art.mobile-app.contact-page .contact-hero .page-intro-grid { display:flex; flex-direction:column; gap:18px; }
  .hero-art.mobile-app.contact-page .contact-hero-visual { order:-1; position:relative; inset:auto; width:100%; }
  .hero-art.mobile-app.contact-page .contact-hero-visual img { height:175px; }
  .hero-art.mobile-app.contact-page .contact-hero-visual figcaption { padding:10px 12px; font-size:11px; }
  .hero-art.mobile-app.contact-page .contact-hero h1 { font-size:29px; line-height:1.13; color:#173e3e; margin:10px 0 14px; }
  .hero-art.mobile-app.contact-page .contact-hero h1 span { color:#156355; }
  .hero-art.mobile-app.contact-page .contact-hero .page-intro-grid > div > p { font-size:14px; line-height:1.65; color:#41605e; }
  .hero-art.mobile-app.contact-page .contact-hero .hero-actions .button,
  .mobile-app.contact-page .form-submit { background:#173e3e; border-radius:16px; }
  .mobile-app.contact-page .office-card { padding:22px 18px; border:0; }
  .mobile-app.contact-page .office-card:nth-child(3) { background:#173e3e; }
  .mobile-app.contact-page .contact-intro { background:#eee8f6; border-color:#ddd5e8; padding:22px 18px; }
  .mobile-app.contact-page .contact-form-panel { padding:22px 18px; border-color:#ddd5e8; }
  .mobile-app.contact-page .enquiry-steps li[aria-current=step] > span { background:#176348; }
  .mobile-app.contact-page .contact-support-grid .support-section { width:100%; padding:22px 18px; }
  .mobile-app.contact-page .source-faq { padding:0; background:transparent; border:0; }
}

@media (max-width:1000px) {
  .mobile-app.blog-page .blog-latest,.mobile-app.blog-page .blog-reading-layout { margin-top:24px; }
  .mobile-app.blog-page .blog-card { border:0; box-shadow:0 4px 18px #24483b08; }
  .mobile-app.blog-page .blog-card:nth-child(even) { background:#f0eaf7; }
  .mobile-app.blog-page .blog-card-copy { padding:20px 18px; }
  .mobile-app.blog-page .blog-card h3 { font-size:24px; }
  .mobile-app.blog-page .blog-card-photo img { height:185px; object-fit:cover; }
  .mobile-app.blog-page .blog-category { color:#175b53; background:#e3f1eb; }
  .mobile-app.blog-page .blog-prose { font-size:16px; line-height:1.8; }
  .mobile-app.blog-page .blog-prose .blog-lead { font-size:17px; }
  .mobile-app.blog-page .blog-content-section { padding:22px 18px; margin-bottom:16px; border-radius:22px; background:#fff; }
  .mobile-app.blog-page .blog-content-section:nth-of-type(3n+2) { background:#f1ecf8; }
  .mobile-app.blog-page .blog-content-section:nth-of-type(3n+3) { background:#fff0e8; }
  .mobile-app.blog-page .blog-prose h2 { font-size:25px; }
  .mobile-app.blog-page .blog-takeaway { padding:22px 18px; background:#dfefe5; border:0; margin-bottom:20px; }
  .mobile-app.blog-page .mobile-blog-toc { margin:0; border:1px solid #cfdfd6; border-radius:18px; padding:0 16px; background:#e5f1e9; }
  .mobile-app.blog-page .mobile-blog-toc > summary { min-height:54px; }
  .mobile-app.blog-page .mobile-blog-toc .blog-toc { padding:0 0 12px; border:0; background:none; }
  .mobile-app.blog-page .mobile-blog-toc .blog-toc h2 { display:none; }
  .mobile-app.blog-page .blog-byline { margin-top:16px; font-size:12px; }
  .mobile-app.blog-page .blog-sources { padding:22px 18px; border:0; border-radius:22px; background:#e5f1e9; }
  .mobile-app.blog-page .blog-sources a { display:inline-block; padding-block:8px; min-height:44px; }
}
