/* Homepage desktop layout foundation. The Earth & Sun art-direction layer below
   supplies the current palette and photographic compositions. Other pages are isolated. */
@media (min-width: 1001px) {
  .home-polished {
    --home-ink: #142f43;
    --home-copy: #50667a;
    --home-blue: #2057ca;
    --home-blue-dark: #1944a2;
    --home-ice: #edf3f8;
    --home-paper: #fafbf8;
    --home-gold: #e6b45d;
    --home-line: #dbe5ed;
    --home-inset: max(64px, calc((100% - 1280px) / 2));
    --forest: var(--home-ink);
    --forest-dark: #102c40;
    --leaf: var(--home-blue);
    --leaf-light: #f0cf90;
    --paper: var(--home-paper);
    --sage: var(--home-ice);
    --cream: #f8e3bc;
    --ink: var(--home-ink);
    --muted: var(--home-copy);
    --line: var(--home-line);
    --solar-blue: var(--home-blue);
    --solar-navy: var(--home-ink);
    --solar-copy: var(--home-copy);
    --max: 1280px;
    background: var(--home-paper);
    color: var(--home-ink);
  }

  .home-polished h1,
  .home-polished h2,
  .home-polished h3,
  .home-polished h4 {
    font-family: Outfit, Manrope, sans-serif;
    text-wrap: balance;
  }
  .home-polished h2 { font-size: clamp(42px, 3.55vw, 54px); line-height: 1.12; letter-spacing: -.033em; font-weight: 500; }
  .home-polished h3 { font-weight: 500; letter-spacing: -.018em; }
  .home-polished p { color: var(--home-copy); }
  .home-polished .container { width: min(1280px, calc(100% - 128px)); }
  .home-polished .section { padding-block: 100px; }
  .home-polished .section-label { display: flex; align-items: center; gap: 11px; color: var(--home-blue); font-size: 11px; letter-spacing: .16em; margin-bottom: 20px; }
  .home-polished .section-label::before { content: ''; flex: 0 0 20px; height: 2px; background: var(--home-gold); }
  .home-polished .section-heading { align-items: end; gap: 70px; margin-bottom: 42px; }
  .home-polished .section-heading > p { font-size: 15px; line-height: 1.8; max-width: 365px; }
  .home-polished .text-link { color: var(--home-blue); font-size: 13px; gap: 13px; }
  .home-polished .button { border-radius: 12px; min-height: 48px; font-size: 13px; font-weight: 600; transition: background .2s, box-shadow .2s, transform .2s; }
  .home-polished .button-blue,
  .home-polished .button-green { background: var(--home-blue); color: #fff; border: 1px solid #ffffff12; box-shadow: 0 5px 14px #2057ca16, inset 0 1px #ffffff22; }
  .home-polished .button-blue:hover,
  .home-polished .button-green:hover { background: var(--home-blue-dark); box-shadow: 0 8px 22px #2057ca29; color: #fff; }
  .home-polished :focus-visible { outline: 3px solid #3672e0; outline-offset: 4px; }
  .home-polished .button:active { transform: translateY(0); }

  /* A floating frame: the glow follows the header edge, not the text. */
  .home-polished .site-header,
  .home-polished .site-header.is-sticky {
    width: calc(100% - 40px); max-width: 1580px; margin: 14px auto 16px;
    top: 14px; left: auto; position: sticky; z-index: 50;
    background: #ffffffed; color: var(--home-ink);
    border: 1px solid #fff; border-radius: 24px;
    box-shadow: 0 2px 4px #24476d05, 0 12px 34px #24476d0d, 0 0 0 1px #dce8f277;
    backdrop-filter: blur(18px); animation: none;
  }
  .home-polished .site-header .header-inner,
  .home-polished .site-header.is-sticky .header-inner { width: 100%; max-width: none; height: 84px; padding: 0 24px; gap: 24px; }
  .home-polished .site-header .brand,
  .home-polished .site-header.is-sticky .brand { width: 112px; padding: 0; }
  .home-polished .site-header .brand img,
  .home-polished .site-header.is-sticky .brand img { width: 112px; height: 74px; }
  .home-polished .site-header .desktop-nav { gap: 26px; }
  .home-polished .nav-toggle,
  .home-polished .site-header .desktop-nav > a.nav-direct { font-size: 13px; color: var(--home-ink); }
  .home-polished .nav-toggle:hover,
  .home-polished .site-header .desktop-nav > a.nav-direct:hover { color: var(--home-blue); }
  .home-polished .site-header .header-actions { gap: 6px; }
  .home-polished .site-header .icon-button { border-radius: 14px; color: #2e5270; }
  .home-polished .header-search { background: #f0f5fa; }
  .home-polished .site-header .header-quote { border-radius: 16px; min-width: 152px; min-height: 48px; font-size: 13px; margin-left: 8px; padding: 12px 20px; }
  .home-polished .header-phone strong { font-size: 12px; }
  .home-polished .header-phone small { font-size: 10px; }
  .home-polished .nav-dropdown { top: calc(100% + 23px); border-radius: 18px; border-color: #e2eaf2; box-shadow: 0 18px 55px #142f431f; }
  .home-polished .site-header .search-panel { right: 22px; border-radius: 18px; box-shadow: 0 18px 55px #142f431f; }

  /* First view: softer daylight and a precise geometric display face. */
  .home-polished .hero {
    width: calc(100% - 40px); max-width: 1580px; margin: 0 auto;
    padding-top: 30px; border-radius: 28px; border: 1px solid #dfebf4;
    color: var(--home-ink); background: #eef4f8;
  }
  .home-polished .hero::before {
    content: ''; position: absolute; pointer-events: none; z-index: -1;
    width: 530px; height: 530px; top: -225px; left: -210px;
    background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat;
    opacity: .7;
  }
  .home-polished .hero::after {
    content: ''; position: absolute; pointer-events: none; z-index: -1;
    width: 490px; height: 410px; right: -210px; top: -200px;
    border-radius: 50%; background: radial-gradient(ellipse, #fce4b9b3, #fce4b900 68%);
  }
  .home-polished .hero-backdrop { inset: 0 0 94px; }
  .home-polished .hero-backdrop::before { backdrop-filter: blur(3px); }
  .home-polished .hero-backdrop::after {
    background: linear-gradient(90deg, #f8f9f5e8 0%, #edf4f9ec 23%, #f3f7faf7 40%, #eff5f8f2 61%, #eaf2f7a3 80%, #eef3ed50 100%), linear-gradient(#e2edf7b0, transparent 70%);
  }
  .home-polished .hero-content { width: min(920px, calc(100% - 330px)); }
  .home-polished .hero-eyebrow { background: #ffffffc4; border: 1px solid #d8e7ea; color: #466a76; font-size: 10px; letter-spacing: .14em; min-height: 31px; padding: 7px 17px; margin-bottom: 20px; }
  .home-polished .hero-eyebrow .icon { color: #318368; width: 16px; height: 16px; }
  .home-polished .hero h1 { font-family: Outfit, sans-serif; font-size: clamp(56px, 4.65vw, 72px); line-height: 1.01; letter-spacing: -.038em; font-weight: 600; color: #142f43; }
  .home-polished .hero h1 span { color: var(--home-blue); background: none; -webkit-text-fill-color: currentColor; position: relative; display: inline-block; isolation: isolate; }
  .home-polished .hero h1 span::after { content: ''; position: absolute; z-index: -1; left: 0; right: 0; height: 8px; bottom: 1px; border-radius: 60%; background: #eac27885; transform: rotate(-1deg); }
  .home-polished .hero .hero-description { font-size: 17px; line-height: 1.55; max-width: 680px; margin: 20px auto 24px; color: #4d6478; }
  .home-polished .hero-description strong { font-weight: 700; color: #2f4e67; }
  .home-polished .hero-search { max-width: 790px; min-height: 68px; padding: 8px; border: 1px solid #fff; border-radius: 18px; background: #fffffff5; box-shadow: 0 10px 38px #37648e14, 0 0 0 6px #ffffff38; }
  .home-polished .hero-search #hero-query { font-size: 14px; color: var(--home-ink); height: 48px; min-height: 48px; }
  .home-polished .hero-search input::placeholder { color: #5b7189; }
  .home-polished .hero-search .button { border-radius: 12px; min-height: 50px; padding: 14px 25px; font-size: 13px; }
  .home-polished .hero-search:focus-within { border-color: #5d87d5; box-shadow: 0 0 0 4px #3672e021, 0 10px 38px #37648e14; }
  .home-polished .popular-searches { gap: 7px; font-size: 11px; margin-top: 14px; }
  .home-polished .popular-searches a { background: #ffffff7d; border: 1px solid #dfe8ed; color: #3e5973; padding: 5px 12px; border-radius: 8px; min-height: 30px; }
  .home-polished .popular-searches a:hover { color: var(--home-blue); background: #fff; border-color: #a3bcdf; }
  .home-polished .hero-benefits { left: 3.2%; top: 140px; width: 165px; }
  .home-polished .hero-benefits .benefits-intro { color: #557081; border-top-color: #c89a4c; font-size: 11px; line-height: 1.9; letter-spacing: .17em; }
  .home-polished .hero-benefits ul { margin-top: 33px; gap: 19px; }
  .home-polished .hero-benefits li { color: #32526b; font-size: 12px; gap: 11px; }
  .home-polished .benefit-icon { width: 42px; height: 42px; background: #fffaf0e6; border: 1px solid #efe6d4; box-shadow: 0 4px 10px #58708305; }
  .home-polished .benefit-icon .icon { width: 24px; height: 24px; color: #378167; }
  .home-polished .hero-note { color: #557eaf; font-size: 31px; right: 3.5%; top: 76px; opacity: .9; }
  .home-polished .hero-note span { border-color: #d4ab61; }
  .home-polished .hero-categories { width: min(1000px, calc(100% - 29vw)); margin: 27px auto 28px; gap: 13px; }
  .home-polished .hero-category { height: 187px; padding: 10px 13px 14px; background: #fffffff2; border-radius: 17px; border: 1px solid #fff; box-shadow: 0 8px 20px #264a6b0b; }
  .home-polished .hero-category:hover { border-color: #9bb9e1; box-shadow: 0 12px 26px #2057ca19; transform: translateY(-4px); }
  .home-polished .category-copy strong { font-family: Outfit, sans-serif; font-size: 14px; letter-spacing: -.01em; font-weight: 500; }
  .home-polished .category-copy small { font-size: 10px; color: #60768a; line-height: 1.5; }
  .home-polished .category-arrow { background: #edf3fc; color: var(--home-blue); width: 28px; height: 28px; bottom: 13px; }
  .home-polished .hero-trust-wrap { min-height: 106px; padding: 16px 30px; background: #f7fafbeb; border-top: 1px solid #ffffffb0; border-radius: 0; gap: 22px; }
  .home-polished .hero-trust { background: transparent; border: 0; min-height: 70px; padding: 10px 0; }
  .home-polished .hero-trust > div { gap: 12px; padding-inline: 14px; color: var(--home-ink); }
  .home-polished .hero-trust > div + div { border-color: #d4e0e8; }
  .home-polished .hero-trust .icon { color: #34658e; width: 28px; height: 28px; }
  .home-polished .hero-trust strong { font-size: 12px; }
  .home-polished .hero-trust small { font-size: 10px; color: #5f7489; }
  .home-polished .trust-note { color: #315976; font-size: 23px; width: 112px; }
  .home-polished .trust-note::after { border-color: #cea454; }

  /* Full-width sections share a content axis; their artwork stays at the edges. */
  .home-polished main > section,
  .home-polished .newsletter,
  .home-polished .site-footer { position: relative; isolation: isolate; }
  .home-polished main > .section.container,
  .home-polished .published-figures,
  .home-polished .newsletter { width: 100%; max-width: none; padding-inline: var(--home-inset); }
  .home-polished main > section::before,
  .home-polished main > section::after,
  .home-polished .newsletter::before,
  .home-polished .site-footer::before { pointer-events: none; z-index: -1; }

  .home-polished .shop-section {
    padding-top: 92px; padding-bottom: 0; overflow: clip;
    background: radial-gradient(ellipse at 100% 0%, #f3e7cd80, transparent 35%), #fafbf8;
  }
  .home-polished .shop-section::before { content: ''; position: absolute; right: -220px; top: 0; width: 560px; height: 420px; background: url('/assets/home-visuals/solar-cells.svg') center / contain no-repeat; opacity: .45; }
  .home-polished .shop-section .section-heading h2 { max-width: 690px; }
  .home-polished .category-nav { gap: 8px; border: 0; margin-bottom: 42px; padding: 7px; background: #edf2f5; border-radius: 18px; }
  .home-polished .category-nav .category { border: 1px solid transparent; padding: 16px 12px; border-radius: 12px; font-size: 12px; color: #456176; gap: 10px; }
  .home-polished .category-nav .category .category-icon { width: 29px; height: 29px; }
  .home-polished .category-nav .category.active { background: #fff; border-color: #d9e5ef; color: var(--home-blue); box-shadow: 0 3px 8px #24476d08; }
  .home-polished .category-nav .category:hover { background: #ffffff9c; }
  .home-polished .category-nav .category.active:hover { background: #fff; }
  .home-polished .catalogue-heading h3 { font-size: 26px; }
  .home-polished .filter-tabs { gap: 6px; }
  .home-polished .filter-tabs button { border: 1px solid transparent; border-radius: 8px; font-size: 12px; min-height: 35px; padding: 7px 14px; color: #547087; }
  .home-polished .filter-tabs button.active { background: var(--home-blue); color: white; }
  .home-polished .filter-tabs button:hover:not(.active) { background: #eaf0f7; border-color: #d8e3ef; }
  .home-polished .product-grid { align-items: stretch; gap: 20px; min-height: 0; }
  .home-polished .catalog-card { border: 1px solid #dce6ec; border-radius: 18px; background: #fff; box-shadow: 0 3px 5px #203e5c03; transition: transform .2s, border-color .2s, box-shadow .2s; }
  .home-polished .catalog-card:hover { transform: translateY(-4px); border-color: #a2bce0; box-shadow: 0 12px 28px #254d7310; }
  .home-polished .catalog-photo { aspect-ratio: 1.28; border-bottom: 1px solid #f0f3f5; }
  .home-polished .catalog-copy { padding: 20px; }
  .home-polished .catalog-copy .product-brand { color: #526f88; font-size: 10px; letter-spacing: .14em; font-weight: 700; }
  .home-polished .catalog-copy h3 { font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: -.01em; margin: 9px 0 18px; min-height: 63px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .home-polished .catalog-copy .catalog-price { font-family: Outfit, sans-serif; font-size: 24px; font-weight: 500; color: var(--home-ink); margin: auto 0 16px; }
  .home-polished .catalog-card-bottom { border-color: #e6edf2; }
  .home-polished .catalog-card-bottom .add-product { border-color: #d1dfec; width: 36px; height: 36px; }
  .home-polished .catalogue-note { color: #536d80; font-size: 11px; margin-top: 20px; }
  .home-polished .expert-strip { background: #f5efdf; border: 1px solid #e9e0c8; border-radius: 14px; padding: 22px 27px; margin-top: 27px; }
  .home-polished .expert-strip > .icon { color: #9b743a; }
  .home-polished .expert-strip p { color: #4d5d5f; font-size: 14px; }
  .home-polished .brand-rail { margin-top: 34px; padding: 24px 0 32px; border-color: #dce5e9; gap: 24px; }
  .home-polished .brand-rail > .brand-rail-label { color: #506c80; font-size: 10px; font-weight: 600; }
  .home-polished .brand-pause { color: #587185; }

  .home-polished .home-company { gap: 85px; overflow: clip; background: radial-gradient(ellipse at 83% 40%, #e2edf5aa, transparent 58%), #fafbf8; }
  .home-polished .home-company::before { content: ''; position: absolute; width: 510px; height: 510px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; right: -185px; top: -30px; opacity: .65; }
  .home-polished .home-company h2 { margin: 0 0 24px; font-size: 49px; line-height: 1.13; color: var(--home-ink); }
  .home-polished .home-company > div > p { color: #526b7d; font-size: 15px; line-height: 1.85; margin-bottom: 15px; }
  .home-polished .home-company > div > .text-link { margin-top: 10px; }
  .home-polished .home-company > div > img { height: 300px; border-radius: 22px; box-shadow: 0 20px 40px #294b6b0f; }
  .home-polished .home-company .vision-grid { gap: 28px; margin-top: 27px; }
  .home-polished .vision-grid > div { border-color: #cbdce7; padding-top: 18px; }
  .home-polished .vision-grid h3 { font-size: 21px; color: var(--home-ink); margin-bottom: 10px; }
  .home-polished .home-company .vision-grid p { font-size: 13px; color: #526b7d; line-height: 1.8; }
  .home-polished .published-figures { padding-block: 34px; display: grid; grid-template-columns: 1fr 1fr 1fr .65fr; gap: 40px; background: #edf3f8 url('/assets/home-visuals/energy-lines.svg') right -350px center / 680px no-repeat; border-block: 1px solid #e0e9ef; }
  .home-polished .published-figures > div { padding: 2px 0; gap: 4px; }
  .home-polished .published-figures > div + div { padding-left: 28px; border-left: 1px solid #d3e0e9; }
  .home-polished .published-figures strong { font-family: Outfit, sans-serif; font-size: 44px; font-weight: 500; letter-spacing: -.025em; color: var(--home-blue); }
  .home-polished .published-figures span { font-size: 13px; color: #47647b; }
  .home-polished .published-figures p { font-size: 11px; color: #526b7d; }

  .home-polished .solutions-section { overflow: clip; background: #fafbf8; }
  .home-polished .solutions-section::before { content: ''; position: absolute; width: 600px; height: 440px; left: -235px; bottom: -50px; background: url('/assets/home-visuals/energy-lines.svg') center / contain no-repeat; opacity: .7; }
  .home-polished .solutions-grid { grid-template-columns: 1fr 1.05fr; gap: 95px; }
  .home-polished .solutions-intro h2 { font-size: 51px; }
  .home-polished .solutions-intro > p { font-size: 15px; color: #536b7f; }
  .home-polished .solutions-intro figure { border-radius: 22px; margin-top: 32px; }
  .home-polished .solutions-intro figure img { height: 292px; }
  .home-polished .solutions-intro figcaption { background: linear-gradient(transparent, #102c40e8); color: #fff; font-size: 13px; padding: 40px 24px 20px; }
  .home-polished .service-row { grid-template-columns: 37px 1fr 28px; gap: 18px; padding: 26px 0; border-color: #d9e4ec; }
  .home-polished .service-row:first-child { padding-top: 3px; }
  .home-polished .service-number { font-family: Outfit, sans-serif; padding: 0; font-size: 15px; font-weight: 500; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #ecf2f8; color: #4773a1; }
  .home-polished .service-row h3 { font-size: 23px; margin-bottom: 9px; color: var(--home-ink); }
  .home-polished .service-row p { max-width: 405px; color: #526b7d; font-size: 14px; line-height: 1.75; }
  .home-polished .service-row > .icon { color: #346ba3; width: 22px; height: 22px; }
  .home-polished .service-row:hover h3 { color: var(--home-blue); }

  .home-polished .planner-section { padding-block: 82px; overflow: clip; color: #f5f8fa; background: radial-gradient(ellipse at 5% 115%, #99763b38, transparent 58%), #153448; }
  .home-polished .planner-section::before { content: ''; position: absolute; left: -280px; bottom: -390px; width: 740px; height: 740px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .8; }
  .home-polished .planner-section::after { content: ''; position: absolute; right: -240px; top: -80px; width: 680px; height: 560px; background: url('/assets/home-visuals/solar-cells.svg') center / contain no-repeat; opacity: .8; }
  .home-polished .planner-grid { gap: 100px; grid-template-columns: 1fr 1.05fr; }
  .home-polished .planner-intro .section-label { color: #e8c789; }
  .home-polished .planner-intro h2 { font-size: 58px; font-weight: 500; color: #f4f8fa; }
  .home-polished .planner-intro p { color: #bdced9; font-size: 16px; line-height: 1.8; }
  .home-polished .planner-intro .light-link { color: #f0d297; margin-top: 30px; }
  .home-polished .planner-card { padding: 36px 40px; border-radius: 24px; background: #f6f9fb; border: 1px solid #ffffffd9; box-shadow: 0 18px 48px #081f4220; color: var(--home-ink); }
  .home-polished .planner-card > label { font-size: 14px; }
  .home-polished .planner-card > label > span { color: #526b7d; font-size: 12px; }
  .home-polished .usage-number > output,
  .home-polished .estimate-result strong { font-family: Outfit, sans-serif; color: var(--home-blue); font-size: 54px; letter-spacing: -.025em; font-weight: 500; }
  .home-polished .estimate-result { border-color: #d4e1ea; }
  .home-polished .estimate-result > .category-icon { color: #b08440; }
  .home-polished .planner-card > .small { font-size: 12px; line-height: 1.8; color: #546b7d; }
  .home-polished .estimate-assumptions { font-size: 11px; color: #456580; }
  .home-polished .planner-card input[type=range]::-webkit-slider-runnable-track { height: 6px; background: linear-gradient(to right, var(--home-blue) var(--range-progress,24.3%), #d6e2ec var(--range-progress,24.3%)); }
  .home-polished .planner-card input[type=range]::-webkit-slider-thumb { width: 22px; height: 22px; border-color: var(--home-blue); background: #fff; box-shadow: 0 2px 8px #2057ca24; }
  .home-polished .planner-card input[type=range]::-moz-range-track { background: #d6e2ec; }
  .home-polished .planner-card input[type=range]::-moz-range-progress { background: var(--home-blue); }
  .home-polished .planner-card input[type=range]::-moz-range-thumb { border-color: var(--home-blue); background: #fff; }

  .home-polished .projects-section { overflow: clip; background: radial-gradient(ellipse at 105% 85%, #f5e9ce77, transparent 40%), #fafbf8; }
  .home-polished .projects-section::before { content: ''; position: absolute; right: -290px; bottom: -80px; width: 620px; height: 540px; background: url('/assets/home-visuals/solar-cells.svg') center / contain no-repeat; opacity: .5; }
  .home-polished .project-grid { gap: 28px; }
  .home-polished .project-photo { border-radius: 22px; border: 1px solid #dbe5eb; aspect-ratio: 1.62; box-shadow: 0 10px 28px #24476d08; }
  .home-polished .project-tag { background: #ffffffed; color: #2c526e; border-radius: 7px; border: 1px solid #fff; }
  .home-polished .round-arrow { background: #fff; color: var(--home-blue); width: 44px; height: 44px; }
  .home-polished .project-caption { align-items: center; margin-top: 21px; }
  .home-polished .project-caption h3 { font-size: 23px; }
  .home-polished .project-caption p { font-size: 13px; }
  .home-polished .process-heading { margin-top: 76px; }
  .home-polished .process-heading h3 { font-size: 32px; }
  .home-polished .process-list { gap: 27px; margin-top: 34px; }
  .home-polished .process-list li { border-color: #bfd0e0; padding-top: 22px; }
  .home-polished .process-list li::before { background: var(--home-blue); box-shadow: 0 0 0 5px #e8eef7; }
  .home-polished .process-list li > span { font-family: Outfit, sans-serif; color: #6685a1; font-size: 28px; margin-bottom: 16px; }
  .home-polished .process-list h4 { font-size: 17px; font-weight: 500; }
  .home-polished .process-list p { font-size: 13px; color: #556d81; }

  .home-polished .why-japston { overflow: clip; background: #eaf1f7; padding-block: 85px; }
  .home-polished .why-japston::before { content: ''; position: absolute; top: -290px; right: -210px; width: 650px; height: 650px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .8; }
  .home-polished .why-japston .values-grid { gap: 50px; margin-top: 48px; }
  .home-polished .why-japston .values-grid article { border-top: 1px solid #bdcfdd; padding-top: 22px; }
  .home-polished .why-japston .values-grid article > span { color: #547a9d; font-family: Outfit, sans-serif; font-size: 15px; }
  .home-polished .why-japston .values-grid h3 { font-size: 25px; margin-top: 15px; }
  .home-polished .why-japston .values-grid p { color: #4f697f; font-size: 14px; line-height: 1.85; }
  .home-polished .awards-line { margin-top: 32px; border-color: #c9d9e5; }
  .home-polished .company-partners { background: #fafbf8; padding-block: 78px; overflow: clip; }
  .home-polished .company-partners::before { content: ''; position: absolute; width: 520px; height: 360px; left: -240px; top: -35px; background: url('/assets/home-visuals/energy-lines.svg') center / contain no-repeat; opacity: .55; }
  .home-polished .company-partners h2 { color: var(--home-ink); font-size: 37px; line-height: 1.18; margin: 0 auto 42px; max-width: 650px; }
  .home-polished .partner-logos { gap: 23px 36px; }
  .home-polished .partner-logos img { height: 78px; width: 152px; object-fit: contain; }

  .home-polished .testimonials-section { background: #f0f5f8; overflow: clip; padding-block: 88px; }
  .home-polished .testimonials-section::before { content: '“' / ''; font-family: Georgia, serif; font-size: 490px; line-height: 1; color: #d4e2ed; opacity: .45; position: absolute; right: -15px; top: -85px; }
  .home-polished .testimonials-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
  .home-polished .testimonials-grid figure { padding: 30px 33px 28px; border: 1px solid #d9e4ec; border-radius: 19px; background: #ffffffde; position: relative; }
  .home-polished .testimonials-grid blockquote { font-size: 15px; line-height: 1.85; color: #3d5c73; margin-bottom: 24px; }
  .home-polished .testimonials-grid figcaption { border-top: 1px solid #e2eaf0; padding-top: 18px; gap: 5px; }
  .home-polished .testimonials-grid strong { font-family: Outfit, sans-serif; font-weight: 500; font-size: 17px; color: #1c405b; }
  .home-polished .testimonials-grid span { color: #607a8e; font-size: 12px; }

  .home-polished .faq-section { background: #fafbf8; overflow: clip; }
  .home-polished .faq-section::before { content: ''; position: absolute; left: -315px; bottom: -300px; width: 650px; height: 650px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .75; }
  .home-polished .faq-grid { gap: 90px; grid-template-columns: 1fr 1.2fr; }
  .home-polished .faq-grid h2 { font-size: 49px; }
  .home-polished .faq-grid > div > p { color: #526b7d; font-size: 15px; }
  .home-polished .faq-list { border: none; }
  .home-polished .faq-list details { background: #fff; border: 1px solid #dce6ec; border-radius: 12px; margin-bottom: 11px; padding: 0 21px; }
  .home-polished .faq-list details[open] { background: #f2f6fb; border-color: #c0d3e4; }
  .home-polished .faq-list summary { font-size: 14px; font-weight: 500; padding: 20px 0; gap: 22px; color: #1d405a; }
  .home-polished .faq-list summary > span { color: #2860b4; width: 28px; height: 28px; flex: none; display: grid; place-items: center; background: #edf3fb; border-radius: 50%; font-size: 18px; line-height: 1; transition: transform .2s; }
  .home-polished .faq-list details[open] summary > span { transform: rotate(45deg); }
  .home-polished .faq-list details p { padding-bottom: 22px; color: #516d83; font-size: 13px; }
  .home-polished .closing-cta { overflow: clip; margin: 0 auto 72px; width: min(1280px, calc(100% - 128px)); padding: 40px 48px; background: #f6eacf; border: 1px solid #ebdbb6; border-radius: 24px; gap: 50px; }
  .home-polished .closing-cta::before { content: ''; position: absolute; right: -100px; top: -160px; width: 550px; height: 550px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .7; }
  .home-polished .closing-cta h2 { font-family: Outfit, sans-serif; font-size: 35px; color: #294554; line-height: 1.15; max-width: 760px; }
  .home-polished .closing-cta p { color: #5a6864; font-size: 14px; line-height: 1.75; }
  .home-polished .closing-cta .button { border-radius: 12px; }

  .home-polished .contact-section { width: 100%; padding: 0 var(--home-inset) 75px; overflow: clip; background: #fafbf8; }
  .home-polished .contact-section::before { content: ''; position: absolute; right: -310px; top: 120px; width: 740px; height: 450px; background: url('/assets/home-visuals/energy-lines.svg') center / contain no-repeat; opacity: .7; }
  .home-polished .contact-grid { gap: 56px; grid-template-columns: 1fr 1.14fr; background: #eaf1f7; border: 1px solid #d8e4ec; border-radius: 26px; padding: 48px; }
  .home-polished .contact-page-form .contact-intro h2 { font-size: 42px; line-height: 1.12; color: #183c56; }
  .home-polished .contact-page-form .contact-intro > p { font-size: 14px; line-height: 1.85; color: #516b80; }
  .home-polished .contact-offices h3 { color: #1e435f; font-size: 18px; }
  .home-polished .contact-offices p { color: #516b80; }
  .home-polished .contact-page-form .contact-line { color: #2b567b; font-size: 14px; margin: 17px 0; }
  .home-polished .contact-page-form #quote-form { background: transparent; padding: 0; }
  .home-polished .form-grid { gap: 17px 16px; }
  .home-polished .form-grid label { font-size: 12px; color: #2d506a; }
  .home-polished .form-grid input,
  .home-polished .form-grid select,
  .home-polished .form-grid textarea { border: 1px solid #ccdce8; border-radius: 8px; background: #fcfdfd; font-size: 13px; color: #183b55; padding: 12px; }
  .home-polished .consent { color: #516b80; font-size: 11px; }
  .home-polished .form-note { color: #4f697f; font-size: 11px; }
  .home-polished #quote-form .button { border-radius: 10px; }
  .home-polished .newsletter { padding-block: 38px; border-top: 1px solid #dce6ec; background: #eef4f8; overflow: clip; gap: 65px; }
  .home-polished .newsletter::before { content: ''; position: absolute; right: -140px; top: -185px; width: 480px; height: 480px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .7; }
  .home-polished .newsletter h2 { font-family: Outfit, sans-serif; font-size: 31px; line-height: 1.18; color: #204660; }
  .home-polished .newsletter p { font-size: 13px; color: #567186; }
  .home-polished .newsletter input { border-radius: 10px; border-color: #cbdce8; font-size: 13px; background: #ffffffde; }
  .home-polished .newsletter .small { font-size: 11px; }
  .home-polished .site-footer { background: #122f43; overflow: clip; padding: 65px 0 25px; color: #e0eaf0; }
  .home-polished .site-footer::before { content: ''; position: absolute; width: 620px; height: 470px; right: -100px; bottom: -270px; background: url('/assets/home-visuals/solar-cells.svg') center / contain no-repeat; opacity: .55; }
  .home-polished .footer-grid { grid-template-columns: 1.15fr 1fr 1fr 1.3fr; gap: 48px; }
  .home-polished .footer-brand > p { color: #b5cad7; font-size: 13px; }
  .home-polished .footer-grid h3 { color: #f0d29b; font-size: 14px; font-family: Outfit, sans-serif; font-weight: 500; letter-spacing: .01em; }
  .home-polished .footer-grid > div:not(.footer-brand) > a { color: #bfd0dc; font-size: 12px; }
  .home-polished .footer-grid > div > p { color: #bfd0dc; font-size: 12px; }
  .home-polished .footer-grid a:hover { color: #f6d898; }
  .home-polished .footer-bottom { border-color: #ffffff1d; color: #bed0dc; font-size: 11px; }
  .home-polished .footer-bottom p { color: #a7bdcc; }
  .home-polished .floating-contact { background: #2057ca; box-shadow: 0 7px 23px #2057ca26; }
  .home-polished .site-header:not(.is-sticky) ~ .floating-contact { display: none; }
}

/* Desktop density refinements only; mobile is a separate approval stage. */
@media (min-width: 1001px) and (max-width: 1280px) {
  .home-polished { --home-inset: 52px; }
  .home-polished .container { width: calc(100% - 104px); }
  .home-polished .site-header .header-inner { padding-inline: 20px; gap: 16px; }
  .home-polished .site-header .desktop-nav { gap: 20px; }
  .home-polished .site-header .header-quote { min-width: 142px; padding-inline: 17px; }
  .home-polished .header-phone { gap: 7px; margin: 0 2px; }
  .home-polished .header-phone strong { font-size: 11px; }
  .home-polished .hero-content { width: calc(100% - 310px); }
  .home-polished .hero h1 { font-size: 57px; }
  .home-polished .hero .hero-description { font-size: 16px; }
  .home-polished .hero-benefits { left: 2.9%; }
  .home-polished .hero-note { font-size: 28px; right: 3%; }
  .home-polished .hero-categories { width: calc(100% - 28vw); gap: 11px; }
  .home-polished .category-copy strong { font-size: 12px; }
  .home-polished .category-copy small { font-size: 9px; }
  .home-polished .hero-trust-wrap { padding-inline: 22px; gap: 15px; }
  .home-polished .hero-trust > div { gap: 9px; padding-inline: 9px; }
  .home-polished .hero-trust strong { font-size: 11px; }
  .home-polished .hero-trust small { font-size: 9px; }
  .home-polished .hero-trust .icon { width: 25px; height: 25px; }
  .home-polished .trust-note { width: 98px; font-size: 22px; }
  .home-polished .popular-searches { font-size: 10px; gap: 5px; }
  .home-polished .popular-searches a { padding-inline: 9px; }
  .home-polished .home-company { gap: 60px; }
  .home-polished .home-company h2 { font-size: 44px; }
  .home-polished .solutions-grid { gap: 66px; }
  .home-polished .solutions-intro h2 { font-size: 45px; }
  .home-polished .planner-grid { gap: 65px; }
  .home-polished .planner-intro h2 { font-size: 53px; }
  .home-polished .contact-grid { padding: 36px; gap: 38px; }
  .home-polished .contact-page-form .contact-intro h2 { font-size: 37px; }
}

@media (min-width: 1001px) and (max-height: 780px) {
  .home-polished .site-header,
  .home-polished .site-header.is-sticky { margin-block: 10px 12px; top: 10px; border-radius: 21px; }
  .home-polished .site-header .header-inner,
  .home-polished .site-header.is-sticky .header-inner { height: 74px; }
  .home-polished .site-header .brand img,
  .home-polished .site-header.is-sticky .brand img { height: 65px; width: 99px; }
  .home-polished .site-header .brand,
  .home-polished .site-header.is-sticky .brand { width: 99px; }
  .home-polished .hero { padding-top: 18px; border-radius: 24px; }
  .home-polished .hero-eyebrow { margin-bottom: 14px; min-height: 28px; padding-block: 5px; font-size: 9px; }
  .home-polished .hero h1 { font-size: 50px; }
  .home-polished .hero .hero-description { font-size: 15px; margin: 14px auto 18px; line-height: 1.45; }
  .home-polished .hero-search { min-height: 59px; padding: 6px; }
  .home-polished .hero-search #hero-query { min-height: 44px; height: 44px; font-size: 13px; }
  .home-polished .hero-search .button { min-height: 44px; padding-block: 11px; }
  .home-polished .popular-searches { margin-top: 10px; }
  .home-polished .hero-categories { margin: 19px auto 15px; }
  .home-polished .hero-category { height: 158px; padding: 8px 11px 11px; }
  .home-polished .hero-benefits { top: 106px; }
  .home-polished .hero-benefits ul { margin-top: 24px; gap: 14px; }
  .home-polished .hero-benefits li { font-size: 11px; }
  .home-polished .benefit-icon { width: 37px; height: 37px; }
  .home-polished .benefit-icon .icon { width: 22px; height: 22px; }
  .home-polished .hero-note { top: 57px; font-size: 27px; }
  .home-polished .hero-trust-wrap { min-height: 78px; padding-block: 8px; }
  .home-polished .hero-trust { min-height: 60px; }
  .home-polished .hero-backdrop { bottom: 78px; }
}

/* Earth & Sun: photography-led desktop homepage. Mobile uses the existing stylesheet. */
.home-polished .faq-photo { display: none; }
@media (max-width: 1000px) {
  .home-polished .company-photo { display: contents; }
  .home-polished .company-photo img { width: 100%; height: 280px; object-fit: cover; border-radius: 15px; }
}
@media (min-width: 1001px) {
  .home-polished {
    --home-ink: #173d36; --home-copy: #50645c;
    --home-blue: #17624c; --home-blue-dark: #104938;
    --home-ice: #e2edf8; --home-paper: #fcfcf7; --home-gold: #e5b54a;
    --home-line: #d9e2d8; --forest-dark: #102f28;
    --home-lime: #e0ed9c; --home-peach: #f5cbb4;
    --home-inset: max(64px, calc((100% - 1280px) / 2));
  }
  .home-polished h2 { font-size: clamp(42px, 3.55vw, 54px); font-weight: 500; }
  .home-polished .section-label { color: #406753; }
  .home-polished .section-label::before { background: #bc862a; }
  .home-polished .button { border-radius: 99px; }
  .home-polished .button-green, .home-polished .button-blue { background: #17624c; border-color: transparent; box-shadow: none; }
  .home-polished .button-green:hover, .home-polished .button-blue:hover { background: #104938; box-shadow: 0 6px 18px #123d3620; }
  .home-polished :focus-visible { outline-color: #aa6b16; }
  .home-polished .site-header, .home-polished .site-header.is-sticky {
    border-radius: 28px; background: #fffffcf5;
    box-shadow: 0 8px 30px #173d3610, 0 0 38px #b8d8921c;
  }
  .home-polished .site-header .header-quote { border-radius: 99px; }
  .home-polished .site-header .icon-button { color: #285444; }
  .home-polished .header-search { background: #eef2e6; }

  /* A centered, working solar store over a clearly visible landscape. */
  .home-polished .hero { background: #193e34; color: #fffef7; border: none; border-radius: 30px; padding-top: 30px; }
  .home-polished .hero::before, .home-polished .hero::after { content: none; }
  .home-polished .hero-backdrop { inset: 0 0 98px; }
  .home-polished .hero-backdrop img { object-position: 50% 68%; }
  .home-polished .hero-backdrop::before { content: none; backdrop-filter: none; }
  .home-polished .hero-backdrop::after { background: linear-gradient(90deg, #102f29bd, #0c3029d4 30%, #133d33c9 60%, #183e3163), linear-gradient(#14352d77, #16372a22 80%); }
  .home-polished .hero-content { width: min(920px, calc(100% - 330px)); }
  .home-polished .hero-eyebrow { background: #ffffff0d; border-color: #ffffff40; color: #f4f8e8; font-size: 10px; letter-spacing: .16em; margin-bottom: 20px; }
  .home-polished .hero-eyebrow .icon { color: #e0ed9c; }
  .home-polished .hero h1 { color: #fffdf2; font-weight: 500; font-size: clamp(56px, 4.7vw, 74px); line-height: 1.02; letter-spacing: -.04em; }
  .home-polished .hero h1 span { color: #e0ed9c; }
  .home-polished .hero h1 span::after { content: none; }
  .home-polished .hero .hero-description { color: #ebeee3; margin: 20px auto 24px; font-size: 17px; line-height: 1.55; }
  .home-polished .hero-description strong { color: #fffdf2; }
  .home-polished .hero-search { background: #fffef8; box-shadow: 0 10px 30px #102f282e; border: 1px solid #fffffa; border-radius: 99px; padding: 8px; }
  .home-polished .hero-search #hero-query { color: #214939; }
  .home-polished .hero-search input::placeholder { color: #5c6c60; }
  .home-polished .hero-search .button { border-radius: 99px; background: #dfea9d; color: #233b24; padding-inline: 26px; }
  .home-polished .hero-search .button:hover { background: #cfdf83; }
  .home-polished .hero-search:focus-within { border-color: #e0ed9c; box-shadow: 0 0 0 4px #e0ed9c55; }
  .home-polished .hero-search-field > .icon { color: #456648; }
  .home-polished .popular-searches { color: #e9eddc; margin-top: 14px; }
  .home-polished .popular-searches a { color: #f6f7ee; background: #173f35e6; border-color: #ffffff35; border-radius: 99px; }
  .home-polished .popular-searches a:hover { background: #e0ed9c; color: #243e2b; border-color: #e0ed9c; }
  .home-polished .hero-benefits { top: 142px; }
  .home-polished .hero-benefits .benefits-intro { color: #ecf0dc; border-color: #e0ed9c; }
  .home-polished .hero-benefits li { color: #f3f6ea; }
  .home-polished .benefit-icon { background: #edf4d8; border: 0; box-shadow: none; }
  .home-polished .benefit-icon .icon { color: #31623e; }
  .home-polished .hero-note { color: #f2edce; opacity: 1; }
  .home-polished .hero-note span { border-color: #e0ed9c; }
  .home-polished .hero-categories { width: min(1000px, calc(100% - 29vw)); gap: 13px; margin-block: 28px; }
  .home-polished .hero-category { border: 1px solid #ffffffab; box-shadow: 0 10px 28px #0c2d2922; border-radius: 19px; color: #213c31; height: 187px; }
  .home-polished .hero-category:nth-child(1) { background: #f4f1d5; border-radius: 38px 18px 18px 18px; }
  .home-polished .hero-category:nth-child(2) { background: #e4eff7; }
  .home-polished .hero-category:nth-child(3) { background: #e4edcc; }
  .home-polished .hero-category:nth-child(4) { background: #f5ddce; }
  .home-polished .hero-category:nth-child(5) { background: #eee8f5; border-radius: 18px 38px 18px 18px; }
  .home-polished .hero-category:hover { border-color: #e0ed9c; box-shadow: 0 12px 26px #0c2d294d; }
  .home-polished .category-copy small { color: #53675b; }
  .home-polished .category-arrow { color: #2b5747; background: #ffffffa8; }
  .home-polished .hero-trust-wrap { min-height: 102px; background: #fcfcf6; border: 0; border-radius: 24px 24px 0 0; padding-block: 14px; }
  .home-polished .hero-trust > div { color: #203e33; }
  .home-polished .hero-trust > div + div { border-color: #dce2d2; }
  .home-polished .hero-trust .icon { color: #467454; }
  .home-polished .hero-trust small { color: #5a6c61; }
  .home-polished .trust-note { color: #3c6645; }
  .home-polished .trust-note::after { border-color: #bc8a32; }

  /* Consistent content axis; contrasting photographic and colored compositions. */
  .home-polished main > section::before, .home-polished main > section::after { content: none; }
  .home-polished .shop-section { background: #fcfcf7; padding-top: 94px; }
  .home-polished .shop-section::before { content: ''; position: absolute; background: url('/assets/home-visuals/solar-cells.svg') center / contain no-repeat; width: 540px; height: 440px; right: -200px; top: -30px; opacity: .5; }
  .home-polished .shop-section .section-heading h2 { color: #173d36; }
  .home-polished .category-nav { padding: 0; gap: 12px; background: none; border-radius: 0; margin-bottom: 40px; }
  .home-polished .category-nav .category { min-height: 89px; padding: 18px; border-radius: 18px; background: #e4edf5; color: #284e62; border: 1px solid #d4e2ee; }
  .home-polished .category-nav .category:nth-child(2) { background: #e7eed6; color: #415c2a; border-color: #d6e2bd; }
  .home-polished .category-nav .category:nth-child(3) { background: #f8ebc5; color: #705221; border-color: #eddda8; }
  .home-polished .category-nav .category:nth-child(4) { background: #f6ded1; color: #7a4934; border-color: #e8cabc; }
  .home-polished .category-nav .category:nth-child(5) { background: #eae5f0; color: #5e4d75; border-color: #dcd4e7; }
  .home-polished .category-nav .category.active { color: #fffdf3; background: #214e3e; border-color: #214e3e; box-shadow: 0 6px 14px #214e3e16; }
  .home-polished .category-nav .category:hover { box-shadow: inset 0 0 0 1px currentColor; }
  .home-polished .category-nav .category.active:hover { background: #173d30; }
  .home-polished .category-nav .category .category-icon { width: 27px; height: 27px; }
  .home-polished .catalogue-heading h3 { color: #274639; font-size: 25px; }
  .home-polished .filter-tabs button { border-radius: 99px; color: #516658; }
  .home-polished .filter-tabs button.active { background: #244c3c; }
  .home-polished .filter-tabs button:hover:not(.active) { background: #e7eddd; border-color: #d7e0ce; }
  .home-polished .product-grid { gap: 20px; }
  .home-polished .catalog-card { border: 1px solid #dce3d8; border-radius: 23px; background: #fffefa; box-shadow: none; }
  .home-polished .catalog-card:hover { border-color: #729373; box-shadow: 0 12px 26px #173d3610; }
  .home-polished .catalog-photo { background: #eaf0e3; border-bottom: 0; aspect-ratio: 1.22; margin: 9px 9px 0; border-radius: 17px; overflow: hidden; }
  .home-polished .catalog-card:nth-child(4n+2) .catalog-photo { background: #e2edf8; }
  .home-polished .catalog-card:nth-child(4n+3) .catalog-photo { background: #f7e7c9; }
  .home-polished .catalog-card:nth-child(4n+4) .catalog-photo { background: #f3dfd2; }
  .home-polished .catalog-photo img { mix-blend-mode: multiply; }
  .home-polished .catalog-copy { padding: 20px 22px; }
  .home-polished .catalog-copy .product-brand { color: #51705c; }
  .home-polished .catalog-copy h3 { color: #284236; }
  .home-polished .catalog-copy .catalog-price { color: #1e4635; }
  .home-polished .catalog-card-bottom { border-color: #e0e6d9; }
  .home-polished .catalog-card-bottom .add-product { background: #eaf0de; color: #2b573c; border: 0; }
  .home-polished .catalogue-note { color: #5d6e61; }
  .home-polished .expert-strip { background: #ead697; border: 0; border-radius: 16px; }
  .home-polished .expert-strip > .icon, .home-polished .expert-strip .text-link { color: #4f481f; }
  .home-polished .expert-strip p { color: #504c2f; }
  .home-polished .brand-rail { border-color: #dce2d5; margin-top: 36px; padding-bottom: 38px; }
  .home-polished .brand-rail-label, .home-polished .brand-pause { color: #576853; }

  /* The human side of solar: wide team image, two contrasting vision panels. */
  .home-polished .home-company { padding-block: 98px 72px; background: #edf1df; gap: 65px; align-items: center; }
  .home-polished .home-company::before { content: ''; position: absolute; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; width: 560px; height: 560px; left: -310px; bottom: -240px; opacity: .75; }
  .home-polished .home-company h2 { color: #173d30; font-size: 50px; }
  .home-polished .home-company > div > p { color: #4d6251; }
  .home-polished .company-photo { display: block; width: 100%; border-radius: 96px 24px 24px 24px; overflow: hidden; background: #dce7c6; }
  .home-polished .company-photo img { width: 100%; height: auto; aspect-ratio: 1.96; object-fit: cover; object-position: center; display: block; }
  .home-polished .home-company .vision-grid { gap: 14px; margin-top: 16px; }
  .home-polished .vision-grid > div { padding: 22px 24px; background: #fcfcf2; border: 0; border-radius: 18px; }
  .home-polished .vision-grid > div:nth-child(2) { background: #d7e4af; }
  .home-polished .vision-grid h3 { color: #34512e; font-size: 21px; }
  .home-polished .home-company .vision-grid p { color: #516348; font-size: 12px; line-height: 1.8; }
  .home-polished .published-figures { background: #214d3b url('/assets/home-visuals/energy-lines.svg') right -370px center / 750px no-repeat; border: 0; padding-block: 36px; gap: 30px; }
  .home-polished .published-figures strong { color: #e2edaf; font-size: 47px; }
  .home-polished .published-figures > div:nth-child(2) strong { color: #f2d38b; }
  .home-polished .published-figures > div:nth-child(3) strong { color: #cadfec; }
  .home-polished .published-figures span, .home-polished .published-figures p { color: #e1e9db; }
  .home-polished .published-figures > div + div { border-color: #ffffff2c; }

  /* A tall arched installation photograph and an editorial service list. */
  .home-polished .solutions-section { background: #fcf7ed; padding-block: 100px; }
  .home-polished .solutions-section::before { content: ''; position: absolute; width: 540px; height: 600px; left: -210px; top: 210px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .85; }
  .home-polished .solutions-grid { grid-template-columns: .95fr 1.05fr; gap: 94px; align-items: start; }
  .home-polished .solutions-intro h2 { color: #3e4934; font-size: 49px; }
  .home-polished .solutions-intro > p { color: #636951; }
  .home-polished .solutions-intro figure { width: 86%; max-width: 440px; border-radius: 210px 210px 26px 26px; margin: 32px auto 26px; overflow: hidden; }
  .home-polished .solution-photo { display: block; }
  .home-polished .solutions-intro figure img { height: 376px; width: 100%; object-fit: cover; object-position: 61% center; }
  .home-polished .solutions-intro figcaption { font-size: 13px; text-align: center; background: linear-gradient(transparent, #122d29e8); padding: 40px 20px 24px; }
  .home-polished .service-list { padding-top: 5px; }
  .home-polished .service-row { padding: 25px 24px; margin-bottom: 12px; border: 1px solid #e5dfcd; border-radius: 18px; background: #fffcf5; grid-template-columns: 32px 1fr 26px; gap: 17px; }
  .home-polished .service-row:first-child { padding-top: 25px; background: #e5edda; border-color: #d6e2c9; border-radius: 32px 18px 18px 18px; }
  .home-polished .service-row:nth-child(2) { background: #e4edf6; border-color: #d3e0ee; }
  .home-polished .service-row:nth-child(3) { background: #f4dfce; border-color: #e9cdb9; }
  .home-polished .service-row:nth-child(4) { background: #f4e9c8; border-color: #e6d9b2; }
  .home-polished .service-row:nth-child(5) { background: #dde8d3; border-color: #cfdcbd; border-radius: 18px 18px 32px 18px; }
  .home-polished .service-number { background: transparent; color: #596d55; font-size: 14px; border-radius: 0; width: auto; }
  .home-polished .service-row h3 { font-size: 23px; margin: 0 0 7px; color: #2d4a3a; }
  .home-polished .service-row p { font-size: 13px; color: #536454; line-height: 1.7; }
  .home-polished .service-row > .icon { background: #ffffffb3; border-radius: 50%; color: #456b46; padding: 5px; width: 30px; height: 30px; }
  .home-polished .service-row:hover { border-color: #789171; box-shadow: 0 4px 12px #414d300b; }

  /* Sunny planning tool: a strong warm surface and a contrasting blue result. */
  .home-polished .planner-section { color: #483d24; background: #efcd79; padding-block: 82px; }
  .home-polished .planner-section::before { content: ''; position: absolute; width: 790px; height: 790px; left: -210px; top: -220px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .7; }
  .home-polished .planner-section::after { content: ''; position: absolute; right: -130px; bottom: -220px; width: 660px; height: 560px; background: url('/assets/home-visuals/solar-cells.svg') center / contain no-repeat; opacity: .4; }
  .home-polished .planner-grid { gap: 110px; align-items: center; }
  .home-polished .planner-intro .section-label { color: #665122; }
  .home-polished .planner-intro .section-label::before { background: #786428; }
  .home-polished .planner-intro h2 { color: #3e472d; font-size: 61px; }
  .home-polished .planner-intro p { color: #625332; font-size: 17px; }
  .home-polished .planner-intro .light-link { color: #4d4927; }
  .home-polished .planner-card { background: #fffdf4; border: 1px solid #fff4d3; border-radius: 28px 28px 72px 28px; padding: 38px 40px; box-shadow: 0 20px 38px #9d712216; }
  .home-polished .planner-card > label { color: #344d3e; }
  .home-polished .planner-card > label > span { color: #66705a; }
  .home-polished .usage-number > output { color: #284f3c; }
  .home-polished .usage-number > span, .home-polished .range-labels { color: #5b6854; }
  .home-polished .estimate-result { background: #e4edf6; margin: 25px -14px 18px; padding: 19px 23px; border: 0; border-radius: 16px; }
  .home-polished .estimate-result strong { color: #315b7b; font-size: 52px; }
  .home-polished .estimate-result > div > span { color: #4c6680; }
  .home-polished .estimate-result > .category-icon { color: #517493; }
  .home-polished .planner-card > .small { color: #5f6954; }
  .home-polished .estimate-assumptions { color: #566548; }
  .home-polished .planner-card input[type=range]::-webkit-slider-runnable-track { background: linear-gradient(to right, #517841 var(--range-progress,24.3%), #e0e6cc var(--range-progress,24.3%)); }
  .home-polished .planner-card input[type=range]::-webkit-slider-thumb { border-color: #456b37; box-shadow: 0 2px 6px #456b3720; }
  .home-polished .planner-card input[type=range]::-moz-range-progress { background: #517841; }
  .home-polished .planner-card input[type=range]::-moz-range-thumb { border-color: #456b37; }

  /* Unequal project cards put warm industrial and blue residential photos together. */
  .home-polished .projects-section { background: #fcfcf7; }
  .home-polished .projects-section::before { content: ''; position: absolute; right: -260px; top: -170px; width: 520px; height: 520px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .7; }
  .home-polished .project-grid { grid-template-columns: 1.22fr 1fr; gap: 27px; align-items: start; }
  .home-polished .project-card { background: #e2edf8; border-radius: 28px; overflow: hidden; padding: 10px; }
  .home-polished .project-card:nth-child(2) { background: #f1dcc4; margin-top: 62px; border-radius: 28px 80px 28px 28px; }
  .home-polished .project-photo { border: 0; border-radius: 21px; aspect-ratio: auto; height: 350px; box-shadow: none; }
  .home-polished .project-card:nth-child(2) .project-photo { height: 295px; border-radius: 21px 72px 21px 21px; }
  .home-polished .project-photo img { object-position: center 69%; }
  .home-polished .project-card:nth-child(2) img { object-position: center 45%; }
  .home-polished .project-tag { background: #fffef1ed; color: #34563e; border: 0; border-radius: 99px; }
  .home-polished .round-arrow { background: #f7f6e8; color: #34543a; }
  .home-polished .project-caption { padding: 9px 16px 15px; margin-top: 14px; gap: 14px; }
  .home-polished .project-caption h3 { font-size: 22px; color: #31506a; }
  .home-polished .project-caption p { color: #526b7d; font-size: 12px; }
  .home-polished .project-card:nth-child(2) h3 { color: #694a2a; }
  .home-polished .project-card:nth-child(2) p { color: #6c573c; }
  .home-polished .process-heading { margin-top: 78px; }
  .home-polished .process-heading h3 { color: #2b4a35; }
  .home-polished .process-list { gap: 0; border-radius: 22px; background: #eff1e3; padding: 27px 8px; }
  .home-polished .process-list li { border: 0; padding: 5px 24px; }
  .home-polished .process-list li + li { border-left: 1px solid #d6decb; }
  .home-polished .process-list li::before { display: none; }
  .home-polished .process-list li > span { color: #6c814b; font-size: 34px; margin-bottom: 16px; }
  .home-polished .process-list h4 { color: #355133; }
  .home-polished .process-list p { color: #5b6c50; }

  /* Real solar imagery with a floating benefit panel, inspired by the scenic band. */
  .home-polished .why-japston { background: linear-gradient(#10372ace, #143e2d80 66%, #143e2dbd), url('/assets/hero-real.jpeg') center 48% / cover no-repeat; min-height: 680px; padding-block: 76px 56px; color: #fafbef; }
  .home-polished .why-japston .section-label { color: #e2edb3; }
  .home-polished .why-japston .section-label::before { background: #e2edb3; }
  .home-polished .why-japston h2 { color: #fffdeb; }
  .home-polished .why-japston .section-heading > p { color: #eff2dd; }
  .home-polished .why-japston .values-grid { margin-top: 130px; gap: 0; border-radius: 22px; background: #fcfcf2; padding: 30px 10px; box-shadow: 0 16px 38px #0a2a2820; }
  .home-polished .why-japston .values-grid article { border: 0; padding: 0 28px; }
  .home-polished .why-japston .values-grid article + article { border-left: 1px solid #d7dfca; }
  .home-polished .why-japston .values-grid article > span { color: #738746; font-size: 13px; }
  .home-polished .why-japston .values-grid h3 { color: #36523b; font-size: 24px; }
  .home-polished .why-japston .values-grid p { color: #5c6d53; font-size: 13px; }
  .home-polished .credentials-line { border-color: #ffffff4a; margin-top: 26px; padding-top: 20px; }
  .home-polished .credentials-line h3 { color: #fffbe2; }
  .home-polished .credentials-line a { color: #fff1c5; }

  .home-polished .company-partners { background: #fcfcf7; padding-block: 77px; }
  .home-polished .company-partners h2 { color: #355140; font-size: 35px; }
  .home-polished .partner-logos { gap: 22px 35px; }
  .home-polished .partner-logos img { width: 150px; height: 78px; }

  /* A warm editorial quote mosaic; original client quotes, no invented portraits. */
  .home-polished .testimonials-section { background: #f4ece1; padding-block: 88px; }
  .home-polished .testimonials-section::before { content: ''; position: absolute; right: -250px; top: -230px; width: 630px; height: 630px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .75; }
  .home-polished .testimonials-section .section-heading { gap: 80px; }
  .home-polished .testimonials-grid { grid-template-columns: 1.1fr 1fr; gap: 20px; }
  .home-polished .testimonials-grid figure { padding: 32px 34px; border: 0; border-radius: 20px; background: #f7d9c3; }
  .home-polished .testimonials-grid figure:nth-child(1) { background: #2c523f; border-radius: 44px 20px 20px 20px; }
  .home-polished .testimonials-grid figure:nth-child(3) { background: #e1e9d0; }
  .home-polished .testimonials-grid figure:nth-child(4) { background: #e0e9f0; border-radius: 20px 20px 44px 20px; }
  .home-polished .testimonials-grid blockquote { font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.65; color: #534d36; margin-bottom: 25px; }
  .home-polished .testimonials-grid figure:nth-child(1) blockquote { color: #f8fae8; }
  .home-polished .testimonials-grid figure:nth-child(3) blockquote { color: #3e5432; }
  .home-polished .testimonials-grid figure:nth-child(4) blockquote { color: #3b566e; }
  .home-polished .testimonials-grid figcaption { border-color: #95856255; }
  .home-polished .testimonials-grid strong { color: #4f4d32; font-size: 16px; }
  .home-polished .testimonials-grid span { color: #655c42; }
  .home-polished .testimonials-grid figure:nth-child(1) strong { color: #e5edb6; }
  .home-polished .testimonials-grid figure:nth-child(1) span { color: #d2dfc5; }
  .home-polished .testimonials-grid figure:nth-child(1) figcaption { border-color: #ffffff30; }

  .home-polished .faq-section { background: #fcfcf7; padding-block: 94px; }
  .home-polished .faq-grid { gap: 100px; }
  .home-polished .faq-grid h2 { color: #344e3d; font-size: 47px; }
  .home-polished .faq-grid > div > p { color: #5e6e59; }
  .home-polished .faq-photo { display: block; width: 295px; height: 180px; object-fit: cover; object-position: center; margin-top: 30px; border-radius: 14px 85px 14px 14px; }
  .home-polished .faq-list details { border: 0; border-bottom: 1px solid #dce2d1; border-radius: 0; background: transparent; padding: 0 0 0 4px; margin: 0; }
  .home-polished .faq-list details[open] { background: #f5f1df; border-color: #d9cfaa; padding-inline: 18px; border-radius: 14px; }
  .home-polished .faq-list summary { color: #36513d; padding: 25px 0; font-size: 15px; }
  .home-polished .faq-list summary > span { color: #496943; background: #ecf0dd; }
  .home-polished .faq-list details p { color: #5b6a50; }

  .home-polished .closing-cta { background: #dd8e6b; border: 0; border-radius: 28px 86px 28px 28px; padding: 44px 46px; }
  .home-polished .closing-cta::before { content: ''; position: absolute; width: 560px; height: 560px; right: -175px; top: -210px; background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .45; }
  .home-polished .closing-cta h2 { color: #412d24; font-size: 38px; max-width: 690px; }
  .home-polished .closing-cta p { color: #432f24; }
  .home-polished .closing-cta .button { border-radius: 99px; background: #fff3d6; color: #4c3924; }
  .home-polished .closing-cta .button:hover { background: #f5e2b8; }

  .home-polished .contact-section { background: #fcfcf7; padding-bottom: 85px; }
  .home-polished .contact-grid { background: #e2ecf4; border: 0; border-radius: 30px; padding: 48px; gap: 65px; }
  .home-polished .contact-page-form .contact-intro h2 { color: #2e526e; font-size: 43px; }
  .home-polished .contact-intro .section-label { color: #496985; }
  .home-polished .contact-page-form .contact-intro > p { color: #50697c; }
  .home-polished .contact-page-form .office-block h3 { color: #365f78; font-size: 18px; }
  .home-polished .contact-page-form .office-block p { color: #526b7c; }
  .home-polished .contact-page-form .contact-line, .home-polished .contact-page-form .text-link { color: #355b75; }
  .home-polished .contact-page-form #quote-form { background: #fdfdf7; padding: 30px; border-radius: 22px; }
  .home-polished .form-grid { gap: 17px 16px; }
  .home-polished .form-grid label { color: #405e6d; }
  .home-polished #quote-form .form-grid > label:has(#customer-email) { grid-column: 1 / -1; }
  .home-polished #quote-form .field-hint { font-size: 10px; line-height: 1.5; }
  .home-polished .form-grid input, .home-polished .form-grid select, .home-polished .form-grid textarea { background: #f4f7f5; border: 1px solid #d5dfdc; border-radius: 9px; color: #2d5145; }
  .home-polished .consent, .home-polished .form-note, .home-polished .field-hint { color: #5a6c60; }
  .home-polished #quote-form .button { border-radius: 99px; }
  .home-polished .newsletter { background: #e4ebc9; padding-block: 40px; border: 0; }
  .home-polished .newsletter::before { background: url('/assets/home-visuals/sun-orbits.svg') center / contain no-repeat; opacity: .7; }
  .home-polished .newsletter h2 { color: #3f582e; font-size: 32px; }
  .home-polished .newsletter p { color: #5d6d49; }
  .home-polished .newsletter input { background: #fffdf4; border-color: #ccd6b0; border-radius: 99px; }
  .home-polished .site-footer { background: #153a2e; border-radius: 32px 32px 0 0; padding-top: 65px; }
  .home-polished .site-footer::before { background: url('/assets/home-visuals/solar-cells.svg') center / contain no-repeat; opacity: .5; }
  .home-polished .footer-grid h3 { color: #e5eaa4; }
  .home-polished .footer-grid > div > p, .home-polished .footer-brand > p, .home-polished .footer-grid > div:not(.footer-brand) > a { color: #d0decb; }
  .home-polished .footer-bottom { border-color: #ffffff26; color: #d0decb; }
  .home-polished .footer-bottom p { color: #c0d1b9; }
  .home-polished .footer-grid a:hover { color: #f2d58a; }
  .home-polished .floating-contact { background: #17624c; box-shadow: 0 6px 24px #173d362b; }
}
@media (min-width: 1001px) and (max-width: 1280px) {
  .home-polished { --home-inset: 52px; }
  .home-polished .hero h1 { font-size: 57px; }
  .home-polished .hero .hero-description { font-size: 16px; }
  .home-polished .hero-content { width: calc(100% - 310px); }
  .home-polished .hero-categories { width: calc(100% - 28vw); gap: 11px; }
  .home-polished .category-nav .category { font-size: 11px; padding: 15px 12px; gap: 8px; }
  .home-polished .category-nav { gap: 8px; }
  .home-polished .home-company { gap: 52px; }
  .home-polished .home-company h2 { font-size: 45px; }
  .home-polished .solutions-grid { gap: 66px; }
  .home-polished .solutions-intro h2 { font-size: 43px; }
  .home-polished .service-row { padding: 23px 19px; gap: 12px; }
  .home-polished .service-row:first-child { padding-top: 23px; }
  .home-polished .service-row h3 { font-size: 21px; }
  .home-polished .planner-grid { gap: 65px; }
  .home-polished .planner-intro h2 { font-size: 55px; }
  .home-polished .project-caption { flex-direction: column; align-items: start; gap: 5px; }
  .home-polished .contact-section, .home-polished .published-figures, .home-polished .newsletter { width: 100%; }
  .home-polished .contact-grid { padding: 36px; gap: 38px; grid-template-columns: 1fr 1.16fr; }
  .home-polished .contact-page-form .contact-intro h2 { font-size: 37px; }
  .home-polished .contact-page-form #quote-form { padding: 25px; }
}
@media (min-width: 1001px) and (max-height: 780px) {
  .home-polished .hero { padding-top: 18px; }
  .home-polished .hero-eyebrow { margin-bottom: 14px; }
  .home-polished .hero h1 { font-size: 50px; }
  .home-polished .hero .hero-description { font-size: 15px; margin: 14px auto 18px; line-height: 1.45; }
  .home-polished .hero-search { padding: 6px; }
  .home-polished .popular-searches { margin-top: 10px; }
  .home-polished .hero-categories { margin: 19px auto 15px; }
  .home-polished .hero-category { height: 158px; }
  .home-polished .hero-benefits { top: 106px; }
  .home-polished .hero-trust-wrap { min-height: 78px; padding-block: 8px; }
  .home-polished .hero-backdrop { bottom: 78px; }
}

/* Original project photography and the complete project directory. */
.home-polished .project-library-teasers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:28px; }
.home-polished .project-teaser { display:flex; flex-direction:column; background:#edf1e3; border:1px solid #dbe3cd; border-radius:22px; padding:10px; color:#173d36; transition:border-color .2s,box-shadow .2s; }
.home-polished .project-teaser:nth-child(2) { background:#e7eef7; border-color:#d5e1ed; }
.home-polished .project-teaser:nth-child(3) { background:#f5ecd1; border-color:#e9deb8; }
.home-polished .project-teaser:nth-child(4) { background:#f4e5d9; border-color:#e7d5c7; }
.home-polished .project-teaser-image { height:188px; border-radius:14px; background:#fff8; overflow:hidden; }
.home-polished .project-teaser-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; padding:0; }
.home-polished .project-teaser-type { font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin:18px 10px 10px; color:#53654e; }
.home-polished .project-teaser h3 { font-size:19px; line-height:1.35; font-weight:500; letter-spacing:-.025em; margin:0 10px 20px; }
.home-polished .project-teaser-link { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:auto 10px 10px; padding-top:15px; border-top:1px solid #173d3622; font-size:12px; font-weight:600; }
.home-polished .project-teaser:hover { border-color:#668a6d; box-shadow:0 8px 24px #173d3612; }
.home-polished .project-photo-count { display:block; margin-top:12px; font-size:12px; color:#596959; }
.home-polished .project-caption h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.home-polished .projects-section .project-photo img { object-fit:cover; object-position:center; padding:0; transform:none; filter:none; }
.home-polished .projects-section .project-photo { background:#fff6; }
.home-polished .projects-section .project-tag { top:14px; bottom:auto; left:14px; }
@media (min-width:1001px) and (max-width:1280px) {
  .home-polished .site-header .desktop-nav { gap:18px; }
  .home-polished .site-header .header-inner { gap:20px; }
  .home-polished .project-teaser h3 { font-size:17px; }
}
@media (max-width:1000px) { .home-polished .project-library-teasers { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .home-polished .project-library-teasers { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .home-polished .project-teaser { transition:none; } }

/* Homepage project showcase: large original photos and aligned project summaries. */
.home-polished .projects-heading-aside > p { margin:0 0 20px; max-width:390px; color:#53665e; font-size:15px; line-height:1.8; }
@media(min-width:1001px) {
  .home-polished #projects { padding-block:86px 82px; }
  .home-polished #projects > .section-heading { display:grid; grid-template-columns:1fr 390px; gap:48px; align-items:end; margin-bottom:38px; position:relative; z-index:1; }
  .home-polished #projects .section-heading h2 { font-size:52px; line-height:1.08; letter-spacing:-.045em; }
  .home-polished #projects .projects-heading-aside { padding-bottom:3px; }
  .home-polished #projects .projects-heading-aside .button { min-height:48px; background:#213d66; color:#fff9e9; border-color:transparent; border-radius:99px; gap:15px; padding-inline:22px; box-shadow:none; }
  .home-polished #projects .projects-heading-aside .button:hover { background:#152d51; }
  .home-polished #projects .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; align-items:stretch; }
  .home-polished #projects .project-card { display:flex; flex-direction:column; padding:0; margin:0; background:#e8eff8; border:1px solid #d2dfea; border-radius:26px; overflow:hidden; transition:border-color .2s,box-shadow .2s; }
  .home-polished #projects .project-card:nth-child(2) { background:#f7edd9; border-color:#e7dabc; margin:0; border-radius:26px; }
  .home-polished #projects .project-card:hover { border-color:#9ab0c4; box-shadow:0 12px 28px #203b5e12; }
  .home-polished #projects .project-photo,
  .home-polished #projects .project-card:nth-child(2) .project-photo { height:330px; width:100%; aspect-ratio:auto; border:0; border-radius:0; margin:0; flex-shrink:0; background:#dce4e9; }
  .home-polished #projects .project-photo img,
  .home-polished #projects .project-card:nth-child(2) .project-photo img { display:block; width:100%; height:100%; padding:0; object-fit:cover; object-position:center; }
  .home-polished #projects .project-tag { top:18px; left:18px; padding:9px 13px; background:#fffdf4; color:#273f59; border-radius:99px; font-size:11px; font-weight:600; box-shadow:0 3px 12px #102d4320; }
  .home-polished #projects .round-arrow { width:46px; height:46px; right:18px; bottom:18px; background:#fffdf4; color:#233d61; box-shadow:0 4px 16px #14274420; }
  .home-polished #projects .project-caption { display:grid; grid-template-columns:1fr; align-items:start; gap:7px; margin:0; padding:24px 26px 23px; flex:1; }
  .home-polished #projects .project-caption h3 { margin:0; font-size:26px; font-weight:500; line-height:1.2; color:#233f5e; }
  .home-polished #projects .project-caption h3 a { color:inherit; }
  .home-polished #projects .project-caption p { margin:0; color:#526778; font-size:14px; }
  .home-polished #projects .project-photo-count { margin:12px 0 0; border-top:1px solid #c7d7e3; padding-top:14px; color:#526574; font-size:12px; }
  .home-polished #projects .project-card:nth-child(2) h3 { color:#5d472a; }
  .home-polished #projects .project-card:nth-child(2) p,
  .home-polished #projects .project-card:nth-child(2) .project-photo-count { color:#6f5b40; }
  .home-polished #projects .project-card:nth-child(2) .project-photo-count { border-color:#e0d3b7; }
  .home-polished #projects .project-library-teasers { gap:22px; margin-top:26px; align-items:stretch; }
  .home-polished #projects .project-teaser { padding:0; overflow:hidden; border-radius:21px; }
  .home-polished #projects .project-teaser-image { height:188px; border-radius:0; background:#dce5dc; flex-shrink:0; }
  .home-polished #projects .project-teaser-image img { width:100%; height:100%; padding:0; object-fit:cover; object-position:center; }
  .home-polished #projects .project-teaser-type { margin:19px 19px 10px; font-size:10px; letter-spacing:.06em; color:#4e6251; }
  .home-polished #projects .project-teaser h3 { margin:0 19px 22px; font-size:19px; line-height:1.35; color:#244238; }
  .home-polished #projects .project-teaser-link { margin:auto 19px 19px; padding-top:15px; color:#294b41; }
  .home-polished #projects .project-teaser:nth-child(2) h3 { color:#2d4c66; }
  .home-polished #projects .project-teaser:nth-child(3) h3 { color:#614e2c; }
  .home-polished #projects .project-teaser:nth-child(4) h3 { color:#6c4d38; }
  .home-polished #projects .process-heading { margin-top:68px; padding-top:44px; border-top:1px solid #dce4d6; }
}
@media(min-width:1001px) and (max-width:1280px) {
  .home-polished #projects > .section-heading { grid-template-columns:1fr 350px; gap:34px; }
  .home-polished #projects .section-heading h2 { font-size:46px; }
  .home-polished #projects .project-photo,
  .home-polished #projects .project-card:nth-child(2) .project-photo { height:300px; }
  .home-polished #projects .project-caption { padding:21px 23px; }
  .home-polished #projects .project-caption h3 { font-size:24px; }
  .home-polished #projects .project-library-teasers { gap:18px; }
  .home-polished #projects .project-teaser-image { height:170px; }
  .home-polished #projects .project-teaser h3 { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-polished #projects .project-card { transition:none; }
}

.home-polished #projects .project-photo:focus-visible { outline:3px solid #f5ce77; outline-offset:-4px; }
