/* Serenity · portable landing · September 2026 */
:root {
  --night:#2B3433;
  --teal:#25A39F;
  --teal-ink:#166E6B;
  --paper:#F7F5F2;
  --mint:#E8EFEB;
  --ink:#2B3433;
  --muted:#586460;
  --line:#D9DFD9;
  --wine:#431D34;
  --navy:#080E1C;
  --font-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --font-body:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --shell:1220px;
  --gutter:24px;
  --section-space:88px
}

*,*::before,*::after {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
  scrollbar-color:var(--teal-ink) var(--paper)
}
body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font:16px/1.65 var(--font-body);
  -webkit-font-smoothing:antialiased
}
::selection {
  background:var(--teal);
  color:var(--navy)
}
a {
  color:inherit;
  text-decoration:none;
  text-underline-offset:5px
}
button,summary,a {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,summary:focus-visible,button:focus-visible {
  outline:3px solid var(--teal);
  outline-offset:5px
}
img,svg {
  display:block;
  max-width:100%
}
img {
  height:auto
}
h1,h2,h3,p,figure {
  margin:0
}
h1,h2 {
  font-family:var(--font-display);
  font-optical-sizing:auto;
  font-weight:460;
  line-height:1.15;
  letter-spacing:-.02em;
  text-wrap:balance
}
h1 em,h2 em {
  font-weight:460;
  font-style:italic;
  font-optical-sizing:auto
}
h2 {
  font-size:clamp(2rem,3.6vw,3.25rem)
}
h3 {
  font-weight:600;
  line-height:1.4;
  font-family:var(--font-body)
}
ul {
  list-style:none;
  padding:0;
  margin:0
}
small {
  font-size:.75rem
}
.shell {
  width:min(var(--shell),calc(100% - var(--gutter)*2));
  margin-inline:auto
}
.section {
  padding-block:var(--section-space)
}
.icon {
  width:22px;
  height:22px;
  flex-shrink:0
}
.arrow {
  width:22px;
  height:22px;
  flex-shrink:0;
  transition:transform .45s var(--ease)
}
a:hover>.arrow {
  transform:translateX(4px)
}
.visually-hidden,.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.skip-link {
  position:fixed;
  top:8px;
  left:16px;
  padding:12px 20px;
  background:var(--paper);
  color:var(--night);
  z-index:100;
  transform:translateY(-150%)
}
.skip-link:focus {
  transform:none
}

.site-header {
  background:var(--night);
  color:var(--paper);
  border-bottom:1px solid #4D5753
}
.nav {
  height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px
}
.brand img {
  width:163px;
  height:auto
}
.nav-links {
  display:flex;
  gap:34px;
  font-size:.84rem
}
.nav-links a,.footer-links a,.footer-legal a {
  transition:color .2s
}
.nav-links a:hover,.footer-links a:hover,.footer-legal a:hover {
  color:var(--teal)
}
.nav-contact {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:.85rem;
  border:1px solid #68766E;
  border-radius:6px;
  padding:10px 16px;
  transition:background .2s
}
.nav-contact:hover {
  background:#3C4943
}

.hero {
  background:var(--night);
  color:var(--paper);
  padding:42px 0 38px
}
.hero-grid {
  display:grid;
  grid-template-columns:1.06fr 1fr;
  align-items:center;
  gap:7%
}
.hero-copy {
  padding:10px 0 24px
}
.hero-context {
  margin-bottom:14px;
  color:#8ED0C4;
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.hero h1 {
  font-size:clamp(2.3rem,3.5vw,3.25rem);
  max-width:18ch
}
.hero h1 em {
  color:#8ED0C4;
  display:block;
  margin-top:.14em
}
.hero-description {
  color:#D6DED8;
  font-size:.97rem;
  max-width:42ch;
  margin-top:26px;
  line-height:1.6
}
.hero-description strong {
  color:var(--paper);
  font-weight:500
}
.hero-price {
  display:flex;
  align-items:baseline;
  gap:16px;
  flex-wrap:wrap;
  margin:22px 0 19px;
  font-variant-numeric:tabular-nums
}
.hero-price>strong {
  font-size:1.7rem;
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.02em
}
.hero-price small {
  font-weight:400;
  letter-spacing:.02em
}
.hero-price>span:not(.sr-only) {
  font-size:.75rem;
  color:#C9D1CC
}
.hero-price s {
  margin-right:5px;
  text-decoration-thickness:1px
}
.hero-saving {
  margin:-9px 0 19px;
  color:#8ED0C4;
  font-size:.8rem;
  font-weight:600;
}
.hero-actions {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:17px
}
.button {
  min-height:54px;
  padding:15px 23px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  border:1px solid transparent;
  border-radius:5px;
  font-size:.93rem;
  font-weight:600;
  line-height:1.4;
  text-align:center;
  transition:background-color .25s,box-shadow .4s var(--ease),transform .4s var(--ease)
}
.button-teal {
  background:var(--teal);
  color:#080E1C
}
.button-teal:hover {
  background:#51B9B1;
  box-shadow:0 10px 22px -15px #070D0A;
  transform:translateY(-2px)
}
.button-dark {
  background:var(--night);
  color:var(--paper)
}
.button-dark:hover {
  background:var(--teal-ink);
  transform:translateY(-2px)
}
.button:active {
  transform:translateY(1px)
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:.86rem;
  min-height:44px;
  padding-block:8px;
  border-bottom:1px solid currentColor;
  line-height:1.5
}
.hero-actions>.text-link {
  font-size:.8rem;
  color:#DAE6DD
}
.hero-fineprint {
  font-size:.75rem;
  color:#BFCBC3;
  margin-top:24px
}
.hero-media {
  position:relative;
  padding-bottom:38px
}
.hero-image {
  border-radius:100px 8px 8px 8px;
  overflow:hidden;
  background:#DDDAD2;
  aspect-ratio:.94
}
.hero-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 62%
}
.guide-ticket {
  position:absolute;
  bottom:46px;
  left:-30px;
  right:26px;
  background:var(--paper);
  color:var(--night);
  border:1px solid #D6DDD5;
  border-radius:5px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:17px 22px;
  box-shadow:0 16px 30px -24px #080E1C;
  transition:transform .5s var(--ease)
}
.guide-ticket:hover {
  transform:translateY(-4px)
}
.ticket-days {
  display:flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-display);
  font-size:3.2rem;
  line-height:1
}
.ticket-days>span {
  font: .7rem var(--font-body);
  writing-mode:vertical-rl;
  transform:rotate(180deg)
}
.guide-ticket>span:nth-child(2) {
  font-size:.76rem;
  line-height:1.65;
  flex:1
}
.guide-ticket strong {
  font-weight:600
}
.gift-ticket .ticket-days {
  min-width:50px;
  justify-content:center;
  color:var(--teal-ink)
}
.gift-ticket .ticket-days>span {
  writing-mode:horizontal-tb;
  transform:none;
  display:block;
  font-size:.75rem;
  letter-spacing:.08em;
  text-transform:uppercase
}
.gift-ticket {
  background:var(--paper);
  color:var(--night);
  border-color:#D6DDD5;
  box-shadow:0 20px 34px -16px rgba(8,14,28,.58)
}
.gift-ticket:hover {
  transform:translateY(-4px) scale(1.01)
}
.gift-ticket .gift-ticket-title {
  display:inline-block;
  margin-bottom:2px;
  color:var(--night);
  font-size:.82rem;
  letter-spacing:.07em
}
.gift-ticket b {
  color:var(--teal-ink);
  font-weight:600
}
.gift-ticket>.arrow {
  color:var(--teal-ink)
}
.gift-ticket--inline {
  position:static;
  left:auto;
  right:auto;
  bottom:auto;
  width:100%;
  margin:2px 0 23px;
  padding:16px 18px
}
.guide-ticket>.arrow {
  width:20px;
  color:var(--teal-ink)
}
.hero-media figcaption {
  font-size:.75rem;
  color:#BFCBC3;
  text-align:right;
  padding-top:13px
}

