:root { --section-space: clamp(56px, 6vw, 82px); }
.savings-nav{color:#176c58!important}.savings-nav strong{font-weight:900}.savings-nav.active{background:rgba(99,201,168,.16)}
.savings-page{background:linear-gradient(180deg,#f4fbf8 0,#fff 420px)}
.savings-hero{text-align:center;max-width:920px;margin:auto;padding-bottom:42px!important}
.savings-hero h1{margin:12px 0 24px;color:#102b28;font:700 clamp(46px,7vw,82px)/.98 Georgia,serif;letter-spacing:-.045em}.savings-hero h1 span{color:#319d7d}.savings-hero .lead{max-width:780px;margin:auto;color:#536762;font-size:clamp(18px,2vw,22px);line-height:1.6}
.saving-tips{max-width:1120px;margin:auto;display:grid;gap:34px;padding-top:20px!important}
.saving-tip{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:42px;align-items:center;padding:34px 38px;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:0 14px 45px rgba(9,67,63,.08)}
.saving-tip.reverse{grid-template-columns:190px minmax(0,1fr)}.saving-tip.reverse .tip-copy{grid-column:2}.saving-tip.reverse figure{grid-column:1;grid-row:1}
.tip-copy{position:relative}.tip-copy .eyebrow{margin:0 0 5px}.tip-copy h2{margin:0 0 12px;color:#16312d;font:700 clamp(27px,3vw,38px)/1.08 Georgia,serif;letter-spacing:-.025em}.tip-copy>p:not(.eyebrow){color:#52635f;font-size:16px;line-height:1.62}.tip-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:15px;border-radius:17px;background:#e8f7f2;font-size:27px}.tip-example{margin:18px 0 0;padding-top:16px;border-top:1px solid #d9ebe5}.tip-example strong{color:#176c58}
.saving-tip figure{margin:0;text-align:center}.saving-tip figure img{display:block;width:150px;max-height:326px;margin:auto;object-fit:cover;object-position:top;border:5px solid #263433;border-radius:20px;box-shadow:0 18px 38px rgba(18,43,39,.22)}.saving-tip figcaption{margin-top:10px;color:#687873;font-size:12px;line-height:1.4}
.savings-conclusion{max-width:1200px;margin:34px auto 30px;text-align:center;color:var(--text);padding:38px 36px!important}.savings-conclusion>span{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:18px;background:rgba(99,201,168,.18);font-size:28px}.savings-conclusion h2{margin:6px 0 10px;color:#16312d;font:700 clamp(30px,4vw,44px)/1.07 Georgia,serif}.savings-conclusion p{max-width:920px;margin:0 auto 22px;color:var(--muted);font-size:17px}.savings-conclusion .button{background:var(--mint);color:#0a3d34;box-shadow:0 9px 24px rgba(50,157,125,.2)}
@media(max-width:760px){.saving-tip,.saving-tip.reverse{grid-template-columns:1fr;padding:27px 24px}.saving-tip.reverse .tip-copy,.saving-tip.reverse figure{grid-column:auto;grid-row:auto}.saving-tip figure{grid-row:2}.saving-tip figure img{width:126px}.savings-hero{padding-inline:22px}.saving-tips{padding-inline:18px}}
main > .section { padding-top: var(--section-space); padding-bottom: var(--section-space); }
main > .product-showcase,
main > .privacy-band { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.work-carousel { align-self: center; }
.work-carousel .carousel-slide { grid-template-columns: 190px 1fr; padding-block: 18px; }
.work-carousel .carousel-slide img { width: 190px; }
.section-with-top-link { position: relative; }
.back-to-top {
  position: absolute;
  right: max(24px, calc((100% - 1200px) / 2 + 24px));
  bottom: 16px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  backdrop-filter: blur(10px);
  opacity: .78;
}
.back-to-top:hover, .back-to-top:focus-visible { opacity: 1; transform: translateY(-2px); }
.adaptation-section { padding-top: var(--section-space); }
.adaptation-heading { text-align: center; display: grid; justify-items: center; }
.adaptation-showcase {
  margin-top: 48px;
  padding: 36px 28px 8px;
  border-radius: 36px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.adaptation-showcase .carousel-dots button { background: #bfd5cf; }
.adaptation-showcase .carousel-dots button.is-active { background: var(--mint); }
.adaptation-showcase .edenfamily-carousel { max-width: 850px; margin: auto; }
.edenfamily-carousel { position: relative; min-width: 0; padding: 8px 56px 38px; }
.carousel-viewport { overflow: hidden; border-radius: 34px; }
.carousel-track { display: flex; transition: transform .6s cubic-bezier(.22,1,.36,1); }
.carousel-slide {
  flex: 0 0 100%;
  margin: 0;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 34px;
  align-items: center;
  padding: 28px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(8,62,75,.13);
  box-shadow: 0 18px 45px rgba(8,62,75,.12);
  opacity: .55;
  transition: opacity .35s ease;
}
.carousel-slide.is-active { opacity: 1; }
.carousel-slide img {
  display: block;
  width: 220px;
  aspect-ratio: 360 / 782;
  object-fit: cover;
  border-radius: 26px;
  border: 7px solid rgba(47, 58, 59, .9);
  box-shadow: 0 28px 70px rgba(0,0,0,.3);
}
.carousel-slide figcaption { display: grid; gap: 10px; text-align: left; }
.carousel-slide figcaption strong { color: #273536; font: 700 28px/1.08 Georgia, serif; }
.carousel-slide figcaption span { color: #3f5050; font-size: 16px; line-height: 1.55; }
.carousel-arrow {
  position: absolute;
  top: 45%;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.32);
  background: var(--mint);
  color: #113d38;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(10px);
}
.carousel-arrow:hover, .carousel-arrow:focus-visible { background: #85dfc4; outline: 2px solid rgba(255,255,255,.85); }
.carousel-arrow.previous { left: 0; }
.carousel-arrow.next { right: 0; }
.carousel-dots { display: flex; justify-content: center; gap: 9px; margin-top: 20px; }
.carousel-dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 99px;
  background: rgba(255,255,255,.35);
  cursor: pointer;
  transition: width .25s ease, background .25s ease;
}
.carousel-dots button.is-active { width: 28px; background: var(--mint); }
.screen-stack img,
.screen-card img {
  aspect-ratio: 360 / 782;
  object-fit: cover;
}
.assistant-focus {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 80px;
  align-items: center;
}
.assistant-points {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 28px;
}
.assistant-points span {
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--mist);
  border: 1px solid var(--line);
  font-weight: 750;
  font-size: 13px;
}
.conversation {
  position: relative;
  padding: 30px;
  border-radius: 32px;
  background: linear-gradient(150deg, #eff9f6, #fff);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  display: grid;
  gap: 15px;
  overflow: hidden;
}
.conversation:before {
  content: '';
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  right: -75px;
  top: -75px;
  background: rgba(99, 201, 168, 0.16);
}
.chat-person {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}
.chat-person > div:last-child {
  display: grid;
}
.chat-person small {
  color: var(--muted);
}
.avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: none;
  font-weight: 900;
}
.avatar-lea {
  background: linear-gradient(135deg, #b9f1dc, #4bb795);
  color: #074c3c;
}
.avatar-tom {
  background: linear-gradient(135deg, #ffd7b8, #d98252);
  color: #612e17;
}
.bubble {
  display: flex;
  gap: 11px;
  align-items: flex-end;
  max-width: 88%;
  animation: bubble-float 5s ease-in-out infinite;
}
.bubble p {
  margin: 0;
  padding: 15px 17px;
  border-radius: 20px;
  line-height: 1.45;
}
.from-family {
  justify-self: end;
  flex-direction: row-reverse;
}
.from-family p {
  background: var(--ink);
  color: white;
  border-bottom-right-radius: 5px;
}
.from-lea p {
  background: white;
  border: 1px solid var(--line);
  border-bottom-left-radius: 5px;
}
.bubble.short {
  max-width: 55%;
  animation-delay: 1.4s;
}
.typing {
  display: flex;
  gap: 4px;
  margin-left: 54px;
}
.typing i {
  width: 7px;
  height: 7px;
  background: var(--mint-dark);
  border-radius: 50%;
  animation: typing 1.4s infinite;
}
.typing i:nth-child(2) {
  animation-delay: 0.18s;
}
.typing i:nth-child(3) {
  animation-delay: 0.36s;
}
.ease { padding-top: var(--section-space); }
.offer sup { margin-left: 2px; color: var(--mint-dark); font-size: 12px; }

.price-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.price-option { position: relative; padding: 56px 16px 20px; border-radius: 20px; background: #fff; border: 1px solid var(--line); }
.price-option strong { font-size: 38px; }
.price-option.annual { border: 2px solid var(--mint); }
.discount-sticker { position: absolute; z-index: 2; top: -23px; right: -18px; width: 112px !important; height: auto !important; max-height: none !important; transform: rotate(-5deg); filter: drop-shadow(0 5px 7px rgba(2, 57, 68, .18)); }
.trial-highlight { margin: 0; padding: 14px 18px; border-radius: 16px; background: #d9f3ea; color: var(--ink); text-align: center; }
.trial-highlight strong { display: inline; font-family: inherit; font-size: 18px; line-height: inherit; }

@media (max-width: 580px) {
  .price-options { grid-template-columns: 1fr; }
  .price-option.annual { margin-top: 20px; }
  .discount-sticker { right: 8px; }
}
.compatibility-note { margin: 18px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.reviews-carousel {
  max-width: 860px;
  margin: 34px auto 0;
}
.reviews-carousel .carousel-viewport { box-shadow: var(--shadow); }
.reviews-carousel .review-card {
  min-height: 270px;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: 14px;
  padding: clamp(32px, 5vw, 58px);
  background: linear-gradient(145deg, #fff, #eff9f6);
  border-color: var(--line);
  color: var(--text);
  text-align: center;
}
.reviews-carousel .review-stars {
  color: #e5a51d;
  font-size: 21px;
  letter-spacing: .14em;
}
.reviews-carousel .review-card p {
  max-width: 680px;
  margin: 0 auto;
  font: 700 clamp(21px, 2.4vw, 29px)/1.35 Georgia, serif;
  color: #0c3437;
}
.reviews-carousel .review-card footer {
  padding: 0;
  background: none;
  color: var(--mint-dark);
  font-weight: 800;
}
.reviews-carousel .carousel-arrow {
  background: var(--mint);
  border-color: rgba(8,62,75,.18);
  color: #113d38;
}
.reviews-carousel .carousel-dots button { background: #b9cec8; }
.reviews-carousel .carousel-dots button.is-active { background: var(--mint-dark); }
.ease-heading {
  text-align: center;
  display: grid;
  justify-items: center;
}
.ease-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.ease-grid article {
  padding: 31px;
  border-radius: 25px;
  background: #fff;
  border: 1px solid var(--line);
}
.ease-grid b {
  color: var(--mint-dark);
}
.ease-grid h3 {
  font-size: 24px;
  margin: 17px 0 8px;
}
.ease-grid p {
  color: var(--muted);
  margin: 0;
}
.family-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 24px;
}
.family-benefits article {
  display: grid;
  gap: 6px;
  padding: 20px 22px;
  border-radius: 20px;
  background: var(--mist);
  border: 1px solid var(--line);
  overflow: hidden;
  padding: 0 0 20px;
}
.family-benefits img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  object-position: center 22%;
  display: block;
  margin-bottom: 10px;
}
.family-benefits strong {
  color: var(--ink);
  font-size: 17px;
  padding-inline: 22px;
}
.family-benefits span {
  color: var(--muted);
  padding-inline: 22px;
}
.circle-callout {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) 1.25fr;
  gap: 42px;
  align-items: center;
  margin-top: 24px;
  padding: 28px 32px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(135deg, #f0faf7, #fffaf0);
}
.circle-callout h3 {
  margin: 7px 0 0;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 2.4vw, 34px);
  line-height: 1.08;
}
.circle-callout p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}
.light-link {
  color: #8fe0c4;
  font-weight: 800;
}
.support-actions {
  display: grid;
  gap: 14px;
  justify-items: start;
}
.gift-callout {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 50px;
  border: 1px solid var(--line);
  border-radius: 34px;
  background: linear-gradient(135deg, #f2fbf8, #fff8eb);
  margin-bottom: 0;
}
.gift-callout > div {
  max-width: 720px;
}
.gift-callout h2 {
  margin-bottom: 12px;
}
@keyframes typing {
  0%,
  60%,
  100% {
    transform: translateY(0);
    opacity: 0.4;
  }
  30% {
    transform: translateY(-5px);
    opacity: 1;
  }
}
@keyframes bubble-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .carousel-track,
  .bubble,
  .typing i {
    animation: none !important;
    transition: none !important;
  }
}
@media (max-width: 950px) {
  .assistant-focus {
    grid-template-columns: 1fr;
  }
  .ease-grid {
    grid-template-columns: 1fr;
  }
  .family-benefits {
    grid-template-columns: 1fr;
  }
  .family-benefits img { height: 160px; }
  .circle-callout {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .gift-callout {
    display: grid;
  }
  .edenfamily-carousel { padding-inline: 48px; }
  .carousel-slide { grid-template-columns: 220px 1fr; }
  .work-carousel { max-width: 760px; width: 100%; margin: auto; }
}

body { padding-bottom: 52px; }
body > footer {
  position: fixed;
  z-index: 40;
  inset: auto 0 0;
  min-height: 52px;
  padding: 8px max(22px, 4vw);
  display: flex;
  align-items: center;
  gap: 22px;
  background: #071f24;
  box-shadow: 0 -5px 18px rgba(5, 27, 31, 0.12);
}
body > footer img { display: none; }
body > footer p { margin: 0; font-size: 12px; }
body > footer div { margin-left: auto; }
body > footer small { grid-column: auto; font-size: 10px; white-space: nowrap; }
@media (max-width: 1100px) {
  body { padding-bottom: 48px; }
  body > footer { min-height: 48px; padding: 7px 16px; display: flex; flex-wrap: nowrap; }
  body > footer p, body > footer small { display: none; }
  body > footer div { display: flex; flex-wrap: nowrap; gap: 12px; font-size: 11px; overflow-x: auto; white-space: nowrap; }
}
@media (max-width: 760px) {
  body > footer div { margin-inline: auto; }
}
@media (max-width: 640px) {
  :root { --section-space: 52px; }
  .back-to-top { right: 14px; bottom: 12px; }
  .adaptation-showcase { padding: 28px 8px 4px; margin-inline: -8px; }
  .edenfamily-carousel { padding: 0 34px 30px; }
  .carousel-slide { grid-template-columns: 1fr; gap: 20px; padding: 18px; }
  .carousel-slide img { width: min(220px, 100%); justify-self: center; }
  .work-carousel .carousel-slide { grid-template-columns: 1fr; }
  .work-carousel .carousel-slide img { width: min(190px, 100%); }
  .carousel-slide figcaption { text-align: center; }
  .carousel-slide figcaption strong { font-size: 23px; }
  .carousel-arrow { width: 38px; height: 38px; font-size: 28px; }
}
.gift-nav strong { color: #176f63; white-space: nowrap; }
@media (max-width: 1280px) {
  .topbar nav { gap: 13px; }
  .topbar nav a { font-size: 12px; }
}

.newsletter-callout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:70px; align-items:center; background:linear-gradient(135deg,#eff9f6 0%,#dff3ed 100%); border:1px solid var(--line); border-radius:36px; margin-top:85px; margin-bottom:85px; padding:68px; }
.newsletter-callout h2 { margin-top:12px; }
.newsletter-lead { font-size:19px; color:#405b55; max-width:700px; }
.newsletter-promises { list-style:none; padding:0; margin:28px 0; display:grid; gap:11px; }
.newsletter-promises li { position:relative; padding-left:30px; font-weight:650; }
.newsletter-promises li::before { content:"✓"; position:absolute; left:0; color:var(--mint-dark); font-weight:900; }
.newsletter-note { color:var(--ink); font-weight:800; }
.newsletter-form { background:#fff; padding:34px; border:1px solid rgba(8,62,75,.12); border-radius:28px; box-shadow:var(--shadow); display:grid; gap:11px; }
.newsletter-form label:not(.newsletter-agreement) { font-weight:800; color:var(--ink); }
.newsletter-form label span { font-weight:500; color:var(--muted); }
.newsletter-form > input:not([type]), .newsletter-form input[type="email"] { width:100%; border:1px solid var(--line); border-radius:13px; background:#fbfdfc; padding:14px 15px; font:inherit; color:var(--text); }
.newsletter-form input:focus { outline:3px solid rgba(99,201,168,.23); border-color:var(--mint-dark); }
.newsletter-agreement { display:grid; grid-template-columns:20px 1fr; gap:11px; align-items:start; margin:9px 0; font-size:14px; line-height:1.45; }
.newsletter-agreement input { margin-top:3px; width:17px; height:17px; accent-color:var(--mint-dark); }
.newsletter-form .button { border:0; cursor:pointer; font:inherit; margin-top:5px; }
.newsletter-form .button:disabled { opacity:.6; cursor:wait; }
.newsletter-status { min-height:24px; margin:2px 0 0; font-weight:750; color:var(--mint-dark); }
.newsletter-form small { color:var(--muted); text-align:center; }
.newsletter-member-area { display:grid; align-items:center; }
.newsletter-auth-check { text-align:center; color:var(--muted); font-weight:700; }
.newsletter-login-card { background:#fff; padding:34px; border:1px solid rgba(8,62,75,.12); border-radius:28px; box-shadow:var(--shadow); text-align:center; }
.newsletter-login-card strong { display:block; color:var(--ink); font-size:21px; }
.newsletter-login-card p { color:var(--muted); margin:12px 0 24px; }
.newsletter-account { display:grid; padding:16px 18px; border-radius:15px; background:var(--mist); border:1px solid var(--line); }
.newsletter-account span { color:var(--mint-dark); font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.newsletter-account strong { color:var(--ink); font-size:18px; margin-top:4px; }
.newsletter-account small { text-align:left; }
.newsletter-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.newsletter-confirmation-card { text-align:center; }
.newsletter-confirmation-card .button { margin-top:18px; }
@media (max-width:950px) { .newsletter-callout { grid-template-columns:1fr; margin:55px 20px; padding:48px 32px; gap:35px; } }
@media (max-width:580px) { .newsletter-callout { margin:35px 12px; padding:36px 20px; border-radius:26px; } .newsletter-form { padding:25px 20px; } }

.portal-logout[hidden], [data-create-account-link][hidden] { display:none!important; }
.header-logout { border:0; background:none; color:inherit; cursor:pointer; padding:0; }
.nav-logout { border:0; background:none; color:var(--mint-dark); cursor:pointer; font:inherit; font-size:14px; font-weight:800; padding:8px 12px; }
@media (min-width:951px) { .nav-logout { display:none!important; } }
@media (max-width:580px) { .newsletter-login-card { padding:25px 20px; } }
