/* ============================================================
   THE LAST WISH — modern theme layer (v2)
   Purely additive/override CSS + no HTML text is changed.
   Loads after the original stylesheets, so rules here win.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&display=swap');

:root{
  --tlw-teal:#1fa694;
  --tlw-teal-dark:#0c2b2a;
  --tlw-teal-deep:#0a3a38;
  --tlw-cyan:#00bae3;
  --tlw-gold:#e8cf52;
  --tlw-gold-deep:#c9a72e;
  --tlw-cream:#fffdf4;
  --tlw-ink:#12201f;
  --tlw-radius:20px;
  --tlw-shadow:0 20px 45px -22px rgba(10,45,42,.35);
  --tlw-shadow-lg:0 30px 60px -20px rgba(10,45,42,.4);
  --tlw-font-display:'Sora', 'Jost', sans-serif;
}

/* ---------------------------------------------------------- global feel */
html{ scroll-behavior:smooth; }
body{ -webkit-font-smoothing:antialiased; }
::selection{ background:var(--tlw-gold); color:var(--tlw-ink); }

/* Headlines get the modern display font + tighter tracking, weight kept bold via existing <strong> */
.mbr-section-title, h1.mbr-fonts-style, h2.mbr-fonts-style, h3.mbr-fonts-style,
.display-1, .display-2 {
  font-family: var(--tlw-font-display) !important;
  letter-spacing:-0.01em !important;
}

/* Kicker-style section subtitles (existing small headings) get a pill treatment where used alone */
.card-subtitle.mbr-fonts-style{
  letter-spacing:.02em;
}