.service-strip {
  border-bottom:1px solid var(--line)
}
.service-items {
  display:flex;
  align-items:center;
  justify-content:space-around;
  padding-block:20px;
  gap:20px;
  color:var(--muted);
  font-size:.79rem
}
.service-items>span,.service-items>a {
  display:flex;
  align-items:center;
  gap:10px
}
.service-items .icon {
  color:var(--teal-ink);
  width:20px;
  height:20px
}
.service-items>a:hover {
  text-decoration:underline
}
.proof-strip {
  background:#EAF2ED;
  border-bottom:1px solid #D2DDD4;
}
.proof-items {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  padding-block:24px;
}
.proof-items p {
  display:block;
  padding:5px clamp(24px,5vw,72px);
  color:var(--muted);
  font-size:.9rem;
  text-align:left;
}
.proof-items p + p {
  border-left:1px solid #B9C9BD;
}
.proof-items strong {
  display:block;
  margin-bottom:3px;
  color:var(--night);
  font-family:var(--font-display);
  font-size:1.38rem;
  font-weight:560;
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:36px;
  margin-bottom:38px
}
.section-heading h2 {
  max-width:18ch
}
.section-heading h2 em {
  color:var(--teal-ink)
}
.section-heading>p {
  max-width:33ch;
  font-size:.94rem;
  color:var(--muted);
  padding-bottom:7px
}
.products-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px
}
.product-photo {
  position:relative;
  aspect-ratio:1.22;
  overflow:hidden;
  border-radius:5px;
  background:var(--mint)
}
.product-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 48%;
  transition:transform .85s var(--ease)
}
.product-photo>span {
  position:absolute;
  bottom:13px;
  left:13px;
  background:var(--paper);
  padding:4px 11px;
  border-radius:3px;
  font-size:.75rem
}
.product:hover .product-photo img {
  transform:scale(1.035)
}
.fajon-thermal-core { isolation:isolate; background:#30262e; }
.fajon-thermal-core::before { content:""; position:absolute; z-index:1; inset:12% 7%; border-radius:50%; background:radial-gradient(ellipse at 52% 52%,rgba(230,112,128,.28) 0%,rgba(134,49,87,.16) 34%,rgba(42,34,42,0) 70%); filter:blur(10px); pointer-events:none; }
.fajon-thermal-core img { position:relative; z-index:2; }
.thermal-aura { position:absolute; z-index:3; inset:0; overflow:hidden; pointer-events:none; }
.thermal-aura::before { content:""; position:absolute; inset:21% 20% 19% 18%; border:1px solid rgba(244,181,176,.44); border-radius:47% 53% 48% 52%; box-shadow:0 0 30px rgba(193,70,105,.22),inset 0 0 24px rgba(239,145,143,.14); opacity:.78; }
.thermal-aura i { position:absolute; display:block; left:50%; top:53%; width:30%; aspect-ratio:1.62; border:1px solid rgba(244,184,178,.42); border-radius:50%; transform:translate(-50%,-50%); opacity:.52; animation:thermal-pulse 6s cubic-bezier(.16,1,.3,1) infinite; }
.thermal-aura i:nth-child(2) { width:46%; animation-delay:1.7s; opacity:.34; }
.thermal-aura i:nth-child(3) { width:63%; animation-delay:3.4s; opacity:.22; }
.fajon-thermal-core>span { z-index:4; }
@keyframes thermal-pulse { 0%,100% { transform:translate(-50%,-50%) scale(.9); opacity:.12; } 48% { transform:translate(-50%,-50%) scale(1.07); opacity:.58; } }
.product-copy {
  padding:21px 0 0
}
.product-name {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px
}
.product-name h3 {
  font-size:1.14rem
}
.product-name>span {
  font-size:.75rem;
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.navy h3 {
  color:var(--navy)
}
.wine h3 {
  color:var(--wine)
}
.product-promise {
  font-weight:600;
  font-size:.85rem;
  margin:10px 0 5px
}
.product-copy>p:not(.product-promise) {
  font-size:.83rem;
  color:var(--muted)
}
.product-detail {
  margin-top:15px;
  padding-top:13px;
  border-top:1px solid var(--line);
}
.product-detail h4 {
  margin:0 0 5px;
  color:var(--teal-ink);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.3;
  text-transform:uppercase;
}
.product-detail p {
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.65;
}
.product-detail-use h4 { color:var(--wine); }
.ingredients {
  font-size:.77rem;
  margin-top:14px
}
.ingredients summary {
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  min-height:36px;
  color:var(--teal-ink);
  width:fit-content
}
.ingredients p {
  padding:8px 0;
  line-height:1.7;
  color:var(--muted)
}
summary {
  list-style:none
}
summary::-webkit-details-marker {
  display:none
}
summary .icon {
  width:16px;
  height:16px;
  transition:transform .3s var(--ease)
}
details[open]>summary .icon {
  transform:rotate(45deg)
}
.product-note {
  margin-top:20px
}
.products-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-size:.88rem
}
.products-bottom strong {
  font-weight:600
}
.products-bottom .text-link {
  color:var(--teal-ink)
}

.plan-section {
  background:var(--mint)
}
.plan-grid {
  display:grid;
  grid-template-columns:.94fr 1fr;
  gap:10%;
  align-items:center
}
.plan-visual {
  display:flex;
  justify-content:center;
  position:relative;
  padding:12px 30px 10px 0;
  perspective:1000px
}
.plan-paper {
  position:relative;
  background:var(--paper);
  border:1px solid #CAD4CA;
  border-radius:3px;
  box-shadow:9px 13px 0 -6px #D5DED3,0 30px 42px -35px #334F42;
  padding:35px 34px 24px;
  width:348px;
  transform:rotate(-3deg);
  transform-origin:50% 80%;
  transition:transform 1.2s var(--ease)
}
.plan-paper::before {
  content:"";
  position:absolute;
  inset:0 auto 0 9px;
  width:1px;
  background:#D8DCD3
}
.plan-logo {
  width:111px;
  margin-bottom:28px
}
.plan-display {
  display:flex;
  gap:22px;
  align-items:center;
  font-family:var(--font-display);
  font-size:7rem;
  line-height:1;
  color:var(--teal-ink);
  letter-spacing:-.04em
}
.plan-display>span {
  font-size:2rem;
  color:var(--ink);
  line-height:1.1;
  letter-spacing:-.02em
}
.plan-paper>p {
  font-size:.76rem;
  color:var(--muted);
  margin:18px 0 24px
}
.day-grid {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
  border-top:1px solid #D1D9D0;
  padding-top:23px
}
.day-grid>span {
  display:grid;
  place-items:center;
  aspect-ratio:1;
  font-size:.75rem;
  border:1px solid #A9BEB0;
  border-radius:50%;
  color:var(--teal-ink)
}
.day-grid>span:nth-child(7n) {
  background:var(--teal-ink);
  color:var(--paper);
  border-color:var(--teal-ink)
}
.paper-bottom {
  margin-top:27px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.75rem;
  color:var(--muted)
}
.paper-bottom .icon {
  width:18px;
  height:18px;
  color:var(--teal-ink)
}
.plan-side-note {
  font-size:.75rem;
  writing-mode:vertical-rl;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  letter-spacing:.1em;
  color:var(--teal-ink)
}
.plan-copy h2 em {
  color:var(--teal-ink)
}
.plan-intro {
  margin:22px 0;
  font-size:.95rem;
  color:var(--muted);
  max-width:42ch
}
.plan-intro strong {
  font-weight:600;
  color:var(--ink)
}
.plan-topics {
  display:grid;
  gap:16px
}
.plan-topics>li {
  display:flex;
  align-items:flex-start;
  gap:14px
}
.plan-topics .icon {
  color:var(--teal-ink);
  margin-top:3px
}
.plan-topics h3 {
  font:600 .87rem/1.5 var(--font-body)
}
.plan-topics p {
  font-size:.78rem;
  color:var(--muted);
  margin-top:2px
}
.plan-note {
  font-family:var(--font-display);
  font-size:1.13rem;
  font-style:italic;
  line-height:1.5;
  max-width:38ch;
  margin:24px 0 15px
}
.plan-copy>.text-link {
  color:var(--teal-ink)
}
.gift-note {
  border-top:1px solid #C6D3C9;
  padding-top:22px;
  margin-top:50px;
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:center
}
.gift-note>.icon {
  color:var(--teal-ink);
  width:27px;
  height:27px
}
.gift-note p {
  font-size:.75rem;
  color:var(--muted);
  line-height:1.8
}
.gift-note strong {
  font-size:.86rem;
  font-weight:600;
  color:var(--ink)
}
.gift-note a {
  text-decoration:underline
}

.experience-layout {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:9%;
  align-items:center
}
.experience-layout h2 {
  font-size:clamp(1.9rem,2.8vw,2.6rem)
}
.experience-layout h2 em {
  color:var(--teal-ink)
}
.experience-intro {
  font-size:.86rem;
  color:var(--muted);
  max-width:40ch;
  margin-top:22px
}
.experience-intro strong {
  color:var(--ink);
  font-weight:600
}
.experience-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px
}
.experience-columns>div {
  border-top:1px solid #ACBCB0;
  padding-top:20px
}
.experience-columns span {
  color:var(--muted);
  font-size:.75rem
}
.experience-columns h3 {
  font-family:var(--font-display);
  font-size:1.6rem;
  margin-top:11px;
  line-height:1.3
}
.disclosure {
  font-size:.75rem;
  color:var(--muted);
  line-height:1.7;
  margin-top:26px
}

