/* Supplied template styles, scoped to .ev-page. rem values use its original 16px root size. */


.ev-page {
  --color-scheme: light;
  --color-primary-50:  #fff6f1;
  --color-primary-100: #ffe8dc;
  --color-primary-200: #ffcdb3;
  --color-primary-300: #ffa77d;
  --color-primary-400: #ff8450;
  --color-primary-500: #ff7133;
  --color-primary-600: #ff601a;
  --color-primary-700: #e24e0c;
  --color-primary-800: #a83a08;
  --color-primary-900: #6b2504;

  --color-primary: var(--color-primary-600);
  --color-link: var(--color-primary-800);
  --color-link-hover: var(--color-primary-900);
  --color-secondary: #18286c;
  --color-secondary-strong: #18286c;
  --color-accent: #051148;
  --color-accent-strong: #051148;
  --color-surface:         #ffffff;
  --color-surface-alt:     #fff8f4;
  --color-surface-inverse: #051148;
  --color-text:            #18286c;
  --color-text-muted:      #5a6285;
  --color-text-on-primary: #ffffff;
  --color-text-on-inverse: #ffffff;

  --color-border: #efe4dd;
  --color-success:        #1d7a4a;
  --color-success-soft:   #e5f4ec;
  --color-success-strong: #135332;
  --color-success-on:     #ffffff;

  --color-warning:        #9a5b00;
  --color-warning-soft:   #fdf1df;
  --color-warning-strong: #6a3f00;
  --color-warning-on:     #ffffff;

  --color-error:          #c62828;
  --color-error-soft:     #fbe9e9;
  --color-error-strong:   #8a1c1c;
  --color-error-on:       #ffffff;

  --color-info:           #2d5fb0;
  --color-info-soft:      #e8eff9;
  --color-info-strong:    #1d3f78;
  --color-info-on:        #ffffff;
  --font-heading: "Kanit", "Segoe UI", system-ui, sans-serif;
  --font-body:    "Kanit", "Segoe UI", system-ui, sans-serif;
  --font-button:  var(--font-heading);

  --font-weight-heading: 600;
  --font-weight-body:    400;
  --font-weight-bold:    600;

  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 17px;
  --text-lg:   clamp(18px, 16.8px + 0.4vw, 20px);
  --text-xl:   clamp(20px, 17.6px + 0.8vw, 24px);
  --text-2xl:  clamp(24px, 20px + 1.4vw, 32px);
  --text-3xl:  clamp(30px, 22.4px + 2.4vw, 44px);
  --text-4xl:  clamp(36px, 24px + 3.6vw, 64px);
  --text-5xl:  clamp(44px, 25.6px + 5vw, 84px);
  --leading-tight:   1.12;
  --leading-normal:  1.6;
  --leading-display: 1.04;

  --tracking-tight:   -0.01em;
  --tracking-display: -0.015em;
  --radius-sm:   8px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-xl:   28px;
  --radius-full: 999px;
  --radius-panel: 32px;
  --radius-button: var(--radius-full);

  --border-width: 1px;
  --space-unit:    4px;
  --section-space: clamp(56px, 24px + 4.5vw, 104px);
  --container-max: 1360px;
  --shadow-sm: 0 1px 2px rgb(24 40 108 / 0.06);
  --shadow-md: 0 2px 4px rgb(24 40 108 / 0.04), 0 12px 32px rgb(255 96 26 / 0.08);
  --shadow-lg: 0 4px 8px rgb(24 40 108 / 0.05), 0 24px 56px rgb(5 17 72 / 0.16);
  --ease-out-expo:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-spring:    cubic-bezier(0.34, 1.4, 0.64, 1);
  --motion-easing:  var(--ease-out-expo);

  --motion-duration:      200ms;
  --motion-duration-slow: 420ms;

  --reveal-duration:       800ms;
  --reveal-duration-slow: 1000ms;
  --reveal-distance:        24px;
  --reveal-stagger:         90ms;
  --reveal-stagger-group:   90ms;
  --reveal-stagger-line:   120ms;
  --glass-surface: #051148;
  --glass-wash:    #051148;
  --glass-filter:  none;

  --shadow-button:       0 6px 18px rgb(255 96 26 / 0.28);
  --shadow-button-hover: 0 10px 28px rgb(255 96 26 / 0.38);
  --btn-line-height: 1.25;

  --eyebrow-padding-block: 0;
  --eyebrow-padding-inline: 0;
  --eyebrow-border-width: 0;
  --eyebrow-surface: transparent;
  --eyebrow-dot: none;
  --eyebrow-tracking: 0.08em;
  --eyebrow-ink: var(--color-primary-800);
  --leading-ui: 1.5;

  --nav-line-height: 1.25;
  --nav-marker-width: 0;
  --nav-marker-rest-width: 0;

  --card-border-hover: var(--color-primary-200);

  --tag-radius: var(--radius-full);
  --tag-surface: var(--color-primary-50);
  --tag-edge: var(--color-primary-100);
  --tag-ink: var(--color-primary-800);

  --field-focus-ring: 0 0 0 3px rgb(255 96 26 / 0.3);

  --stat-size: var(--text-3xl);
}
.ev-page {
  --space-1: calc(var(--space-unit) * 1);
  --space-2: calc(var(--space-unit) * 2);
  --space-3: calc(var(--space-unit) * 3);
  --space-4: calc(var(--space-unit) * 4);
  --space-5: calc(var(--space-unit) * 5);
  --space-6: calc(var(--space-unit) * 6);
  --space-8: calc(var(--space-unit) * 8);
  --space-10: calc(var(--space-unit) * 10);
  --space-12: calc(var(--space-unit) * 12);
  --space-16: calc(var(--space-unit) * 16);
  --measure: 65ch;
  --gutter: clamp(var(--space-4), 4vw, var(--space-8));
  --header-height: 64px;
  --z-base: 1;
  --z-sticky: 40;
  --z-header: 50;
  --z-nav: 55;
  --z-overlay: 70;
  --z-preview: 90;
  --bp-nav: 1024px;
}
.ev-page *,
.ev-page *::before,
.ev-page *::after {
  box-sizing: border-box;
  margin: 0;
}
.ev-page [hidden] {
  display: none !important;
}
.ev-page {
  color-scheme: var(--color-scheme, light);
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb, var(--color-primary-200)) transparent;
}
.ev-page ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.ev-page ::-webkit-scrollbar-track {
  background: transparent;
}
.ev-page ::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb, var(--color-primary-200));
  border-radius: var(--radius-full);
}
.ev-page ::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover, var(--color-primary-400));
}
.ev-page .surface-inverse::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, currentColor 25%, transparent);
}
.ev-page {
  font-family: var(--font-body);
  font-weight: var(--font-weight-body);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-body, normal);
  color: var(--color-text);
  background: var(--color-surface);
}
.ev-page img,
.ev-page svg,
.ev-page video {
  display: block;
  max-width: 100%;
}
.ev-page button,
.ev-page input,
.ev-page select,
.ev-page textarea {
  font: inherit;
  color: inherit;
}
.ev-page h1,
.ev-page h2,
.ev-page h3,
.ev-page h4 {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heading);
  line-height: var(--leading-tight);
  overflow-wrap: break-word;
}
.ev-page h1 { font-size: var(--text-3xl); }
.ev-page h2 { font-size: var(--h2-size, var(--text-2xl)); }
.ev-page h3 { font-size: var(--text-xl); }
.ev-page h4 { font-size: var(--text-lg); }
.ev-page h1,
.ev-page h2 {
  letter-spacing: var(--tracking-tight);
  text-wrap: balance;
}
.ev-page p,
.ev-page li {
  overflow-wrap: break-word;
}
.ev-page a {
  color: var(--color-link, var(--color-primary));
  transition: color var(--motion-duration) var(--motion-easing);
}
.ev-page a:hover {
  color: var(--color-link-hover,
    var(--color-primary-hover, var(--color-primary-700)));
}
.ev-page :focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
}
.ev-page .surface-inverse :focus-visible {
  outline-color: var(--color-text-on-inverse);
}
.ev-page .container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.ev-page {
}
.ev-page {
  flex-grow: 1;
}
.ev-page .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.ev-page .surface-alt     { background: var(--color-surface-alt);     color: var(--color-text); }
.ev-page .surface-inverse { background: var(--color-surface-inverse); color: var(--color-text-on-inverse); }
.ev-page .carousel__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: var(--space-6);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  padding-block: var(--space-2);
}
.ev-page .carousel__track::-webkit-scrollbar {
  display: none;
}
.ev-page .carousel__track > * {
  scroll-snap-align: start;
}
@media (hover: hover) and (pointer: fine) {
  .ev-page .carousel.is-draggable .carousel__track {
    cursor: grab;
  }
}
.ev-page .carousel.is-dragging .carousel__track {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
  user-select: none;
}
.ev-page .carousel.is-gliding .carousel__track {
  scroll-snap-type: none;
  scroll-behavior: auto;
}
@media (min-width: 768px) {
  .ev-page .carousel__track {
    grid-auto-columns: calc((100% - var(--space-6)) / 2);
  }
}
.ev-page .carousel__nav {
  display: flex;
  gap: var(--space-2);
  margin-block-start: var(--space-6);
  justify-content: var(--carousel-nav-align, flex-start);
}
.ev-page .carousel__btn {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-full);
  background: var(--color-surface);
  color: var(--color-text);
  cursor: pointer;
  transition:
    border-color var(--motion-duration) var(--ease-out-expo),
    color var(--motion-duration) var(--ease-out-expo),
    opacity var(--motion-duration) var(--ease-out-expo);
}
.ev-page .carousel__btn:hover:not(:disabled) {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.ev-page .carousel__btn:disabled {
  opacity: 0.35;
  cursor: default;
}
.ev-page .carousel__btn .icon {
  width: 20px;
  height: 20px;
}
.ev-page .section {
  padding-block: var(--section-space);
}
.ev-page .section[id] {
  scroll-margin-block-start: calc(var(--space-12) - var(--section-space));
}
.ev-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding-block:
    calc(var(--space-3) + var(--btn-label-shift, 0px))
    calc(var(--space-3) - var(--btn-label-shift, 0px));
  padding-inline: var(--space-6);
  border: var(--border-width) solid transparent;
  border-radius: var(--radius-button, var(--radius-md));
  font-family: var(--font-button);
  font-weight: var(--btn-font-weight, var(--font-weight-bold));
  font-size: var(--text-base);
  line-height: var(--btn-line-height, 1.2);
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color var(--motion-duration) var(--motion-easing),
    border-color var(--motion-duration) var(--motion-easing),
    color var(--motion-duration) var(--motion-easing),
    box-shadow var(--motion-duration-slow) var(--ease-out-expo),
    translate var(--motion-duration-slow) var(--ease-out-expo);
}
.ev-page .btn .icon {
  width: 1.25em;
  height: 1.25em;
}
.ev-page .btn--primary {
  background: var(--btn-surface, var(--color-primary));
  color: var(--btn-ink, var(--color-text-on-primary));
  background-image: var(--btn-sheen, none);
  box-shadow: var(--shadow-button, none);
  backdrop-filter: var(--btn-filter, none);
}
.ev-page .btn--primary:hover {
  background-color: var(--btn-hover-surface,
    var(--color-primary-hover, var(--color-primary-700)));
  color: var(--btn-hover-ink, var(--btn-ink, var(--color-text-on-primary)));
}
.ev-page .btn--lg {
  padding-block:
    calc(var(--space-4) + var(--btn-label-shift, 0px))
    calc(var(--space-4) - var(--btn-label-shift, 0px));
  padding-inline: var(--space-8);
  font-size: var(--text-lg);
}
.ev-page .btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  box-shadow: none;
}
@keyframes ev-btn-spin {
  to { transform: rotate(1turn); }
}
.ev-page .divider {
  border: 0;
  border-block-start: var(--border-width) solid var(--color-border);
}
.ev-page .icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.ev-page .icon svg {
  width: 100%;
  height: 100%;
}
.ev-page [data-form-status] {
  flex-basis: 100%;
  font-size: var(--text-sm);
  font-weight: var(--font-weight-bold);
}
.ev-page [data-form-status]:empty {
  display: none;
}
.ev-page [data-form-status][data-state="ok"] {
  color: var(--color-success-strong);
}
.ev-page [data-form-status][data-state="error"] {
  color: var(--color-error);
}
@keyframes ev-nav-item {
  from { opacity: 0; translate: 0 var(--reveal-distance); }
  to   { opacity: 1; translate: none; }
}
.ev-page .accordion {
  display: flex;
  flex-direction: column;
  gap: var(--accordion-gap, 0);
  border-block-start: var(--border-width) solid var(--accordion-rule, var(--color-border));
}
.ev-page .accordion__item {
  border-style: solid;
  border-color: var(--accordion-panel-border, transparent);
  border-width: var(--accordion-panel-width, 0);
  border-block-end-width: var(--border-width);
  border-block-end-color: var(--accordion-panel-border, var(--accordion-rule, var(--color-border)));
  border-radius: var(--accordion-radius, 0);
  background: var(--accordion-surface, transparent);
  box-shadow: var(--accordion-shadow, none);
  -webkit-backdrop-filter: var(--accordion-filter, none);
  backdrop-filter: var(--accordion-filter, none);
}
.ev-page .accordion__item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) var(--accordion-inset, 0);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  list-style: none;
}
.ev-page .accordion__item summary::-webkit-details-marker {
  display: none;
}
.ev-page .accordion__item summary::after {
  content: "";
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background:
    linear-gradient(currentColor, currentColor) center / 2px 16px no-repeat,
    linear-gradient(currentColor, currentColor) center / 16px 2px no-repeat;
  color: var(--color-primary);
  transform: rotate(0deg);
  transform-origin: center;
  transition: transform var(--motion-duration-slow) var(--motion-easing);
  will-change: transform;
}
.ev-page .accordion__item[open] summary::after {
  transform: rotate(45deg);
}
.ev-page .accordion__content {
  padding: 0 var(--accordion-inset, 0) var(--space-4);
  color: var(--color-text-muted);
}
@keyframes ev-hero-photo-settle {
  from { scale: 1.06; }
  to   { scale: 1; }
}
@keyframes ev-marquee-drift {
  to {
    transform: translateX(-50%);
  }
}
.ev-page {
  --fn-navy-top: #1d2f7a;
  --fn-star: #ffc400;
  --fn-orange-on-navy: var(--color-primary-400);
  --fn-rule-on-navy: rgb(255 255 255 / 0.16);
  --fn-muted-on-navy: rgb(255 255 255 / 0.74);
}
.ev-page {
  background: var(--color-surface);
}
.ev-page .btn {
  font-size: 19px;
  font-weight: 500;
}
.ev-page .btn--lg {
  font-size: max(19px, var(--text-lg));
}
.ev-page .btn--primary:disabled,
.ev-page .btn--primary[aria-disabled="true"] {
  background: var(--color-primary-200);
  color: #ffffff;
  box-shadow: none;
  cursor: not-allowed;
  translate: none;
}
.ev-page .fn-btn-line {
  background: transparent;
  color: var(--color-text-on-inverse);
  border-color: rgb(255 255 255 / 0.4);
}
.ev-page .fn-btn-line:hover {
  background: rgb(255 255 255 / 0.08);
  color: var(--color-text-on-inverse);
  border-color: rgb(255 255 255 / 0.7);
}
.ev-page .fn-section-title {
  margin: 0;
  font-size: var(--text-3xl);
  font-weight: 500;
  color: var(--color-text);
}
.ev-page .fn-section-title em,
.ev-page .fn-callme__title em {
  font-style: normal;
  color: var(--color-primary);
}
.ev-page .fn-section-sub {
  margin: var(--space-3) 0 0;
  color: var(--color-text-muted);
  font-size: var(--text-lg);
}
.ev-page .fn-center-head {
  margin-block-end: var(--space-10);
}
.ev-page .fn-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block-start: var(--space-8);
}
.ev-page .fn-trust {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-8);
  margin: var(--space-16) 0 0;
  padding: 0;
  list-style: none;
}
.ev-page .fn-trust__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.ev-page .fn-trust__icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  border: var(--border-width) solid rgb(255 96 26 / 0.35);
  border-radius: 50%;
  background: rgb(255 96 26 / 0.12);
  color: var(--fn-orange-on-navy);
}
.ev-page .fn-trust__icon .icon { width: 20px; height: 20px; }
.ev-page .fn-trust__text {
  display: grid;
  line-height: 1.25;
}
.ev-page .fn-trust__value {
  font-size: var(--text-lg);
  font-weight: 600;
  color: #ffffff;
}
.ev-page .fn-trust__label {
  font-size: var(--text-sm);
  color: var(--fn-muted-on-navy);
}
@media (max-width: 479.84px) {
  .ev-page .fn-hero__actions { display: grid; grid-template-columns: 1fr; margin-block-start: var(--space-6); }
  .ev-page .fn-hero__actions .btn { width: 100%; }
  .ev-page .fn-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-3);
    margin-block-start: var(--space-8);
  }
  .ev-page .fn-trust__item { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
  .ev-page .fn-trust__icon { width: 36px; height: 36px; }
  .ev-page .fn-trust__icon .icon { width: 16px; height: 16px; }
  .ev-page .fn-trust__value { font-size: var(--text-base); }
  .ev-page .fn-trust__label { font-size: var(--text-xs); }
}
@keyframes ev-fn-deal-in {
  from { translate: 0 30%; rotate: 0deg; opacity: 0; }
}
@keyframes ev-fn-turn {
  from { transform: rotateY(180deg); }
}
.ev-page .fn-switch {
  display: inline-flex;
  margin: 0;
  padding: var(--space-1);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-full);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}