/* ---------------------------------------------------------- section rhythm + alternating gradients */
/* Teal sections -> deep gradient with soft glow blobs (decorative, no text affected) */
[class*="cid-tLclvjp4zp"],
[class*="cid-uvUJ7DUVBe"],
[class*="cid-tLcytCP5Mp"],
[class*="cid-tLcAsozquJ"],
[class*="cid-tLcvjnZQTe"],
[class*="cid-tLFIln0LHM"],
[class*="cid-tLFvtOWc4e"],
[class*="cid-tLFzIby5qC"],
[class*="cid-uzFQtfEZPC"],
[class*="cid-uw62EhcvP1"],
[class*="cid-uw62B6xdDW"],
[class*="cid-tLFEPDavuP"],
[class*="cid-uvUGZMiL1T"],
[class*="cid-uw62eZd2vl"],
[class*="cid-tLFFRV0vg2"],
[class*="cid-tLFGB0l1Nb"],
[class*="cid-tLcGI6bA0p"]{
  background:radial-gradient(120% 140% at 10% -10%, #1ec2a9 0%, var(--tlw-teal) 42%, var(--tlw-teal-deep) 100%) !important;
  position:relative;
  overflow:hidden;
}
[class*="cid-tLclvjp4zp"]::before,
[class*="cid-tLFIln0LHM"]::before,
[class*="cid-uw62B6xdDW"]::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(600px 300px at 90% 0%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(500px 260px at 5% 100%, rgba(232,207,82,.14), transparent 60%);
  pointer-events:none;
}

/* Cyan pros/cons block -> matching deep gradient instead of flat cyan */
[class*="cid-tLFzPcPtud"],
[class*="cid-tLFAObuexJ"],
[class*="cid-tLFBHyYSbS"]{
  background:linear-gradient(135deg, #00c9e6 0%, var(--tlw-cyan) 55%, #0592ac 100%) !important;
}

/* Cream accent sections (bonuses/guarantee/final CTA) -> warmer, softer cream with a top hairline */
[class*="cid-tLFF32cDVj"],
[class*="cid-tLFHWIf7GG"],
[class*="cid-tLFHl1ieei"]{
  background:linear-gradient(180deg, #fffef7 0%, var(--tlw-cream) 100%) !important;
}

/* White sections: subtle off-white for depth against the gradient sections around them */
[class*="cid-tLcpgbq2pq"],
[class*="cid-uw3OaF4IwC"],
[class*="cid-tLcyX7bSsD"],
[class*="cid-uw45jS72TR"],
[class*="cid-tLcBqcS2S9"],
[class*="cid-uwfhsE42fy"],
[class*="cid-tLFYYerMPi"],
[class*="cid-uwfavRHQ7A"],
[class*="cid-tLFvBzsd5B"],
[class*="cid-uzFQvJ3iWk"],
[class*="cid-uwcdNPfSRG"],
[class*="cid-uvUH0Rnnjd"],
[class*="cid-uPoYmZMXBp"],
[class*="cid-tLcGoP7gO2"],
[class*="cid-tLFFXTzvIN"],
[class*="cid-tLFGm9OGVS"],
[class*="cid-tLFLR8HMXG"]{
  background:#fbfaf5 !important;
}

/* ---------------------------------------------------------- navbar: glass / blur, modern pill CTA */
/* IMPORTANT: backdrop-filter/filter/transform on an ANCESTOR of a position:fixed
   element creates a new containing block, which silently turns "fixed" into
   "fixed relative to that ancestor" instead of the viewport — the nav would then
   scroll away with the page. So the glass effect below goes ONLY on the <nav>
   element itself (the fixed element), never on its wrapping .menu2 section. */
.cid-tLclnOs7BI .navbar{
  background:rgba(15,43,42,.72) !important;
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}
.navbar .navbar-brand, .navbar .navbar-caption{
  font-family:var(--tlw-font-display) !important;
  letter-spacing:-0.01em;
}

/* ---------------------------------------------------------- buttons: modern gradient pill CTAs */
.btn{
  border-radius:999px !important;
  font-family:var(--tlw-font-display) !important;
  font-weight:700 !important;
  letter-spacing:.01em;
  padding-left:1.9rem !important;
  padding-right:1.9rem !important;
}
.btn-primary, .btn-primary:active{
  background:linear-gradient(135deg, #f4e58a 0%, var(--tlw-gold) 55%, var(--tlw-gold-deep) 100%) !important;
  border-color:transparent !important;
  color:var(--tlw-ink) !important;
  box-shadow:0 10px 24px -10px rgba(201,167,46,.55);
}
.btn-primary:hover, .btn-primary:focus{
  background:linear-gradient(135deg, #f8ee9e 0%, #ecdb78 55%, var(--tlw-gold-deep) 100%) !important;
  color:var(--tlw-ink) !important;
}
.btn-danger, .btn-danger:active{
  background:linear-gradient(135deg, #37e0ff 0%, var(--tlw-cyan) 60%, #0592ac 100%) !important;
  border-color:transparent !important;
  color:#04262e !important;
  box-shadow:0 10px 24px -10px rgba(0,186,227,.55);
}
.btn-danger:hover, .btn-danger:focus{
  background:linear-gradient(135deg, #6be9ff 0%, #29cdec 60%, #0592ac 100%) !important;
  color:#04262e !important;
}

@media (prefers-reduced-motion: no-preference){
  .btn-primary, .btn-danger, #tlw-order-btn{
    position:relative; overflow:hidden; isolation:isolate;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .btn-primary::before, .btn-danger::before, #tlw-order-btn::before{
    content:""; position:absolute; top:0; left:-60%; width:40%; height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,.6), transparent);
    transform:skewX(-20deg); transition:left .55s ease; pointer-events:none; z-index:1;
  }
  .btn-primary:hover::before, .btn-danger:hover::before, #tlw-order-btn:hover::before{ left:130%; }
  .btn-primary:hover, .btn-danger:hover{ transform:translateY(-3px) scale(1.015); }
  #tlw-order-btn:hover{ transform:translateY(-2px) scale(1.015); }
}

/* ---------------------------------------------------------- images: rounded, framed, hover zoom */
@media (prefers-reduced-motion: no-preference){
  .image-wrapper, .img-wrapper{ overflow:hidden; border-radius:var(--tlw-radius); }
  .image-wrapper img, .img-wrapper img{
    transition:transform .55s cubic-bezier(.2,.7,.2,1), filter .5s ease;
  }
  .image-wrapper:hover img, .img-wrapper:hover img{
    transform:scale(1.06); filter:saturate(1.08) brightness(1.02);
  }
}
.features17 .image-wrapper, #image1-8 .image-wrapper, #image01-2n .image-wrapper,
#image01-2k .image-wrapper, #image3-2j .image-wrapper, #image3-10 .image-wrapper,
#image3-16 .image-wrapper, #article02-24 .image-wrapper{
  box-shadow:var(--tlw-shadow-lg);
  border:1px solid rgba(255,255,255,.5);
}

/* ---------------------------------------------------------- cards: feature/bonus/pros-cons/faq */
.card-box, .features16 .text-wrapper, .features032 .item-wrapper .card-box,
.content17 .card, #tlw-commercial-faq .card{
  border-radius:var(--tlw-radius) !important;
}
.features020 .card-box{
  background:#fff;
  padding:2rem 1.6rem !important;
  box-shadow:0 14px 30px -18px rgba(10,45,42,.25);
  border:1px solid rgba(10,45,42,.06);
}
@media (prefers-reduced-motion: no-preference){
  .card-box, .features16 .text-wrapper, .features032 .item-wrapper .card-box{
    transition:transform .35s ease, box-shadow .35s ease;
  }
  .features020 .item:hover .card-box{
    transform:translateY(-8px);
    box-shadow:0 24px 40px -20px rgba(10,45,42,.35);
  }
  .item-wrapper:hover > .card-box{ transform:translateY(-6px); }
}
.features020 .img-wrapper{
  width:64px; height:64px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(31,166,148,.12), rgba(0,186,227,.12));
  border-radius:16px; padding:10px;
}

/* Bonus/guarantee sections: the theme paints a solid rectangle behind each card
   (content-wrapper). Swap it for a soft glass panel so it sits on the new
   gradient instead of clashing with it. Card + image styling below is unchanged. */
.cid-tLFzPcPtud .content-wrapper,
.cid-tLFAObuexJ .content-wrapper,
.cid-tLFBHyYSbS .content-wrapper{
  background:rgba(255,255,255,.14) !important;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(2px);
}

/* Bonus cards: numbered gradient badge instead of plain "BONUS #n :" text emphasis */
.features16 .text-wrapper{
  background:#fff;
  box-shadow:0 16px 34px -20px rgba(10,45,42,.3);
  border:1px solid rgba(10,45,42,.06);
  padding:2rem !important;
}

/* Pros/Cons cards: crisp white cards floating over the cyan gradient */
.features032 .card-box{
  background:#fff !important;
  padding:2rem !important;
  box-shadow:var(--tlw-shadow-lg);
}
.features032 .card-title strong{
  background:linear-gradient(135deg, var(--tlw-teal), var(--tlw-cyan));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* Testimonials: elevated card + quote mark + avatar ring */
.team2 .card-box{
  background:#fff; border-radius:var(--tlw-radius);
  box-shadow:0 16px 34px -20px rgba(10,45,42,.3);
  padding:1.8rem !important;
  position:relative;
}
.team2 .card-box::before{
  content:"\201C"; position:absolute; top:-6px; left:18px;
  font-family:Georgia, serif; font-size:64px; line-height:1;
  color:rgba(31,166,148,.18);
}
.team2 .image-wrapper{ border-radius:50%; }
.team2 .image-wrapper img{ border-radius:50%; }
@media (prefers-reduced-motion: no-preference){
  .team2 .item-wrapper:hover .image-wrapper{ box-shadow:0 0 0 4px rgba(31,166,148,.3); }
}

/* ---------------------------------------------------------- accordions (both FAQ blocks) */
.content17 .card, #tlw-commercial-faq .card{
  border:1px solid rgba(10,45,42,.08) !important;
  box-shadow:0 10px 24px -18px rgba(10,45,42,.25);
  overflow:hidden;
}
.content17 .card-header, #tlw-commercial-faq .card-header{
  background:#fff;
}
.content17 .panel-title-edit, #tlw-commercial-faq .panel-title-edit{
  font-family:var(--tlw-font-display) !important;
}
.content17 .sign, #tlw-commercial-faq .sign{
  transition:transform .3s ease;
}
.content17 a[aria-expanded="true"] .sign, #tlw-commercial-faq a[aria-expanded="true"] .sign{
  transform:rotate(180deg);
  color:var(--tlw-teal);
}
#tlw-commercial-faq .section-head h3{
  background:linear-gradient(135deg, var(--tlw-teal-deep), var(--tlw-teal));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---------------------------------------------------------- floating widgets: modern pill/glass finish */
