:root {
  --blue: #153f8b;
  --navy: #0b2354;
  --gold: #d7ad50;
  --cream: #fff9ec;
  --green: #315c36;
  --ink: #172238;
  --white: #fff
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: auto
}

body {
  margin: 0;
  font-family: 'DM Sans', sans-serif;
  color: var(--ink);
  background: var(--cream);
  overflow-x: hidden
}

a {
  color: inherit;
  text-decoration: none
}

button,
input,
select,
textarea {
  font: inherit
}

.nav {
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10
}

.logo {
  width: 164px;
  max-height: 62px;
  object-fit: contain
}

.navlinks {
  display: flex;
  gap: 30px;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em
}

.navcta,
.btn {
  background: var(--blue);
  color: #fff;
  border: 0;
  border-radius: 100px;
  padding: 15px 24px;
  font-weight: 700;
  display: inline-flex;
  gap: 14px;
  align-items: center;
  justify-content: center;
  transition: transform .25s, background .25s
}

.navcta:hover,
.btn:hover {
  transform: translateY(-3px);
  background: var(--navy)
}

.hero {
  min-height: 100svh;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 130px 8vw 70px;
  overflow: hidden;
  background: radial-gradient(ellipse at 76% 45%, #e6ebf4 0, #f6f0df 40%, var(--cream) 72%)
}

.hero:before {
  content: 'MEENARA';
  position: absolute;
  font-family: Manrope, sans-serif;
  font-size: clamp(100px, 22vw, 330px);
  font-weight: 800;
  letter-spacing: -.1em;
  color: rgba(21, 63, 139, .045);
  white-space: nowrap;
  bottom: -.15em;
  left: -.04em
}

.hero-copy {
  position: relative;
  z-index: 2;
  max-width: 600px
}

.eyebrow {
  font-size: 12px;
  letter-spacing: .19em;
  text-transform: uppercase;
  color: var(--green);
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 10px
}

.eyebrow:before {
  content: '';
  width: 28px;
  height: 2px;
  background: var(--gold)
}

h1,
h2,
h3,
p {
  margin-top: 0
}

h1 {
  font-family: Manrope, sans-serif;
  font-size: clamp(58px, 7.7vw, 116px);
  line-height: .88;
  letter-spacing: -.085em;
  margin: 26px 0 26px;
  color: var(--navy);
  font-weight: 800
}

h1 em {
  font-style: normal;
  color: var(--green)
}

.hero-copy>p {
  font-size: 17px;
  line-height: 1.7;
  max-width: 420px;
  color: #536074
}

.hero-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 30px 0
}

.btn.secondary {
  background: transparent;
  border: 1px solid #c7c9c7;
  color: var(--navy)
}

.hero-note {
  font-size: 12px;
  color: #667084
}

.hero-stage {
  height: min(76vh, 750px);
  min-height: 480px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1400px
}

.halo {
  position: absolute;
  width: min(42vw, 540px);
  aspect-ratio: 1;
  border: 1px solid rgba(21, 63, 139, .18);
  border-radius: 50%;
  transform: rotate(-18deg)
}

.halo:before,
.halo:after {
  content: '';
  position: absolute;
  border: 1px solid rgba(215, 173, 80, .42);
  border-radius: 50%;
  inset: 9%;
  transform: rotate(48deg)
}

.halo:after {
  inset: 19%;
  transform: rotate(-55deg)
}

.product-wrap {
  position: relative;
  width: min(31vw, 390px);
  min-width: 260px;
  transform-style: preserve-3d;
  z-index: 2;
  will-change: transform
}

.pack-shadow {
  position: absolute;
  bottom: -3%;
  left: 10%;
  width: 80%;
  height: 8%;
  background: rgba(16, 30, 55, .25);
  filter: blur(24px);
  border-radius: 50%;
  transform: rotateX(70deg) translateZ(-30px)
}