.ev-page .fn-switch__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.ev-page .fn-switch__option {
  padding: var(--space-2) var(--space-6);
  border-radius: var(--radius-full);
  font-weight: 500;
  color: var(--color-text-muted);
  cursor: pointer;
  transition:
    background-color var(--motion-duration) var(--motion-easing),
    color var(--motion-duration) var(--motion-easing);
}
.ev-page .fn-switch__option:hover { color: var(--color-text); }
.ev-page .fn-switch__input:checked + .fn-switch__option {
  background: var(--color-secondary);
  color: #ffffff;
}
.ev-page .fn-switch__input:focus-visible + .fn-switch__option {
  outline: 2px solid var(--color-secondary);
  outline-offset: 2px;
}
.ev-page .fn-tariff-grid {
  display: grid;
  gap: var(--space-5);
  margin-block-start: var(--space-12);
}
@media (min-width: 640px) {
  .ev-page .fn-tariff-grid { row-gap: var(--space-16); margin-block-start: calc(var(--space-16) + var(--space-8)); }
}
@media (min-width: 640px) {
  .ev-page .fn-tariff-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1152px) {
  .ev-page .fn-tariff-grid { grid-template-columns: repeat(4, 1fr); }
}
.ev-page .fn-tariff {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--space-6) var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  color: var(--color-text);
  text-align: center;
  box-shadow: var(--shadow-lg);
}
.ev-page .fn-tariff__media {
  display: flex;
  justify-content: center;
  margin-block: calc(-1 * (var(--space-6) + 56px)) var(--space-5);
}
.ev-page .fn-tariff__media img {
  height: 240px;
  width: auto;
  max-width: none;
  filter: drop-shadow(0 18px 24px rgb(5 17 72 / 0.22));
  transition:
    rotate var(--motion-duration-slow) var(--ease-out-expo),
    translate var(--motion-duration-slow) var(--ease-out-expo);
}
@keyframes ev-fn-swap {
  from { opacity: 0; translate: 0 8px; }
}
.ev-page .fn-tariff:hover .fn-tariff__media img {
  translate: 0 -8px;
  transition-delay: 0s;
}
.ev-page .fn-tariff__name {
  margin: 0;
  font-size: var(--text-2xl);
  font-weight: 500;
  color: var(--color-text);
}
.ev-page .fn-tariff__text {
  margin: var(--space-2) 0 0;
  color: var(--color-text-muted);
  font-size: var(--text-base);
  line-height: 1.45;
  text-wrap: balance;
}
.ev-page .fn-tariff__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-2);
  margin: var(--space-4) 0 var(--space-6);
  padding: 0;
  list-style: none;
}
.ev-page .fn-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-3);
  border: var(--border-width) solid var(--tag-edge);
  border-radius: var(--radius-full);
  background: var(--tag-surface);
  color: var(--tag-ink);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.5;
}
.ev-page .fn-tag .icon { width: 1em; height: 1em; }
.ev-page .fn-tariff__cta {
  margin-block-start: auto;
  translate: 0 0;
}
.ev-page .fn-tariff > .fn-tariff__cta { margin-top: auto; }
@media (max-width: 639.84px) {
  .ev-page .fn-tariff {
    display: grid;
    grid-template-columns: 88px 1fr;
    column-gap: var(--space-4);
    align-items: start;
    padding: var(--space-5);
    text-align: start;
  }
  .ev-page .fn-tariff__media { grid-row: 1 / span 3; margin: 0; }
  .ev-page .fn-tariff__media img { height: 132px; }
  .ev-page .fn-tariff__name { font-size: var(--text-xl); }
  .ev-page .fn-tariff__text { font-size: var(--text-sm); text-wrap: pretty; }
  .ev-page .fn-tariff__tags { justify-content: flex-start; margin-block-start: var(--space-3); }
  .ev-page .fn-tariff__cta { grid-column: 1 / -1; }
  .ev-page .fn-tariff > .fn-tariff__cta { margin-block-start: var(--space-4); width: 100%; }
}
.ev-page .fn-reviews__head {
  display: grid;
  gap: var(--space-6);
  align-items: end;
  margin-block-end: var(--space-8);
}
@media (min-width: 896px) {
  .ev-page .fn-reviews__head { grid-template-columns: 1fr auto; }
}
.ev-page .fn-score {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  justify-self: start;
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
  color: var(--color-text);
  text-decoration: none;
  transition: translate var(--motion-duration-slow) var(--ease-out-expo);
}
.ev-page .fn-score:hover { color: var(--color-text); translate: 0 -2px; }
.ev-page .fn-score__g { width: 28px; height: 28px; }
.ev-page .fn-score__value {
  font-size: var(--text-4xl);
  font-weight: 600;
  line-height: 1;
  color: var(--color-primary);
}
.ev-page .fn-score__meta {
  display: grid;
  gap: var(--space-1);
  font-size: var(--text-sm);
  font-weight: 500;
}
.ev-page .fn-stars {
  display: inline-flex;
  gap: 2px;
  color: var(--fn-star);
}
.ev-page .fn-stars .icon { width: 18px; height: 18px; }
.ev-page .fn-review-carousel .carousel__track {
  grid-auto-columns: 86%;
  gap: var(--space-4);
  padding-block: var(--space-2) var(--space-6);
}
@media (min-width: 768px) {
  .ev-page .fn-review-carousel .carousel__track { grid-auto-columns: calc((100% - var(--space-4)) / 2); }
}
@media (min-width: 1024px) {
  .ev-page .fn-review-carousel .carousel__track { grid-auto-columns: calc((100% - 2 * var(--space-4)) / 3); }
}
.ev-page .fn-review {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: var(--space-6);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}
.ev-page .fn-review__text {
  margin: var(--space-4) 0 0;
  padding: 0;
  border: 0;
}
.ev-page .fn-review__text p {
  margin: 0;
  font-weight: 300;
  line-height: 1.6;
  color: var(--color-text);
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ev-page .fn-review__text p::before { content: "„"; }
.ev-page .fn-review__text p::after { content: "“"; }
.ev-page .fn-review.is-open .fn-review__text p {
  -webkit-line-clamp: unset;
  display: block;
}
.ev-page .fn-review__more {
  align-self: flex-start;
  margin-block-start: var(--space-2);
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-link);
  font: inherit;
  font-weight: 500;
  font-size: var(--text-sm);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  cursor: pointer;
}
.ev-page .fn-review__who {
  display: grid;
  gap: 2px;
  margin-block-start: auto;
  padding-block-start: var(--space-5);
}
.ev-page .fn-review__who b { font-weight: 600; }
.ev-page .fn-review__who time {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}
.ev-page .fn-reviews__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-4);
  margin-block-start: var(--space-6);
}
.ev-page .fn-reviews__foot.has-nav { justify-content: space-between; }
.ev-page .fn-reviews__foot .carousel__nav { margin: 0; }
.ev-page .fn-btn-outline {
  background: transparent;
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}
.ev-page .fn-btn-outline:hover {
  background: var(--color-secondary);
  border-color: var(--color-secondary);
  color: #ffffff;
}
.ev-page .fn-score__out {
  width: 18px;
  height: 18px;
  align-self: flex-start;
  color: var(--color-text-muted);
}
.ev-page .fn-callme__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  padding: var(--space-8) var(--space-6);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(448px 288px at 92% 50%, var(--color-primary-50), transparent 70%),
    var(--color-surface);
  box-shadow: var(--shadow-md);
}
.ev-page .fn-callme__title {
  margin: 0;
  font-size: var(--text-3xl);
  font-weight: 500;
}
.ev-page .fn-callme__text {
  margin: var(--space-2) 0 var(--space-6);
  font-size: var(--text-lg);
}
.ev-page .fn-callme__bulb {
  display: none;
}
@media (min-width: 896px) {
  .ev-page .fn-callme__card {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-8);
    padding: var(--space-10) var(--space-12);
  }
  .ev-page .fn-callme__card { padding-inline-end: var(--space-8); }
  .ev-page .fn-callme__bulb {
    display: block;
    align-self: stretch;
    justify-self: center;
    width: auto;
    height: calc(100% + 2 * var(--space-10));
    max-width: none;
    margin-block: calc(-1 * var(--space-10));
    filter: drop-shadow(0 0 28px rgb(255 120 40 / 0.35));
    clip-path: inset(0 -48px);
  }
  .ev-page .fn-callme__card:has(> .fn-callme__bulb:not(.fn-callme__bulb--lock)) {
    grid-template-columns: minmax(0, 1fr) 320px;
  }

  .ev-page .fn-callme__bulb:not(.fn-callme__bulb--lock) {
    position: absolute;
    inset-block: 0;
    inset-inline-end: var(--space-8);
    width: 320px;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center;
  }
}
.ev-page .fn-phone-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  max-width: 576px;
}
.ev-page .fn-phone {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding: var(--space-2);
  border: var(--border-width) solid var(--color-primary-300);
  border-radius: var(--radius-full);
  background: var(--color-surface);
  transition: box-shadow var(--motion-duration) var(--motion-easing), border-color var(--motion-duration) var(--motion-easing);
}
.ev-page .fn-phone:focus-within {
  border-color: var(--color-primary);
  box-shadow: var(--field-focus-ring);
}
.ev-page .fn-phone__input {
  flex: 1 1 128px;
  width: 0;
  min-width: 0;
  padding: var(--space-2);
  border: 0;
  background: transparent;
  color: var(--color-text);
  font: inherit;
  font-size: var(--text-lg);
}
.ev-page .fn-phone__input::placeholder { color: var(--color-text-muted); }
.ev-page .fn-phone__input:focus { outline: none; }
.ev-page .fn-phone__input[aria-invalid="true"] { color: var(--color-error); }
.ev-page .fn-phone .fn-phone__submit {
  padding-block: var(--space-2);
  padding-inline: var(--space-6);
}
.ev-page .fn-phone__field {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 479.84px) {
  .ev-page .fn-phone--inline {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
    padding: 0;
    border: 0;
    background: none;
  }
  .ev-page .fn-phone--inline:focus-within { box-shadow: none; }
  .ev-page .fn-phone--inline .fn-phone__field {
    padding: var(--space-1);
    border: var(--border-width) solid var(--color-primary-300);
    border-radius: var(--radius-full);
    background: var(--color-surface);
    transition: box-shadow var(--motion-duration) var(--motion-easing), border-color var(--motion-duration) var(--motion-easing);
  }
  .ev-page .fn-phone--inline .fn-phone__field:focus-within {
    border-color: var(--color-primary);
    box-shadow: var(--field-focus-ring);
  }
  .ev-page .fn-phone--inline .fn-phone__submit { width: 100%; padding-block: var(--space-3); }
}
.ev-page .fn-form-error {
  margin: 0;
  color: var(--color-error);
  font-size: var(--text-sm);
}
.ev-page .fn-form-error:empty { display: none; }
.ev-page .fn-form-done {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-success-soft);
  color: var(--color-success-strong);
  font-weight: 500;
}
.ev-page .fn-legal {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-weight: 300;
  line-height: 1.5;
}
.ev-page .fn-legal a { color: var(--color-text); }
@keyframes ev-fn-cb-in {
  from { opacity: 0; translate: 0 var(--space-4); }
}
@keyframes ev-fn404-plug {
  0%, 100% { translate: 0 0; }
  42%, 56% { translate: 26px -10px; }
}
@keyframes ev-fn404-socket {
  0%, 100% { translate: 0 0; }
  42%, 56% { translate: -26px 8px; }
}
@keyframes ev-fn404-glow {
  0%, 30%, 72%, 100% { opacity: 0.2; }
  48% { opacity: 1; }
  51% { opacity: 0.7; }
  54% { opacity: 0.95; }
}
@keyframes ev-fn404-spark {
  0%, 38%, 64%, 100% { opacity: 0.45; }
  46%, 52% { opacity: 1; }
  49% { opacity: 0.6; }
}
.ev-page .fn-page-head {
  padding-block: calc(var(--header-height, 64px) + var(--space-10)) var(--space-12);
  background:
    /* held to the content, not the window: where it falls at 1920px it
       stays on any wider screen (the size is fixed there below) */
    radial-gradient(40% 80% at min(85%, calc(50% + 672px)) 20%, rgb(255 96 26 / 0.14), transparent 70%),
    linear-gradient(180deg, var(--fn-navy-top), var(--color-surface-inverse));
  color: var(--color-text-on-inverse);
}
.ev-page .fn-page-head__title {
  margin: 0;
  font-size: clamp(36px, 24px + 3vw, 60px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #ffffff;
}
@media (min-width: 1024px) {
  .ev-page .fn-page-head { padding-block: calc(var(--header-height) + var(--space-12)) var(--space-16); }
}
@keyframes ev-fn-ring {
  0% { opacity: 0.9; scale: 1; }
  100% { opacity: 0; scale: 1.75; }
}
@media (min-width: 768px) {
  .ev-page .fn-tariff-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 1023.84px) {
  .ev-page .fn-tariff-grid--three { gap: var(--space-4); }
  .ev-page .fn-tariff-grid--three .fn-tariff { padding-inline: var(--space-4); }
  .ev-page .fn-tariff-grid--three .fn-tariff__cta { padding-inline: var(--space-4); white-space: nowrap; }
}
@keyframes ev-fn-card-in {
  from { opacity: 0; translate: 0 12px; }
}
@keyframes ev-fn-wip-pulse {
  50% { opacity: 0.35; }
}
.ev-page .accordion {
  --accordion-gap: var(--space-3);
  --accordion-panel-border: var(--color-border);
  --accordion-panel-width: var(--border-width);
  --accordion-radius: 20px;
  --accordion-inset: var(--space-6);
  --accordion-surface: var(--color-surface);
  border-block-start: 0;
}
.ev-page .accordion__item { transition: border-color var(--motion-duration) var(--motion-easing), box-shadow var(--motion-duration-slow) var(--motion-easing); }
.ev-page .accordion__item:hover { border-color: var(--color-primary-200); }
.ev-page .accordion__item summary {
  gap: var(--space-5);
  padding-block: var(--space-5);
  padding-inline-end: var(--space-5);
  color: var(--color-text);
  font-size: clamp(17px, 16px + 0.3vw, 20px);
  font-weight: 500;
  line-height: 1.3;
}
.ev-page .accordion__item summary::after {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background:
    linear-gradient(var(--color-primary), var(--color-primary)) center / 14px 2px no-repeat,
    linear-gradient(var(--color-primary), var(--color-primary)) center / 2px 14px no-repeat,
    var(--color-primary-50);
  transform: none;
  transition: transform var(--motion-duration-slow) var(--motion-easing), background-color var(--motion-duration) var(--motion-easing);
}
.ev-page .accordion__content {
  padding: 0 calc(var(--space-5) + 36px + var(--space-5)) var(--space-6) var(--accordion-inset);
  color: var(--color-text-muted);
  line-height: 1.65;
}
@media (max-width: 639.84px) {
  .ev-page .accordion { --accordion-inset: var(--space-5); }
  .ev-page .accordion__item summary { padding-block: var(--space-4); padding-inline-end: var(--space-4); gap: var(--space-3); }
  .ev-page .accordion__item summary::after { width: 32px; height: 32px; }
  .ev-page .accordion__content { padding: 0 var(--space-5) var(--space-5); }
}
.ev-page .accordion__content > :first-child { margin-block-start: 0; }
.ev-page .accordion__content p,
.ev-page .accordion__content ul { margin: 0 0 var(--space-3); }
.ev-page .accordion__content > :last-child { margin-block-end: 0; }
.ev-page .accordion__content ul { padding-inline-start: var(--space-5); }
.ev-page .accordion__content li + li { margin-block-start: var(--space-1); }
.ev-page .accordion__content li::marker { color: var(--color-primary); }
@keyframes ev-fn-tick-pop {
  from { scale: 0.4; opacity: 0; }
}
.ev-page .fn-page-head--hero { padding-block-end: var(--space-16); }
.ev-page .fn-page-head--hero .fn-page-head__title { font-size: clamp(40px, 25.6px + 3.6vw, 72px); line-height: 1.04; }
.ev-page .fn-tariff__price { display: grid; gap: 2px; }
.ev-page .fn-tariff__price-line { margin: 0; color: var(--color-text); font-size: var(--text-sm); }
.ev-page .fn-tariff__amount {
  position: relative;
  color: var(--color-primary);
  font-size: var(--text-2xl);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  transition: opacity 160ms var(--motion-easing);
}
.ev-page .fn-tariff__unit { color: var(--color-text); font-size: var(--text-sm); white-space: nowrap; }
.ev-page .fn-tariff__unit + .fn-tariff__amount { margin-inline-start: 0.2em; }
.ev-page .fn-tariff__amount + .fn-tariff__unit { margin-inline-start: 0.2em; }
.ev-page .fn-tariff__price-note { margin: 0; color: var(--color-text-muted); font-size: var(--text-xs); }
.ev-page .fn-tariff__price-fail { margin: 0; color: var(--color-text-muted); font-size: var(--text-sm); }
.ev-page .fn-tariff__price-fail[hidden] { display: none; }
.ev-page .fn-quote__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
}
@media (min-width: 1024px) {
  .ev-page .fn-quote__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); align-items: stretch; }
  .ev-page .fn-quote__grid > .fn-quote__form { display: flex; flex-direction: column; }
}
.ev-page .fn-quote__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  padding: var(--space-6) var(--space-5);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}
@media (min-width: 768px) {
  .ev-page .fn-quote__form { padding: var(--space-8); }
}
.ev-page .fn-quote__label { color: var(--color-text); font-size: var(--text-sm); }
.ev-page .fn-quote__addr-field {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: 52px;
  padding-inline: var(--space-4);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface-alt);
  transition: border-color var(--motion-duration) var(--motion-easing);
}
.ev-page .fn-quote__addr-field:focus-within { border-color: var(--color-primary); }
.ev-page .fn-quote__addr-field .icon { flex: none; width: 20px; height: 20px; color: var(--color-primary); }
.ev-page .fn-quote__addr-input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: none;
  color: var(--color-text);
  font: inherit;
  font-size: var(--text-lg);
  outline: none;
}
.ev-page .fn-quote__hint { margin: 0; color: var(--color-text-muted); font-size: var(--text-xs); line-height: 1.5; }
.ev-page .fn-quote__rows { display: grid; gap: var(--space-4); }
.ev-page .fn-quote__row {
  display: grid;
  gap: var(--space-2);
  align-items: center;
}
@media (min-width: 480px) {
  .ev-page .fn-quote__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: var(--space-4); }
}
.ev-page .fn-quote__select { position: relative; }
.ev-page .fn-quote__select select {
  width: 100%;
  min-height: 48px;
  padding: 0 var(--space-10) 0 var(--space-4);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  appearance: none;
  cursor: pointer;
}
.ev-page .fn-quote__select select:focus-visible { outline: 2px solid var(--color-secondary); outline-offset: 1px; }
.ev-page .fn-quote__select .icon {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: var(--space-3);
  width: 18px;
  height: 18px;
  translate: 0 -50%;
  color: var(--color-primary);
  pointer-events: none;
}
.ev-page .fn-quote__tip { margin: 0; color: var(--color-text-muted); font-size: var(--text-sm); line-height: 1.5; }
@keyframes ev-fn-shimmer {
  from { background-position: 100% 0; }
  to { background-position: -50% 0; }
}
.ev-page .fn-open__card {
  display: grid;
  gap: var(--space-6);
  align-items: center;
  padding: var(--space-8) var(--space-6);
  border-radius: var(--radius-xl);
  background: var(--color-surface-alt);
}
@media (min-width: 1024px) {
  .ev-page .fn-open__card { grid-template-columns: minmax(0, 1fr) auto; padding: var(--space-10) var(--space-12); }
}
.ev-page .fn-open__title { margin: 0; font-size: var(--text-3xl); font-weight: 500; }
.ev-page .fn-open__text { margin: var(--space-3) 0 0; max-width: 640px; color: var(--color-text-muted); line-height: 1.6; }
.ev-page .fn-open__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.ev-page .fn-score__fail { display: none; }
.ev-page .fn-reviews__fail {
  display: grid;
  justify-items: center;
  gap: var(--space-3);
  padding: var(--space-10) var(--space-6);
  border: var(--border-width) dashed var(--color-primary-200);
  border-radius: var(--radius-xl);
  text-align: center;
}
.ev-page .fn-reviews__fail[hidden] { display: none; }
.ev-page .fn-reviews__fail-g { width: 40px; height: 40px; }
.ev-page .fn-reviews__fail-title { margin: var(--space-1) 0 0; font-size: var(--text-xl); font-weight: 500; }
.ev-page .fn-reviews__fail-text { margin: 0 0 var(--space-2); color: var(--color-text-muted); }
.ev-page main > .section.surface-alt + .section.surface-alt,
.ev-page main > .section:not([class*="surface-"]) + .section:not([class*="surface-"]) {
  padding-block-start: 0;
}
.ev-page main > .section.surface-alt + .section.surface-alt[id],
.ev-page main > .section:not([class*="surface-"]) + .section:not([class*="surface-"])[id] {
  scroll-margin-block-start: var(--space-12);
}
.ev-page .fn-quote__range { display: grid; gap: var(--space-3); }
.ev-page .fn-range {
  --fill: 14%;
  width: 100%;
  height: 28px;
  margin: 0;
  background: none;
  appearance: none;
  cursor: pointer;
}
.ev-page .fn-range::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: var(--radius-full);
  background: linear-gradient(90deg, var(--color-primary) var(--fill), var(--color-primary-100) var(--fill));
}
.ev-page .fn-range::-moz-range-track {
  height: 8px;
  border-radius: var(--radius-full);
  background: linear-gradient(90deg, var(--color-primary) var(--fill), var(--color-primary-100) var(--fill));
}
.ev-page .fn-range::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  margin-block-start: -8px;
  border: 3px solid #ffffff;
  border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 4px 12px -4px rgb(255 96 26 / 0.8);
  appearance: none;
}
.ev-page .fn-range::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border: 3px solid #ffffff;
  border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 4px 12px -4px rgb(255 96 26 / 0.8);
}
.ev-page .fn-range:focus-visible { outline: none; }
.ev-page .fn-range:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--color-secondary); outline-offset: 2px; }
.ev-page .fn-range:focus-visible::-moz-range-thumb { outline: 2px solid var(--color-secondary); outline-offset: 2px; }
.ev-page .fn-range__scale { display: flex; justify-content: space-between; margin-block-start: calc(var(--space-2) * -1); color: var(--color-text-muted); font-size: var(--text-xs); }
.ev-page .fn-eyebrow {
  margin: 0 0 var(--space-2);
  color: var(--color-primary);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ev-page .fn-prod-hero__grid { display: grid; gap: var(--space-10); align-items: center; }
@media (min-width: 1024px) {
  .ev-page .fn-prod-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(240px, 0.55fr); gap: var(--space-12); }
}
.ev-page .fn-prod-hero .fn-prod-hero__title {
  margin: 0;
  font-size: clamp(36px, 24px + 2.6vw, 60px);
  line-height: 1.08;
  text-wrap: balance;
}
.ev-page .fn-prod-hero__title em { font-style: normal; color: var(--color-primary); }
.ev-page .fn-prod-hero__text {
  max-width: 640px;
  margin: var(--space-5) 0 0;
  color: var(--fn-muted-on-navy);
  font-size: var(--text-lg);
  line-height: 1.55;
}
.ev-page .fn-proof {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-4);
  margin-block-end: var(--space-5);
  color: var(--fn-muted-on-navy);
  font-size: var(--text-sm);
}
.ev-page .fn-proof b { color: #ffffff; font-weight: 600; }
.ev-page .fn-proof__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  padding: 6.4px 15.2px 6.4px 12px;
  border: 1px solid rgb(255 255 255 / 0.18);
  border-radius: var(--radius-full);
  background: rgb(255 255 255 / 0.06);
  color: inherit;
  text-decoration: none;
  transition:
    border-color var(--motion-duration) var(--motion-easing),
    background-color var(--motion-duration) var(--motion-easing);
}
.ev-page .fn-proof__badge:hover { border-color: var(--color-primary); background: rgb(255 255 255 / 0.1); color: inherit; }
.ev-page .fn-proof__badge .fn-stars .icon { width: 15.2px; height: 15.2px; }
.ev-page .fn-proof__sep { width: 1px; height: 14.4px; background: rgb(255 255 255 / 0.25); }
.ev-page .fn-prod-hero__art { display: none; position: relative; justify-self: center; width: min(100%, 384px); }
@media (min-width: 1024px) {
  .ev-page .fn-prod-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(288px, 0.72fr); }
  .ev-page .fn-prod-hero__art { display: block; }
}
.ev-page .fn-prod-hero__art::before {
  content: "";
  position: absolute;
  inset: 8% -6% 2%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgb(255 150 60 / 0.55), rgb(255 96 26 / 0));
  filter: blur(24px);
  pointer-events: none;
}
.ev-page .fn-orbit {
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  aspect-ratio: 1;
  border: 1px solid rgb(255 255 255 / 0.13);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.ev-page .fn-prod-hero { overflow-x: clip; }
.ev-page .fn-orbit--1 { width: 128%; }
.ev-page .fn-orbit--2 { width: 168%; border-color: rgb(255 255 255 / 0.07); border-style: dashed; }
.ev-page .fn-prod-hero__art img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 30px 40px rgb(0 0 0 / 0.45));
}
@media (prefers-reduced-motion: no-preference) {
  .ev-page .fn-prod-hero__art img { animation: ev-fn-float 7s ease-in-out infinite; }
}
@keyframes ev-fn-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(1.2deg); }
}
.ev-page .fn-quote__grid[hidden] { display: none; }
.ev-page .fn-path { display: grid; gap: var(--space-8) 0; margin: 0; padding: 0; list-style: none; }
.ev-page .fn-path__step { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 0 var(--space-4); }
.ev-page .fn-path__no {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--color-secondary);
  color: #ffffff;
  font-size: var(--text-xl);
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 0 0 6px var(--color-surface), 0 14px 24px -12px rgb(5 17 72 / 0.6);
}
.ev-page .fn-path__step:not(:last-child)::after {
  content: "";
  position: absolute;
  inset-block: 52px calc(-1 * var(--space-8));
  inset-inline-start: calc(26px - 1px);
  border-inline-start: 2px dashed var(--color-primary-300);
}
.ev-page .fn-path__body { display: grid; gap: var(--space-2); align-content: start; padding-block-start: 6.4px; }
.ev-page .fn-path__title { margin: 0; font-size: var(--text-xl); font-weight: 500; line-height: 1.25; text-wrap: balance; }
.ev-page .fn-path__body p { margin: 0; color: var(--color-text-muted); }
@media (min-width: 768px) {
  .ev-page .fn-path { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--space-10); }
  .ev-page .fn-path__step { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .ev-page .fn-path__no { width: 64px; height: 64px; font-size: var(--text-2xl); box-shadow: 0 0 0 8px var(--color-surface), 0 16px 28px -14px rgb(5 17 72 / 0.6); }
  .ev-page .fn-path__step:not(:last-child)::after {
    inset-block: calc(32px - 1px) auto;
    inset-inline: 64px calc(-1 * var(--space-10));
    border-inline-start: 0;
    border-block-start: 2px dashed var(--color-primary-300);
  }
  .ev-page .fn-path__body { max-width: 36ch; padding: 0; }
}
.ev-page .fn-prod-faq__rule { margin: 0 0 var(--section-space); }
.ev-page .fn-prod-faq__grid { display: grid; gap: var(--space-8); }
@media (min-width: 1024px) {
  .ev-page .fn-prod-faq__grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.7fr); gap: var(--space-12); align-items: start; }
  .ev-page .fn-prod-faq__head { position: sticky; inset-block-start: calc(var(--header-height, 80px) + var(--space-8)); }
}
.ev-page .fn-callme__title--long { max-width: 30ch; font-size: var(--text-2xl); line-height: 1.25; text-wrap: balance; }
.ev-page .fn-callme__alt { margin: 0; color: var(--color-text-muted); font-size: var(--text-sm); }
.ev-page .fn-callme__alt a { color: var(--color-text); font-weight: 600; white-space: nowrap; }
@media (min-width: 896px) {
  .ev-page .fn-callme__bulb--lock {
    align-self: end;
    justify-self: end;
    width: clamp(192px, 64px + 15vw, 296px);
    height: auto;
    margin-block: calc(-1 * var(--space-6)) calc(-1 * var(--space-10));
    clip-path: none;
    filter: drop-shadow(0 18px 30px rgb(40 18 0 / 0.18));
  }
}
.ev-page .fn-others .fn-tariff__price { justify-items: center; margin-block: auto 0; }
.ev-page .fn-others .fn-tariff > .fn-tariff__cta { margin-block-start: var(--space-5); }
@media (max-width: 639.84px) {
  .ev-page .fn-others .fn-tariff__price { grid-column: 1 / -1; justify-items: start; margin-block-start: var(--space-3); }
}
.ev-page .fn-refer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  min-height: 280px;
  margin-block-start: calc(64px + var(--space-12));
  padding: var(--space-10) var(--space-12);
  border-radius: var(--radius-xl);
  color: var(--color-text-on-inverse);
  background:
    radial-gradient(416px 320px at 76% 62%, rgb(255 110 30 / 0.42), rgb(255 96 26 / 0) 70%),
    linear-gradient(111deg, var(--fn-navy-top) 8%, var(--color-secondary) 92%);
}
.ev-page .fn-refer__body { position: relative; z-index: 1; display: grid; justify-items: start; gap: var(--space-3); max-width: 56%; }
.ev-page .fn-refer .fn-refer__eyebrow { margin: 0; color: var(--fn-orange-on-navy); }
.ev-page .fn-refer__title {
  margin: 0;
  color: #ffffff;
  font-size: clamp(34px, 16px + 3.4vw, 60px);
  font-weight: 600;
  line-height: 1.05;
  text-wrap: balance;
}
.ev-page .fn-refer__title em { font-style: normal; color: var(--color-primary); white-space: nowrap; }
.ev-page .fn-refer__text { margin: 0 0 var(--space-3); color: var(--fn-muted-on-navy); font-size: clamp(17px, 14.4px + 0.6vw, 22px); line-height: 1.4; }
.ev-page .fn-refer__text b { color: #ffffff; font-weight: 600; white-space: nowrap; }
.ev-page .fn-refer__person {
  position: absolute;
  inset-inline-end: 9%;
  inset-block-end: 0;
  width: auto;
  max-width: none;
  height: calc(100% + 64px);
  filter: drop-shadow(0 18px 30px rgb(0 0 0 / 0.45));
  pointer-events: none;
}
.ev-page .fn-refer :focus-visible { outline-color: #ffffff; }
@media (max-width: 896px) {
  .ev-page .fn-refer { padding: var(--space-8); }
  .ev-page .fn-refer__person { inset-inline-end: 2%; }
}
@media (max-width: 600px) {
  .ev-page .fn-refer {
    min-height: 0;
    margin-block-start: var(--space-16);
    padding: var(--space-6) var(--space-5) 0;
    overflow: hidden;
    background:
      radial-gradient(304px 240px at 70% 86%, rgb(255 110 30 / 0.42), rgb(255 96 26 / 0) 70%),
      linear-gradient(111deg, var(--fn-navy-top) 8%, var(--color-secondary) 92%);
  }
  .ev-page .fn-refer__body { max-width: none; }
  .ev-page .fn-refer__body .btn { width: 100%; }
  .ev-page .fn-refer__person { position: static; justify-self: center; height: 232px; margin-block: var(--space-4) -40px; }
}
@media (min-width: 1920px) {
  .ev-page .fn-page-head {
    background:
      radial-gradient(768px 80% at calc(50% + 672px) 20%, rgb(255 96 26 / 0.14), transparent 70%),
      linear-gradient(180deg, var(--fn-navy-top), var(--color-surface-inverse));
  }
}
.ev-page .fn-prod-hero__text + .fn-prod-hero__text { margin-block-start: var(--space-3); }
.ev-page .fn-refer[id] { scroll-margin-block-start: calc(64px + var(--space-6)); }
.ev-page .fn-switch--sm { padding: 2px; }
.ev-page .fn-switch--sm .fn-switch__option { padding: 2.4px 12px; font-size: var(--text-sm); }
.ev-page .fn-ev-trust { margin-block-start: var(--space-10); }
.ev-page .fn-ev-sticky { display: none; }
@media (max-width: 767.84px) {

  .ev-page .fn-ev-sticky {
    position: fixed;
    inset-inline: var(--space-4) calc(var(--space-4) + 56px + var(--space-3));
    inset-block-end: calc(var(--space-4) + env(safe-area-inset-bottom, 0px));
    z-index: var(--z-overlay);
    display: flex;
    justify-content: center;
    min-height: 56px;
    padding-block: 0;
    box-shadow: var(--shadow-button);
    translate: 0 calc(100% + var(--space-8));
    visibility: hidden;
    transition:
      translate var(--motion-duration-slow) var(--ease-out-expo),
      visibility var(--motion-duration-slow) var(--ease-out-expo);
  }

  .ev-page .fn-ev-sticky.is-on { translate: 0 0; visibility: visible; }
}
@media (max-width: 767.84px) and (prefers-reduced-motion: reduce) {
  .ev-page .fn-ev-sticky { transition: none; }
}
.ev-page .fn-ev-input {
  width: 100%;
  min-height: 48px;
  padding: 0 var(--space-4);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  transition: border-color var(--motion-duration) var(--motion-easing);
}
.ev-page .fn-ev-input:focus-visible { border-color: var(--color-primary); outline: 2px solid var(--color-secondary); outline-offset: 1px; }
.ev-page .fn-ev-label { display: flex; justify-content: space-between; gap: var(--space-3); }
.ev-page .fn-ev-label output { color: var(--color-text); font-weight: 600; white-space: nowrap; }
.ev-page .fn-ev-switch { flex-wrap: wrap; justify-self: start; max-width: 100%; border-radius: var(--radius-lg); }
.ev-page .fn-ev-more { border-block-start: var(--border-width) solid var(--color-border); padding-block-start: var(--space-4); }
.ev-page .fn-ev-more summary {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text);
  font-size: var(--text-sm);
  font-weight: 500;
  cursor: pointer;
  list-style: none;
}
.ev-page .fn-ev-more summary::-webkit-details-marker { display: none; }
.ev-page .fn-ev-more summary .icon { width: 16px; height: 16px; color: var(--color-primary); transition: rotate var(--motion-duration) var(--motion-easing); }
.ev-page .fn-ev-more[open] summary .icon { rotate: 180deg; }
.ev-page .fn-ev-more > .fn-quote__rows { margin-block-start: var(--space-4); }
.ev-page .fn-ev-note { max-width: 768px; margin-block-start: var(--space-6); }
.ev-page .fn-prod-faq .fn-ev-note { margin-block-start: var(--space-5); }
.ev-page .fn-ev-out {
  display: flex;
  flex-direction: column;
  padding: var(--space-6) var(--space-5);
  border-radius: var(--radius-xl);
  background: var(--color-surface-inverse);
  color: var(--color-text-on-inverse);
  box-shadow: var(--shadow-md);
}
@media (min-width: 768px) {
  .ev-page .fn-ev-out { padding: var(--space-8); }
}
.ev-page .fn-ev-out__label,
.ev-page .fn-ev-out__cap { margin: 0; color: var(--fn-muted-on-navy); font-size: var(--text-sm); }
.ev-page .fn-ev-out__cap { margin-block-end: var(--space-6); }
.ev-page .fn-ev-out__big {
  margin: var(--space-1) 0 var(--space-1);
  font-size: var(--text-4xl);
  font-weight: 600;
  line-height: var(--leading-display);
}
.ev-page .fn-ev-out__big small { color: var(--fn-muted-on-navy); font-size: var(--text-lg); font-weight: 500; }
.ev-page .fn-ev-out__label + .fn-ev-out__big { margin-block-end: var(--space-5); }
.ev-page .fn-ev-out__rows { display: grid; margin: 0; }
.ev-page .fn-ev-out__rows div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block: var(--space-2);
  border-block-start: var(--border-width) solid var(--fn-rule-on-navy);
}
.ev-page .fn-ev-out__rows dt { color: var(--fn-muted-on-navy); }
.ev-page .fn-ev-out__rows dd { margin: 0; font-weight: 600; white-space: nowrap; }
.ev-page .fn-ev-out__cmp,
.ev-page .fn-ev-out__empty {
  margin: var(--space-5) 0 0;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  background: rgb(255 255 255 / 0.08);
  font-size: var(--text-sm);
  line-height: 1.5;
}
.ev-page .fn-ev-out__empty { margin-block: 0 var(--space-4); }
.ev-page .fn-ev-out__cmp:empty { display: none; }
.ev-page .fn-ev-out__foot { margin-block-start: auto; padding-block-start: var(--space-6); }
.ev-page .fn-ev-out__cap:has(+ .fn-ev-out__foot) { margin-block-end: 0; }
.ev-page .fn-ev-out__cta { width: 100%; justify-content: center; }
.ev-page .fn-ev-band__grid { display: grid; gap: var(--space-5); align-items: center; }
@media (min-width: 896px) {
  .ev-page .fn-ev-band__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--space-10); }
}
.ev-page .fn-ev-band__quote {
  margin: 0;
  font-size: var(--text-3xl);
  font-weight: 500;
  line-height: var(--leading-tight);
  text-wrap: balance;
}
.ev-page .fn-ev-band__quote em { font-style: normal; color: var(--color-primary); }
.ev-page .fn-ev-band__text { margin: 0; color: var(--fn-muted-on-navy); font-size: var(--text-lg); }
.ev-page .fn-ev-ladder__axis {
  display: none;
  margin: 0 0 var(--space-2);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-weight: 500;
  text-align: end;
}
.ev-page .fn-ev-ladder__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}
.ev-page .fn-ev-ladder__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3) var(--space-4);
  align-items: center;
  padding: var(--space-5);
}
.ev-page .fn-ev-ladder__item + .fn-ev-ladder__item { border-block-start: var(--border-width) solid var(--color-border); }
.ev-page .fn-ev-ladder__no {
  grid-row: span 2;
  align-self: start;
  color: var(--color-primary);
  font-size: var(--text-3xl);
  font-weight: 500;
  line-height: 1;
}
.ev-page .fn-ev-ladder__body { display: grid; gap: var(--space-1); }
.ev-page .fn-ev-ladder__title { margin: 0; font-size: var(--text-xl); font-weight: 500; line-height: 1.25; }
.ev-page .fn-ev-ladder__body p { margin: 0; color: var(--color-text-muted); }
.ev-page .fn-ev-ladder__item .fn-tag { justify-self: start; grid-column: 2; }
.ev-page .fn-ev-meter { display: flex; gap: var(--space-1); grid-column: 2; }
.ev-page .fn-ev-meter i { width: var(--space-4); height: var(--space-4); border-radius: var(--radius-full); background: var(--color-border); }
.ev-page .fn-ev-meter i.is-on { background: var(--color-secondary); }
.ev-page .fn-ev-meter--hot i.is-on { background: var(--color-primary); }
@media (min-width: 768px) {
  .ev-page .fn-ev-ladder__axis { display: block; }
  .ev-page .fn-ev-ladder__item { grid-template-columns: var(--space-10) minmax(0, 1fr) auto auto; gap: var(--space-6); padding: var(--space-6) var(--space-8); }
  .ev-page .fn-ev-ladder__no { grid-row: auto; align-self: center; }
  .ev-page .fn-ev-ladder__item .fn-tag,
.ev-page .fn-ev-meter { grid-column: auto; }
}
.ev-page .fn-evw {
  margin-block-end: var(--section-space);
  padding: var(--space-6) var(--space-5);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}