.identify-section {
  background:var(--mint)
}
.identify-list {
  display:grid;
  gap:30px;
  margin-top:8px
}
.identify-list>li {
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding-top:26px;
  border-top:1px solid #C6D3C9
}
.identify-list-short {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.identify-list-short>li {
  min-height:118px;
  flex-direction:column;
  gap:13px;
}
.identify-list-short h3 { max-width:22ch; }
.identify-clarity {
  display:grid;
  grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);
  align-items:flex-start;
  gap:clamp(36px,7vw,112px);
  margin-top:40px;
  padding:38px 0;
  border-block:1px solid #C6D3C9;
}
.identify-clarity > * { min-width:0; }
.identify-clarity-label,.identify-combo-label {
  margin-bottom:8px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.identify-clarity-label { color:var(--teal-ink); }
.identify-clarity h3 {
  max-width:14ch;
  font-family:var(--font-display);
  font-size:clamp(1.7rem,2.35vw,2.15rem);
  font-weight:460;
  line-height:1.14;
  color:var(--teal-ink);
  letter-spacing:-.02em;
}
.identify-clarity h3::after { content:""; display:block; width:42px; height:1px; margin-top:20px; background:var(--wine); }
.identify-clarity div:last-child { max-width:56ch; }
.identify-clarity div:last-child p {
  color:var(--muted);
  font-size:.91rem;
  line-height:1.7;
}
.identify-clarity div:last-child > p:first-child { color:var(--ink); font-size:.97rem; }
.identify-clarity div:last-child p + p { margin-top:12px; }
.identify-clarity div:last-child ul { display:grid; gap:0; margin:20px 0 22px; }
.identify-clarity div:last-child li { position:relative; padding:9px 0 9px 19px; border-top:1px solid rgba(29,102,102,.15); color:var(--muted); font-size:.89rem; line-height:1.55; }
.identify-clarity div:last-child li:last-child { border-bottom:1px solid rgba(29,102,102,.15); }
.identify-clarity div:last-child li::before { content:""; position:absolute; top:1.05em; left:0; width:5px; height:5px; border:1px solid var(--teal-ink); border-radius:50%; background:var(--paper); }
.identify-clarity div:last-child > p:last-child { color:var(--ink); }
.identify-clarity div:last-child strong { color:var(--teal-ink); font-weight:700; }
.identify-combo {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  margin-top:28px;
  padding:28px 30px;
  background:var(--night);
  color:var(--paper);
}
.identify-combo > div { max-width:58ch; }
.identify-combo h3 {
  font-family:var(--font-display);
  font-size:clamp(1.7rem,2.6vw,2.35rem);
  font-weight:460;
  line-height:1.25;
}
.identify-combo h3 em { color:#8ED0C4; }
.identify-combo-subtitle {
  margin-top:8px;
  color:#AFC7BF;
  font-family:var(--font-display);
  font-size:1rem;
  font-style:italic;
}
.identify-combo-subtitle + p {
  max-width:62ch;
  margin-top:12px;
  color:#D6DED8;
  font-size:.86rem;
  line-height:1.65;
}
.identify-note {
  max-width:68ch;
  margin-top:18px;
  color:var(--muted);
  font-size:.75rem;
  line-height:1.6;
}
.identify-subtitle {
  margin-top:12px;
  color:var(--teal-ink);
  font-family:var(--font-display);
  font-size:clamp(1.05rem,1.45vw,1.28rem);
  font-style:italic;
  line-height:1.35;
}
.identify-list>li:first-child {
  border-top:0;
  padding-top:0
}
.identify-list .icon {
  color:var(--teal-ink);
  margin-top:4px;
  flex-shrink:0
}
.identify-list h3 {
  font-size:1.02rem;
  font-weight:600;
  line-height:1.45;
  max-width:40ch
}
.identify-list p {
  font-size:.85rem;
  color:var(--muted);
  margin-top:8px;
  line-height:1.75;
  max-width:58ch
}

.science-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-top:8px
}
.science-item {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  padding:26px 22px;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)
}
.science-item:hover {
  transform:translateY(-3px);
  border-color:var(--teal);
  box-shadow:0 16px 30px -24px #334F42
}
.science-icon {
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--mint);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px
}
.science-icon .icon {
  width:20px;
  height:20px;
  color:var(--teal-ink)
}
.science-item h3 {
  font-family:var(--font-display);
  font-size:1.15rem
}
.science-item p {
  font-size:.82rem;
  color:var(--muted);
  margin-top:8px;
  line-height:1.6
}
.science-closing {
  font-family:var(--font-display);
  font-size:1.15rem;
  font-style:italic;
  line-height:1.6;
  max-width:64ch;
  margin-top:36px
}
.science-section .disclosure {
  max-width:70ch
}

.plan-strip {
  padding-block:36px
}
.plan-strip-inner {
  display:flex;
  align-items:center;
  gap:32px;
  background:var(--mint);
  border-radius:8px;
  padding:38px 44px
}
.plan-strip-number {
  display:flex;
  align-items:baseline;
  gap:9px;
  flex-shrink:0;
  font-family:var(--font-display);
  font-size:5rem;
  line-height:1;
  color:var(--teal-ink);
  letter-spacing:-.03em
}
.plan-strip-number span {
  font-family:var(--font-body);
  font-size:.85rem;
  color:var(--muted)
}
.plan-strip-copy {
  flex:1;
  min-width:0
}
.plan-strip-copy h2 {
  font-size:clamp(1.5rem,2vw,1.9rem)
}
.plan-strip-copy h2 em {
  color:var(--teal-ink)
}
.plan-strip-copy p {
  font-size:.86rem;
  color:var(--muted);
  margin-top:8px;
  max-width:56ch;
  line-height:1.6
}
.plan-strip-inner>.button {
  flex-shrink:0;
  font-size:.83rem
}
.guide-preview {
  display:grid;
  grid-template-columns:1.08fr 1fr 1fr;
  align-items:end;
  gap:clamp(14px,2.8vw,36px);
  margin-top:30px;
  padding-bottom:18px;
}
.guide-preview figure { margin:0; }
.guide-preview img {
  display:block;
  width:100%;
  height:auto;
  border:1px solid #D6DED5;
  box-shadow:0 18px 32px -25px rgba(20,42,34,.58);
}
.guide-preview figure:first-child img {
  border-color:#41665B;
  box-shadow:0 22px 38px -24px rgba(14,45,39,.75);
}
.guide-preview figcaption {
  margin-top:9px;
  color:var(--muted);
  font-size:.78rem;
  text-align:center;
}
.guide-preview:has(figure:only-child) {
  grid-template-columns:minmax(0,260px);
  justify-content:center;
}
.why-serenity-section .offer-story { max-width:62ch; }

.offer-items-label {
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.02em;
  color:#8ED0C4;
  margin:20px 0 12px
}

.offer-section {
  background:var(--night);
  color:var(--paper)
}
.offer-grid {
  display:grid;
  grid-template-columns:1fr .93fr;
  gap:10%;
  align-items:center
}
.offer-story h2 {
  font-size:clamp(2.4rem,3.8vw,3.4rem)
}
.offer-story h2 em {
  color:#8ED0C4
}
.offer-story>p+p {
  margin-top:10px
}
.offer-story>p {
  font-size:.94rem;
  color:#CCD8CF;
  max-width:38ch;
  margin:24px 0 30px
}
.offer-photo {
  height:280px;
  overflow:hidden;
  border-radius:5px
}
.offer-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 69%
}
.offer-summary {
  border:1px solid #617166;
  border-radius:6px;
  padding:32px
}
.offer-summary>h3 {
  font-family:var(--font-display);
  font-size:1.9rem;
  margin-bottom:22px
}
.offer-items {
  display:grid;
  gap:14px;
  font-size:.8rem
}
.offer-items>li {
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center
}
.offer-items>li>span:first-child {
  display:flex;
  align-items:center;
  gap:9px
}
.offer-items .icon {
  color:#8ED0C4;
  width:16px;
  height:16px
}
.offer-items>li>span:last-child {
  color:#CAD6CD;
  font-variant-numeric:tabular-nums
}
.offer-total {
  padding:22px 0
}
.offer-total>span:first-child {
  font-size:.75rem;
  color:#CAD6CD
}
.offer-total s {
  margin-left:7px
}
.offer-total>p {
  font-size:3rem;
  letter-spacing:-.035em;
  line-height:1.3;
  font-weight:400;
  font-variant-numeric:tabular-nums
}
.offer-total small {
  font-size:.78rem;
  letter-spacing:0
}
.saving {
  font-size:.75rem;
  color:#8ED0C4
}
.button-full {
  width:100%;
  gap:14px;
  font-size:.84rem
}
.offer-whatsapp {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:.75rem;
  padding:16px 0 8px;
  text-align:center
}
.offer-whatsapp:hover {
  text-decoration:underline
}
.offer-whatsapp .icon {
  width:18px;
  height:18px
}
.payment-note {
  font-size:.75rem;
  color:#BFCFC2;
  text-align:center;
  margin-top:10px;
  line-height:1.8
}