.pack-side {
  position: absolute;
  inset: 2% -3% 2% auto;
  width: 10%;
  background: linear-gradient(90deg, #173c82, #082457 70%, #061a3b);
  transform-origin: left center;
  transform: rotateY(70deg);
  border-radius: 4px;
  opacity: .95
}

.product-pack {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 32px 24px rgba(12, 30, 66, .2));
  transform: translateZ(28px);
  backface-visibility: visible
}

.float-seed {
  position: absolute;
  width: 44px;
  height: 32px;
  border-radius: 60% 40% 55% 45%;
  background: radial-gradient(ellipse at 30% 25%, #fffdf0, #e7d7ae 62%, #c8ad72);
  box-shadow: inset -5px -4px 8px #b89c62;
  z-index: 3
}

.s1 {
  top: 16%;
  left: 6%;
  transform: rotate(28deg)
}

.s2 {
  right: 3%;
  top: 29%;
  transform: rotate(-35deg) scale(.8)
}

.s3 {
  bottom: 19%;
  left: 10%;
  transform: rotate(-22deg) scale(1.2)
}

.hero-badge {
  position: absolute;
  right: 2%;
  bottom: 12%;
  background: var(--green);
  color: #fff;
  border-radius: 50%;
  width: 112px;
  height: 112px;
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
  transform: rotate(10deg);
  z-index: 4;
  border: 1px solid rgba(255, 255, 255, .55);
  box-shadow: 0 14px 35px #183d2925
}

.hero-badge b {
  font-size: 21px;
  display: block
}

.scrollhint {
  position: absolute;
  bottom: 25px;
  left: 8vw;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #6d7480
}

.scrollhint span {
  height: 35px;
  width: 1px;
  background: var(--gold)
}

.ticker {
  background: var(--blue);
  color: #fff;
  overflow: hidden;
  padding: 17px 0;
  white-space: nowrap;
  font-family: Manrope, sans-serif;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .16em
}

.ticker-track {
  display: flex;
  width: max-content;
  gap: 32px;
  animation: marquee 24s linear infinite
}

.ticker b {
  color: #e8c975
}

@keyframes marquee {
  to {
    transform: translateX(-50%)
  }
}

.intro {
  padding: 130px 8vw 115px;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 8vw;
  align-items: start;
  background: #fff
}

.intro h2,
.section-title {
  font-family: Manrope, sans-serif;
  font-size: clamp(42px, 6vw, 78px);
  letter-spacing: -.07em;
  line-height: .98;
  color: var(--navy);
  margin: 18px 0
}

.intro-copy {
  font-size: 20px;
  line-height: 1.65;
  color: #5b6577;
  max-width: 700px
}

.intro-copy strong {
  color: var(--green)
}

.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px
}

.stat {
  border-top: 1px solid #d6dce4;
  padding-top: 18px
}

.stat b {
  font: 800 31px Manrope;
  color: var(--blue);
  display: block
}

.stat span {
  font-size: 12px;
  color: #6b7483
}

.scroll-showcase {
  height: 370vh;
  position: relative;
  background: var(--blue);
  color: #fff
}

.showcase-sticky {
  height: 100svh;
  min-height: 560px;
  position: sticky;
  top: 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: clamp(32px, 5vw, 72px) 7.3vw;
  isolation: isolate
}

.showcase-sticky:before {
  content: 'MAKHANA';
  position: absolute;
  font: 800 clamp(100px, 22vw, 300px)/.8 Manrope;
  letter-spacing: -.1em;
  color: rgba(255, 255, 255, .055);
  left: -.04em;
  bottom: -.1em;
  white-space: nowrap;
  z-index: -1
}

.showcase-left {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 500px;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto minmax(210px, auto) auto;
  align-content: center;
  align-items: start;
  row-gap: 0;
}

.showcase-left .eyebrow {
  color: #e8cb7a
}

.showcase-left > .showcase-intro {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}

.showcase-left > .eyebrow {
  grid-column: 1;
  grid-row: 1;
}

