:root {
  --pt-blue: #07579d;
  --pt-blue-deep: #041a35;
  --pt-blue-bright: #1788d4;
  --pt-sky: #dceeff;
}

.nav {
  border-bottom-color: rgba(7, 87, 157, .15);
  box-shadow: 0 10px 35px rgba(4, 26, 53, .08);
}

.brand { gap: 13px; }
.brand-logo {
  width: 54px;
  height: 54px;
  border-radius: 0;
  object-fit: contain;
  background: transparent;
  filter: drop-shadow(0 6px 10px rgba(7, 87, 157, .14));
}
.brand > span { color: var(--pt-blue-deep); }
.brand small { color: var(--pt-blue); }
.nav-cta { background: linear-gradient(135deg, var(--pt-blue-deep), var(--pt-blue)); }

.hero {
  background:
    radial-gradient(circle at 78% 30%, rgba(23,136,212,.22), transparent 29%),
    linear-gradient(135deg, #031226 0%, #062d57 58%, #063d74 100%);
}
.hero-copy { max-width: 720px; }
.hero h1 { text-wrap: balance; text-shadow: 0 7px 35px rgba(0,0,0,.18); }
.hero h1 em { color: #fff; position: relative; }
.hero h1 em:after { display: none; }
.hero-desc { color: #c6d5e5; }
.sun-disc {
  position: relative;
  width: 160px;
  height: 160px;
  flex: 0 0 160px;
  background: #fff;
  box-shadow: 0 0 0 8px rgba(255,255,255,.08), 0 22px 65px rgba(2,12,28,.38);
  overflow: hidden;
  display: grid;
}
.sun-disc:before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff url('/android-chrome-512x512.png') center / contain no-repeat;
  border-radius: 50%;
  z-index: 2;
}
.hero-logo { width: 88%; height: 88%; object-fit: contain; }
.energy-orbit { display: grid; }
.orbit { border-color: rgba(148, 205, 255, .36); }
.orbit span { background: #87cfff; }
.hero-stats b { color: #89d6ff; }
.hero-stats div:first-child b { color: var(--lime); }

.brand-strip { background: #fff; border-bottom-color: rgba(7,87,157,.15); }
.brand-strip b { color: var(--pt-blue-deep); }

.products { background: linear-gradient(180deg, #f4f1e9 0%, #edf5fb 100%); }
.product-grid { gap: 18px; border: 0; }
.product-card {
  min-height: 520px;
  border: 1px solid rgba(7,87,157,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.8);
  box-shadow: 0 18px 50px rgba(4,26,53,.07);
  overflow: hidden;
}
.product-card:hover {
  border-color: rgba(7,87,157,.3);
  box-shadow: 0 24px 60px rgba(4,26,53,.14);
}
.product-card .product-top span { color: var(--pt-blue); }
.product-card .product-visual { margin: 8px -24px 0; height: 210px; }
.product-card .product-visual:before { width: 175px; height: 175px; background: var(--pt-sky); }
.product-card>a { color: var(--pt-blue); }
.product-card>a span { transition: transform .2s; }
.product-card:hover>a span { transform: translateX(5px); }

.footer-logo { width: 62px; height: 62px; object-fit: contain; margin-right: 12px; }
.footer-brand .brand-mark {
  width: 62px;
  height: 62px;
  clip-path: none;
  border-radius: 50%;
  background: #fff url('/images/pt-solar-logo.jpg') center / contain no-repeat;
  font-size: 0;
  box-shadow: 0 10px 28px rgba(0,0,0,.2);
}
.footer-brand > span { color: #fff; }
.footer-brand small { color: #9ad7ff; }

@media (max-width: 950px) {
  .sun-disc { width: 125px; height: 125px; flex-basis: 125px; }
  .product-grid { gap: 14px; }
}

@media (max-width: 700px) {
  .brand-logo { width: 44px; height: 44px; }
  .hero { min-height: 790px; }
  .hero-copy { max-width: none; }
  .product-grid { gap: 16px; }
  .product-card { min-height: 465px; }
  .footer-logo { width: 50px; height: 50px; }
}
