/* Earth & Sun: the homepage design language across the six shared inner pages. */
@media (min-width:1001px) {
  .interior-polished {
    --interior-ink:#173d36; --interior-copy:#50645c; --interior-paper:#fcfcf7;
    --interior-green:#17624c; --interior-sage:#edf3e4; --interior-blue:#e5eff8;
    --interior-gold:#f4e5bc; --interior-peach:#f2dfd0; --interior-line:#d9e2d5;
    --solar-navy:var(--interior-ink); --solar-blue:var(--interior-green);
    --page-muted:var(--interior-copy); --page-border:var(--interior-line); --page-tint:var(--interior-sage);
    background:var(--interior-paper); color:var(--interior-ink); font-family:Outfit,'DM Sans',sans-serif;
  }
  .interior-polished .container { width:min(1280px,calc(100% - 96px)); max-width:1280px; }
  .interior-polished h1,.interior-polished h2,.interior-polished h3,.interior-polished h4 { font-family:Outfit,Manrope,sans-serif; font-weight:500; color:var(--interior-ink); }
  .interior-polished h1 { font-size:clamp(42px,4vw,60px); letter-spacing:-.045em; line-height:1.07; }
  .interior-polished h2 { font-size:clamp(34px,3.1vw,46px); letter-spacing:-.04em; line-height:1.12; }
  .interior-polished h3 { letter-spacing:-.025em; }
  .interior-polished p { color:var(--interior-copy); line-height:1.8; }
  .interior-polished .section-label { color:#4e6d4e; font-size:11px; font-weight:600; letter-spacing:.14em; }
  .interior-polished .section { padding-block:80px; }
  .interior-polished .text-link { color:var(--interior-green); }
  .interior-polished a:hover { color:#0d513f; }
  .interior-polished .button { min-height:48px; border-radius:99px; font-size:13px; padding:14px 24px; }
  .interior-polished .button-blue,.interior-polished .button-green { background:var(--interior-green); border-color:transparent; color:#fffef4; box-shadow:none; }
  .interior-polished .button-blue:hover,.interior-polished .button-green:hover { background:#104938; color:#fffef4; }
  .interior-polished .button-outline { color:var(--interior-green); border-color:#759987; background:transparent; }
  .interior-polished .button-outline:hover { background:#e7eddd; }
  .interior-polished :focus-visible { outline:3px solid #9b6717; outline-offset:4px; }
  .interior-polished input,.interior-polished select,.interior-polished textarea { color:var(--interior-ink); border-color:#cad8cc; background:#fffef8; border-radius:12px; }
  .interior-polished input:focus,.interior-polished select:focus,.interior-polished textarea:focus { outline:2px solid #236b57; outline-offset:2px; }
  .interior-polished .breadcrumbs { color:#607264; font-size:12px; margin-bottom:28px; }
  .interior-polished .breadcrumbs a { color:#315e4e; }
  .interior-polished .page-intro { position:relative; isolation:isolate; overflow:hidden; padding:38px 44px 42px; margin-bottom:38px; border-radius:32px; background:#173d36; border:1px solid #2b5447; }
  .interior-polished .page-intro::after { content:''; position:absolute; pointer-events:none; z-index:-1; width:420px; height:420px; right:-180px; bottom:-200px; border:1px solid #e7d59424; border-radius:50%; box-shadow:0 0 0 55px #e7d5940b,0 0 0 110px #e7d59409; }
  .interior-polished .page-intro h1 { color:#fffdef; }
  .interior-polished .page-intro .page-intro-grid > div > p { color:#e1e9da; font-size:16px; line-height:1.8; }
  .interior-polished .page-intro .section-label { color:#d9e6a5; }
  .interior-polished .page-intro .breadcrumbs { color:#d4dfd1; }
  .interior-polished .page-intro .breadcrumbs a { color:#e0ebac; }
  .interior-polished .page-intro .breadcrumbs a:hover { color:#fffdef; }
  .interior-polished .closing-cta { position:relative; isolation:isolate; overflow:hidden; padding:44px 48px; border-radius:30px; border:1px solid #e8cb9e; background:#f3ddbe; margin-block:42px 70px; }
  .interior-polished .closing-cta::before { content:''; position:absolute; z-index:-1; right:-50px; top:-120px; width:350px; height:350px; border:1px solid #9c753928; border-radius:50%; box-shadow:0 0 0 40px #9c75390a; }
  .interior-polished .closing-cta h2 { font-family:Outfit,sans-serif; font-size:38px; font-weight:500; color:#63432e; }
  .interior-polished .closing-cta p { color:#72543d; }
  .interior-polished .closing-cta .button { background:#714a33; color:#fff4dc; }
  .interior-polished .closing-cta .button:hover { background:#563725; }
  .interior-polished .pagination button,.interior-polished .pagination a { min-height:44px; min-width:44px; border-radius:11px; border-color:#d5dfd1; color:#355a45; background:#fffff8; }
  .interior-polished .pagination [aria-current='page'] { color:#fffdec; background:#24624e; border-color:#24624e; }
  .interior-polished .pagination button:hover:not(:disabled) { background:#e5eddb; color:#244c39; }
  .interior-polished .pagination [aria-current='page']:hover { background:#184c3b; color:#fffdec; }

  /* Shared footer, quotation drawer and newsletter. */
  .interior-polished .newsletter { border:0; border-radius:28px; padding:34px 40px; margin-bottom:34px; background:#e8efdb; gap:40px; }
  .interior-polished .newsletter h2 { font-size:32px; color:#274f3b; }
  .interior-polished .newsletter p { color:#52684a; }
  .interior-polished .site-footer { width:calc(100% - 40px); max-width:1580px; margin:0 auto 20px; border-radius:34px; background:#123b30; padding-top:58px; color:#e9efdf; position:relative; isolation:isolate; overflow:hidden; }
  .interior-polished .site-footer::before { content:''; position:absolute; z-index:-1; width:400px; height:400px; right:-110px; top:-230px; border:1px solid #c6d68621; border-radius:50%; box-shadow:0 0 0 60px #c6d68608; }
  .interior-polished .site-footer .container { width:calc(100% - 88px); }
  .interior-polished .footer-grid { gap:40px; grid-template-columns:1.1fr 1fr 1fr 1.25fr; padding-bottom:26px; }
  .interior-polished .site-footer h3 { font-size:15px; color:#dae7a4; margin-bottom:24px; }
  .interior-polished .site-footer p,.interior-polished .site-footer a { color:#d1dfce; }
  .interior-polished .site-footer a:hover { color:#f8df9b; }
  .interior-polished .footer-brand > .brand { display:flex; align-items:center; justify-content:center; width:144px; height:98px; border-radius:20px; padding:7px 14px; background:#fffcee; }
  .interior-polished .footer-brand > .brand img { width:118px; height:80px; object-fit:contain; }
  .interior-polished .site-footer .footer-brand p { color:#c4d7c6; font-size:13px; margin-top:20px; max-width:250px; }
  .interior-polished .site-footer .footer-grid > div:not(.footer-brand) > a { font-size:12px; margin-top:12px; }
  .interior-polished .site-footer .footer-grid > div:last-child p { color:#c4d7c6; font-size:12px; }
  .interior-polished .site-footer .footer-grid > div:last-child strong { color:#f4f2ce; }
  .interior-polished .footer-bottom { border-color:#91ac8640; padding-block:23px; margin-top:25px; font-size:11px; }
  .interior-polished .site-footer .footer-bottom a { font-size:11px; }
  .interior-polished .basket-dialog { background:#fcfcf3; color:#214b3e; padding:30px; }
  .interior-polished .basket-dialog .drawer-heading { border-radius:20px; background:#e7efda; padding:22px; margin:5px 0 18px; }
  .interior-polished .basket-dialog .drawer-heading h2 { font-size:30px; }
  .interior-polished .basket-line { border-color:#d9e2d3; }
  .interior-polished .basket-line img { border-radius:12px; background:#e9eff5; padding:5px; }
  .interior-polished .basket-totals strong { color:#215f49; }
  .interior-polished .quantity-control button { border-color:#c7d6c7; border-radius:7px; }
  .interior-polished .basket-next { background:#edf2e5; border-radius:16px; padding:18px; }
  .interior-polished .basket-empty { background:#f1e8cd; border-radius:22px; margin-block:22px; }

  /* Contact: a personal introduction, clear office cards and a calm enquiry form. */
  .contact-page .contact-hero .page-intro-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:50px; align-items:center; }
  .contact-page .contact-hero h1 { max-width:650px; font-size:58px; margin-bottom:22px; }
  .contact-page .contact-hero .page-intro-grid > div > p { max-width:630px; }
  .contact-page .contact-hero .hero-actions { display:flex; gap:22px; align-items:center; margin-top:26px; }
  .contact-page .contact-hero .hero-actions .button { background:#e2eba7; color:#254b36; }
  .contact-page .contact-hero .hero-actions .text-link { color:#edf1d7; font-size:13px; }
  .contact-page .contact-hero-visual { margin:0; border-radius:100px 100px 24px 24px; overflow:hidden; background:#e9ecdb; padding:10px; transform:rotate(2deg); }
  .contact-page .contact-hero-visual img { width:100%; height:242px; object-fit:cover; border-radius:94px 94px 18px 18px; }
  .contact-page .contact-hero-visual figcaption { color:#355543; font-size:12px; padding:14px 12px 5px; text-align:center; }
  .contact-page .contact-offices { padding:24px 0 60px; }
  .contact-page .contact-offices-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:28px; gap:30px; }
  .contact-page .contact-offices-heading h2 { font-size:36px; max-width:620px; }
  .contact-page .office-cards { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; }
  .contact-page .office-card { padding:28px 30px; background:#e4eef6; border:1px solid #d2e0e9; border-radius:26px; margin:0; display:flex; flex-direction:column; }
  .contact-page .office-card:nth-child(2) { background:#f2e7c8; border-color:#e5d8b0; border-radius:26px 60px 26px 26px; }
  .contact-page .office-card:nth-child(3) { background:#205340; border-color:#205340; }
  .contact-page .office-card > .icon { width:25px; height:25px; margin-bottom:25px; color:#42694b; }
  .contact-page .office-card h3 { font-size:24px; margin:0 0 13px; }
  .contact-page .office-card p { font-size:14px; margin:0 0 16px; line-height:1.8; max-width:320px; }
  .contact-page .office-card > .text-link { margin-top:auto; font-size:12px; padding-top:8px; }
  .contact-page .office-card:nth-child(3) h3 { color:#ecf0d0; }
  .contact-page .office-card:nth-child(3) > .icon { color:#e4d289; }
  .contact-page .office-card .contact-line { color:#f3f5e4; font-size:17px; margin:6px 0; overflow-wrap:anywhere; }
  .contact-page .office-card .contact-line:last-child { font-size:14px; }
  .contact-page .office-card .contact-line:hover { color:#f7dda0; }
  .contact-page .contact-page-form { padding:0; margin-bottom:70px; }
  .contact-page .contact-page-form .contact-grid { padding:44px; border:1px solid #d0dfea; border-radius:32px; background:#e2edf7; grid-template-columns:.85fr 1.15fr; gap:50px; color:#173d36; align-items:start; }
  .contact-page .contact-page-form .contact-intro { padding:12px 0; }
  .contact-page .contact-page-form .contact-intro h2 { font-size:43px; line-height:1.12; color:#204b50; margin-bottom:24px; }
  .contact-page .contact-page-form .contact-intro > p { font-size:15px; color:#466671; }
  .contact-page .enquiry-steps { list-style:none; margin-top:38px; }
  .contact-page .enquiry-steps li { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:15px; border-top:1px solid #b6cddd; padding:20px 0; font-size:14px; color:#355865; }
  .contact-page .enquiry-steps li span { font-size:23px; color:#557750; }
  .contact-page .contact-form-panel { background:#fffef7; border:1px solid #d6e1d9; border-radius:25px; padding:30px; }
  .contact-page .form-intro { margin-bottom:25px; }
  .contact-page .form-intro h3 { font-size:27px; margin-bottom:9px; }
  .contact-page .form-intro p { font-size:13px; }
  .contact-page .form-grid { gap:20px 18px; }
  .contact-page .form-grid label { color:#355546; font-size:12px; line-height:1.6; }
  .contact-page .form-grid input,.contact-page .form-grid select,.contact-page .form-grid textarea { width:100%; min-height:50px; background:#f6f8ef; border:1px solid #d1dccb; border-radius:11px; padding:12px 13px; color:#204c3b; font-size:14px; }
  .contact-page .form-grid input::placeholder,.contact-page .form-grid textarea::placeholder { color:#6b7a65; }
  .contact-page .form-grid textarea { min-height:110px; resize:vertical; }
  .contact-page .form-grid label:has(#customer-email) { grid-column:1 / -1; }
  .contact-page .field-hint { display:block; color:#607357; font-size:10px; margin-top:7px; line-height:1.5; }
  .contact-page .consent { color:#52664d; font-size:12px; gap:10px; line-height:1.7; margin:22px 0; }
  .contact-page .consent input { accent-color:#24664b; min-height:auto; }
  .contact-page .form-submit { width:100%; justify-content:space-between; }
  .contact-page .form-note { color:#62715c; font-size:11px; line-height:1.7; margin-top:13px; }
  .contact-page .enquiry-review { color:#264c39; }
  .contact-page .enquiry-review h3 { font-size:25px; }
  .contact-page .enquiry-review p { color:#576b51; font-size:13px; }
  .contact-page #enquiry-preview { background:#edf3e4; color:#36513c; border:1px solid #d3dfc9; border-radius:15px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.8; padding:23px; }
  .contact-page .review-actions { display:flex; flex-wrap:wrap; gap:12px; }
  .contact-page .review-actions .button { padding:12px 16px; font-size:12px; }
  .contact-page .checkout-basket { padding:32px 38px; margin-bottom:40px; background:#f1e7c9; border:1px solid #e5d6a9; border-radius:26px; }
  .contact-page .checkout-basket h2 { font-size:34px; margin-bottom:15px; }
  .contact-page .checkout-basket .basket-line { grid-template-columns:90px 1fr; }
  .contact-page .checkout-basket .basket-line h3 { font-size:18px; }
  .contact-page .source-faq { max-width:1280px!important; padding:0 0 70px; }
  .contact-page .faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:55px; }
  .contact-page .faq-intro { background:#e9efdc; padding:32px; border:1px solid #dce4cc; border-radius:28px; align-self:start; }
  .contact-page .faq-intro h2 { font-size:39px; margin-bottom:20px; }
  .contact-page .faq-intro p { font-size:14px; }
  .contact-page .faq-intro img { width:100%; height:155px; object-fit:cover; border-radius:18px 50px 18px 18px; margin-top:28px; }
  .contact-page .source-faq .faq-list { margin:0; }
  .contact-page .faq-list details { border:1px solid #dce3d4; border-radius:17px; padding:0 23px; margin-bottom:12px; background:#fffef8; }
  .contact-page .faq-list details[open] { background:#f5edce; border-color:#e4d7a6; }
  .contact-page .faq-list summary { font-size:15px; font-weight:500; padding-block:23px; color:#2c4f3c; }
  .contact-page .faq-list summary > span { width:28px; height:28px; border-radius:50%; background:#e8efdc; color:#335a42; display:grid; place-items:center; flex-shrink:0; }
  .contact-page .faq-list details p { color:#5e694f; font-size:14px; padding-bottom:23px; }
  .contact-page .contact-support-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:25px; margin-bottom:70px; }
  .contact-page .contact-support-grid .support-section { width:auto; max-width:none!important; padding:34px; border:1px solid #d1dfd1; border-radius:26px; background:#e9efde; }
  .contact-page .contact-support-grid .support-section:last-child { background:#f2e2d4; border-color:#e3cfbd; }
  .contact-page .support-section .section-label { font-size:10px; }
  .contact-page .support-section h2 { font-size:30px; margin-bottom:20px; }
  .contact-page .support-section p { font-size:14px; color:#52634b; }
  .contact-page .support-section:last-child p { color:#6b5645; }

  /* Projects retain every original photograph and all five content sections. */
  .projects-page .project-directory-hero { display:grid; grid-template-columns:1.3fr .7fr; gap:45px; align-items:center; }
  .projects-page #project-list-view .page-intro h1 { font-size:53px; }
  .projects-page .project-directory-hero > div > p { color:#d9e5d4; font-size:16px; }
  .projects-page .project-directory-hero-visual { background:#e4ecde; border:1px solid #bdcbb5; border-radius:25px 60px 25px 25px; padding:12px; margin:0; }
  .projects-page .project-directory-hero-visual img { width:100%; height:182px; object-fit:contain; border-radius:15px; }
  .projects-page .project-directory-hero-visual figcaption { color:#496048; font-size:12px; padding:10px 5px 2px; }
  .projects-page .project-controls { background:#ecf0df; border-color:#d8e0c5; border-radius:22px; }
  .projects-page .project-tile { border-radius:26px; padding:12px 12px 25px; border-color:#d9e3d4; }
  .projects-page .project-tile img { border-radius:18px; }
  .projects-page .project-tile .project-meta { font-size:11px; }
  .projects-page .project-tile h3 { font-size:23px; line-height:1.35; }
  .projects-page .project-tile > .text-link { border-top:1px solid #dce4d5; padding-top:17px; }
  .projects-page .project-gallery-heading { margin-top:36px; }
  .projects-page .project-gallery-link { border-radius:23px; }
  .projects-page .project-gallery-link span { padding:14px 18px; min-height:49px; font-size:12px; }
  .projects-page .project-body-section { border-radius:26px; padding:34px 38px; }
  .projects-page .project-body-section > h2 { font-size:31px; }
  .projects-page .project-story aside { border-radius:26px 60px 26px 26px; background:#f3e4b9; }
  .projects-page .project-story aside h2 { font-size:32px; }
  .projects-page .project-source-note { font-size:12px; }
}

@media (min-width:1001px) and (max-width:1280px) {
  .interior-polished .container { width:calc(100% - 80px); }
  .interior-polished .page-intro { padding:32px 36px; }
  .interior-polished .footer-grid { gap:28px; }
  .contact-page .contact-hero .page-intro-grid { gap:32px; }
  .contact-page .contact-hero h1 { font-size:49px; }
  .contact-page .office-card { padding:25px; }
  .contact-page .office-card .contact-line:last-child { font-size:12px; }
  .contact-page .contact-page-form .contact-grid { padding:32px; gap:32px; grid-template-columns:.8fr 1.2fr; }
  .contact-page .contact-page-form .contact-intro h2 { font-size:37px; }
  .contact-page .contact-form-panel { padding:26px; }
  .contact-page .faq-layout { gap:32px; }
  .contact-page .faq-intro h2 { font-size:34px; }
  .projects-page #project-list-view .page-intro h1 { font-size:46px; }
  .projects-page .project-directory-hero { gap:30px; }
}

/* Structural fallbacks only; dedicated mobile art direction is deferred. */
@media (max-width:1000px) {
  .contact-hero-visual img { width:100%; max-height:280px; object-fit:cover; border-radius:18px; }
  .contact-hero-visual figcaption { font-size:12px; }
  .contact-offices { padding-bottom:30px; }
  .office-cards { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
  .office-card { padding:20px; border:1px solid #d7dfd4; border-radius:18px; }
  .office-card > .icon { margin-bottom:15px; }
  .contact-form-panel { padding:20px; background:#fffff8; border-radius:18px; }
  .enquiry-steps { list-style:none; margin-block:25px; }
  .enquiry-steps li { padding:10px 0; }
  .enquiry-steps span { margin-right:12px; }
  .contact-support-grid { padding-block:25px; }
  .contact-support-grid .support-section { width:100%; }
  .faq-intro img { width:100%; max-height:200px; object-fit:cover; border-radius:16px; margin-block:20px; }
  .project-directory-hero-visual { display:none; }
}
@media (max-width:600px) { .office-cards { grid-template-columns:1fr; } }

/* Projects directory: the exact hero photograph from the original Japston page. */
.projects-page #project-list-view .project-source-hero {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:460px;
  padding:30px 44px 42px;
  border-color:#4c4352;
  background-color:#271e29;
  background-image:linear-gradient(180deg,rgba(0,0,0,.27) 0%,rgba(0,0,0,.38) 38%,rgba(0,0,0,.72) 100%),url("/assets/optimized/projects-original-hero.a1080d23e1816c9bbaae568f3b53011af2392b7d34fb26ee18bf093f861eb722.webp");
  background-size:cover;
  background-position:center 20%;
  background-repeat:no-repeat;
}
.projects-page #project-list-view .project-source-hero::after { content:none; }
.projects-page #project-list-view .project-source-hero .breadcrumbs { color:#f1edf4; margin-bottom:30px; }
.projects-page #project-list-view .project-source-hero .breadcrumbs a { color:#fff3d2; }
.projects-page #project-list-view .project-source-hero .project-directory-hero {
  display:block;
  width:100%;
  max-width:920px;
  margin:0 auto;
  text-align:center;
}
.projects-page #project-list-view .project-source-hero .section-label { color:#f9dc98; text-shadow:0 1px 8px #0006; }
.projects-page #project-list-view .project-source-hero h1 { max-width:none; color:#fffdf7; margin:15px 0 18px; font-size:clamp(38px,4vw,56px); text-shadow:0 2px 20px #0005; }
.projects-page #project-list-view .project-source-hero .project-directory-hero > div > p { max-width:760px; margin:0 auto; color:#fffaf3; font-size:16px; line-height:1.7; text-shadow:0 1px 8px #0008; }
@media(min-width:1001px) and (max-width:1280px) {
  .projects-page #project-list-view .project-source-hero { min-height:430px; padding:28px 36px 36px; }
}
@media(max-width:1000px) {
  .projects-page #project-list-view .project-source-hero { min-height:410px; padding:26px; background-position:center 22%; }
  .projects-page #project-list-view .project-source-hero h1 { font-size:36px; }
  .projects-page #project-list-view .project-source-hero .project-directory-hero > div > p { font-size:14px; }
}

/* Japston commerce — original equipment, warm colour, clear decisions.
   Scoped to the shared catalogue and product template; no data dependencies. */
.commerce-catalogue,
.commerce-product {
  --commerce-forest: #183f31;
  --commerce-ink: #173f32;
  --commerce-muted: #526858;
  --commerce-sage: #edf1e5;
  --commerce-cream: #fbf7ed;
  --commerce-gold: #f3ce74;
  --commerce-blue: #e7f0f6;
  --commerce-border: #dce3d6;
  background: #fafaf5;
  color: var(--commerce-ink);
}
.commerce-catalogue main,
.commerce-product main { min-width: 0; }
.commerce-catalogue .commerce-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: 18px;
  margin-bottom: 22px;
  padding: 27px 42px 36px;
  background: var(--commerce-forest);
  color: #fffaf0;
  border: 0;
  border-radius: 30px;
}
.commerce-catalogue .commerce-intro::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 570px;
  height: 570px;
  right: -190px;
  top: -240px;
  border: 1px solid #cce6be24;
  border-radius: 50%;
  box-shadow: 0 0 0 50px #cce6be0a, 0 0 0 100px #cce6be06;
  pointer-events: none;
}
.commerce-catalogue .commerce-intro .breadcrumbs {
  margin: 0 0 27px;
  color: #d7e4d3;
  font-size: 12px;
}
.commerce-catalogue .commerce-intro .breadcrumbs a { color: #d7e4d3; }
.commerce-catalogue .commerce-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.98fr);
  align-items: center;
  gap: 55px;
}
.commerce-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.6;
}
.commerce-intro-copy .commerce-eyebrow { color: #d9e7c6; }
.commerce-catalogue .commerce-intro h1 {
  color: #fffaf0;
  font-family: Outfit, sans-serif;
  font-size: clamp(40px, 4.15vw, 63px);
  line-height: 1.01;
  letter-spacing: -0.055em;
  font-weight: 500;
  margin: 13px 0 18px;
}
.commerce-intro h1 em,
.commerce-support h2 em { font-style: normal; color: #d1e6a3; }
.commerce-catalogue .commerce-intro-grid > .commerce-intro-copy > p {
  max-width: 420px;
  margin: 0;
  color: #e0e9db;
  font-size: 15px;
  line-height: 1.7;
}
.commerce-browse {
  display: inline-flex;
  gap: 20px;
  align-items: center;
  margin-top: 22px;
  color: #ffedbd;
  padding-bottom: 6px;
  border-bottom: 1px solid #eed29f80;
  font-size: 13px;
  font-weight: 500;
}
.commerce-browse .icon { width: 19px; height: 19px; }
.commerce-catalogue .commerce-browse:hover { color: #fff4d4; }
.commerce-spotlights {
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: 16px;
  align-items: center;
}
.commerce-spotlight {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px;
  border-radius: 20px;
  background: #f8f4e7;
  color: var(--commerce-ink);
  transition: transform 180ms ease, background 180ms ease;
}
.commerce-spotlight:hover { transform: translateY(-4px); background: #fffaf0; }
.spotlight-battery { background: #e1ecdb; margin-top: 33px; border-radius: 56px 20px 20px; padding-top: 25px; }
.spotlight-category { font-size: 10px; font-weight: 600; letter-spacing: 0.12em; text-align: center; }
.commerce-spotlight img {
  width: 100%;
  height: 171px;
  object-fit: contain;
  margin: 13px 0 18px;
  border-radius: 10px;
  background: #fff;
}
.spotlight-battery img { height: 139px; }
.spotlight-caption { display: flex; justify-content: space-between; align-items: end; gap: 5px; }
.spotlight-caption strong { font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: -0.015em; }
.spotlight-caption .icon { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; padding: 5px; color: #fff8e8; background: var(--commerce-forest); }
.commerce-category-ribbon {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  margin-bottom: 42px;
}
.commerce-category-ribbon a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px;
  color: #274f3c;
  background: #e7efdc;
  border: 1px solid #e0e8d4;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;
  transition: border-color 180ms, transform 180ms;
}
.commerce-category-ribbon a:nth-child(2) { background: #e7f0f7; border-color: #dce8f0; color: #244e6c; }
.commerce-category-ribbon a:nth-child(3) { background: #fbefcc; border-color: #f0e3bc; color: #685220; }
.commerce-category-ribbon a:nth-child(4) { background: #f5e5d8; border-color: #eadaca; color: #74513d; }
.commerce-category-ribbon a:hover { border-color: currentColor; transform: translateY(-2px); }
.commerce-category-ribbon .icon { width: 26px; height: 26px; flex: 0 0 26px; }
.commerce-category-ribbon .icon:last-child { margin-left: auto; width: 17px; height: 17px; flex-basis: 17px; }
.commerce-catalogue .catalog-section { padding-bottom: 48px; scroll-margin-top: 132px; }
.commerce-catalogue .catalog-search {
  margin: 0 0 28px;
  padding: 13px;
  background: #e9eedf;
  border: 1px solid #dce4d1;
  border-radius: 19px;
  gap: 12px;
}
.commerce-catalogue .catalog-search input {
  font-size: 14px;
  min-height: 54px;
  border: 1px solid #dbe2d5;
  border-radius: 11px;
  padding: 14px 20px;
  color: var(--commerce-ink);
  background: #fffef8;
}
.commerce-catalogue .catalog-search input::placeholder { color: #6a776a; }
.commerce-catalogue .catalog-search .button { min-width: 130px; justify-content: center; border-radius: 11px; background: var(--commerce-forest); color: #fffaf0; }
.commerce-catalogue .catalog-layout { grid-template-columns: 236px minmax(0, 1fr); gap: 28px; }
.commerce-catalogue .catalog-sidebar {
  border: 1px solid #e1e7d8;
  background: #f0f3e8;
  padding: 22px 16px 16px;
  border-radius: 19px;
  min-width: 0;
}
.commerce-filter-label { color: #68754d; font-size: 10px; letter-spacing: 0.14em; font-weight: 600; padding: 0 6px; }
.commerce-catalogue .catalog-sidebar h2 { font-family: Outfit, sans-serif; font-size: 21px; font-weight: 500; margin: 9px 6px 20px; letter-spacing: -0.035em; color: var(--commerce-ink); }
.commerce-catalogue #catalog-categories { display: grid; gap: 4px; }
.commerce-catalogue .catalog-category { padding: 12px 11px; min-height: 44px; font-size: 12px; color: #3e5745; border-radius: 9px; align-items: center; }
.commerce-catalogue .catalog-category span { color: inherit; background: #ffffff8c; border-radius: 5px; padding: 1px 5px; min-width: 28px; text-align: center; font-size: 10px; }
.commerce-catalogue .catalog-category:hover { background: #e0e8d2; }
.commerce-catalogue .catalog-category[aria-pressed=true] { background: var(--commerce-forest); color: #fffbed; font-weight: 500; }
.commerce-catalogue .catalog-category[aria-pressed=true] span { background: #ffffff20; color: #fffbed; }
.commerce-catalogue .catalog-sidebar label { margin: 24px 5px 8px; font-size: 12px; font-weight: 500; color: #34523d; }
.commerce-catalogue .catalog-sidebar select { background: #fffef8; border: 1px solid #d6decb; border-radius: 9px; min-height: 45px; min-width: 0; padding: 11px 8px; font-size: 12px; color: #304b39; }
.commerce-catalogue #clear-filters { min-height: 38px; margin: 11px 5px 0; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; color: #315440; }
.commerce-catalogue .catalog-advice { background: #f6e2ad; padding: 20px 16px; border: 0; margin: 20px -1px 0; border-radius: 12px; color: #594824; }
.commerce-catalogue .catalog-advice h3 { color: #534323; font-size: 20px; font-family: Outfit, sans-serif; font-weight: 500; letter-spacing: -0.025em; line-height: 1.2; margin: 0 0 11px; }
.commerce-catalogue .catalog-advice p { color: #665532; font-size: 12px; line-height: 1.65; }
.commerce-catalogue .catalog-advice a { color: #3b502d; font-size: 12px; }
.commerce-catalogue .catalog-main { min-width: 0; }
.commerce-catalogue .catalog-toolbar { min-width: 0; min-height: 53px; margin-bottom: 20px; padding-bottom: 13px; border-bottom: 1px solid #dfe4d7; flex-wrap: wrap; }
.commerce-catalogue .catalog-toolbar p { color: #35543f; font-size: 13px; font-weight: 500; min-width: 0; flex: 1 1 180px; }
/* The shared form reset gives selects width:100%. Inside an inline label this
   used the whole label width in addition to "Sort by", pushing the control out. */
.commerce-catalogue .catalog-toolbar label { display: flex; align-items: center; gap: 9px; flex: 0 1 235px; min-width: 0; max-width: 100%; color: #56664e; font-size: 12px; }
.commerce-catalogue .catalog-toolbar select { width: auto; flex: 1 1 180px; min-width: 0; max-width: 100%; margin-left: 0; min-height: 42px; border-radius: 9px; background: #fffef8; border: 1px solid #dce2d5; color: var(--commerce-ink); }
.commerce-catalogue .catalog-grid { gap: 23px 18px; }
.commerce-catalogue .catalog-card { --card-tint: #edf1e5; --card-color: #35563b; padding: 9px; border: 1px solid #e0e5d9; border-radius: 20px; background: #fffefa; transition: border-color 180ms, box-shadow 180ms; }
.commerce-catalogue .catalog-card:nth-child(3n + 2) { --card-tint: #e6eef5; --card-color: #335673; }
.commerce-catalogue .catalog-card:nth-child(3n) { --card-tint: #f7eccf; --card-color: #665125; }
.commerce-catalogue .catalog-card:hover { border-color: #b2c4a5; box-shadow: 0 8px 20px #273e2809; }
.commerce-catalogue .catalog-photo { height: 224px; padding: 16px; border: 0; border-radius: 12px; background: var(--card-tint); }
.commerce-catalogue .catalog-photo img { border-radius: 7px; background: #fff; width: 100%; height: 100%; object-fit: contain; transform: none; }
.commerce-catalogue .catalog-photo:hover img { transform: none; }
.commerce-catalogue .catalog-copy { padding: 17px 10px 7px; }
.commerce-catalogue .catalog-copy .product-brand { font-family: Outfit, sans-serif; font-size: 10px; font-weight: 500; letter-spacing: 0.105em; color: var(--card-color); }
.commerce-catalogue .catalog-copy h3 { font-family: Outfit, sans-serif; font-weight: 500; font-size: 15px; line-height: 1.43; letter-spacing: -0.02em; margin: 10px 0 18px; color: #233f31; }
.commerce-catalogue .catalog-copy h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.commerce-catalogue .catalog-copy .catalog-price { font-family: Outfit, sans-serif; color: #264e35; font-size: 21px; font-weight: 500; letter-spacing: -0.035em; line-height: 1.4; margin-bottom: 18px; font-variant-numeric: tabular-nums; }
.commerce-catalogue .catalog-card-bottom { padding-top: 12px; border-top: 1px solid #e4e7dc; }
.commerce-catalogue .catalog-card-bottom .text-link { min-height: 40px; display: inline-flex; align-items: center; color: #385c43; font-size: 12px; gap: 9px; }
.commerce-catalogue .catalog-card-bottom .add-product { width: 40px; height: 40px; border-radius: 12px; color: var(--card-color); background: var(--card-tint); }
.commerce-catalogue .catalog-card-bottom .add-product:hover { color: #fffaf0; background: var(--commerce-forest); }
.commerce-catalogue .catalog-empty { background: #f8e8bd; border: 1px solid #eedca9; padding: 42px; color: #5a4824; border-radius: 19px; }
.commerce-catalogue .catalog-empty h3 { color: #514123; font-family: Outfit, sans-serif; font-weight: 500; font-size: 34px; letter-spacing: -0.035em; }
.commerce-catalogue .catalog-empty p { color: #685735; }
.commerce-catalogue .catalog-note { color: #657157; font-size: 11px; max-width: 640px; border-top: 1px solid #e0e6d6; padding-top: 18px; }
.commerce-catalogue .pagination { margin-top: 32px; }
.commerce-catalogue .pagination button { min-width: 44px; min-height: 44px; border-radius: 10px; background: #fffdf6; color: #35533d; border-color: #dce3d3; }
.commerce-catalogue .pagination button[aria-current=page] { color: #fffbed; background: var(--commerce-forest); border-color: var(--commerce-forest); }
.commerce-catalogue .pagination button:not(:disabled):hover { border-color: #547343; }
.commerce-support {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  padding: 42px 48px;
  border-radius: 26px;
  background: #284d3a;
  color: #f9f9ea;
  margin-top: 12px;
  margin-bottom: 80px;
  overflow: hidden;
  isolation: isolate;
}
.commerce-support::before { content: ""; position: absolute; z-index: -1; width: 500px; height: 500px; border: 1px solid #e3ebd320; border-radius: 50%; right: -80px; top: -160px; box-shadow: 0 0 0 48px #e3ebd30a, 0 0 0 96px #e3ebd305; pointer-events: none; }
.commerce-support .commerce-eyebrow { color: #d3dfb9; }
.commerce-support h2 { font-family: Outfit, sans-serif; font-size: clamp(32px, 3vw, 44px); font-weight: 500; letter-spacing: -0.045em; line-height: 1.08; color: #fffbed; margin: 13px 0 15px; }
.commerce-support p { color: #dae4d1; font-size: 14px; line-height: 1.7; max-width: 530px; margin-bottom: 0; }
.commerce-support > .button { flex-shrink: 0; color: #39452b; background: #f3d381; border: 0; border-radius: 12px; }
.commerce-support > .button:hover { background: #ffe4a0; color: #39452b; }

/* The same design language, with the product and its choices given priority. */
.commerce-product .product-page { padding-top: 22px; }
.commerce-product .product-page .breadcrumbs { padding: 15px 20px; background: #edf1e5; border: 1px solid #e1e6d8; border-radius: 12px; color: #5b6c52; margin-bottom: 29px; font-size: 12px; line-height: 1.5; flex-wrap: wrap; }
.commerce-product .breadcrumbs a { color: #35543e; }
.commerce-product .breadcrumbs [aria-current] { min-width: 0; overflow-wrap: anywhere; }
.commerce-product .product-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 0.93fr); gap: 42px; }
.commerce-product .product-gallery { padding: 15px; background: #edf1e3; border: 1px solid #dfe6d4; border-radius: 27px; }
.commerce-product .product-stage { position: relative; height: 474px; padding: 35px; background: #fffefa; border: 0; border-radius: 16px; overflow: hidden; }
.commerce-product .product-stage img { position: relative; height: 100%; width: 100%; object-fit: contain; border-radius: 8px; background: #fff; }
.commerce-product .gallery-thumbnails { padding: 16px 0 1px; gap: 10px; }
.commerce-product .gallery-thumb { flex-basis: 76px; height: 76px; background: #fffefa; border: 1px solid #d6dfcb; border-radius: 11px; padding: 7px; }
.commerce-product .gallery-thumb.selected { border: 2px solid #2d6844; box-shadow: 0 0 0 2px #ffffff; }
.commerce-product .gallery-thumb:hover { border-color: #597a47; }
.commerce-product .gallery-thumb img { border-radius: 5px; background: #fff; }
.commerce-product .product-summary { padding: 6px 0 0; min-width: 0; }
.commerce-product .product-summary .product-brand { display: inline-flex; background: #e3ecd6; border: 1px solid #d9e3cd; color: #37552f; padding: 6px 11px; font-size: 11px; font-weight: 500; letter-spacing: 0.09em; line-height: 1.3; text-transform: uppercase; border-radius: 7px; }
.commerce-product .product-summary h1 { font-family: Outfit, sans-serif; font-weight: 500; font-size: clamp(27px, 2.7vw, 39px); letter-spacing: -0.04em; color: #1d422f; line-height: 1.15; margin: 15px 0 15px; overflow-wrap: anywhere; }
.commerce-product .product-summary .detail-type { color: #647455; font-size: 12px; text-transform: capitalize; margin-bottom: 19px; }
.commerce-product .detail-price-row { background: var(--commerce-forest); color: #fff9e9; border-radius: 15px; padding: 17px 23px; gap: 18px; }
.commerce-product .product-summary .detail-price { font-family: Outfit, sans-serif; margin: 0; font-size: 34px; font-weight: 500; letter-spacing: -0.035em; color: #fff9e9; font-variant-numeric: tabular-nums; }
.commerce-product .detail-price-row del { color: #c1cfb5; font-size: 16px; }
.commerce-product .product-summary .availability { display: inline-block; font-size: 12px; color: #356043 !important; background: #e8efdc; border-radius: 6px; padding: 5px 9px; line-height: 1.4; margin: 16px 0 6px; }
.commerce-product .product-summary .availability.unavailable { background: #f7e5be; color: #725620 !important; }
.commerce-product .detail-sku { display: inline-block; font-size: 11px; color: #66725b; margin: 16px 0 6px 14px; }
.commerce-product .variant-label { font-size: 12px; font-weight: 500; margin: 17px 0 8px; color: #3f5335; }
.commerce-product .product-summary select { display: block; width: 100%; min-width: 0; background: #f9f2df; border: 1px solid #e2d7b8; border-radius: 10px; color: #544827; font-size: 13px; min-height: 49px; padding: 12px; max-width: 100%; text-overflow: ellipsis; }
.commerce-product .product-buy-row { background: #f5eddb; padding: 14px; border: 1px solid #e9dfc6; border-radius: 14px; gap: 14px; margin: 17px 0 11px; }
.commerce-product .product-buy-row label { color: #5f5237; font-size: 11px; gap: 7px; }
.commerce-product .product-buy-row input { width: 84px; height: 49px; min-width: 0; border: 1px solid #dcd5c1; border-radius: 9px; padding: 12px; color: #3d4d31; }
.commerce-product .product-buy-row > .button { min-height: 49px; border-radius: 9px; border: 0; color: #fdf9ea; background: #254f37; font-size: 13px; white-space: normal; line-height: 1.4; padding: 12px 17px; }
.commerce-product .product-buy-row > .button:hover { background: #173c28; }
.commerce-product .product-summary > .text-link { display: inline-flex; align-items: center; min-height: 39px; font-size: 12px; color: #41613d; }
.commerce-product .product-assurance { padding: 18px 21px; background: #e9f0f6; border: 1px solid #dce5ec; border-radius: 14px; margin-top: 18px; }
.commerce-product .product-assurance p { color: #46647a; font-size: 12px; line-height: 1.65; }
.commerce-product .product-assurance > a { color: #274f69; display: inline-block; margin: 2px 0; font-family: Outfit, sans-serif; font-size: 22px; font-weight: 500; letter-spacing: -0.025em; }
.commerce-product .product-assurance .small { color: #566b7b; font-size: 10px; line-height: 1.7; margin-top: 7px; }
.commerce-product .detail-lower { grid-template-columns: minmax(0, 1fr) 318px; gap: 28px; padding: 0; border: 0; margin: 48px 0 64px; align-items: start; }
.commerce-product .detail-lower > .rich-content { padding: 32px 36px; border: 1px solid #dfe6eb; border-radius: 23px; background: #f0f5f7; color: #3f5b67; font-size: 14px; }
.commerce-product .rich-content > h2:first-child { margin: 0 0 27px; padding: 0 0 23px; border-bottom: 1px solid #d6e0e5; font-size: 30px; letter-spacing: -0.04em; }
.commerce-product .rich-content h2 { font-family: Outfit, sans-serif; font-weight: 500; font-size: 26px; margin: 32px 0 17px; color: #244d5b; line-height: 1.3; }
.commerce-product .rich-content h3,
.commerce-product .rich-content h4 { font-family: Outfit, sans-serif; font-weight: 500; color: #285367; font-size: 21px; line-height: 1.35; }
.commerce-product .rich-content h5,
.commerce-product .rich-content h6 { font-family: Outfit, sans-serif; font-weight: 500; color: #2d5262; }
.commerce-product .rich-content p { font-size: 14px; color: #4c6570; line-height: 1.85; margin: 12px 0 17px; }
.commerce-product .rich-content strong { color: #2d4f5d; font-weight: 600; }
.commerce-product .rich-content ul,
.commerce-product .rich-content ol { color: #4c6570; padding-left: 21px; }
.commerce-product .rich-content li { padding: 5px 0; line-height: 1.75; }
.commerce-product .rich-content li::marker { color: #739468; }
.commerce-product .rich-content table { margin: 23px 0; border-collapse: separate; border-spacing: 0; background: #fffefa; border: 1px solid #d4e0e5; border-radius: 12px; width: 100%; max-width: 100%; overflow-x: auto; font-size: 12px; }
/* Two-to-four-column specifications use a real full-width table. Broader model
   comparisons retain the existing scrollable table block rather than squeezing. */
.commerce-product .rich-content table:not(:has(tr > :nth-child(5))) { display: table; table-layout: fixed; }
.commerce-product .rich-content table:not(:has(tr > :nth-child(5))) :is(th, td) { min-width: 0; overflow-wrap: anywhere; }
.commerce-product .rich-content th,
.commerce-product .rich-content td { padding: 13px 16px; border: 0; border-bottom: 1px solid #e2e8e9; border-right: 1px solid #e2e8e9; color: #395a66; min-width: 110px; line-height: 1.6; }
.commerce-product .rich-content th { background: #dce8ed; color: #274f60; font-weight: 600; }
.commerce-product .rich-content td:first-child { background: #eaf0ee; font-weight: 500; }
.commerce-product .rich-content tr:last-child td { border-bottom: 0; }
.commerce-product .rich-content td:last-child,
.commerce-product .rich-content th:last-child { border-right: 0; }
.commerce-product .rich-content img { height: auto; max-width: 100%; border-radius: 10px; }
.commerce-product .rich-content blockquote { background: #e4ebdb; border: 0; border-radius: 12px; padding: 19px 23px; }
.commerce-product .rich-content hr { border-color: #d8e2e6; margin: 30px 0; }
.commerce-product .rich-content a { color: #325e78; text-underline-offset: 3px; }
.commerce-product .listing-terms { position: sticky; top: 134px; align-self: start; padding: 28px 25px; background: #f8e9c5; border: 1px solid #ecddb7; border-radius: 23px; color: #69542e; }
.commerce-product .listing-terms h2 { font-family: Outfit, sans-serif; font-size: 25px; font-weight: 500; line-height: 1.17; letter-spacing: -0.03em; color: #624c28; margin: 0 0 21px; }
.commerce-product .listing-terms ul { margin: 0; padding-left: 17px; font-size: 12px; color: #6d5b38; }
.commerce-product .listing-terms li { padding: 7px 0; line-height: 1.7; }
.commerce-product .listing-terms li::marker { color: #a68442; }
.commerce-product .listing-terms .source-note { border-top: 1px solid #e0cca3; margin-top: 21px; padding-top: 16px; color: #7c6644; }
.commerce-product .listing-terms .source-note a { color: #5e522c; text-underline-offset: 3px; }
.commerce-product .listing-terms .small { color: #776240; font-size: 10px; line-height: 1.8; }
.commerce-product .product-loading { min-height: 55vh; padding: 65px 0; }
.commerce-product .product-loading h1 { font-family: Outfit, sans-serif; font-weight: 500; color: #214732; letter-spacing: -0.04em; }
.commerce-product .closing-cta { background: #e3ecd7; border: 1px solid #d6e1c7; color: #28492f; }
.commerce-product .closing-cta h2 { color: #28492f; }
.commerce-product .closing-cta p { color: #566b49; }
.commerce-product .closing-cta .button { background: #244e35; color: #fffbed; }
.commerce-catalogue :is(a, button, input, select):focus-visible,
.commerce-product :is(a, button, input, select):focus-visible { outline: 3px solid #a67726; outline-offset: 4px; }

@media (min-width: 1001px) and (max-width: 1280px) {
  .commerce-catalogue .commerce-intro { padding: 25px 32px 32px; }
  .commerce-catalogue .commerce-intro-grid { gap: 33px; grid-template-columns: minmax(0, 1fr) minmax(370px, 1fr); }
  .commerce-catalogue .commerce-intro h1 { font-size: 52px; }
  .commerce-category-ribbon a { gap: 9px; padding: 16px 13px; font-size: 12px; }
  .commerce-category-ribbon .icon { width: 23px; height: 23px; flex-basis: 23px; }
  .commerce-catalogue .catalog-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 23px; }
  .commerce-catalogue .catalog-grid { gap: 20px 14px; }
  .commerce-catalogue .catalog-photo { height: 200px; padding: 13px; }
  .commerce-catalogue .catalog-copy { padding: 15px 7px 6px; }
  .commerce-catalogue .catalog-copy h3 { font-size: 14px; }
  .commerce-catalogue .catalog-copy .catalog-price { font-size: 20px; }
  .commerce-catalogue .catalog-card-bottom .text-link { font-size: 11px; gap: 6px; }
  .commerce-product .product-layout { gap: 30px; }
  .commerce-product .product-stage { height: 427px; padding: 26px; }
  .commerce-product .product-summary h1 { font-size: 32px; }
  .commerce-product .detail-lower { grid-template-columns: minmax(0, 1fr) 288px; gap: 24px; }
  .commerce-product .detail-lower > .rich-content { padding: 28px; }
  .commerce-product .product-buy-row { gap: 10px; padding: 12px; }
  .commerce-product .product-buy-row > .button { padding: 12px; font-size: 12px; }
}
@media (min-width: 1001px) and (max-width: 1100px) {
  .commerce-catalogue .catalog-layout { grid-template-columns: 206px minmax(0, 1fr); gap: 20px; }
  .commerce-catalogue .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .commerce-catalogue .commerce-intro-grid { grid-template-columns: minmax(0, 1fr) 370px; gap: 25px; }
  .commerce-catalogue .commerce-intro h1 { font-size: 46px; }
  .commerce-spotlight { padding: 13px; }
  .spotlight-battery { padding-top: 23px; }
  .spotlight-category { font-size: 9px; }
  .spotlight-caption strong { font-size: 13px; }
  .commerce-product .product-stage { height: 380px; }
  .commerce-product .product-summary h1 { font-size: 29px; }
}
@media (max-width: 1000px) {
  .commerce-catalogue .commerce-intro { padding: 25px; }
  .commerce-catalogue .commerce-intro-grid { grid-template-columns: 1fr 1fr; gap: 25px; }
  .commerce-catalogue .commerce-intro h1 { font-size: 42px; }
  .commerce-catalogue .commerce-intro-grid > .commerce-intro-copy > p { font-size: 13px; }
  .commerce-spotlights { gap: 10px; }
  .commerce-spotlight { padding: 12px; }
  .spotlight-category { font-size: 8px; }
  .commerce-spotlight img { height: 135px; }
  .spotlight-battery img { height: 112px; }
  .spotlight-caption strong { font-size: 11px; }
  .spotlight-caption .icon { display: none; }
  .commerce-category-ribbon { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .commerce-catalogue .catalog-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 20px; }
  .commerce-catalogue .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .commerce-catalogue .catalog-sidebar { padding: 18px 10px 10px; }
  .commerce-catalogue .catalog-photo { height: 195px; padding: 12px; }
  .commerce-catalogue .catalog-copy { padding: 14px 5px 5px; }
  .commerce-catalogue .catalog-copy h3 { font-size: 14px; }
  .commerce-support { padding: 35px; }
  .commerce-product .product-layout { gap: 25px; }
  .commerce-product .product-stage { height: 350px; padding: 18px; }
  .commerce-product .product-summary h1 { font-size: 28px; }
  .commerce-product .product-buy-row { flex-wrap: wrap; }
  .commerce-product .product-buy-row > .button { flex: auto; }
  .commerce-product .detail-lower { grid-template-columns: minmax(0, 1fr) 250px; gap: 22px; }
  .commerce-product .detail-lower > .rich-content { padding: 25px; }
  .commerce-product .listing-terms { padding: 24px 20px; }
  .commerce-product .listing-terms h2 { font-size: 22px; }
}
@media (max-width: 700px) {
  .commerce-catalogue .commerce-intro { padding: 24px; border-radius: 22px; margin-top: 12px; }
  .commerce-catalogue .commerce-intro-grid { grid-template-columns: 1fr; }
  .commerce-catalogue .commerce-intro h1 { font-size: 46px; }
  .commerce-catalogue .commerce-intro .breadcrumbs { margin-bottom: 22px; }
  .commerce-spotlights { max-width: 430px; gap: 14px; }
  .commerce-spotlight { padding: 14px; }
  .spotlight-category { font-size: 9px; }
  .spotlight-caption strong { font-size: 13px; }
  .spotlight-battery { margin-top: 15px; }
  .commerce-category-ribbon { gap: 9px; margin-bottom: 26px; }
  .commerce-category-ribbon a { padding: 13px; gap: 9px; font-size: 11px; }
  .commerce-category-ribbon .icon { width: 21px; height: 21px; flex-basis: 21px; }
  .commerce-category-ribbon .icon:last-child { display: none; }
  .commerce-catalogue .catalog-search { padding: 9px; gap: 8px; }
  .commerce-catalogue .catalog-search input { font-size: 12px; padding: 12px; min-height: 48px; }
  .commerce-catalogue .catalog-search .button { min-width: 80px; padding: 12px; }
  .commerce-catalogue .catalog-layout { grid-template-columns: 1fr; }
  .commerce-catalogue .catalog-sidebar { padding: 18px; }
  .commerce-catalogue #catalog-categories { display: flex; gap: 7px; overflow-x: auto; padding: 3px 1px; }
  .commerce-catalogue .catalog-category { width: auto; flex-shrink: 0; }
  .commerce-catalogue .catalog-toolbar { flex-wrap: wrap; }
  .commerce-catalogue .catalog-photo { height: 171px; padding: 10px; }
  .commerce-catalogue .catalog-copy h3 { font-size: 13px; }
  .commerce-catalogue .catalog-copy .catalog-price { font-size: 19px; }
  .commerce-catalogue .catalog-card-bottom { gap: 5px; }
  .commerce-catalogue .catalog-card-bottom .text-link { font-size: 10px; gap: 4px; }
  .commerce-catalogue .catalog-card-bottom .add-product { width: 34px; height: 38px; flex-shrink: 0; }
  .commerce-support { flex-direction: column; align-items: start; padding: 30px; gap: 25px; margin-bottom: 50px; }
  .commerce-product .product-layout,
  .commerce-product .detail-lower { grid-template-columns: 1fr; }
  .commerce-product .product-page .breadcrumbs { font-size: 11px; }
  .commerce-product .product-stage { height: 350px; }
  .commerce-product .product-summary { padding: 0 3px; }
  .commerce-product .detail-lower { margin-top: 35px; margin-bottom: 40px; }
  .commerce-product .listing-terms { position: static; }
  .commerce-product .rich-content > h2:first-child { font-size: 27px; }
  .commerce-product .product-buy-row { flex-wrap: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .commerce-spotlight,
  .commerce-category-ribbon a,
  .commerce-catalogue .catalog-card { transition: none; }
  .commerce-spotlight:hover,
  .commerce-category-ribbon a:hover { transform: none; }
}

/* Generated decorative hero scenery. Original products and project evidence stay separate. */
@media (min-width:1001px) {
  .hero-art { --hero-ink:#183351; --hero-copy:#455e72; --hero-accent:#2b6591; --hero-paper:#fffdf7; }
  /* A quiet sky-blue wash sits in the background, below text and controls. */
  .hero-art { --hero-blue-wash:linear-gradient(115deg,rgb(135 194 237 / 18%) 0%,rgb(178 218 247 / 12%) 55%,rgb(129 189 236 / 10%) 100%); }

  /* A bright solar neighbourhood frames the working search and categories. */
  .hero-art.home-polished .hero { background:#eaf1f5; color:var(--hero-ink); }
  .hero-art.home-polished .hero-backdrop img { object-position:center 90%; transform:none; }
  .hero-art.home-polished .hero-backdrop::before { content:none; }
  .hero-art.home-polished .hero-backdrop::after { background:var(--hero-blue-wash),radial-gradient(ellipse 190px 245px at 8% 48%,#fffdf7e8 0%,#fffdf7a6 52%,#fffdf700 100%),radial-gradient(ellipse at 50% 24%,#ffffffb8 0%,#fffffc80 31%,#fffcf024 63%,transparent 82%),linear-gradient(90deg,#f9fbf8a6,transparent 25%,transparent 80%,#f9fbf829); }
  .hero-art.home-polished .hero-eyebrow { background:#fffdf2e8; border-color:#d2e0e8; color:#466477; box-shadow:0 3px 15px #456c8710; }
  .hero-art.home-polished .hero-eyebrow .icon { color:#367893; }
  .hero-art.home-polished .hero h1 { color:#163451; text-shadow:0 2px 20px #ffffff70; }
  .hero-art.home-polished .hero h1 span { color:#2a6e9d; }
  .hero-art.home-polished .hero .hero-description { color:#38566e; }
  .hero-art.home-polished .hero-description strong { color:#183c5c; }
  .hero-art.home-polished .hero-search { background:#fffffbf5; border-color:#fff; box-shadow:0 10px 30px #29486620; }
  .hero-art.home-polished .hero-search #hero-query { color:#294b65; }
  .hero-art.home-polished .hero-search input::placeholder { color:#627383; }
  .hero-art.home-polished .hero-search-field > .icon { color:#466c88; }
  .hero-art.home-polished .hero-search .button { color:#fffdf3; background:#264d7b; }
  .hero-art.home-polished .hero-search .button:hover { background:#193c68; }
  .hero-art.home-polished .hero-search:focus-within { border-color:#6689b5; box-shadow:0 0 0 4px #729ad233; }
  .hero-art.home-polished .popular-searches { color:#294b64; }
  .hero-art.home-polished .popular-searches a { color:#345572; background:#f5f8fde8; border-color:#d5e0eb; }
  .hero-art.home-polished .popular-searches a:hover { color:#193e64; background:#deebfa; border-color:#9eb9d5; }
  .hero-art.home-polished .hero-benefits .benefits-intro { color:#3e5c70; border-color:#b18b48; }
  .hero-art.home-polished .hero-benefits li { color:#2a4b65; }
  .hero-art.home-polished .benefit-icon { background:#fffdf1e8; box-shadow:0 3px 16px #52708712; }
  .hero-art.home-polished .benefit-icon .icon { color:#3b6d85; }
  .hero-art.home-polished .hero-note { color:#315f85; }
  .hero-art.home-polished .hero-note span { border-color:#c09c5a; }
  .hero-art.home-polished .hero-category { box-shadow:0 8px 24px #2946651a; }

  /* Shared light, photographic introductions for company and enquiry pages. */
  .hero-art.interior-polished:is(.solutions-page,.about-page,.contact-page) .page-intro {
    background-color:#f5f7f4;
    background-size:cover;
    background-position:center 66%;
    border:1px solid #d8e2e8;
    color:var(--hero-ink);
    box-shadow:0 12px 30px #25476508;
  }
  .hero-art.interior-polished:is(.solutions-page,.about-page,.contact-page) .page-intro::before,
  .hero-art.interior-polished:is(.solutions-page,.about-page,.contact-page) .page-intro::after { content:none; }
  .hero-art.interior-polished .company-hero .breadcrumbs,
  .hero-art.interior-polished .company-hero .breadcrumbs a,
  .hero-art.contact-page .contact-hero .breadcrumbs,
  .hero-art.contact-page .contact-hero .breadcrumbs a { color:#496379; }
  .hero-art.interior-polished .company-hero .company-eyebrow,
  .hero-art.contact-page .contact-hero .section-label { color:#46667d; }
  .hero-art.interior-polished .company-hero h1,
  .hero-art.contact-page .contact-hero h1 { color:#183a59; text-shadow:0 1px 12px #fff7; }
  .hero-art.interior-polished .company-hero h1 > span { color:#2c7198; }
  .hero-art.interior-polished .company-hero .company-hero-copy > p,
  .hero-art.contact-page .contact-hero .page-intro-grid > div > p { color:#435f73; }
  .hero-art.interior-polished .company-hero-actions > .button,
  .hero-art.contact-page .contact-hero .hero-actions .button { background:#254e79; border-color:#254e79; color:#fffdf4; }
  .hero-art.interior-polished .company-hero-actions > .button:hover,
  .hero-art.contact-page .contact-hero .hero-actions .button:hover { background:#193d66; border-color:#193d66; }
  .hero-art.interior-polished .company-hero-actions > .text-link,
  .hero-art.contact-page .contact-hero .hero-actions .text-link { color:#294d6d; }
  .hero-art.interior-polished .company-hero-actions > .text-link:hover,
  .hero-art.contact-page .contact-hero .hero-actions .text-link:hover { color:#1b3b5e; }

  .hero-art.solutions-page.interior-polished .company-hero {
    min-height:590px;
    background-image:var(--hero-blue-wash),linear-gradient(90deg,#fffdf8f5 0%,#fffdf9e8 30%,#f8fbfbaa 48%,#ffffff1a 72%,transparent),var(--section-bg-solutions, url("/assets/optimized/solutions-generated.e7cd8b22b43cc3b94613a55f026bbfc4fddb9033f020c103d042e9e4dab3aefd.webp"));
  }
  .hero-art.about-page.interior-polished .company-hero {
    min-height:555px;
    background-image:var(--hero-blue-wash),linear-gradient(90deg,#fffdf7f5 0%,#fffdf8e8 30%,#fffefba1 48%,#ffffff10 73%,transparent),var(--section-bg-about, url("/assets/optimized/about-generated.9374d097d786f77ef77cd79c318d860a12e91a614a81dba90d4cb13bd3aed375.webp"));
  }
  .hero-art.interior-polished:is(.solutions-page,.about-page) .company-hero .page-intro-grid.with-photo { display:block; position:static; }
  .hero-art.interior-polished .company-hero .company-hero-copy { width:54%; max-width:615px; padding:16px 0 18px; }
  .hero-art.interior-polished .company-hero .page-intro-grid h1 { font-size:54px; max-width:605px; }
  .hero-art.interior-polished .company-hero .company-hero-copy > p { max-width:555px; font-size:15px; line-height:1.85; }
  .hero-art.interior-polished .company-hero .company-hero-visual { position:absolute; display:block; min-height:0; width:320px; right:35px; bottom:30px; padding:0; margin:0; }
  .hero-art.interior-polished .company-hero .company-hero-visual img { display:none; }
  .hero-art.interior-polished .company-hero .company-hero-visual figcaption { position:static; margin:0; padding:17px 20px; border:1px solid #fff; border-radius:18px; background:#fffdf2ec; color:#34546b; box-shadow:0 7px 24px #28455912; }
  .hero-art.about-page.interior-polished .company-hero .company-hero-visual figcaption { background:#e9f1fbef; border-color:#f9fcff; color:#34546b; }

  .hero-art.contact-page .contact-hero {
    min-height:490px;
    background-position:center 66%;
    background-image:var(--hero-blue-wash),linear-gradient(90deg,#fcfdfcf2 0%,#fafcfbdb 34%,#f7fafa88 50%,transparent 73%),var(--section-bg-contact, url("/assets/optimized/contact-generated.94157e2c5b02cd207fc5edbcc62934a78bf323a60670816b2508ec6a502c86e5.webp"));
  }
  .hero-art.contact-page .contact-hero .page-intro-grid { display:block; }
  .hero-art.contact-page .contact-hero .page-intro-grid > div { width:57%; max-width:650px; padding:24px 0 45px; }
  .hero-art.contact-page .contact-hero h1 { font-size:56px; max-width:570px; }
  .hero-art.contact-page .contact-hero .contact-hero-visual { position:absolute; right:34px; bottom:30px; margin:0; padding:0; border-radius:18px; transform:none; background:#fffdf3ee; }
  .hero-art.contact-page .contact-hero-visual img { display:none; }
  .hero-art.contact-page .contact-hero-visual figcaption { padding:17px 22px; font-size:13px; color:#385a73; }

  /* The generated showroom is only a backdrop; featured equipment is original. */
  .hero-art.commerce-catalogue .commerce-intro {
    min-height:470px;
    background:var(--hero-blue-wash),linear-gradient(90deg,#fffdf6eb 0%,#fffdf5d9 33%,#fffdf3b3 53%,#fffffb50 100%),var(--section-bg-products, url("/assets/optimized/products-generated.a16f237a16fa6337f4a023ed592e2dd2b7d64774b6921f6ab67d559377fd920a.webp")) center 56% / cover no-repeat;
    border:1px solid #e0ded0;
    box-shadow:0 10px 28px #594a2908;
  }
  .hero-art.commerce-catalogue .commerce-intro::before,
  .hero-art.commerce-catalogue .commerce-intro::after { content:none; }
  .hero-art.commerce-catalogue .commerce-intro .breadcrumbs,
  .hero-art.commerce-catalogue .commerce-intro .breadcrumbs a { color:#556778; }
  .hero-art.commerce-catalogue .commerce-intro .commerce-eyebrow { color:#696244; }
  .hero-art.commerce-catalogue .commerce-intro h1 { color:#203d5a; }
  .hero-art.commerce-catalogue .commerce-intro h1 em { color:#2b6c95; }
  .hero-art.commerce-catalogue .commerce-intro-grid > .commerce-intro-copy > p { color:#435e72; }
  .hero-art.commerce-catalogue .commerce-browse { color:#2d5275; border-color:#859baf; }
  .hero-art.commerce-catalogue .commerce-browse:hover { color:#183c63; }
  .hero-art.commerce-catalogue .commerce-spotlight { background:#fffff8f2; border:1px solid #fff; box-shadow:0 8px 26px #223c5612; }
  .hero-art.commerce-catalogue .spotlight-battery { background:#e9f1faf2; }
  .hero-art.commerce-catalogue .commerce-intro-grid { padding-block:8px 18px; }

  /* Equipment detail gets a bright setting without altering the original photo. */
  .hero-art.commerce-product .product-layout { padding:22px; border:1px solid #dce5ec; border-radius:28px; background:var(--hero-blue-wash),linear-gradient(105deg,#f8fbfced,#fffaf1f2 72%),var(--section-bg-products, url("/assets/optimized/products-generated.a16f237a16fa6337f4a023ed592e2dd2b7d64774b6921f6ab67d559377fd920a.webp")) center / cover; gap:30px; }
  .hero-art.commerce-product .product-gallery { background:#e6eff5c9; border-color:#d6e2ec; padding:12px; }
  .hero-art.commerce-product .product-stage { background:#fffdf9; padding:24px; }
  .hero-art.commerce-product .detail-price-row { background:#e2edf8; border:1px solid #cfdeed; color:#234b70; }
  .hero-art.commerce-product .product-summary .detail-price { color:#234b70; }
  .hero-art.commerce-product .detail-price-row del { color:#5a7083; }
  .hero-art.commerce-product .product-summary h1 { color:#23435e; }

  /* Projects follows the About page's daylight composition with its original hero photo. */
  .hero-art.projects-page #project-list-view .project-source-hero {
    min-height:555px;
    padding:27px 40px 38px;
    margin-bottom:42px;
    justify-content:flex-start;
    border:1px solid #d8e2e8;
    border-radius:32px;
    background-color:#f5f7f4;
    background-image:var(--hero-blue-wash),linear-gradient(90deg,#fffdf7fa 0%,#fffdf8f5 30%,#fffefbe8 45%,#fffefba8 59%,#fffefb24 78%,#fffefb0d),url("/assets/optimized/projects-original-hero.a1080d23e1816c9bbaae568f3b53011af2392b7d34fb26ee18bf093f861eb722.webp");
    background-position:center 28%;
    box-shadow:0 12px 30px #25476508;
  }
  .hero-art.projects-page #project-list-view .project-source-hero .breadcrumbs,
  .hero-art.projects-page #project-list-view .project-source-hero .breadcrumbs a { color:#496379; font-size:11px; text-shadow:none; }
  .hero-art.projects-page #project-list-view .project-source-hero .breadcrumbs { margin-bottom:24px; }
  .hero-art.projects-page #project-list-view .project-source-hero .project-directory-hero {
    width:54%;
    max-width:615px;
    margin:0;
    padding:16px 0 18px;
    text-align:left;
  }
  .hero-art.projects-page #project-list-view .project-source-hero .section-label { display:block; margin:0 0 21px; font-size:11px; font-weight:600; letter-spacing:.15em; color:#46667d; text-shadow:none; }
  .hero-art.projects-page #project-list-view .project-source-hero h1 { margin:0 0 25px; font-size:54px; line-height:1.05; letter-spacing:-.045em; color:#183a59; text-shadow:0 1px 12px #fff7; }
  .hero-art.projects-page #project-list-view .project-source-hero h1 > span { display:block; color:#2c7198; }
  .hero-art.projects-page #project-list-view .project-source-hero .project-directory-hero > div > p { max-width:555px; margin:0; font-size:15px; line-height:1.85; color:#435f73; text-shadow:none; }
  .hero-art.projects-page .project-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:23px; margin-top:29px; }
  .hero-art.projects-page .project-hero-actions .button { padding:16px 22px; min-height:51px; gap:16px; font-size:13px; color:#fffdf4; background:#254e79; border-color:#254e79; }
  .hero-art.projects-page .project-hero-actions .button:hover { background:#193d66; border-color:#193d66; }
  .hero-art.projects-page .project-hero-actions .text-link { color:#294d6d; font-size:12px; gap:9px; }
  .hero-art.projects-page .project-hero-actions .text-link:hover { color:#1b3b5e; }

  /* Individual case studies use their own original site photo, never a generated project. */
  .hero-art.projects-page #project-detail-target .page-intro {
    min-height:320px;
    padding:32px 44px 40px;
    background:var(--hero-blue-wash),linear-gradient(90deg,#f9fcfff7 0%,#f9fcfff0 44%,#f9fcffc7 67%,#f9fcff26),var(--project-hero-photo,none) center 50% / cover;
    border-color:#d5e1ec;
  }
  .hero-art.projects-page #project-detail-target .page-intro::after { content:none; }
  .hero-art.projects-page #project-detail-target .page-intro h1 { max-width:790px; color:#22435f; }
  .hero-art.projects-page #project-detail-target .page-intro .section-label { color:#59728a; }
  .hero-art.projects-page #project-detail-target .page-intro .breadcrumbs,
  .hero-art.projects-page #project-detail-target .page-intro .breadcrumbs a,
  .hero-art.projects-page #project-detail-target .page-intro .project-summary-line { color:#456580; }
}

@media(min-width:1001px) and (max-width:1280px) {
  .hero-art.interior-polished .company-hero .page-intro-grid h1 { font-size:47px; }
  .hero-art.interior-polished .company-hero .company-hero-copy { width:55%; }
  .hero-art.solutions-page.interior-polished .company-hero { min-height:570px; }
  .hero-art.about-page.interior-polished .company-hero { min-height:530px; }
  .hero-art.interior-polished .company-hero .company-hero-visual { width:280px; right:28px; }
  .hero-art.contact-page .contact-hero h1 { font-size:49px; }
  .hero-art.contact-page .contact-hero { min-height:455px; }
  .hero-art.commerce-product .product-layout { padding:17px; gap:24px; }
  .hero-art.projects-page #project-list-view .project-source-hero { min-height:530px; padding:25px 32px 32px; }
  .hero-art.projects-page #project-list-view .project-source-hero .project-directory-hero { width:55%; }
  .hero-art.projects-page #project-list-view .project-source-hero h1 { font-size:47px; }
  .hero-art.projects-page .project-hero-actions { gap:18px; }
  .hero-art.projects-page .project-hero-actions .button { padding:15px 18px; font-size:12px; }
  .hero-art.projects-page .project-hero-actions .text-link { font-size:11px; }
  .hero-art.projects-page #project-detail-target .page-intro h1 { max-width:740px; }
}

/* Sun, sky and earth: section canvases beneath the existing daylight heroes. */
@media (min-width:1001px) {
  body.hero-art {
    --scene-blue:#dceaf5;
    --scene-sand:#f1dcae;
    --scene-peach:#efd2bf;
    --scene-sage:#dfe8d0;
    --scene-ink:#21445f;
    background:linear-gradient(105deg,#dde9f3 0%,#f3e6ce 54%,#e1e9d4 100%);
  }

  /* Home: distinct, full-width chapters, with calm surfaces for the controls. */
  .hero-art.home-polished .shop-section {
    background:linear-gradient(100deg,#dceaf5fa 0%,#dceaf5ed 55%,#dceaf5ab),var(--section-bg-products, url("/assets/optimized/products-generated.a16f237a16fa6337f4a023ed592e2dd2b7d64774b6921f6ab67d559377fd920a.webp")) right top / 100% auto no-repeat,#dceaf5;
  }
  .hero-art.home-polished .shop-section::before { content:none; }
  .hero-art.home-polished .category-nav { background:#c7dbea; border-color:#bad1e2; }
  .hero-art.home-polished .catalog-card { background:#fff9e9; border-color:#bfcfda; }
  .hero-art.home-polished .catalog-card:nth-child(3n+2) { background:#edf4fa; }
  .hero-art.home-polished .catalog-card:nth-child(3n) { background:#f6e1d2; }
  .hero-art.home-polished .expert-strip { background:#f2dba5; border-color:#d9bd85; }
  .hero-art.home-polished .brand-rail { border-color:#b3cbdc; }
  .hero-art.home-polished .home-company {
    background:linear-gradient(90deg,#efd2bff5 0%,#efd2bfed 50%,#f2ddc9c9),var(--section-bg-about, url("/assets/optimized/about-generated.9374d097d786f77ef77cd79c318d860a12e91a614a81dba90d4cb13bd3aed375.webp")) center 70% / cover;
  }
  .hero-art.home-polished .home-company::before { opacity:.3; }
  .hero-art.home-polished .home-company h2 { color:#563f33; }
  .hero-art.home-polished .home-company > div > p,
  .hero-art.home-polished .home-company .vision-grid p { color:#5f4e40; }
  .hero-art.home-polished .vision-grid > div { border-color:#bf9e84; }
  .hero-art.home-polished .published-figures {
    background:linear-gradient(90deg,#203d59ed,#284f6edb),var(--section-bg-about, url("/assets/optimized/about-generated.9374d097d786f77ef77cd79c318d860a12e91a614a81dba90d4cb13bd3aed375.webp")) center 75% / cover;
    border-color:#48667d;
  }
  .hero-art.home-polished .solutions-section {
    background:linear-gradient(110deg,#e3eacfee 0%,#e3eacff5 55%,#d4e1c2bd),var(--section-bg-solutions, url("/assets/optimized/solutions-generated.e7cd8b22b43cc3b94613a55f026bbfc4fddb9033f020c103d042e9e4dab3aefd.webp")) center 70% / cover;
  }
  .hero-art.home-polished .solutions-section::before { opacity:.35; }
  .hero-art.home-polished .service-row { border-color:#b7c7b1; }
  .hero-art.home-polished .service-row:first-child { background:#f8f4da; border-color:#d8cd9d; }
  .hero-art.home-polished .service-row:nth-child(5) { background:#cbdcc3; border-color:#afc4a9; }
  .hero-art.home-polished .planner-section {
    background:linear-gradient(90deg,#efcc78fa 0%,#efcc78f0 38%,#efd596b8 75%,#efcc786b),var(--section-bg-home, url("/assets/optimized/home-generated.307e5119531e1f76f9cbc6d69cbc97a06a346ddc8902659b76517569ec9797c4.webp")) center 80% / cover;
  }
  .hero-art.home-polished .planner-section::after { content:none; }
  .hero-art.home-polished .projects-section {
    background:linear-gradient(110deg,#d2e4f2f7,#dbe8f1f0 65%,#c9dcebad),url('/assets/company/ff5401479a49424e.jpeg') center / cover;
  }
  .hero-art.home-polished #projects > .section-heading h2 { color:#25485f; }
  .hero-art.home-polished #projects .projects-heading-aside p { color:#456277; }
  .hero-art.home-polished #projects .process-heading { border-color:#a9c3d4; }
  .hero-art.home-polished .process-list { background:#eddfb7; }
  .hero-art.home-polished .process-list li + li { border-color:#c9b984; }
  .hero-art.home-polished .process-list p { color:#526247; }
  .hero-art.home-polished .why-japston {
    background:linear-gradient(100deg,#183c5aca 0%,#214f6488 60%,#183c5a6b),url('/assets/hero-real.jpeg') center 48% / cover;
  }
  .hero-art.home-polished .company-partners {
    background:linear-gradient(90deg,#e2e9cff5,#e2e9cfe0),var(--section-bg-about, url("/assets/optimized/about-generated.9374d097d786f77ef77cd79c318d860a12e91a614a81dba90d4cb13bd3aed375.webp")) center 70% / cover;
  }
  .hero-art.home-polished .testimonials-section {
    background:linear-gradient(100deg,#edd1bff5,#efdac6d9),var(--section-bg-home, url("/assets/optimized/home-generated.307e5119531e1f76f9cbc6d69cbc97a06a346ddc8902659b76517569ec9797c4.webp")) center 70% / cover;
  }
  .hero-art.home-polished .testimonials-section::before { opacity:.3; }
  .hero-art.home-polished .testimonials-grid figure:nth-child(1) { background:#294e68; }
  .hero-art.home-polished .testimonials-grid figure:nth-child(2) { background:#f8e5b5; }
  .hero-art.home-polished .faq-section {
    background:linear-gradient(95deg,#d4e6f0f5,#d9e8f1ed 62%,#d4e6f0c4),var(--section-bg-contact, url("/assets/optimized/contact-generated.94157e2c5b02cd207fc5edbcc62934a78bf323a60670816b2508ec6a502c86e5.webp")) center / cover;
  }
  .hero-art.home-polished .faq-list details { border-bottom-color:#adc5d2; }
  .hero-art.home-polished .faq-list details[open] { background:#f4dfac; border-color:#d5bd83; }
  .hero-art.home-polished .closing-cta {
    background:linear-gradient(95deg,#e4aa85f2 0%,#e4aa85df 55%,#edc5a7a6),var(--section-bg-solutions, url("/assets/optimized/solutions-generated.e7cd8b22b43cc3b94613a55f026bbfc4fddb9033f020c103d042e9e4dab3aefd.webp")) right 65% / cover;
    margin-block:48px;
  }
  .hero-art.home-polished .closing-cta::before { content:none; }
  .hero-art.home-polished .contact-section { background:#e1e8d1; padding-top:65px; }
  .hero-art.home-polished .contact-grid {
    background:linear-gradient(90deg,#cadfeaee,#d3e4ede8 55%,#d3e4ed73),var(--section-bg-contact, url("/assets/optimized/contact-generated.94157e2c5b02cd207fc5edbcc62934a78bf323a60670816b2508ec6a502c86e5.webp")) center / cover;
    border:1px solid #b7ced8;
  }

  /* Directory and case-study chapters retain their source photographs and fit. */
  .hero-art.projects-page .project-directory {
    background:radial-gradient(circle at 0 0,#bdd8e652 0 170px,transparent 171px),linear-gradient(110deg,#dcebf3f7,#dcebf3f0),var(--section-bg-about, url("/assets/optimized/about-generated.9374d097d786f77ef77cd79c318d860a12e91a614a81dba90d4cb13bd3aed375.webp")) center top / 100% auto no-repeat,#dcebf3;
    padding:30px 30px 42px;
    border:1px solid #c7dce9;
    border-radius:32px;
  }
  .hero-art.projects-page .project-controls { background:#edd8aa; border-color:#d6ba7e; }
  .hero-art.projects-page .project-tile { background:#f8edcf; border-color:#c5d2d8; }
  .hero-art.projects-page .project-tile:nth-child(3n+2) { background:#e6f0f7; }
  .hero-art.projects-page .project-tile:nth-child(3n) { background:#efd7c6; }
  .hero-art.projects-page .project-tile .project-meta,
  .hero-art.projects-page .project-tile .project-gallery-count { color:#4b5f52; }
  .hero-art.projects-page .project-tile > .text-link { border-color:#b9c8c6; }
  .hero-art.projects-page .project-gallery-heading { padding:23px 28px; border-radius:22px; background:#d5e4ef; border:1px solid #bfd2df; }
  .hero-art.projects-page .project-gallery-link { background:#e2e8cd; border-color:#c2ccb5; }
  .hero-art.projects-page .project-gallery-link:nth-child(3n+2) { background:#d6e6f1; border-color:#bacfdd; }
  .hero-art.projects-page .project-gallery-link:nth-child(3n) { background:#f1dfb3; border-color:#d6c18e; }
  .hero-art.projects-page .project-body-section { background:#f0deba; border-color:#d7bf91; }
  .hero-art.projects-page .project-body-section.project-specifications {
    background:linear-gradient(105deg,#d6e6f2f5,#d6e6f2e8),var(--section-bg-products, url("/assets/optimized/products-generated.a16f237a16fa6337f4a023ed592e2dd2b7d64774b6921f6ab67d559377fd920a.webp")) right center / cover;
    border-color:#b5cfe1;
  }
  .hero-art.projects-page .project-body-section.project-savings {
    background:linear-gradient(105deg,#e1e9cdf2,#e1e9cde0),var(--section-bg-about, url("/assets/optimized/about-generated.9374d097d786f77ef77cd79c318d860a12e91a614a81dba90d4cb13bd3aed375.webp")) center 70% / cover;
    border-color:#c1cda8;
  }
  .hero-art.projects-page .project-story aside {
    background:linear-gradient(#edd1bfee,#efd6c5e6),var(--section-bg-contact, url("/assets/optimized/contact-generated.94157e2c5b02cd207fc5edbcc62934a78bf323a60670816b2508ec6a502c86e5.webp")) center bottom / cover;
    border-color:#d3b098;
  }

  /* Contact: warm offices, a photographic enquiry panel, sky-blue FAQs. */
  .hero-art.contact-page .contact-offices {
    padding:38px;
    margin-bottom:42px;
    border:1px solid #d7c293;
    border-radius:30px;
    background:linear-gradient(110deg,#f0dfb9f2,#f1e2c4e6),var(--section-bg-home, url("/assets/optimized/home-generated.307e5119531e1f76f9cbc6d69cbc97a06a346ddc8902659b76517569ec9797c4.webp")) center 80% / cover;
  }
  .hero-art.contact-page .office-card { background:#ccdfed; border-color:#aac7db; }
  .hero-art.contact-page .office-card:nth-child(2) { background:#efd0b9; border-color:#d4b091; }
  .hero-art.contact-page .office-card:nth-child(3) { background:#294f70; border-color:#294f70; }
  .hero-art.contact-page .contact-page-form .contact-grid {
    background:linear-gradient(100deg,#c8ddebeb 0%,#d8e6eef0 47%,#d2e3edb5),var(--section-bg-contact, url("/assets/optimized/contact-generated.94157e2c5b02cd207fc5edbcc62934a78bf323a60670816b2508ec6a502c86e5.webp")) center bottom / cover;
    border-color:#a8c5d8;
  }
  .hero-art.contact-page .contact-form-panel { background:#fff5dc; border-color:#d5c8a6; }
  .hero-art.contact-page .form-grid input,
  .hero-art.contact-page .form-grid select,
  .hero-art.contact-page .form-grid textarea { background:#fffaf0; border-color:#b7c9c9; }
  .hero-art.contact-page .source-faq {
    padding:36px;
    margin-bottom:45px;
    border-radius:30px;
    border:1px solid #b9cedd;
    background:#dce9f2 url('/assets/home-visuals/energy-lines.svg') left -290px bottom / 650px no-repeat;
  }
  .hero-art.contact-page .faq-intro {
    background:linear-gradient(#e2e8cfea,#e2e8cfc9),var(--section-bg-solutions, url("/assets/optimized/solutions-generated.e7cd8b22b43cc3b94613a55f026bbfc4fddb9033f020c103d042e9e4dab3aefd.webp")) center / cover;
    border-color:#b8c9a5;
  }
  .hero-art.contact-page .faq-list details { background:#edf4f8; border-color:#b8cdda; }
  .hero-art.contact-page .faq-list details:nth-child(even) { background:#f4e7ca; border-color:#d6c69d; }
  .hero-art.contact-page .faq-list details[open] { background:#eed29c; border-color:#c3a36c; }
  .hero-art.contact-page .contact-support-grid .support-section {
    background:linear-gradient(110deg,#d9e3c8f2,#d9e3c8e0),var(--section-bg-solutions, url("/assets/optimized/solutions-generated.e7cd8b22b43cc3b94613a55f026bbfc4fddb9033f020c103d042e9e4dab3aefd.webp")) center / cover;
    border-color:#b8c5a4;
  }
  .hero-art.contact-page .contact-support-grid .support-section:last-child {
    background:#efd3c0 url('/assets/home-visuals/sun-orbits.svg') right -130px top -150px / 430px no-repeat;
    border-color:#d2b198;
  }

  /* A shared photographic ending connects the seven pages. */
  .hero-art:is(.interior-polished,.home-polished) .newsletter {
    background:linear-gradient(100deg,#e9cb83f5,#eed79edb),var(--section-bg-home, url("/assets/optimized/home-generated.307e5119531e1f76f9cbc6d69cbc97a06a346ddc8902659b76517569ec9797c4.webp")) center 68% / cover;
    border:1px solid #d5b772;
  }
  .hero-art:is(.interior-polished,.home-polished) .newsletter h2 { color:#4c442c; }
  .hero-art:is(.interior-polished,.home-polished) .newsletter p { color:#5a5038; }
  .hero-art:is(.interior-polished,.home-polished) .site-footer {
    background:linear-gradient(105deg,#152e4bf5 0%,#214561ef 58%,#274f67db),var(--section-bg-about, url("/assets/optimized/about-generated.9374d097d786f77ef77cd79c318d860a12e91a614a81dba90d4cb13bd3aed375.webp")) center 72% / cover;
  }
  .hero-art:is(.interior-polished,.home-polished) .site-footer::before { content:none; }
  .hero-art:is(.interior-polished,.home-polished) .site-footer h3 { color:#f1d69c; }
  .hero-art:is(.interior-polished,.home-polished) .site-footer p,
  .hero-art:is(.interior-polished,.home-polished) .site-footer a,
  .hero-art:is(.interior-polished,.home-polished) .site-footer .footer-brand p,
  .hero-art:is(.interior-polished,.home-polished) .site-footer .footer-grid > div:last-child p { color:#d9e6ee; }
  .hero-art:is(.interior-polished,.home-polished) .site-footer a:hover { color:#ffe3a6; }
  .hero-art:is(.interior-polished,.home-polished) .site-footer .footer-grid > div:last-child strong { color:#fae7ba; }
  .hero-art:is(.interior-polished,.home-polished) .footer-bottom { border-color:#b5cad44d; }
  .hero-art.projects-page .closing-cta {
    background:linear-gradient(90deg,#edc29ff2,#efd0b3cb),var(--section-bg-contact, url("/assets/optimized/contact-generated.94157e2c5b02cd207fc5edbcc62934a78bf323a60670816b2508ec6a502c86e5.webp")) right center / cover;
    border-color:#d1af8b;
  }
}

@media(min-width:1001px) and (max-width:1280px) {
  .hero-art.projects-page .project-directory { padding:24px 24px 38px; }
  .hero-art.contact-page .contact-offices,
  .hero-art.contact-page .source-faq { padding:28px; }
  .hero-art.contact-page .office-cards { gap:18px; }
  .hero-art.contact-page .office-card { padding:23px; }
  .hero-art.contact-page .office-card h3 { font-size:22px; }
}

/* Daylight colour and real solar photography beneath the commerce heroes.
   Desktop presentation only; original images, content and interactions stay intact. */
@media (min-width: 1001px) {
  .commerce-catalogue .catalog-section {
    position: relative;
    isolation: isolate;
    padding: 30px 28px 34px;
    margin-top: 14px;
    margin-bottom: 46px;
    background: #dfeaf3;
    border: 1px solid #cadce8;
    border-radius: 30px;
    box-shadow: 0 12px 34px #355f7807;
  }
  .commerce-catalogue .catalog-section::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    left: 0;
    height: 540px;
    border-radius: 30px 30px 0 0;
    background: linear-gradient(180deg,#dfebf2dc 0%,#dfebf2eb 62%,#dfeaf3 100%),url('/assets/hero-real.jpeg') center 60% / cover no-repeat;
    pointer-events: none;
  }
  .commerce-catalogue .catalog-search {
    background: #f5e4bf;
    border-color: #e4cfa6;
    box-shadow: 0 4px 18px #80684208;
  }
  .commerce-catalogue .catalog-search input { border-color: #e2d3b6; background: #fffdf5; }
  .commerce-catalogue .catalog-search .button { background: #2a5277; color: #fffaf0; }
  .commerce-catalogue .catalog-search .button:hover { background: #1c4267; color: #fffaf0; }
  .commerce-catalogue .catalog-sidebar { background: #f6ecd6; border-color: #e6d9b9; }
  .commerce-catalogue .commerce-filter-label { color: #7b6338; }
  .commerce-catalogue .catalog-sidebar h2 { color: #574a30; }
  .commerce-catalogue .catalog-category { color: #635439; }
  .commerce-catalogue .catalog-category:hover { background: #ebdcb9; }
  .commerce-catalogue .catalog-category[aria-pressed=true] { color: #fffaf0; background: #335b78; }
  .commerce-catalogue .catalog-category[aria-pressed=true] span { color: #fffaf0; background: #ffffff20; }
  .commerce-catalogue .catalog-sidebar label { color: #645334; }
  .commerce-catalogue .catalog-sidebar select { border-color: #ded0b0; color: #5b4c34; background: #fffaf0; }
  .commerce-catalogue #clear-filters { color: #4f5c3a; }
  .commerce-catalogue .catalog-advice {
    background: #e5cbae url('/assets/home-visuals/energy-lines.svg') right -110px top 25px / 310px no-repeat;
    border: 1px solid #d8b995;
    padding-top: 22px;
  }
  .commerce-catalogue .catalog-advice h3 { color: #61432f; }
  .commerce-catalogue .catalog-advice p { color: #694f37; }
  .commerce-catalogue .catalog-advice .text-link { color: #345541; }
  .commerce-catalogue .catalog-toolbar { border-color: #bbd0de; }
  .commerce-catalogue .catalog-toolbar p { color: #34566e; }
  .commerce-catalogue .catalog-toolbar label { color: #4a6172; }
  .commerce-catalogue .catalog-toolbar select { background: #f9fcff; border-color: #bfd3e1; color: #355570; }

  /* A light product stage keeps source photography accurate while the surrounding
     colour makes each row feel connected to the page. */
  .commerce-catalogue .catalog-card {
    --card-tint: #ebdfbd;
    --card-color: #655434;
    background: #fff5de;
    border-color: #e0d3ad;
  }
  .commerce-catalogue .catalog-card:nth-child(3n + 2) {
    --card-tint: #cfdfec;
    --card-color: #325c7a;
    background: #edf5fd;
    border-color: #c6d9e9;
  }
  .commerce-catalogue .catalog-card:nth-child(3n) {
    --card-tint: #eacdb8;
    --card-color: #75503a;
    background: #faeadd;
    border-color: #e6cdbb;
  }
  .commerce-catalogue .catalog-card:nth-child(6n + 4) {
    --card-tint: #d3dfc0;
    --card-color: #49613d;
    background: #edf2df;
    border-color: #cedbbb;
  }
  .commerce-catalogue .catalog-card:hover { border-color: #7395ab; box-shadow: 0 9px 24px #315e7b13; }
  .commerce-catalogue .catalog-copy h3 { color: #344b45; }
  .commerce-catalogue .catalog-copy .catalog-price { color: #355677; }
  .commerce-catalogue .catalog-card:nth-child(3n) .catalog-price { color: #7b5036; }
  .commerce-catalogue .catalog-card-bottom { border-color: #9d9f822e; }
  .commerce-catalogue .catalog-card-bottom .text-link { color: #3d5b67; }
  .commerce-catalogue .catalog-card-bottom .add-product:hover { background: #315979; color: #fffaf0; }
  .commerce-catalogue .catalog-note { color: #4c6475; border-color: #bdcfdd; }
  .commerce-catalogue .pagination button { background: #f7fbfe; color: #355b77; border-color: #bacfdf; }
  .commerce-catalogue .pagination button[aria-current=page] { background: #315a7c; color: #fffaf0; border-color: #315a7c; }
  .commerce-catalogue .pagination button[aria-current=page]:hover { background: #244b6c; color: #fffaf0; }
  .commerce-catalogue .catalog-empty { background: #f9e2b2; border-color: #dec28a; }

  /* Existing installation photo gives the next step a real setting. */
  .commerce-catalogue .commerce-support {
    min-height: 288px;
    padding: 44px 48px;
    background: linear-gradient(90deg,#e6f0f8fc 0%,#e6f0f8f5 45%,#e6f0f891 69%,#e6f0f829 100%),url('/assets/hero-real.jpeg') center 61% / cover no-repeat;
    border: 1px solid #c4d8e6;
    color: #24465f;
    margin-bottom: 70px;
  }
  .commerce-catalogue .commerce-support::before { content: none; }
  .commerce-catalogue .commerce-support .commerce-eyebrow { color: #506778; }
  .commerce-catalogue .commerce-support h2 { color: #264b67; }
  .commerce-catalogue .commerce-support h2 em { color: #36749a; }
  .commerce-catalogue .commerce-support p { color: #47667c; max-width: 500px; }
  .commerce-catalogue .commerce-support > .button {
    background: #f6dea2;
    color: #534627;
    border: 1px solid #fcecc9;
    box-shadow: 0 7px 24px #18384e25;
  }
  .commerce-catalogue .commerce-support > .button:hover { background: #ffedc2; color: #534627; }

  /* The detail hero remains unchanged. The long-form content gets its own warm
     canvas, blue specifications and a peach source-information side panel. */
  .commerce-product .detail-lower {
    position: relative;
    isolation: isolate;
    padding: 27px;
    background: #eee0c5;
    border: 1px solid #dfd0ae;
    border-radius: 30px;
    gap: 26px;
  }
  .commerce-product .detail-lower::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: inherit;
    background: url('/assets/home-visuals/sun-orbits.svg') right -155px top -155px / 570px no-repeat;
    opacity: .3;
    pointer-events: none;
  }
  .commerce-product .detail-lower > .rich-content {
    background: #e6eff6;
    border-color: #c7dbe8;
    padding: 31px 33px;
    box-shadow: 0 5px 20px #70654507;
  }
  .commerce-product .rich-content > h2:first-child { color: #294f6a; border-color: #bfd3e1; }
  .commerce-product .rich-content h2,
  .commerce-product .rich-content h3,
  .commerce-product .rich-content h4 { color: #2e5874; }
  .commerce-product .rich-content p,
  .commerce-product .rich-content ul,
  .commerce-product .rich-content ol { color: #425f72; }
  .commerce-product .rich-content table { background: #fff9ed; border-color: #bfd1dc; }
  .commerce-product .rich-content th { color: #294d66; background: #cbdfea; }
  .commerce-product .rich-content td { background: #fff8e9; border-color: #dce1d8; color: #465f6a; }
  .commerce-product .rich-content td:first-child { background: #dce8e1; color: #3e5d4b; }
  .commerce-product .rich-content tr:nth-child(even) td:not(:first-child) { background: #f8efd9; }
  .commerce-product .rich-content blockquote { background: #ead5b8; color: #644f34; }
  .commerce-product .listing-terms { background: #f3d8c4; border-color: #dbbba2; }
  .commerce-product .listing-terms h2 { color: #714d35; }
  .commerce-product .listing-terms ul { color: #73563e; }
  .commerce-product .listing-terms li::marker { color: #94714a; }
  .commerce-product .listing-terms .source-note { color: #72583d; border-color: #d5b495; }
  .commerce-product .listing-terms .source-note a { color: #5f4e2e; }
  .commerce-product .listing-terms .small { color: #76583e; }

  .commerce-product .closing-cta {
    min-height: 226px;
    background: linear-gradient(90deg,#f5e4c8fc 0%,#f5e4c8f5 48%,#f5e4c88c 75%,#f5e4c822),url('/assets/hero-real.jpeg') center 63% / cover no-repeat;
    border-color: #ddc8a8;
  }
  .commerce-product .closing-cta::before { content: none; }
  .commerce-product .closing-cta h2 { color: #5f4e34; max-width: 600px; }
  .commerce-product .closing-cta p { color: #6d5b40; max-width: 540px; }
  .commerce-product .closing-cta .button { color: #fffaf0; background: #315775; border-color: #456d8a; box-shadow: 0 6px 20px #384e5e20; }
  .commerce-product .closing-cta .button:hover { color: #fffaf0; background: #234760; }
}

@media (min-width: 1001px) and (max-width: 1280px) {
  .commerce-catalogue .catalog-section { padding: 24px 22px 30px; }
  .commerce-catalogue .catalog-layout { grid-template-columns: 210px minmax(0,1fr); gap: 22px; }
  .commerce-catalogue .catalog-photo { height: 190px; }
  .commerce-catalogue .commerce-support { padding: 38px 36px; }
  .commerce-catalogue .commerce-support p { max-width: 460px; }
  .commerce-product .detail-lower { padding: 23px; grid-template-columns: minmax(0,1fr) 270px; gap: 22px; }
  .commerce-product .detail-lower > .rich-content { padding: 27px; }
}

/* Japston desktop header: light sage surfaces and the daylight hero's blue accents.
   The supplied logo stays untouched. Mobile refinement remains separate. */
@media (min-width: 1001px) {
  #site-header.brand-header {
    --header-sage: #dfebd6;
    --header-paper: #f7faef;
    --header-blue: #264d7b;
    --header-ink: #233e42;
    --header-muted: #51674e;
    font-family: 'DM Sans', sans-serif;
    line-height: 1.6;
  }
  #site-header.brand-header :is(a, button, input) { font-family: inherit; }

  #site-header.brand-header,
  #site-header.brand-header.is-sticky {
    width: calc(100% - 40px);
    max-width: 1580px;
    margin: 14px auto 22px;
    top: 14px;
    border: 1px solid #c8d9be;
    border-radius: 30px;
    color: var(--header-ink);
    background: linear-gradient(108deg, #f0f5e7 0%, #e7efdc 36%, var(--header-sage) 72%, #e7efdf 100%);
    box-shadow: 0 7px 24px #526b4215, inset 0 1px 0 #fffff3c7;
    isolation: isolate;
    overflow: visible;
    backdrop-filter: none;
  }

  #site-header.brand-header::before {
    content: '';
    position: absolute;
    pointer-events: none;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: radial-gradient(ellipse at 8% 0%, #fffce44d, transparent 42%),
      radial-gradient(ellipse at 94% 100%, #c6dee829, transparent 40%);
  }

  #site-header.brand-header .header-inner,
  #site-header.brand-header.is-sticky .header-inner {
    width: 100%;
    max-width: none;
    height: 84px;
    padding: 0 14px 0 9px;
    gap: 20px;
  }

  #site-header.brand-header .brand,
  #site-header.brand-header.is-sticky .brand {
    width: 138px;
    height: 74px;
    padding: 2px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 138px;
    border-radius: 23px 17px 23px 23px;
    background: #fafbf1;
    border: 1px solid #fcfff6;
    box-shadow: 0 2px 10px #526b420a;
  }
  #site-header.brand-header .brand img,
  #site-header.brand-header.is-sticky .brand img {
    width: 110px;
    height: 68px;
    object-fit: contain;
    padding: 0;
    filter: none;
  }

  #site-header.brand-header .desktop-nav { gap: 2px; margin-inline: auto; }
  #site-header.brand-header .nav-toggle,
  #site-header.brand-header .desktop-nav > a.nav-direct {
    position: relative;
    min-height: 44px;
    padding: 10px 10px;
    gap: 7px;
    border-radius: 13px;
    color: var(--header-ink);
    font-size: 13px;
    font-weight: 600;
    transition: background .18s, color .18s;
  }
  #site-header.brand-header .nav-toggle > .icon { width: 13px; color: var(--header-muted); }
  #site-header.brand-header .nav-toggle:hover,
  #site-header.brand-header .nav-toggle[aria-expanded='true'],
  #site-header.brand-header .desktop-nav > a.nav-direct:hover,
  #site-header.brand-header .desktop-nav > a.nav-direct[aria-current='page'] {
    color: var(--header-ink);
    background: var(--header-paper);
  }
  #site-header.brand-header .nav-toggle:hover > .icon,
  #site-header.brand-header .nav-toggle[aria-expanded='true'] > .icon { color: #3e634b; }
  #site-header.brand-header .desktop-nav > a.nav-direct[aria-current='page']::after {
    content: '';
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 2px;
    background: #5f7d53;
  }

  /* Section names navigate; separate arrow buttons retain category shortcuts. */
  #site-header.brand-header .nav-split { display:flex; align-items:center; border-radius:13px; }
  #site-header.brand-header .nav-section-link { position:relative; display:flex; align-items:center; min-height:44px; padding:10px 1px 10px 10px; border-radius:13px 0 0 13px; color:var(--header-ink); font-size:13px; font-weight:600; }
  #site-header.brand-header .nav-section-toggle { width:26px; min-width:26px; padding:0; justify-content:center; border-radius:0 13px 13px 0; }
  #site-header.brand-header .nav-split:hover,
  #site-header.brand-header .nav-split:focus-within,
  #site-header.brand-header .nav-split:has(.nav-section-link[aria-current]) { background:var(--header-paper); }
  #site-header.brand-header .nav-section-link:hover { color:var(--header-ink); }
  #site-header.brand-header .nav-section-link[aria-current]::after { content:''; position:absolute; bottom:6px; left:10px; right:1px; height:2px; border-radius:2px; background:#5f7d53; }

  #site-header.brand-header .header-actions { gap: 8px; }
  #site-header.brand-header .icon-button { width: 44px; height: 44px; border-radius: 15px; color: #315149; transition: background .18s, color .18s; }
  #site-header.brand-header .header-search { color: var(--header-blue); background: var(--header-paper); border: 1px solid #bfd0b4; }
  #site-header.brand-header .header-search:hover,
  #site-header.brand-header .header-search[aria-expanded='true'] { background: #fdfdf4; color: #193c68; }
  #site-header.brand-header .header-advisor:hover,
  #site-header.brand-header .bag-button:hover { color: #234e3a; background: var(--header-paper); }
  #site-header.brand-header .header-phone { gap: 10px; margin: 0 8px; color: var(--header-ink); }
  #site-header.brand-header .header-phone > .icon { width: 23px; height: 23px; color: #52764b; }
  #site-header.brand-header .header-phone strong { color: var(--header-ink); font-size: 12px; }
  #site-header.brand-header .header-phone small { color: var(--header-muted); font-size: 10px; }
  #site-header.brand-header .header-phone:hover strong { color: #264d7b; }
  #site-header.brand-header #basket-count { top: -3px; right: -1px; border: 2px solid #e3edd9; background: #315c40; color: #f7faef; }

  #site-header.brand-header .header-quote {
    min-height: 48px;
    min-width: 162px;
    margin-left: 4px;
    padding: 7px 9px 7px 19px;
    gap: 15px;
    border: 1px solid #264d7b;
    border-radius: 99px;
    color: #fffdf3;
    background: var(--header-blue);
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 3px 12px #264d7b17;
    transition: background .18s, box-shadow .18s;
  }
  #site-header.brand-header .header-quote > .icon { width: 32px; height: 32px; padding: 7px; border-radius: 50%; color: #264d7b; background: #e7efdc; }
  #site-header.brand-header .header-quote:hover { color: #fffdf3; background: #193c68; box-shadow: 0 4px 16px #264d7b26; transform: none; }
  #site-header.brand-header :focus-visible { outline: 3px solid #315e7b; outline-offset: 4px; }
  #site-header.brand-header .header-quote:focus-visible,
  #site-header.brand-header .brand:focus-visible { outline-color: #315e7b; }

  #site-header.brand-header .nav-dropdown,
  #site-header.brand-header .search-panel {
    background: #f9fbf2;
    color: var(--header-ink);
    border: 1px solid #c8d9be;
    border-radius: 20px;
    box-shadow: 0 16px 40px #344e3924;
  }
  #site-header.brand-header .nav-dropdown { border-top: 3px solid #7f9f6f; padding: 16px; }
  #site-header.brand-header .nav-dropdown .dropdown-label { color: var(--header-muted); }
  #site-header.brand-header .nav-dropdown a { color: var(--header-ink); border-radius: 10px; }
  #site-header.brand-header .nav-dropdown a:hover { background: #e6efdc; color: #234e3a; }
  #site-header.brand-header .nav-dropdown a:focus-visible,
  #site-header.brand-header .search-panel :focus-visible { outline-color: #28617d; outline-offset: 2px; }
  #site-header.brand-header .dropdown-all { border-color: #d2dec8; color: #264d7b; }
  #site-header.brand-header .search-panel { right: 16px; }
  #site-header.brand-header .search-panel label { color: var(--header-ink); }
  #site-header.brand-header .search-panel input { color: var(--header-ink); border-color: #becfb4; background: #fdfdf6; }
  #site-header.brand-header .search-panel .button { color: #fffdf3; background: #264d7b; border-color: #264d7b; }
}

@media (min-width: 1001px) and (max-width: 1280px) {
  #site-header.brand-header .header-inner,
  #site-header.brand-header.is-sticky .header-inner { gap: 12px; padding-right: 12px; }
  #site-header.brand-header .brand,
  #site-header.brand-header.is-sticky .brand { flex-basis: 122px; width: 122px; padding-inline: 10px; }
  #site-header.brand-header .desktop-nav { gap: 1px; }
  #site-header.brand-header .nav-toggle,
  #site-header.brand-header .desktop-nav > a.nav-direct { padding-inline: 8px; font-size: 12px; }
  #site-header.brand-header .nav-section-link { padding-left:8px; font-size:12px; }
  #site-header.brand-header .nav-section-toggle { width:24px; min-width:24px; padding:0; }
  #site-header.brand-header .nav-section-link[aria-current]::after { left:8px; }
  #site-header.brand-header .header-actions { gap: 5px; }
  #site-header.brand-header .header-phone { gap: 8px; margin-inline: 4px; }
  #site-header.brand-header .header-phone strong { font-size: 11px; }
  #site-header.brand-header .header-phone small { font-size: 9px; }
  #site-header.brand-header .header-quote { min-width: 150px; padding-left: 16px; gap: 12px; font-size: 12px; }
}

@media (min-width: 1001px) and (max-width: 1160px) {
  #site-header.brand-header .header-phone { position: relative; min-width: 38px; min-height: 44px; justify-content: center; margin-inline: 0; }
  #site-header.brand-header .header-phone span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

/* One compact desktop size on every route, including the sticky state. */
@media (min-width: 1001px) and (max-height: 790px) {
  #site-header.brand-header,
  #site-header.brand-header.is-sticky { margin-block: 10px 12px; top: 10px; border-radius: 26px; }
  #site-header.brand-header .header-inner,
  #site-header.brand-header.is-sticky .header-inner { height: 74px; }
  #site-header.brand-header .brand,
  #site-header.brand-header.is-sticky .brand { height: 66px; padding-block: 1px; border-radius: 20px 15px 20px 20px; }
  #site-header.brand-header .brand img,
  #site-header.brand-header.is-sticky .brand img { height: 62px; }
}

@media (prefers-reduced-motion: reduce) {
  #site-header.brand-header *, #site-header.brand-header *::before, #site-header.brand-header *::after { transition: none; }
}

/* Progressive desktop motion: readable without JavaScript, no scroll interception. */
@media (min-width:1001px) {
  html { scroll-behavior:smooth; scroll-padding-top:116px; }
  .hero-art.commerce-catalogue .catalog-section,
  .hero-art.solutions-page .service-entry { scroll-margin-top:0; }
  .scroll-meter { display:none; position:fixed; z-index:100; inset:0 0 auto; height:3px; pointer-events:none; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,#3b6f9c 0%,#89aac2 45%,#e9bd63 100%); }
  .motion-enhanced .scroll-meter { display:block; }
  .motion-enhanced .hero-art.home-polished .hero-backdrop img { transform:translate3d(0,var(--hero-drift,0px),0) scale(1.045); }
  /* Moving the image inside its clipped frame never changes text or card geometry. */
  .motion-enhanced .hero-art.home-polished .hero-backdrop { overflow:hidden; }
}

@media (min-width:1001px) and (prefers-reduced-motion:no-preference) {
  .hero-art .faq-list details[open] > p { animation:answer-entrance 240ms cubic-bezier(.22,1,.36,1) both; }
  @keyframes answer-entrance { from { opacity:0; translate:0 7px; } to { opacity:1; translate:0 0; } }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .scroll-meter { display:none!important; }
  .motion-enhanced .hero-art.home-polished .hero-backdrop img { transform:none; }
}

@media print {
  .scroll-meter { display:none!important; }
  [data-motion-unit] { opacity:1!important; translate:none!important; transform:none!important; }
}

/* Shared desktop header: approved Home navy, red-orange CTA and original logo. */
@media (min-width:1001px) {
  .hero-art #site-header.brand-header {
    --header-paper:#e7f0fa;
    --header-ink:#1d3953;
    --header-muted:#506a82;
    --header-nav-text:#f0f6fc;
    --header-nav-icon:#bcd5e9;
    --header-nav-hover:#eef7ff17;
    --header-nav-current:#eef7ff21;
    --header-nav-open:#eef7ff2b;
    --header-nav-accent:#a5d6f4;
    --header-menu-hover:#e7eff6;
    --header-menu-current:#deebf6;
    --header-motion:180ms ease-out;
  }
  .hero-art #site-header.brand-header,
  .hero-art #site-header.brand-header.is-sticky {
    color:#edf4fc;
    border-color:#426688;
    background:linear-gradient(108deg,#152f4c 0%,#1b3c5f 52%,#234d76 100%);
    box-shadow:0 8px 26px #16365324,inset 0 1px 0 #b7d5ed26;
  }
  .hero-art #site-header.brand-header::before {
    background:radial-gradient(ellipse at 90% 0%,#aad4f51a,transparent 55%);
  }
  .hero-art #site-header.brand-header .brand { background:#f8fbff; border-color:#e5eff7; box-shadow:0 2px 9px #0b23381a; }

  /* One surface per menu item keeps the label and arrow visually joined.
     Text stays light through the transition, so it never flashes on white. */
  .hero-art #site-header.brand-header .desktop-nav { gap:8px; min-width:0; flex-wrap:nowrap; }
  .hero-art #site-header.brand-header .desktop-nav > :is(.nav-direct,.nav-group) { flex-shrink:0; margin:0; }
  .hero-art #site-header.brand-header :is(.nav-direct,.nav-toggle,.nav-section-link) { transform:none; white-space:nowrap; }
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct,
  .hero-art #site-header.brand-header .nav-group:not(.nav-split) > .nav-toggle { padding-inline:10px; }
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct,
  .hero-art #site-header.brand-header .nav-split,
  .hero-art #site-header.brand-header .nav-group:not(.nav-split) > .nav-toggle {
    min-height:44px; border-radius:10px; color:var(--header-nav-text);
    background:transparent; box-shadow:none;
    transition:background-color var(--header-motion);
  }
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct { display:flex; align-items:center; }
  .hero-art #site-header.brand-header .nav-split { gap:0; }
  .hero-art #site-header.brand-header .nav-split > :is(.nav-section-link,.nav-section-toggle) {
    color:var(--header-nav-text); background:transparent; box-shadow:none; transition:none;
  }
  .hero-art #site-header.brand-header .nav-section-link { border-radius:10px 0 0 10px; }
  .hero-art #site-header.brand-header .nav-section-toggle { border-radius:0 10px 10px 0; }
  .hero-art #site-header.brand-header .nav-toggle > .icon { color:var(--header-nav-icon); transition:transform var(--header-motion); }
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct:is(:hover,:focus-visible),
  .hero-art #site-header.brand-header .nav-split:is(:hover,:has(> :focus-visible)),
  .hero-art #site-header.brand-header .nav-group:not(.nav-split) > .nav-toggle:is(:hover,:focus-visible) {
    color:var(--header-nav-text); background:var(--header-nav-hover);
  }
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct[aria-current],
  .hero-art #site-header.brand-header .nav-split:has(> .nav-section-link[aria-current]) {
    color:var(--header-nav-text); background:var(--header-nav-current);
  }
  .hero-art #site-header.brand-header .nav-split:has(> .nav-toggle[aria-expanded='true']),
  .hero-art #site-header.brand-header .nav-group:not(.nav-split) > .nav-toggle[aria-expanded='true'],
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct:active {
    color:var(--header-nav-text); background:var(--header-nav-open);
  }
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct[aria-current]::after,
  .hero-art #site-header.brand-header .nav-section-link[aria-current]::after { bottom:5px; height:2px; background:var(--header-nav-accent); }
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct[aria-current]::after { content:''; position:absolute; left:14px; right:14px; border-radius:2px; }
  .hero-art #site-header.brand-header .desktop-nav :focus-visible { outline-offset:2px; }

  .hero-art #site-header.brand-header .icon-button { color:#e3effa; }
  .hero-art #site-header.brand-header .header-search { color:#234e76; background:#e4eff9; border-color:#afc8df; }
  .hero-art #site-header.brand-header .header-search:hover,
  .hero-art #site-header.brand-header .header-search[aria-expanded='true'] { color:#193d5e; background:#f4f8fb; }
  .hero-art #site-header.brand-header :is(.header-advisor,.bag-button):is(:hover,:focus-visible) { color:var(--header-nav-text); background:var(--header-nav-hover); }
  .hero-art #site-header.brand-header .header-phone,
  .hero-art #site-header.brand-header .header-phone strong { color:#edf4fc; }
  .hero-art #site-header.brand-header .header-phone > .icon { color:#bed9ed; }
  .hero-art #site-header.brand-header .header-phone small { color:#cbdfee; }
  .hero-art #site-header.brand-header .header-phone:hover strong { color:#a5d6f4; }
  .hero-art #site-header.brand-header #basket-count { border-color:#21486e; background:#c9e6fc; color:#173e60; }

  .hero-art #site-header.brand-header .header-quote { color:#fff; background:#cf432b; border-color:#e66a50; box-shadow:0 3px 12px #0a25351a; }
  .hero-art #site-header.brand-header .header-quote > .icon { color:#cf432b; background:#fff; }
  .hero-art #site-header.brand-header .header-quote:hover { color:#fff; background:#b53622; border-color:#d25b42; box-shadow:0 4px 16px #0a253526; }

  .hero-art #site-header.brand-header .nav-dropdown,
  .hero-art #site-header.brand-header .search-panel { background:#f6f9fc; border-color:#cadbe8; box-shadow:0 16px 40px #18385026; }
  .hero-art #site-header.brand-header .nav-dropdown { border-top:1px solid #cadbe8; }
  .hero-art #site-header.brand-header .nav-dropdown:not([hidden]) { animation:header-menu-reveal 160ms ease-out; }
  .hero-art #site-header.brand-header .nav-dropdown a {
    transition:background-color var(--header-motion); transform:none;
  }
  .hero-art #site-header.brand-header .nav-dropdown a:is(:hover,:focus-visible) { color:#244c70; background:var(--header-menu-hover); }
  .hero-art #site-header.brand-header .nav-dropdown a[aria-current='page'] { color:#244c70; background:var(--header-menu-current); }
  .hero-art #site-header.brand-header .dropdown-all { color:#315f87; border-color:#cfdeeb; }
  .hero-art #site-header.brand-header .search-panel input { background:#fcfdfd; border-color:#bccfdf; }

  .hero-art #site-header.brand-header :focus-visible,
  .hero-art #site-header.brand-header .brand:focus-visible { outline-color:#a5d6f4; }
  .hero-art #site-header.brand-header .header-quote:focus-visible { outline-color:#a5d6f4; }
  .hero-art #site-header.brand-header .nav-dropdown :focus-visible,
  .hero-art #site-header.brand-header .search-panel :focus-visible { outline-color:#2876aa; }
}

@keyframes header-menu-reveal { from { opacity:0; } to { opacity:1; } }

@media (min-width:1001px) and (prefers-reduced-motion:reduce) {
  .hero-art #site-header.brand-header .nav-dropdown:not([hidden]) { animation:none; }
  .hero-art #site-header.brand-header :is(.desktop-nav > .nav-direct,.nav-split,.nav-toggle > .icon,.nav-dropdown a) { transition:none; }
}

@media (min-width:1001px) and (max-width:1280px) {
  .hero-art #site-header.brand-header .desktop-nav { gap:6px; }
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct,
  .hero-art #site-header.brand-header .nav-group:not(.nav-split) > .nav-toggle { padding-inline:8px; }
}

/* Home's daylight-blue language, scoped only to existing desktop hero regions.
   Original photographs, page content and all sections below the heroes remain intact. */
@media (min-width:1001px) {
  .hero-art.interior-polished :is(.company-hero,.contact-hero,.commerce-intro,#project-list-view .project-source-hero,#project-detail-target .page-intro,.product-layout) {
    --intro-ink:#102c50;
    --intro-blue:#075bc5;
    --intro-copy:#355975;
    --intro-paper:#f8fcff;
    --intro-sky:linear-gradient(115deg,rgb(143 199 242 / 32%) 0%,rgb(184 222 250 / 24%) 55%,rgb(132 191 236 / 20%) 100%);
    --intro-readability:linear-gradient(90deg,#fffffffa 0%,#fffffff0 30%,#ffffffb8 48%,#ffffff40 72%,#ffffff0d 100%);
    background-color:#e8f3ff;
    border-color:#cbdff0;
    color:var(--intro-ink);
    box-shadow:0 10px 28px #183b5e0b;
  }
  .hero-art.interior-polished.solutions-page .company-hero {
    background-image:var(--intro-sky),var(--intro-readability),var(--section-bg-solutions, url("/assets/optimized/solutions-generated.e7cd8b22b43cc3b94613a55f026bbfc4fddb9033f020c103d042e9e4dab3aefd.webp"));
  }
  .hero-art.interior-polished.about-page .company-hero {
    background-image:var(--intro-sky),var(--intro-readability),var(--section-bg-about, url("/assets/optimized/about-generated.9374d097d786f77ef77cd79c318d860a12e91a614a81dba90d4cb13bd3aed375.webp"));
  }
  .hero-art.interior-polished.contact-page .contact-hero {
    background-image:var(--intro-sky),var(--intro-readability),var(--section-bg-contact, url("/assets/optimized/contact-generated.94157e2c5b02cd207fc5edbcc62934a78bf323a60670816b2508ec6a502c86e5.webp"));
  }
  .hero-art.interior-polished.commerce-catalogue .commerce-intro {
    background-image:var(--intro-sky),var(--intro-readability),var(--section-bg-products, url("/assets/optimized/products-generated.a16f237a16fa6337f4a023ed592e2dd2b7d64774b6921f6ab67d559377fd920a.webp"));
  }
  .hero-art.interior-polished.projects-page #project-list-view .project-source-hero {
    background-image:var(--intro-sky),linear-gradient(90deg,#fffffffc 0%,#fffffff5 30%,#ffffffe8 45%,#ffffffa8 59%,#ffffff24 78%,#ffffff0d),url("/assets/optimized/projects-original-hero.a1080d23e1816c9bbaae568f3b53011af2392b7d34fb26ee18bf093f861eb722.webp");
  }
  .hero-art.interior-polished.projects-page #project-detail-target .page-intro {
    background-image:var(--intro-sky),linear-gradient(90deg,#fffffffa 0%,#fffffff0 44%,#ffffffc7 67%,#ffffff26),var(--project-hero-photo,none);
  }
  .hero-art.interior-polished.commerce-product .product-layout {
    background-image:var(--intro-sky),linear-gradient(105deg,#fffffff2,#ffffffe6 72%),var(--section-bg-products, url("/assets/optimized/products-generated.a16f237a16fa6337f4a023ed592e2dd2b7d64774b6921f6ab67d559377fd920a.webp"));
  }

  /* The same navy headings, bright-blue emphasis and clear controls as Home. */
  .hero-art.interior-polished :is(.company-hero,.contact-hero,.commerce-intro,#project-list-view .project-source-hero,#project-detail-target .page-intro,.product-layout) h1 {
    color:var(--intro-ink);
    text-shadow:none;
  }
  .hero-art.interior-polished :is(.company-hero,.contact-hero,.commerce-intro,#project-list-view .project-source-hero,#project-detail-target .page-intro) h1 :is(span,em) {
    color:var(--intro-blue);
  }
  .hero-art.interior-polished :is(.company-hero,.contact-hero,.commerce-intro,#project-list-view .project-source-hero,#project-detail-target .page-intro) :is(.breadcrumbs,.breadcrumbs a,.section-label,.company-eyebrow,.commerce-eyebrow,.project-summary-line) {
    color:var(--intro-copy);
    text-shadow:none;
  }
  .hero-art.interior-polished :is(.company-hero,.contact-hero,.commerce-intro,#project-list-view .project-source-hero,#project-detail-target .page-intro) .section-label::before {
    background:#4389c7;
  }
  .hero-art.interior-polished :is(.company-hero-copy,.commerce-intro-copy,.contact-hero .page-intro-grid > div,.project-source-hero .project-directory-hero > div) > p {
    color:var(--intro-copy);
  }
  .hero-art.interior-polished :is(.company-hero,.contact-hero,.commerce-intro,#project-list-view .project-source-hero,#project-detail-target .page-intro) .button {
    color:#fff;
    background:#165fc4;
    border-color:#165fc4;
  }
  .hero-art.interior-polished :is(.company-hero,.contact-hero,.commerce-intro,#project-list-view .project-source-hero,#project-detail-target .page-intro) .button:hover {
    color:#fff;
    background:#10499b;
    border-color:#10499b;
  }
  .hero-art.interior-polished :is(.company-hero,.contact-hero,.commerce-intro,#project-list-view .project-source-hero,#project-detail-target .page-intro) :is(.text-link,.commerce-browse) {
    color:#245e91;
    border-color:#87acce;
  }
  .hero-art.interior-polished :is(.company-hero,.contact-hero,.commerce-intro,#project-list-view .project-source-hero,#project-detail-target .page-intro) :focus-visible {
    outline-color:#165fc4;
  }
  .hero-art.interior-polished :is(.company-hero .company-hero-visual figcaption,.contact-hero .contact-hero-visual) {
    background:#f8fcfff0;
    border-color:#d4e5f2;
    color:#355975;
  }
  .hero-art.interior-polished.commerce-catalogue .commerce-intro .commerce-spotlight {
    background:#f8fcfff5;
    border-color:#d4e5f2;
  }
  .hero-art.interior-polished.commerce-catalogue .commerce-intro .spotlight-battery {
    background:#e8f3fff2;
  }
  .hero-art.interior-polished.commerce-product .product-layout .product-stage {
    background:#fff;
  }
}

/* One desktop footer treatment across all page templates and detail routes. */
@media (min-width:1001px) {
  .hero-art:is(.home-polished,.interior-polished) .site-footer {
    --footer-ink:#d9e6ee;
    --footer-heading:#c9e8fb;
    --footer-hover:#a8d9f5;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:block;
    width:100%;
    max-width:none;
    margin:0;
    padding:65px 0 25px;
    border:0;
    border-radius:32px 32px 0 0;
    font-family:'DM Sans',sans-serif;
    font-size:16px;
    font-weight:400;
    line-height:1.6;
    color:var(--footer-ink);
    background:linear-gradient(105deg,#152e4bf5 0%,#214561ef 58%,#274f67db),var(--section-bg-about, url("/assets/optimized/about-generated.9374d097d786f77ef77cd79c318d860a12e91a614a81dba90d4cb13bd3aed375.webp")) center 72% / cover;
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer::before,
  .hero-art:is(.home-polished,.interior-polished) .site-footer::after { content:none; }
  .hero-art:is(.home-polished,.interior-polished) .site-footer > .container {
    width:min(1280px,calc(100% - 104px));
    max-width:none;
    margin:0 auto;
    padding:0;
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-grid {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);
    gap:48px;
    margin:0;
    padding:0;
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-grid > div {
    min-width:0;
    display:block;
    grid-column:auto;
    margin:0;
    padding:0;
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-brand > .brand {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:152px;
    height:100px;
    margin:0;
    padding:8px;
    border:0;
    border-radius:18px;
    background:#f8fbff;
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-brand > .brand img {
    display:block;
    width:136px;
    height:84px;
    max-width:100%;
    margin:0;
    padding:0;
    object-fit:contain;
    filter:none;
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-grid h3 {
    margin:0 0 21px;
    font-family:Outfit,sans-serif;
    font-size:14px;
    font-weight:500;
    line-height:1.3;
    letter-spacing:.01em;
    color:var(--footer-heading);
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-grid p {
    margin:13px 0;
    max-width:none;
    font-size:12px;
    line-height:1.8;
    color:var(--footer-ink);
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-brand p {
    max-width:240px;
    margin:18px 0 0;
    line-height:1.9;
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-grid > div:not(.footer-brand) > a {
    display:block;
    margin:12px 0 0;
    padding:0;
    font-family:inherit;
    font-size:12px;
    font-weight:400;
    line-height:1.6;
    color:var(--footer-ink);
    overflow-wrap:anywhere;
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-grid > div:last-child strong { color:var(--footer-heading); }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-bottom {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    margin:50px 0 0;
    padding:21px 0 0;
    border-top:1px solid #b5cad44d;
    font-size:11px;
    line-height:1.6;
    color:var(--footer-ink);
  }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-bottom > div { display:flex; align-items:center; gap:20px; margin:0; }
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-bottom :is(p,a) { margin:0; font-size:11px; line-height:1.6; color:var(--footer-ink); }
  .hero-art:is(.home-polished,.interior-polished) .site-footer a:hover,
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-grid > div:not(.footer-brand) > a:hover { color:var(--footer-hover); }
  .hero-art:is(.home-polished,.interior-polished) .site-footer :focus-visible { outline:2px solid var(--footer-hover); outline-offset:4px; }
}
@media (min-width:1001px) and (max-width:1280px) {
  .hero-art:is(.home-polished,.interior-polished) .site-footer .footer-grid { gap:30px; }
}

/* Shared social and location links, including the mobile footer. */
.social-links { margin-top:22px; }
.social-links .social-links-label { display:block; margin-bottom:10px; font-size:12px; font-weight:600; letter-spacing:.02em; }
.social-links .social-link-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.social-links a.social-link {
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; min-width:46px; min-height:46px;
  padding:11px; margin:0; border:1px solid #ffffff35; border-radius:14px;
  color:#fff; text-decoration:none; box-shadow:0 4px 12px #00000012;
  transition:transform 200ms ease,box-shadow 200ms ease;
}
.social-links a.social-link-facebook { background:#1877f2; }
.social-links a.social-link-instagram { background:linear-gradient(135deg,#833ab4,#c13584 55%,#e1306c); }
.social-links a.social-link-tiktok { background:#10151c; border-color:#ffffff60; }
.social-links img.social-logo { display:block; width:22px; height:22px; min-width:22px; padding:0; margin:0; flex:none; object-fit:contain; border:0; border-radius:0; background:transparent; filter:none; transform:none; box-shadow:none; }
.social-links a.social-link:hover { transform:translateY(-2px); box-shadow:0 6px 16px #00000024; }
.social-links a.social-link:active { transform:scale(.96); }
.social-links a.social-link:focus-visible { outline:3px solid #7ecbff; outline-offset:4px; }
.footer-company-name { display:block; color:#eef6ff; font-size:13px; line-height:1.6; margin-bottom:9px; }
.site-footer a.footer-map-link { display:inline-flex; align-items:center; gap:7px; min-height:44px; font-size:12px; font-weight:600; color:#d9efff; text-underline-offset:4px; }
.site-footer a.footer-map-link:hover { text-decoration:underline; }
.site-footer .footer-map-link .location-icon { display:block; width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; }
.site-footer .footer-location { margin:0 0 15px; }
.office-block .office-company-name { display:block; margin-bottom:5px; font-weight:600; }
.office-block a[href^="https://share.google/"] { display:inline-flex; align-items:center; min-height:44px; }
.office-card .social-links { margin-top:20px; }
.office-card .social-links-label { color:#eaf5ff; }
.hero-art.mobile-app.contact-page .office-card .contact-line[href^="mailto:"] { font-size:14px; }
@media (max-width:1000px) {
  .mobile-app .app-footer > .social-links { margin:0 0 26px; }
  .mobile-app .app-footer .footer-map-link { gap:8px; }
  .mobile-app .app-footer .footer-location { margin-bottom:16px; }
  .mobile-app .app-footer .footer-location p { margin-bottom:0; }
}
@media (prefers-reduced-motion:reduce) { .social-links a.social-link { transition:none; } }

/* Compact directory: primary pages stay visible; brands and office details expand. */
.footer-expanded .footer-product-grid { display:block; margin-top:6px; }
.footer-expanded :is(.footer-product-group,.footer-office-disclosure) { border:0; margin:0; }
.footer-expanded :is(.footer-product-group,.footer-office-disclosure) > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:34px; list-style:none; cursor:pointer; color:#d9e6ee; font-size:12px; line-height:1.6; }
.footer-expanded :is(.footer-product-group,.footer-office-disclosure) > summary::-webkit-details-marker { display:none; }
.footer-expanded :is(.footer-product-group,.footer-office-disclosure) > summary::after { content:'+'; color:#a8d9f5; font-size:18px; flex-shrink:0; }
.footer-expanded :is(.footer-product-group,.footer-office-disclosure)[open] > summary::after { content:'−'; }
.footer-expanded :is(.footer-product-group,.footer-office-disclosure) > summary:hover { color:#a8d9f5; }
.footer-expanded .footer-family-links { display:grid; gap:0; padding:7px 12px; margin:4px 0 10px; background:#ffffff09; border-left:2px solid #a8d9f559; border-radius:0 8px 8px 0; }
.footer-expanded .footer-family-links a { display:flex; align-items:center; min-height:30px; padding:5px 0; font-size:12px; line-height:1.6; color:#d9e6ee; overflow-wrap:anywhere; }
.footer-expanded .footer-contact-links { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:0 24px; }
.footer-expanded .footer-contact-links a { display:flex; align-items:center; min-height:34px; font-size:12px; color:#d9e6ee; overflow-wrap:anywhere; }
.footer-expanded .footer-office-disclosure > .footer-location { margin:8px 0 0; }
@media (min-width:1001px) {
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded { padding-top:44px; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid {
    grid-template-columns:1.15fr 1fr 1fr 1.15fr 1fr;
    grid-template-areas:'brand products solutions services company' 'contact contact contact contact contact';
    gap:25px 32px;
    align-items:start;
  }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid > .footer-brand { grid-area:brand; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid > .footer-products { grid-area:products; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid > .footer-solutions { grid-area:solutions; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid > .footer-services { grid-area:services; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid > .footer-company { grid-area:company; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid > .footer-contact { grid-area:contact; display:grid; grid-template-columns:1fr 1.2fr; align-items:start; gap:24px; border-top:1px solid #b5cad433; padding-top:18px; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid > .footer-contact > h3 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid > div.footer-section:not(.footer-brand) > a { min-height:30px; display:flex; align-items:center; margin-top:4px; padding:3px 0; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid h3 { margin-bottom:15px; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-brand > .brand { width:127px; height:82px; padding:7px; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-brand > .brand img { width:113px; height:68px; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-brand p { margin-top:14px; line-height:1.7; }
  .footer-expanded .social-links { margin-top:16px; }
  .footer-expanded .social-links .social-links-label { margin-bottom:8px; }
  .footer-expanded .footer-offices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-bottom { margin-top:20px; padding-top:16px; }
}
@media (min-width:1001px) and (max-width:1200px) {
  .hero-art:is(.home-polished,.interior-polished) .footer-expanded .footer-grid { gap:24px 20px; }
  .footer-expanded .footer-contact-links { gap:0 16px; }
}
@media (max-width:1000px) {
  .mobile-app .footer-expanded .app-footer .footer-product-grid { margin-top:8px; }
  .mobile-app .footer-expanded .app-footer :is(.footer-product-group,.footer-office-disclosure) { border:0; }
  .mobile-app .footer-expanded .app-footer :is(.footer-product-group,.footer-office-disclosure) > summary { min-height:46px; font-size:14px; font-weight:500; }
  .mobile-app .footer-expanded .app-footer :is(.footer-product-group,.footer-office-disclosure) > summary::after { content:'+'; font-size:20px; }
  .mobile-app .footer-expanded .app-footer :is(.footer-product-group,.footer-office-disclosure)[open] > summary::after { content:'−'; }
  .mobile-app .footer-expanded .app-footer .footer-family-links { padding:4px 12px 8px; }
  .mobile-app .footer-expanded .app-footer .footer-family-links a { min-height:44px; }
  .mobile-app .footer-expanded .app-footer .footer-contact-links { display:block; margin-top:12px; }
}

/* Shared WhatsApp link, revealed after the active page hero has scrolled away. */
.whatsapp-float {
  --whatsapp-green:#128c4a;
  --whatsapp-hover:#08783b;
  position:fixed;
  right:max(24px,env(safe-area-inset-right));
  bottom:calc(max(24px,var(--whatsapp-footer-lift,0px)) + env(safe-area-inset-bottom));
  z-index:45;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--whatsapp-green);
  color:#fff;
  box-shadow:0 5px 20px #123d352b;
  text-decoration:none;
  transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.whatsapp-float[hidden] { display:none; }
.whatsapp-float > svg { display:block; width:30px; height:30px; fill:currentColor; }
.whatsapp-float-label {
  position:absolute;
  right:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%) translateX(4px);
  padding:10px 14px;
  border-radius:10px;
  background:#173752;
  color:#fff;
  font:500 13px/1.4 'DM Sans',sans-serif;
  white-space:nowrap;
  box-shadow:0 4px 16px #16365320;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}
.whatsapp-float:hover { color:#fff; background:var(--whatsapp-hover); transform:translateY(-3px); box-shadow:0 8px 24px #123d3540; }
.whatsapp-float:focus-visible { outline:3px solid #173752; outline-offset:4px; }
.whatsapp-float:is(:hover,:focus-visible) .whatsapp-float-label { opacity:1; transform:translateY(-50%) translateX(0); }
.whatsapp-float:active { transform:translateY(0); }
@media (max-width:600px) {
  .whatsapp-float { width:52px; height:52px; right:max(16px,env(safe-area-inset-right)); bottom:calc(max(18px,var(--whatsapp-footer-lift,0px)) + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) {
  .whatsapp-float,.whatsapp-float-label { transition:none; }
  .whatsapp-float:hover { transform:none; }
}
@media print { .whatsapp-float { display:none; } }

/* Mobile application shell. Desktop selectors and layout stay untouched. */
.app-bottom-nav,.app-footer,.app-menu { display:none; }
@media (max-width:1000px) {
  .mobile-app .catalog-card { min-width:0; display:flex; flex-direction:column; border:1px solid #dce6ed; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 3px 12px #16365304; }
  .mobile-app .catalog-photo { display:block; height:146px; padding:14px; background:#fff; }
  .mobile-app .catalog-photo img { width:100%; height:100%; object-fit:contain; filter:none; mix-blend-mode:normal; }
  .mobile-app .catalog-copy { flex:1; padding:12px; display:flex; flex-direction:column; }
  .mobile-app .catalog-copy .product-brand { font-size:11px; color:#496d87; margin:0 0 7px; }
  .mobile-app .catalog-copy h3 { font-size:14px; line-height:1.45; letter-spacing:-.01em; min-height:61px; margin:0; }
  .mobile-app .catalog-copy h3 a { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:44px; }
  .mobile-app .catalog-copy .catalog-price { font-size:19px; font-weight:600; color:#153f5d; margin:12px 0; line-height:1.3; }
  .mobile-app .catalog-card-bottom { display:flex; align-items:center; gap:4px; padding:8px 0 0; border-top:1px solid #e5edf2; margin-top:auto; }
  .mobile-app .catalog-card-bottom .text-link { flex:1; font-size:11px; min-height:44px; gap:3px; }
  .mobile-app .catalog-card-bottom .text-link .icon { width:13px; height:13px; }
  .mobile-app .catalog-card-bottom .add-product { width:44px; height:44px; flex-shrink:0; padding:12px; border:0; border-radius:13px; background:#e8f1ff; color:#165fc4; }
  .mobile-app .catalog-card-bottom .add-product .icon { width:20px; height:20px; }

  html:has(body.mobile-app) { scroll-padding-top:100px; }
  body.mobile-app {
    --app-ink:#15334e; --app-muted:#526b7e; --app-blue:#165fc4; --app-line:#dce6ec;
    --app-paper:#f5f8fb; --app-nav-height:72px; --app-ease:cubic-bezier(.22,1,.36,1);
    padding-bottom:calc(var(--app-nav-height) + env(safe-area-inset-bottom));
    color:var(--app-ink); background:var(--app-paper); font:400 16px/1.6 'DM Sans',sans-serif;
  }
  .mobile-app :is(h1,h2,h3,h4) { font-family:Outfit,'DM Sans',sans-serif; letter-spacing:-.035em; color:var(--app-ink); }
  .mobile-app h1 { font-size:36px; line-height:1.12; }
  .mobile-app h2 { font-size:30px; line-height:1.16; }
  .mobile-app h3 { font-size:21px; line-height:1.25; }
  .mobile-app p { font-size:15px; line-height:1.7; color:var(--app-muted); }
  .mobile-app :is(.container,.section.container) { width:calc(100% - 40px); max-width:720px; margin-inline:auto; }
  .mobile-app .section { padding-block:36px; }
  .mobile-app .section-label { font-size:11px; line-height:1.5; letter-spacing:.12em; margin-bottom:12px; color:#4b754f; }
  .mobile-app :is(.button,button.icon-button,.text-link) { min-height:48px; }
  .mobile-app .button { padding:14px 18px; gap:12px; border-radius:14px; font-size:15px; font-weight:600; }
  .mobile-app .button-blue { background:var(--app-blue); border-color:var(--app-blue); color:#fff; }
  .mobile-app .button-green { background:#176348; color:#fff; }
  .mobile-app .text-link { font-size:14px; line-height:1.5; gap:10px; color:#195a9c; }
  .mobile-app .breadcrumbs a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; }
  .mobile-app :is(button,a.button,.app-nav-item) { transition:transform 200ms var(--app-ease),background-color 200ms; }
  .mobile-app :is(button,a.button,.app-nav-item):active { transform:scale(.97); }
  .mobile-app .button:hover { transform:none; }
  .mobile-app :focus-visible { outline:3px solid #2176c5; outline-offset:3px; }
  .mobile-app :is(a,button,input,select,summary):focus-visible { outline:3px solid #2176c5; outline-offset:3px; }
  .mobile-app img { max-width:100%; }
  .mobile-app #site-header.brand-header,
  .mobile-app #site-header.brand-header.is-sticky {
    position:sticky; top:0; left:0; width:100%; margin:0; border:0; border-bottom:1px solid var(--app-line);
    border-radius:0; color:var(--app-ink); background:#fbfdff; z-index:60; box-shadow:0 3px 16px #16365308; animation:none;
    padding-top:env(safe-area-inset-top);
  }
  .mobile-app #site-header .header-inner { width:100%; height:76px; max-width:768px; padding:6px 16px; gap:12px; border:0; }
  .mobile-app #site-header .brand { width:96px; height:64px; padding:0; background:transparent; border:0; border-radius:10px; }
  .mobile-app #site-header .brand img { width:94px; height:62px; object-fit:contain; }
  .mobile-app #site-header :is(.desktop-nav,.header-phone,.header-advisor,.header-quote) { display:none; }
  .mobile-app #site-header .header-actions { margin-left:auto; gap:4px; }
  .mobile-app #site-header .icon-button { display:inline-flex; width:46px; height:46px; min-height:46px; padding:12px; border-radius:14px; color:#214863; }
  .mobile-app #site-header .header-search { background:#edf4fc; }
  .mobile-app #site-header .menu-toggle { background:#193b5c; color:#fff; }
  .mobile-app #site-header .header-actions .header-advisor { display:none; }
  .mobile-app #site-header #basket-count { top:2px; right:1px; background:#cf432b; color:#fff; min-width:18px; border:2px solid #fff; line-height:14px; font-size:10px; }
  .mobile-app #site-header .search-panel { position:absolute; left:12px; right:12px; top:100%; width:auto; margin-top:8px; padding:18px; border:1px solid var(--app-line); border-radius:20px; background:#fff; box-shadow:0 12px 32px #14324d24; }
  .mobile-app #site-header .search-panel label { font-size:15px; }
  .mobile-app #site-header .search-input-row { gap:8px; }
  .mobile-app #site-header .search-panel input { width:0; min-width:0; min-height:48px; font-size:16px; padding:10px; border:1px solid #b9cddd; border-radius:10px; }
  .mobile-app #site-header .search-panel .button { min-width:48px; padding:12px; font-size:14px; }
  .mobile-app #mobile-nav { display:none; }
  .app-bottom-nav {
    position:fixed; z-index:65; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
    padding:8px 8px calc(8px + env(safe-area-inset-bottom)); min-height:72px;
    border-top:1px solid #d6e3ec; border-radius:20px 20px 0 0; background:#fcfeff; box-shadow:0 -4px 20px #1b3d570a;
  }
  .app-bottom-nav :is(a,button) { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:56px; min-width:0; gap:3px; padding:5px 2px; border-radius:14px; font:500 11px/1.35 'DM Sans',sans-serif; color:#526b7e; }
  .app-bottom-nav :is([aria-current='page'],[data-section-active='true'],[aria-expanded='true']) { color:#165fc4; background:#e8f1ff; font-weight:700; }
  .app-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
  .mobile-app .app-menu[open] { display:flex; flex-direction:column; }
  .mobile-app .app-menu {
    inset:0 0 0 auto; margin:0; width:min(360px,92vw); height:100dvh; max-height:100dvh; max-width:none;
    padding:calc(20px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));
    border:0; border-radius:24px 0 0 24px; background:#f8fbfe; color:var(--app-ink); overflow-y:auto; overscroll-behavior:contain;
  }
  .mobile-app .app-menu::backdrop { background:#0d263c80; backdrop-filter:blur(3px); }
  .app-drawer-open { overflow:hidden; }
  .app-menu-top { display:flex; justify-content:space-between; align-items:center; gap:16px; }
  .app-menu-top img { width:100px; height:66px; object-fit:contain; }
  .app-menu-close { display:grid; place-items:center; width:48px; height:48px; border:1px solid #d9e5ee; border-radius:50%; background:#fff; }
  .app-menu h2 { margin:24px 0 6px; font-size:25px; }
  .app-menu-intro { margin:0 0 22px; font-size:14px; }
  .app-menu-list { display:grid; gap:6px; }
  .app-menu .app-nav-item { display:flex; align-items:center; gap:14px; min-height:54px; padding:12px 14px; border-radius:14px; font-size:15px; font-weight:500; color:#284b65; }
  .app-menu .app-nav-item > span { flex:1; }
  .app-menu .app-nav-item > .app-icon:last-child { width:16px; height:16px; }
  .app-menu .app-nav-item[aria-current] { background:#e4efff; color:#155bc1; font-weight:700; }
  .app-menu details { border-top:1px solid var(--app-line); margin-top:12px; padding-top:8px; }
  .app-menu summary { list-style:none; cursor:pointer; }
  .app-menu summary::-webkit-details-marker { display:none; }
  .app-menu details[open] summary > svg:last-child { transform:rotate(90deg); }
  .app-menu-brands { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:8px 0 16px; }
  .app-menu-brands a { display:flex; align-items:center; min-height:48px; padding:12px; border:1px solid var(--app-line); background:#fff; border-radius:10px; font-size:14px; }
  .app-menu-actions { display:grid; gap:8px; padding-top:24px; margin-top:auto; }
  .app-menu-actions .button { width:100%; }
  .mobile-app .whatsapp-float { bottom:calc(max(92px,var(--whatsapp-footer-lift,0px)) + env(safe-area-inset-bottom)); right:16px; width:52px; height:52px; z-index:55; }
  .mobile-app .toast { bottom:calc(94px + env(safe-area-inset-bottom)); padding:14px 18px; font-size:14px; border-radius:14px; width:max-content; max-width:calc(100% - 32px); }
  .mobile-app .basket-dialog { width:100%; height:90dvh; inset:auto 0 0; max-height:90dvh; border-radius:24px 24px 0 0; padding:20px 20px calc(24px + env(safe-area-inset-bottom)); }
  .mobile-app .drawer-heading { margin:0 0 20px; }
  .mobile-app .drawer-heading h2 { font-size:26px; }
  .mobile-app .drawer-heading .icon-button { width:48px; height:48px; border:1px solid var(--app-line); border-radius:50%; }
  .mobile-app .basket-line { gap:14px; grid-template-columns:72px minmax(0,1fr); }
  .mobile-app .basket-line h3 { font-size:15px; line-height:1.5; }
  .mobile-app .basket-line p { font-size:13px; }
  .mobile-app .basket-line img { width:72px; height:90px; border-radius:12px; }
  .mobile-app .quantity-control { flex-wrap:wrap; gap:8px; font-size:15px; }
  .mobile-app .quantity-control button { width:44px; height:44px; border-radius:12px; }
  .mobile-app .quantity-control .remove-item { width:auto; padding:8px; min-height:44px; font-size:13px; }
  .mobile-app .basket-next p { font-size:14px; margin:18px 0; }
  .mobile-app .basket-next .button { width:100%; }
  .mobile-app .basket-empty { padding:40px 0; }
  .mobile-app .basket-empty p { margin:16px 0 24px; }
  /* Inputs stay at 16px to avoid focus zoom; labels and errors remain readable. */
  .mobile-app :is(.form-grid,.contact-grid) { grid-template-columns:1fr; gap:20px; }
  .mobile-app .form-grid label { display:block; font-size:14px; line-height:1.5; }
  .mobile-app .form-grid :is(input,select,textarea) { width:100%; min-width:0; min-height:52px; padding:13px 14px; margin-top:8px; border:1px solid #bdcedb; border-radius:12px; color:var(--app-ink); background:#fff; font-size:16px; line-height:1.5; }
  .mobile-app .form-grid textarea { min-height:120px; resize:vertical; }
  .mobile-app .form-grid :is(.full,.full-width) { grid-column:1; }
  .mobile-app :is(.optional,.field-hint,.form-note) { font-size:12px; line-height:1.65; }
  .mobile-app .consent { display:flex; align-items:center; gap:12px; min-height:52px; font-size:13px; line-height:1.6; margin:16px 0; }
  .mobile-app .consent input { width:24px; height:24px; flex-shrink:0; accent-color:var(--app-blue); }
  .mobile-app .quote-form > .button { width:100%; }
  .mobile-app .enquiry-review { padding:20px; background:#edf7f1; border-radius:18px; }
  .mobile-app .enquiry-review h3 { font-size:21px; }
  .mobile-app .enquiry-review pre { white-space:pre-wrap; overflow-wrap:anywhere; font:400 14px/1.7 'DM Sans',sans-serif; margin:20px 0; }
  .mobile-app .review-actions { display:grid; gap:10px; }
  .mobile-app .review-actions > * { width:100%; min-height:48px; }
  .mobile-app .newsletter.container { width:calc(100% - 32px); margin:24px auto; padding:24px 20px; border-radius:22px; background:#e7f2e8; display:block; }
  .mobile-app .newsletter h2 { font-size:26px; }
  .mobile-app .newsletter p { font-size:14px; margin:12px 0 20px; }
  .mobile-app .newsletter form { display:flex; flex-direction:column; gap:10px; width:100%; }
  .mobile-app .newsletter form > div { display:grid; grid-template-columns:1fr; gap:10px; }
  .mobile-app .newsletter input { width:100%; min-width:0; min-height:52px; border:1px solid #b9cec2; border-radius:12px; padding:14px; font-size:16px; background:#fff; }
  .mobile-app .newsletter .button { width:100%; }
  .mobile-app .newsletter :is(small,#newsletter-status) { font-size:12px; line-height:1.6; }
  .mobile-app .site-footer { padding:28px 20px 24px; background:#183952; color:#e2edf5; border-radius:24px 24px 0 0; }
  .mobile-app .site-footer > .container { width:100%; max-width:720px; }
  .mobile-app .site-footer .footer-grid { display:none; }
  .mobile-app .app-footer { display:block; }
  .app-footer-intro { display:flex; align-items:center; gap:20px; margin-bottom:24px; }
  .mobile-app .app-footer-intro > .brand { width:96px; height:70px; padding:0; background:transparent; border-radius:12px; flex-shrink:0; }
  .app-footer-intro img { width:96px; height:70px; padding:5px; background:#f8fbff; border-radius:12px; object-fit:contain; flex-shrink:0; }
  .mobile-app .app-footer-intro p { color:#d5e3ed; font-size:13px; line-height:1.65; }
  .app-footer details { border-top:1px solid #bfd6e02b; }
  .app-footer summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:58px; list-style:none; font-weight:600; font-size:16px; cursor:pointer; }
  .app-footer summary::-webkit-details-marker { display:none; }
  .app-footer summary::after { content:'+'; font-weight:400; font-size:24px; }
  .app-footer details[open] summary::after { content:'−'; }
  .app-footer details > div { padding:0 0 18px; }
  .mobile-app .app-footer details a { display:flex; align-items:center; min-height:44px; padding:9px 0; font-size:14px; color:#d8e8f4; overflow-wrap:anywhere; }
  .mobile-app .app-footer details p { margin:10px 0; color:#d8e8f4; font-size:14px; }
  .mobile-app .site-footer .footer-bottom { display:block; border-top:1px solid #bfd6e02b; padding-top:20px; margin-top:12px; }
  .mobile-app .site-footer .footer-bottom p { font-size:12px; color:#c5d8e7; }
  .mobile-app .site-footer .footer-bottom > div { display:grid; grid-template-columns:1fr 1fr; gap:4px 12px; margin:12px 0 0; }
  .mobile-app .site-footer .footer-bottom a { font-size:12px; min-height:44px; color:#d8e8f4; }
  .mobile-app .faq-list { display:grid; gap:10px; }
  .mobile-app .faq-list details { margin:0; padding:0 16px; border:1px solid var(--app-line); border-radius:16px; background:#fff; }
  .mobile-app .faq-list summary { min-height:64px; padding:16px 0; gap:16px; font-size:15px; line-height:1.5; }
  .mobile-app .faq-list details p { font-size:14px; padding:0 0 18px; line-height:1.75; }
  .mobile-app :is(.faq-list details,.app-spec-section,.app-footer details)[open] > :not(summary) { animation:app-disclosure-in 220ms var(--app-ease); }
  @keyframes app-disclosure-in { from { opacity:.5; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
  .mobile-app .company-partners.container { padding:28px 16px; width:calc(100% - 32px); margin:24px auto; border:1px solid #ceddc4; border-radius:24px; background:#e5efdb url('/assets/home-visuals/sun-orbits.svg') 110px -130px/420px no-repeat; }
  .mobile-app .company-partners .section-label { text-align:center; }
  .mobile-app .company-partners h2 { margin:0 0 24px; font-size:25px; line-height:1.25; }
  .mobile-app .partner-logos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .mobile-app .partner-logos img { width:100%; height:76px; padding:12px; border:1px solid #d5e0cc; border-radius:12px; background:#fff; object-fit:contain; filter:none; mix-blend-mode:normal; }
  .mobile-app .partner-logos img:last-child:nth-child(3n + 2) { grid-column:auto; }
  @media (min-width:601px) { .app-bottom-nav { padding-inline:max(20px,calc((100vw - 650px)/2)); } .mobile-app .partner-logos { grid-template-columns:repeat(6,minmax(0,1fr)); } }
  @media (prefers-reduced-motion:reduce) { .mobile-app * { scroll-behavior:auto; } .mobile-app :is(button,a.button,.app-nav-item) { transition:none; } .mobile-app details[open] > :not(summary) { animation:none; } }
}

.app-product-bar { display:none; }
@media (max-width:1000px) {
  body.mobile-app.commerce-product { --app-nav-height:92px; }
  .mobile-app.commerce-product:has(.app-product-bar) .app-bottom-nav { display:none; }
  .mobile-app.commerce-product .whatsapp-float { bottom:calc(max(114px,var(--whatsapp-footer-lift,0px)) + env(safe-area-inset-bottom)); }
  .mobile-app.commerce-product .product-page { padding:12px 0 0; width:calc(100% - 32px); }
  .mobile-app.commerce-product .product-page .breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:0 4px; margin:0 0 12px; background:none; border:0; font-size:12px; color:#597488; }
  .mobile-app.commerce-product .breadcrumbs [aria-current] { display:none; }
  .mobile-app.commerce-product .breadcrumbs > span:nth-last-child(2) { display:none; }
  .mobile-app.commerce-product .breadcrumbs a { color:#2c668d; min-width:44px; }
  .mobile-app.commerce-product .product-layout { display:flex; flex-direction:column; gap:22px; padding:0; border:0; background:none; box-shadow:none; }
  .mobile-app.commerce-product .product-gallery { width:100%; padding:12px; border:1px solid #d7e5ef; border-radius:24px; background:#eaf2fa; }
  .mobile-app.commerce-product .product-stage { width:100%; height:290px; padding:18px; background:#fff; border-radius:18px; }
  .mobile-app.commerce-product .product-stage img { width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; filter:none; }
  .mobile-app .app-gallery-expand { display:block; width:100%; height:100%; padding:0; background:#fff; border:0; }
  .mobile-app .app-gallery-hint { display:block; position:absolute; right:12px; bottom:10px; padding:5px 9px; border-radius:8px; background:#e8f1fae8; color:#2d6183; font-size:11px; pointer-events:none; }
  .mobile-app.commerce-product .gallery-thumbnails { display:flex; overflow-x:auto; scrollbar-width:none; gap:8px; padding:12px 0 0; }
  .mobile-app.commerce-product .gallery-thumb { flex:0 0 64px; width:64px; height:64px; min-height:64px; padding:6px; border:1px solid #cadce9; border-radius:12px; background:#fff; }
  .mobile-app.commerce-product .gallery-thumb.selected { border:2px solid #165fc4; box-shadow:none; }
  .mobile-app.commerce-product .product-summary { width:100%; padding:0 4px; }
  .mobile-app.commerce-product .product-summary .product-brand { align-items:center; min-height:44px; font-size:12px; padding:10px 12px; background:#e5effc; border:0; border-radius:10px; color:#225b92; }
  .mobile-app.commerce-product .product-summary h1 { font-size:27px; line-height:1.22; color:#183b57; margin:14px 0 10px; letter-spacing:-.035em; overflow-wrap:break-word; }
  .mobile-app.commerce-product .product-summary .detail-type { font-size:13px; color:#57788e; margin:0 0 20px; }
  .mobile-app.commerce-product .product-summary .availability { font-size:12px; padding:7px 10px; border-radius:9px; background:#e6f3e9; margin:14px 0 6px; }
  .mobile-app.commerce-product .detail-sku { display:block; margin:6px 0 16px; font-size:12px; color:#577285; overflow-wrap:anywhere; }
  .mobile-app.commerce-product .variant-label { font-size:14px; margin:16px 0 8px; }
  .mobile-app.commerce-product #product-variant { min-height:52px; font-size:16px; padding:12px; border:1px solid #bdd2e1; border-radius:12px; background:#fff; color:#1a4667; }
  .mobile-app.commerce-product .product-buy-row { display:grid; grid-template-columns:84px minmax(0,1fr); align-items:end; gap:12px; padding:0; margin:18px 0 10px; background:transparent; border:0; }
  .mobile-app.commerce-product .product-buy-row label { display:block; font-size:12px; color:#4c6b82; }
  .mobile-app.commerce-product #product-quantity { display:block; width:84px; height:52px; font-size:16px; padding:12px; margin-top:7px; border:1px solid #bfd3e2; border-radius:12px; background:#fff; color:#1c4663; }
  .mobile-app.commerce-product #product-whatsapp { min-height:52px; min-width:0; padding:12px; border-radius:14px; background:#176348; color:#fff; font-size:14px; line-height:1.35; text-align:center; white-space:normal; }
  .mobile-app.commerce-product .product-summary > .text-link { min-height:48px; font-size:14px; color:#1b619d; }
  .mobile-app.commerce-product .product-assurance { padding:18px; margin:18px 0 0; border:1px solid #d2e3d5; border-radius:18px; background:#eaf4ec; }
  .mobile-app.commerce-product .product-assurance p { font-size:14px; color:#456756; }
  .mobile-app.commerce-product .product-assurance > a { display:inline-flex; align-items:center; min-height:48px; font-size:23px; color:#1d5b45; }
  .mobile-app.commerce-product .product-assurance .small { font-size:12px; color:#537466; }
  .mobile-app.commerce-product .detail-lower { display:block; margin:28px 0; padding:0; border:0; }
  .mobile-app.commerce-product .detail-lower > .rich-content { padding:0; border:0; border-radius:0; background:none; }
  .mobile-app.commerce-product .rich-content > h2:first-child { font-size:26px; line-height:1.2; margin:0 0 18px; padding:0; border:0; color:#1c4661; }
  .mobile-app .app-spec-section { border:1px solid #d5e3ed; border-radius:18px; overflow:hidden; background:#fff; margin-bottom:10px; }
  .mobile-app .app-spec-section > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:60px; padding:18px; list-style:none; cursor:pointer; font:500 16px/1.45 Outfit,sans-serif; color:#234c69; }
  .mobile-app .app-spec-section > summary::after { content:'+'; font:400 22px/1 'DM Sans',sans-serif; flex-shrink:0; }
  .mobile-app .app-spec-section[open] > summary::after { content:'−'; }
  .mobile-app .app-spec-section > summary::-webkit-details-marker { display:none; }
  .mobile-app .app-spec-content { padding:0 18px 20px; overflow-wrap:anywhere; }
  .mobile-app.commerce-product .rich-content :is(p,li) { font-size:15px; line-height:1.75; color:#4b677c; }
  .mobile-app.commerce-product .rich-content p { margin:12px 0; }
  .mobile-app.commerce-product .rich-content :is(h3,h4) { font-size:21px; margin:18px 0 12px; }
  .mobile-app.commerce-product .rich-content :is(h5,h6) { font-size:17px; }
  .mobile-app.commerce-product .rich-content :is(ul,ol) { padding-left:20px; }
  .mobile-app.commerce-product .rich-content a { display:inline-flex; align-items:center; min-height:44px; min-width:44px; color:#165fc4; overflow-wrap:anywhere; }
  .mobile-app .app-spec-content > div { max-width:100%; overflow-x:auto; }
  .mobile-app.commerce-product .rich-content table { width:100%; max-width:100%; font-size:13px; border:1px solid #d4e2ec; border-radius:12px; background:#fff; margin:16px 0; }
  .mobile-app.commerce-product .rich-content table :is(th,td) { padding:12px 10px; color:#345b76; font-size:13px; white-space:normal; line-height:1.6; }
  .mobile-app.commerce-product .rich-content table th { background:#e4effa; }
  .mobile-app.commerce-product .rich-content table td:first-child { background:#f1f6fa; }
  .mobile-app.commerce-product .rich-content table:not(:has(tr > :nth-child(3))) { display:table; table-layout:fixed; min-width:0; }
  .mobile-app.commerce-product .rich-content table:not(:has(tr > :nth-child(3))) :is(th,td) { min-width:0; overflow-wrap:anywhere; }
  .mobile-app.commerce-product .rich-content table:has(tr > :nth-child(3)) { display:block; overflow-x:auto; }
  .mobile-app.commerce-product .listing-terms { position:static; padding:22px 20px; margin-top:24px; border:1px solid #e6d8ce; border-radius:20px; background:#fff0e7; }
  .mobile-app.commerce-product .listing-terms h2 { font-size:24px; color:#724d36; margin-bottom:16px; }
  .mobile-app.commerce-product .listing-terms li { font-size:14px; line-height:1.7; color:#725844; }
  .mobile-app.commerce-product .listing-terms .small { font-size:12px; color:#766352; }
  .mobile-app.commerce-product .listing-terms a { display:inline-flex; align-items:center; min-height:44px; min-width:44px; font-size:13px; color:#745035; }
  .mobile-app.commerce-product .closing-cta { display:block; width:calc(100% - 32px); margin:24px auto; padding:26px 20px; border-radius:24px; background:#e5f1e7; }
  .mobile-app.commerce-product .closing-cta h2 { font-size:28px; }
  .mobile-app.commerce-product .closing-cta p { font-size:15px; margin:16px 0 22px; }
  .mobile-app.commerce-product .closing-cta .button { width:100%; min-height:52px; background:#176348; }
  .mobile-app .app-product-bar { position:fixed; z-index:65; inset:auto 0 0; display:flex; gap:16px; align-items:center; justify-content:space-between; padding:14px 20px calc(14px + env(safe-area-inset-bottom)); min-height:88px; border-top:1px solid #d3e1ec; border-radius:20px 20px 0 0; background:#fcfeff; box-shadow:0 -4px 18px #1636530a; }
  .app-product-bar > div { min-width:0; flex:1; }
  .app-product-bar small { display:block; font-size:11px; color:#5b788d; }
  .app-product-bar strong { display:block; overflow:hidden; text-overflow:ellipsis; font:500 16px/1.4 Outfit,sans-serif; color:#17466a; white-space:nowrap; }
  .app-product-bar .button { min-height:52px; padding:12px 16px; font-size:14px; flex:0 0 auto; background:#176348; color:#fff; }
  .mobile-app .app-image-viewer { width:calc(100% - 20px); max-width:720px; max-height:92dvh; padding:16px; border:0; border-radius:22px; background:#f8fbff; }
  .app-image-viewer .viewer-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
  .app-image-viewer h2 { font-size:20px; }
  .app-image-viewer button { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; border-radius:50%; background:#e5eef7; color:#264e6b; font-size:26px; }
  .app-image-viewer img { display:block; width:100%; height:min(68dvh,650px); object-fit:contain; background:#fff; border-radius:14px; }
  .app-image-open { overflow:hidden; }
  @media (min-width:601px) { .mobile-app.commerce-product .product-stage { height:360px; } .mobile-app.commerce-product .product-layout { display:grid; grid-template-columns:1fr 1fr; align-items:start; } .mobile-app .app-product-bar { padding-inline:max(24px,calc((100vw - 690px)/2)); } }
  @media (max-width:359px) { .app-product-bar { gap:8px; } .app-product-bar strong { font-size:14px; } .app-product-bar .button { padding-inline:12px; font-size:12px; } }
}

/* Shared product enquiries: clear, direct WhatsApp actions on every viewport. */
.catalog-card .catalog-card-bottom {
  display:flex; flex-direction:column; align-items:stretch; gap:12px; margin-top:auto;
}
.catalog-card .catalog-card-bottom>.text-link {
  min-height:44px; display:flex; align-items:center; justify-content:space-between;
}
.catalog-card a.whatsapp-price,
.product-summary a.product-whatsapp {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; width:100%; padding:12px 14px; border:1px solid #127348;
  border-radius:12px; background:#127348; color:#fff; text-decoration:none;
  font-family:inherit; font-size:13px; font-weight:600; line-height:1.4;
  text-align:center; box-shadow:0 5px 14px #12734817;
  transition:background .2s,box-shadow .2s,transform .2s;
}
.whatsapp-price .whatsapp-icon,
.product-whatsapp .whatsapp-icon {
  display:block; width:22px; height:22px; min-width:22px; max-width:none;
  flex:0 0 22px; object-fit:contain; align-self:center;
  margin:0; padding:0; border:0; border-radius:0;
  background:transparent; filter:none; transform:none; box-shadow:none;
}
.product-whatsapp { display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.catalog-card a.whatsapp-price:hover,
.product-summary a.product-whatsapp:hover { background:#0d5e3a; color:#fff; box-shadow:0 6px 18px #12734829; }
.catalog-card a.whatsapp-price:active,
.product-summary a.product-whatsapp:active { transform:scale(.98); }
a.whatsapp-price:focus-visible,a.product-whatsapp:focus-visible { outline:3px solid #2b78d4; outline-offset:4px; }
a.product-whatsapp[aria-disabled=true] { opacity:.55; cursor:not-allowed; }
.product-summary .product-buy-row { align-items:end; }
.product-summary .availability { margin-top:20px; }
.listing-terms a.product-whatsapp { background:#127348; color:#fff; min-height:48px; }
.hero .hero-category .panel-category-photo { object-fit:contain!important; transform:none; }
@media(min-width:1001px){
  .commerce-category-ribbon { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .commerce-category-ribbon a:last-child { background:#eee8f7; color:#5b4679; border-color:#e2d8f0; }
}
@media(max-width:1000px){
  .mobile-app .catalog-card .catalog-card-bottom { gap:8px; }
  .mobile-app .catalog-card a.whatsapp-price { min-height:48px; padding:10px 8px; font-size:12px; border-radius:12px; }
  .mobile-app .product-summary a.product-whatsapp { min-height:52px; font-size:13px; padding:12px 10px; }
}
@media(prefers-reduced-motion:reduce){ a.whatsapp-price,a.product-whatsapp { transition:none!important; } }

/* Shared document-defined navigation. Page content and colour themes stay intact. */
#site-header .nav-dropdown[hidden], .app-menu-panel[hidden] { display:none; }
#site-header .nav-unavailable { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:44px; padding:4px 8px; color:#d4e4ef; font-size:12px; line-height:1.4; cursor:default; white-space:nowrap; }
#site-header .nav-unavailable small { font-size:8px; letter-spacing:.02em; opacity:.8; }
#site-header .nav-dropdown a[aria-current='page'], .app-menu-panel a[aria-current='page'] { font-weight:700; background:#e4eef8; color:#244c70; }
/* Panel brands reuse the catalogue's existing filter colours and spacing. */
#catalog-categories .catalog-category-row { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:4px; align-items:stretch; }
#catalog-categories .catalog-category-row .catalog-category { min-width:0; width:100%; margin:0; }
#catalog-categories .catalog-brands-toggle { display:grid; place-items:center; width:44px; min-height:44px; border:1px solid #d6e3ee; border-radius:10px; background:#f5f9fc; color:#315d78; cursor:pointer; }
#catalog-categories .catalog-brands-toggle .icon { width:16px; height:16px; transition:transform 200ms ease; }
#catalog-categories .catalog-brands-toggle[aria-expanded='true'] .icon { transform:rotate(180deg); }
#catalog-categories .catalog-panel-brands { display:grid; gap:4px; margin:8px 0 12px 12px; padding-left:10px; border-left:2px solid #cbdce7; }
#catalog-categories .catalog-panel-brands[hidden] { display:none; }
#catalog-categories .catalog-panel-brand { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; width:100%; padding:8px 10px; text-align:left; font-size:12px; line-height:1.4; color:#31536a; background:transparent; border:1px solid transparent; border-radius:9px; cursor:pointer; }
#catalog-categories .catalog-panel-brand:is(:hover,[aria-pressed='true']) { background:#e4eef8; border-color:#b9d0e1; color:#163d5b; }
#catalog-categories .catalog-panel-brand[aria-pressed='true'] { font-weight:700; }
#catalog-categories .catalog-brand-count { flex-shrink:0; min-width:22px; text-align:center; font-size:10px; padding:3px 5px; border-radius:6px; background:#fff; color:#31536a; }
#catalog-categories :is(.catalog-panel-brand,.catalog-brands-toggle):focus-visible { outline:2px solid #256ab0; outline-offset:2px; }
@media (max-width:1000px) {
  #catalog-categories .catalog-panel-brand { min-height:48px; font-size:14px; }
  #catalog-categories .catalog-brands-toggle { min-height:48px; }
}
@media (min-width:1001px) {
  .hero-art #site-header.brand-header .header-inner { gap:12px; }
  .hero-art #site-header.brand-header .desktop-nav { gap:4px; }
  .hero-art #site-header.brand-header .desktop-nav > .nav-direct { padding-inline:8px; }
  .hero-art #site-header.brand-header .nav-section-link { padding-left:8px; }
  .hero-art #site-header.brand-header .nav-dropdown { top:calc(100% + 12px); left:0; min-width:280px; padding:10px; max-height:calc(100dvh - 140px); overflow-y:auto; overscroll-behavior:contain; }
  .hero-art #site-header.brand-header .nav-dropdown a { min-height:44px; display:flex; align-items:center; padding:10px 14px; }
  .hero-art #site-header.brand-header .nav-products { position:static; }
  .hero-art #site-header.brand-header .nav-mega { top:calc(100% + 8px); left:50%; transform:translateX(-50%); width:min(760px,calc(100vw - 80px)); padding:22px; }
  .nav-product-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .nav-product-column { min-width:0; }
  .hero-art #site-header.brand-header .nav-category-title { font-size:15px; font-weight:700; border-bottom:1px solid #d6e3ee; border-radius:8px 8px 0 0; margin-bottom:6px; color:#174b72; }
  .hero-art #site-header.brand-header .nav-product-links a { color:#415d73; }
  .nav-product-footer { display:flex; justify-content:space-between; gap:16px; padding-top:12px; margin-top:16px; border-top:1px solid #d6e3ee; }
  .hero-art #site-header.brand-header .nav-product-footer a { color:#174b72; font-weight:600; }
  .hero-art #site-header.brand-header .nav-product-footer .dropdown-all { border:0; margin:0; }
  .hero-art #site-header.brand-header .header-phone { margin-inline:0; }
}
@media (min-width:1001px) and (max-width:1390px) {
  .hero-art #site-header.brand-header .header-phone { display:none; }
  .hero-art #site-header.brand-header .brand { width:112px; flex-basis:112px; padding-inline:8px; }
  .hero-art #site-header.brand-header :is(.nav-section-link,.nav-direct,.nav-unavailable) { font-size:12px; }
  .hero-art #site-header.brand-header .header-quote { min-width:132px; padding-left:14px; gap:10px; }
}
@media (min-width:1001px) and (max-width:1180px) {
  .hero-art #site-header.brand-header .header-inner { gap:8px; padding-right:10px; }
  .hero-art #site-header.brand-header .brand { width:100px; flex-basis:100px; }
  .hero-art #site-header.brand-header .brand img { width:86px; }
  .hero-art #site-header.brand-header .desktop-nav { gap:2px; }
  .hero-art #site-header.brand-header .header-quote { min-width:44px; width:44px; height:44px; padding:0; font-size:0; gap:0; justify-content:center; }
  .hero-art #site-header.brand-header .header-quote > .icon { width:28px; height:28px; padding:5px; }
  .hero-art #site-header.brand-header .header-actions { gap:6px; }
}
@media (max-width:1000px) {
  .mobile-app .app-menu-list { gap:6px; }
  .mobile-app .app-menu-row { display:grid; grid-template-columns:minmax(0,1fr) 48px; align-items:stretch; gap:4px; }
  .mobile-app .app-menu-row .app-nav-item { min-width:0; padding-right:0; }
  .mobile-app .app-submenu-toggle { display:grid; place-items:center; min-width:48px; min-height:54px; border-radius:14px; color:#315b73; background:#e9f0f5; }
  .mobile-app .app-submenu-toggle .app-icon { width:18px; height:18px; transition:transform 200ms; }
  .mobile-app .app-submenu-toggle[aria-expanded='true'] .app-icon { transform:rotate(90deg); }
  .mobile-app .app-menu-panel { padding:4px 0 10px 18px; border-left:2px solid #cee1e8; margin:6px 10px 8px 24px; }
  .mobile-app .app-menu-panel a { display:flex; align-items:center; min-height:46px; padding:10px 12px; border-radius:10px; font-size:14px; line-height:1.5; color:#264d64; }
  .mobile-app .app-menu-panel a:is(:hover,:focus-visible) { background:#e5eff5; }
  .mobile-app .app-menu .app-product-group { margin:0; padding:0; border:0; }
  .mobile-app .app-product-group summary { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; font-size:14px; font-weight:600; border-radius:10px; }
  .mobile-app .app-product-group summary .app-icon { width:16px; height:16px; }
  .mobile-app .app-product-links { padding:0 0 6px 10px; }
  .mobile-app .app-menu .app-menu-unavailable { color:#6e818a; }
  .mobile-app .app-menu-unavailable small { flex:0 0 auto; padding:4px 8px; border:1px solid #d3e0e5; border-radius:8px; font-size:10px; background:#fff; }
  .mobile-app .app-menu-panel .app-view-category { font-weight:600; }
  .mobile-app.home-polished .app-submenu-toggle { background:#e0eee7; color:#245b4c; }
  .mobile-app.home-polished .app-menu-panel { border-color:#c6dfd0; }
}
@media (prefers-reduced-motion:reduce) {
  .app-submenu-toggle .app-icon, #catalog-categories .catalog-brands-toggle .icon { transition:none!important; }
}

/* 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/optimized/projects-original-hero.a1080d23e1816c9bbaae568f3b53011af2392b7d34fb26ee18bf093f861eb722.webp")) 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; }
}

/* New content uses the established cards, colours and responsive layout. */
.home-polished .category-nav.has-featured { grid-template-columns:repeat(3,minmax(0,1fr)); }
.alpsolarr-specifications table { width:100%; table-layout:fixed; border-collapse:collapse; }
.alpsolarr-specifications caption { text-align:left; font-weight:700; padding:12px 0; color:inherit; }
.alpsolarr-specifications th { width:45%; text-align:left; font-weight:600; }
.alpsolarr-specifications th,.alpsolarr-specifications td { padding:12px; border-bottom:1px solid #dce5ec; overflow-wrap:anywhere; vertical-align:top; }
.alpsolarr-specifications [data-variant-details][hidden] { display:none; }
.catalog-photo img[src*="alpsolarr/livo-16e.webp"] { object-fit:cover; }
@media(min-width:1200px) {
  .home-polished .category-nav.has-featured { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .home-polished .category-nav.has-featured .category { min-width:0; padding:14px 10px; gap:7px; }
  .home-polished .category-nav.has-featured .category > span { min-width:0; }
  .home-polished .category-nav.has-featured .category > .icon { flex-shrink:0; width:14px; }
}
@media(max-width:1000px) {
  .mobile-app.home-polished .category-nav.has-featured { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mobile-app.home-polished .category-nav.has-featured .category:last-child { grid-column:auto; }
  .alpsolarr-specifications table { min-width:0; font-size:12px; }
  .alpsolarr-specifications th,.alpsolarr-specifications td { padding:10px 8px; }
}