.showcase-left h2 {
  font: 800 clamp(42px, 5.2vw, 72px)/.94 Manrope;
  letter-spacing: -.08em;
  margin: 18px 0 16px
}

.showcase-left p {
  font-size: 17px;
  line-height: 1.7;
  color: #dce5f4;
  max-width: 410px
}

.stage-copy {
  grid-column: 1;
  grid-row: 3;
  align-self: start;
  min-width: 0;
  margin-top: 22px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px);
  pointer-events: none;
  transition: opacity .45s ease, transform .45s ease, visibility .45s;
}

.stage-copy.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.stage-copy h3 {
  font: 800 clamp(36px, 4.3vw, 58px)/.98 Manrope;
  letter-spacing: -.07em;
  margin: 14px 0
}

.stage-copy p {
  max-width: 370px
}

.step-count {
  font-size: 12px;
  letter-spacing: .18em;
  color: #e7c875;
  font-weight: 700
}

.stage-progress {
  display: flex;
  gap: 8px;
  margin-top: 36px
}

.stage-progress i {
  width: 34px;
  height: 3px;
  background: #ffffff40;
  transition: background .3s, width .3s
}

.stage-progress i.active {
  background: #e7c875;
  width: 55px
}

.showcase-visual {
  height: 80%;
  position: relative;
  display: grid;
  place-items: center;
  perspective: 1600px
}

.showcase-orbit {
  position: absolute;
  width: min(39vw, 510px);
  aspect-ratio: 1;
  border: 1px solid #ffffff30;
  border-radius: 50%;
  transform: rotateX(65deg) rotateZ(-20deg)
}

.showcase-orbit:after {
  content: '';
  position: absolute;
  inset: 13%;
  border: 1px solid #e7c87575;
  border-radius: 50%
}

.showcase-pack {
  width: min(31vw, 360px);
  min-width: 235px;
  position: relative;
  transform-style: preserve-3d;
  will-change: transform;
  z-index: 2
}