#tlw-viewers{
  border-radius:999px !important;
  backdrop-filter:blur(6px);
}
#tlw-purchase-popup{
  border-radius:18px !important;
}
#tlw-order-btn{
  border-radius:999px !important;
}
@media (prefers-reduced-motion: no-preference){
  @keyframes tlw-pulse{
    0%,100%{ box-shadow:0 8px 22px -10px rgba(0,0,0,.5); }
    50%{ box-shadow:0 8px 30px -6px rgba(232,207,82,.6); }
  }
  #tlw-order-btn{ animation:tlw-pulse 2.8s ease-in-out infinite; }
  #tlw-order-btn:hover{ animation-play-state:paused; }
}

/* ---------------------------------------------------------- footer polish */
.footer3, [class*="cid-tLcGI6bA0p"]{
  background:linear-gradient(180deg, var(--tlw-teal-deep), #071f1e) !important;
}

/* ---------------------------------------------------------- nav link underline sweep */
.navbar .nav-link{ position:relative; }
.navbar .nav-link::after{
  content:""; position:absolute; left:0; bottom:2px; width:0; height:2px;
  background:var(--tlw-gold); transition:width .3s ease;
}
.navbar .nav-link:hover::after{ width:100%; }

/* ---------------------------------------------------------- scroll-reveal (paired with enhance.js) */
@media (prefers-reduced-motion: no-preference){
  .tlw-reveal{
    opacity:0; transform:translateY(28px);
    transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);
  }
  .tlw-reveal.tlw-in{ opacity:1; transform:none; }
}

