/* Short editorial sections share the galaxy and the approved optical material. */
main {
  --home-section-space:clamp(104px,8.35vw,128px);
  --home-lead-space:64px;
  --home-network-space:104px;
}
.home-intro,.home-section-lead,.home-faq,.home-contact,.home-footer {
  font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;
  color:#eff4f7;
}
.home-intro,.home-faq,.home-contact,.home-footer {
  width:calc(100% - 88px);
  max-width:1272px;
  margin-inline:auto;
  background:transparent;
}
.home-intro { padding-block:var(--home-section-space); text-align:center; }
.home-automation.demo-page,.home-websites { padding-block:var(--home-section-space); }
.home-automation .ai-network { margin-top:var(--home-network-space); }
.home-intro .home-copy { max-width:820px; margin-inline:auto; }
.home-eyebrow {
  display:block;
  margin:0 0 20px;
  color:#bdc7cf;
  font-size:11px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.home-title {
  margin:0;
  font-size:clamp(34px,4.1vw,56px);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.home-title span { background:var(--showcase-gradient); background-clip:text; -webkit-background-clip:text; color:transparent; }
.home-body { margin:22px 0 0; max-width:570px; font-size:16px; line-height:1.75; color:#b0bac3; text-wrap:pretty; }
.home-intro .home-body { max-width:610px; margin-inline:auto; }
.home-section-lead { height:auto; border:0; position:static; z-index:auto; margin:0 0 var(--home-lead-space); display:grid; grid-template-columns:1fr 1fr; column-gap:64px; align-items:end; }
.home-section-lead .home-eyebrow { grid-column:1/-1; }
.home-section-lead .home-title { max-width:570px; font-size:clamp(32px,3.2vw,46px); }
.home-section-lead .home-body { margin:0 0 3px; max-width:440px; justify-self:end; }
.home-faq { display:grid; grid-template-columns:.7fr 1fr; align-items:start; gap:70px; padding-block:var(--home-section-space); }
.home-faq-heading { display:block; height:auto; margin:0; border:0; position:static; z-index:auto; }
.home-faq-heading .home-title { max-width:360px; font-size:clamp(34px,3.5vw,48px); }
.home-faq-list { position:relative; isolation:isolate; padding:8px 26px; border-radius:32px; min-width:0; }
.home-faq-list > [data-demo-glass] { position:absolute; inset:0; z-index:-1; border-radius:inherit; overflow:hidden; pointer-events:none; }
.home-faq-list > [data-demo-glass]:empty {
  background:#ffffff05; border:1px solid #ffffff38;
  box-shadow:inset 0 1px 0 #ffffff38,inset 0 0 14px #ffffff0c;
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
}
.home-faq-list .glass-surface__content { padding:0; }
.home-faq-item { margin:0; border:0; border-bottom:1px solid #e3eff51c; }
.home-faq-item:last-child { border-bottom:0; }
.home-faq-item summary { min-height:74px; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; cursor:pointer; list-style:none; font-size:15px; font-weight:500; line-height:1.5; }
.home-faq-item summary::-webkit-details-marker { display:none; }
.home-faq-item summary::marker { content:''; }
.home-faq-item summary:hover { color:#fff; }
.home-faq-item summary:focus-visible { outline:2px solid #c0dcec; outline-offset:5px; border-radius:6px; }
.faq-toggle { flex:0 0 20px; color:#c9dce8; font-size:23px; font-weight:400; text-align:center; transition:transform .25s; }
.home-faq-item[open] .faq-toggle { transform:rotate(45deg); }
.home-faq-answer { margin:0; padding:0 35px 24px 0; color:#b0bac3; font-size:14px; line-height:1.75; text-wrap:pretty; }
.home-faq-answer p { margin:0; font:inherit; color:inherit; }
.home-contact { display:flex; align-items:center; justify-content:space-between; gap:60px; padding-block:var(--home-section-space); }
.home-contact-copy { max-width:700px; }
.home-contact .home-title { max-width:650px; font-size:clamp(36px,4vw,56px); }
.home-contact .home-body { max-width:560px; }
.home-contact-actions { display:flex; flex-direction:column; align-items:center; flex-shrink:0; gap:18px; }
.home-contact .showcase-consultation { min-height:54px; padding-inline:28px; font-size:15px; }
.home-contact-email { padding-block:6px; color:#b7c7d0; font-size:14px; }
.home-contact-email:hover { color:#fff; }
.home-footer { padding:25px 0 30px; border-top:1px solid #e3eff51c; font-size:13px; color:#aab6c0; gap:20px; }
.home-footer a:first-child { font-size:18px; font-weight:500; letter-spacing:-.05em; color:#e5edf2; }
.home-footer a:hover { color:#fff; }

/* Add space only for the restored third navigation item; compact geometry stays intact. */
@media (min-width:821px) {
  .site-header:has(nav a[href="#kerdesek"]) { max-width:700px; }
}
@media (max-width:1039px) {
  main { --home-section-space:88px; --home-lead-space:48px; --home-network-space:80px; }
  .home-intro,.home-faq,.home-contact,.home-footer { width:calc(100% - 56px); }
  .home-websites .web-build-layout { row-gap:32px; }
  .home-section-lead { gap:20px 36px; }
  .home-section-lead .home-eyebrow { margin-bottom:0; }
  .home-faq { gap:36px; grid-template-columns:.7fr 1.2fr; }
  .home-contact { gap:36px; }
}
@media (max-width:720px) {
  main { --home-section-space:72px; --home-lead-space:40px; --home-network-space:56px; }
  .home-intro,.home-faq,.home-contact,.home-footer { width:calc(100% - 40px); }
  .home-intro .home-title { font-size:clamp(34px,7vw,46px); }
  .home-body { font-size:15px; line-height:1.7; margin-top:18px; }
  .home-eyebrow { margin-bottom:16px; font-size:10px; }
  .home-section-lead { display:block; padding-inline:4px; }
  .home-section-lead .home-eyebrow { margin-bottom:16px; }
  .home-section-lead .home-title { font-size:clamp(30px,6.8vw,40px); max-width:520px; }
  .home-section-lead .home-body { margin:16px 0 0; max-width:470px; }
  .home-faq { grid-template-columns:1fr; gap:36px; }
  .home-faq-heading .home-title { max-width:100%; font-size:36px; }
  .home-faq-list { padding:6px 21px; }
  .home-faq-item summary { gap:15px; min-height:73px; font-size:14px; padding-block:20px; }
  .home-faq-answer { padding-right:8px; font-size:14px; }
  .home-contact { display:block; }
  .home-contact .home-title { font-size:38px; }
  .home-contact-actions { align-items:flex-start; margin-top:28px; gap:12px; }
  .home-footer { padding-block:22px; font-size:12px; }
}

/* One-shot scroll reveals. Glass surfaces only fade; no transformed refraction. */
[data-scroll-reveal].scroll-reveal-pending {
  opacity:0;
  transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.15s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--scroll-reveal-delay,0ms);
}
[data-scroll-reveal="rise"].scroll-reveal-pending { transform:translateY(32px); }
[data-scroll-reveal].scroll-reveal-visible { opacity:1; transform:none; }
@media (max-width:720px) {
  [data-scroll-reveal="rise"].scroll-reveal-pending { transform:translateY(24px); }
  [data-scroll-reveal].scroll-reveal-visible { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  [data-scroll-reveal].scroll-reveal-pending { opacity:1; transform:none; transition:none; }
}
@media print {
  [data-scroll-reveal].scroll-reveal-pending { opacity:1; transform:none; transition:none; }
}

/* Pricing: the approved glass cards and consultation capsule, with prices in place of the demos. */
.home-pricing {
  width:calc(100% - 88px);
  max-width:1272px;
  margin-inline:auto;
  padding-block:var(--home-section-space);
  background:transparent;
  font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;
  color:#eff4f7;
}
.home-pricing .home-section-lead .home-body { max-width:470px; }
.pricing-group + .pricing-group { margin-top:var(--home-network-space); }
.pricing-group-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 24px; margin:0 4px 22px; }
.pricing-group-heading h3 { margin:0; font-size:clamp(22px,2vw,28px); font-weight:500; line-height:1.2; letter-spacing:-.035em; }
.pricing-group-heading p { margin:0; color:#bdc7cf; font-size:11px; font-weight:500; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; }
.pricing-grid { display:grid; gap:18px; }
.pricing-grid--ai { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pricing-grid--web { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pricing-card { padding:30px 26px 26px; }
.pricing-card .product-heading { margin-bottom:22px; }
.pricing-card .product-label { margin:0; font-size:12px; line-height:1.4; }
.pricing-icon { flex:0 0 24px; width:24px; height:24px; fill:none; stroke:#fff; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.pricing-figures { display:grid; gap:14px; margin:0; }
.pricing-figures > div { min-width:0; }
.pricing-figures dt { margin-bottom:3px; color:#a6afb8; font-size:10px; font-weight:500; line-height:1.5; letter-spacing:.11em; text-transform:uppercase; }
.pricing-figures dd { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 7px; margin:0; color:#fff; font-size:22px; font-weight:600; line-height:1.25; letter-spacing:-.03em; }
.pricing-note small { color:#a6afb8; font-size:11px; font-weight:500; letter-spacing:0; white-space:nowrap; }
.pricing-figures s { position:relative; color:#98a4ae; font-size:14px; font-weight:500; letter-spacing:0; text-decoration:none; white-space:nowrap; }
.pricing-figures s::after { content:''; position:absolute; left:-2px; right:-2px; top:52%; height:1px; background:currentColor; transform-origin:left; }
.pricing-tagline { margin:14px 0 0; color:#c4d0d9; font-size:13px; line-height:1.6; }
.pricing-includes { margin:22px 0 10px; padding-top:18px; border-top:1px solid #e3eff51c; color:#bdc7cf; font-size:10px; font-weight:500; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; }
.pricing-list { display:grid; gap:9px; margin:0 0 26px; padding:0; list-style:none; color:#b8c2cb; font-size:13.5px; line-height:1.5; }
.pricing-list li { position:relative; padding-left:21px; text-wrap:pretty; }
.pricing-list li::before { content:''; position:absolute; left:3px; top:.24em; width:4.5px; height:8.5px; border:solid #bfdaec; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
/* "Ezt szeretném!": the brand gradient capsule on every card, with a light that crosses it once the card arrives. */
.pricing-cta {
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-grid; place-items:center; align-self:flex-start;
  min-height:48px; min-width:172px; margin-top:auto; padding:12px 26px;
  border:1px solid #f4fbff8f; border-radius:30px;
  background:var(--showcase-gradient);
  box-shadow:inset 0 1px 1px #ffffff90,inset 0 -1px 3px #97bfd833,0 6px 26px #a8d7f72e;
  color:#000; font-size:14.5px; font-weight:600; letter-spacing:-.01em; line-height:1.3; text-decoration:none; white-space:nowrap;
  transition:transform .25s,box-shadow .25s;
}
.pricing-cta::before {
  content:''; position:absolute; z-index:-1; top:-40%; bottom:-40%; left:0; width:42%; pointer-events:none;
  background:linear-gradient(100deg,transparent,#ffffffc7 50%,transparent);
  transform:translateX(-170%) skewX(-18deg);
}
.pricing-cta:hover { transform:translateY(-2px); box-shadow:inset 0 1px 1px #ffffff90,inset 0 -1px 3px #97bfd833,0 9px 32px #b9dcee55; }
.pricing-live .pricing-cta::before { animation:pricing-cta-shine 1.1s cubic-bezier(.25,.46,.45,.94) 1.5s both; }
.pricing-cta:hover::before,.pricing-cta:focus-visible::before { animation:pricing-cta-shine-again .9s cubic-bezier(.25,.46,.45,.94) both; }
@keyframes pricing-cta-shine { to { transform:translateX(420%) skewX(-18deg); } }
@keyframes pricing-cta-shine-again { to { transform:translateX(420%) skewX(-18deg); } }
/* Only the phone layout turns this wrapper into a column of its own. */
.pricing-wide-list { display:contents; }

.pricing-card--featured {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  grid-template-rows:auto auto 1fr;
  grid-template-areas:"head list" "figures list" "cta list";
  column-gap:56px;
  padding:34px 36px;
}
.pricing-card--featured::after {
  content:''; position:absolute; inset:0; z-index:1; padding:1px; border-radius:inherit; pointer-events:none; opacity:.6;
  background:var(--showcase-gradient);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}
.pricing-card--featured > .product-heading { grid-area:head; flex-wrap:wrap; row-gap:10px; }
.pricing-card--featured > .pricing-figures { grid-area:figures; }
.pricing-card--featured > .pricing-featured-list { grid-area:list; padding-left:56px; border-left:1px solid #e3eff51c; }
.pricing-card--featured > .pricing-cta { grid-area:cta; align-self:end; justify-self:start; margin-top:26px; }
.pricing-card--featured .pricing-figures dd { font-size:26px; }
.pricing-card--featured .pricing-price { background:var(--showcase-gradient); background-clip:text; -webkit-background-clip:text; color:transparent; }
.pricing-card--featured .pricing-includes { margin-top:0; padding-top:0; border-top:0; }
.pricing-card--featured .pricing-list { margin-bottom:0; }
.pricing-icon-set { display:flex; gap:6px; }
.pricing-icon-set .product-icon { flex-basis:20px; width:20px; height:20px; }
.pricing-badge { padding:5px 11px; border-radius:30px; background:var(--showcase-gradient); box-shadow:inset 0 1px 1px #ffffff90; color:#000; font-size:10.5px; font-weight:600; line-height:1.3; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }

.pricing-note { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr); gap:18px 48px; margin:34px 4px 0; padding-top:26px; border-top:1px solid #e3eff51c; }
.pricing-note h4 { margin:0; color:#eff4f7; font-size:17px; font-weight:500; line-height:1.35; letter-spacing:-.02em; }
.pricing-note h4 small { margin-left:6px; letter-spacing:.11em; text-transform:uppercase; font-size:10px; }
.pricing-factors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 28px; margin:0; padding:0; list-style:none; }
.pricing-factors li { position:relative; padding-top:14px; color:#b0bac3; font-size:13.5px; line-height:1.6; text-wrap:pretty; }
.pricing-factors li::before { content:''; position:absolute; inset:0 0 auto; height:1px; background:linear-gradient(90deg,#a8d7f78c,#ffdda847 60%,transparent); transform-origin:left; }
.pricing-factors strong { display:block; margin-bottom:4px; color:#eff4f7; font-size:14px; font-weight:500; }
.pricing-factors .pricing-price { color:#eff4f7; font-size:15px; font-weight:600; letter-spacing:-.02em; white-space:nowrap; }
.pricing-note p,.pricing-remark,.pricing-footnote { margin:18px 0 0; color:#c4d0d9; font-size:13.5px; line-height:1.6; text-wrap:pretty; }
.pricing-remark { margin:22px 4px 0; color:#b0bac3; }
.pricing-footnote { margin:var(--home-lead-space) 4px 0; padding-top:22px; border-top:1px solid #e3eff51c; color:#98a4ae; font-size:12.5px; line-height:1.7; }

/* The fourth navigation item needs a little more capsule. */
@media (min-width:821px) {
  .site-header:has(nav a[href="#arak"]) { max-width:760px; }
}
@media (max-width:1239px) {
  .pricing-grid--ai { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1039px) {
  .home-pricing { width:calc(100% - 56px); }
  .pricing-card--featured { column-gap:36px; padding:30px 28px; }
  .pricing-card--featured > .pricing-featured-list { padding-left:36px; }
  .pricing-note { grid-template-columns:1fr; }
}
@media (max-width:899px) {
  /* Tablets keep the three website cards side by side. */
  .pricing-grid--web { gap:14px; }
  .pricing-grid--web .pricing-card { padding:26px 18px 22px; }
  .pricing-grid--web .pricing-figures dd { font-size:20px; }
  .pricing-grid--web .pricing-cta { min-width:0; width:100%; padding-inline:12px; }
}
@media (max-width:720px) {
  /* Phones: two cards per row, like the automation demos. Native text sizes, nothing scaled. */
  .home-pricing { --pricing-card-inline:14px; --pricing-gap:10px; width:calc(100% - 24px); }
  .home-pricing > .home-section-lead { margin-inline:8px; }
  .pricing-group-heading,.pricing-note,.pricing-remark,.pricing-footnote { margin-inline:12px; }
  .pricing-group-heading { margin-bottom:18px; }
  .pricing-grid,.pricing-grid--web { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px var(--pricing-gap); }
  /* Same scale as the automation demo cards beside them: 9 px labels, 10 px copy, heading-size prices. */
  .pricing-card:not(.pricing-card--featured) { padding:18px var(--pricing-card-inline) 12px; }
  .pricing-card:not(.pricing-card--featured) .product-heading { min-height:18px; gap:6px; margin-bottom:10px; }
  .pricing-card:not(.pricing-card--featured) :is(.product-icon,.pricing-icon) { flex-basis:18px; width:18px; height:18px; }
  .pricing-card:not(.pricing-card--featured) .product-label { font-size:9px; letter-spacing:.08em; white-space:nowrap; }
  .pricing-card:not(.pricing-card--featured) .pricing-figures { gap:8px; }
  .pricing-card:not(.pricing-card--featured) .pricing-figures dt { margin-bottom:1px; font-size:8.5px; letter-spacing:.08em; }
  .pricing-card:not(.pricing-card--featured) .pricing-figures dd { font-size:clamp(13px,3.4vw,21px); line-height:1.28; }
  .pricing-card:not(.pricing-card--featured) .pricing-tagline { margin-top:8px; font-size:10px; line-height:1.4; }
  .pricing-card:not(.pricing-card--featured) .pricing-includes { margin:12px 0 7px; padding-top:10px; font-size:8.5px; letter-spacing:.08em; }
  .pricing-card:not(.pricing-card--featured) .pricing-list { gap:5px; margin-bottom:12px; font-size:10px; line-height:1.35; }
  .pricing-card:not(.pricing-card--featured) .pricing-list li { padding-left:13px; overflow-wrap:anywhere; hyphens:auto; hyphenate-limit-chars:15 5 4; }
  .pricing-card:not(.pricing-card--featured) .pricing-list li::before { left:2px; top:.2em; width:3.5px; height:6.5px; border-width:0 1.3px 1.3px 0; }
  .pricing-cta { min-width:0; width:100%; min-height:44px; padding:9px 8px; font-size:12px; box-shadow:inset 0 1px 1px #ffffff90,inset 0 -1px 3px #97bfd833,0 4px 18px #a8d7f72e; }

  /* The third website card takes the full row; its two inner columns continue the grid above. */
  .pricing-card--wide {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto auto auto 1fr;
    grid-template-areas:"head head" "figures list" "tagline list" "cta list";
    column-gap:calc(var(--pricing-card-inline)*2 + var(--pricing-gap));
  }
  .pricing-card--wide > .product-heading { grid-area:head; }
  .pricing-card--wide > .pricing-figures { grid-area:figures; }
  .pricing-card--wide > .pricing-tagline { grid-area:tagline; }
  .pricing-card--wide > .pricing-cta { grid-area:cta; align-self:end; margin-top:12px; }
  .pricing-card--wide > .pricing-wide-list { display:block; grid-area:list; position:relative; }
  .pricing-card--wide > .pricing-wide-list::before { content:''; position:absolute; top:0; bottom:0; left:calc(var(--pricing-card-inline)*-1 - var(--pricing-gap)/2); width:1px; background:#e3eff51c; }
  .pricing-card--wide .pricing-wide-list .pricing-includes { margin-top:0; padding-top:0; border-top:0; }
  .pricing-card--wide .pricing-wide-list .pricing-list { margin-bottom:0; }

  .pricing-card--featured { display:flex; padding:22px 18px 18px; }
  .pricing-card--featured .product-label { font-size:10px; }
  .pricing-card--featured .pricing-figures { gap:10px; }
  .pricing-card--featured .pricing-figures dt { font-size:9px; }
  .pricing-card--featured .pricing-figures dd { font-size:20px; }
  .pricing-card--featured .pricing-figures s { font-size:11.5px; }
  .pricing-card--featured .pricing-list { gap:6px; font-size:11px; line-height:1.4; }
  .pricing-card--featured .pricing-list li { padding-left:16px; }
  .pricing-card--featured .pricing-list li::before { left:2px; width:4px; height:7px; }
  .pricing-card--featured > .pricing-cta { align-self:stretch; justify-self:stretch; margin-top:0; min-height:46px; font-size:13px; }
  .pricing-card--featured > .pricing-featured-list { padding-left:0; border-left:0; }
  .pricing-card--featured .pricing-includes { margin:16px 0 8px; padding-top:14px; border-top:1px solid #e3eff51c; font-size:9px; }
  .pricing-card--featured .pricing-list { margin-bottom:16px; }
  .pricing-factors { grid-template-columns:1fr; gap:14px; }
  .pricing-note { margin-top:28px; padding-top:22px; }
}
@media (max-width:360px) {
  .home-pricing { --pricing-card-inline:11px; --pricing-gap:8px; width:calc(100% - 16px); }
  .home-pricing > .home-section-lead { margin-inline:12px; }
  .pricing-group-heading,.pricing-note,.pricing-remark,.pricing-footnote { margin-inline:16px; }
  .pricing-card:not(.pricing-card--featured) { padding-block:14px 10px; }
  .pricing-card:not(.pricing-card--featured) .product-heading { gap:4px; margin-bottom:8px; }
  .pricing-card:not(.pricing-card--featured) .product-label { font-size:8.5px; }
  .pricing-card:not(.pricing-card--featured) .pricing-figures dd { font-size:12.5px; }
  .pricing-card--featured { padding-inline:16px; }
}
/* Entrance: pricing-motion.js arms the section, then marks each block live as it arrives. */
.pricing-armed .pricing-list li,.pricing-armed .pricing-factors li { transition:opacity .5s ease,transform .6s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--pricing-order,0)*90ms + 380ms); }
.pricing-armed .pricing-card:not(.pricing-live) .pricing-list li,.pricing-armed .pricing-note:not(.pricing-live) .pricing-factors li { opacity:0; transform:translateY(8px); }
.pricing-armed .pricing-list li::before { transition:transform .45s cubic-bezier(.34,1.56,.64,1); transition-delay:calc(var(--pricing-order,0)*90ms + 520ms); }
.pricing-armed .pricing-card:not(.pricing-live) .pricing-list li::before { transform:rotate(45deg) scale(0); }
.pricing-armed .pricing-factors li::before { transition:transform .9s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--pricing-order,0)*90ms + 300ms); }
.pricing-armed .pricing-note:not(.pricing-live) .pricing-factors li::before { transform:scaleX(0); }
.pricing-armed .pricing-figures s::after { transition:transform .7s cubic-bezier(.16,1,.3,1) .75s; }
.pricing-armed .pricing-card:not(.pricing-live) .pricing-figures s::after { transform:scaleX(0); }
.pricing-armed .pricing-badge { transition:opacity .5s ease 1s,transform .6s cubic-bezier(.34,1.56,.64,1) 1s; }
.pricing-armed .pricing-card:not(.pricing-live) .pricing-badge { opacity:0; transform:scale(.8); }

/* A light travels round the package's frame, and its four services answer in turn. */
.pricing-card--featured > .pricing-beam {
  position:absolute; inset:0; z-index:1; padding:2px; border-radius:inherit; overflow:hidden; pointer-events:none;
  container-type:size; opacity:0; transition:opacity .8s ease;
  filter:drop-shadow(0 0 4px #a8d7f7cc) drop-shadow(0 0 12px #a8d7f766);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}
.pricing-beam i {
  position:absolute; left:50%; top:50%; width:210%; width:142cqmax; aspect-ratio:1; translate:-50% -50%;
  background:conic-gradient(from 0deg,transparent 0 70%,#a8d7f7 82%,#fff 90%,#ffdda8 96%,transparent 100%);
  animation:pricing-beam 9s linear infinite paused;
}
.pricing-inview > .pricing-beam { opacity:1; }
.pricing-inview > .pricing-beam i { animation-play-state:running; }
.pricing-inview .pricing-icon-set .product-icon { animation:pricing-pulse 4.8s ease-in-out infinite; }
.pricing-inview .pricing-icon-set .product-icon:nth-child(2) { animation-delay:.45s; }
.pricing-inview .pricing-icon-set .product-icon:nth-child(3) { animation-delay:.9s; }
.pricing-inview .pricing-icon-set .product-icon:nth-child(4) { animation-delay:1.35s; }
html[data-perf-tier="balanced"] .pricing-beam { filter:none; }
html[data-perf-tier="lite"] .pricing-beam { display:none; }
@keyframes pricing-beam { to { rotate:1turn; } }
@keyframes pricing-pulse { 0%,34%,100% { opacity:.5; } 12% { opacity:1; } }
@media (prefers-reduced-motion:reduce) {
  .pricing-beam { display:none; }
  .pricing-cta { transition:none; }
  .pricing-cta:hover { transform:none; }
  .pricing-cta::before { display:none; }
}