.showcase-pack .product-pack {
  filter: drop-shadow(0 36px 28px #00123d70)
}

.showcase-pack .pack-side {
  background: linear-gradient(90deg, #204b99, #071a3e)
}

.showcase-caption {
  position: absolute;
  bottom: 4%;
  right: 4%;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #c9d6ed
}

.showcase-seed {
  position: absolute;
  width: 34px;
  height: 26px;
  border-radius: 60%;
  background: linear-gradient(135deg, #fff7df, #d4bb7e);
  box-shadow: inset -5px -4px 5px #9e8657;
  z-index: 3
}

.ss1 {
  top: 15%;
  left: 7%
}

.ss2 {
  right: 2%;
  top: 37%;
  transform: rotate(35deg)
}

.ss3 {
  bottom: 13%;
  left: 13%;
  transform: rotate(-24deg)
}

.benefits {
  padding: 120px 8vw;
  background: #f7f0df
}

.section-head {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: end;
  margin-bottom: 52px
}

.section-head p {
  max-width: 340px;
  color: #687184;
  line-height: 1.7
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px
}

.benefit {
  padding: 28px 24px 30px;
  background: #fff;
  border-radius: 18px;
  min-height: 245px;
  position: relative;
  overflow: hidden
}

.benefit .num {
  font-size: 11px;
  color: var(--gold);
  font-weight: 800;
  letter-spacing: .18em
}

.benefit .icon {
  font-size: 33px;
  color: var(--green);
  margin: 28px 0 20px
}

.benefit h3 {
  font: 800 22px Manrope;
  color: var(--navy);
  letter-spacing: -.04em
}

.benefit p {
  font-size: 14px;
  line-height: 1.65;
  color: #687184
}

.offer {
  padding: 110px 8vw;
  background: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
  align-items: center
}

.offer-art {
  min-height: 430px;
  background: var(--cream);
  border-radius: 24px;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden
}

.offer-art:before {
  content: '';
  position: absolute;
  width: 330px;
  height: 330px;
  border: 1px solid #d9c58f;
  border-radius: 50%
}

.offer-art img {
  width: min(48%, 280px);
  position: relative;
  filter: drop-shadow(0 24px 25px #1b294328);
  transform: rotate(-7deg)
}

.offer h2 {
  font: 800 clamp(42px, 5.6vw, 72px)/.94 Manrope;
  color: var(--navy);
  letter-spacing: -.075em;
  margin: 22px 0
}

.offer p {
  font-size: 16px;
  line-height: 1.75;
  color: #667084
}

.gift-pill {
  display: inline-flex;
  background: #e7efe2;
  color: var(--green);
  border-radius: 40px;
  padding: 10px 15px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em
}

.pricing {
  padding: 120px 8vw;
  background: #e9eef7
}

.pricing .section-head {
  align-items: start
}

.price-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 960px;
  margin: auto
}

.price-card {
  padding: 34px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #d7dfeb;
  position: relative
}

.price-card.featured {
  background: var(--blue);
  color: #fff;
  transform: translateY(-12px);
  box-shadow: 0 22px 55px #102f6a24
}

.popular {
  position: absolute;
  top: 20px;
  right: 20px;
  background: var(--gold);
  color: var(--navy);
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .1em;
  padding: 8px 10px;
  border-radius: 30px
}

.pack-size {
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--green)
}

.featured .pack-size {
  color: #f0d17c
}

.price {
  font: 800 clamp(44px, 5vw, 68px) Manrope;
  letter-spacing: -.07em;
  margin: 14px 0
}

.price small {
  font: 500 14px 'DM Sans';
  letter-spacing: 0;
  opacity: .7
}

.price-card p {
  line-height: 1.65;
  color: #657086;
  font-size: 14px
}

.featured p {
  color: #dbe5f6
}

.price-card .btn {
  width: 100%;
  margin-top: 15px
}

.featured .btn {
  background: #f1d37e;
  color: var(--navy)
}

.reviews {
  padding: 120px 8vw;
  background: var(--cream)
}

.review-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px
}

.review {
  background: #fff;
  border-radius: 18px;
  padding: 30px
}

.stars {
  color: #c99f3f;
  letter-spacing: .15em
}

.review blockquote {
  font: 600 22px/1.5 Manrope;
  color: var(--navy);
  margin: 20px 0
}

.review small {
  color: #778093
}

.enquiry {
  padding: 110px 8vw;
  background: var(--navy);
  color: #fff;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 8vw
}

.enquiry h2 {
  font: 800 clamp(46px, 6vw, 80px)/.93 Manrope;
  letter-spacing: -.08em;
  margin: 20px 0
}

.enquiry p {
  line-height: 1.7;
  color: #d4dced;
  max-width: 390px
}

.form {
  background: #fff;
  color: var(--ink);
  padding: 30px;
  border-radius: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.field {
  display: flex;
  flex-direction: column;
  gap: 7px
}

.field.full {
  grid-column: 1/-1
}

.field label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 800;
  color: #6b7483
}

.field input,
.field select,
.field textarea {
  border: 1px solid #dce1e8;
  border-radius: 10px;
  padding: 13px;
  background: #fbfcfe;
  min-width: 0;
  color: var(--ink)
}

.field textarea {
  min-height: 80px;
  resize: vertical
}

.form .btn {
  grid-column: 1/-1;
  width: 100%;
  cursor: pointer
}

.form-note {
  grid-column: 1/-1;
  font-size: 11px;
  color: #788194
}

.footer {
  padding: 35px 8vw;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  background: #071a3e;
  color: #d9e1f0;
  font-size: 12px
}

.footer img {
  width: 140px;
  max-height: 60px;
  object-fit: contain;
  background: #fff;
  border-radius: 8px;
  padding: 4px
}

.reveal {
  opacity: 0;
  transform: translateY(28px)
}

.js-ready .reveal {
  transition: opacity .8s, transform .8s
}

.js-ready .reveal.in {
  opacity: 1;
  transform: none
}

@media(max-width:850px) {
  .nav {
    height: 70px;
    padding: 0 5vw
  }

  .logo {
    width: 130px
  }

  .navlinks a:not(.navcta) {
    display: none
  }

  .hero {
    grid-template-columns: 1fr;
    padding: 120px 7vw 60px;
    min-height: auto
  }

  .hero-copy {
    max-width: 600px
  }

  .hero h1 {
    font-size: clamp(60px, 15vw, 105px)
  }

  .hero-stage {
    height: 540px;
    min-height: 0;
    margin-top: 10px
  }

  .product-wrap {
    width: min(62vw, 340px)
  }

  .halo {
    width: min(78vw, 440px)
  }

  .hero-badge {
    right: 7%;
    bottom: 10%;
    width: 95px;
    height: 95px
  }

  .scrollhint {
    display: none
  }

  .intro {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 85px 7vw
  }

  .stats {
    gap: 12px
  }

  .stat b {
    font-size: 25px
  }

  .scroll-showcase {
    height: 320vh
  }

  .showcase-sticky {
    grid-template-columns: 1fr;
    padding: 80px 7vw 40px;
    align-content: start;
    min-height: 0
  }

  .showcase-left {
    max-width: 100%;
    min-height: 0;
    display: block
  }

  .showcase-left>.eyebrow,
  .showcase-left>.showcase-intro {
    display: none
  }

  .stage-copy {
    position: relative;
    display: none
  }

  .stage-copy.active {
    display: block
  }

  .stage-copy h3 {
    font-size: 42px;
    margin: 15px 0
  }

  .stage-copy p {
    font-size: 14px;
    max-width: 520px
  }

  .stage-progress {
    margin-top: 20px
  }

  .showcase-visual {
    height: 45vh;
    min-height: 290px;
    grid-row: 1
  }

  .showcase-pack {
    width: min(48vw, 280px)
  }

  .showcase-orbit {
    width: min(75vw, 370px)
  }

  .showcase-caption {
    bottom: 0
  }

  .benefit-grid {
    grid-template-columns: 1fr 1fr
  }

  .benefits,
  .pricing,
  .reviews {
    padding: 85px 7vw
  }

  .section-head {
    display: block
  }

  .section-head p {
    margin-top: 20px
  }

  .offer {
    grid-template-columns: 1fr;
    padding: 85px 7vw;
    gap: 35px
  }

  .offer-art {
    min-height: 350px
  }

  .price-grid {
    gap: 12px
  }

  .price-card {
    padding: 25px 20px
  }

  .enquiry {
    grid-template-columns: 1fr;
    padding: 85px 7vw;
    gap: 35px
  }

  .footer {
    padding: 25px 7vw;
    flex-wrap: wrap
  }
}

@media(max-width:520px) {
  .navcta {
    padding: 12px 16px;
    font-size: 12px
  }

  .hero {
    padding-top: 105px
  }

  .hero-copy>p {
    font-size: 15px
  }

  .hero-stage {
    height: 440px
  }

  .product-wrap {
    min-width: 0;
    width: 70vw
  }

  .hero-badge {
    right: 0;
    bottom: 9%;
    width: 85px;
    height: 85px;
    font-size: 9px
  }

  .hero-badge b {
    font-size: 18px
  }

  .stats {
    grid-template-columns: 1fr;
    gap: 12px
  }

  .stat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px
  }

  .stat b {
    font-size: 23px
  }

  .showcase-sticky {
    padding: 65px 6vw 25px
  }

  .showcase-visual {
    height: 38vh;
    min-height: 240px
  }

  .showcase-pack {
    width: 55vw;
    min-width: 0
  }

  .stage-copy h3 {
    font-size: 36px
  }

  .benefit-grid {
    grid-template-columns: 1fr
  }

  .benefit {
    min-height: 0
  }

  .benefit .icon {
    margin: 16px 0
  }

  .price-grid {
    grid-template-columns: 1fr
  }

  .price-card.featured {
    transform: none
  }

  .review-row {
    grid-template-columns: 1fr
  }

  .form {
    grid-template-columns: 1fr;
    padding: 20px
  }

  .field.full,
  .form .btn,
  .form-note {
    grid-column: 1
  }

  .footer {
    align-items: flex-start;
    flex-direction: column
  }
}