.payment-section {
  background:#EAF1EB
}
.payment-heading {
  align-items:end
}
.payment-heading>p {
  max-width:35ch
}
.payment-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:34px
}
.payment-option {
  min-width:0;
  padding:31px;
  border:1px solid #CBD8CE;
  border-radius:7px
}
.payment-online {
  background:var(--night);
  border-color:var(--night);
  color:var(--paper)
}
.payment-cod {
  background:var(--paper);
  color:var(--night)
}
.payment-option-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px
}
.payment-option-heading>.icon {
  width:27px;
  height:27px;
  color:#8ED0C4
}
.payment-cod .payment-option-heading>.icon {
  color:var(--teal-ink)
}
.payment-kicker {
  margin-bottom:7px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#8ED0C4
}
.payment-cod .payment-kicker {
  color:var(--teal-ink)
}
.payment-option h3 {
  font-family:var(--font-display);
  font-size:clamp(1.55rem,2.2vw,2.05rem);
  font-weight:460;
  line-height:1.15
}
.payment-price {
  display:grid;
  gap:5px;
  margin:26px 0 18px;
  padding:20px 0;
  border-block:1px solid #536158
}
.payment-price>span {
  color:#C7D4CA;
  font-size:.76rem
}
.payment-price strong {
  font-size:2.5rem;
  font-weight:460;
  letter-spacing:-.04em;
  line-height:1.1;
  font-variant-numeric:tabular-nums
}
.payment-price small {
  font-size:.78rem;
  letter-spacing:0
}
.payment-price b {
  color:#8ED0C4;
  font-size:.8rem;
  font-weight:650
}
.payment-copy {
  max-width:48ch;
  color:#D2DED5;
  font-size:.87rem;
  line-height:1.65
}
.payment-methods {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 14px;
  margin:22px 0 25px
}
.payment-methods li {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:#E1EAE3;
  font-size:.8rem;
  line-height:1.35
}
.payment-methods .icon {
  width:17px;
  height:17px;
  flex:0 0 auto;
  color:#8ED0C4
}
.payment-fineprint,.form-status {
  margin-top:11px;
  color:#BFCFC2;
  font-size:.78rem;
  line-height:1.55;
  text-align:center
}
.payment-breakdown {
  display:grid;
  gap:10px;
  margin:25px 0 21px;
  padding:18px 0;
  border-block:1px solid #D7E0D9;
  color:var(--muted);
  font-size:.81rem
}
.payment-breakdown>span,.payment-breakdown>strong {
  display:flex;
  justify-content:space-between;
  gap:14px
}
.payment-breakdown b {
  color:var(--night);
  font-variant-numeric:tabular-nums
}
.payment-breakdown>strong {
  padding-top:9px;
  border-top:1px solid #D7E0D9;
  color:var(--night);
  font-size:.9rem
}
.cod-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
.form-field {
  display:grid;
  gap:6px
}
.form-field-wide,.form-consent,.cod-form>.button,.cod-form>.form-status {
  grid-column:1/-1
}
.form-field label,.form-consent {
  font-size:.8rem;
  font-weight:600
}
.form-field label span {
  color:var(--muted);
  font-weight:400
}
.form-field input {
  width:100%;
  min-height:43px;
  padding:10px 11px;
  border:1px solid #B9C9BD;
  border-radius:3px;
  background:#FFFEFC;
  color:var(--night);
  font:inherit;
  font-size:.84rem;
  outline:none;
  transition:border-color .2s,box-shadow .2s
}
.form-field input::placeholder {
  color:#839289
}
.form-field input:focus {
  border-color:var(--teal-ink);
  box-shadow:0 0 0 3px rgb(18 108 108 / .13)
}
.form-consent {
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-height:44px;
  padding:5px 0;
  margin-top:1px;
  color:var(--muted);
  font-size:.8rem;
  font-weight:400;
  line-height:1.45
}
.form-consent input {
  width:18px;
  height:18px;
  margin-top:1px;
  accent-color:var(--teal-ink)
}
.form-consent a {
  color:var(--teal-ink);
  text-decoration:underline;
  text-underline-offset:2px;
}
.payment-cod .form-status {
  margin-top:-3px;
  color:var(--muted)
}
.cod-trust {
  display:grid;
  gap:8px;
  margin:-4px 0 20px;
  color:var(--muted);
  font-size:.82rem;
}
.cod-trust li {
  display:flex;
  align-items:center;
  gap:8px;
}
.cod-trust li::before {
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  flex:0 0 auto;
  background:var(--teal-ink);
}

.faq-grid {
  display:grid;
  grid-template-columns:.8fr 1.1fr;
  gap:10%
}
.faq-heading h2 {
  font-size:clamp(2.1rem,3vw,2.8rem)
}
.faq-heading h2 em {
  color:var(--teal-ink)
}
.faq-heading>p {
  font-size:.91rem;
  color:var(--muted);
  max-width:30ch;
  margin:20px 0
}
.faq-heading>.text-link {
  color:var(--teal-ink)
}
.faq-item {
  border-bottom:1px solid var(--line)
}
.faq-item:first-child {
  border-top:1px solid var(--line)
}
.faq-item>summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  cursor:pointer;
  padding:20px 0;
  font-size:.86rem;
  font-weight:500;
  line-height:1.6
}
.faq-item>summary:hover {
  color:var(--teal-ink)
}
.faq-item>p {
  font-size:.81rem;
  color:var(--muted);
  line-height:1.8;
  padding:0 22px 22px 0;
  max-width:65ch
}

.closing {
  background:var(--mint);
  padding-block:48px
}
.closing-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}
.closing h2 {
  font-size:2.05rem;
  max-width:24ch
}
.closing h2 em {
  color:var(--teal-ink)
}
.closing .button {
  font-size:.83rem;
  gap:12px;
  flex-shrink:0
}
.site-footer {
  background:var(--night);
  color:var(--paper);
  padding:48px 0 24px
}
.footer-main {
  display:grid;
  grid-template-columns:1.2fr .75fr 1fr;
  gap:50px
}
.footer-brand img {
  width:174px
}
.footer-main p {
  font-size:.75rem;
  color:#BBC8BF;
  margin-top:16px
}
.footer-links,.footer-contact {
  display:flex;
  flex-direction:column;
  gap:12px;
  font-size:.75rem;
  padding-top:10px
}
.footer-contact {
  color:#CDDACF
}
.footer-contact a {
  overflow-wrap:anywhere
}
.footer-legal {
  border-top:1px solid #4B5D50;
  margin-top:35px;
  padding-top:22px;
  font-size:.75rem;
  color:#BBC8BF
}
.footer-legal>div {
  display:flex;
  gap:24px;
  flex-wrap:wrap
}
.footer-legal p {
  margin:14px 0 12px;
  max-width:90ch
}
.mobile-cta {
  display:none
}

@media(prefers-reduced-motion:no-preference) {
  .hero-copy {
  animation:copy-arrive .9s var(--ease) both
}
.hero-image img {
  animation:photo-arrive 1.4s var(--ease) both
}
.guide-ticket {
  animation:ticket-arrive 1.2s var(--ease) both
}
.gift-ticket .ticket-days {
  animation:gift-count-pulse 3.8s var(--ease) 1.3s infinite
}
.gift-ticket {
  animation:ticket-arrive 1.2s var(--ease) both,gift-glow 2.8s var(--ease) 1.2s infinite
}
.plan-visual.is-in-view .plan-paper {
  transform:rotate(0deg)
}
.plan-visual.is-in-view .day-grid>span {
  animation:day-mark .65s var(--ease) both;
  animation-delay:calc(var(--day)*35ms)
}
@keyframes copy-arrive {
  from {
  transform:translateY(16px);
  opacity:.7
}
to {
  transform:none;
  opacity:1
}

}
@keyframes photo-arrive {
  from {
  transform:scale(1.045);
  filter:saturate(.8)
}
to {
  transform:scale(1);
  filter:saturate(1)
}

}
@keyframes ticket-arrive {
  from {
  transform:translateY(18px)
}
to {
  transform:translateY(0)
}

}
@keyframes gift-count-pulse {
  0%,100% {
  transform:translateY(0) scale(1)
}
50% {
  transform:translateY(-2px) scale(1.08)
}

}
@keyframes gift-glow {
  0%,100% {
  box-shadow:0 20px 34px -16px rgba(46,6,26,.82)
}
50% {
  box-shadow:0 23px 40px -14px rgba(46,6,26,.96),0 0 0 4px rgba(215,92,145,.18)
}

}
@keyframes day-mark {
  0% {
  background:var(--paper);
  transform:scale(.9)
}
65% {
  background:#BDDCD0;
  transform:scale(1.04)
}
100% {
  transform:scale(1)
}

}

}