/* ---------------------------------------------------------- responsive guardrails */
@media (max-width:640px){
  .btn{ padding-left:1.4rem !important; padding-right:1.4rem !important; }
  .features020 .img-wrapper{ width:52px; height:52px; }
}

/* ---------------------------------------------------------- larger tap targets for floating widget close buttons (mobile a11y) */
#tlw-viewers-close,
#tlw-popup-close{
  min-width:38px;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  top:0 !important;
  right:0 !important;
}

/* #tlw-cta-close is a small circular badge overlapping the sticky button's
   corner by design; enlarge its actual hit area without changing its visual
   size, using a transparent padded hit-box. */
#tlw-cta-close{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
}
#tlw-cta-close::before{
  content:"";
  position:absolute;
  inset:-10px;
}

/* ============================================================
   ROUND 2 — nav icons, trust badges, image sizing, deeper hovers
   ============================================================ */

/* ---------------------------------------------------------- nav icons (replacing dated icon-font glyphs) */
.tlw-nav-ico{
  margin-right:.4rem;
  vertical-align:-3px;
  opacity:.9;
  transition:transform .3s ease, opacity .3s ease;
}
.navbar .nav-link:hover .tlw-nav-ico{
  transform:translateY(-1px) scale(1.08);
  opacity:1;
  color:var(--tlw-gold);
}