/* Real product-angle frame sequence */
.showcase-pack .product-pack {
  width: 100%;
  max-height: min(70vh, 680px);
  object-fit: contain;
  object-position: center;
  border-radius: 4px;
  transition: opacity .08s linear;
}
.showcase-pack {
  width: min(31vw, 360px);
  max-height: 76vh;
}
@media (max-width: 760px) {
  .showcase-pack { width: min(58vw, 280px); min-width: 0; }
  .showcase-pack .product-pack { max-height: 48vh; }
}


/* Overlap fix: separate the intro, active stage and progress indicator. */
@media (min-width: 851px) {
  .showcase-left { grid-template-rows: auto auto minmax(190px, auto) auto; }
  .showcase-intro h2 { max-width: 100%; overflow-wrap: normal; }
  .showcase-intro p { margin-bottom: 0; font-size: clamp(14px, 1.25vw, 17px); line-height: 1.55; }
  .stage-copy h3 { margin: 12px 0; }
  .stage-copy p { margin-bottom: 0; font-size: 15px; line-height: 1.55; }
  .stage-progress { grid-column: 1; grid-row: 4; margin-top: 18px; }
}
@media (min-width: 851px) and (max-height: 700px) {
  .showcase-sticky { min-height: 0; padding-top: 28px; padding-bottom: 28px; }
  .showcase-left { grid-template-rows: auto auto minmax(160px, auto) auto; }
  .showcase-left h2 { font-size: clamp(40px, 4.8vw, 62px); margin: 14px 0; }
  .showcase-left .stage-copy h3 { font-size: clamp(32px, 3.8vw, 48px); }
  .showcase-left .stage-progress { margin-top: 12px; }
  .showcase-visual { height: 88%; }
}
@media (max-width: 850px) {
  .showcase-left { display: block; }
  .stage-copy { grid-row: auto; margin-top: 0; transition: opacity .35s ease, transform .35s ease; }
  .stage-copy.active { display: block; }
}