@media(min-width:1500px) {
  :root {
  --shell:1320px
}
.hero h1 {
  font-size:3.65rem
}
.hero {
  padding-top:54px;
  padding-bottom:46px
}

}

@media(max-width:1000px) {
  :root {
  --gutter:28px;
  --section-space:68px
}
.nav {
  height:88px
}
.nav-links {
  gap:20px
}
.hero-grid {
  gap:6%
}
.hero h1 {
  font-size:2.55rem
}
.hero-image {
  aspect-ratio:.73
}
.guide-ticket {
  left:-12px;
  right:12px;
  padding:14px;
  gap:12px
}
.ticket-days {
  font-size:2.5rem
}
.guide-ticket>span:nth-child(2) {
  font-size:.75rem
}
.products-grid {
  gap:20px
}
.product-name {
  align-items:flex-start;
  flex-direction:column;
  gap:4px
}
.plan-grid {
  gap:6%
}
.plan-paper {
  padding:28px 26px 22px
}
.plan-display {
  font-size:6rem;
  gap:14px
}
.plan-display>span {
  font-size:1.7rem
}
.day-grid {
  gap:6px
}
.offer-grid {
  gap:6%
}
.offer-summary {
  padding:24px
}
.button-full {
  font-size:.76rem
}
.experience-columns h3 {
  font-size:1.35rem
}
.science-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px 20px
}
.faq-grid {
  gap:6%
}
.footer-main {
  gap:25px
}

}

@media(max-width:700px) {
  :root {
  --gutter:22px;
  --section-space:52px
}
html {
  scroll-padding-top:20px
}
.nav {
  height:78px;
  gap:16px
}
.brand img {
  width:139px
}
.nav-links {
  display:none
}
.nav-contact {
  font-size:.75rem;
  padding:8px 12px
}
.nav-contact .icon {
  width:18px;
  height:18px
}
.hero {
  padding-top:29px;
  padding-bottom:12px
}
.hero-grid {
  display:flex;
  flex-direction:column;
  gap:26px
}
.hero-copy {
  padding:0;
  width:100%
}
.hero-context { margin-bottom:10px; font-size:.68rem; }
.hero h1 {
  font-size:clamp(1.94rem,6.4vw,2.7rem);
  max-width:24ch;
  line-height:1.15
}
.hero h1 em {
  margin-top:.2em
}
.hero-description {
  font-size:.84rem;
  margin-top:18px;
  max-width:41ch
}
.hero-price {
  gap:11px;
  margin:18px 0 16px
}
.hero-price>strong {
  font-size:1.53rem
}
.hero-price>span:not(.sr-only) {
  font-size:.75rem
}
.hero-saving { margin:-7px 0 15px; font-size:.78rem; }
.hero-actions {
  gap:10px;
  align-items:stretch
}
.hero-actions>.button {
  min-height:50px;
  font-size:.89rem;
  padding:12px 22px;
  justify-content:space-between
}
.hero-actions>.text-link {
  align-self:center;
  font-size:.75rem;
  border:none;
  min-height:36px;
  padding:7px 0
}
.hero-actions>.text-link>.arrow {
  width:17px;
  height:17px
}
.hero-fineprint {
  font-size:.75rem;
  margin-top:10px;
  text-align:center
}
.hero-media {
  width:100%;
  padding-bottom:30px
}
.hero-image {
  aspect-ratio:1.2;
  border-radius:48px 5px 5px 5px
}
.hero-image img {
  object-position:50% 63%
}
.guide-ticket {
  bottom:35px;
  left:12px;
  right:12px;
  padding:11px 15px;
  gap:15px
}
.ticket-days {
  font-size:2.5rem
}
.guide-ticket>span:nth-child(2) {
  font-size:.75rem
}
.hero-media figcaption {
  font-size:.75rem;
  padding-top:11px
}
.service-items {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 8px;
  padding-block:16px;
  font-size:.75rem
}
.service-items>span,.service-items>a {
  gap:7px
}
.service-items>a {
  display:none
}
.service-items .icon {
  width:17px;
  height:17px
}
.section-heading {
  display:block;
  margin-bottom:25px
}
.section-heading h2 {
  font-size:2.05rem;
  max-width:22ch
}
.section-heading>p {
  max-width:42ch;
  margin-top:17px;
  font-size:.82rem;
  padding:0
}
.products-grid {
  display:flex;
  flex-direction:column;
  gap:24px
}
.product {
  display:grid;
  grid-template-columns:116px 1fr;
  gap:18px;
  align-items:start;
  padding-bottom:23px;
  border-bottom:1px solid var(--line)
}
.product:last-child {
  border:0;
  padding-bottom:0
}
.product-photo {
  aspect-ratio:.7;
  border-radius:4px
}
.product-photo img {
  object-position:50% 48%
}
.product-photo>span {
  left:7px;
  bottom:8px;
  font-size:.75rem;
  padding:3px 7px
}
.product-copy {
  padding:0
}
.product-name {
  gap:3px
}
.product-name h3 {
  font-size:1.05rem
}
.product-name>span {
  font-size:.75rem;
  color:var(--muted)
}
.product-promise {
  font-size:.78rem;
  margin-top:8px
}
.product-copy>p:not(.product-promise) {
  font-size:.75rem;
  line-height:1.65
}
.ingredients {
  font-size:.75rem;
  margin-top:6px
}
.ingredients summary {
  min-height:35px
}
.product-note {
  margin-top:10px
}
.products-bottom {
  display:block;
  margin-top:24px;
  padding-top:19px;
  font-size:.8rem
}
.products-bottom .text-link {
  font-size:.78rem;
  margin-top:9px
}
.plan-grid {
  display:flex;
  flex-direction:column;
  gap:33px
}
.plan-copy {
  order:0;
  width:100%
}
.plan-visual {
  order:1;
  padding:5px 22px 7px 8px;
  max-width:350px;
  width:100%
}
.plan-paper {
  width:100%;
  padding:25px 30px 20px
}
.plan-logo {
  width:96px;
  margin-bottom:20px
}
.plan-display {
  font-size:6rem
}
.plan-paper>p {
  margin:13px 0 18px
}
.day-grid {
  gap:6px;
  padding-top:19px
}
.paper-bottom {
  margin-top:21px
}
.plan-copy h2 {
  font-size:2.02rem
}
.plan-intro {
  font-size:.84rem;
  margin:18px 0 22px
}
.plan-topics {
  gap:15px
}
.plan-topics>li {
  gap:12px
}
.plan-topics h3 {
  font-size:.8rem
}
.plan-topics p {
  font-size:.75rem
}
.plan-note {
  font-size:1.04rem;
  margin:22px 0 12px;
  max-width:35ch
}
.plan-copy>.text-link {
  font-size:.79rem
}
.gift-note {
  margin-top:30px;
  padding-top:20px;
  align-items:flex-start;
  gap:13px
}
.gift-note p {
  font-size:.75rem
}
.gift-note strong {
  font-size:.76rem;
  line-height:1.7
}
.gift-note>.icon {
  width:22px;
  height:22px;
  margin-top:4px
}
.experience-layout {
  display:block
}
.experience-layout h2 {
  font-size:1.97rem
}
.experience-intro {
  font-size:.8rem;
  margin-top:15px;
  max-width:43ch
}
.experience-columns {
  margin-top:26px;
  gap:18px
}
.experience-columns>div {
  padding-top:15px
}
.experience-columns span {
  font-size:.75rem
}
.experience-columns h3 {
  font-size:1.29rem;
  margin-top:8px
}
.disclosure {
  font-size:.75rem;
  margin-top:21px
}
.identify-list {
  gap:22px
}
.identify-list-short { grid-template-columns:1fr; gap:0; }
.identify-list-short>li { min-height:0; }
.identify-clarity { display:block; margin-top:32px; padding-block:30px; }
.identify-clarity div:last-child { margin-top:18px; }
.identify-clarity h3 { max-width:15ch; font-size:1.7rem; }
.identify-clarity h3::after { margin-top:16px; }
.identify-clarity div:last-child p { font-size:.86rem; }
.identify-clarity div:last-child > p:first-child { font-size:.92rem; }
.identify-clarity div:last-child li { font-size:.85rem; }
.identify-combo { display:block; margin-top:22px; padding:24px 20px; }
.identify-combo h3 { font-size:1.7rem; }
.identify-combo-subtitle { font-size:.92rem; }
.identify-combo-subtitle + p { font-size:.82rem; }
.identify-combo .button { width:100%; justify-content:space-between; margin-top:20px; }
.identify-note { margin-top:15px; font-size:.74rem; }
.identify-list>li {
  gap:14px;
  padding-top:20px
}
.identify-list h3 {
  font-size:.92rem;
  max-width:none
}
.identify-list p {
  font-size:.79rem;
  margin-top:6px
}
.science-grid {
  grid-template-columns:1fr;
  gap:20px;
  margin-top:4px
}
.science-grid>div {
  padding-top:16px
}
.science-closing {
  font-size:1.02rem;
  margin-top:32px
}
.plan-strip-inner {
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  padding:28px 24px
}
.plan-strip-number {
  font-size:3.4rem
}
.plan-strip-inner>.button {
  width:100%
}
.offer-grid {
  display:flex;
  flex-direction:column;
  gap:28px;
  align-items:stretch
}
.offer-story h2 {
  font-size:2.4rem
}
.offer-story>p {
  font-size:.85rem;
  margin:17px 0 0;
  max-width:39ch
}
.offer-photo {
  display:none
}
.offer-summary {
  padding:23px 20px
}
.offer-summary>h3 {
  font-size:1.75rem;
  margin-bottom:19px
}
.offer-items {
  font-size:.75rem;
  gap:12px
}
.offer-items>li {
  gap:8px
}
.offer-items>li>span:first-child {
  gap:7px
}
.offer-items .icon {
  width:14px;
  height:14px
}
.gift-ticket--inline {
  margin:0 0 20px;
  gap:12px;
  padding:15px 14px
}
.gift-ticket--inline .ticket-days {
  min-width:42px;
  font-size:2.7rem
}
.gift-ticket--inline .gift-ticket-title {
  font-size:.78rem
}
.offer-total {
  padding-block:19px
}
.offer-total>p {
  font-size:2.8rem
}
.button-full {
  font-size:.8rem;
  padding-inline:12px
}
.offer-whatsapp {
  font-size:.75rem;
  min-height:44px
}
.payment-note {
  font-size:.75rem
}
.faq-grid {
  display:block
}
.faq-heading h2 {
  font-size:2.05rem
}
.faq-heading>p {
  font-size:.83rem;
  margin:17px 0 13px;
  max-width:40ch
}
.faq-heading>.text-link {
  font-size:.8rem
}
.faq-list {
  margin-top:27px
}
.faq-item>summary {
  font-size:.8rem;
  padding:18px 0;
  gap:18px
}
.faq-item>p {
  font-size:.76rem;
  padding-bottom:20px
}
.closing {
  padding:37px 0
}
.closing-inner {
  flex-direction:column;
  align-items:flex-start;
  gap:24px
}
.closing h2 {
  font-size:1.95rem;
  max-width:22ch
}
.closing .button {
  font-size:.79rem
}
.site-footer {
  padding:35px 0 calc(95px + env(safe-area-inset-bottom))
}
.footer-main {
  grid-template-columns:1fr 1fr;
  gap:28px 18px
}
.footer-brand img {
  width:143px
}
.footer-main p {
  font-size:.75rem;
  max-width:22ch
}
.footer-links {
  font-size:.75rem;
  gap:11px
}
.footer-contact {
  grid-column:1/-1;
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:8px 20px;
  font-size:.75rem
}
.footer-legal {
  margin-top:26px;
  font-size:.75rem
}
.footer-legal>div {
  gap:12px 18px
}
.mobile-cta {
  position:fixed;
  z-index:20;
  bottom:0;
  left:0;
  right:0;
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  border-top:1px solid #CCD6CC;
  background:var(--paper);
  box-shadow:0 -5px 20px -15px #173322
}
.sticky-whatsapp {
  display:grid;
  place-items:center;
  min-height:46px;
  min-width:46px;
  border:1px solid #BBCBC0;
  border-radius:4px;
  color:var(--teal-ink)
}
.mobile-cta>.button {
  flex:1;
  min-height:46px;
  justify-content:space-between;
  padding:10px 13px;
  gap:8px;
  font-size:.75rem
}
.mobile-cta>.button>span {
  font-size:.76rem;
  white-space:nowrap
}
.mobile-cta .arrow {
  width:17px;
  height:17px
}
body.has-sticky-ready .mobile-cta[hidden] {
  display:none
}

}