@media (min-width: 768px) {
  .ev-page .fn-evw { padding: var(--space-8); }
}
.ev-page .fn-evw__sub { margin: var(--space-3) 0 var(--space-6); color: var(--color-text-muted); font-size: var(--text-sm); }
.ev-page .fn-evw__bars { display: grid; gap: var(--space-4); margin: 0 0 var(--space-6); padding: 0; list-style: none; }
.ev-page .fn-evw__bars li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2) var(--space-4); align-items: center; }
.ev-page .fn-evw__lab { grid-column: 1 / -1; font-weight: 500; }
.ev-page .fn-evw__track { height: var(--space-3); border-radius: var(--radius-full); background: var(--color-surface-alt); overflow: hidden; }
.ev-page .fn-evw__fill { display: block; height: 100%; border-radius: var(--radius-full); background: var(--color-secondary); }
.ev-page .fn-evw__fill--hot { background: var(--color-primary); }
.ev-page .fn-evw__bars b { min-width: 88px; font-size: var(--text-lg); font-weight: 600; text-align: end; }
.ev-page .fn-evw__save {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  align-items: center;
  margin: 0;
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--color-primary-50);
}
.ev-page .fn-evw__save strong { color: var(--color-primary-700); font-size: var(--text-3xl); font-weight: 600; line-height: 1; white-space: nowrap; }
.ev-page .fn-evm__head { margin-block-end: var(--space-6); }
.ev-page .fn-evm__search { max-width: 352px; margin-block-end: var(--space-4); background: var(--color-surface); }
.ev-page .fn-evm__search .fn-quote__addr-input { font-size: var(--text-base); }
.ev-page .fn-evm__wrap {
  overflow-x: auto;
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
}
.ev-page .fn-evm__table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.ev-page .fn-evm__table th,
.ev-page .fn-evm__table td { padding: var(--space-3) var(--space-4); border-block-end: var(--border-width) solid var(--color-border); text-align: start; }
.ev-page .fn-evm__table tbody tr:last-child td { border-block-end: 0; }
.ev-page .fn-evm__table .num { text-align: end; white-space: nowrap; }
.ev-page .fn-evm__table th { color: var(--color-text); font-weight: 600; white-space: nowrap; }
.ev-page .fn-evm__table th button {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: var(--color-primary-300);
  text-underline-offset: 4px;
  transition: text-decoration-color var(--motion-duration) var(--motion-easing);
}
.ev-page .fn-evm__table th button:hover { text-decoration-color: var(--color-primary); }
.ev-page .fn-evm__table tbody tr { cursor: pointer; transition: background-color var(--motion-duration) var(--motion-easing); }
.ev-page .fn-evm__table tbody tr:hover { background: var(--color-surface-alt); }
.ev-page .fn-evm__table tbody tr.is-hl { background: var(--color-primary-50); }
.ev-page .fn-evm__table tbody tr:focus-visible { outline: 2px solid var(--color-secondary); outline-offset: -2px; }
.ev-page .fn-evm__lab { display: none; }
.ev-page .fn-evi {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: var(--space-5);
  height: var(--space-5);
  margin-inline-start: var(--space-2);
  border-radius: var(--radius-full);
  background: var(--color-primary-100);
  color: var(--color-primary-800);
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: 1;
  vertical-align: middle;
  cursor: help;
}
.ev-page .fn-evi i { font-style: normal; }
.ev-page .fn-evi:focus-visible { outline: 2px solid var(--color-secondary); outline-offset: 2px; }
.ev-page .fn-evi__tip {
  position: absolute;
  inset-block-start: calc(100% + var(--space-2));
  inset-inline-end: calc(-1 * var(--space-2));
  z-index: var(--z-sticky);
  width: 240px;
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: var(--color-surface-inverse);
  color: var(--color-text-on-inverse);
  font-size: var(--text-xs);
  font-weight: 400;
  line-height: 1.45;
  text-align: start;
  white-space: normal;
  box-shadow: var(--shadow-lg);
  display: none;
  opacity: 0;
  transition: opacity var(--motion-duration) var(--motion-easing), display var(--motion-duration) allow-discrete;
}
.ev-page .fn-evm__table th:not(.num) .fn-evi__tip { inset-inline: calc(-1 * var(--space-2)) auto; }
.ev-page .fn-evi:hover .fn-evi__tip,
.ev-page .fn-evi:focus .fn-evi__tip,
.ev-page .fn-evi.is-open .fn-evi__tip { display: block; opacity: 1; }
@starting-style {
  .ev-page .fn-evi:hover .fn-evi__tip,
.ev-page .fn-evi:focus .fn-evi__tip,
.ev-page .fn-evi.is-open .fn-evi__tip { opacity: 0; }
}
.ev-page .fn-evm__more { margin: var(--space-4) 0 0; text-align: center; }
.ev-page .fn-evm__cta { margin: var(--space-8) 0 0; }
@media (max-width: 639.84px) {
  .ev-page .fn-evm__wrap { overflow: visible; }
  .ev-page .fn-evm__more .btn,
.ev-page .fn-evm__cta .btn { width: 100%; justify-content: center; }
  .ev-page .fn-evm__cta { margin-block-start: var(--space-3); }
  .ev-page .fn-evm__table,
.ev-page .fn-evm__table tbody,
.ev-page .fn-evm__table tr,
.ev-page .fn-evm__table td { display: block; }
  .ev-page .fn-evm__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ev-page .fn-evm__table tr { padding: var(--space-3) var(--space-4); border-block-end: var(--border-width) solid var(--color-border); }
  .ev-page .fn-evm__table tbody tr:last-child { border-block-end: 0; }
  .ev-page .fn-evm__table td { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-1) 0; border: 0; text-align: end; }
  .ev-page .fn-evm__lab { display: inline-flex; align-items: center; color: var(--color-text-muted); text-align: start; }
  .ev-page .fn-evm__val { font-weight: 500; }
  .ev-page .fn-evm__table td:first-child .fn-evm__val { font-weight: 600; }
  .ev-page .fn-evi__tip,