/* SEO content additions: accessible FAQ and honest customer-story area */
.faq-section {
  padding: 110px 8vw;
  background: #fff;
}
.faq-list {
  max-width: 980px;
  margin: 0 auto;
  border-top: 1px solid #d9dfeb;
}
.faq-item {
  border-bottom: 1px solid #d9dfeb;
  padding: 0;
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  position: relative;
  padding: 23px 48px 23px 0;
  color: var(--navy);
  font: 700 18px/1.45 Manrope, sans-serif;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  position: absolute;
  right: 6px;
  top: 18px;
  color: var(--green);
  font: 400 28px/1.2 'DM Sans', sans-serif;
}
.faq-item[open] summary::after { content: '−'; }
.faq-item p {
  max-width: 800px;
  margin: 0;
  padding: 0 40px 24px 0;
  color: #626e82;
  font-size: 15px;
  line-height: 1.8;
}
.review-mark {
  font: 800 38px/1 Manrope, sans-serif;
  color: var(--gold);
}
.review h3 {
  margin: 14px 0 10px;
  font: 800 22px/1.25 Manrope, sans-serif;
  color: var(--navy);
}
.review p {
  color: #687184;
  font-size: 15px;
  line-height: 1.7;
}
.review-disclaimer {
  margin: 24px 0 0;
  color: #697487;
  font-size: 12px;
  line-height: 1.6;
}
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
@media (max-width: 850px) {
  .faq-section { padding: 75px 6vw; }
}
@media (max-width: 520px) {
  .faq-section { padding: 60px 6vw; }
  .faq-item summary { font-size: 16px; padding-top: 19px; padding-bottom: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
