/* Projects directory and shared detail view: Earth & Sun visual language.
   Directory photos fill their thumbnail frames; detail galleries show complete original photographs. */
.projects-page {
  --project-ink: #173d36;
  --project-copy: #50645c;
  --project-green: #17624c;
  --project-green-dark: #104938;
  --project-paper: #fcfcf7;
  --project-sage: #edf3e8;
  --project-blue: #e2edf8;
  --project-gold: #e5b54a;
  --project-lime: #e0ed9c;
  --project-line: #d9e2d8;
  --solar-navy: var(--project-ink);
  --solar-blue: var(--project-green);
  --solar-copy: var(--project-copy);
  --page-muted: var(--project-copy);
  --page-border: var(--project-line);
  --page-tint: var(--project-sage);
  color: var(--project-ink);
  background: var(--project-paper);
}
.projects-page .container { width: min(1280px, calc(100% - 96px)); }
.projects-page h1,
.projects-page h2,
.projects-page h3,
.projects-page h4 {
  font-family: Outfit, Manrope, sans-serif;
  color: var(--project-ink);
  font-weight: 500;
  text-wrap: balance;
}
.projects-page h2 { font-size: clamp(28px, 2.8vw, 38px); line-height: 1.15; letter-spacing: -.025em; }
.projects-page p { color: var(--project-copy); }
.projects-page :focus-visible { outline: 3px solid #9b6717; outline-offset: 4px; }
.projects-page .text-link { color: var(--project-green); }
.projects-page .button { border-radius: 99px; min-height: 48px; }
.projects-page .button-blue,
.projects-page .button-green { background: var(--project-green); color: #fff; box-shadow: none; }
.projects-page .button-blue:hover,
.projects-page .button-green:hover { background: var(--project-green-dark); color: #fff; }

/* Keep the original brand mark on a clear, softly framed header. */
.projects-page .site-header,
.projects-page .site-header.is-sticky {
  width: calc(100% - 40px);
  max-width: 1580px;
  margin: 14px auto 22px;
  top: 14px;
  border: 1px solid #e2e9dc;
  border-radius: 26px;
  background: #fffffc;
  box-shadow: 0 8px 30px #173d3610;
}
.projects-page .site-header .header-inner,
.projects-page .site-header.is-sticky .header-inner { width: 100%; height: 84px; padding-inline: 24px; gap: 24px; }
.projects-page .site-header .brand,
.projects-page .site-header .brand img,
.projects-page .site-header.is-sticky .brand,
.projects-page .site-header.is-sticky .brand img { width: 112px; padding: 0; }
.projects-page .site-header .brand img,
.projects-page .site-header.is-sticky .brand img { height: 74px; object-fit: contain; }
.projects-page .site-header .desktop-nav { gap: 24px; }
.projects-page .nav-toggle,
.projects-page .site-header .desktop-nav > .nav-direct { color: var(--project-ink); font-size: 13px; }
.projects-page .site-header .header-actions { gap: 6px; }
.projects-page .site-header .icon-button { color: #285444; }
.projects-page .site-header .icon-button:hover,
.projects-page .header-search { background: var(--project-sage); }
.projects-page .site-header .header-quote { min-width: 152px; font-size: 13px; margin-left: 8px; padding-inline: 20px; }
.projects-page .header-phone strong { font-size: 12px; }
.projects-page .site-header .nav-dropdown { border-color: var(--project-line); box-shadow: 0 18px 40px #173d3620; }
.projects-page .site-header .nav-dropdown a:hover { background: var(--project-sage); color: var(--project-green-dark); }

/* An uncluttered introduction lets the actual installations lead the page. */
.projects-page .page-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: 32px;
  padding: 36px 44px 40px;
  border: 1px solid #275448;
  border-radius: 26px;
  background: var(--project-ink);
}
.projects-page .page-intro::after {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
  right: -95px;
  top: -155px;
  width: 510px;
  height: 510px;
  background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat;
  opacity: .2;
}
.projects-page .breadcrumbs { margin-bottom: 26px; color: #d3e1cb; gap: 10px; font-size: 12px; }
.projects-page .breadcrumbs a { color: #e0ed9c; }
.projects-page .breadcrumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.projects-page .breadcrumbs > span:last-child { max-width: 850px; }
.projects-page .page-intro h1 {
  max-width: 1040px;
  font-size: clamp(34px, 3.5vw, 50px);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 500;
  color: #fffef5;
  margin: 0 0 22px;
  overflow-wrap: break-word;
}
.projects-page #project-list-view .page-intro h1 { max-width: 830px; font-size: clamp(42px, 4vw, 58px); }
.projects-page .page-intro .page-intro-grid > div > p,
.projects-page .page-intro .project-summary-line { color: #e5ecdf; max-width: 800px; font-size: 16px; line-height: 1.7; }
.projects-page .project-summary-line { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.projects-page .project-summary-line span { display: inline-flex; padding: 7px 13px; border: 1px solid #c8d7ba50; border-radius: 99px; font-size: 13px; line-height: 1.5; }
.projects-page .project-back { padding-top: 0; padding-bottom: 14px; }
.projects-page .project-back .text-link { font-size: 13px; min-height: 44px; }

.projects-page .project-directory { padding-top: 0; padding-bottom: 66px; }
.projects-page .project-controls {
  display: flex;
  align-items: end;
  gap: 22px;
  margin-bottom: 22px;
  padding: 22px 24px;
  border: 1px solid var(--project-line);
  border-radius: 20px;
  background: var(--project-sage);
}
.projects-page .project-controls label { color: var(--project-ink); font-size: 12px; font-weight: 600; gap: 10px; min-width: 0; }
.projects-page .project-controls label:last-child { width: 270px; }
.projects-page .project-controls input,
.projects-page .project-controls select { width: 100%; min-height: 50px; border: 1px solid #cbd9cc; border-radius: 12px; background: #fff; color: var(--project-ink); font-size: 14px; }
.projects-page .project-controls input::placeholder { color: #63736c; }
.projects-page .project-controls input:focus,
.projects-page .project-controls select:focus { outline: 2px solid var(--project-green); outline-offset: 3px; }
.projects-page #project-count { padding-inline: 2px; font-size: 13px; color: var(--project-copy); margin-bottom: 24px; }
.projects-page .project-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: stretch; }
.projects-page .project-tile {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 12px 12px 24px;
  border: 1px solid var(--project-line);
  border-radius: 22px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.projects-page .project-tile:hover { border-color: #8daa91; box-shadow: 0 10px 30px #173d3610; }
.projects-page .project-tile img { display: block; width: 100%; height: 244px; object-fit: cover; object-position: center; border-radius: 14px; background: #edf1e8; padding: 0; transform: none; filter: none; }
.projects-page .project-tile:nth-child(3n + 2) img { background: var(--project-blue); }
.projects-page .project-tile:nth-child(3n) img { background: #f8edda; }
.projects-page .project-tile .project-meta { margin: 19px 12px 0; color: #526b5c; font-size: 11px; line-height: 1.6; letter-spacing: .035em; }
.projects-page .project-tile h3 { font-size: 22px; font-weight: 500; color: var(--project-ink); line-height: 1.28; letter-spacing: -.018em; margin: 11px 12px 17px; overflow-wrap: anywhere; text-wrap: pretty; }
.projects-page .project-tile > p:not(.project-meta) { font-size: 13px; margin: 0 12px 17px; }
.projects-page .project-tile > .text-link { margin: auto 12px 0; padding-top: 16px; border-top: 1px solid #e5ebe0; color: var(--project-green); font-size: 12px; justify-content: space-between; }
.projects-page .project-tile > .text-link .icon { width: 20px; height: 20px; }
.projects-page .pagination { justify-content: center; gap: 9px; margin-top: 38px; }
.projects-page .pagination button,
.projects-page .pagination a { min-width: 44px; min-height: 44px; height: auto; background: #fff; border-color: var(--project-line); border-radius: 10px; font-size: 13px; color: var(--project-ink); }
.projects-page .pagination button:hover:not(:disabled),
.projects-page .pagination a:hover { border-color: var(--project-green); background: var(--project-sage); }
.projects-page .pagination button[aria-current='page'] { color: #fff; background: var(--project-green); border-color: var(--project-green); }
.projects-page .pagination button[aria-current='page']:hover { background: var(--project-green-dark); color: #fff; }
.projects-page .pagination button:disabled { opacity: .42; }
.projects-page .catalog-empty { border: 1px solid var(--project-line); border-radius: 20px; background: var(--project-sage); }

.projects-page .project-gallery-count { margin: 0 14px 20px; color: #57695f; font-size: 12px; line-height: 1.5; }
.projects-page .page-intro .section-label { color: #cbdd8e; }
.projects-page .project-story aside .section-label { color: #526b42; }
.projects-page .project-back .icon { transform: rotate(180deg); }
.projects-page .project-gallery-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin: 30px 0 22px; }
.projects-page .project-gallery-heading h2 { font-size: 28px; margin: 0; }
.projects-page .project-gallery-heading p { color: var(--project-copy); font-size: 13px; margin: 0; }
.projects-page .project-source-note { font-size: 12px; padding: 8px 5px; }
.projects-page .project-source-note a { text-decoration: underline; text-underline-offset: 3px; }
.projects-page .project-return { display: flex; margin-top: 22px; font-size: 12px; }
.projects-page .project-narrative h2:not(:first-child) { margin-top: 30px; }

/* Gallery captions sit below the image so no project detail is obscured. */
.projects-page .project-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.projects-page .project-gallery-link {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--project-line);
  border-radius: 18px;
  background: #edf1e9;
  transition: border-color .2s, box-shadow .2s;
}
.projects-page .project-gallery-link:nth-child(3n + 2) { background: #eaf0f7; }
.projects-page .project-gallery-link:nth-child(3n) { background: #f5efdf; }
.projects-page .project-gallery-link:hover { border-color: #8daa91; box-shadow: 0 8px 24px #173d3610; }
.projects-page .project-gallery-link img { display: block; width: 100%; height: 286px; padding: 12px; object-fit: contain; object-position: center; transform: none; filter: none; margin: 0; }
.projects-page .project-gallery-link span { position: static; min-height: 46px; margin: auto 0 0; padding: 12px 16px; border-top: 1px solid #dbe4d8; border-radius: 0; background: #ffffffdd; color: var(--project-green); font-size: 12px; }
.projects-page .project-gallery-link span .icon { width: 18px; height: 18px; }
.projects-page .project-photo-grid > .project-gallery-link:only-child { grid-column: 1 / -1; }
.projects-page .project-photo-grid > .project-gallery-link:only-child img { height: min(58vw, 530px); }

.projects-page .project-story { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 44px; margin-block: 46px 70px; align-items: start; }
.projects-page .project-story > article { min-width: 0; }
.projects-page .project-story .rich-content { font-size: 15px; line-height: 1.8; color: var(--project-copy); }
.projects-page .project-story .rich-content p { color: var(--project-copy); line-height: 1.8; }
.projects-page .project-body-section { margin-bottom: 20px; padding: 30px 32px; background: #fff; border: 1px solid var(--project-line); border-radius: 20px; }
.projects-page .project-body-section > h2 { font-size: 28px; line-height: 1.2; margin: 0 0 20px; letter-spacing: -.025em; }
.projects-page .project-body-section > :last-child { margin-bottom: 0; }
.projects-page .project-body-section p + p { margin-top: 16px; }
.projects-page .project-specifications { background: #e9f1f9; border-color: #d1e0eb; }
.projects-page .project-savings { background: #edf3e4; border-color: #d6e2c9; }
.projects-page .project-body-section ul { margin: 12px 0 0; padding-left: 19px; color: var(--project-copy); }
.projects-page .project-body-section li { padding: 10px 0 10px 4px; border-bottom: 1px solid #173d3612; font-size: 14px; line-height: 1.7; }
.projects-page .project-body-section li:last-child { border-bottom: 0; }
.projects-page .project-body-section li::marker { color: var(--project-green); }
.projects-page .project-body-section strong,
.projects-page .project-body-section b { color: var(--project-ink); font-weight: 600; }
.projects-page .project-savings > p { font-size: 15px; }
.projects-page .project-story aside { position: sticky; top: 122px; padding: 29px; background: #f5ecd2; border: 1px solid #e9d7a6; border-radius: 22px; }
.projects-page .project-story aside h2 { font-size: 30px; line-height: 1.12; margin-bottom: 18px; }
.projects-page .project-story aside p { font-size: 13px; line-height: 1.75; }
.projects-page .project-story aside .button { width: 100%; gap: 12px; margin-top: 22px; padding-inline: 16px; font-size: 12px; }
.projects-page .project-story aside .source-note { font-size: 11px; margin-top: 22px; padding-top: 20px; border-top: 1px solid #d9c797; }
.projects-page .project-story aside .source-note a { color: var(--project-green-dark); text-underline-offset: 3px; }
.projects-page .project-story aside .source-note a:hover { text-decoration-thickness: 2px; }
.projects-page .closing-cta { position: relative; overflow: hidden; margin-bottom: 64px; padding: 43px 46px; border-radius: 24px; border: 1px solid #e6d09b; background: #f6e6bd; }
.projects-page .closing-cta h2 { max-width: 750px; font-size: 38px; margin-bottom: 12px; }
.projects-page .closing-cta p { color: #5b624c; }
.projects-page .site-footer { background-color: #102f28; }
.projects-page .site-footer h3,
.projects-page .site-footer h4 { color: #e0ed9c; }
.projects-page .site-footer p,
.projects-page .site-footer a { color: #d3dfd5; }
.projects-page .site-footer a:hover { color: #fffef5; }

@media (min-width: 1001px) and (max-width: 1280px) {
  .projects-page .site-header .header-inner { gap: 16px; padding-inline: 18px; }
  .projects-page .site-header .desktop-nav { gap: 18px; }
  .projects-page .site-header .header-quote { min-width: 138px; margin-left: 5px; padding-inline: 17px; }
  .projects-page .header-phone { gap: 7px; margin-right: 3px; }
  .projects-page .project-catalog { gap: 22px; }
  .projects-page .project-tile img { height: 218px; }
  .projects-page .project-tile h3 { font-size: 20px; }
  .projects-page .project-story { gap: 28px; grid-template-columns: minmax(0, 1fr) 285px; }
}
@media (max-width: 1000px) {
  .projects-page .container { width: calc(100% - 48px); }
  .projects-page .site-header .header-inner,
  .projects-page .site-header.is-sticky .header-inner { height: 76px; gap: 16px; padding-inline: 18px; }
  .projects-page .site-header .brand,
  .projects-page .site-header .brand img,
  .projects-page .site-header.is-sticky .brand,
  .projects-page .site-header.is-sticky .brand img { width: 100px; }
  .projects-page .site-header .brand img,
  .projects-page .site-header.is-sticky .brand img { height: 66px; }
  .projects-page .page-intro { padding: 30px; }
  .projects-page .project-catalog,
  .projects-page .project-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projects-page .project-story { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .projects-page .project-story aside { position: static; max-width: none; }
  .projects-page .project-story aside .button { width: auto; }
  .projects-page .project-controls label:last-child { width: 230px; }
  .projects-page .closing-cta h2 { font-size: 32px; }
}
@media (max-width: 700px) {
  .projects-page .container { width: calc(100% - 32px); }
  .projects-page .site-header,
  .projects-page .site-header.is-sticky { width: calc(100% - 20px); margin: 10px auto 18px; top: 10px; border-radius: 18px; }
  .projects-page .site-header .header-inner,
  .projects-page .site-header.is-sticky .header-inner { padding-inline: 12px; gap: 10px; }
  .projects-page .site-header .header-actions { gap: 2px; }
  .projects-page .page-intro { padding: 25px 23px 30px; border-radius: 21px; }
  .projects-page .page-intro h1,
  .projects-page #project-list-view .page-intro h1 { font-size: 36px; }
  .projects-page .breadcrumbs { font-size: 11px; margin-bottom: 22px; }
  .projects-page .page-intro .page-intro-grid > div > p { font-size: 14px; }
  .projects-page .project-controls { display: grid; gap: 18px; padding: 19px; }
  .projects-page .project-controls label:last-child { width: 100%; margin-top: 0; }
  .projects-page .project-controls input,
  .projects-page .project-controls select { font-size: 16px; }
  .projects-page .project-catalog,
  .projects-page .project-photo-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .projects-page .project-tile img { height: 260px; }
  .projects-page .project-gallery-link img { height: 310px; }
  .projects-page .project-body-section { padding: 24px; }
  .projects-page .project-body-section > h2 { font-size: 26px; }
  .projects-page .project-story { margin-block: 30px 42px; }
  .projects-page .project-story aside { padding: 25px; }
  .projects-page .closing-cta { padding: 29px 26px; margin-bottom: 42px; }
  .projects-page .closing-cta h2 { font-size: 31px; }
  .projects-page .pagination { gap: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .projects-page .project-tile,
  .projects-page .project-gallery-link,
  .projects-page .button,
  .projects-page .text-link .icon { transition: none; }
}

/* 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; }
}

/* 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; }
}

/* 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; } }
}

/* Mobile project directory and original-photo detail views. */
@media(max-width:1000px){
 .mobile-app.projects-page #project-list-view .project-source-hero .project-directory-hero {display:block;width:100%;max-width:none;text-align:left;padding:0;}
 .mobile-app.projects-page #project-list-view .project-source-hero .project-directory-hero > div > p {font-size:15px;line-height:1.75;color:#506f86;text-shadow:none;margin:0;}
 .mobile-app.projects-page #project-list-view .project-source-hero .section-label {color:#537c90;text-shadow:none;font-size:10px;}
 .mobile-app.projects-page #project-list-view .project-source-hero h1 {text-shadow:none;}
 .mobile-app.projects-page #project-list-view .project-source-hero {min-height:0;}
 .mobile-app.projects-page {--project-ink:#193f5b;--project-copy:#526e82;--project-green:#216497;--project-line:#d7e3ec;}
 .mobile-app.projects-page .container {width:calc(100% - 32px);}
 .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro {padding:22px 20px 28px;margin:16px auto 24px;border:1px solid #d5e4f0;border-radius:24px;background:linear-gradient(120deg,#eaf4fff2,#dfedffe0),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::before,.mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro::after {content:none;}
 .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro .page-intro-grid {display:block;}
 .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .breadcrumbs {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 18px;font-size:12px;color:#577a92;}
 .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .breadcrumbs a {color:#286590;}
 .mobile-app.projects-page #project-detail-target .breadcrumbs [aria-current],.mobile-app.projects-page #project-detail-target .breadcrumbs > span:nth-last-child(2) {display:none;}
 .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro .section-label {font-size:10px;color:#537c90;}
 .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:34px;line-height:1.12;color:#193e5d;margin:14px 0 18px;}
 .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro h1 span {color:#165fc4;}
 .mobile-app.projects-page :is(#project-list-view,#project-detail-target) .page-intro .page-intro-grid > div > p {font-size:15px;line-height:1.75;color:#506f86;}
 .mobile-app.projects-page .project-hero-actions {display:grid;gap:6px;margin-top:22px;}
 .mobile-app.projects-page .project-hero-actions .button {width:100%;background:#165fc4;}
 .mobile-app.projects-page .project-hero-actions .text-link {min-height:48px;justify-content:center;font-size:14px;}
 .mobile-app.projects-page .project-directory {padding:0 0 28px;scroll-margin-top:92px;}
 .mobile-app.projects-page .project-controls {display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:18px;padding:20px;border-radius:22px;border:1px solid #d1e0d2;background:#eaf3e8;}
 .mobile-app.projects-page .project-controls label {width:100%;display:grid;gap:8px;font-size:13px;color:#365f49;}
 .mobile-app.projects-page .project-controls label:last-child {width:100%;}
 .mobile-app.projects-page .project-controls :is(input,select) {display:block;min-width:0;width:100%;min-height:52px;font-size:16px;border-radius:12px;padding:12px;border:1px solid #bed2c1;}
 .mobile-app.projects-page #project-count {font-size:13px;margin:0 4px 16px;}
 .mobile-app.projects-page .project-catalog {display:grid;grid-template-columns:1fr;gap:18px;}
 .mobile-app.projects-page .project-tile {padding:0 0 8px;border:1px solid #d6e3ed;border-radius:22px;overflow:hidden;background:#fff;}
 .mobile-app.projects-page .project-tile img {height:220px;width:100%;border-radius:0;object-fit:cover;}
 .mobile-app.projects-page .project-tile .project-meta {margin:18px 18px 0;font-size:11px;line-height:1.6;color:#558075;}
 .mobile-app.projects-page .project-tile h3 {margin:10px 18px 14px;font-size:22px;line-height:1.3;color:#1a405b;}
 .mobile-app.projects-page .project-tile > p:not(.project-meta) {margin:0 18px 14px;font-size:13px;color:#5b768a;}
 .mobile-app.projects-page .project-tile > .text-link {min-height:52px;padding:10px 0;margin:0 18px;font-size:13px;color:#165fc4;border-color:#e0e9ef;}
 .mobile-app.projects-page .pagination {display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:24px;}
 .mobile-app.projects-page .pagination :is(button,a) {min-width:44px;min-height:44px;border-radius:12px;}
 .mobile-app.projects-page .pagination [aria-current=page] {background:#165fc4;border-color:#165fc4;}
 .mobile-app.projects-page .catalog-empty {grid-column:1/-1;padding:28px 20px;}
 .mobile-app.projects-page .catalog-empty h3 {font-size:24px;}
 .mobile-app.projects-page .catalog-empty p {font-size:15px;margin:12px 0 18px;}
 .mobile-app.projects-page .project-back {padding:8px 4px 0;}
 .mobile-app.projects-page .project-back .text-link {min-height:48px;font-size:13px;}
 .mobile-app.projects-page .project-summary-line {gap:8px;}
 .mobile-app.projects-page .project-summary-line span {font-size:12px;padding:8px 10px;background:#fff9;border:1px solid #c9ddea;border-radius:10px;}
 .mobile-app.projects-page .project-gallery-heading {display:block;margin:26px 4px 18px;}
 .mobile-app.projects-page .project-gallery-heading h2 {font-size:26px;}
 .mobile-app.projects-page .project-gallery-heading p {font-size:13px;line-height:1.6;margin-top:10px;}
 .mobile-app.projects-page .project-photo-grid {display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:none;padding:0 0 10px;}
 .mobile-app.projects-page .project-gallery-link {flex:0 0 88%;scroll-snap-align:start;border-radius:20px;border:1px solid #d4e2ed;background:#e8f0f8;}
 .mobile-app.projects-page .project-gallery-link img,.mobile-app.projects-page .project-photo-grid > .project-gallery-link:only-child img {height:240px;padding:0;object-fit:cover;background:#e8f0f8;}
 .mobile-app.projects-page .project-gallery-link:only-child {flex-basis:100%;}
 .mobile-app.projects-page .project-gallery-link span {min-height:48px;padding:14px;font-size:13px;color:#1e6094;background:#fff;}
 .mobile-app.projects-page .project-source-note {font-size:12px;line-height:1.6;}
 .mobile-app.projects-page .project-source-note a,.mobile-app.projects-page .source-note a {display:inline-flex;align-items:center;min-height:44px;min-width:44px;}
 .mobile-app.projects-page .project-story {display:block;margin:24px 0;}
 .mobile-app.projects-page .project-body-section {padding:24px 20px;margin-bottom:16px;border-radius:22px;}
 .mobile-app.projects-page .project-body-section h2 {font-size:26px;line-height:1.2;margin-bottom:18px;}
 .mobile-app.projects-page .project-story .rich-content p,.mobile-app.projects-page .project-body-section li {font-size:15px;line-height:1.75;color:#4b6a80;overflow-wrap:anywhere;}
 .mobile-app.projects-page .project-specifications {background:#e9f2fa;}
 .mobile-app.projects-page .project-savings {background:#eaf3e5;}
 .mobile-app.projects-page .project-story aside {position:static;padding:26px 20px;background:#fff0e7;border:1px solid #e4d5c9;border-radius:22px;margin-top:24px;}
 .mobile-app.projects-page .project-story aside h2 {font-size:28px;}
 .mobile-app.projects-page .project-story aside p {font-size:15px;line-height:1.7;}
 .mobile-app.projects-page .project-story aside .button {width:100%;min-height:52px;font-size:14px;background:#165fc4;}
 .mobile-app.projects-page .project-story aside .source-note {font-size:12px;}
 .mobile-app.projects-page .project-return {min-height:48px;font-size:14px;}
 .mobile-app.projects-page .closing-cta {display:block;padding:26px 20px;margin:24px auto;border:0;border-radius:24px;background:#c94730;}
 .mobile-app.projects-page .closing-cta h2 {font-size:28px;color:#fff;}
 .mobile-app.projects-page .closing-cta p {font-size:15px;color:#ffebe5;margin:16px 0 22px;}
 .mobile-app.projects-page .closing-cta .button {width:100%;background:#fff9f5;color:#a83c28;}
 .mobile-app .app-project-viewer {width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:calc(16px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:0;background:#122d43;color:#fff;}
 .app-project-viewer .viewer-top,.app-project-viewer .viewer-actions {display:flex;align-items:center;justify-content:space-between;gap:12px;}
 .app-project-viewer h2 {font-size:19px;color:#fff;margin:0;}
 .app-project-viewer button,.app-project-viewer a {min-width:48px;min-height:48px;border:0;border-radius:14px;background:#27485f;color:#fff;display:grid;place-items:center;font-size:22px;}
 .app-project-viewer img {display:block;width:100%;height:calc(100dvh - 190px - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;margin:14px 0;touch-action:pan-y pinch-zoom;}
 .app-project-viewer .viewer-counter {font-size:14px;color:#d1e5f4;}
 .app-project-viewer a {font-size:13px;padding:12px;}
 .app-project-viewer button:disabled {opacity:.3;}
 body.app-project-image-open {overflow:hidden;}
 @media(min-width:601px){.mobile-app.projects-page .project-catalog {grid-template-columns:1fr 1fr;}.mobile-app.projects-page .project-controls {grid-template-columns:1.4fr 1fr;}.mobile-app.projects-page .project-gallery-link {flex-basis:48%;}.mobile-app.projects-page .project-gallery-link img {height:300px;}}
}

/* 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; }
}