.ev-page .fn-evm__table th:not(.num) .fn-evi__tip { inset-inline: calc(-1 * var(--space-2)) auto; width: min(240px, 70vw); }
}
.ev-page .fn-evd__cols { display: grid; gap: var(--space-6); margin-block: var(--space-6) var(--space-10); }
.ev-page .fn-evd__cols:last-child { margin-block-end: 0; }
@media (min-width: 896px) {
  .ev-page .fn-evd__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ev-page .fn-evd__cols > * { min-width: 0; }
.ev-page .fn-evd__card,
.ev-page .fn-evd__box {
  padding: var(--space-6) var(--space-5);
  border-radius: var(--radius-xl);
}
@media (min-width: 768px) {
  .ev-page .fn-evd__card,
.ev-page .fn-evd__box { padding: var(--space-8); }
}
.ev-page .fn-evd__card { border: var(--border-width) solid var(--color-border); background: var(--color-surface); }
.ev-page .fn-evd__box { display: grid; align-content: start; justify-items: start; gap: var(--space-4); background: var(--color-primary-50); }
.ev-page .fn-evd__box p { margin: 0; }
.ev-page .fn-evd__box .btn { max-width: 100%; white-space: normal; }
@media (max-width: 639.84px) {
  .ev-page .fn-evd__box .btn { width: 100%; justify-content: center; }
}
.ev-page .fn-evd__title { margin: 0 0 var(--space-4); font-size: var(--text-xl); font-weight: 500; line-height: 1.25; }
.ev-page .fn-evd__box .fn-evd__title { margin: 0; }
.ev-page .fn-evd__subhead { margin: 0 0 var(--space-4); font-size: var(--text-2xl); font-weight: 500; }
.ev-page .fn-evd__tablewrap { overflow-x: auto; }
.ev-page .fn-evd__table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.ev-page .fn-evd__table th,
.ev-page .fn-evd__table td { padding: var(--space-3) var(--space-2); border-block-end: var(--border-width) solid var(--color-border); text-align: start; vertical-align: top; }
.ev-page .fn-evd__table thead th { color: var(--color-text-muted); font-size: var(--text-xs); font-weight: 500; }
.ev-page .fn-evd__table tbody th { font-weight: 600; }
@media (max-width: 479.84px) {
  .ev-page .fn-evd__table th,
.ev-page .fn-evd__table td { padding-inline: var(--space-1); }
}
.ev-page .fn-evd__fine { margin: var(--space-4) 0 0; color: var(--color-text-muted); font-size: var(--text-xs); line-height: 1.5; }
.ev-page .fn-evd__list { display: grid; gap: var(--space-3); margin: 0; padding-inline-start: var(--space-5); }
.ev-page .fn-evd__list li::marker { color: var(--color-primary); }
.ev-page .fn-path--stack { gap: var(--space-6) 0; }
@media (min-width: 768px) {
  .ev-page .fn-path--stack { grid-template-columns: minmax(0, 1fr); }
  .ev-page .fn-path--stack .fn-path__step { grid-template-columns: 52px minmax(0, 1fr); gap: 0 var(--space-4); }
  .ev-page .fn-path--stack .fn-path__no { width: 52px; height: 52px; font-size: var(--text-xl); box-shadow: 0 0 0 6px var(--color-surface), 0 14px 24px -12px rgb(5 17 72 / 0.6); }
  .ev-page .fn-path--stack .fn-path__step:not(:last-child)::after {
    inset-block: 52px calc(-1 * var(--space-6));
    inset-inline: calc(26px - 1px) auto;
    border-block-start: 0;
    border-inline-start: 2px dashed var(--color-primary-300);
  }
  .ev-page .fn-path--stack .fn-path__body { max-width: none; padding-block-start: var(--space-2); }
}
.ev-page .fn-path--stack .fn-path__step:not(:last-child)::after { inset-block-end: calc(-1 * var(--space-6)); }
.ev-page .fn-path--stack .fn-path__title { font-size: var(--text-lg); }
.ev-page .fn-evs__title { margin: 0 0 var(--space-2); font-size: var(--text-2xl); font-weight: 500; line-height: 1.2; }
.ev-page .fn-evs__lead { margin: 0; color: var(--color-text-muted); }
.ev-page .fn-evg__fig {
  margin: 0;
  padding: var(--space-5);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
  overflow-x: auto;
}
.ev-page .fn-evg__fig svg { display: block; width: 100%; min-width: 544px; height: auto; }
.ev-page .fn-evg__grid { stroke: var(--color-border); }
.ev-page .fn-evg__tick { fill: var(--color-text-muted); }
.ev-page .fn-evg__bar { fill: color-mix(in srgb, var(--color-secondary) 28%, var(--color-surface)); }
.ev-page .fn-evg__bar--now { fill: var(--color-secondary); }
.ev-page .fn-evg__peak,
.ev-page .fn-evg__year { fill: var(--color-text); font-weight: 600; }
.ev-page .fn-evg__fix { stroke: var(--color-primary); }
.ev-page .fn-evg__fix-label { fill: var(--color-primary-800); font-weight: 600; }
.ev-page .fn-evg__avg { stroke: var(--color-text); }
.ev-page .fn-evg__avg-label { fill: var(--color-text); }
.ev-page .fn-evg__cards { display: grid; gap: var(--space-4); margin-block-start: var(--space-6); }
@media (min-width: 768px) {
  .ev-page .fn-evg__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
}
.ev-page .fn-evg__card { padding: var(--space-6); border-radius: var(--radius-xl); background: var(--color-surface-alt); }
.ev-page .fn-evg__card.is-hot { background: var(--color-surface); box-shadow: inset 0 0 0 2px var(--color-primary-300); }
.ev-page .fn-evg__card.is-hot h3 { color: var(--color-primary-700); }
.ev-page .fn-evg__card h3 { margin: 0 0 var(--space-2); font-size: var(--text-lg); font-weight: 600; }
.ev-page .fn-evg__card p { margin: 0; color: var(--color-text-muted); font-size: var(--text-sm); line-height: 1.5; }

.ev-page symbol { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ev-page symbol.fill { fill: currentColor; stroke: none; }

.ev-page .fn-stars { color: #ffd500; }

/* Country selector from fonergy-elektromobilita/css/client.css. */
.ev-page .fn-phone__cc {
  padding-inline: var(--space-4) var(--space-1);
  font-size: var(--text-lg);
  font-weight: 400;
  color: var(--color-text);
}

/* The country picker (client.js builds it over .fn-phone__cc): flag,
   chevron and code in the field, a list under it. */
.ev-page .fn-cc {
  position: relative;
  flex: none;
  /* centred in the pill: the bubble's pill stretches its items */
  align-self: center;
}

.ev-page .fn-cc__button {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  height: 44px;
  padding-inline: var(--space-3) var(--space-2);
  border: 0;
  border-radius: var(--radius-full);
  background: transparent;
  color: var(--color-text);
  font: inherit;
  font-size: var(--text-lg);
  font-weight: 400;
  cursor: pointer;
  transition: background-color var(--motion-duration) var(--motion-easing);
}

.ev-page .fn-cc__button:hover,
.ev-page .fn-cc__button[aria-expanded="true"] { background: var(--color-primary-50); }

.ev-page .fn-cc__button:focus-visible { outline: 2px solid var(--color-secondary); outline-offset: 2px; }

.ev-page .fn-flag {
  flex: none;
  width: 22px;
  height: auto;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgb(24 40 108 / 0.12);
}

.ev-page .fn-cc__chevron {
  width: 14px;
  height: 14px;
  margin-inline-start: calc(var(--space-1) * -1);
  fill: none;
  stroke: var(--color-text-muted);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: rotate var(--motion-duration) var(--motion-easing);
}

.ev-page .fn-cc__button[aria-expanded="true"] .fn-cc__chevron { rotate: 180deg; }

.ev-page .fn-cc__list {
  position: absolute;
  inset-block-start: calc(100% + var(--space-2));
  inset-inline-start: 0;
  /* Over the sections below, under the header (and inside the bubble's
     own stacking context there). */
  z-index: var(--z-sticky);
  width: 256px;
  max-height: 384px;
  margin: 0;
  padding: var(--space-2);
  overflow-y: auto;
  list-style: none;
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-lg);
}

.ev-page .fn-cc__list[hidden] { display: none; }

.ev-page .fn-cc--up .fn-cc__list {
  inset-block-start: auto;
  inset-block-end: calc(100% + var(--space-2));
}

/* In the bubble the list is shorter: it opens upward there (the script
   finds no room under a field at the bottom of the window). */
.ev-page .fn-cb .fn-cc__list { max-height: 224px; }
.ev-page .fn-cc__list.fn-cc__list--floating {
  position: fixed;
  inset: auto;
  z-index: calc(var(--z-overlay) + 2);
  overscroll-behavior-y: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
.ev-page .fn-cc__list:focus { outline: none; }

.ev-page .fn-cc__option {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  cursor: pointer;
}

/* Česko and Slovensko first, a rule under them. */
.ev-page .fn-cc__option:nth-child(2) { margin-block-end: var(--space-2); box-shadow: 0 var(--space-1) 0 calc(var(--space-1) * -1 + 1px) var(--color-border); }

.ev-page .fn-cc__option:hover,
.ev-page .fn-cc__option.is-active { background: var(--color-primary-50); }

.ev-page .fn-cc__option[aria-selected="true"] { font-weight: 600; }

.ev-page .fn-cc__name { flex: 1; }

.ev-page .fn-cc__code { color: var(--color-text-muted); font-variant-numeric: tabular-nums; }



/* English headings wrap to keep the eight-column table within its container. */
@media (min-width: 640px) {
  html:lang(en) .ev-page .fn-evm__table { table-layout: fixed; }
  html:lang(en) .ev-page .fn-evm__table th,
  html:lang(en) .ev-page .fn-evm__table td { padding-inline: clamp(4px, 0.7vw, 12px); }
  html:lang(en) .ev-page .fn-evm__table thead th,
  html:lang(en) .ev-page .fn-evm__table thead th.num {
    white-space: normal;
    overflow-wrap: anywhere;
    vertical-align: top;
  }
  html:lang(en) .ev-page .fn-evm__table th button { max-width: 100%; white-space: normal; }
  html:lang(en) .ev-page .fn-evm__table th:first-child { width: 18%; }
  html:lang(en) .ev-page .fn-evm__table th:nth-child(2) { width: 12%; }
  html:lang(en) .ev-page .fn-evm__table th:nth-child(3) { width: 10%; }
  html:lang(en) .ev-page .fn-evm__table th:last-child { width: 16%; }
  html:lang(en) .ev-page .fn-evm__table td:first-child,
  html:lang(en) .ev-page .fn-evm__table td:nth-child(2) { overflow-wrap: anywhere; }
  /* Keep each information icon beside its heading, including wrapped text. */
  html:lang(en) .ev-page .fn-evm__table thead th[data-tip] { white-space: nowrap; }
  html:lang(en) .ev-page .fn-evm__table th[data-tip] button {
    max-width: calc(100% - 24px);
    vertical-align: top;
  }
  html:lang(en) .ev-page .fn-evm__table thead .fn-evi {
    margin-inline-start: 4px;
    vertical-align: top;
  }
  /* The table fits its container; allow tooltip overlays without scrollbars. */
  html:lang(en) .ev-page .fn-evm__wrap { overflow: visible; }
  html:lang(en) .ev-page .fn-evm__table thead .fn-evi__tip {
    width: min(240px, calc(100vw - 48px));
  }
}

/* Callback bubble from fonergy-elektromobilita/css/client.css. */
.ev-page .fn-fab {
  position: fixed;
  inset-inline-end: var(--space-4);
  inset-block-end: calc(var(--space-4) + env(safe-area-inset-bottom, 0px));
  z-index: var(--z-overlay);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.ev-page .fn-fab[hidden] { display: none; }

.ev-page .fn-fab__label {
  padding: var(--space-2) var(--space-4);
  border: 2px solid var(--color-secondary);
  border-radius: var(--radius-full);
  background: var(--color-surface);
  color: var(--color-secondary);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.5;
  box-shadow: 0 8px 20px -10px rgb(5 17 72 / 0.4);
  transition:
    opacity var(--motion-duration-slow) var(--ease-out-expo),
    translate var(--motion-duration-slow) var(--ease-out-expo);
}

.ev-page .fn-fab__dot {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #ffffff;
  box-shadow: 0 10px 24px -8px rgb(255 96 26 / 0.7);
  transition: scale var(--motion-duration-slow) var(--ease-spring);
}

.ev-page .fn-fab:hover .fn-fab__dot { scale: 1.06; }

.ev-page .fn-fab__dot .icon { width: 24px; height: 24px; }

.ev-page .fn-fab.is-collapsed .fn-fab__label,
.ev-page .fn-fab.is-at-end .fn-fab__label {
  opacity: 0;
  translate: var(--space-2) 0;
  pointer-events: none;
}

.ev-page .fn-fab[aria-expanded="true"] .fn-fab__label { opacity: 0; pointer-events: none; }

.ev-page .fn-fab:focus-visible { outline: none; }
.ev-page .fn-fab:focus-visible .fn-fab__dot { outline: 2px solid var(--color-secondary); outline-offset: 3px; }

.ev-page .fn-cb {
  position: fixed;
  z-index: calc(var(--z-overlay) + 1);
  display: grid;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 20px 60px -20px rgb(5 17 72 / 0.45);
}

.ev-page .fn-cb[hidden] { display: none; }

.ev-page .fn-cb__title {
  margin: 0;
  padding-inline-end: var(--space-10);
  font-size: var(--text-xl);
  font-weight: 500;
  line-height: 1.15;
}

.ev-page .fn-cb__sub {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.ev-page .fn-cb__close {
  position: absolute;
  inset-block-start: var(--space-2);
  inset-inline-end: var(--space-2);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--color-text);
  cursor: pointer;
  transition: background-color var(--motion-duration) var(--motion-easing);
}

.ev-page .fn-cb__close:hover { background: var(--color-primary-50); }

.ev-page .fn-cb__close .icon { width: 20px; height: 20px; }

.ev-page .fn-cb .fn-phone-form { max-width: none; }

.ev-page .fn-cb--corner {
  inset-inline-end: var(--space-4);
  inset-block-end: calc(var(--space-4) + 72px);
  width: 340px;
  max-width: calc(100vw - 2 * var(--space-4));
  border-radius: var(--radius-lg);
}

.ev-page .fn-cb--sheet {
  inset-inline: 0;
  inset-block-end: 0;
  max-height: 70dvh;
  overflow: auto;
  padding-block-end: calc(var(--space-5) + env(safe-area-inset-bottom, 0px));
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  box-shadow: 0 0 0 1px rgb(5 17 72 / 0.08), 0 -6px 18px rgb(5 17 72 / 0.14), 0 -24px 70px rgb(5 17 72 / 0.36);
}

.ev-page .fn-cb--toast {
  inset-inline: var(--space-3);
  inset-block-end: calc(var(--space-3) + env(safe-area-inset-bottom, 0px));
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  box-shadow: 0 0 0 1px rgb(5 17 72 / 0.08), 0 6px 18px rgb(5 17 72 / 0.16), 0 28px 70px -8px rgb(5 17 72 / 0.42);
}

.ev-page .fn-cb--toast .fn-cb__title { font-size: var(--text-lg); }
.ev-page .fn-cb--toast .fn-cb__sub { display: none; }

@media (prefers-reduced-motion: no-preference) {
  .ev-page .fn-cb:not([hidden]) { animation: ev-fn-cb-in 0.5s var(--ease-out-expo); }
}


.ev-page .fn-cb .fn-phone__field { width: 100%; }
@media (max-width: 767.84px) { .ev-page .fn-fab__label { display: none; } }

.ev-page .fn-fab svg, .ev-page .fn-cb__close svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
