@font-face {
  font-family: "Manrope";
  src: url("fonts/manrope-variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

:root {
  --pf-admin-offset: 0px;
  --pf-blue: #0566f5;
  --pf-blue-dark: #0054d6;
  --pf-navy: #071d45;
  --pf-muted: #667085;
  --pf-line: #d9dee8;
  --pf-soft: #f5f8fc;
  --pf-selected: #f2f7ff;
  --pf-white: #ffffff;
  --pf-shadow: 0 8px 24px rgba(7, 29, 69, 0.14);
}

body.admin-bar { --pf-admin-offset: 32px; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--pf-navy);
  background: #eef2f7;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 3px solid rgba(5, 102, 245, 0.28);
  outline-offset: 2px;
}

.pf-app {
  min-height: 100svh;
  background: var(--pf-white);
}

.pf-header {
  position: sticky;
  z-index: 50;
  top: var(--pf-admin-offset);
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  min-height: 62px;
  padding: 0 max(17px, calc((100vw - 1120px) / 2));
  border-bottom: 1px solid #eef1f5;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(14px);
}

.pf-app[data-view="home"] .pf-header,
.pf-app[data-view="results"] .pf-header {
  grid-template-columns: 1fr auto;
}

.pf-brand,
.pf-header-back,
.pf-header-edit,
.pf-menu-button {
  border: 0;
  background: transparent;
  cursor: pointer;
}

.pf-brand {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 5px;
  padding: 9px 0;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.055em;
}

.pf-brand-word > span { color: var(--pf-blue); }
.pf-brand-bolt { width: 14px; height: 20px; object-fit: contain; }
.pf-header-back { display: grid; place-items: center; width: 28px; height: 42px; padding: 0; }
.pf-header-back .dashicons { width: 24px; height: 24px; font-size: 24px; }
.pf-header-step { justify-self: end; font-size: 13px; font-weight: 700; }
.pf-header-edit { justify-self: end; padding: 10px 0; color: var(--pf-blue); font-size: 14px; font-weight: 700; }
.pf-menu-button { display: grid; place-items: center; width: 38px; height: 42px; padding: 0; }
.pf-menu-button .dashicons { width: 24px; height: 24px; font-size: 24px; }
.pf-home-nav { display: none; }
.pf-home-nav button, .pf-home-nav a { border: 0; color: var(--pf-navy); background: transparent; cursor: pointer; font: inherit; font-size: 13px; font-weight: 650; text-decoration: none; }
.pf-home-nav button:hover, .pf-home-nav a:hover { color: var(--pf-blue); }
.pf-home-nav.is-open { position: absolute; top: 62px; right: 12px; display: grid; min-width: 210px; padding: 10px; border: 1px solid var(--pf-line); border-radius: 12px; background: #fff; box-shadow: 0 14px 34px rgba(7,29,69,.15); animation: pf-menu-in 180ms cubic-bezier(.2,.8,.2,1); }
.pf-home-nav.is-open button, .pf-home-nav.is-open a { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 7px; text-align: left; }
.pf-home-nav.is-open button:hover, .pf-home-nav.is-open a:hover { background: var(--pf-soft); }
@keyframes pf-menu-in { from { opacity: 0; transform: translateY(-8px); } }

.pf-main { min-height: calc(100svh - 62px); }
.pf-home-screen { min-height: calc(100svh - 62px); margin: 0 auto; }
.pf-home-hero { position: relative; height: 525px; overflow: hidden; }
.pf-home-hero::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,.18) 40%, rgba(255,255,255,.96) 94%);
  pointer-events: none;
}
.pf-home-hero > img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; }
.pf-home-hero h1 {
  position: absolute;
  z-index: 2;
  left: 22px;
  bottom: 48px;
  max-width: 330px;
  margin: 0;
  font-size: 39px;
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.055em;
}
.pf-home-hero h1 span { color: var(--pf-blue); }
.pf-home-cta-card {
  position: relative;
  z-index: 3;
  width: calc(100% - 44px);
  margin: -28px auto 0;
  padding: 22px 18px 19px;
  border: 1px solid #e7eaf0;
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--pf-shadow);
}
.pf-home-cta-card > p { margin: 0 0 18px; text-align: center; font-size: 13px; font-weight: 500; }
.pf-home-cta-card > .pf-form-error { margin: -6px 0 14px; color: #8c1d18; }
.pf-primary-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 54px;
  padding: 13px 18px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  background: var(--pf-blue);
  box-shadow: 0 7px 18px rgba(5, 102, 245, 0.2);
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  transition: background 160ms ease, transform 160ms ease;
}
.pf-primary-button:hover:not(:disabled) { background: var(--pf-blue-dark); transform: translateY(-1px); }
.pf-primary-button:disabled { color: #8c94a6; background: #d9ddea; box-shadow: none; cursor: not-allowed; }
.pf-primary-button .dashicons { width: 18px; height: 18px; font-size: 18px; }
.pf-home-cta-card .pf-primary-button { width: 100%; }
.pf-home-proof, .pf-home-values {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--pf-muted);
  font-size: 11px;
}
.pf-home-proof { margin-top: 16px; }
.pf-home-proof i, .pf-home-values i { width: 3px; height: 3px; border-radius: 50%; background: #a8afbb; }
.pf-how-link {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 20px auto 0;
  padding: 8px;
  border: 0;
  color: var(--pf-blue);
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}
.pf-how-link .dashicons { width: 15px; height: 15px; font-size: 15px; }
.pf-home-values { margin: 6px 0 0; color: var(--pf-navy); }

.pf-home-paths, .pf-home-use-cases, .pf-home-featured, .pf-home-method, .pf-home-guides { padding: 72px 20px; }
.pf-home-heading { max-width: 620px; margin: 0 0 28px; }
.pf-home-heading h2 { margin: 0; font-size: clamp(28px, 7vw, 46px); font-weight: 800; line-height: 1.06; letter-spacing: -.04em; text-wrap: balance; }
.pf-home-heading > p, .pf-home-heading-row > div > p { max-width: 560px; margin: 11px 0 0; color: var(--pf-muted); font-size: 14px; line-height: 1.55; }
.pf-home-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 24px; max-width: none; }
.pf-home-heading-row > a { flex: 0 0 auto; padding-bottom: 3px; color: var(--pf-blue); font-size: 13px; font-weight: 750; text-decoration: none; }
.pf-heading-with-icon { display: grid; grid-template-columns: 48px minmax(0,1fr); column-gap: 16px; align-items: start; }
.pf-heading-with-icon > .pf-section-icon { grid-column: 1; grid-row: 1; width: 48px; height: 48px; padding: 11px; border-radius: 14px; background: #e7f0ff; }
.pf-heading-with-icon > div { grid-column: 2; min-width: 0; }
.pf-home-heading-row.pf-heading-with-icon > a { grid-column: 3; align-self: end; }
.pf-home-trust .pf-heading-with-icon { grid-template-columns: 48px minmax(0,1fr); }
.pf-home-trust .pf-section-icon-light { background: rgba(255,255,255,.16); filter: brightness(0) invert(1); }
.pf-home-paths { padding-top: 88px; }
.pf-path-list { display: grid; border-block: 1px solid var(--pf-line); }
.pf-path-list > button, .pf-path-list > a { display: grid; grid-template-columns: 42px minmax(0,1fr) 24px; grid-template-rows: auto auto; align-items: center; column-gap: 12px; min-height: 104px; padding: 18px 0; border: 0; color: inherit; background: transparent; cursor: pointer; text-align: left; text-decoration: none; }
.pf-path-list > * + * { border-top: 1px solid var(--pf-line); }
.pf-path-list > * > span:first-child { grid-row: 1 / 3; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: var(--pf-blue); background: var(--pf-selected); }
.pf-path-list b { align-self: end; font-size: 16px; letter-spacing: -.025em; }
.pf-path-list small { align-self: start; margin-top: 3px; color: var(--pf-muted); font-size: 11px; }
.pf-path-list > * > .dashicons:last-child { grid-column: 3; grid-row: 1 / 3; color: var(--pf-blue); transition: transform 160ms ease; }
.pf-path-list > *:hover > .dashicons:last-child { transform: translateX(3px); }
.pf-home-use-cases { overflow: hidden; background: var(--pf-soft); }
.pf-home-scenarios { display: grid; grid-auto-columns: minmax(210px, 74vw); grid-auto-flow: column; gap: 10px; margin-right: -20px; padding-right: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.pf-home-scenarios::-webkit-scrollbar, .pf-home-products::-webkit-scrollbar, .pf-home-device-list::-webkit-scrollbar { display: none; }
.pf-home-scenarios button { position: relative; display: grid; grid-template-rows: 180px auto; min-height: 235px; padding: 10px 14px 16px; overflow: hidden; border: 1px solid var(--pf-line); border-radius: 14px; background: #fff; cursor: pointer; scroll-snap-align: start; text-align: left; }
.pf-home-scenarios img { width: 100%; height: 180px; object-fit: contain; transition: transform 260ms cubic-bezier(.2,.8,.2,1); }
.pf-home-scenarios button:hover img { transform: scale(1.04); }
.pf-home-scenarios button > span { align-self: end; padding-right: 28px; font-size: 17px; font-weight: 750; letter-spacing: -.025em; }
.pf-home-scenarios button > .dashicons { position: absolute; right: 13px; bottom: 17px; color: var(--pf-blue); }
.pf-home-products { display: grid; grid-auto-columns: minmax(230px, 78vw); grid-auto-flow: column; gap: 12px; margin-right: -20px; padding: 1px 20px 8px 1px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.pf-home-product { display: flex; flex-direction: column; min-width: 0; padding: 14px; border: 1px solid var(--pf-line); border-radius: 14px; background: #fff; scroll-snap-align: start; }
.pf-home-product-image { display: grid; height: 190px; place-items: center; border-radius: 10px; background: var(--pf-soft); }
.pf-home-product-image img { width: 94%; height: 180px; object-fit: contain; transition: transform 260ms cubic-bezier(.2,.8,.2,1); }
.pf-home-product:hover .pf-home-product-image img { transform: scale(1.035); }
.pf-home-product > p { margin: 15px 0 2px; color: var(--pf-blue); font-size: 10px; font-weight: 750; }
.pf-home-product h3 { margin: 0; font-size: 18px; line-height: 1.15; letter-spacing: -.03em; }
.pf-home-product h3 a { text-decoration: none; }
.pf-home-product > strong { margin-top: 10px; color: var(--pf-blue); font-size: 19px; }
.pf-home-product > span { margin-top: 4px; color: var(--pf-muted); font-size: 10px; }
.pf-text-link { display: inline-flex; align-items: center; gap: 4px; margin-top: 17px; color: var(--pf-navy); font-size: 11px; font-weight: 750; text-decoration: none; }
.pf-text-link .dashicons { width: 15px; height: 15px; color: var(--pf-blue); font-size: 15px; }
.pf-home-products-loading { min-height: 160px; color: var(--pf-muted); }
.pf-home-run { padding: 62px 20px; color: #fff; background: var(--pf-navy); }
.pf-home-run-copy h2 { max-width: 620px; margin: 0; font-size: clamp(30px,8vw,52px); line-height: 1.02; letter-spacing: -.04em; text-wrap: balance; }
.pf-home-run-copy p { max-width: 520px; margin: 13px 0 30px; color: #bdc9da; font-size: 14px; line-height: 1.55; }
.pf-home-device-list { display: flex; gap: 9px; margin-right: -20px; padding-right: 20px; overflow-x: auto; scrollbar-width: none; }
.pf-home-device-list button { flex: 0 0 118px; display: grid; grid-template-rows: 100px auto; min-height: 145px; padding: 8px 8px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; color: #fff; background: rgba(255,255,255,.06); cursor: pointer; }
.pf-home-device-list button:hover { background: rgba(255,255,255,.11); }
.pf-home-device-list img { width: 100%; height: 100px; object-fit: contain; }
.pf-home-device-list span { align-self: end; font-size: 11px; font-weight: 700; }
.pf-home-solar { display:grid; gap:32px; padding:70px 20px; overflow:hidden; background:#eef5ff; }
.pf-home-solar-image { display:grid; min-height:260px; place-items:center; }
.pf-home-solar-image img { width:115%; max-width:520px; height:280px; object-fit:contain; transform:rotate(-2deg); }
.pf-home-solar h2 { max-width:620px; margin:0; font-size:clamp(30px,8vw,52px); line-height:1.03; letter-spacing:-.04em; text-wrap:balance; }
.pf-home-solar p { max-width:520px; margin:14px 0 24px; color:var(--pf-muted); font-size:14px; line-height:1.55; }
.pf-home-solar a { display:inline-flex; align-items:center; gap:7px; min-height:48px; padding:0 17px; border-radius:8px; color:#fff; background:var(--pf-blue); font-size:12px; font-weight:750; text-decoration:none; }
.pf-home-solar a .dashicons { width:17px; height:17px; font-size:17px; }
.pf-home-method { scroll-margin-top: calc(var(--pf-admin-offset) + 78px); }
.pf-home-method ol { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--pf-line); list-style: none; counter-reset: pf-method; }
.pf-home-method li { position: relative; display: grid; gap: 4px; min-height: 108px; padding: 24px 0 23px 52px; border-bottom: 1px solid var(--pf-line); counter-increment: pf-method; }
.pf-home-method li::before { content: counter(pf-method); position: absolute; top: 25px; left: 0; display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: #fff; background: var(--pf-blue); font-size: 12px; font-weight: 800; }
.pf-home-method b { align-self: end; font-size: 16px; letter-spacing: -.02em; }
.pf-home-method span { align-self: start; color: var(--pf-muted); font-size: 12px; line-height: 1.45; }
.pf-home-guides { background: var(--pf-soft); }
.pf-guide-list { display: grid; border-block: 1px solid var(--pf-line); }
.pf-home-guide { padding: 24px 0; }
.pf-home-guide + .pf-home-guide { border-top: 1px solid var(--pf-line); }
.pf-home-guide h3 { margin: 0; font-size: 18px; letter-spacing: -.03em; }
.pf-home-guide p { margin: 8px 0 16px; color: var(--pf-muted); font-size: 12px; line-height: 1.55; }
.pf-home-guide :is(button,a) { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; color: var(--pf-blue); background: transparent; cursor: pointer; font-size: 11px; font-weight: 750; }
.pf-home-guide :is(button,a) .dashicons { width: 15px; height: 15px; font-size: 15px; }
.pf-home-trust { display: grid; gap: 26px; padding: 70px 20px; color: #fff; background: var(--pf-blue); }
.pf-home-trust h2 { max-width: 650px; margin: 0; font-size: clamp(30px,8vw,52px); line-height: 1.03; letter-spacing: -.04em; text-wrap: balance; }
.pf-home-trust p { max-width: 620px; margin: 14px 0 0; color: #dce9ff; font-size: 13px; line-height: 1.55; }
.pf-home-trust :is(button,a) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 18px; border: 0; border-radius: 8px; color: var(--pf-blue); background: #fff; cursor: pointer; font-weight: 750; }
.pf-home-trust :is(button,a) .dashicons { width: 18px; height: 18px; font-size: 18px; }
.pf-home-footer { display: grid; gap: 28px; padding: 46px 20px 28px; background: #04142f; color: #fff; }
.pf-home-footer .pf-brand-word { font-size: 20px; font-weight: 800; letter-spacing: -.04em; }
.pf-home-footer .pf-brand-bolt { vertical-align: middle; margin-left: 5px; filter:brightness(0) invert(1); }
.pf-home-footer > div > p { max-width: 300px; margin: 10px 0 0; color: #aab8cc; font-size: 11px; line-height: 1.5; }
.pf-home-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.pf-home-footer nav button, .pf-home-footer nav a { padding: 0; border: 0; color: #fff; background: transparent; cursor: pointer; font-size: 11px; font-weight: 650; text-decoration: none; }
.pf-home-footer > p { margin: 4px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #8291a8; font-size: 9px; }

.pf-flow-screen {
  max-width: 430px;
  margin: 0 auto;
  padding: 0 17px 94px;
}
.pf-progress { height: 4px; margin: 14px 0 0; overflow: hidden; border-radius: 999px; background: #e6e8ed; }
.pf-progress i { display: block; height: 100%; border-radius: inherit; background: var(--pf-blue); }
.pf-flow-heading { margin: 33px 0 25px; }
.pf-flow-heading h1 {
  margin: 0;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.05em;
}
.pf-flow-heading p { margin: 8px 0 0; color: var(--pf-muted); font-size: 13px; line-height: 1.45; }

.pf-scenario-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pf-scenario-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 238px;
  padding: 9px 12px 15px;
  overflow: hidden;
  border: 1px solid var(--pf-line);
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
  text-align: left;
}
.pf-scenario-card.is-selected { border: 2px solid var(--pf-blue); background: var(--pf-selected); padding: 8px 11px 14px; }
.pf-scenario-card img { width: 100%; height: 171px; object-fit: contain; }
.pf-scenario-card strong { margin-top: auto; font-size: 18px; font-weight: 750; line-height: 1.08; letter-spacing: -0.035em; }
.pf-radio { position: absolute; top: 10px; right: 10px; width: 21px; height: 21px; border: 1.5px solid #8892a3; border-radius: 50%; background: #fff; }
.pf-scenario-card.is-selected .pf-radio { border: 6px solid var(--pf-blue); }

.pf-bottom-bar {
  position: fixed;
  z-index: 60;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  align-items: center;
  min-height: 72px;
  padding: 9px max(17px, calc((100vw - 430px) / 2 + 17px)) max(9px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--pf-line);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(14px);
}
.pf-bottom-single { grid-template-columns: 1fr; }
.pf-bottom-single .pf-primary-button { width: 100%; }
.pf-kit-bar { grid-template-columns: 112px 1fr; gap: 13px; }
.pf-kit-bar > span { color: var(--pf-navy); font-size: 12px; }
.pf-kit-bar > span b { font-size: 15px; }
.pf-kit-bar .pf-primary-button { width: 100%; }

.pf-devices-screen { padding-bottom: 100px; }
.pf-devices-screen .pf-flow-heading { margin-bottom: 15px; }
.pf-device-tools {
  position: sticky;
  z-index: 40;
  top: calc(var(--pf-admin-offset) + 62px);
  margin: 0 -17px;
  padding: 0 17px 10px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 8px 12px rgba(255,255,255,.96);
}
.pf-search {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 40px;
  padding: 0 11px;
  border: 1px solid #cfd4dc;
  border-radius: 9px;
  background: #fff;
}
.pf-search .dashicons { width: 18px; height: 18px; color: var(--pf-navy); font-size: 18px; }
.pf-search input { width: 100%; border: 0; outline: 0; color: var(--pf-navy); background: transparent; font-size: 13px; }
.pf-search input::placeholder { color: #81899a; }
.pf-category-nav { display: flex; gap: 5px; margin: 10px -17px 0; padding: 0 17px 2px; overflow-x: auto; scrollbar-width: none; }
.pf-category-nav::-webkit-scrollbar { display: none; }
.pf-category-nav button {
  flex: 0 0 58px;
  display: grid;
  grid-template-rows: 51px auto;
  width: 58px;
  min-height: 83px;
  padding: 4px 3px 6px;
  overflow: hidden;
  border: 1px solid #e1e4e9;
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
}
.pf-category-nav button.is-active { border: 1.5px solid var(--pf-blue); color: var(--pf-blue); background: var(--pf-selected); }
.pf-category-nav img { width: 100%; height: 51px; object-fit: contain; }
.pf-category-nav span { align-self: end; overflow: hidden; font-size: 8px; font-weight: 650; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.pf-device-sections { padding-top: 12px; }
.pf-device-section { scroll-margin-top: calc(var(--pf-admin-offset) + 206px); margin: 0 0 23px; }
.pf-device-section[hidden], .pf-device-card[hidden] { display: none; }
.pf-device-section h2 { margin: 0 0 9px; font-size: 17px; font-weight: 750; letter-spacing: -0.035em; }
.pf-device-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
/* Fixed square cards: every category shares the same column tracks. */
.pf-device-card {
  container-type: inline-size;
  position: relative;
  box-sizing: border-box;
  min-width: 0;
  aspect-ratio: 1;
  display: grid;
  grid-template-rows: minmax(0, 1fr) 2.6em 44px;
  gap: 4px;
  padding: 8px;
  border: 1px solid #d9e0ec;
  border-radius: 12px;
  background: #fff;
  font-size: 13px;
}
.pf-device-card.is-selected { border-color: var(--pf-blue); box-shadow: inset 0 0 0 1px var(--pf-blue); background: var(--pf-selected); }
.pf-device-image { display: grid; place-items: center; min-width: 0; min-height: 0; width: 100%; height: 100%; }
.pf-device-image img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; mix-blend-mode: multiply; }
.pf-device-image > .dashicons { font-size: 32px; width: 32px; height: 32px; color: #65748b; }
.pf-device-card h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; min-width: 0; margin: 0; overflow: hidden; font-size: inherit; font-weight: 750; line-height: 1.3; letter-spacing: -.02em; text-align: center; overflow-wrap: anywhere; }
.pf-device-controls { display: flex; justify-content: space-between; align-items: center; gap: 4px; }
.pf-device-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--pf-blue); border-radius: 50%; color: var(--pf-blue); background: #fff; cursor: pointer; }
.pf-device-controls button:disabled { border-color: #e0e6ef; color: #a6afbc; background: transparent; cursor: default; }
.pf-device-controls .dashicons { width: 18px; height: 18px; font-size: 18px; }
.pf-device-controls strong { min-width: 18px; font-size: 15px; text-align: center; font-variant-numeric: tabular-nums; }
.pf-custom-device { margin: 24px 0; border-top: 1px solid #d9e0ec; padding-block: 20px; }
.pf-custom-device summary { cursor: pointer; font-weight: 750; }
.pf-custom-device form { max-width: 560px; display: grid; gap: 16px; margin-top: 16px; }
.pf-custom-device label { display: grid; gap: 6px; font-size: 15px; }
.pf-custom-device input { min-height: 44px; padding: 8px 12px; border: 1px solid #aeb9cc; border-radius: 8px; font: inherit; }
.pf-custom-device p { margin: 0; line-height: 1.5; }
.pf-field-help { color: #586780; font-size: 14px; }
@media (min-width: 600px) {
  .pf-device-grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
  .pf-device-card { font-size: 14px; padding: 10px; }
}
@media (min-width: 1100px) {
  .pf-device-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
}

.pf-details-screen .pf-flow-heading { margin-bottom: 28px; }
.pf-section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.pf-section-title h2, .pf-detail-section h2 { margin: 0; font-size: 17px; font-weight: 750; letter-spacing: -0.035em; }
.pf-section-title button { border: 0; color: var(--pf-blue); background: transparent; cursor: pointer; font-size: 12px; font-weight: 650; }
.pf-kit-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); min-height: 139px; overflow-x: auto; border: 1px solid var(--pf-line); border-radius: 9px; }
.pf-kit-item { display: grid; grid-template-rows: 96px auto; align-items: center; justify-items: center; min-width: 112px; padding: 6px; border-right: 1px solid #e8eaf0; }
.pf-kit-item:last-child { border-right: 0; }
.pf-kit-item img { width: 88px; height: 92px; object-fit: contain; }
.pf-kit-item span { align-self: start; font-size: 10px; font-weight: 600; text-align: center; }
.pf-detail-section { margin-top: 24px; }
.pf-detail-section > p { margin: 4px 0 12px; color: var(--pf-muted); font-size: 11px; }
.pf-duration-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.pf-duration-grid button { min-height: 47px; padding: 8px 4px; border: 1px solid var(--pf-line); border-radius: 8px; background: #fff; cursor: pointer; font-size: 12px; font-weight: 650; }
.pf-duration-grid button.is-selected { border-color: var(--pf-blue); color: #fff; background: var(--pf-blue); }
.pf-setting-row, .pf-solar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 50px;
  padding: 0 13px;
  border: 0;
  background: #fff;
  cursor: pointer;
  font-size: 11px;
  text-align: left;
}
.pf-detail-section > .pf-setting-row { margin-top: 12px; border: 1px solid var(--pf-line); border-radius: 8px; }
.pf-setting-row .dashicons { width: 17px; height: 17px; font-size: 17px; }
.pf-setting-row > span:last-child { display: flex; align-items: center; gap: 4px; color: var(--pf-muted); }
.pf-preferences { margin-top: 24px; }
.pf-settings-card { margin-top: 8px; overflow: hidden; border: 1px solid var(--pf-line); border-radius: 9px; }
.pf-settings-card > .pf-setting-row + .pf-setting-row, .pf-solar-row { border-top: 1px solid #e8eaf0; }
.pf-solar-row > span { display: grid; gap: 1px; }
.pf-solar-row b { font-weight: 600; }
.pf-solar-row small { color: var(--pf-muted); font-size: 9px; }
.pf-solar-row > i { position: relative; width: 39px; height: 23px; border-radius: 999px; background: #d7d9de; }
.pf-solar-row > i > span { position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(7,29,69,.18); transition: transform 160ms ease; }
.pf-solar-row > i.is-on { background: var(--pf-blue); }
.pf-solar-row > i.is-on > span { transform: translateX(16px); }
.pf-inline-panel { padding: 9px 13px 12px; border-top: 1px solid #e8eaf0; background: var(--pf-soft); }
.pf-time-panel { display: grid; gap: 7px; margin-top: -1px; border: 1px solid var(--pf-line); border-radius: 0 0 8px 8px; }
.pf-time-panel label, .pf-panel-input { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--pf-muted); font-size: 10px; }
.pf-time-panel label > span:last-child, .pf-panel-input > span:last-child { position: relative; width: 94px; }
.pf-time-panel input, .pf-panel-input input { width: 100%; height: 34px; padding: 6px 27px 6px 9px; border: 1px solid #cfd4dc; border-radius: 7px; background: #fff; }
.pf-time-panel small, .pf-panel-input small { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); color: var(--pf-muted); font-size: 9px; }
.pf-weight-panel { display: flex; flex-wrap: wrap; gap: 6px; }
.pf-weight-panel button { padding: 7px 9px; border: 1px solid var(--pf-line); border-radius: 999px; color: var(--pf-muted); background: #fff; cursor: pointer; font-size: 9px; }
.pf-weight-panel button.is-selected { border-color: var(--pf-blue); color: var(--pf-blue); background: var(--pf-selected); }
.pf-form-error { margin: 18px 0 0; padding: 10px 12px; border-radius: 7px; color: #8c1d18; background: #fff0ef; font-size: 11px; }
.pf-home-error { margin: 0; padding: 12px clamp(18px,5vw,88px); border-radius: 0; }

.pf-results-screen { max-width: 430px; margin: 0 auto; padding: 39px 17px 40px; }
.pf-results-screen > h1, .pf-results-intro > h1 { margin: 0; font-size: 31px; font-weight: 750; line-height: 1.08; letter-spacing: -0.045em; }
[data-pf-screen] h1[tabindex="-1"]:focus { outline: none; }
.pf-results-lead { margin: 8px 0 15px; color: var(--pf-muted); font-size: 13px; line-height: 1.4; }
.pf-search-summary { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 45px; padding: 0 13px; border: 1px solid var(--pf-line); border-radius: 9px; background: #fff; cursor: pointer; font-size: 11px; text-align: left; }
.pf-search-summary .dashicons { width: 18px; height: 18px; font-size: 18px; }
.pf-results-requirements { display:grid; grid-template-columns:repeat(3,1fr); margin:10px 0 0; border:1px solid var(--pf-line); border-radius:9px; background:var(--pf-soft); }
.pf-results-requirements div { min-width:0; padding:10px; }
.pf-results-requirements div+div { border-left:1px solid var(--pf-line); }
.pf-results-requirements dt { color:var(--pf-muted); font-size:8px; line-height:1.25; }
.pf-results-requirements dd { margin:4px 0 0; font-size:11px; font-weight:750; }
.pf-featured-result { margin-top: 15px; padding: 20px 15px 16px; border: 1.5px solid var(--pf-blue); border-radius: 11px; background: #f8fbff; }
.pf-result-label { margin: 0; color: var(--pf-blue); font-size: 12px; font-weight: 650; }
.pf-featured-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(135px,1.1fr); align-items: center; min-height: 175px; }
.pf-result-copy h2 { margin: 11px 0 5px; font-size: 20px; font-weight: 750; line-height: 1.1; letter-spacing: -0.035em; }
.pf-result-name { display:flex; flex-wrap:wrap; align-items:center; gap:5px 7px; }
.pf-result-name h2 { margin-right:auto; }
.pf-unit-badge { display:inline-flex; width:max-content; align-items:center; min-height:22px; padding:3px 7px; border-radius:999px; color:#fff; background:var(--pf-navy); font-size:9px; font-weight:750; white-space:nowrap; }
.pf-result-copy > strong { display:grid; color: var(--pf-blue); font-size: 21px; }
.pf-result-copy > strong small { margin-top:2px; color:var(--pf-muted); font-size:8px; font-weight:600; }
.pf-result-copy > p { display: grid; margin: 17px 0 0; }
.pf-result-copy > p b { color: var(--pf-blue); font-size: 18px; font-weight: 650; }
.pf-result-copy > p span { color: var(--pf-muted); font-size: 13px; }
.pf-featured-layout > img { width: 100%; height: 180px; object-fit: contain; }
.pf-result-specs { display: grid; grid-template-columns: repeat(3,1fr); margin: 3px 0 15px; }
.pf-result-specs div { padding: 0 8px; border-right: 1px solid var(--pf-line); }
.pf-result-specs div:first-child { padding-left: 0; }
.pf-result-specs div:last-child { padding-right: 0; border-right: 0; }
.pf-result-specs dt { color: var(--pf-blue); font-size: 9px; }
.pf-result-specs dd { margin: 4px 0 0; font-size: 11px; font-weight: 650; }
.pf-featured-result details { padding: 12px 0; border-top: 1px solid var(--pf-line); }
.pf-featured-result summary { display: flex; align-items: center; gap: 5px; list-style: none; cursor: pointer; font-size: 11px; font-weight: 650; }
.pf-featured-result summary::-webkit-details-marker { display: none; }
.pf-featured-result summary .dashicons { width: 17px; height: 17px; font-size: 17px; }
.pf-featured-result details p { margin: 8px 0 0; color: var(--pf-muted); font-size: 10px; line-height: 1.45; }
.pf-result-solar { display:grid; gap:3px; margin:0 0 12px; padding:12px; border-radius:9px; background:#eaf7ef; }
.pf-result-solar > span { display:flex; align-items:center; gap:5px; color:#19714a; font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.pf-result-solar > span .dashicons { width:14px; height:14px; font-size:14px; }
.pf-result-solar > b { font-size:12px; }
.pf-result-solar > small { color:var(--pf-muted); font-size:9px; }
.pf-result-solar > a { display:inline-flex; align-items:center; gap:4px; margin-top:5px; color:var(--pf-blue); font-size:9px; font-weight:750; text-decoration:none; }
.pf-result-solar > a .dashicons { width:14px; height:14px; font-size:14px; }
.pf-offer-button { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; border-radius: 7px; color: #fff; background: var(--pf-blue); font-size: 15px; font-weight: 650; text-decoration: none; }
.pf-offer-button .dashicons { width: 18px; height: 18px; font-size: 18px; }
.pf-other-title { margin: 21px 0 9px; font-size: 18px; font-weight: 750; letter-spacing: -0.035em; }
.pf-other-results { display: grid; gap: 9px; }
.pf-compact-result { position: relative; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(105px,.8fr); min-height: 153px; padding: 13px; border: 1px solid var(--pf-line); border-radius: 9px; }
.pf-compact-result > div { position: relative; z-index: 2; }
.pf-compact-result h3 { max-width: 210px; margin: 5px 0 2px; font-size: 14px; line-height: 1.15; letter-spacing: -0.025em; }
.pf-compact-result strong { display:block; margin-top:3px; color: var(--pf-blue); font-size: 15px; }
.pf-compact-result strong small { color:var(--pf-muted); font-size:8px; font-weight:600; }
.pf-compact-result .pf-unit-badge { margin:4px 0 2px; }
.pf-compact-result div > p:nth-of-type(2) { margin: 9px 0; font-size: 11px; }
.pf-compact-result div > p:nth-of-type(2) b { color: var(--pf-blue); font-size: 13px; }
.pf-compact-result div > span { font-size: 9px; }
.pf-compact-result > img { width: 100%; height: 116px; object-fit: contain; }
.pf-compact-result > a { position: absolute; right: 9px; bottom: 9px; z-index: 3; padding: 7px 8px; border: 1px solid var(--pf-blue); border-radius: 6px; color: var(--pf-blue); background: #fff; font-size: 9px; font-weight: 650; text-decoration: none; }
.pf-results-note { margin: 20px 0 0; color: var(--pf-muted); font-size: 9px; line-height: 1.45; }
.pf-share-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px 14px; margin: 10px 0 18px; padding: 12px 14px; border: 1px solid var(--pf-line); border-radius: 10px; background: var(--pf-soft); }
.pf-share-copy h2 { margin: 0; font-size: 14px; letter-spacing: -.025em; }
.pf-share-copy p { margin: 3px 0 0; color: var(--pf-muted); font-size: 10px; line-height: 1.35; }
.pf-share-button, .pf-share-link button { min-height: 44px; border: 0; border-radius: 7px; color: #fff; background: var(--pf-blue); cursor: pointer; font-weight: 700; }
.pf-share-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 14px; white-space: nowrap; }
.pf-share-button .dashicons { width: 17px; height: 17px; font-size: 17px; }
.pf-share-button:disabled { opacity: .55; cursor: wait; }
.pf-share-link { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.pf-share-link input { min-width: 0; height: 44px; padding: 0 10px; border: 1px solid var(--pf-line); border-radius: 7px; background: #fff; color: var(--pf-navy); font-size: 11px; }
.pf-share-link button { padding: 8px 13px; }
.pf-share-card .pf-share-success { grid-column: 1 / -1; margin: -2px 0 0; color: #177245; font-size: 10px; }
@media (max-width: 390px) {
  .pf-share-card { grid-template-columns: 1fr; }
  .pf-share-button { width: 100%; }
}
.pf-loading-screen { display: grid; min-height: 60svh; place-items: center; color: var(--pf-muted); }

@media (max-width: 782px) {
  body.admin-bar { --pf-admin-offset: 46px; }
}

@media (min-width: 700px) {
  .pf-app { width: 100%; margin: 0; box-shadow: none; }
  .pf-header { padding-inline: clamp(32px,5vw,88px); }
  .pf-home-hero { height: 640px; border-radius: 0; }
  .pf-home-hero h1 { left: clamp(42px,6vw,104px); bottom: 56px; font-size: 58px; }
  .pf-home-cta-card { width: 560px; }
  .pf-home-nav { display: flex; grid-column: 2; grid-row: 1; align-items: center; gap: 25px; margin-right: 16px; }
  .pf-menu-button { display: none; }
  .pf-home-paths, .pf-home-use-cases, .pf-home-featured, .pf-home-method, .pf-home-guides { padding: 96px clamp(32px,5vw,88px); }
  .pf-path-list { grid-template-columns: 1fr 1fr; }
  .pf-path-list > * + * { border-top: 0; border-left: 1px solid var(--pf-line); padding-left: 28px; }
  .pf-path-list > *:first-child { padding-right: 28px; }
  .pf-home-scenarios { grid-template-columns: repeat(4, minmax(0,1fr)); grid-auto-flow: initial; margin-right: 0; padding-right: 0; overflow: visible; }
  .pf-home-scenarios button { grid-template-rows: 150px auto; min-height: 215px; }
  .pf-home-scenarios img { height: 150px; }
  .pf-home-products { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-flow: initial; margin-right: 0; padding-right: 1px; overflow: visible; }
  .pf-home-product-image { height: 230px; }
  .pf-home-product-image img { height: 220px; }
  .pf-home-run { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); align-items: center; gap: 56px; padding: 86px clamp(32px,5vw,88px); }
  .pf-home-run-copy p { margin-bottom: 0; }
  .pf-home-device-list { display: grid; grid-template-columns: repeat(4,1fr); margin-right: 0; padding-right: 0; overflow: visible; }
  .pf-home-device-list button { min-width: 0; }
  .pf-home-solar { grid-template-columns:1fr 1fr; align-items:center; gap:64px; padding:88px clamp(32px,5vw,88px); }
  .pf-home-solar-image { order:2; min-height:360px; }
  .pf-home-solar-image img { height:390px; }
  .pf-home-method ol { grid-template-columns: repeat(3,1fr); }
  .pf-home-method li { min-height: 180px; padding: 62px 24px 25px 0; border-bottom: 1px solid var(--pf-line); }
  .pf-home-method li + li { padding-left: 24px; border-left: 1px solid var(--pf-line); }
  .pf-home-method li::before { top: 20px; left: 0; }
  .pf-home-method li + li::before { left: 24px; }
  .pf-guide-list { grid-template-columns: repeat(3,1fr); }
  .pf-home-guide { padding: 27px 26px 27px 0; }
  .pf-home-guide + .pf-home-guide { padding-left: 26px; border-top: 0; border-left: 1px solid var(--pf-line); }
  .pf-home-trust { grid-template-columns: 1fr auto; align-items: end; padding: 88px clamp(32px,5vw,88px); }
  .pf-home-trust :is(button,a) { min-width: 230px; }
  .pf-home-footer { grid-template-columns: 1fr auto; padding: 58px clamp(32px,5vw,88px) 30px; }
  .pf-home-footer > p { grid-column: 1 / -1; }
  .pf-flow-screen, .pf-results-screen { width:100%; max-width:none; margin:0; padding-inline:clamp(32px,5vw,88px); }
  .pf-scenario-grid { grid-template-columns: repeat(4,1fr); }
  .pf-scenario-card { min-height: 245px; }

  .pf-device-tools { margin-inline:calc(clamp(32px,5vw,88px) * -1); padding-inline:clamp(32px,5vw,88px); }
  .pf-category-nav { margin-inline:0; padding-inline:0; }
  .pf-bottom-bar { justify-content:end; padding-inline:clamp(32px,5vw,88px); }
  .pf-bottom-single { grid-template-columns:minmax(280px,380px); }
  .pf-kit-bar { grid-template-columns:auto minmax(280px,380px); }
  .pf-device-tools { top: calc(var(--pf-admin-offset) + 62px); }
  .pf-details-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:clamp(36px,6vw,100px); align-items:start; }
  .pf-details-options .pf-detail-section:first-child { margin-top:0; }
  .pf-kit-summary { grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); }
  .pf-results-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.8fr); column-gap:clamp(30px,5vw,80px); align-items:end; }
  .pf-results-intro > h1,.pf-results-intro > .pf-results-lead { grid-column:1; }
  .pf-results-intro > .pf-search-summary,.pf-results-intro > .pf-results-requirements { grid-column:2; }
  .pf-results-intro > .pf-search-summary { grid-row:1; align-self:end; }
  .pf-results-intro > .pf-results-requirements { grid-row:2; align-self:start; }
  .pf-results-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:clamp(24px,4vw,64px); align-items:start; }
  .pf-featured-result { margin-top:28px; padding:28px; }
  .pf-featured-layout { grid-template-columns:minmax(0,1fr) minmax(260px,.9fr); min-height:260px; }
  .pf-featured-layout > img { height:270px; }
  .pf-result-copy h2 { font-size:30px; }
  .pf-results-alternatives { padding-top:8px; }
  .pf-other-title { margin-top:21px; }
  .pf-compact-result { min-height:190px; grid-template-columns:minmax(0,1.25fr) minmax(130px,.75fr); }
  .pf-compact-result > img { height:150px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media (max-width: 699px) {
  .pf-heading-with-icon { grid-template-columns: 42px minmax(0,1fr); column-gap: 13px; }
  .pf-heading-with-icon > .pf-section-icon { width: 42px; height: 42px; padding: 9px; border-radius: 12px; }
  .pf-home-heading-row.pf-heading-with-icon > a { grid-column: 2; margin-top: 14px; justify-self: start; }
}

/* The headline stays still while two photographic planes move independently. */
.pf-home-screen .pf-home-hero { position: relative; isolation: isolate; height: auto; min-height: 580px; background: #06101e; color: white; overflow: hidden; }
.pf-home-screen .pf-home-hero::after { inset: 0; z-index: -1; background: rgba(0,8,20,.16); }
.pf-hero-scenes { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.pf-hero-scene { position: absolute; inset: 0; opacity: 0; transition: opacity 1400ms ease; }
.pf-hero-scene.is-active { opacity: 1; }
.pf-hero-scene img { width: 100%; height: 100%; object-fit: cover; object-position: 67% center; animation: pf-scene-drift 26s ease-in-out infinite alternate; }
.pf-hero-scene:not(.is-active) img { animation-play-state: paused; }
.pf-home-screen .pf-hero-foreground { position: absolute; inset: -2%; z-index: 1; width: 104%; height: 104%; object-fit: cover; object-position: right center; pointer-events: none; opacity: .55; animation: pf-foreground-drift 18s ease-in-out infinite alternate; }
.pf-home-screen .is-paused .pf-hero-scene img, .pf-home-screen .is-paused .pf-hero-foreground { animation-play-state: paused; }
.pf-hero-copy { position: relative; z-index: 2; padding: 60px clamp(32px,5vw,88px) 88px; max-width: 800px; }
.pf-home-screen .pf-home-hero h1 { position: static; max-width: none; margin: 0 0 25px; font-size: clamp(46px,5.2vw,76px); font-weight: 800; line-height: 1.07; letter-spacing: -.05em; }
.pf-home-screen .pf-home-hero h1 span { color: white; }
.pf-hero-copy > p { max-width: 500px; margin: 0 0 30px; font-size: 18px; line-height: 1.55; color: #fff; }
.pf-hero-copy .pf-primary-button { width: fit-content; min-width: 310px; min-height: 58px; padding-inline: 26px; box-shadow: none; font-size: 16px; }
.pf-hero-secondary { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 14px 0 0; border: 0; color: white; background: transparent; font-size: 16px; cursor: pointer; }
.pf-hero-secondary:hover { text-decoration: underline; text-underline-offset: 4px; }
.pf-hero-controls { position: absolute; z-index: 3; left: clamp(32px,5vw,88px); bottom: 24px; display: flex; align-items: center; gap: 10px; color: white; }
.pf-hero-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(0,0,0,.2); color: white; cursor: pointer; }
.pf-hero-controls button:disabled { opacity: .6; cursor: default; }
.pf-hero-dots { display: flex; }
.pf-hero-dots button { width: 32px; border: 0; border-radius: 0; background: transparent; }
.pf-hero-dots button span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.5); transition: width 250ms; }
.pf-hero-dots button[aria-pressed="true"] span { width: 20px; border-radius: 8px; background: white; }
.pf-hero-caption { font-size: 12px; font-weight: 600; }
.pf-home-hero :is(button,a):focus-visible { outline: 2px solid white; outline-offset: 4px; }
.pf-hero-copy > .pf-hero-error { margin-top: 12px; padding: 12px; background: #8c1d18; font-size: 14px; }
@keyframes pf-scene-drift { from { transform: scale(1.055) translate3d(-.5%,0,0); } to { transform: scale(1.085) translate3d(.5%,-.6%,0); } }
@keyframes pf-foreground-drift { from { transform: translate3d(1%,1%,0) scale(1.025); } to { transform: translate3d(-1.2%,-1.2%,0) scale(1.055); } }

.pf-home-screen .pf-home-use-cases { padding-block: 44px 60px; background: white; }
.pf-home-screen .pf-home-use-cases h2 { font-size: clamp(26px,3vw,36px); }
.pf-home-screen .pf-home-scenarios { gap: 22px; }
.pf-home-screen .pf-home-scenarios button { grid-template-rows: 170px auto; min-height: 220px; padding: 0 0 10px; border: 0; border-radius: 0; overflow: visible; }
.pf-home-screen .pf-home-scenarios img { height: 170px; border-radius: 6px; object-fit: contain; object-position: center; }
.pf-home-screen .pf-home-scenarios button > span { padding-top: 14px; font-size: 15px; }
.pf-home-screen .pf-home-scenarios button > .dashicons { right: 0; bottom: 12px; }
.pf-scenario-screen { padding-bottom: 40px; }
.pf-scenario-card { position: relative; }
.pf-scenario-card > .dashicons { position: absolute; right: 12px; bottom: 18px; color: var(--pf-blue); }
.pf-scenario-card strong { padding-right: 25px; }
.pf-start-divider { display: flex; align-items: center; gap: 18px; margin: 24px 0; color: var(--pf-muted); font-size: 14px; }
.pf-start-divider::before,.pf-start-divider::after { content: ''; flex: 1; height: 1px; background: var(--pf-line); }
.pf-station-start { display: flex; align-items: center; gap: 16px; width: 100%; padding: 20px; border: 1px solid var(--pf-line); border-radius: 12px; background: var(--pf-soft); text-align: left; cursor: pointer; }
.pf-station-start-visual { display: grid; width: 78px; height: 72px; flex: 0 0 78px; place-items: center; border-radius: 10px; background: var(--pf-selected); }
.pf-station-start-visual .dashicons { font-size: 34px; width: 34px; height: 34px; color: var(--pf-blue); }
.pf-station-start span:not(.dashicons) { flex: 1; }
.pf-station-start span.pf-station-start-visual { flex: 0 0 78px; }
.pf-station-start strong,.pf-station-start small { display: block; }
.pf-station-start strong { font-size: 18px; }
.pf-station-start small { margin-top: 5px; color: var(--pf-muted); font-size: 14px; }
.pf-station-start .dashicons { color: var(--pf-blue); }
.pf-station-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(265px,1fr)); gap: 16px; margin-top: 24px; }
.pf-station-choice { display: grid; grid-template-columns: 86px minmax(0,1fr) 22px; gap: 14px; align-items: center; min-height: 128px; padding: 16px; border: 1px solid var(--pf-line); border-radius: 12px; background: white; text-align: left; cursor: pointer; }
.pf-station-choice img { width: 86px; height: 90px; object-fit: contain; }
.pf-station-choice strong { display: block; font-size: 16px; }
.pf-station-choice small { display: block; margin-top: 8px; font-size: 13px; color: var(--pf-muted); }
.pf-station-choice:hover,.pf-station-start:hover { border-color: var(--pf-blue); background: var(--pf-selected); }
.pf-station-choice[hidden] { display: none; }
.pf-station-screen > .pf-search { max-width: 600px; }
.pf-chosen-station { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; padding: 14px 16px; border-radius: 8px; background: var(--pf-soft); font-size: 14px; }
.pf-chosen-station button { flex-shrink: 0; padding: 8px 0; border: 0; background: transparent; color: var(--pf-blue); font-size: 13px; cursor: pointer; }
.pf-selected-unfit { margin-top: 28px; padding: 24px; border: 1px solid #d6c6a9; border-radius: 12px; background: #fffbf4; }
.pf-selected-unfit h2 { margin: 12px 0; }
.pf-selected-unfit > img { display: block; width: 160px; height: 140px; object-fit: contain; margin-bottom: 16px; }
.pf-selected-unfit h3 { margin: 16px 0; font-size: 19px; }
.pf-selected-unfit li,.pf-selected-unfit > p { font-size: 15px; line-height: 1.6; }
.pf-selected-unfit ul { padding-left: 20px; }
.pf-selected-unfit .pf-text-link { display: inline-flex; min-height: 44px; align-items: center; margin-right: 18px; border: 0; background: transparent; cursor: pointer; }
.pf-result-weight { font-size: 15px; }
.pf-calculation-details { margin-top: 30px; border-top: 1px solid var(--pf-line); padding-top: 20px; font-size: 14px; }
.pf-calculation-details summary { padding: 8px 0; cursor: pointer; font-weight: 650; }
.pf-calculation-details .pf-results-requirements { max-width: 700px; }
.pf-search-summary b { margin-left: auto; color: var(--pf-blue); }
.pf-device-controls button { min-width: 40px; min-height: 40px; }
.pf-category-nav button { min-width: 80px; }
.pf-category-nav button span { font-size: 11px; }

@media (min-width: 700px) and (max-width: 1100px) {
  .pf-header .pf-home-nav { display: none; }
  .pf-header .pf-home-nav.is-open { display: grid; }
  .pf-header .pf-menu-button { display: grid; }
  .pf-hero-copy { max-width: 650px; }
}
@media (max-width: 699px) {
  .pf-home-screen .pf-home-hero { min-height: 0; }
  .pf-hero-scenes { height: 310px; }
  .pf-home-screen .pf-home-hero::after { display: none; }
  .pf-home-screen .pf-hero-foreground { height: 310px; opacity: .35; }
  .pf-hero-scene img { object-position: 74% center; }
  .pf-hero-copy { max-width: none; padding: 328px 22px 88px; }
  .pf-home-screen .pf-home-hero h1 { font-size: clamp(34px,9.8vw,46px); line-height: 1.08; margin-bottom: 18px; }
  .pf-hero-copy > p { font-size: 15px; line-height: 1.5; margin-bottom: 24px; }
  .pf-hero-copy > p br { display: none; }
  .pf-hero-copy .pf-primary-button { width: 100%; min-width: 0; min-height: 54px; padding-inline: 14px; font-size: 15px; }
  .pf-hero-secondary { font-size: 14px; padding-top: 12px; }
  .pf-hero-controls { left: 22px; bottom: 20px; gap: 8px; }
  .pf-home-screen .pf-home-scenarios { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-flow: initial; margin: 0; padding: 0; gap: 18px 14px; overflow: visible; }
  .pf-home-screen .pf-home-scenarios button { grid-template-rows: 112px auto; min-height: 157px; }
  .pf-home-screen .pf-home-scenarios img { height: 112px; }
  .pf-home-screen .pf-home-scenarios button > span { font-size: 13px; padding-top: 10px; padding-right: 19px; }
  .pf-home-screen .pf-home-scenarios button > .dashicons { font-size: 16px; width: 16px; }
  .pf-scenario-screen .pf-scenario-card { min-height: 182px; }
  .pf-scenario-screen .pf-scenario-card img { height: 124px; }
  .pf-scenario-screen .pf-scenario-card strong { font-size: 15px; }
  .pf-station-start { padding: 14px 12px; gap: 10px; }
  .pf-station-start-visual { width: 52px; height: 58px; flex-basis: 52px; }
  .pf-station-start span.pf-station-start-visual { flex-basis: 52px; }
  .pf-station-start strong { font-size: 16px; }
  .pf-station-start small { font-size: 12px; }
  .pf-station-grid { grid-template-columns: 1fr; }
  .pf-chosen-station { align-items: flex-start; }
  .pf-featured-layout { grid-template-columns: minmax(0,1.2fr) minmax(100px,.8fr); }
  .pf-search-summary { flex-wrap: wrap; }
  .pf-search-summary span { font-size: 12px; }
  @keyframes pf-scene-drift { from { transform: scale(1.04) translate3d(-.2%,0,0); } to { transform: scale(1.065) translate3d(.3%,-.3%,0); } }
  @keyframes pf-foreground-drift { from { transform: translate3d(.5%,.5%,0) scale(1.015); } to { transform: translate3d(-.5%,-.5%,0) scale(1.025); } }
}
@media (prefers-reduced-motion: reduce) {
  .pf-hero-scene,.pf-hero-dots button span { transition: none; }
  .pf-hero-scene img,.pf-home-screen .pf-hero-foreground { animation: none; transform: none; }
}

.pf-hero-scene picture { display:block; width:100%; height:100%; }
.pf-hero-copy a.pf-hero-secondary { text-decoration:none; }
.pf-hero-copy a.pf-hero-secondary:hover { text-decoration:underline; }

.pf-hero-copy a.pf-primary-button { text-decoration:none; }

.pf-home-guide a,.pf-home-trust a { text-decoration:none; font-family:inherit; }