/* ---------------------------------------------------------- trust badge rows */
.tlw-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1.1rem;
}
.tlw-trust-item{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-family:var(--tlw-font-display);
  font-size:.82rem;
  font-weight:600;
  color:var(--tlw-ink);
  background:rgba(255,255,255,.85);
  border:1px solid rgba(10,45,42,.1);
  padding:.5rem .85rem;
  border-radius:999px;
  box-shadow:0 8px 18px -12px rgba(10,45,42,.3);
}
.tlw-trust-ico{
  display:inline-flex;
  color:var(--tlw-teal-deep);
  flex-shrink:0;
}
/* On dark/gradient sections the row needs a lighter chip so it doesn't wash out */
[class*="cid-tLFHl1ieei"] .tlw-trust-item,
[class*="cid-tLFF32cDVj"] .tlw-trust-item{
  background:#fff;
}
@media (max-width:640px){
  .tlw-trust-row{ justify-content:center; }
  .tlw-trust-item{ font-size:.76rem; padding:.42rem .7rem; }
}

/* ---------------------------------------------------------- consistent picture sizing across the page */
/* Wide illustrative/infographic images: keep a clean, contained, uniform frame instead of native huge sizes */
#image1-8 img, #image01-2n img, #image01-2k img, #image3-2j img, #image3-10 img, #image3-16 img,
#article02-24 img{
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
  background:#fff;
}
/* Hero + bonus product renders: consistent max width so they never dwarf the copy column */
.features17 .image-wrapper img{
  max-width:460px;
  width:100%;
  height:auto;
  margin:0 auto;
  display:block;
  object-fit:contain;
}
.features16 .image-wrapper img{
  max-width:340px;
  width:100%;
  height:auto;
  margin:0 auto;
  display:block;
  object-fit:contain;
}
/* Feature icon circles: force uniform square regardless of source aspect ratio */
.features020 .img-wrapper img{
  width:40px; height:40px; object-fit:contain;
}
/* Testimonial avatars: uniform square crop so mixed source sizes don't distort the circle */
.team2 .image-wrapper{
  width:150px; height:150px; overflow:hidden; flex-shrink:0;
}
.team2 .image-wrapper img{
  width:100%; height:100%; object-fit:cover;
}

/* ---------------------------------------------------------- deeper "latest" hover treatment */
@media (prefers-reduced-motion: no-preference){
  /* Images: soft glow ring + lift, on top of the existing zoom */
  .image-wrapper, .img-wrapper{
    transition:box-shadow .4s ease, transform .4s ease;
  }
  .image-wrapper:hover, .img-wrapper:hover{
    box-shadow:0 0 0 6px rgba(31,166,148,.16), 0 26px 46px -20px rgba(10,45,42,.4);
  }
  .features17 .image-wrapper:hover, #image1-8 .image-wrapper:hover{
    transform:translateY(-4px);
  }

  /* CTA buttons: bigger, more deliberate "latest" hover — scale + deeper glow + icon nudge */
  .btn-primary, .btn-danger{
    transition:transform .28s cubic-bezier(.2,.8,.3,1.1), box-shadow .28s ease, filter .28s ease;
  }
  .btn-primary:hover, .btn-danger:hover{
    transform:translateY(-4px) scale(1.03);
    filter:saturate(1.12);
  }
  .btn-primary:active, .btn-danger:active{
    transform:translateY(-1px) scale(.99);
  }
  .btn .mobi-mbri, .btn .mbr-iconfont{
    display:inline-block;
    transition:transform .3s ease;
  }
  .btn:hover .mobi-mbri, .btn:hover .mbr-iconfont{
    transform:translateX(3px);
  }

  /* Trust chips: gentle lift on hover for a tactile feel */
  .tlw-trust-item{ transition:transform .25s ease, box-shadow .25s ease; }
  .tlw-trust-item:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 22px -14px rgba(10,45,42,.4);
  }
}

/* ============================================================
   ROUND 3 — sticky-nav scroll state, trending hero polish,
   popup trust CTA. Additive only; no copy/link/meta changes.
   ============================================================ */