@media(max-width:360px) {
  :root {
  --gutter:18px
}
.hero h1 {
  font-size:1.83rem
}
.hero-price {
  gap:7px
}
.hero-price>strong {
  font-size:1.35rem
}
.hero-price>span:not(.sr-only) {
  font-size:.75rem
}
.product {
  grid-template-columns:96px 1fr;
  gap:14px
}
.offer-summary {
  padding:21px 15px
}
.offer-items {
  font-size:.75rem
}
.button-full {
  font-size:.75rem;
  gap:8px
}
.ticket-days {
  font-size:2.2rem
}
.guide-ticket {
  gap:11px;
  padding-inline:12px
}
.plan-display {
  font-size:5.4rem
}
.mobile-cta {
  gap:8px;
  padding-inline:12px
}
.mobile-cta>.button {
  font-size:.75rem
}
.mobile-cta>.button>span {
  font-size:.75rem
}

}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
*,*::before,*::after {
  animation:none!important;
  transition:none!important
}
.plan-paper {
  transform:none
}

}


/* Keep commerce copy comfortable to read on a phone. */
.product-copy>p:not(.product-promise),.plan-topics p,.faq-item>p {
  font-size:.875rem
}

.offer-items,.offer-whatsapp {
  font-size:.85rem
}

.footer-legal {
  font-size:.75rem
}

.footer-links a,.footer-legal a {
  display:inline-flex;
  align-items:center;
  min-height:32px
}

@media(max-width:700px) {
  
 .product-copy>p:not(.product-promise),.plan-topics p,.faq-item>p {
  font-size:.875rem
}

 .product-promise,.product-name>span,.ingredients {
  font-size:.8rem
}

 .offer-items {
  font-size:.8rem
}
.offer-whatsapp {
  font-size:.8rem
}

 .gift-note p {
  font-size:.78rem
}
.gift-note strong {
  font-size:.875rem
}

 .plan-topics h3,.faq-item>summary {
  font-size:.9rem
}

 .plan-visual {
  max-width:300px
}
.plan-paper {
  padding:24px 27px 19px
}

 .plan-display {
  font-size:5.2rem
}
.plan-display>span {
  font-size:1.65rem
}

 .plan-logo {
  margin-bottom:18px
}
.day-grid {
  gap:5px;
  padding-top:16px
}

 .plan-paper>p {
  margin:12px 0 16px
}
.paper-bottom {
  margin-top:18px
}

 .hero-fineprint {
  font-size:.75rem
}
.service-items {
  font-size:.75rem
}

 .footer-legal {
  font-size:.75rem
}
.footer-contact {
  font-size:.75rem
}

 .mobile-cta>.button {
  font-size:.8rem
}
.mobile-cta>.button>span {
  font-size:.8rem
}


}

@media(max-width:360px) {
  .product {
  grid-template-columns:90px 1fr;
  gap:13px
}
.offer-items {
  font-size:.75rem
}
.mobile-cta>.button,.mobile-cta>.button>span {
  font-size:.73rem
}

}

@media(max-width:700px) {
  .payment-heading { display:block; }
  .payment-heading>p { margin-top:17px; }
  .payment-grid { grid-template-columns:1fr; gap:14px; margin-top:27px; }
  .payment-option { padding:24px 20px; }
  .payment-price { margin-block:21px 16px; padding-block:17px; }
  .payment-price strong { font-size:2.15rem; }
  .payment-copy { font-size:.82rem; }
  .payment-methods { grid-template-columns:1fr; gap:9px; margin-block:19px 22px; }
  .payment-methods li { font-size:.8rem; }
  .cod-form { grid-template-columns:1fr; gap:12px; }
  .form-field,.form-field-wide,.form-consent,.cod-form>.button,.cod-form>.form-status { grid-column:auto; }
  .form-field input { min-height:46px; }
}

@media(max-width:700px) {
  .proof-items {
    grid-template-columns:1fr;
    gap:10px;
    padding-block:20px;
  }
  .proof-items p {
    display:block;
    padding:10px 0;
    font-size:.82rem;
  }
  .proof-items p + p { border-left:0; border-top:1px solid #B9C9BD; }
  .proof-items strong {
    display:block;
    margin-bottom:2px;
    font-size:1.18rem;
  }
  .guide-preview {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:20px;
    padding-bottom:6px;
  }
  .guide-preview figure:first-child { grid-column:1/-1; width:min(72%,260px); justify-self:center; }
  .guide-preview figcaption { font-size:.75rem; }
}


/* Review: separate caption, honest graphic depth and contrasting focus. */
.hero-media { padding-bottom: 0; }
.hero-media figcaption { min-height: 44px; padding-top: 16px; }
.guide-ticket { bottom: 52px; }
.plan-paper { box-shadow: 0 24px 36px -30px #334F42; }
.plan-paper::before { content: none; }
.experience-columns h3 { margin-top: 0; }
a:focus-visible, summary:focus-visible, button:focus-visible { outline-color: var(--teal-ink); }
.hero a:focus-visible, .site-header a:focus-visible, .offer-section a:focus-visible, .site-footer a:focus-visible { outline-color: #8ED0C4; }

/* Editorial extensions for the 21-day system narrative. */
.transparency-section { background:var(--mint); }
.transparency-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px,8vw,120px); }
.transparency-grid h2 { max-width:14ch; }
.transparency-grid h2 em { color:var(--teal-ink); }
.transparency-grid p { max-width:60ch; margin-bottom:16px; color:var(--muted); }
.transparency-grid p:first-child { color:var(--ink); font-size:1.08rem; font-weight:600; }
.ingredient-actions { display:grid; gap:9px; margin-top:14px; }
.ingredient-actions li { padding-top:9px; border-top:1px solid var(--line); }
.ingredient-actions b,.ingredient-actions span { display:block; }
.ingredient-actions b { font-size:.78rem; color:var(--teal-ink); }
.ingredient-actions span { margin-top:2px; color:var(--muted); font-size:.8rem; line-height:1.5; }

/* Formula storytelling — product-led and editorial, not a card grid. */
.formulation-duo { margin-top:clamp(64px,10vw,144px); display:grid; gap:clamp(60px,10vw,136px); }
.formulation { position:relative; overflow:hidden; padding:clamp(28px,5vw,70px) clamp(20px,5vw,76px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.formulation-red { background:#FCF7F8; color:var(--wine); }
.formulation-green { background:#F1F6F3; color:var(--ink); }
.formulation-heading { display:grid; grid-template-columns:minmax(180px,.66fr) minmax(240px,1fr) minmax(190px,.72fr); align-items:end; gap:24px; padding-bottom:clamp(28px,4vw,52px); }
.formulation-heading p { margin:0; color:var(--teal-ink); font-size:.72rem; font-weight:700; letter-spacing:.09em; line-height:1.45; text-transform:uppercase; }
.formulation-heading h3 { margin:0; font-family:var(--font-display); font-size:clamp(2.4rem,5vw,5.6rem); font-weight:450; letter-spacing:-.045em; line-height:.88; }
.formulation-heading h3 em { color:var(--teal-ink); }
.formulation-heading>span { max-width:25ch; color:var(--muted); font-size:.95rem; line-height:1.55; }
.formulation-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.76fr) minmax(0,1fr); align-items:center; gap:clamp(18px,4vw,62px); }
.formulation-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.formulation-list li { position:relative; padding:clamp(14px,1.8vw,22px) 0; border-top:1px solid color-mix(in srgb,currentColor 16%,transparent); transition:opacity .26s ease,transform .26s ease,border-color .26s ease; }
.formulation-list li:last-child { border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent); }
.formulation-list li::after { content:""; position:absolute; top:50%; width:clamp(12px,3vw,48px); border-top:1px solid color-mix(in srgb,currentColor 28%,transparent); }
.formulation-list-left li::after { right:calc(clamp(12px,3vw,48px) * -1); }
.formulation-list-right li::after { left:calc(clamp(12px,3vw,48px) * -1); }
.formulation-list b,.formulation-list strong,.formulation-list span { display:block; }
.formulation-list b { color:var(--ink); font-size:1rem; font-weight:700; line-height:1.2; }
.formulation-list strong { margin-top:4px; color:var(--teal-ink); font-size:.72rem; font-weight:700; letter-spacing:.07em; line-height:1.35; }
.formulation-list span { max-width:31ch; margin-top:5px; color:var(--muted); font-size:.82rem; line-height:1.5; }
.formulation-list-right { text-align:right; }
.formulation-list-right span { margin-left:auto; }
.formulation-product { position:relative; z-index:1; display:grid; place-items:center; margin:0; }
.formulation-product::before { content:""; position:absolute; z-index:-1; width:88%; aspect-ratio:1; border:1px solid color-mix(in srgb,var(--teal) 34%,transparent); border-radius:50%; box-shadow:0 18px 40px color-mix(in srgb,var(--teal-ink) 10%,transparent); }
.formulation-product img { width:min(100%,320px); height:auto; filter:drop-shadow(0 22px 24px rgba(31,37,35,.17)); transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s ease; }
.formulation-product figcaption { max-width:20ch; margin-top:13px; color:var(--muted); font-size:.74rem; line-height:1.45; text-align:center; }
.formulation-closing { max-width:45ch; margin:clamp(28px,5vw,58px) auto 0; padding-top:18px; border-top:1px solid color-mix(in srgb,currentColor 18%,transparent); color:var(--ink); font-family:var(--font-display); font-size:clamp(1.25rem,2vw,1.9rem); font-weight:500; line-height:1.3; text-align:center; }
.formulation-closing strong { color:var(--teal-ink); font-weight:600; }
.formulation-note { max-width:65ch; margin:22px auto 0; color:var(--muted); font-size:.78rem; line-height:1.6; text-align:center; }
.formulation-note strong { color:var(--ink); }
.formulation-list li:focus-within,.formulation-list li:hover { z-index:1; transform:translateX(4px); border-color:color-mix(in srgb,var(--teal) 62%,transparent); }
.formulation-list-right li:focus-within,.formulation-list-right li:hover { transform:translateX(-4px); }
.formulation:has(.formulation-list li:hover) .formulation-list li:not(:hover) { opacity:.48; }
.formulation:has(.formulation-list li:hover) .formulation-product img { transform:scale(.985); filter:drop-shadow(0 16px 18px rgba(31,37,35,.12)); }

@media (max-width:700px) {
  .formulation-duo { margin-top:58px; gap:68px; }
  .formulation { padding:30px 18px 35px; }
  .formulation-heading { display:block; padding-bottom:27px; }
  .formulation-heading h3 { margin-top:13px; font-size:clamp(2.7rem,13vw,4rem); }
  .formulation-heading>span { display:block; margin-top:14px; font-size:.9rem; }
  .formulation-layout { display:flex; flex-direction:column; gap:0; }
  .formulation-product { order:-1; width:100%; margin-bottom:24px; }
  .formulation-product::before { width:70%; }
  .formulation-product img { width:min(64vw,270px); }
  .formulation-list { width:100%; }
  .formulation-list-right { text-align:left; }
  .formulation-list-right span { margin-left:0; }
  .formulation-list li { padding:16px 12px 16px 0; }
  .formulation-list li::after { display:none; }
  .formulation-list li:nth-child(even) { margin-left:28px; padding-left:14px; padding-right:0; }
  .formulation-list b { font-size:1rem; }
  .formulation-list span { font-size:.86rem; }
  .formulation-list li:focus-within,.formulation-list li:hover,.formulation-list-right li:focus-within,.formulation-list-right li:hover { transform:none; }
  .formulation-closing { margin-top:28px; font-size:1.3rem; text-align:left; }
  .formulation-note { font-size:.82rem; text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  .formulation-list li,.formulation-product img { transition:none; }
  .thermal-aura i { animation:none; }
}
.thermal-step-section { position:relative; overflow:hidden; color:var(--paper); background:#252d2d; }
.products-section-heading { padding-bottom:0; }
.thermal-step-section::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 54% 46% at 100% 38%,rgba(143,49,84,.25),transparent 72%),radial-gradient(ellipse 36% 40% at 5% 100%,rgba(37,163,159,.12),transparent 72%); }
.thermal-step-shell { position:relative; }
.thermal-step-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(265px,390px); align-items:center; gap:clamp(38px,7vw,104px); }
.thermal-step-intro>p { margin-bottom:13px; color:#71c5c1; font-size:.75rem; font-weight:700; letter-spacing:.14em; line-height:1.3; }
.thermal-step-intro h2 { max-width:16ch; color:#6bd1cb; }
.thermal-step-intro>strong { display:block; margin-top:15px; color:#f4b7b6; font-family:var(--font-display); font-size:clamp(1.42rem,2.35vw,2rem); font-weight:460; line-height:1.2; }
.thermal-step-intro>span { display:block; max-width:47ch; margin-top:13px; color:#d4ddda; font-size:.92rem; }
.thermal-step-photo { position:relative; overflow:hidden; aspect-ratio:.9; border:1px solid rgba(229,171,176,.34); border-radius:6px; background:radial-gradient(circle at 50% 80%,rgba(202,34,117,.28),transparent 60%),#31242e; box-shadow:0 18px 35px rgba(4,12,12,.24); }
.thermal-step-photo::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(145deg,rgba(89,31,54,.16),transparent 48%,rgba(37,163,159,.14)); mix-blend-mode:soft-light; }
.thermal-step-photo img { width:100%; height:100%; object-fit:contain; padding:6px; transform:scale(1.04) translateY(8%); }
.thermal-action { display:grid; grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr); gap:clamp(40px,8vw,128px); margin-top:52px; padding-top:29px; border-top:1px solid rgba(219,233,228,.22); }
.thermal-action-intro h3,.thermal-benefit-card h3 { color:#70d1cb; font-family:var(--font-display); font-size:clamp(1.55rem,2.3vw,2rem); font-weight:460; line-height:1.18; }
.thermal-action-intro p { max-width:28ch; margin-top:11px; color:#c8d3d0; font-size:.9rem; }
.thermal-sequence { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.thermal-sequence li { position:relative; display:grid; grid-template-columns:37px minmax(0,1fr); gap:17px; padding:0 0 25px; }
.thermal-sequence li:not(:last-child)::after { content:""; position:absolute; top:37px; bottom:0; left:18px; width:1px; background:linear-gradient(#d98291,rgba(217,130,145,.18)); }
.thermal-sequence li:last-child { padding-bottom:0; }
.thermal-sequence li>span { position:relative; z-index:1; display:grid; width:37px; height:37px; place-items:center; border:1px solid rgba(244,183,182,.72); border-radius:50%; color:#f6cbc6; background:#303335; font-size:.76rem; font-weight:700; }
.thermal-sequence p { margin:4px 0 0; color:#d4ddda; font-size:.92rem; line-height:1.62; }
.thermal-sequence p strong { color:var(--paper); }
.thermal-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:53px; }
.thermal-benefit-card { min-height:250px; padding:28px 30px; border:1px solid rgba(185,218,214,.28); border-radius:7px; background:rgba(255,255,255,.045); box-shadow:0 15px 30px rgba(4,12,12,.18); }
.thermal-benefit-card ul { display:grid; gap:14px; margin-top:23px; }
.thermal-benefit-card li { position:relative; padding-left:21px; color:#d4ddda; font-size:.88rem; line-height:1.53; }
.thermal-benefit-card li::before { content:""; position:absolute; top:.59em; left:0; width:7px; height:7px; border:1px solid #e6a1a7; border-radius:50%; box-shadow:0 0 9px rgba(230,161,167,.32); }
.day-section { background:#F0F3EF; }
.day-timeline { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #B9C9BD; }
.day-timeline li { min-height:142px; padding:22px clamp(14px,2.2vw,34px); border-right:1px solid #B9C9BD; }
.day-timeline li:last-child { border-right:0; }
.day-timeline time { display:block; margin-bottom:22px; color:var(--teal-ink); font-size:.78rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.day-timeline strong,.day-timeline span { display:block; }
.day-timeline strong { font-family:var(--font-display); font-size:1.4rem; font-weight:460; }
.day-timeline span { margin-top:5px; color:var(--muted); font-size:.84rem; line-height:1.55; }
.expectations-list { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,4vw,70px); }
.expectations-list>div { padding-top:20px; border-top:2px solid var(--teal-ink); }
.expectations-list span { color:var(--teal-ink); font-size:.78rem; font-weight:700; letter-spacing:.06em; }
.expectations-list h3 { margin-top:10px; font-family:var(--font-display); font-size:1.45rem; font-weight:460; }
.expectations-list p { margin-top:11px; color:var(--muted); font-size:.88rem; }
.why-list { display:grid; gap:13px; margin:24px 0 34px; }
.why-list li { position:relative; padding-left:28px; color:var(--muted); }
.why-list li::before { content:""; position:absolute; left:0; top:.55em; width:12px; height:6px; border-left:1.8px solid var(--teal-ink); border-bottom:1.8px solid var(--teal-ink); transform:rotate(-45deg); }

@media(max-width:700px) {
  .transparency-grid { grid-template-columns:1fr; gap:22px; }
  .transparency-grid h2 { max-width:18ch; }
  .transparency-grid p { font-size:.9rem; }
  .thermal-step-heading { grid-template-columns:1fr; gap:25px; }
  .thermal-step-intro>p { font-size:.7rem; }
  .thermal-step-intro>strong { font-size:1.45rem; }
  .thermal-step-intro>span { font-size:.84rem; }
  .thermal-step-photo { width:min(100%,380px); aspect-ratio:1.08; }
  .thermal-action { grid-template-columns:1fr; gap:26px; margin-top:38px; padding-top:24px; }
  .thermal-action-intro p { max-width:38ch; font-size:.84rem; }
  .thermal-sequence li { grid-template-columns:33px minmax(0,1fr); gap:13px; padding-bottom:21px; }
  .thermal-sequence li>span { width:33px; height:33px; font-size:.7rem; }
  .thermal-sequence li:not(:last-child)::after { top:33px; left:16px; }
  .thermal-sequence p { margin-top:2px; font-size:.84rem; }
  .thermal-benefits { grid-template-columns:1fr; gap:13px; margin-top:38px; }
  .thermal-benefit-card { min-height:0; padding:24px 21px; }
  .thermal-benefit-card ul { gap:12px; margin-top:18px; }
  .thermal-benefit-card li { font-size:.84rem; }
  .day-timeline,.expectations-list { grid-template-columns:1fr; }
  .day-timeline li { min-height:0; border-right:0; border-bottom:1px solid #B9C9BD; padding:20px 0; }
  .day-timeline li:last-child { border-bottom:0; }
  .day-timeline time { margin-bottom:7px; }
  .expectations-list { gap:22px; }
}

@media(max-width:700px) {
  .hero-media .gift-ticket {
    right:auto;
    bottom:52px;
    left:14px;
    width:min(174px,calc(100% - 28px));
    gap:7px;
    padding:8px 9px;
  }
  .hero-media .gift-ticket .ticket-days { min-width:26px; font-size:1.42rem; }
  .hero-media .gift-ticket .ticket-days>span { font-size:.5rem; letter-spacing:.04em; }
  .hero-media .gift-ticket>span:nth-child(2) { font-size:.58rem; line-height:1.34; }
  .hero-media .gift-ticket .gift-ticket-title { margin-bottom:1px; font-size:.58rem; letter-spacing:.045em; }
  .hero-media .gift-ticket>.arrow { width:13px; }
}

/* Hero refinement: a single, clear point of action beside the product composition. */
.hero-copy { position:relative; }
.hero-copy::after {
  content:"";
  display:block;
  width:72px;
  height:1px;
  margin-top:28px;
  background:#8ED0C4;
  opacity:.7;
}
.hero h1 {
  letter-spacing:-.028em;
  text-wrap:balance;
}
.hero h1 em { letter-spacing:-.035em; }
.hero-cta {
  position:relative;
  min-width:min(100%,330px);
  min-height:64px;
  padding:14px 16px 14px 22px;
  justify-content:space-between;
  border-color:rgba(218,246,239,.34);
  border-radius:7px;
  box-shadow:0 18px 30px -20px rgba(0,0,0,.96), inset 0 1px 0 rgba(255,255,255,.2);
  font-size:.86rem;
  font-weight:700;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.hero-cta .arrow {
  width:21px;
  height:21px;
  padding:8px;
  border:1px solid rgba(8,14,28,.45);
  border-radius:50%;
  transition:transform .35s var(--ease), background-color .35s var(--ease);
}
.hero-cta:hover { box-shadow:0 22px 36px -19px rgba(0,0,0,.98), inset 0 1px 0 rgba(255,255,255,.22); }
.hero-cta:hover .arrow { transform:translateX(3px); background:rgba(247,245,242,.25); }
.hero-image { border-radius:10px; box-shadow:0 26px 48px -34px rgba(0,0,0,.88); }
@media(max-width:700px) {
  .hero-copy::after { width:54px; margin-top:20px; }
  .hero-cta { width:100%; min-width:0; min-height:58px; font-size:.79rem; }
  .hero-image { border-radius:7px; box-shadow:0 20px 34px -27px rgba(0,0,0,.85); }
}

/* Preserve the complete combo photograph in the offer on every screen size. */
.combo-offer-section .offer-photo {
  height:auto;
  aspect-ratio:4 / 5;
  display:grid;
  place-items:center;
  background:#202B28;
  border:1px solid rgba(142,208,196,.26);
  box-shadow:0 24px 42px -32px rgba(0,0,0,.9);
}
.combo-offer-section .offer-photo img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
@media(max-width:700px) {
  .combo-offer-section .offer-photo {
    display:grid;
    width:min(100%,360px);
    margin-inline:auto;
    aspect-ratio:4 / 5;
  }
}