/* ---------------------------------------------------------- sticky nav: compact on scroll
   The theme already toggles .navbar-short via its own scroll listener; we just
   give that existing state a more "latest" glass/elevated finish. */
nav.navbar{
  transition:background .3s ease, box-shadow .3s ease, min-height .3s ease;
}
.cid-tLclnOs7BI .navbar.navbar-short{
  background:rgba(8,28,27,.92) !important;
  box-shadow:0 10px 28px -14px rgba(0,0,0,.5);
  backdrop-filter:saturate(160%) blur(16px);
  -webkit-backdrop-filter:saturate(160%) blur(16px);
}
nav.navbar .navbar-brand img{ transition:height .3s ease; }

/* The theme never applied navbar-light/navbar-dark, so .navbar-toggler-icon had
   no background image at all against the glass-dark bar — invisible hamburger
   button on mobile/tablet. Give it a visible icon now. */
.cid-tLclnOs7BI .navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
@media (max-width:991.98px){
.cid-tLclnOs7BI .navbar-toggler{
  min-width:44px;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0.5rem;
}
}

/* ---------------------------------------------------------- hero: kicker pill + glow + wave divider */
.tlw-hero-kicker{
  display:inline-flex; align-items:center; gap:.4rem;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  font-family:var(--tlw-font-display);
  font-weight:600;
  font-size:.82rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:.5rem 1.1rem;
  border-radius:999px;
  margin-bottom:1rem;
  backdrop-filter:blur(4px);
}
.tlw-hero-kicker svg{ width:15px; height:15px; flex-shrink:0; }

[class*="cid-tLclvjp4zp"]{
  padding-bottom:56px !important;
  position:relative;
}
.tlw-wave-divider{
  position:absolute; left:0; right:0; bottom:-1px;
  line-height:0; pointer-events:none;
}
.tlw-wave-divider svg{ display:block; width:100%; height:56px; }

/* Hero product image: soft ambient glow behind the floating card */
#features17-4 .image-wrapper{
  position:relative;
}
#features17-4 .col-12.col-lg-5{
  position:relative;
}
#features17-4 .col-12.col-lg-5::before{
  content:"";
  position:absolute;
  inset:8% 4%;
  background:radial-gradient(closest-side, rgba(31,166,148,.25), transparent 70%);
  filter:blur(20px);
  z-index:0;
}
#features17-4 .image-wrapper{ z-index:1; }

/* ---------------------------------------------------------- purchase popup: trust CTA link */
.tlw-popup-cta{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  margin-top:.5rem;
  font-weight:800;
  font-size:12.5px;
  color:var(--tlw-teal-dark);
  text-decoration:none;
  border-bottom:1.5px solid var(--tlw-teal);
  transition:color .2s ease, gap .2s ease;
}
.tlw-popup-cta:hover{
  color:var(--tlw-teal);
  gap:.5rem;
  text-decoration:none;
}

/* ============================================================
   Guaranteed hover feedback: hero image/CTA + bottom image/CTA.
   Kept OUTSIDE the prefers-reduced-motion gate (unlike the zoom/
   lift treatment above) using only box-shadow/filter/border so it
   still shows something even for reduced-motion users; a small
   transform is layered on top for everyone else.
   ============================================================ */
#features17-4 .image-wrapper,
#image3-16 .image-wrapper{
  transition:box-shadow .35s ease, filter .35s ease;
}
#features17-4 .image-wrapper:hover,
#image3-16 .image-wrapper:hover{
  box-shadow:0 0 0 8px rgba(31,166,148,.18), 0 30px 50px -20px rgba(10,45,42,.45);
  filter:brightness(1.03) saturate(1.08);
}
@media (prefers-reduced-motion: no-preference){
  #features17-4 .image-wrapper:hover,
  #image3-16 .image-wrapper:hover{
    transform:translateY(-6px) scale(1.015);
  }
}

#features17-4 .btn-primary,
#features17-4 .btn-danger,
#header12-13 .btn-primary{
  transition:transform .28s cubic-bezier(.2,.8,.3,1.1), box-shadow .28s ease, filter .28s ease;
}
#features17-4 .btn-primary:hover,
#features17-4 .btn-danger:hover,
#header12-13 .btn-primary:hover{
  box-shadow:0 16px 34px -10px rgba(0,0,0,.4);
  filter:brightness(1.05);
}
@media (prefers-reduced-motion: no-preference){
  #features17-4 .btn-primary:hover,
  #features17-4 .btn-danger:hover,
  #header12-13 .btn-primary:hover{
    transform:translateY(-4px) scale(1.03);
  }
}

/* ---------------------------------------------------------- disclosure & support (footer lead-in) */
.tlw-disclosure-support{
  padding:2.6rem 1rem;
  background:#f7f9f8;
  border-top:1px solid rgba(10,45,42,.08);
}
.tlw-disclosure-support .container{
  max-width:820px;
}
.tlw-disclosure-support h2{
  font-size:1.3rem;
}
.tlw-disclosure-support p{
  font-size:.86rem;
  line-height:1.6;
  color:#4b5563;
  margin-bottom:.9rem;
}
.tlw-disclosure-support p:last-child{ margin-bottom:0; }
.tlw-disclosure-support a{
  color:var(--tlw-teal-dark);
  font-weight:700;
  text-decoration:underline;
}
.tlw-disclosure-support a:hover{ color:var(--tlw-teal); }

/* ---------------------------------------------------------- focus ring cleanup
   Browsers draw a default focus ring (often a dotted outline whose color
   follows each element's own color) on every link/button a visitor clicks.
   Suppress it for mouse/touch clicks, but keep a clear ring for keyboard
   (Tab) navigation so accessibility isn't lost. */
a, button, .btn, .nav-link, .navbar-toggler, [role="button"] {
  outline: none;
}
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.nav-link:focus-visible,
.navbar-toggler:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--tlw-teal, #1fa694);
  outline-offset: 3px;
}

/* ---------------------------------------------------------- AEO / trust additions (2026-09) */
.tlw-answer{ padding:2.6rem 1rem; background:#fffdf4; }
.tlw-answer .container{ max-width:900px; }
.tlw-answer h2{ font-family:var(--tlw-font-display); color:var(--tlw-teal-dark); }
.tlw-answer p{ font-size:1.08rem; line-height:1.7; color:var(--tlw-ink); margin-bottom:1rem; }
.tlw-answer .tlw-answer-lead{ background:#fff; border-left:5px solid var(--tlw-gold-deep); border-radius:12px; padding:1.1rem 1.3rem; box-shadow:var(--tlw-shadow); }
.tlw-facts{ width:100%; border-collapse:separate; border-spacing:0; background:#fff; border-radius:14px; overflow:hidden; box-shadow:var(--tlw-shadow); font-size:1rem; }
.tlw-facts caption{ caption-side:top; padding:.6rem 0; font-weight:700; color:var(--tlw-teal-dark); }
.tlw-facts th, .tlw-facts td{ padding:.75rem 1rem; text-align:left; vertical-align:top; border-bottom:1px solid rgba(10,45,42,.08); }
.tlw-facts th{ width:34%; background:#f1f8f6; color:var(--tlw-teal-dark); font-weight:700; }
.tlw-facts tr:last-child th, .tlw-facts tr:last-child td{ border-bottom:0; }
.tlw-evidence{ background:#f7f9f8; }
.tlw-affnote{ font-size:.82rem; color:#4b5563; margin:.9rem 0 0; }
.tlw-note{ padding:1rem; background:#f7f9f8; }
.tlw-note p{ max-width:820px; margin:0 auto; font-size:.85rem; line-height:1.6; color:#4b5563; text-align:center; }
@media (max-width:576px){ .tlw-facts th{ width:40%; } .tlw-facts th,.tlw-facts td{ padding:.6rem .7rem; font-size:.92rem; } }
