:root{
  --bg:#f8f5ef;--surface:#fff;--ink:#231b17;--muted:#746a63;--red:#9d1c1c;--green:#126e46;
  --border:#e5ddd3;--error:#b42318;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;
  --shadow:0 14px 40px rgba(35,27,23,.08);--max:1180px
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
img{display:block;width:100%;height:auto}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid rgba(18,110,70,.35);outline-offset:2px}
.site-header{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:rgba(248,245,239,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,221,211,.8)}
.brand{display:grid;line-height:1}.brand-kicker,.eyebrow,.support-label{font-size:.72rem;letter-spacing:.12em;font-weight:800;color:var(--red)}.brand strong{font-family:Georgia,serif;font-size:.98rem;margin-top:4px}
.header-cta{padding:10px 16px;border-radius:999px;background:var(--green);color:#fff;font-weight:800}
.section{width:min(100% - 32px,var(--max));margin-inline:auto;padding:64px 0}.section-heading{max-width:760px;margin-bottom:28px}.section-heading h2,.hero h1,.final-cta h2,.trust-copy h2{font-family:Georgia,"Times New Roman",serif;line-height:1.02;letter-spacing:-.035em;margin:.4rem 0 1rem}.section-heading h2{font-size:clamp(2rem,7vw,4rem)}.section-heading p,.hero-copy>p,.trust-copy>p{color:var(--muted);font-size:1rem;max-width:60ch}
.hero{padding-top:28px;display:grid;gap:24px}.hero h1{font-size:clamp(2.5rem,10vw,5.3rem)}.hero-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:20px 0}.hero-price span{color:var(--muted)}.hero-price strong{font-size:1.75rem}.hero-price em{font-style:normal;color:var(--green);font-weight:900;background:#eaf4ee;padding:6px 10px;border-radius:999px}.btn{min-height:52px;border:0;border-radius:14px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;cursor:pointer}.btn-primary{background:var(--green);color:#fff}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--border)}.microtrust{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.86rem;margin-top:16px}.hero-media picture,.hero-media img{border-radius:var(--radius-lg);overflow:hidden}.hero-media img{aspect-ratio:4/5;object-fit:cover}
.product-grid{display:grid;gap:16px}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:grid}.product-card.recommended{border-color:rgba(157,28,28,.45);box-shadow:0 0 0 3px rgba(157,28,28,.05)}.product-card figure{margin:0;aspect-ratio:4/5;background:#eee6dc;overflow:hidden}.product-card figure img{height:100%;object-fit:cover}.product-card-body{padding:20px;display:grid;gap:14px}.product-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.product-card h3{font-family:Georgia,serif;font-size:1.75rem;margin:0}.badge{font-size:.7rem;font-weight:900;background:#f8e7e5;color:var(--red);padding:6px 9px;border-radius:999px;white-space:nowrap}.product-prop{color:var(--muted);margin:0}.benefits{display:grid;gap:7px;font-size:.92rem}.benefits span:before{content:"✓";color:var(--green);font-weight:900;margin-right:8px}.price-row{display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--border);padding-top:14px}.price-row small{color:var(--muted);display:block}.price-row strong{font-size:1.25rem}.pix-price{color:var(--green);font-weight:900;text-align:right}
.experience-track{display:grid;gap:16px}.experience-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}.experience-card picture{display:block;aspect-ratio:4/5;background:#eee6dc}.experience-card img{height:100%;object-fit:cover}.experience-card>div{padding:18px}.experience-card>div>span{font-size:.75rem;font-weight:900;color:var(--red)}.experience-card h3{margin:.3rem 0;font-size:1.25rem}.experience-card p{margin:0;color:var(--muted)}
.steps{display:grid;gap:12px}.steps>div{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f5e4e2;color:var(--red)}.steps h3{margin:14px 0 4px}.steps p{margin:0;color:var(--muted)}
.trust-section{display:grid;gap:20px}.trust-copy h2,.final-cta h2{font-size:clamp(2.2rem,8vw,4.5rem)}.trust-list{display:grid;gap:10px;margin-top:18px}.support-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow)}.support-card h3{font-size:1.5rem;margin:.4rem 0}.support-card p{color:var(--muted)}.support-card .btn{width:100%;margin:12px 0}.phone-link{font-weight:900;color:var(--green)}
.final-cta{background:var(--red);color:#fff;border-radius:32px;padding:42px 24px;margin-bottom:100px}.final-cta .eyebrow{color:#ffd6d1}.final-cta .btn{background:#fff;color:var(--red)}
.mobile-buy-bar{position:fixed;z-index:40;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-buy-bar small{display:block;color:var(--muted)}.mobile-buy-bar strong{font-size:.95rem}.mobile-buy-bar .btn{min-height:46px}
.checkout-dialog{padding:0;border:0;background:transparent;width:100%;max-width:none;height:100%;max-height:none}.checkout-dialog::backdrop{background:rgba(35,27,23,.5)}.checkout-shell{background:var(--bg);min-height:100%;display:flex;flex-direction:column}.checkout-top{height:60px;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--border);background:#fff}.checkout-top div{display:grid}.checkout-top small{color:var(--muted)}.icon-btn{width:44px;height:44px;border:0;background:#f0ebe4;border-radius:50%;font-size:1.5rem}.checkout-progress{height:3px;background:#e8e1d9}.checkout-progress span{display:block;height:100%;width:33.33%;background:var(--green);transition:width .2s ease}.checkout-side{display:none}
.checkout-step{display:none;padding:22px 16px 110px;max-width:640px;width:100%;margin:auto}.checkout-step.active{display:grid;gap:14px}.checkout-step h2{font-family:Georgia,serif;font-size:2rem;margin:0 0 8px}.checkout-step label{display:grid;gap:7px;font-weight:800}.checkout-step label small{color:var(--muted);font-weight:500}.checkout-step input,.checkout-step select,.checkout-step textarea{width:100%;min-width:0;border:1px solid var(--border);background:#fff;border-radius:12px;min-height:50px;padding:12px;color:var(--ink)}.checkout-step textarea{min-height:104px;resize:vertical}.field-grid{display:grid;gap:12px}.personalization-preview{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.personalization-preview small{color:var(--red);font-weight:900}.personalization-preview strong{display:block;font-family:Georgia,serif;font-size:1.45rem;margin:4px 0}.personalization-preview p{margin:0;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.checkout-actions{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border)}.checkout-actions .btn-primary{width:100%}.order-summary{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;display:grid;gap:8px}.summary-row{display:flex;justify-content:space-between;gap:16px}.summary-row.total{padding-top:10px;border-top:1px solid var(--border);font-size:1.15rem}.payment-choice{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);padding:14px;border-radius:12px}.payment-choice input{width:18px!important;min-height:auto!important}.payment-choice span{display:grid}.payment-choice small{font-weight:500}.payment-choice.disabled{opacity:.55}
@media(min-width:700px){.hero{grid-template-columns:1fr 1fr;align-items:center;padding-top:56px}.hero-media img{aspect-ratio:4/5}.product-grid{grid-template-columns:repeat(3,1fr)}.experience-track{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(3,1fr)}.trust-section{grid-template-columns:1.2fr .8fr;align-items:center}.field-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.section{padding:88px 0}.checkout-dialog{width:min(1080px,calc(100% - 48px));height:auto;max-height:calc(100vh - 48px);margin:auto;border-radius:24px;overflow:hidden}.checkout-shell{min-height:0;max-height:calc(100vh - 48px)}.checkout-side{display:block;position:absolute;right:28px;top:92px;width:320px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.checkout-side-product{display:grid;gap:3px;margin-top:14px}.checkout-side-product small{color:var(--muted)}.checkout-side-product strong{font-family:Georgia,serif;font-size:1.6rem}.checkout-side-lines{display:grid;gap:9px;margin-top:18px}.checkout-side-lines div{display:flex;justify-content:space-between;gap:16px}.checkout-side-lines span{color:var(--muted)}.checkout-side-total{display:flex;align-items:end;justify-content:space-between;gap:16px;padding-top:15px;margin-top:15px;border-top:1px solid var(--border)}.checkout-side-total strong{font-size:1.35rem;color:var(--green)}.checkout-side p{font-size:.8rem;color:var(--muted);margin:16px 0 0}.checkout-step{overflow:auto;padding:24px 390px 90px 28px;max-width:none}.checkout-actions{position:absolute}.mobile-buy-bar{display:none!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


.site-footer{width:min(100% - 32px,var(--max));margin:0 auto 92px;padding:24px 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px;color:var(--muted)}.site-footer>div{display:grid;gap:3px}.site-footer strong{color:var(--ink)}.site-footer nav{display:flex;gap:16px;flex-wrap:wrap;font-weight:800;color:var(--ink)}
.pix-dialog{padding:0;border:0;background:transparent;width:100%;max-width:none;height:100%;max-height:none}.pix-dialog::backdrop{background:rgba(35,27,23,.58)}.pix-panel{position:relative;background:var(--bg);min-height:100%;padding:28px 16px 44px;display:flex;flex-direction:column;align-items:stretch}.pix-close{position:absolute;right:16px;top:16px}.pix-panel h2{font-family:Georgia,serif;font-size:2rem;line-height:1.05;margin:10px 48px 6px 0}.pix-subtitle{color:var(--muted);margin:0 0 18px}.pix-order-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pix-order-meta>div,.pix-recipient{background:#fff;border:1px solid var(--border);border-radius:14px;padding:13px;display:grid;gap:3px}.pix-order-meta small,.pix-recipient small{color:var(--muted)}.pix-order-meta strong{font-size:1.05rem}.pix-qr-wrap{display:grid;place-items:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px;margin:14px auto;width:min(100%,320px)}.pix-qr-wrap canvas{max-width:100%;height:auto!important}.pix-copy-label{display:grid;gap:7px;font-weight:800;margin-top:12px}.pix-copy-label textarea{width:100%;min-height:96px;resize:none;border:1px solid var(--border);border-radius:12px;background:#fff;padding:12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.pix-copy-feedback{min-height:20px;color:var(--green);font-weight:800;font-size:.86rem;margin-top:7px}.pix-instructions{margin:14px 0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px}.pix-instructions ol{margin:8px 0 0;padding-left:20px;color:var(--muted)}.pix-manual-note{font-size:.82rem;color:var(--muted);text-align:center;max-width:46ch;margin:12px auto}.pix-support-link{text-align:center;font-weight:800;color:var(--green);margin-top:8px}.pix-paid-button.is-informed{background:#e7f5ec;color:var(--green)}#pixPaidButton.is-informed{background:#e7f5ec;color:var(--green)}
@media(min-width:760px){.site-footer{flex-direction:row;align-items:center;justify-content:space-between}.pix-dialog{width:min(620px,calc(100% - 40px));height:auto;max-height:calc(100vh - 40px);margin:auto;border-radius:24px;overflow:hidden}.pix-panel{min-height:0;max-height:calc(100vh - 40px);overflow:auto;padding:30px}.pix-panel h2{font-size:2.35rem}}


.btn-whatsapp{background:#0f8f4e;color:#fff;margin-top:10px}
@media(max-width:699px){
  .product-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:14px;
    margin-inline:-16px;
    padding:0 16px 8px;
    scrollbar-width:none;
  }
  .product-grid::-webkit-scrollbar{display:none}
  .product-card{
    flex:0 0 min(88vw,360px);
    scroll-snap-align:center;
  }
  .experience-track{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:14px;
    margin-inline:-16px;
    padding:0 16px 8px;
    scrollbar-width:none;
  }
  .experience-track::-webkit-scrollbar{display:none}
  .experience-card{
    flex:0 0 min(86vw,350px);
    scroll-snap-align:center;
  }
  .hero{
    padding-bottom:42px;
  }
  .hero-copy .btn{
    width:100%;
  }
  .hero h1{
    font-size:clamp(2.35rem,11.2vw,3.45rem);
  }
  .hero-media img{
    aspect-ratio:4/5;
  }
  .section{
    padding:54px 0;
  }
  .section-heading{
    margin-bottom:22px;
  }
  .pix-panel{
    padding-bottom:calc(34px + env(safe-area-inset-bottom));
  }
  .pix-panel .btn{
    width:100%;
  }
}

.pix-qr canvas,.pix-qr img,.pix-qr table{display:block!important;max-width:100%!important;height:auto!important;margin:auto!important}
.pix-qr table{border-collapse:collapse}


/* ===== Holiday Commerce V2 ===== */
:root{
  --bg:#fbf7ef;
  --surface:#fffdf9;
  --ink:#201915;
  --muted:#756b63;
  --red:#a3212d;
  --red-deep:#76151f;
  --green:#0d5b3f;
  --green-deep:#083d2c;
  --gold:#c99b49;
  --gold-soft:#f3e2b7;
  --border:#e6ddd0;
  --shadow:0 18px 52px rgba(67,39,25,.10);
  --shadow-strong:0 24px 70px rgba(70,25,25,.15)
}
body{
  background:
    radial-gradient(circle at 14% 4%,rgba(201,155,73,.09),transparent 21rem),
    radial-gradient(circle at 90% 20%,rgba(163,33,45,.06),transparent 26rem),
    var(--bg)
}
.announcement-bar{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px 22px;
  padding:7px 16px;
  background:var(--green-deep);
  color:#fff;
  font-size:.76rem;
  letter-spacing:.025em;
  text-align:center;
  flex-wrap:wrap
}
.announcement-bar b{color:#f7d998}
.site-header{
  top:0;
  height:70px;
  background:rgba(251,247,239,.94);
  box-shadow:0 8px 24px rgba(54,31,20,.04)
}
.header-actions{display:flex;align-items:center;gap:8px}
.cart-trigger{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-weight:850;
  cursor:pointer
}
.cart-trigger b{
  min-width:22px;height:22px;padding:0 5px;
  display:grid;place-items:center;
  border-radius:999px;
  background:var(--red);color:#fff;font-size:.72rem
}
.cart-label{display:none}
.hero{
  position:relative;
  isolation:isolate;
  padding-top:38px
}
.hero:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-12vw;right:-12vw;top:0;bottom:8%;
  border-radius:0 0 48px 48px;
  background:
    radial-gradient(circle at 18% 12%,rgba(201,155,73,.16) 0 2px,transparent 3px),
    linear-gradient(135deg,#fffaf1 0%,#f8eee0 100%);
  background-size:32px 32px,auto
}
.hero-season{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 10px;
  border:1px solid rgba(201,155,73,.45);
  border-radius:999px;
  color:#7b5b20;
  background:rgba(255,252,245,.86);
  font-size:.7rem;font-weight:900;letter-spacing:.10em
}
.hero-season span{color:var(--gold)}
.hero h1 em{font-style:normal;color:var(--red)}
.hero-copy>p{font-size:1.06rem;line-height:1.65}
.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.btn-holiday{
  background:linear-gradient(180deg,#b22b36 0%,#941c27 100%);
  color:#fff;
  box-shadow:0 10px 26px rgba(163,33,45,.24)
}
.hero-secondary{font-weight:850;color:var(--green);padding:12px 0}
.microtrust span{
  display:inline-flex;align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(230,221,208,.9)
}
.hero-media{position:relative}
.hero-media picture{display:block;box-shadow:var(--shadow-strong);border:5px solid rgba(255,255,255,.72)}
.hero-photo-badge{
  position:absolute;
  z-index:3;
  display:grid;
  gap:1px;
  max-width:190px;
  padding:11px 13px;
  background:rgba(255,253,249,.96);
  border:1px solid rgba(230,221,208,.9);
  border-radius:16px;
  box-shadow:0 12px 34px rgba(43,26,18,.14);
  backdrop-filter:blur(8px)
}
.hero-photo-badge b{font-size:.82rem}
.hero-photo-badge small{color:var(--muted);font-size:.72rem}
.hero-photo-badge span{color:var(--gold)}
.hero-photo-badge-top{right:-8px;top:28px}
.hero-photo-badge-bottom{left:-8px;bottom:26px}
.section-heading .eyebrow{display:inline-flex;align-items:center;gap:8px}
.section-heading .eyebrow:before{content:"✦";color:var(--gold)}
.product-card{
  position:relative;
  border:1px solid #e7dac9;
  box-shadow:0 8px 26px rgba(65,38,24,.06);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.product-card.recommended{
  border:2px solid rgba(163,33,45,.64);
  box-shadow:0 18px 48px rgba(125,29,37,.13)
}
.product-card figure{position:relative;background:linear-gradient(160deg,#f4eadb,#fff9ef)}
.product-ribbon{
  position:absolute;z-index:2;top:14px;left:14px;
  padding:7px 10px;
  background:var(--red);
  color:#fff;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
  box-shadow:0 8px 20px rgba(120,18,29,.2)
}
.product-card h3{font-size:1.9rem}
.product-prop{font-size:.98rem;line-height:1.55}
.benefits{padding:13px;border-radius:14px;background:#fbf8f2;border:1px solid #eee4d7}
.price-row{align-items:center}
.pix-price{
  padding:8px 10px;
  border-radius:12px;
  background:#eaf5ee;
  text-align:right
}
.pix-price strong{display:block;font-size:1.28rem}
.product-actions{display:grid;gap:9px}
.steps>div{
  position:relative;
  overflow:hidden;
  padding:24px;
  box-shadow:0 9px 28px rgba(64,40,26,.05)
}
.steps>div:after{
  content:"";
  position:absolute;right:-24px;top:-24px;
  width:96px;height:96px;border-radius:50%;
  background:rgba(201,155,73,.09)
}
.steps>div>span{display:block;margin-top:14px;color:var(--red);font-size:.68rem;font-weight:900;letter-spacing:.12em}
.steps b{background:var(--green);color:#fff}
.trust-section{
  position:relative;
  border-radius:28px;
  padding-inline:28px;
  background:linear-gradient(135deg,#f5eddf,#fffaf2);
  border:1px solid #e9ddcc
}
.support-card{border-top:4px solid var(--green)}
.final-cta{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--red-deep),var(--red) 54%,#b13b3e);
  box-shadow:0 22px 58px rgba(118,21,31,.22)
}
.final-cta:after{
  content:"✦";
  position:absolute;
  font-size:14rem;
  line-height:1;
  color:rgba(255,255,255,.045);
  right:-28px;top:-50px
}

/* cart */
.cart-dialog{
  padding:0;border:0;background:transparent;
  width:100%;max-width:none;height:100%;max-height:none
}
.cart-dialog::backdrop{background:rgba(25,18,14,.54);backdrop-filter:blur(3px)}
.cart-panel{
  min-height:100%;
  display:flex;flex-direction:column;
  background:#fffaf4
}
.cart-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
  padding:22px 18px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,#fff,#fffaf3)
}
.cart-head h2{font-family:Georgia,serif;font-size:2rem;margin:.25rem 0 0}
.cart-items{display:grid;gap:12px;padding:16px;overflow:auto}
.cart-item{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:12px;
  padding:12px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px
}
.cart-item img{width:82px;height:100px;object-fit:cover;border-radius:12px;background:#f1e9dd}
.cart-item-copy{display:grid;gap:14px;min-width:0}
.cart-item-top,.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cart-item-top>div{display:grid}.cart-item-top small,.cart-item-price small{color:var(--muted)}
.cart-remove{border:0;background:transparent;color:var(--red);font-weight:800;padding:8px;cursor:pointer}
.qty-control{display:flex;align-items:center;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:#fff}
.qty-control button{width:36px;height:36px;border:0;background:#f8f2e9;font-size:1.1rem;cursor:pointer}
.qty-control span{min-width:30px;text-align:center;font-weight:900}
.cart-item-price{display:grid;text-align:right}
.cart-empty{
  margin:auto;
  text-align:center;
  padding:46px 24px
}
.cart-empty-icon{font-size:3rem}
.cart-empty h3{font-family:Georgia,serif;font-size:1.7rem;margin:12px 0 6px}
.cart-empty p{color:var(--muted);max-width:32ch;margin:0 auto 20px}
.cart-footer{
  margin-top:auto;
  position:sticky;bottom:0;
  display:grid;gap:10px;
  padding:16px 18px calc(16px + env(safe-area-inset-bottom));
  background:#fff;
  border-top:1px solid var(--border);
  box-shadow:0 -14px 35px rgba(53,34,23,.08)
}
.cart-savings,.cart-total{display:flex;justify-content:space-between;align-items:center}
.cart-savings{color:var(--green);font-size:.86rem}
.cart-total strong{font-size:1.45rem}
.cart-footer small{text-align:center;color:var(--muted)}

/* checkout stronger */
.checkout-shell{
  background:
    radial-gradient(circle at 92% 5%,rgba(201,155,73,.10),transparent 18rem),
    #fbf7ef
}
.checkout-top{
  min-height:70px;
  background:linear-gradient(180deg,#fff,#fffaf4)
}
.checkout-top strong{font-family:Georgia,serif;font-size:1.16rem}
.checkout-progress{height:5px;background:#eadfd0}
.checkout-progress span{background:linear-gradient(90deg,var(--red),var(--gold))}
.checkout-step-kicker{color:var(--red);font-size:.68rem;font-weight:900;letter-spacing:.13em}
.checkout-step h2{font-size:clamp(2rem,8vw,3rem);line-height:1.03}
.checkout-cart-mini{
  display:grid;gap:8px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.84)
}
.checkout-mini-item{
  display:grid;
  grid-template-columns:54px 1fr auto;
  gap:10px;
  align-items:center
}
.checkout-mini-item img{width:54px;height:64px;object-fit:cover;border-radius:10px;background:#eee5d9}
.checkout-mini-item>div{display:grid;min-width:0}
.checkout-mini-item small{color:var(--muted)}
.personalization-preview{
  position:relative;
  overflow:hidden;
  padding:20px;
  border:1px solid #ddc69e;
  background:
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(251,244,229,.96))
}
.personalization-preview:after{
  content:"✦";
  position:absolute;right:15px;top:8px;color:var(--gold);font-size:1.4rem
}
.payment-choice.selected{
  border:2px solid rgba(13,91,63,.45);
  background:#eef7f1
}
.order-summary{
  border-top:4px solid var(--red);
  box-shadow:0 8px 26px rgba(65,38,24,.06)
}
.summary-products{display:grid;gap:4px;color:var(--muted);font-size:.84rem;padding:4px 0 8px}
.summary-row.discount{color:var(--green)}
.checkout-side{
  overflow:hidden;
  border:0;
  color:#fff;
  background:linear-gradient(155deg,var(--green-deep),var(--green));
  box-shadow:0 18px 48px rgba(8,61,44,.20)
}
.checkout-side .eyebrow{color:#f4d793}
.checkout-side-product small,.checkout-side-lines span,.checkout-side p{color:rgba(255,255,255,.72)}
.checkout-side-lines{padding:14px 0;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}
.checkout-side-total{border-top:0}
.checkout-side-total strong{color:#f7d998}
.checkout-actions{
  box-shadow:0 -12px 28px rgba(57,35,23,.07)
}
.pix-panel{
  background:
    radial-gradient(circle at 100% 0,rgba(201,155,73,.12),transparent 16rem),
    #fbf7ef
}
.pix-qr-wrap{box-shadow:0 12px 34px rgba(52,32,22,.08)}

@media (hover:hover) and (pointer:fine){
  .product-card:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(65,38,24,.12)}
  .product-card.recommended:hover{box-shadow:0 25px 62px rgba(125,29,37,.18)}
}
@media(min-width:700px){
  .cart-label{display:inline}
  .cart-dialog{
    width:min(480px,100%);
    height:100%;
    margin:0 0 0 auto
  }
  .cart-panel{min-height:100%}
}
@media(max-width:699px){
  .announcement-bar span:last-child{display:none}
  .announcement-bar{justify-content:space-between;font-size:.69rem}
  .site-header{height:64px}
  .header-cta{display:none}
  .cart-trigger{padding:0 9px}
  .brand strong{font-size:.9rem}
  .hero{padding-top:26px}
  .hero:before{left:-16px;right:-16px;border-radius:0 0 28px 28px}
  .hero-photo-badge{max-width:160px;padding:9px 10px}
  .hero-photo-badge-top{right:6px;top:18px}
  .hero-photo-badge-bottom{left:6px;bottom:16px}
  .hero-secondary{width:100%;text-align:center;padding:4px 0}
  .microtrust{gap:7px}
  .product-card{box-shadow:0 11px 30px rgba(65,38,24,.08)}
  .trust-section{padding-inline:18px}
  .checkout-step{padding-top:20px}
  .checkout-mini-item{grid-template-columns:48px 1fr auto}
  .checkout-mini-item img{width:48px;height:58px}
}


.hero-media img{object-position:center 55%}
.experience-card:nth-child(1) img{object-position:center 55%}
.experience-card:nth-child(2) img{object-position:center center}
.experience-card:nth-child(3) img{object-position:center 60%}
@media(max-width:699px){
  .hero-media img{aspect-ratio:4/5;object-position:center 58%}
  .experience-card img{aspect-ratio:4/5}
}


/* ===== Christmas Energy V3 ===== */
body{
  background:
    radial-gradient(circle at 15% 8%,rgba(255,214,102,.12),transparent 18rem),
    radial-gradient(circle at 88% 16%,rgba(196,25,45,.10),transparent 22rem),
    linear-gradient(180deg,#fffaf4 0%,#fffdf8 30%,#f8f1e7 100%);
}
.announcement-bar{
  background:linear-gradient(90deg,#0a4634,#0d5b3f 42%,#0a4634);
  box-shadow:inset 0 -1px rgba(255,255,255,.08);
}
.site-header{
  border-bottom:1px solid rgba(160,120,68,.14);
}
.brand strong{
  position:relative;
  color:var(--red-deep);
}
.brand strong:after{
  content:"";
  position:absolute;
  width:34px;height:3px;border-radius:999px;
  left:0;bottom:-7px;
  background:linear-gradient(90deg,var(--gold),transparent);
}
.header-cta{
  background:linear-gradient(180deg,#a82733,#7f1721);
  box-shadow:0 8px 20px rgba(126,23,33,.18);
}
.cart-trigger{
  box-shadow:0 8px 20px rgba(61,37,23,.07);
}
.hero{
  min-height:calc(100svh - 104px);
  align-content:center;
}
.hero:before{
  background:
    radial-gradient(circle at 12% 12%,rgba(255,214,102,.17) 0 2px,transparent 3px),
    radial-gradient(circle at 84% 12%,rgba(163,33,45,.09),transparent 18rem),
    linear-gradient(135deg,#fff9ef 0%,#f4e2ca 100%);
  background-size:34px 34px,auto,auto;
  box-shadow:inset 0 -1px rgba(150,100,50,.08);
}
.hero-lights{
  position:absolute;
  top:4px;left:-4vw;right:-4vw;
  height:44px;
  z-index:4;
  display:flex;
  justify-content:space-around;
  pointer-events:none;
}
.hero-lights:before{
  content:"";
  position:absolute;
  left:0;right:0;top:8px;
  height:2px;
  background:rgba(49,64,42,.45);
  transform:rotate(-1deg);
}
.hero-lights i{
  position:relative;
  top:5px;
  width:11px;height:17px;
  border-radius:50% 50% 45% 45%;
  background:#f6c55b;
  box-shadow:0 0 12px rgba(246,197,91,.85),0 0 24px rgba(246,197,91,.4);
  animation:twinkle 2.8s ease-in-out infinite alternate;
}
.hero-lights i:nth-child(3n+1){background:#c12735;box-shadow:0 0 12px rgba(193,39,53,.65)}
.hero-lights i:nth-child(3n+2){background:#2b8a60;box-shadow:0 0 12px rgba(43,138,96,.65)}
.hero-lights i:nth-child(even){animation-delay:.8s}
.hero-sparkles span{
  position:absolute;
  z-index:3;
  color:rgba(201,155,73,.72);
  font-size:1.2rem;
  pointer-events:none;
  animation:floatSpark 4.5s ease-in-out infinite;
}
.hero-sparkles span:nth-child(1){left:3%;top:18%}
.hero-sparkles span:nth-child(2){left:44%;top:8%;animation-delay:1.1s}
.hero-sparkles span:nth-child(3){right:3%;top:26%;animation-delay:2s}
.hero-sparkles span:nth-child(4){right:30%;bottom:10%;animation-delay:.6s}
.hero-copy{position:relative;z-index:2}
.hero-season{
  box-shadow:0 8px 24px rgba(201,155,73,.10);
  backdrop-filter:blur(10px);
}
.hero h1{
  text-wrap:balance;
  text-shadow:0 2px 0 rgba(255,255,255,.6);
}
.hero h1 em{
  display:inline-block;
  position:relative;
  color:#b12531;
}
.hero h1 em:after{
  content:"";
  position:absolute;
  left:2%;right:2%;bottom:-3px;height:8px;
  border-radius:50%;
  background:rgba(201,155,73,.24);
  z-index:-1;
}
.hero-price{
  padding:12px 14px;
  width:max-content;
  max-width:100%;
  border-radius:18px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(224,202,169,.72);
  box-shadow:0 12px 30px rgba(94,57,30,.08);
  backdrop-filter:blur(10px);
}
.hero-price strong{color:var(--red-deep);font-size:2rem}
.hero-proof{
  display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px
}
.hero-proof span{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(228,214,194,.85);
  font-size:.79rem;font-weight:850
}
.hero-proof b{font-size:.95rem}
.btn-holiday{
  position:relative;
  overflow:hidden;
  min-height:56px;
  border-radius:16px;
  background:linear-gradient(180deg,#d42d40 0%,#a71d2b 56%,#871722 100%);
  box-shadow:0 12px 28px rgba(167,29,43,.28),inset 0 1px rgba(255,255,255,.22);
  transform:translateZ(0);
}
.btn-holiday:before{
  content:"";
  position:absolute;
  inset:-40% auto -40% -35%;
  width:28%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);
  transform:skewX(-20deg);
  animation:ctaShine 3.8s ease-in-out infinite;
}
.hero-secondary{
  display:inline-flex;align-items:center;gap:5px;
  color:var(--red-deep)
}
.hero-media picture{
  position:relative;
  border-radius:30px;
  border:7px solid rgba(255,255,255,.78);
  box-shadow:0 30px 80px rgba(96,44,29,.22),0 0 0 1px rgba(150,100,60,.1);
}
.hero-media:after{
  content:"";
  position:absolute;
  inset:7% -5% -7% 7%;
  border-radius:30px;
  z-index:-1;
  background:linear-gradient(150deg,rgba(173,28,42,.16),rgba(201,155,73,.18));
  filter:blur(18px);
}
.hero-photo-badge{
  border-color:rgba(223,196,151,.7);
  box-shadow:0 16px 38px rgba(85,47,26,.17);
}
.magic-marquee{
  overflow:hidden;
  border-block:1px solid rgba(255,255,255,.12);
  background:linear-gradient(90deg,#7a1420,#a51f2d,#7a1420);
  color:#fff8eb;
  box-shadow:0 12px 30px rgba(115,20,31,.14);
}
.magic-marquee>div{
  width:max-content;
  display:flex;
  gap:36px;
  align-items:center;
  padding:11px 0;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.11em;
  animation:marqueeMove 28s linear infinite;
}
.magic-marquee span{white-space:nowrap}
.kits-section{
  position:relative;
}
.kits-section:before{
  content:"";
  position:absolute;
  width:140px;height:140px;
  right:-30px;top:30px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,155,73,.16),transparent 68%);
  pointer-events:none
}
.product-grid{position:relative}
.product-card{
  background:
    linear-gradient(#fffdf9,#fffdf9) padding-box,
    linear-gradient(145deg,rgba(201,155,73,.45),rgba(163,33,45,.22),rgba(13,91,63,.24)) border-box;
  border:1px solid transparent;
  box-shadow:0 12px 34px rgba(73,39,23,.09);
}
.product-card.recommended{
  transform:translateY(-4px);
  border:2px solid transparent;
  background:
    linear-gradient(#fffdf9,#fffdf9) padding-box,
    linear-gradient(135deg,#d7ad5c,#c52a3c,#8c1723) border-box;
  box-shadow:0 22px 54px rgba(139,28,40,.17);
}
.product-card.recommended:before{
  content:"MAIS DESEJADO";
  position:absolute;z-index:5;top:12px;right:12px;
  padding:7px 10px;border-radius:999px;
  background:linear-gradient(180deg,#c72b3b,#941a27);
  color:#fff;font-size:.63rem;font-weight:950;letter-spacing:.08em;
  box-shadow:0 8px 18px rgba(148,26,39,.28)
}
.product-card figure:after{
  content:"";
  position:absolute;inset:auto 0 0;height:34%;
  background:linear-gradient(transparent,rgba(51,28,16,.16));
  pointer-events:none
}
.product-card-body{
  position:relative;
}
.product-card-body:before{
  content:"✦";
  position:absolute;right:18px;top:16px;
  color:rgba(201,155,73,.35);
  font-size:1.15rem
}
.product-actions .btn-secondary{
  background:#fff8ef;
}
.home-experience{
  position:relative;
  padding-top:96px;
}
.home-experience:before{
  content:"";
  position:absolute;
  left:50%;top:35px;
  width:80vw;max-width:920px;height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(201,155,73,.55),transparent)
}
.section-orbit{
  display:flex;justify-content:center;gap:18px;
  color:rgba(201,155,73,.7);
  margin-bottom:12px
}
.section-orbit span{animation:floatSpark 4s ease-in-out infinite}
.section-orbit span:nth-child(2){animation-delay:.8s}
.section-orbit span:nth-child(3){animation-delay:1.4s}
.experience-card{
  position:relative;
  overflow:hidden;
  box-shadow:0 16px 40px rgba(65,38,24,.10);
  transition:transform .25s ease,box-shadow .25s ease
}
.experience-card:after{
  content:"";
  position:absolute;inset:0;
  border:1px solid rgba(255,255,255,.35);
  border-radius:inherit;
  pointer-events:none
}
.experience-card picture{position:relative;overflow:hidden}
.experience-card picture:after{
  content:"";
  position:absolute;inset:auto 0 0;height:36%;
  background:linear-gradient(transparent,rgba(32,17,13,.20))
}
.experience-card img{transition:transform .55s ease}
.ribbon-title{
  width:max-content;
  max-width:100%;
  margin:-8px 0 20px auto;
  padding:8px 14px;
  border-radius:999px;
  background:#0b5039;
  color:#f7d998;
  font-size:.66rem;font-weight:900;letter-spacing:.10em
}
.how-it-works{
  position:relative;
  border-radius:34px;
  padding-inline:28px;
  background:
    radial-gradient(circle at 80% 20%,rgba(255,220,120,.09),transparent 14rem),
    linear-gradient(140deg,#0a4634,#0f6548);
  color:#fff;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(9,70,52,.18)
}
.how-it-works .section-heading .eyebrow{color:#f2c968}
.how-it-works .section-heading h2{color:#fff}
.how-it-works .steps>div{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:none;
  backdrop-filter:blur(8px)
}
.how-it-works .steps>div>span{color:#f3d17f}
.how-it-works .steps h3{color:#fff}
.how-it-works .steps p{color:rgba(255,255,255,.72)}
.how-it-works .steps b{
  background:#f0c66b;color:#4d3512;
  box-shadow:0 8px 20px rgba(0,0,0,.13)
}
.trust-section{
  box-shadow:0 20px 55px rgba(86,50,24,.08);
}
.final-cta{
  border:1px solid rgba(255,255,255,.15);
}
.final-cta>div{position:relative;z-index:2}
.final-sparkles span{
  position:absolute;color:rgba(255,224,151,.55);
  font-size:1.4rem;animation:floatSpark 4.6s ease-in-out infinite
}
.final-sparkles span:nth-child(1){left:7%;top:18%}
.final-sparkles span:nth-child(2){right:14%;top:20%;animation-delay:1s}
.final-sparkles span:nth-child(3){right:32%;bottom:14%;animation-delay:2s}
.final-cta .btn{
  min-height:56px;
  background:#fff7e5;
  color:var(--red-deep);
  box-shadow:0 12px 28px rgba(68,15,21,.22)
}
.mobile-buy-bar{
  background:rgba(255,252,247,.97);
  box-shadow:0 -12px 30px rgba(65,36,20,.10)
}
.mobile-buy-bar .btn{
  background:linear-gradient(180deg,#d42d40,#9a1a28);
  color:#fff
}

@keyframes twinkle{
  from{opacity:.55;transform:translateY(0) scale(.92)}
  to{opacity:1;transform:translateY(2px) scale(1.08)}
}
@keyframes floatSpark{
  0%,100%{transform:translateY(0) rotate(0deg);opacity:.45}
  50%{transform:translateY(-8px) rotate(12deg);opacity:1}
}
@keyframes ctaShine{
  0%,64%{left:-40%}
  82%,100%{left:125%}
}
@keyframes marqueeMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (hover:hover) and (pointer:fine){
  .experience-card:hover{transform:translateY(-6px);box-shadow:0 26px 58px rgba(65,38,24,.15)}
  .experience-card:hover img{transform:scale(1.045)}
}
@media(max-width:699px){
  .hero{min-height:auto;padding-top:44px}
  .hero-lights{left:-10px;right:-10px}
  .hero-lights i{width:9px;height:14px}
  .hero-sparkles span:nth-child(2),.hero-sparkles span:nth-child(4){display:none}
  .hero-price{width:100%;justify-content:center}
  .hero-proof{display:grid;grid-template-columns:1fr 1fr}
  .hero-proof span:last-child{grid-column:1/-1}
  .magic-marquee>div{gap:24px;font-size:.67rem}
  .product-card.recommended{transform:none}
  .how-it-works{padding-inline:18px;border-radius:26px}
  .ribbon-title{margin:-2px auto 18px}
}
@media(prefers-reduced-motion:reduce){
  .hero-lights i,.hero-sparkles span,.section-orbit span,.final-sparkles span,.btn-holiday:before,.magic-marquee>div{animation:none!important}
}



/* ===== Christmas Campaign V3 — cinematic, energetic, product-led ===== */
body{
  background:#f6efe5;
  overflow-x:hidden
}
.hero-cinematic{
  width:100%;
  max-width:none;
  min-height:760px;
  margin:0;
  padding:72px max(18px,calc((100vw - var(--max))/2)) 64px;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  align-items:center;
  gap:44px;
  color:#fff;
  isolation:isolate;
  overflow:hidden;
  background:#3a090f
}
.hero-backdrop{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(90deg,rgba(34,4,10,.94) 0%,rgba(49,5,12,.83) 42%,rgba(55,7,12,.30) 69%,rgba(29,4,8,.15) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28)),
    url("https://images.unsplash.com/photo-1766422646106-ed7e4b288fd8?auto=format&fit=crop&fm=jpg&q=88&w=2200") center/cover no-repeat
}
.hero-cinematic:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:auto -10% -34% -10%;
  height:62%;
  background:radial-gradient(ellipse at center,rgba(211,152,48,.22),transparent 66%);
  filter:blur(20px)
}
.hero-cinematic:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle,rgba(255,232,173,.42) 0 1px,transparent 1.7px),
    radial-gradient(circle,rgba(255,255,255,.24) 0 1px,transparent 1.5px);
  background-size:44px 44px,67px 67px;
  background-position:10px 13px,22px 4px;
  mask-image:linear-gradient(180deg,black,transparent 72%);
  opacity:.55
}
.hero-cinematic .hero-copy{position:relative;z-index:2;max-width:760px}
.hero-cinematic .hero-season{
  color:#ffe9a9;
  border-color:rgba(255,220,121,.55);
  background:rgba(40,6,10,.45);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)
}
.hero-cinematic .eyebrow{color:#f6d27d}
.hero-cinematic h1{
  margin:.55rem 0 1.1rem;
  font-size:clamp(3.1rem,6.4vw,6.6rem);
  line-height:.86;
  letter-spacing:-.065em;
  text-wrap:balance;
  text-shadow:0 5px 28px rgba(0,0,0,.26)
}
.hero-line{display:block}
.hero-line-accent{
  color:#ffd46e;
  font-style:italic;
  transform:translateX(22px);
  text-shadow:0 0 28px rgba(255,205,80,.18)
}
.hero-cinematic .hero-copy>p{
  color:rgba(255,255,255,.84);
  font-size:1.12rem;
  line-height:1.62;
  max-width:58ch
}
.hero-cinematic .hero-price{
  width:max-content;
  max-width:100%;
  padding:12px 14px;
  margin:24px 0 18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:rgba(58,7,14,.62);
  backdrop-filter:blur(12px);
  box-shadow:0 14px 40px rgba(0,0,0,.16)
}
.hero-cinematic .hero-price span{color:rgba(255,255,255,.7)}
.hero-cinematic .hero-price strong{font-size:2.25rem;color:#fff}
.hero-cinematic .hero-price em{background:#ffe6a4;color:#5b2b00}
.hero-cinematic .hero-proof span{
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)
}
.hero-cinematic .hero-secondary{color:#ffe6a4}
.hero-cinematic .microtrust span{
  color:rgba(255,255,255,.76);
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.05)
}
.hero-media{
  min-height:610px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative
}
.hero-media picture{
  width:min(100%,570px);
  transform:rotate(2.2deg);
  border:8px solid rgba(255,248,232,.92);
  border-radius:36px;
  overflow:hidden;
  box-shadow:0 34px 90px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.16)
}
.hero-media picture img{
  aspect-ratio:4/5;
  min-height:610px;
  object-fit:cover;
  filter:saturate(1.1) contrast(1.03)
}
.hero-photo-badge{
  color:#20130f;
  border:1px solid rgba(255,220,150,.7);
  background:linear-gradient(180deg,#fffaf0,#f9e8c0);
  box-shadow:0 20px 50px rgba(0,0,0,.2);
  transform:rotate(-3deg)
}
.hero-photo-badge-top{top:40px;right:-10px}
.hero-photo-badge-bottom{bottom:38px;left:-18px;transform:rotate(3deg)}
.hero-product-float{
  position:absolute;
  z-index:4;
  right:6px;
  bottom:12px;
  width:270px;
  display:grid;
  grid-template-columns:88px 1fr;
  gap:10px;
  align-items:center;
  padding:10px;
  color:#26130d;
  background:rgba(255,248,236,.97);
  border:1px solid rgba(255,223,166,.8);
  border-radius:20px;
  box-shadow:0 24px 60px rgba(0,0,0,.25);
  transform:rotate(-4deg)
}
.hero-product-float img{
  width:88px;
  height:88px;
  object-fit:cover;
  border-radius:14px;
  background:#efe3d1
}
.hero-product-float div{display:grid;gap:2px}
.hero-product-float small{color:var(--red);font-weight:950;font-size:.62rem;letter-spacing:.09em}
.hero-product-float strong{font-family:Georgia,serif;font-size:1.05rem}
.hero-product-float span{color:var(--green);font-weight:900;font-size:.8rem}
.hero-garland{
  position:absolute;
  z-index:5;
  left:0;right:0;top:0;
  height:68px;
  display:flex;
  justify-content:space-around;
  align-items:flex-start;
  padding-top:10px;
  pointer-events:none
}
.hero-garland:before{
  content:"";
  position:absolute;
  left:-2%;right:-2%;top:7px;
  height:30px;
  border-bottom:4px solid #173a28;
  border-radius:50%
}
.hero-garland span{
  position:relative;
  width:16px;height:22px;
  display:block;
  border-radius:50% 50% 45% 45%;
  background:#ffd269;
  box-shadow:0 0 18px #ffd269,0 0 34px rgba(255,204,77,.48);
  animation:campaignTwinkle 1.8s ease-in-out infinite alternate
}
.hero-garland span:nth-child(2n){background:#e53342;box-shadow:0 0 18px #e53342,0 0 30px rgba(229,51,66,.38);animation-delay:.4s}
.hero-garland span:nth-child(3n){animation-delay:.8s}
.hero-ornament{
  position:absolute;
  z-index:3;
  width:74px;height:74px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#fff0af;
  border:1px solid rgba(255,225,144,.4);
  background:rgba(120,12,24,.44);
  box-shadow:0 0 40px rgba(255,207,86,.12);
  backdrop-filter:blur(4px);
  animation:ornamentFloat 4s ease-in-out infinite
}
.hero-ornament-a{left:47%;top:16%;font-size:1.7rem}
.hero-ornament-b{right:3%;top:23%;font-size:1.4rem;animation-delay:1.1s}

/* kits as gift stage */
.kits-section{
  position:relative;
  width:100%;
  max-width:none;
  padding:92px max(18px,calc((100vw - var(--max))/2)) 110px;
  margin:0;
  background:
    radial-gradient(circle at 10% 0,rgba(204,32,50,.10),transparent 26rem),
    radial-gradient(circle at 88% 14%,rgba(20,91,61,.12),transparent 28rem),
    #fffaf3
}
.kits-section:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:18px;
  background:repeating-linear-gradient(135deg,#9e1c2d 0 16px,#f4d083 16px 32px,#0b5b3e 32px 48px,#f4d083 48px 64px)
}
.section-heading-stage{
  max-width:920px;
  text-align:center;
  margin:0 auto 42px
}
.section-heading-stage h2{
  font-size:clamp(2.8rem,6vw,5.6rem);
  color:#6f0f1d
}
.section-heading-stage p{margin-inline:auto;font-size:1.08rem}
.product-grid{
  position:relative;
  z-index:2;
  align-items:stretch
}
.product-card{
  border:0;
  border-radius:28px;
  background:#fff;
  overflow:visible;
  box-shadow:0 22px 60px rgba(78,42,25,.12)
}
.product-card:nth-child(1){transform:rotate(-1.5deg)}
.product-card:nth-child(2){transform:translateY(-22px) scale(1.035);z-index:2}
.product-card:nth-child(3){transform:rotate(1.5deg)}
.product-card.recommended{
  border:3px solid #be2637;
  box-shadow:0 30px 76px rgba(146,22,38,.22)
}
.product-card figure{
  border-radius:24px 24px 0 0;
  background:
    radial-gradient(circle at 76% 14%,rgba(255,255,255,.8),transparent 6rem),
    linear-gradient(145deg,#f8ecda,#ead5b8)
}
.product-card:nth-child(2) figure{
  background:
    radial-gradient(circle at 76% 14%,rgba(255,255,255,.85),transparent 6rem),
    linear-gradient(145deg,#fbe7e7,#efd0c7)
}
.product-card:nth-child(3) figure{
  background:
    radial-gradient(circle at 76% 14%,rgba(255,255,255,.85),transparent 6rem),
    linear-gradient(145deg,#e4f1e8,#cfe1d2)
}
.product-ribbon{
  top:-14px;left:50%;
  transform:translateX(-50%);
  min-width:190px;
  text-align:center;
  background:linear-gradient(180deg,#cc2639,#8d1322);
  border:2px solid #ffd777;
  box-shadow:0 10px 28px rgba(117,20,31,.24)
}
.product-card-body{padding:24px}
.product-card h3{font-size:2.1rem}
.product-actions .btn-primary{min-height:58px;font-size:1rem}
.product-actions .btn-secondary{background:#fffaf4}
.product-card:nth-child(2) .product-actions .btn-primary{
  box-shadow:0 12px 32px rgba(173,26,44,.28)
}

/* experience becomes visual story board */
.experience-stage{
  width:100%;
  max-width:none;
  margin:0;
  padding:110px max(18px,calc((100vw - var(--max))/2));
  color:#fff;
  background:
    radial-gradient(circle at 12% 15%,rgba(255,202,93,.10),transparent 24rem),
    linear-gradient(135deg,#052d22,#0a4b35 54%,#063225)
}
.experience-stage .section-heading{max-width:920px}
.experience-stage .eyebrow{color:#f6d077}
.experience-stage .section-heading h2{
  font-size:clamp(2.8rem,6vw,5.6rem);
  color:#fff
}
.experience-stage .section-heading h2 em{color:#f7d172;font-style:italic}
.experience-stage .section-heading p{color:rgba(255,255,255,.74);font-size:1.08rem}
.experience-track{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  grid-template-areas:"a b" "a c";
  gap:18px
}
.experience-card{
  position:relative;
  border:1px solid rgba(255,255,255,.14);
  background:#0d3e30;
  color:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.18)
}
.experience-card:nth-child(1){grid-area:a}
.experience-card:nth-child(2){grid-area:b}
.experience-card:nth-child(3){grid-area:c}
.experience-card picture{aspect-ratio:auto;height:100%;min-height:290px}
.experience-card:nth-child(1) picture{min-height:650px}
.experience-card>div{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:72px 22px 22px;
  background:linear-gradient(180deg,transparent,rgba(4,24,18,.92))
}
.experience-card>div>span{color:#f6d077}
.experience-card h3{font-family:Georgia,serif;font-size:1.7rem;max-width:18ch}
.experience-card p{color:rgba(255,255,255,.72);max-width:44ch}

/* ritual section */
.ritual-section{
  width:100%;
  max-width:none;
  margin:0;
  padding:100px max(18px,calc((100vw - var(--max))/2));
  background:
    linear-gradient(180deg,#fff7ea,#f5e5cd)
}
.ritual-section .section-heading{text-align:center;margin-inline:auto}
.ritual-section .section-heading h2{font-size:clamp(2.6rem,5vw,4.9rem);color:#771522}
.ritual-section .steps{grid-template-columns:repeat(3,1fr);gap:22px}
.ritual-section .steps>div{
  min-height:260px;
  padding:28px;
  border:0;
  border-radius:28px;
  background:#fff;
  box-shadow:0 22px 52px rgba(91,48,25,.10)
}
.ritual-section .steps>div:nth-child(2){transform:translateY(22px)}
.ritual-section .steps b{
  width:52px;height:52px;
  background:linear-gradient(180deg,#ba2637,#851321);
  color:#fff;
  border:3px solid #f3d278;
  box-shadow:0 10px 26px rgba(133,19,33,.22)
}
.ritual-section .steps h3{font-family:Georgia,serif;font-size:1.55rem}

/* trust/final CTA energy */
.trust-section{
  margin-top:84px;
  margin-bottom:84px;
  padding:46px;
  background:
    linear-gradient(135deg,#fffaf1,#f7ead6);
  box-shadow:0 22px 56px rgba(72,42,24,.08)
}
.final-cta{
  width:min(100% - 32px,var(--max));
  min-height:420px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 90% 16%,rgba(255,219,118,.24),transparent 18rem),
    linear-gradient(135deg,#76101e,#aa1e31 58%,#7b1020);
  border:1px solid rgba(255,226,154,.22);
  box-shadow:0 30px 80px rgba(118,16,30,.28)
}
.final-cta h2{max-width:14ch;font-size:clamp(3rem,6vw,5.6rem)}
.final-cta .btn{
  background:#ffd46e;color:#5e170f;
  min-height:58px;padding-inline:28px;
  box-shadow:0 12px 30px rgba(0,0,0,.14)
}

@keyframes campaignTwinkle{
  from{opacity:.58;transform:translateY(0) scale(.9)}
  to{opacity:1;transform:translateY(4px) scale(1.08)}
}
@keyframes ornamentFloat{
  0%,100%{transform:translateY(0) rotate(-6deg)}
  50%{transform:translateY(-12px) rotate(5deg)}
}

@media(max-width:900px){
  .hero-cinematic{
    min-height:auto;
    grid-template-columns:1fr;
    padding-top:74px
  }
  .hero-backdrop{
    background:
      linear-gradient(180deg,rgba(34,4,10,.95) 0%,rgba(44,6,12,.87) 46%,rgba(52,7,12,.46) 100%),
      url("https://images.unsplash.com/photo-1766422646106-ed7e4b288fd8?auto=format&fit=crop&fm=jpg&q=88&w=1500") center/cover no-repeat
  }
  .hero-media{min-height:auto;margin-top:4px}
  .hero-media picture{width:min(92%,560px)}
  .hero-media picture img{min-height:0}
  .hero-product-float{right:3%;bottom:-8px}
  .experience-track{grid-template-columns:1fr;grid-template-areas:"a" "b" "c"}
  .experience-card picture,.experience-card:nth-child(1) picture{min-height:420px}
  .ritual-section .steps{grid-template-columns:1fr}
  .ritual-section .steps>div:nth-child(2){transform:none}
}
@media(max-width:699px){
  .hero-cinematic{
    padding:72px 16px 44px;
    gap:22px
  }
  .hero-garland{height:54px}
  .hero-garland span{width:12px;height:18px}
  .hero-cinematic h1{font-size:clamp(3rem,13vw,4.35rem)}
  .hero-line-accent{transform:none}
  .hero-cinematic .hero-copy>p{font-size:1rem}
  .hero-cinematic .hero-price{width:100%;justify-content:flex-start}
  .hero-cinematic .hero-price strong{font-size:1.95rem}
  .hero-media picture{width:100%;transform:rotate(1deg);border-width:5px;border-radius:24px}
  .hero-photo-badge-top{top:14px;right:6px}
  .hero-photo-badge-bottom{left:6px;bottom:16px}
  .hero-product-float{
    position:relative;
    right:auto;bottom:auto;
    width:92%;
    margin:-22px auto 0;
    transform:rotate(-2deg)
  }
  .hero-ornament{display:none}
  .kits-section{padding-top:72px;padding-bottom:86px}
  .section-heading-stage{text-align:left}
  .section-heading-stage h2{font-size:clamp(2.8rem,12vw,4rem)}
  .product-grid{
    margin-inline:-18px;
    padding-inline:18px
  }
  .product-card:nth-child(1),
  .product-card:nth-child(2),
  .product-card:nth-child(3){transform:none}
  .experience-stage{padding-top:82px;padding-bottom:82px}
  .experience-stage .section-heading h2{font-size:clamp(2.8rem,12vw,4rem)}
  .experience-card picture,.experience-card:nth-child(1) picture{min-height:430px}
  .ritual-section{padding-top:82px;padding-bottom:82px}
  .trust-section{margin-top:54px;margin-bottom:54px;padding:26px 18px}
  .final-cta{min-height:360px}
  .final-cta h2{font-size:clamp(3rem,12vw,4.2rem)}
}
@media(prefers-reduced-motion:reduce){
  .hero-garland span,.hero-ornament{animation:none!important}
}



/* ===== Strategic hero proof refinement ===== */
.hero-proof-premium{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:18px 0 20px;
  width:min(100%,760px)
}
.hero-proof-premium .proof-item{
  position:relative;
  display:grid;
  gap:4px;
  min-height:118px;
  padding:16px 16px 15px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
  backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden
}
.hero-proof-premium .proof-item:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:linear-gradient(180deg,#f5d26e,#c58c2a)
}
.hero-proof-premium .proof-item small{
  color:#f4d478;
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.12em
}
.hero-proof-premium .proof-item strong{
  color:#fff;
  font-family:Georgia,serif;
  font-size:1.02rem;
  line-height:1.14
}
.hero-proof-premium .proof-item span{
  color:rgba(255,255,255,.66);
  font-size:.78rem;
  line-height:1.35
}
.microtrust-refined{
  margin-top:14px;
  gap:0;
  border-top:1px solid rgba(255,255,255,.14);
  padding-top:13px
}
.microtrust-refined span{
  position:relative;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0 16px 0 0!important;
  margin-right:16px;
  color:rgba(255,255,255,.76)!important;
  font-size:.78rem;
  font-weight:700
}
.microtrust-refined span:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:3px;height:3px;
  border-radius:50%;
  background:#e5c16b;
  transform:translateY(-50%)
}
@media(max-width:699px){
  .hero-proof-premium{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:16px
  }
  .hero-proof-premium .proof-item{
    min-height:0;
    padding:13px 14px 12px 16px;
    grid-template-columns:1fr;
  }
  .hero-proof-premium .proof-item span{font-size:.75rem}
  .microtrust-refined{
    display:flex;
    overflow-x:auto;
    flex-wrap:nowrap;
    white-space:nowrap;
    margin-inline:-4px;
    padding-inline:4px
  }
  .microtrust-refined span{flex:0 0 auto}
}



/* ===== Header + proof rail refinement V4 ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  height:auto;
  padding:0;
  background:rgba(255,250,243,.92);
  border-bottom:1px solid rgba(123,74,49,.10);
  box-shadow:0 8px 30px rgba(61,34,22,.06);
  backdrop-filter:blur(18px)
}
.header-inner{
  width:min(100% - 32px,var(--max));
  min-height:82px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:30px
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content
}
.brand-mark{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff7e8;
  background:
    radial-gradient(circle at 30% 24%,rgba(255,217,120,.26),transparent 35%),
    linear-gradient(145deg,#9d1c2e,#68121e);
  border:1px solid rgba(255,212,115,.55);
  box-shadow:0 10px 24px rgba(112,18,32,.16),inset 0 1px 0 rgba(255,255,255,.12);
  font-family:Georgia,serif;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:-.03em
}
.brand-copy{
  display:grid;
  gap:2px;
  line-height:1
}
.brand-copy small{
  color:#9c7a48;
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.15em
}
.brand-copy strong{
  color:#2a1714;
  font-family:Georgia,serif;
  font-size:1.08rem;
  letter-spacing:-.025em;
  white-space:nowrap
}
.brand-copy em{
  color:#8e1a29;
  font-style:normal
}
.desktop-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px
}
.desktop-nav a{
  position:relative;
  padding:11px 0;
  color:#5c4a42;
  font-size:.84rem;
  font-weight:780;
  transition:color .18s ease
}
.desktop-nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:#a51e31;
  transition:right .18s ease
}
.desktop-nav a:hover{color:#8f1727}
.desktop-nav a:hover:after{right:0}
.header-actions{
  display:flex;
  align-items:center;
  gap:9px
}
.header-cta{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 17px;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(180deg,#aa2233,#851724);
  box-shadow:0 10px 24px rgba(135,23,36,.17);
  font-size:.82rem;
  font-weight:900
}
.header-cta b{
  display:grid;
  place-items:center;
  width:21px;height:21px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  font-size:.8rem
}
.cart-trigger{
  position:relative;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 14px;
  border:1px solid #e2d5c8;
  border-radius:14px;
  background:#fff;
  color:#30221d;
  box-shadow:0 7px 20px rgba(61,39,25,.05);
  font-weight:850
}
.cart-icon{
  position:relative;
  width:18px;
  height:16px;
  display:inline-block
}
.cart-icon:before{
  content:"";
  position:absolute;
  left:2px;top:2px;
  width:11px;height:8px;
  border:1.8px solid #8f1b2b;
  border-top:0;
  border-radius:2px 2px 4px 4px;
  transform:skewX(-8deg)
}
.cart-icon:after{
  content:"";
  position:absolute;
  left:4px;top:12px;
  width:3px;height:3px;
  border-radius:50%;
  background:#8f1b2b;
  box-shadow:8px 0 0 #8f1b2b
}
.cart-trigger> b{
  min-width:21px;
  height:21px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#8f1b2b;
  color:#fff;
  font-size:.66rem
}

/* Replace boxed proof cards with an editorial conversion rail */
.hero-proof-rail{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  width:min(100%,760px);
  margin:20px 0 22px;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18)
}
.hero-proof-rail .proof-item{
  min-height:72px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:12px;
  padding:4px 18px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  overflow:visible
}
.hero-proof-rail .proof-item:first-child{padding-left:0}
.hero-proof-rail .proof-item:not(:last-child){
  border-right:1px solid rgba(255,255,255,.16)
}
.hero-proof-rail .proof-item:before{display:none}
.proof-index{
  width:34px;height:34px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#6a3410;
  background:linear-gradient(180deg,#f7dc8b,#d9ac4d);
  box-shadow:0 7px 18px rgba(0,0,0,.14);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.04em
}
.hero-proof-rail .proof-item>div{
  display:grid;
  gap:3px
}
.hero-proof-rail .proof-item small{
  color:rgba(255,224,146,.84);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.13em
}
.hero-proof-rail .proof-item strong{
  color:#fff;
  font-family:inherit;
  font-size:.88rem;
  line-height:1.25;
  font-weight:820
}

@media(max-width:980px){
  .header-inner{
    grid-template-columns:auto 1fr auto;
    gap:16px
  }
  .desktop-nav{display:none}
}
@media(max-width:699px){
  .header-inner{
    width:calc(100% - 24px);
    min-height:68px;
    gap:8px
  }
  .brand-mark{width:40px;height:40px;border-radius:12px;font-size:.82rem}
  .brand-copy small{font-size:.49rem}
  .brand-copy strong{font-size:.88rem}
  .header-cta{display:none}
  .cart-trigger{
    min-width:44px;
    min-height:44px;
    padding:0 11px
  }
  .cart-label{display:none}
  .cart-trigger> b{
    position:absolute;
    top:-5px;
    right:-5px;
    min-width:18px;height:18px;
    font-size:.58rem
  }
  .hero-proof-rail{
    grid-template-columns:1fr;
    margin:16px 0 18px;
    padding:4px 0
  }
  .hero-proof-rail .proof-item{
    min-height:58px;
    padding:10px 0
  }
  .hero-proof-rail .proof-item:not(:last-child){
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12)
  }
  .proof-index{
    width:30px;height:30px;
    font-size:.6rem
  }
  .hero-proof-rail .proof-item strong{font-size:.86rem}
  .microtrust-refined{margin-top:10px}
}



/* ===== V5 sophisticated type + audience split + compact product cards ===== */
body{
  font-family:"Manrope",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
h1,h2,h3,.brand-copy strong,.product-card h3,.checkout-step h2,.final-cta h2,.trust-copy h2,.section-heading h2{
  font-family:"Fraunces",Georgia,serif;
  font-variation-settings:"SOFT" 50,"WONK" 0;
}
.brand-copy strong{font-family:"Fraunces",Georgia,serif}
.hero-cinematic h1{font-family:"Fraunces",Georgia,serif}
.hero-line-accent{font-style:normal;color:#f5cb64}

/* product card cleanup */
.kits-section{padding-top:104px}
.product-grid{padding-top:18px}
.product-card{overflow:hidden}
.product-card:nth-child(1),.product-card:nth-child(2),.product-card:nth-child(3){transform:none}
.product-card.recommended{transform:translateY(-10px)}
.product-ribbon{
  top:14px;
  left:14px;
  transform:none;
  min-width:0;
  max-width:calc(100% - 28px);
  padding:7px 10px;
  border:0;
  border-radius:999px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.65rem
}
.product-card figure{
  aspect-ratio:4/3;
  border-radius:0;
  overflow:hidden
}
.product-card figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0
}
.product-card-body{padding:22px}
.product-card h3{font-size:clamp(1.65rem,2.4vw,2rem);line-height:1.04}
.product-prop{min-height:0}
.benefits{padding:12px 13px}
.product-actions{margin-top:2px}

/* family vs business */
.audience-section{
  width:100%;
  max-width:none;
  margin:0;
  padding:104px max(18px,calc((100vw - var(--max))/2)) 96px;
  background:
    radial-gradient(circle at 15% 20%,rgba(160,27,43,.07),transparent 24rem),
    radial-gradient(circle at 88% 15%,rgba(9,81,56,.08),transparent 28rem),
    #f8f1e8
}
.audience-heading{
  max-width:920px;
  margin-bottom:34px
}
.audience-heading h2{
  font-size:clamp(2.7rem,5.6vw,5.4rem);
  line-height:.98;
  color:#731827
}
.audience-heading h2 em{font-style:normal;color:#0d5a40}
.audience-heading p{font-size:1.03rem;max-width:68ch}
.audience-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}
.audience-card{
  position:relative;
  min-height:620px;
  overflow:hidden;
  border-radius:30px;
  box-shadow:0 26px 70px rgba(60,34,24,.14);
  isolation:isolate
}
.audience-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease
}
.audience-card:hover img{transform:scale(1.025)}
.audience-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 22%,rgba(12,10,8,.14) 48%,rgba(13,9,7,.88) 100%),
    linear-gradient(90deg,rgba(72,14,24,.16),transparent 60%);
  z-index:1
}
.audience-business .audience-overlay{
  background:
    linear-gradient(180deg,rgba(0,0,0,.03) 22%,rgba(4,28,19,.18) 48%,rgba(4,33,24,.9) 100%)
}
.audience-content{
  position:absolute;
  z-index:3;
  left:26px;right:26px;bottom:28px;
  color:#fff
}
.audience-number{
  display:grid;
  place-items:center;
  width:38px;height:38px;
  margin-bottom:14px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
  font-size:.72rem;font-weight:800
}
.audience-content small{
  display:block;
  color:#f5d788;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.13em
}
.audience-content h3{
  margin:8px 0 10px;
  max-width:14ch;
  color:#fff;
  font-size:clamp(2rem,3.2vw,3.45rem);
  line-height:.98
}
.audience-content p{
  max-width:46ch;
  margin:0 0 18px;
  color:rgba(255,255,255,.78)
}
.audience-content a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:0 15px;
  border-radius:12px;
  background:#fff8ec;
  color:#40151a;
  font-size:.82rem;
  font-weight:900
}
.audience-business .audience-content a{color:#0d4d38}
.audience-product-note{
  position:absolute;
  z-index:3;
  top:18px;right:18px;
  display:grid;
  gap:2px;
  max-width:190px;
  padding:11px 13px;
  border-radius:14px;
  background:rgba(255,249,239,.93);
  color:#2c1d18;
  box-shadow:0 12px 30px rgba(0,0,0,.12)
}
.audience-product-note span{font-size:.62rem;color:#8f6e44;font-weight:800}
.audience-product-note strong{font-size:.82rem}
.audience-footnote{
  margin:14px 0 0;
  color:#8b7c72;
  font-size:.76rem
}

/* how it works - photo-led */
.ritual-section{
  padding-top:96px;
  padding-bottom:96px
}
.ritual-section .section-heading p{
  margin-inline:auto;
  max-width:58ch
}
.ritual-section .steps{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.ritual-section .steps>div{
  min-height:0;
  padding:0 0 22px;
  overflow:hidden;
  background:#fffdf9;
  border:1px solid #eadfce;
  box-shadow:0 18px 44px rgba(84,45,25,.08)
}
.step-photo{
  display:block!important;
  width:100%;
  height:190px;
  margin:0 0 18px!important;
  color:inherit!important;
  overflow:hidden;
  background:#eee3d4
}
.step-photo img{
  width:100%;
  height:100%;
  object-fit:cover
}
.ritual-section .steps b,
.ritual-section .steps>div>span:not(.step-photo){
  margin-left:22px
}
.ritual-section .steps h3,
.ritual-section .steps p{
  margin-left:22px;
  margin-right:22px
}
.ritual-section .steps b{
  margin-top:-38px;
  position:relative;
  z-index:2
}

/* final CTA becomes editorial */
.final-cta-story{
  width:min(100% - 32px,var(--max));
  min-height:0;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:0;
  padding:0;
  overflow:hidden;
  color:#fff;
  border-radius:34px;
  background:#781522;
  box-shadow:0 28px 76px rgba(98,20,31,.22)
}
.final-cta-media{
  position:relative;
  min-height:520px
}
.final-cta-media>img{
  width:100%;
  height:100%;
  object-fit:cover
}
.final-cta-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 62%,rgba(120,21,34,.62) 100%)
}
.final-product-card{
  position:absolute;
  z-index:3;
  left:24px;bottom:24px;
  width:min(330px,calc(100% - 48px));
  display:grid;
  grid-template-columns:82px 1fr;
  gap:11px;
  align-items:center;
  padding:11px;
  border-radius:18px;
  background:rgba(255,249,239,.94);
  color:#2c1b17;
  box-shadow:0 18px 44px rgba(0,0,0,.18)
}
.final-product-card img{
  width:82px;height:82px;object-fit:cover;border-radius:12px;background:#eee1cf
}
.final-product-card div{display:grid;gap:2px}
.final-product-card small{color:#a31e30;font-size:.62rem;font-weight:900}
.final-product-card strong{font-size:.95rem}
.final-product-card span{color:#0b6547;font-weight:900;font-size:.8rem}
.final-cta-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:52px
}
.final-cta-copy .eyebrow{color:#f2d07f}
.final-cta-copy h2{
  max-width:11ch;
  margin:.5rem 0 1rem;
  font-size:clamp(2.8rem,4.9vw,5.2rem);
  line-height:.96
}
.final-cta-copy p{
  max-width:46ch;
  margin:0 0 22px;
  color:rgba(255,255,255,.76);
  font-size:1rem
}
.final-cta-copy .btn{
  align-self:flex-start;
  background:#f4cd6d;
  color:#4d160e
}
.final-cta-copy>small{
  margin-top:12px;
  color:rgba(255,255,255,.62)
}

@media(max-width:900px){
  .audience-grid{grid-template-columns:1fr}
  .audience-card{min-height:520px}
  .ritual-section .steps{grid-template-columns:1fr}
  .final-cta-story{grid-template-columns:1fr}
  .final-cta-media{min-height:380px}
  .final-cta-copy{padding:38px 28px 42px}
}
@media(max-width:699px){
  .kits-section{padding-top:82px}
  .product-grid{padding-top:8px}
  .product-card.recommended{transform:none}
  .product-card figure{aspect-ratio:16/11}
  .product-ribbon{top:10px;left:10px;max-width:calc(100% - 20px)}
  .audience-section{padding-top:78px;padding-bottom:74px}
  .audience-heading h2{font-size:clamp(2.6rem,11.5vw,4rem)}
  .audience-card{min-height:500px;border-radius:24px}
  .audience-content{left:18px;right:18px;bottom:20px}
  .audience-content h3{font-size:2.35rem}
  .audience-product-note{top:12px;right:12px;max-width:160px}
  .ritual-section{padding-top:74px;padding-bottom:74px}
  .step-photo{height:175px}
  .final-cta-story{width:calc(100% - 24px);border-radius:26px}
  .final-cta-media{min-height:320px}
  .final-product-card{left:14px;bottom:14px;width:calc(100% - 28px)}
  .final-cta-copy{padding:30px 20px 34px}
  .final-cta-copy h2{font-size:clamp(2.65rem,11vw,3.9rem)}
}



/* ===== V6 trust commerce + typography refinement ===== */
body{
  font-family:"Manrope",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
h1,h2,h3,.brand-copy strong,.product-card h3,.checkout-step h2,.final-cta h2,.trust-copy h2,.section-heading h2,
.trust-intro h2,.support-card h3{
  font-family:"DM Serif Display",Georgia,serif
}
.hero-cinematic h1{font-family:"DM Serif Display",Georgia,serif}
.hero-line-accent{font-style:normal}

/* Professional trust section */
.trust-commerce{
  width:min(100% - 32px,var(--max));
  margin:88px auto;
  padding:0;
  display:block;
  overflow:hidden;
  border:1px solid #eadfce;
  border-radius:32px;
  background:#fffdf9;
  box-shadow:0 26px 70px rgba(66,40,25,.10)
}
.trust-intro{
  padding:52px 54px 34px;
  background:
    radial-gradient(circle at 88% 10%,rgba(16,103,72,.07),transparent 20rem),
    linear-gradient(180deg,#fffdf9,#fbf6ee)
}
.trust-intro .eyebrow{
  color:#9d1d2e
}
.trust-intro h2{
  max-width:14ch;
  margin:.45rem 0 1rem;
  color:#261a16;
  font-size:clamp(2.6rem,4.7vw,4.8rem);
  line-height:.98;
  letter-spacing:-.025em
}
.trust-intro>p{
  max-width:68ch;
  margin:0;
  color:#72665d;
  font-size:1rem;
  line-height:1.7
}
.trust-security-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:30px
}
.security-seal{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:82px;
  padding:14px 15px;
  border:1px solid #e8dfd5;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(55,35,23,.04)
}
.seal-icon{
  flex:0 0 auto;
  width:42px;height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#0e6749;
  background:#edf7f2
}
.seal-icon svg{
  width:22px;height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.security-seal>div{display:grid;gap:3px}
.security-seal small{
  color:#9b7763;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.11em
}
.security-seal strong{
  color:#2e201b;
  font-size:.82rem;
  line-height:1.3
}
.trust-details{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
  gap:22px;
  padding:28px 32px 32px;
  border-top:1px solid #eee3d8;
  background:#f7f1e8
}
.trust-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}
.trust-detail-grid article{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:13px;
  min-height:154px;
  padding:18px;
  border:1px solid #e6dbce;
  border-radius:18px;
  background:#fff
}
.trust-detail-grid article>span{
  width:32px;height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#7d1725;
  background:#f8e8e9;
  font-size:.65rem;
  font-weight:900
}
.trust-detail-grid article>div{display:grid;align-content:start;gap:4px}
.trust-detail-grid small{
  color:#0e6749;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.12em
}
.trust-detail-grid h3{
  margin:0;
  color:#2a1d18;
  font-size:1.28rem;
  line-height:1.08
}
.trust-detail-grid p{
  margin:4px 0 0;
  color:#756a62;
  font-size:.83rem;
  line-height:1.55
}
.support-card-pro{
  margin:0;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:24px;
  border:1px solid #d9e8df;
  border-top:1px solid #d9e8df;
  border-radius:20px;
  background:
    radial-gradient(circle at 90% 10%,rgba(20,115,80,.09),transparent 14rem),
    #fff;
  box-shadow:none
}
.support-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px
}
.support-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#0c6246;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.10em
}
.support-status i{
  width:8px;height:8px;
  border-radius:50%;
  background:#1d9a6a;
  box-shadow:0 0 0 4px rgba(29,154,106,.10)
}
.support-hours{
  color:#8a7d73;
  font-size:.7rem;
  font-weight:700
}
.support-card-pro h3{
  margin:20px 0 8px;
  color:#251a15;
  font-size:1.7rem;
  line-height:1.05
}
.support-card-pro p{
  margin:0 0 20px;
  color:#776a61;
  font-size:.9rem;
  line-height:1.55
}
.support-card-pro .btn{
  width:100%;
  min-height:50px;
  margin:0;
  justify-content:space-between;
  padding-inline:16px;
  border-radius:13px;
  background:#0b6246;
  box-shadow:none
}
.support-card-pro .btn span{font-size:1rem}
.support-card-pro .phone-link{
  display:inline-block;
  margin-top:13px;
  color:#0b6246;
  font-size:.9rem
}
.trust-disclaimer{
  display:block;
  margin-top:auto;
  padding-top:20px;
  color:#9a8e86;
  font-size:.66rem;
  line-height:1.45
}

@media(max-width:900px){
  .trust-intro{padding:40px 30px 28px}
  .trust-security-row{grid-template-columns:1fr}
  .trust-details{grid-template-columns:1fr}
}
@media(max-width:699px){
  .trust-commerce{
    width:calc(100% - 24px);
    margin:58px auto;
    border-radius:24px
  }
  .trust-intro{padding:28px 18px 22px}
  .trust-intro h2{
    max-width:none;
    font-size:clamp(2.35rem,10.7vw,3.45rem)
  }
  .trust-intro>p{font-size:.92rem}
  .security-seal{min-height:72px}
  .trust-details{padding:16px}
  .trust-detail-grid{grid-template-columns:1fr}
  .trust-detail-grid article{min-height:0}
  .support-card-pro{padding:20px}
}



/* ===== V7 conversion narrative sections ===== */
.kit-contents-section{
  width:min(100% - 32px,var(--max));
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:42px;
  align-items:center;
  padding-top:92px;
  padding-bottom:92px
}
.kit-contents-copy h2{
  margin:.45rem 0 1rem;
  font-size:clamp(2.8rem,5.2vw,5rem);
  line-height:.98;
  color:#2b1b17
}
.kit-contents-copy p{
  color:#766960;
  max-width:54ch;
  line-height:1.7
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  color:#8f1a2b;
  font-weight:900
}
.kit-contents-stage{
  position:relative;
  min-height:540px;
  display:grid;
  place-items:center;
  border-radius:30px;
  background:
    radial-gradient(circle at 22% 18%,rgba(172,30,48,.08),transparent 16rem),
    radial-gradient(circle at 86% 78%,rgba(10,92,65,.08),transparent 17rem),
    #fffaf3;
  border:1px solid #eadfce;
  box-shadow:0 24px 64px rgba(67,39,24,.09)
}
.contents-main{
  width:min(74%,520px);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(54,35,24,.10)
}
.contents-main img{aspect-ratio:4/3;object-fit:cover}
.contents-callout{
  position:absolute;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  min-width:210px;
  padding:12px 14px;
  border:1px solid #e6dacb;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(55,33,21,.09)
}
.contents-callout>span{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#8f1a2b;color:#fff;
  font-size:.66rem;font-weight:900
}
.contents-callout div{display:grid;gap:2px}
.contents-callout small{font-size:.58rem;font-weight:900;letter-spacing:.11em;color:#a17f55}
.contents-callout strong{font-size:.82rem}
.callout-a{left:18px;top:34px}
.callout-b{right:18px;top:42%}
.callout-c{left:34px;bottom:26px}
.kit-contents-note{
  grid-column:2;
  margin:-24px 0 0;
  color:#9a8d83;
  font-size:.72rem
}

/* Product-applied section */
.real-life-section{
  width:100%;
  max-width:none;
  margin:0;
  padding:100px max(18px,calc((100vw - var(--max))/2));
  background:linear-gradient(180deg,#0a4734,#073b2d);
  color:#fff
}
.real-life-heading{max-width:880px}
.real-life-heading .eyebrow{color:#f4d178}
.real-life-heading h2{
  font-size:clamp(2.8rem,5.6vw,5.2rem);
  color:#fff;
  line-height:.98
}
.real-life-heading h2 em{font-style:normal;color:#f4d178}
.real-life-heading p{color:rgba(255,255,255,.74);max-width:66ch}
.real-life-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:16px;
  align-items:stretch
}
.real-life-card{
  position:relative;
  min-height:510px;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.13);
  background:#0a392c
}
.real-life-card img{
  width:100%;height:100%;
  object-fit:cover;
  filter:saturate(1.04)
}
.real-life-card>div{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:80px 20px 20px;
  background:linear-gradient(180deg,transparent,rgba(4,24,18,.94))
}
.real-life-card>div span{
  width:34px;height:34px;
  display:grid;place-items:center;
  margin-bottom:10px;
  border-radius:50%;
  background:#f2ce74;
  color:#47320d;
  font-size:.68rem;font-weight:900
}
.real-life-card small{
  color:#f2ce74;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.12em
}
.real-life-card h3{
  margin:6px 0 8px;
  color:#fff;
  font-size:clamp(1.8rem,2.7vw,2.7rem);
  line-height:1.02
}
.real-life-card p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.86rem;
  line-height:1.55
}
.real-life-note{
  margin:16px 0 0;
  color:rgba(255,255,255,.52);
  font-size:.72rem
}

@media(max-width:980px){
  .kit-contents-section{grid-template-columns:1fr}
  .kit-contents-note{grid-column:1;margin:-20px 0 0}
  .real-life-grid{grid-template-columns:1fr 1fr}
  .real-life-main{grid-column:1/-1}
}
@media(max-width:699px){
  .kit-contents-section{padding-top:72px;padding-bottom:72px}
  .kit-contents-copy h2{font-size:clamp(2.6rem,11vw,3.9rem)}
  .kit-contents-stage{min-height:500px}
  .contents-main{width:82%}
  .contents-callout{min-width:0;max-width:72%;padding:10px 11px}
  .callout-a{left:10px;top:18px}
  .callout-b{right:10px;top:46%}
  .callout-c{left:14px;bottom:16px}
  .real-life-section{padding-top:78px;padding-bottom:78px}
  .real-life-grid{grid-template-columns:1fr}
  .real-life-main{grid-column:auto}
  .real-life-card{min-height:440px}
}


/* ===== V8 two-kit product photography ===== */
.kits-section .product-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:980px;
  margin-inline:auto;
  gap:24px
}
.kits-section .product-card:nth-child(1){transform:rotate(-.45deg)}
.kits-section .product-card:nth-child(2){transform:translateY(-10px)}
.product-card figure{
  overflow:hidden;
  aspect-ratio:16/10;
  background:#efe7dc
}
.product-card figure>img{
  width:100%;
  height:100%;
  object-fit:cover
}
.product-photo-strip{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:7px;
  padding:8px 10px 0;
  background:#fff
}
.product-photo-strip img{
  width:100%;
  height:92px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid #eadfd4;
  background:#f4eee7
}
.kit-contents-stage .contents-main{
  width:min(82%,620px);
  box-shadow:0 24px 58px rgba(54,35,24,.15)
}
.kit-contents-stage .contents-main img{
  width:100%;
  height:100%;
  object-fit:cover
}
.real-life-card img{
  filter:none
}
.real-life-card:nth-child(2) img,
.real-life-card:nth-child(3) img{
  object-position:center
}
.real-life-note,
.kit-contents-note{
  font-style:normal;
  letter-spacing:.01em
}
@media(max-width:699px){
  .kits-section .product-grid{
    grid-template-columns:1fr;
    max-width:none;
    gap:18px
  }
  .kits-section .product-card:nth-child(1),
  .kits-section .product-card:nth-child(2){transform:none}
  .product-card figure{aspect-ratio:4/3}
  .product-photo-strip img{height:78px}
}


/* ===== V9 individual product artwork + premium kit cards ===== */
.kits-section .product-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  max-width:1040px;
  margin-inline:auto;
  align-items:start;
}
.product-card{
  overflow:hidden;
  border:1px solid #eadbcf;
  border-radius:30px;
  background:#fffdf9;
  box-shadow:0 24px 60px rgba(67,39,25,.10);
  transform:none!important;
}
.product-card.recommended{
  border:2px solid #b81f33;
  box-shadow:0 28px 70px rgba(133,22,39,.16);
}
.product-card-media{
  position:relative;
  aspect-ratio:6/7;
  overflow:hidden;
  margin:0;
  background:#f4eadf;
  border-radius:0;
}
.product-card-media>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.product-card-body{
  padding:26px 28px 28px;
  display:grid;
  gap:15px;
}
.product-card-kicker{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:24px;
}
.product-card-kicker>span{
  color:#9b7a67;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.14em;
}
.product-card-kicker>b{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  border-radius:999px;
  color:#8e1728;
  background:#fff0ee;
  border:1px solid #f2d2ce;
  font-size:.69rem;
  font-weight:900;
  white-space:nowrap;
}
.product-card--basic .product-card-kicker>span{color:#9a1a2a}
.product-card--personal .product-card-kicker>span{color:#0c6848}
.product-card .product-top{
  display:block;
  margin:0;
}
.product-card .product-top h3{
  margin:0;
  color:#261814;
  font-size:clamp(1.9rem,3vw,2.45rem);
  line-height:1.02;
}
.product-card .product-prop{
  margin:0;
  min-height:48px;
  color:#76665d;
  font-size:.96rem;
  line-height:1.55;
}
.product-card .benefits{
  display:grid;
  gap:10px;
  margin:0;
  padding:16px 18px;
  border:1px solid #eadfd4;
  border-radius:17px;
  background:#fbf7f1;
}
.product-card .benefits span{
  position:relative;
  display:block;
  padding-left:22px;
  color:#3f342e;
  font-size:.88rem;
  line-height:1.35;
}
.product-card .benefits span:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#0b6b49;
  font-weight:950;
}
.product-card .price-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:end;
  margin-top:2px;
  padding-top:18px;
  border-top:1px solid #eee1d5;
}
.product-card .price-row>div{
  display:grid;
  gap:3px;
}
.product-card .price-row small{
  color:#8d7c72;
  font-size:.72rem;
}
.product-card .price-row strong{
  color:#231713;
  font-size:1.35rem;
}
.product-card .pix-price{
  padding:8px 11px;
  border-radius:12px;
  text-align:right;
  background:#edf8f3;
}
.product-card .pix-price strong{color:#08704d}
.product-card .product-actions{
  display:grid;
  gap:9px;
}
.product-card .product-actions .btn{
  min-height:54px;
  border-radius:14px;
}
.product-card--basic .product-actions .btn-primary{
  background:linear-gradient(180deg,#bd2135,#9a1728);
}
.product-card--personal .product-actions .btn-primary{
  background:linear-gradient(180deg,#0d6849,#08553b);
}
.product-card .product-actions .btn-secondary{
  background:#fff;
  border:1px solid #e6d8cb;
}
.product-ribbon,
.product-card>.badge,
.product-card .product-top>.badge{
  display:none!important;
}
@media(max-width:820px){
  .kits-section .product-grid{
    grid-template-columns:1fr;
    max-width:620px;
    gap:22px;
  }
  .product-card-media{aspect-ratio:5/6;}
}
@media(max-width:520px){
  .product-card{
    border-radius:22px;
  }
  .product-card-media{aspect-ratio:4/5;}
  .product-card-body{padding:20px 18px 22px;}
  .product-card .product-top h3{font-size:1.95rem;}
  .product-card .price-row{grid-template-columns:1fr auto;}
}


/* ===== V10 visual consolidation ===== */
body{
  font-family:"Manrope",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#f8f4ed;
}
h1,h2,h3,.brand-copy strong,.product-card h3,.checkout-step h2,.final-cta h2,.trust-intro h2,.section-heading h2{
  font-family:"DM Serif Display",Georgia,serif!important;
  font-variation-settings:normal!important;
}
.announcement-bar{
  min-height:34px;
  padding:7px 18px;
  gap:20px;
  font-size:.72rem;
  letter-spacing:.04em;
  background:#7f1321;
}
.site-header{box-shadow:0 8px 28px rgba(61,34,22,.045)}
.header-inner{min-height:74px}
.brand-mark{display:none}
.brand-copy small{font-size:.54rem}
.brand-copy strong{font-size:1.15rem}
.header-cta{background:#8f1828;box-shadow:none}
.cart-trigger{box-shadow:none}

/* Hero: quieter, product-first */
.hero-cinematic{
  min-height:auto;
  padding-top:64px;
  padding-bottom:70px;
  background:#481017;
}
.hero-backdrop{
  background:
    radial-gradient(circle at 80% 15%,rgba(246,207,116,.10),transparent 24rem),
    linear-gradient(120deg,#3d0b12 0%,#64111d 54%,#3a0b10 100%);
}
.hero-garland,.hero-ornament,.hero-lights,.hero-sparkles{display:none!important}
.hero-copy{position:relative;z-index:2}
.hero-cinematic .eyebrow{color:#e5bf67}
.hero-cinematic h1{
  max-width:10ch;
  margin:.5rem 0 1.1rem;
  font-size:clamp(3.45rem,6.6vw,6.8rem);
  line-height:.9;
  letter-spacing:-.035em;
}
.hero-line-accent{color:#f2cb6d}
.hero-cinematic .hero-copy>p{
  max-width:56ch;
  color:rgba(255,255,255,.75);
  font-size:1.02rem;
  line-height:1.65;
}
.hero-price{
  margin:22px 0 14px;
  padding:0;
  background:transparent;
  border:0;
}
.hero-price span{color:rgba(255,255,255,.64)}
.hero-price strong{color:#fff;font-size:2rem}
.hero-price em{background:rgba(16,101,71,.88);color:#fff}
.hero-proof-rail{
  width:min(100%,680px);
  margin:14px 0 20px;
  padding:10px 0;
}
.hero-proof-rail .proof-item{min-height:58px;padding:4px 14px}
.hero-proof-rail .proof-index{
  width:28px;height:28px;
  box-shadow:none;
}
.hero-proof-rail .proof-item strong{font-size:.82rem}
.hero-actions{gap:16px}
.hero-actions .btn-primary{
  background:#f1cf77;
  color:#5d1b12;
  box-shadow:none;
}
.hero-secondary{color:#fff}
.microtrust-refined{
  margin-top:13px;
  border-top:0;
  padding-top:0;
  opacity:.78;
}
.hero-product-story{
  position:relative;
  display:block;
  min-height:620px;
  padding:0 0 52px;
}
.hero-product-photo{
  display:block;
  width:88%;
  margin-left:auto;
  overflow:hidden;
  border:6px solid rgba(255,247,229,.9);
  border-radius:28px;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
  transform:rotate(1deg);
}
.hero-product-photo img{
  aspect-ratio:4/5!important;
  min-height:0!important;
  object-fit:cover;
  border-radius:22px!important;
}
.hero-product-caption{
  position:absolute;
  left:0;
  bottom:20px;
  z-index:3;
  width:min(72%,390px);
  padding:18px 20px;
  border-radius:18px;
  background:#fff8ec;
  color:#281813;
  box-shadow:0 20px 52px rgba(0,0,0,.22);
}
.hero-product-caption span{
  display:block;
  margin-bottom:5px;
  color:#9c1a2a;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.14em;
}
.hero-product-caption strong{
  font-size:.98rem;
  line-height:1.4;
}
.hero-product-mini{
  position:absolute;
  right:0;
  bottom:0;
  z-index:4;
  width:190px;
  display:grid;
  grid-template-columns:62px 1fr;
  gap:10px;
  align-items:center;
  padding:9px;
  border-radius:15px;
  background:#0b5f43;
  color:#fff;
  box-shadow:0 16px 38px rgba(0,0,0,.2);
}
.hero-product-mini img{
  width:62px;height:62px;
  object-fit:cover;
  border-radius:10px!important;
}
.hero-product-mini div{display:grid;gap:2px}
.hero-product-mini small{font-size:.55rem;letter-spacing:.09em;color:#e8cf8a}
.hero-product-mini strong{font-size:.77rem;line-height:1.2}

/* What comes in the kit: real visual inventory */
.kit-contents-section{
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  gap:50px;
  align-items:start;
}
.kit-contents-copy{
  position:sticky;
  top:118px;
  padding-top:24px;
}
.kit-contents-copy h2{
  max-width:10ch;
  font-size:clamp(3rem,5vw,5.1rem);
}
.kit-items-showcase{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:14px;
}
.kit-item{
  position:relative;
  overflow:hidden;
  min-height:290px;
  border:1px solid #e8dccf;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 42px rgba(61,39,26,.07);
}
.kit-item-featured{
  grid-row:span 2;
  min-height:594px;
}
.kit-item img{
  width:100%;
  height:100%;
  min-height:290px;
  object-fit:cover;
  background:#f2e9df;
}
.kit-item-featured img{min-height:594px}
.kit-item>div{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:64px 18px 18px;
  background:linear-gradient(180deg,transparent,rgba(31,18,13,.91));
  color:#fff;
}
.kit-item small{
  color:#f1cf77;
  font-size:.58rem;
  letter-spacing:.12em;
  font-weight:900;
}
.kit-item h3{
  margin:5px 0 4px;
  font-size:1.55rem;
  line-height:1.02;
}
.kit-item p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.8rem;
}
.kit-contents-note{
  grid-column:2;
  margin:0;
  padding-top:4px;
}

/* Cards: image tells, interface sells */
.kits-section{
  background:#fffaf3;
}
.kits-section .product-grid{
  max-width:1040px;
  gap:22px;
}
.product-card{
  border-radius:24px;
  box-shadow:0 18px 44px rgba(67,39,25,.08);
}
.product-card.recommended{
  border:2px solid #0b6548;
  box-shadow:0 22px 54px rgba(9,83,59,.12);
}
.product-card-media.product-media-collage{
  display:grid;
  grid-template-columns:1.55fr .7fr;
  gap:7px;
  height:390px;
  aspect-ratio:auto;
  padding:7px;
  background:#eee4d8;
}
.product-media-main,.product-media-side{min-width:0;min-height:0}
.product-media-main img{
  width:100%;height:100%;
  object-fit:cover;
  border-radius:16px;
  background:#f2e9df;
}
.product-card--personal .product-media-main img{
  object-fit:contain;
  padding:24px;
  background:#f4ece3;
}
.product-media-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:7px;
}
.product-media-side img{
  width:100%;height:100%;
  object-fit:cover;
  border-radius:14px;
  background:#f4ece3;
}
.product-card--personal .product-media-side img:last-child{object-fit:contain;padding:8px}
.product-card-body{padding:24px 26px 26px;gap:13px}
.product-card-kicker>span{color:#9b765f}
.product-card-kicker>b{
  color:#0a6547;
  background:#edf7f2;
  border-color:#d8ebe1;
}
.product-card .product-prop{min-height:0}
.product-card .benefits{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  gap:8px;
}
.product-card .benefits span{
  padding-left:20px;
  font-size:.85rem;
}
.product-card .price-row{margin-top:6px}
.product-card--personal .product-actions .btn-primary{background:#0b6548}
.product-card--basic .product-actions .btn-primary{background:#a71c2d}

/* How it looks: less cardy, better storytelling */
.real-life-grid{
  grid-template-columns:1.2fr .9fr .9fr;
  gap:14px;
}
.real-life-card{
  min-height:560px;
  border-radius:22px;
}
.real-life-card img{object-position:center}
.real-life-card:nth-child(3) img{
  object-fit:contain;
  padding:42px;
  background:#efe6da;
}
.real-life-card>div{
  padding:100px 18px 18px;
}
.real-life-card h3{font-size:clamp(1.65rem,2.4vw,2.35rem)}

/* Family remains primary; business becomes secondary */
.audience-section{
  padding-top:78px;
  padding-bottom:78px;
}
.audience-heading{
  max-width:760px;
  margin-bottom:26px;
}
.audience-heading h2{
  font-size:clamp(2.8rem,4.8vw,4.7rem);
}
.audience-grid{
  grid-template-columns:1.35fr .65fr;
  gap:14px;
}
.audience-card{min-height:480px;border-radius:24px}
.audience-business{min-height:420px;align-self:center}
.audience-business .audience-content h3{font-size:2.2rem}
.audience-business .audience-product-note{display:none}

/* How it works: editorial steps, not three generic white cards */
.ribbon-title{display:none}
.ritual-section{
  padding-top:90px;
  padding-bottom:90px;
  background:#f3e8d8;
}
.ritual-section .steps{
  position:relative;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.ritual-section .steps:before{
  content:"";
  position:absolute;
  left:16.5%;right:16.5%;top:220px;
  height:1px;
  background:#cfb99c;
}
.ritual-section .steps>div{
  position:relative;
  min-height:0;
  padding:0 22px 22px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.ritual-section .steps>div:nth-child(2){transform:none}
.step-photo{
  height:190px;
  margin:0 -22px 24px;
  border-radius:20px;
  overflow:hidden;
  background:#e8ddcf;
}
.step-photo img{
  width:100%;height:100%;
  object-fit:cover;
}
.ritual-section .steps b{
  position:relative;
  z-index:2;
  width:44px;height:44px;
  margin-top:-46px;
  border:4px solid #f3e8d8;
  background:#8f1828;
  box-shadow:none;
}
.ritual-section .steps>div>span:not(.step-photo){
  display:block;
  margin-top:10px;
  color:#0b6548;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.12em;
}
.ritual-section .steps h3{margin:5px 0 6px;font-size:1.45rem}

/* Trust: less defensive and less box-heavy */
.trust-commerce{
  box-shadow:none;
  border-color:#e4d8cb;
}
.trust-intro{padding:44px 46px 30px}
.trust-intro h2{font-size:clamp(2.7rem,4.2vw,4.5rem)}
.trust-security-row{gap:10px}
.security-seal{
  min-height:72px;
  box-shadow:none;
}
.trust-details{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  padding:22px 26px 26px;
}
.trust-detail-grid{
  grid-template-columns:1fr;
  gap:0;
}
.trust-detail-grid article{
  min-height:0;
  padding:15px 4px;
  border:0;
  border-radius:0;
  border-bottom:1px solid #e4d8cb;
  background:transparent;
}
.trust-detail-grid article:last-child{border-bottom:0}
.trust-detail-grid article>span{
  background:#efe2d5;
  color:#8f1828;
}
.support-card-pro{min-height:auto;align-self:start}

/* Final CTA: product-backed, no fake popularity */
.final-cta-story{
  width:min(100% - 32px,1120px);
  grid-template-columns:.9fr 1.1fr;
  overflow:hidden;
  background:#7f1321;
  border-radius:28px;
}
.final-cta-media>img{
  filter:saturate(.95) contrast(.98);
}
.final-product-card{
  width:310px;
  grid-template-columns:82px 1fr;
}
.final-product-card img{
  height:82px;
  object-fit:cover;
}
.final-product-card small{color:#a81c2e}
.final-cta-copy{
  padding:56px 52px;
}
.final-cta-copy h2{
  max-width:12ch;
  font-size:clamp(3rem,4.8vw,5rem);
}
.final-cta-copy .btn{
  background:#f1cf77;
  color:#5e170f;
}

/* Remove obsolete decorative systems */
.magic-marquee,.hero-photo-badge,.hero-product-float{display:none!important}

@media(max-width:980px){
  .kit-contents-section{grid-template-columns:1fr}
  .kit-contents-copy{position:static;padding-top:0}
  .kit-items-showcase{grid-template-columns:1fr 1fr}
  .kit-item-featured{grid-row:auto;grid-column:1/-1;min-height:470px}
  .kit-item-featured img{min-height:470px}
  .kit-contents-note{grid-column:1}
  .audience-grid{grid-template-columns:1fr}
  .audience-business{min-height:440px}
}
@media(max-width:820px){
  .product-card-media.product-media-collage{height:360px}
  .ritual-section .steps{grid-template-columns:1fr;gap:30px}
  .ritual-section .steps:before{display:none}
  .ritual-section .steps>div{padding:0}
  .step-photo{margin:0 0 18px}
  .ritual-section .steps b{margin-top:-42px}
}
@media(max-width:699px){
  .announcement-bar{
    justify-content:center;
    white-space:nowrap;
    overflow:hidden;
  }
  .announcement-bar span:last-child{display:none}
  .header-inner{min-height:66px}
  .brand-copy strong{font-size:.93rem}
  .hero-cinematic{padding:46px 16px 50px}
  .hero-cinematic h1{font-size:clamp(3.1rem,13vw,4.45rem)}
  .hero-proof-rail .proof-item:nth-child(3){display:none}
  .hero-product-story{min-height:500px}
  .hero-product-photo{width:94%}
  .hero-product-caption{
    left:0;bottom:22px;
    width:78%;
    padding:14px 15px;
  }
  .hero-product-mini{
    width:160px;
    grid-template-columns:52px 1fr;
  }
  .hero-product-mini img{width:52px;height:52px}
  .kit-items-showcase{grid-template-columns:1fr}
  .kit-item-featured{grid-column:auto;min-height:420px}
  .kit-item-featured img{min-height:420px}
  .kit-item{min-height:320px}
  .kit-item img{min-height:320px}
  .product-card-media.product-media-collage{
    height:320px;
    grid-template-columns:1.5fr .72fr;
  }
  .real-life-grid{grid-template-columns:1fr}
  .real-life-card{min-height:430px}
  .audience-card,.audience-business{min-height:430px}
  .trust-intro{padding:28px 20px 22px}
  .trust-details{padding:16px}
  .final-cta-story{grid-template-columns:1fr}
  .final-cta-copy{padding:32px 22px 36px}
}


/* ===== V11 mobile-first image cleanup ===== */
.hero-product-story{
  min-height:0!important;
  padding:0!important;
  display:grid!important;
  gap:10px!important;
}
.hero-product-photo{
  width:100%!important;
  margin:0!important;
  transform:none!important;
  border:0!important;
  border-radius:24px!important;
  box-shadow:0 24px 60px rgba(0,0,0,.20)!important;
  overflow:hidden!important;
}
.hero-product-photo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:3/2!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:24px!important;
}
.hero-image-note{
  margin:0!important;
  color:rgba(255,255,255,.58)!important;
  font-size:.72rem!important;
  line-height:1.4!important;
}
.hero-product-caption,.hero-product-mini{display:none!important}

/* One clean hero image per product card */
.product-card-media{
  display:block!important;
  height:auto!important;
  aspect-ratio:3/4!important;
  padding:0!important;
  margin:0!important;
  background:#efe6dc!important;
}
.product-card-media>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  border-radius:0!important;
}
.product-card--personal .product-card-media>img{
  object-fit:cover!important;
  padding:0!important;
  background:#efe6dc!important;
}
.product-media-main,.product-media-side{display:none!important}

/* Product application cards: never place copy over photography */
.real-life-card{
  display:grid!important;
  grid-template-rows:auto auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
  color:#241714!important;
}
.real-life-card img{
  position:static!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  background:#ece3d8!important;
}
.real-life-card:nth-child(3) img{
  object-fit:cover!important;
  padding:0!important;
}
.real-life-card>div{
  position:static!important;
  padding:20px!important;
  background:#fff!important;
}
.real-life-card>div span{
  margin-bottom:10px!important;
  background:#8f1828!important;
  color:#fff!important;
}
.real-life-card small{color:#0b6548!important}
.real-life-card h3{
  color:#281915!important;
  font-size:1.6rem!important;
}
.real-life-card p{color:#74685f!important}
.real-life-note{color:rgba(255,255,255,.64)!important}

/* Inventory tiles: copy below on mobile, overlay only on wide desktop */
@media(max-width:699px){
  .hero-cinematic{
    display:block!important;
    padding:38px 14px 42px!important;
  }
  .hero-copy{margin-bottom:26px!important}
  .hero-cinematic h1{
    max-width:none!important;
    font-size:clamp(3rem,13.3vw,4.35rem)!important;
    line-height:.91!important;
  }
  .hero-copy>p{font-size:.96rem!important}
  .hero-price{margin:18px 0 12px!important}
  .hero-proof-rail{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
  }
  .hero-proof-rail .proof-item{
    padding:9px 10px!important;
    min-height:54px!important;
  }
  .hero-proof-rail .proof-item:nth-child(3){display:none!important}
  .hero-actions{
    display:grid!important;
    gap:10px!important;
  }
  .hero-actions .btn,.hero-secondary{
    width:100%!important;
    min-height:50px!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .microtrust-refined{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
    padding-bottom:4px!important;
  }
  .hero-product-photo img{
    aspect-ratio:3/2!important;
  }
  .hero-image-note{padding:0 2px!important}

  .kit-contents-section{
    width:calc(100% - 28px)!important;
    gap:26px!important;
    padding:58px 0!important;
  }
  .kit-contents-copy h2{
    max-width:none!important;
    font-size:clamp(2.55rem,11vw,3.8rem)!important;
  }
  .kit-items-showcase{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .kit-item,.kit-item-featured{
    display:grid!important;
    min-height:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    overflow:hidden!important;
  }
  .kit-item img,.kit-item-featured img{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important;
  }
  .kit-item>div{
    position:static!important;
    padding:17px 18px 19px!important;
    background:#fff!important;
    color:#2b1c17!important;
  }
  .kit-item small{color:#0b6548!important}
  .kit-item h3{font-size:1.55rem!important}
  .kit-item p{color:#766960!important;font-size:.84rem!important}
  .kit-contents-note{font-size:.68rem!important}

  .kits-section{
    padding:64px 14px 72px!important;
  }
  .kits-section .product-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .product-card{
    width:100%!important;
    max-width:none!important;
    flex:none!important;
    border-radius:22px!important;
  }
  .product-card-media{aspect-ratio:3/4!important}
  .product-card-body{padding:20px 18px 22px!important}
  .product-card .product-top h3{font-size:2rem!important}
  .product-card .product-prop{font-size:.91rem!important}
  .product-card .benefits span{font-size:.84rem!important}
  .product-card .product-actions .btn{width:100%!important}

  .real-life-section{
    padding:64px 14px!important;
  }
  .real-life-heading h2{
    font-size:clamp(2.55rem,11vw,3.8rem)!important;
  }
  .real-life-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .real-life-card{border-radius:20px!important}
  .real-life-card img{aspect-ratio:4/3!important}

  .audience-section{
    padding:60px 14px!important;
  }
  .audience-grid{grid-template-columns:1fr!important}
  .audience-card,.audience-business{min-height:390px!important}

  .ritual-section{
    padding:60px 14px!important;
  }
  .step-photo{
    height:auto!important;
    aspect-ratio:4/3!important;
  }

  .trust-commerce{
    width:calc(100% - 24px)!important;
    margin:48px auto!important;
  }
  .trust-intro h2{
    font-size:clamp(2.4rem,10.5vw,3.35rem)!important;
  }

  .final-cta-story{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr!important;
    border-radius:22px!important;
  }
  .final-cta-media{min-height:0!important}
  .final-cta-media>img{
    position:static!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important;
  }
  .final-product-card{display:none!important}
  .final-cta-copy{padding:28px 20px 32px!important}
  .final-cta-copy h2{
    font-size:clamp(2.55rem,11vw,3.7rem)!important;
  }
}

@media(min-width:700px){
  .hero-product-photo img{aspect-ratio:4/5!important}
  .real-life-card{
    grid-template-rows:320px auto!important;
  }
}

/* ===== Product photography refresh 2026-10-28 ===== */
.kit-items-showcase-v2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.kit-items-showcase-v2 .kit-item{
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  min-height:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 16px 42px rgba(62,35,24,.08)!important;
}
.kit-items-showcase-v2 .kit-item img{
  position:static!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/2!important;
  object-fit:cover!important;
  object-position:center!important;
  min-height:0!important;
  filter:none!important;
}
.kit-items-showcase-v2 .kit-item>div{
  position:static!important;
  padding:20px 22px 22px!important;
  background:#fff!important;
  color:#261814!important;
  transform:none!important;
}
.kit-items-showcase-v2 .kit-item small{color:#a91f2c!important}
.kit-items-showcase-v2 .kit-item h3{color:#241713!important;font-size:1.55rem!important}
.kit-items-showcase-v2 .kit-item p{color:#766a62!important;max-width:48ch!important}
.product-card-media{
  aspect-ratio:3/2!important;
  background:#f5ede4!important;
}
.product-card-media>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.product-card--personal .product-card-media>img{
  object-fit:contain!important;
  padding:24px!important;
}
@media(max-width:699px){
  .kit-items-showcase-v2{grid-template-columns:1fr!important;gap:14px!important}
  .kit-items-showcase-v2 .kit-item{border-radius:20px!important}
  .kit-items-showcase-v2 .kit-item img{aspect-ratio:3/2!important}
  .kit-items-showcase-v2 .kit-item>div{padding:17px 18px 20px!important}
  .product-card-media{aspect-ratio:3/2!important}
  .product-card-media>img{object-fit:cover!important;padding:0!important}
  .product-card--personal .product-card-media>img{object-fit:contain!important;padding:16px!important}
  .hero-product-photo img{aspect-ratio:3/2!important;object-fit:cover!important;object-position:center!important}
}


/* ===== Final product photography system — mobile first ===== */
:root{
  --product-photo-bg:#f1e7db;
}

.hero-product-photo,
.hero-product-photo img,
.kit-item img,
.product-card-media,
.product-card-media>img,
.real-life-card img,
.product-detail-card img,
.step-photo img{
  image-rendering:auto;
}

.hero-product-photo{
  background:var(--product-photo-bg);
}
.hero-product-photo img{
  width:100%;
  height:auto!important;
  aspect-ratio:3/2!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* "O que vem no kit": photographs must stay readable, never become tall blurry strips */
.kit-items-showcase-v2{
  align-items:stretch;
}
.kit-items-showcase-v2 .kit-item{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  overflow:hidden!important;
  background:#fffdf9!important;
}
.kit-items-showcase-v2 .kit-item img{
  position:static!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:3/2!important;
  object-fit:cover!important;
  object-position:center!important;
  background:var(--product-photo-bg)!important;
}
.kit-items-showcase-v2 .kit-item-photo img{
  aspect-ratio:1/1!important;
}
.kit-items-showcase-v2 .kit-item>div{
  position:static!important;
  padding:20px!important;
  background:#fffdf9!important;
  color:var(--ink)!important;
}
.kit-items-showcase-v2 .kit-item>div small{color:var(--red)!important}
.kit-items-showcase-v2 .kit-item>div p{color:var(--muted)!important}

/* Product cards: use the actual full kit photo instead of cropping a vertical slice */
.product-card-media{
  aspect-ratio:3/2!important;
  height:auto!important;
  min-height:0!important;
  background:var(--product-photo-bg)!important;
  overflow:hidden!important;
}
.product-card-media>img,
.product-card--personal .product-card-media>img{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  background:var(--product-photo-bg)!important;
}
.product-card-body{
  padding-top:22px!important;
}

/* Technical product detail */
.product-detail-section{
  width:min(1180px,calc(100% - 32px));
  margin-inline:auto;
  padding:72px 0;
}
.product-detail-heading{
  max-width:760px;
}
.product-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.product-detail-card{
  overflow:hidden;
  border:1px solid #e6d9c9;
  border-radius:26px;
  background:#fffdf9;
  box-shadow:0 16px 42px rgba(65,38,24,.08);
}
.product-detail-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  background:var(--product-photo-bg);
}
.product-detail-card:nth-child(2) img{
  aspect-ratio:4/3;
  object-position:center 48%;
}
.product-detail-card>div{
  padding:22px 24px 25px;
}
.product-detail-card small{
  display:block;
  margin-bottom:7px;
  color:var(--red);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
}
.product-detail-card h3{
  margin:0 0 8px;
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.8rem,3vw,2.5rem);
  line-height:1;
}
.product-detail-card p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

/* Applied product section */
.real-life-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/2!important;
  object-fit:cover!important;
  object-position:center!important;
}
.real-life-card:nth-child(2) img{
  aspect-ratio:1/1!important;
}
.real-life-card:nth-child(3) img{
  aspect-ratio:3/2!important;
  object-fit:cover!important;
  padding:0!important;
}

/* Steps use only our real product photography */
.step-photo{
  overflow:hidden!important;
  background:var(--product-photo-bg)!important;
}
.step-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Mobile is the primary layout */
@media(max-width:699px){
  .hero-product-photo{
    border-radius:20px!important;
  }
  .hero-product-photo img{
    aspect-ratio:3/2!important;
    min-height:0!important;
  }

  .kit-contents-section{
    width:calc(100% - 28px)!important;
  }
  .kit-items-showcase-v2{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .kit-items-showcase-v2 .kit-item{
    border-radius:20px!important;
  }
  .kit-items-showcase-v2 .kit-item img,
  .kit-items-showcase-v2 .kit-item-photo img{
    aspect-ratio:3/2!important;
  }
  .kit-items-showcase-v2 .kit-item>div{
    padding:18px!important;
  }
  .kit-items-showcase-v2 .kit-item h3{
    font-size:1.55rem!important;
    line-height:1.05!important;
  }

  .product-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    gap:20px!important;
    margin:0!important;
    padding:0!important;
  }
  .product-card{
    width:100%!important;
    max-width:none!important;
    flex:none!important;
    border-radius:22px!important;
  }
  .product-card-media{
    aspect-ratio:3/2!important;
  }
  .product-card-media>img{
    object-fit:cover!important;
  }
  .product-card-body{
    padding:19px 18px 22px!important;
  }
  .product-card .product-top h3{
    font-size:1.9rem!important;
  }

  .product-detail-section{
    width:calc(100% - 28px);
    padding:58px 0;
  }
  .product-detail-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .product-detail-card{
    border-radius:20px;
  }
  .product-detail-card img,
  .product-detail-card:nth-child(2) img{
    aspect-ratio:4/3;
  }
  .product-detail-card>div{
    padding:18px;
  }

  .real-life-grid{
    grid-template-columns:1fr!important;
  }
  .real-life-card img,
  .real-life-card:nth-child(2) img,
  .real-life-card:nth-child(3) img{
    aspect-ratio:3/2!important;
  }
  .real-life-card>div{
    padding:18px!important;
  }

  .steps{
    grid-template-columns:1fr!important;
  }
  .step-photo{
    height:auto!important;
    aspect-ratio:3/2!important;
  }

  /* prevent any image from being enlarged into a soft-looking billboard */
  .kit-item img,
  .product-card-media img,
  .real-life-card img,
  .product-detail-card img,
  .step-photo img{
    max-width:100%;
  }
}

@media(min-width:700px){
  .product-card-media{aspect-ratio:3/2!important}
  .kit-items-showcase-v2 .kit-item-kit img{aspect-ratio:3/2!important}
}

@media(min-width:1100px){
  .kit-items-showcase-v2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .product-card-media>img{
    object-fit:cover!important;
  }
}


/* ===== Commerce simplification + live letter preview ===== */
.product-guide-section{
  width:min(1180px,calc(100% - 32px));
  margin-inline:auto;
  padding:76px 0 54px;
}
.product-guide-head{max-width:760px;margin-bottom:28px}
.product-guide-head h2{
  margin:8px 0 12px;
  max-width:15ch;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(2.8rem,5vw,4.8rem);
  line-height:.96;
  letter-spacing:-.025em;
}
.product-guide-head p{max-width:64ch;color:var(--muted);line-height:1.65}
.material-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.material-strip article{
  display:grid;
  grid-template-columns:108px 1fr;
  align-items:center;
  min-width:0;
  overflow:hidden;
  border:1px solid #e6d9c9;
  border-radius:20px;
  background:#fffdf9;
}
.material-strip img{
  width:108px;height:108px;object-fit:cover;display:block;
}
.material-strip article>div{padding:14px 16px}
.material-strip small{
  display:block;margin-bottom:3px;color:var(--red);font-size:.63rem;
  font-weight:900;letter-spacing:.11em
}
.material-strip strong{display:block;font-size:1rem;line-height:1.25}
.material-strip span{display:block;margin-top:4px;color:var(--muted);font-size:.77rem;line-height:1.35}
.material-details{
  margin-top:14px;
  border:1px solid #dfcfba;
  border-radius:18px;
  background:#fbf7ef;
  overflow:hidden;
}
.material-details summary,.product-specs summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:16px;font-weight:800;
}
.material-details summary::-webkit-details-marker,.product-specs summary::-webkit-details-marker{display:none}
.material-details summary{padding:17px 20px}
.material-details summary span,.product-specs summary span{font-size:1.2rem;color:var(--red)}
.material-details[open] summary span,.product-specs[open] summary span{transform:rotate(45deg)}
.material-details-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  border-top:1px solid #e7dac9;background:#e7dac9
}
.material-details-grid>div{background:#fffdf9;padding:18px 20px}
.material-details-grid b{display:block;margin-bottom:6px}
.material-details-grid p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.55}

.product-specs{
  margin:14px 0 4px;
  border-top:1px solid #eadfD2;
  border-bottom:1px solid #eadfD2;
}
.product-specs summary{padding:13px 2px;font-size:.82rem}
.product-specs>div{padding:0 2px 12px}
.product-specs p{margin:0 0 8px;color:var(--muted);font-size:.76rem;line-height:1.5}
.product-specs p:last-child{margin-bottom:0}

.letter-preview-wrap{
  margin-top:22px;
}
.letter-preview-head{
  display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:10px
}
.letter-preview-head small{
  display:block;color:var(--red);font-size:.66rem;font-weight:900;letter-spacing:.12em
}
.letter-preview-head strong{display:block;margin-top:3px;font-size:.9rem}
.letter-preview-head>span{color:var(--muted);font-size:.68rem;text-align:right}
.letter-preview{
  position:relative;
  overflow:hidden;
  min-height:360px;
  padding:42px 38px 34px;
  border:1px solid #d7b36b;
  border-radius:18px;
  background:
    radial-gradient(circle at 12% 12%,rgba(202,33,42,.10) 0 1px,transparent 2px),
    radial-gradient(circle at 88% 18%,rgba(187,145,58,.14) 0 1px,transparent 2px),
    linear-gradient(135deg,#fff9e9,#f8ecd2 55%,#fff8e8);
  box-shadow:0 14px 34px rgba(71,45,24,.10);
  color:#3b2318;
}
.letter-preview:before,.letter-preview:after{
  content:"";position:absolute;pointer-events:none
}
.letter-preview:before{
  inset:10px;border:1px solid rgba(142,24,40,.24);border-radius:12px
}
.letter-preview:after{
  width:170px;height:170px;right:-45px;bottom:-55px;border-radius:50%;
  background:radial-gradient(circle,#9d1f2b 0 34%,#f2d28a 35% 39%,transparent 40%);
  opacity:.08
}
.letter-preview-stamp{
  position:absolute;right:24px;top:20px;
  border:2px solid rgba(157,31,43,.55);border-radius:50%;
  width:68px;height:68px;display:grid;place-items:center;
  color:#9d1f2b;font-size:.53rem;font-weight:900;letter-spacing:.08em;
  transform:rotate(8deg)
}
.letter-preview-stars{position:absolute;left:24px;top:20px;color:#b9903a;letter-spacing:.35em}
.letter-preview-kicker{
  display:block;margin:38px 0 10px;color:#78634d;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase
}
.letter-preview-greeting{
  display:block;
  max-width:80%;
  margin-bottom:18px;
  color:#b31e2d;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1
}
.letter-preview p{
  max-width:42ch;margin:0;
  color:#3f342b;font-family:Georgia,"Times New Roman",serif;
  font-size:1rem;line-height:1.65;white-space:pre-wrap
}
.letter-preview-signature{margin-top:24px;text-align:right}
.letter-preview-signature span{display:block;color:#665648;font-family:Georgia,serif;font-size:.8rem}
.letter-preview-signature strong{
  display:block;color:#b31e2d;font-family:"DM Serif Display",Georgia,serif;
  font-size:2rem;font-weight:400
}
.letter-preview-note{margin:8px 2px 0;color:var(--muted);font-size:.68rem;line-height:1.4}

@media(max-width:820px){
  .material-strip{grid-template-columns:1fr}
  .material-strip article{grid-template-columns:92px 1fr}
  .material-strip img{width:92px;height:92px}
  .material-details-grid{grid-template-columns:1fr}
}
@media(max-width:699px){
  .product-guide-section{
    width:calc(100% - 28px);
    padding:54px 0 34px;
  }
  .product-guide-head h2{
    max-width:none;
    font-size:clamp(2.5rem,11.2vw,3.65rem)
  }
  .material-strip{gap:10px}
  .material-strip article{border-radius:16px}
  .material-details summary{padding:15px 16px;font-size:.84rem}
  .material-details-grid>div{padding:16px}
  .letter-preview-head{align-items:start}
  .letter-preview-head>span{display:none}
  .letter-preview{
    min-height:0;
    padding:36px 22px 26px;
    border-radius:16px
  }
  .letter-preview:before{inset:7px}
  .letter-preview-stamp{
    width:56px;height:56px;right:17px;top:16px;font-size:.45rem
  }
  .letter-preview-stars{left:18px;top:17px}
  .letter-preview-kicker{margin-top:34px;font-size:.61rem}
  .letter-preview-greeting{max-width:78%;font-size:2rem}
  .letter-preview p{font-size:.9rem;line-height:1.55}
  .letter-preview-signature strong{font-size:1.65rem}
}


/* ===== Mobile conversion pass: concise sections + equal product cards ===== */
.product-grid{
  align-items:stretch!important;
}
.product-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.product-card-media{
  flex:0 0 auto!important;
  aspect-ratio:3/2!important;
}
.product-card-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
}
.product-card .benefits{margin-bottom:0!important}
.product-card .product-specs{margin-top:auto!important}
.product-card .price-row{margin-top:14px!important}
.product-card .product-actions{margin-top:14px!important}
.product-card--basic,.product-card--personal{
  min-height:100%!important;
}

.scene-section{
  width:min(1180px,calc(100% - 32px));
  margin-inline:auto;
  padding:74px 0;
}
.scene-head{
  max-width:760px;
  margin-bottom:28px;
}
.scene-head h2{
  margin:8px 0 12px;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(3rem,5vw,5rem);
  line-height:.95;
  color:#2b1b17;
}
.scene-head p{
  margin:0;
  max-width:62ch;
  color:#776b63;
  line-height:1.65;
}
.scene-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:18px;
}
.scene-card{
  overflow:hidden;
  border:1px solid #e5d7c7;
  border-radius:24px;
  background:#fffdf9;
  box-shadow:0 16px 40px rgba(60,35,20,.07);
}
.scene-card-main{
  grid-row:span 2;
}
.scene-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  object-position:center;
}
.scene-card-main img{
  aspect-ratio:4/3;
}
.scene-copy{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:14px;
  padding:20px;
  color:#241714;
}
.scene-copy>span{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#a51f2e;
  color:#fff;
  font-weight:800;
}
.scene-copy small{
  display:block;
  margin-bottom:4px;
  color:#0c6849;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.11em;
}
.scene-copy h3{
  margin:0 0 6px;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:1.65rem;
  line-height:1.05;
  color:#241714;
}
.scene-copy p{
  margin:0;
  color:#766a62;
  font-size:.88rem;
  line-height:1.55;
}
.scene-tip{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
  background:#f4ecdf;
  color:#4f4037;
  font-size:.82rem;
  line-height:1.45;
}
.scene-tip b{white-space:nowrap;color:#9b2030}

.trust-compact{
  width:min(1180px,calc(100% - 32px));
  margin:18px auto 74px;
  padding:30px;
  border:1px solid #e4d8c9;
  border-radius:26px;
  background:#fffdf9;
  display:grid;
  grid-template-columns:1.1fr 1fr auto;
  gap:26px;
  align-items:center;
}
.trust-compact-copy h2{
  margin:6px 0 8px;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(2.2rem,3.8vw,3.6rem);
  line-height:1;
  color:#281915;
}
.trust-compact-copy p{
  margin:0;
  max-width:46ch;
  color:#776b63;
  font-size:.9rem;
  line-height:1.55;
}
.trust-compact-items{
  display:grid;
  gap:10px;
}
.trust-compact-items>div{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:10px;
  align-items:start;
}
.trust-compact-items b{
  color:#a51f2e;
  font-size:.72rem;
}
.trust-compact-items strong,
.trust-compact-items small{
  display:block;
}
.trust-compact-items strong{
  color:#281915;
  font-size:.88rem;
}
.trust-compact-items small{
  margin-top:2px;
  color:#776b63;
  font-size:.74rem;
  line-height:1.35;
}
.trust-whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:52px;
  padding:0 20px;
  border-radius:14px;
  background:#0f6749;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}

@media(max-width:900px){
  .scene-grid{grid-template-columns:1fr}
  .scene-card-main{grid-row:auto}
  .trust-compact{grid-template-columns:1fr}
  .trust-whatsapp{width:100%}
}

@media(max-width:699px){
  .scene-section{
    width:calc(100% - 28px);
    padding:54px 0 42px;
  }
  .scene-head{margin-bottom:20px}
  .scene-head h2{
    font-size:clamp(2.55rem,11vw,3.7rem);
  }
  .scene-head p{
    font-size:.94rem;
  }
  .scene-grid{gap:14px}
  .scene-card{border-radius:20px}
  .scene-card img,
  .scene-card-main img{
    aspect-ratio:3/2;
  }
  .scene-copy{
    grid-template-columns:38px 1fr;
    padding:16px;
    gap:10px;
  }
  .scene-copy>span{
    width:34px;height:34px;font-size:.8rem;
  }
  .scene-copy h3{font-size:1.45rem}
  .scene-copy p{font-size:.82rem}
  .scene-tip{
    display:block;
    padding:13px 14px;
    font-size:.78rem;
  }
  .scene-tip b{display:block;margin-bottom:3px}

  .trust-compact{
    width:calc(100% - 28px);
    margin:8px auto 52px;
    padding:20px 18px;
    border-radius:20px;
    gap:18px;
  }
  .trust-compact-copy h2{
    font-size:2.35rem;
  }
  .trust-compact-copy p{
    font-size:.84rem;
  }
  .trust-compact-items{gap:12px}
  .trust-whatsapp{min-height:50px}

  .product-grid{
    align-items:stretch!important;
  }
  .product-card{
    height:100%!important;
  }
  .product-card-body{
    min-height:520px!important;
  }
  .product-card-media{
    aspect-ratio:3/2!important;
  }

  .ritual-section,
  .trust-commerce,
  .product-guide-section{
    display:none!important;
  }
}

.product-quick-spec{
  margin:10px 0 4px;
  padding:10px 12px;
  border-radius:12px;
  background:#f5eee4;
  color:#6d5e54;
  font-size:.76rem;
  font-weight:800;
  line-height:1.35;
}


/* ===== Premium compact checkout v3 ===== */
.checkout-dialog{
  padding:0!important;
  background:rgba(27,17,14,.46)!important;
  backdrop-filter:blur(12px)!important;
}
.checkout-dialog::backdrop{background:rgba(27,17,14,.44)!important}
.checkout-shell{
  width:min(1120px,calc(100vw - 34px))!important;
  max-width:1120px!important;
  max-height:min(900px,calc(100dvh - 34px))!important;
  margin:auto!important;
  border:1px solid #e5d7c6!important;
  border-radius:28px!important;
  background:#fbf6ed!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto 3px minmax(0,1fr) auto!important;
  box-shadow:0 30px 90px rgba(39,22,15,.24)!important;
}
.checkout-top{
  min-height:66px!important;
  padding:12px 22px!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  border-bottom:1px solid #eadfD1!important;
  background:rgba(255,253,249,.92)!important;
}
.checkout-top>div{display:flex!important;align-items:baseline!important;gap:10px!important}
.checkout-top small{font-size:.7rem!important;color:#9a7660!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.checkout-top strong{font-family:"DM Serif Display",Georgia,serif!important;font-size:1.35rem!important;font-weight:400!important}
.checkout-progress{grid-column:1!important;height:3px!important;background:#eadfD1!important}
.checkout-progress span{display:block!important;height:100%!important;background:linear-gradient(90deg,#9e2030,#d6a947)!important;transition:width .32s ease!important}
.checkout-side{display:none!important}
.checkout-step{
  grid-column:1!important;
  grid-row:3!important;
  overflow:auto!important;
  min-height:0!important;
  padding:24px 30px 22px!important;
}
.checkout-step:not(.active){display:none!important}
.checkout-step.active{display:block!important}
.checkout-step-kicker{
  margin:0 0 7px!important;
  color:#9e2030!important;
  font-size:.69rem!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}
.checkout-step-title{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-bottom:18px!important;
}
.checkout-step-title h2{
  margin:0!important;
  max-width:15ch!important;
  font-family:"DM Serif Display",Georgia,serif!important;
  font-weight:400!important;
  font-size:clamp(2.15rem,3.4vw,3.45rem)!important;
  line-height:.98!important;
  letter-spacing:-.02em!important;
  color:#211512!important;
}
.checkout-step-title p{
  margin:0!important;
  max-width:40ch!important;
  color:#796d65!important;
  font-size:.84rem!important;
  line-height:1.5!important;
}
.checkout-step label{
  display:grid!important;
  gap:7px!important;
  color:#2a1c18!important;
  font-weight:800!important;
  font-size:.82rem!important;
}
.checkout-step input,
.checkout-step textarea{
  width:100%!important;
  border:1px solid #dfd2c2!important;
  border-radius:14px!important;
  background:#fffdf9!important;
  color:#211512!important;
  min-height:50px!important;
  padding:12px 14px!important;
  box-shadow:none!important;
}
.checkout-step textarea{
  min-height:104px!important;
  resize:vertical!important;
}
.checkout-step input::placeholder,
.checkout-step textarea::placeholder{color:#aaa19a!important;font-weight:500!important}
.field-optional{color:#9a8a80!important;font-size:.68rem!important;font-weight:600!important}
.personalization-layout{
  display:grid!important;
  grid-template-columns:minmax(280px,.78fr) minmax(480px,1.22fr)!important;
  gap:24px!important;
  align-items:start!important;
}
.personalization-fields{
  display:grid!important;
  gap:14px!important;
  padding:16px!important;
  border:1px solid #e2d5c5!important;
  border-radius:18px!important;
  background:#fffdf9!important;
}
.personalization-fields label>small{justify-self:end!important;color:#8e8178!important;font-size:.68rem!important}
.letter-preview-wrap{margin:0!important}
.letter-preview-head{margin-bottom:8px!important}
.letter-preview{
  min-height:286px!important;
  padding:34px 34px 26px!important;
  border-radius:18px!important;
  box-shadow:0 15px 38px rgba(64,39,23,.10)!important;
}
.letter-preview-kicker{margin-top:28px!important}
.letter-preview-greeting{font-size:clamp(1.8rem,3vw,2.6rem)!important;margin-bottom:13px!important}
.letter-preview p{font-size:.92rem!important;line-height:1.55!important}
.letter-preview-signature{margin-top:16px!important}
.letter-preview-signature strong{font-size:1.7rem!important}

.checkout-step-delivery{max-width:900px!important;margin-inline:auto!important;width:100%!important}
.cep-search{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
  margin-top:8px!important;
}
.cep-search .btn{min-height:50px!important;padding-inline:22px!important}
.address-result{
  margin-top:14px!important;
  padding:16px!important;
  border:1px solid #d7dfd8!important;
  border-radius:18px!important;
  background:#f7fbf8!important;
  animation:addressReveal .28s ease both;
}
@keyframes addressReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.address-found{
  display:grid!important;
  grid-template-columns:34px 1fr!important;
  gap:10px!important;
  align-items:center!important;
  margin-bottom:14px!important;
}
.address-found>span{
  width:34px!important;height:34px!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  background:#146b4c!important;color:#fff!important;font-weight:900!important
}
.address-found small{display:block!important;color:#146b4c!important;font-size:.62rem!important;font-weight:900!important;letter-spacing:.1em!important}
.address-found strong{display:block!important;color:#2c211d!important;font-size:.9rem!important;line-height:1.35!important}
.delivery-contact{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:14px!important;
}
.field-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}

.checkout-step-review{max-width:900px!important;margin-inline:auto!important;width:100%!important}
.review-card{
  overflow:hidden!important;
  border:1px solid #dfc79d!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#fffaf0 0%,#f8ead1 100%)!important;
  box-shadow:0 16px 42px rgba(64,39,23,.09)!important;
}
.review-person{
  position:relative!important;
  padding:24px 24px 20px!important;
  text-align:center!important;
  border-bottom:1px solid rgba(158,32,48,.14)!important;
}
.review-person small{display:block!important;color:#9e2030!important;font-size:.62rem!important;font-weight:900!important;letter-spacing:.12em!important}
.review-person strong{
  display:block!important;
  margin:5px 0!important;
  font-family:"DM Serif Display",Georgia,serif!important;
  color:#9e2030!important;
  font-size:2.8rem!important;
  line-height:1!important;
  font-weight:400!important;
}
.review-person p{margin:0 auto!important;max-width:48ch!important;color:#776a60!important;font-size:.78rem!important}
.review-spark{position:absolute!important;right:22px!important;top:18px!important;color:#c89a36!important;font-size:1.25rem!important}
.review-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:1px!important;
  background:#e5d7c6!important;
}
.review-grid>div{padding:16px 18px!important;background:#fffdf9!important}
.review-grid small,.review-total small{display:block!important;color:#9a7660!important;font-size:.6rem!important;font-weight:900!important;letter-spacing:.1em!important}
.review-grid strong{display:block!important;margin-top:4px!important;color:#30231e!important;font-size:.82rem!important;line-height:1.4!important}
.review-total{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
  padding:17px 20px!important;background:#183e32!important;color:#fff!important;
}
.review-total b{display:block!important;margin-top:2px!important;color:#c9dfd6!important;font-size:.7rem!important}
.review-total>strong{font-size:1.65rem!important}
.payment-choice-pix{
  margin-top:12px!important;
  min-height:64px!important;
  padding:12px 15px!important;
  border:1px solid #bbd4ca!important;
  border-radius:16px!important;
  background:#f5fbf8!important;
}
.payment-choice-pix>b{margin-left:auto!important;color:#126e46!important}
.checkout-actions{
  grid-column:1!important;
  grid-row:4!important;
  min-height:68px!important;
  padding:10px 22px calc(10px + env(safe-area-inset-bottom))!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
  border-top:1px solid #e7dacb!important;
  background:rgba(255,253,249,.96)!important;
}
.checkout-actions .btn{min-height:48px!important;padding:0 24px!important}

/* Special Pix moment */
.pix-dialog{background:rgba(20,12,10,.62)!important;backdrop-filter:blur(14px)!important}
.pix-dialog::backdrop{background:rgba(20,12,10,.62)!important}
.pix-panel-special{
  position:relative!important;
  overflow:auto!important;
  width:min(540px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 28px)!important;
  padding:28px!important;
  border:1px solid rgba(230,205,157,.72)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 15% 0%,rgba(194,39,52,.16),transparent 32%),
    linear-gradient(160deg,#fffaf0,#f6ead4)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.34)!important;
  text-align:center!important;
}
.pix-panel-special h2{
  margin:7px 0 6px!important;
  font-family:"DM Serif Display",Georgia,serif!important;
  color:#2b1c18!important;
  font-size:2.65rem!important;
  line-height:1!important;
}
.pix-panel-special .pix-subtitle{margin:0 auto 12px!important;max-width:38ch!important;color:#7b6b61!important;font-size:.83rem!important}
.pix-personal-note{
  width:max-content!important;max-width:100%!important;margin:0 auto 12px!important;
  padding:7px 16px!important;border-radius:999px!important;
  background:#9f2030!important;color:#fff!important;
}
.pix-personal-note small{font-size:.55rem!important;font-weight:900!important;letter-spacing:.1em!important;opacity:.78!important}
.pix-personal-note strong{display:block!important;font-family:"DM Serif Display",Georgia,serif!important;font-size:1.35rem!important;font-weight:400!important}
.pix-qr-stage{
  position:relative!important;
  width:310px!important;max-width:92%!important;
  margin:12px auto 14px!important;
  aspect-ratio:1!important;
  display:grid!important;place-items:center!important;
}
.pix-wreath{
  position:absolute!important;inset:0!important;border-radius:50%!important;
  border:10px solid transparent!important;
  background:
    radial-gradient(circle at 12% 25%,#b51e2d 0 5px,transparent 6px),
    radial-gradient(circle at 84% 20%,#d8aa43 0 5px,transparent 6px),
    radial-gradient(circle at 90% 72%,#b51e2d 0 5px,transparent 6px),
    radial-gradient(circle at 18% 82%,#d8aa43 0 5px,transparent 6px),
    conic-gradient(from 10deg,#174c3b,#2c765d,#174c3b,#2c765d,#174c3b) border-box!important;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  animation:wreathPulse 3.2s ease-in-out infinite!important;
}
@keyframes wreathPulse{50%{transform:scale(1.025);filter:brightness(1.08)}}
.pix-qr-wrap{
  position:relative!important;z-index:2!important;
  width:244px!important;height:244px!important;
  margin:0!important;
  display:grid!important;place-items:center!important;
  padding:10px!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(42,24,18,.15)!important;
}
.pix-qr{display:grid!important;place-items:center!important}
.pix-qr img,.pix-qr canvas{max-width:224px!important;max-height:224px!important}
.pix-payment-line{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 0 10px!important;
}
.pix-payment-line>div{
  padding:10px!important;border:1px solid #e1d3c0!important;border-radius:13px!important;background:rgba(255,255,255,.6)!important;
}
.pix-payment-line small,.pix-recipient small{display:block!important;color:#8a786d!important;font-size:.58rem!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.pix-payment-line strong{display:block!important;color:#2b1c18!important;font-size:.92rem!important}
.pix-recipient{margin:8px 0 10px!important}
.pix-recipient strong{font-size:.88rem!important}
.pix-copy-box{
  margin:9px 0!important;border:1px solid #e1d3c0!important;border-radius:14px!important;background:#fffdf9!important;text-align:left!important;overflow:hidden!important
}
.pix-copy-box summary{cursor:pointer!important;list-style:none!important;padding:12px 14px!important;font-size:.78rem!important;font-weight:800!important;display:flex!important;justify-content:space-between!important}
.pix-copy-box summary::-webkit-details-marker{display:none!important}
.pix-copy-box[open] summary span{transform:rotate(45deg)!important}
.pix-copy-box .pix-copy-label{padding:0 12px!important;font-size:.7rem!important}
.pix-copy-box textarea{min-height:70px!important;font-size:.65rem!important}
.pix-copy-box .btn{margin:8px 12px 12px!important;width:calc(100% - 24px)!important}
.pix-paid-special{width:100%!important;min-height:52px!important;margin-top:8px!important}
.pix-manual-note{margin:10px 0 0!important;font-size:.66rem!important;color:#7b6b61!important}
.pix-celebration i{
  position:absolute!important;
  color:#b98a2f!important;
  font-style:normal!important;
  opacity:.55!important;
  animation:pixFloat 4.2s ease-in-out infinite!important;
}
.pix-celebration i:nth-child(1){left:7%;top:10%;animation-delay:.1s!important}
.pix-celebration i:nth-child(2){right:9%;top:16%;animation-delay:.7s!important}
.pix-celebration i:nth-child(3){left:10%;top:48%;animation-delay:1.2s!important}
.pix-celebration i:nth-child(4){right:7%;top:52%;animation-delay:1.7s!important}
.pix-celebration i:nth-child(5){left:18%;bottom:12%;animation-delay:2.1s!important}
.pix-celebration i:nth-child(6){right:17%;bottom:10%;animation-delay:2.6s!important}
@keyframes pixFloat{50%{transform:translateY(-7px) rotate(8deg);opacity:.9}}

@media(max-width:760px){
  .checkout-dialog{
    align-items:flex-end!important;
  }
  .checkout-shell{
    width:100vw!important;
    max-width:none!important;
    max-height:96dvh!important;
    border-radius:24px 24px 0 0!important;
    border-left:0!important;border-right:0!important;border-bottom:0!important;
  }
  .checkout-top{
    min-height:56px!important;
    padding:9px 14px!important;
  }
  .checkout-top strong{font-size:1.13rem!important}
  .checkout-step{
    padding:16px 16px 12px!important;
  }
  .checkout-step-title{
    display:block!important;
    margin-bottom:12px!important;
  }
  .checkout-step-title h2{
    max-width:none!important;
    font-size:2rem!important;
  }
  .checkout-step-title p{
    margin-top:5px!important;
    font-size:.75rem!important;
  }
  .personalization-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
  }
  .letter-preview-wrap{order:1!important;width:100%!important}
  .personalization-fields{order:2!important;width:100%!important;padding:12px!important;gap:10px!important}
  .letter-preview-head strong{font-size:.78rem!important}
  .letter-preview-head>span{display:none!important}
  .letter-preview{
    min-height:215px!important;
    padding:27px 20px 19px!important;
  }
  .letter-preview-stamp{width:48px!important;height:48px!important;font-size:.38rem!important}
  .letter-preview-kicker{margin-top:25px!important;font-size:.54rem!important}
  .letter-preview-greeting{font-size:1.65rem!important;margin-bottom:8px!important}
  .letter-preview p{font-size:.76rem!important;line-height:1.45!important}
  .letter-preview-signature{margin-top:10px!important}
  .letter-preview-signature strong{font-size:1.35rem!important}
  .letter-preview-note{font-size:.59rem!important}
  .checkout-step input{min-height:46px!important;padding:10px 12px!important}
  .checkout-step textarea{min-height:76px!important;padding:10px 12px!important}
  .cep-search{grid-template-columns:1fr auto!important}
  .cep-search .btn{min-height:46px!important;padding-inline:14px!important;font-size:.78rem!important}
  .delivery-contact,.field-grid{grid-template-columns:1fr 1fr!important}
  .address-result{padding:12px!important}
  .review-person{padding:18px 16px 15px!important}
  .review-person strong{font-size:2.25rem!important}
  .review-grid{grid-template-columns:1fr!important}
  .review-grid>div{padding:12px 14px!important}
  .review-total{padding:14px!important}
  .review-total>strong{font-size:1.4rem!important}
  .checkout-actions{
    min-height:62px!important;
    padding:8px 14px calc(8px + env(safe-area-inset-bottom))!important;
  }
  .checkout-actions .btn{min-height:46px!important;padding:0 20px!important}
  .checkout-actions #checkoutNext{flex:1!important}
  .pix-panel-special{
    width:100vw!important;
    max-height:96dvh!important;
    border-radius:24px 24px 0 0!important;
    padding:21px 16px calc(18px + env(safe-area-inset-bottom))!important;
  }
  .pix-panel-special h2{font-size:2.15rem!important}
  .pix-qr-stage{width:260px!important}
  .pix-qr-wrap{width:204px!important;height:204px!important}
  .pix-qr img,.pix-qr canvas{max-width:184px!important;max-height:184px!important}
}
@media(max-width:480px){
  .delivery-contact,.field-grid{grid-template-columns:1fr!important}
  .cep-search{grid-template-columns:1fr!important}
  .cep-search .btn{width:100%!important}
}
@media(prefers-reduced-motion:reduce){
  .pix-wreath,.pix-celebration i,.address-result{animation:none!important}
}


/* ===== Refined navigation ===== */
.desktop-nav{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px!important;
  border:1px solid rgba(157,32,48,.10)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:0 8px 24px rgba(48,25,18,.04)!important;
}
.desktop-nav a{
  padding:8px 13px!important;
  border-radius:999px!important;
  color:#594b43!important;
  font-size:.78rem!important;
  font-weight:800!important;
  transition:background .2s ease,color .2s ease,transform .2s ease!important;
}
.desktop-nav a:hover{
  background:#fff!important;
  color:#9d2030!important;
  transform:translateY(-1px)!important;
}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{
  list-style:none;
  width:44px;height:44px;
  border:1px solid #e2d6c9;
  border-radius:14px;
  background:#fffdf9;
  display:grid;
  place-content:center;
  gap:4px;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(52,31,22,.06);
}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary span{
  width:17px;height:2px;border-radius:99px;background:#7f2030;display:block;
  transition:transform .2s ease,opacity .2s ease
}
.mobile-menu[open] summary span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-menu[open] summary span:nth-child(2){opacity:0}
.mobile-menu[open] summary span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu nav{
  position:absolute;
  right:0;
  top:52px;
  width:min(310px,calc(100vw - 28px));
  padding:8px;
  border:1px solid #e5d8ca;
  border-radius:18px;
  background:rgba(255,253,249,.98);
  box-shadow:0 22px 60px rgba(44,24,18,.18);
  backdrop-filter:blur(16px);
  z-index:90;
}
.mobile-menu nav a{
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:center;
  gap:10px;
  padding:12px;
  border-radius:12px;
}
.mobile-menu nav a+a{border-top:1px solid #eee4d9}
.mobile-menu nav a:active{background:#f5ede2}
.mobile-menu nav small{
  color:#b08b57;font-size:.62rem;font-weight:900;letter-spacing:.08em
}
.mobile-menu nav strong{
  color:#2a1c18;font-size:.86rem
}
@media(max-width:900px){
  .desktop-nav{display:none!important}
  .mobile-menu{display:block}
  .header-actions{gap:8px!important}
}


/* ===== QA fixes from real browser run ===== */
.brand-copy small{
  color:#76552f!important;
}
.field-optional{
  color:#62554d!important;
}
.personalization-fields label>small{
  color:#62554d!important;
}
.checkout-step label[hidden],
#letterPreviewWrap[hidden]{
  display:none!important;
}
@media(max-width:699px){
  .microtrust-refined{
    overflow:visible!important;
    flex-wrap:wrap!important;
    white-space:normal!important;
    row-gap:7px!important;
  }
}


/* ===== Christmas motion system: hero + checkout ===== */
:root{
  --christmas-gold:#d7ad4f;
  --christmas-red:#9b1f2d;
  --christmas-green:#1f6646;
  --christmas-cream:#fff9ef;
}

/* Hero: cinematic entrance without hurting readability */
.hero-cinematic .hero-copy>.eyebrow,
.hero-cinematic .hero-line,
.hero-cinematic .hero-copy>p,
.hero-cinematic .hero-price,
.hero-cinematic .hero-proof-rail,
.hero-cinematic .hero-actions,
.hero-cinematic .microtrust-refined,
.hero-product-story{
  opacity:0;
  animation:heroRise .72s cubic-bezier(.2,.75,.25,1) forwards;
}
.hero-cinematic .hero-copy>.eyebrow{animation-delay:.06s}
.hero-cinematic .hero-line:nth-child(1){animation-delay:.13s}
.hero-cinematic .hero-line:nth-child(2){animation-delay:.21s}
.hero-cinematic .hero-line:nth-child(3){animation-delay:.29s}
.hero-cinematic .hero-copy>p{animation-delay:.36s}
.hero-cinematic .hero-price{animation-delay:.42s}
.hero-cinematic .hero-proof-rail{animation-delay:.48s}
.hero-cinematic .hero-actions{animation-delay:.54s}
.hero-cinematic .microtrust-refined{animation-delay:.60s}
.hero-product-story{animation-delay:.18s}
@keyframes heroRise{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}
.hero-lights i{
  animation:heroTwinkle 2.8s ease-in-out infinite;
  transform-origin:center;
}
.hero-lights i:nth-child(3n+1){animation-delay:.4s}
.hero-lights i:nth-child(3n+2){animation-delay:1.1s}
@keyframes heroTwinkle{
  0%,100%{opacity:.45;filter:drop-shadow(0 0 2px rgba(255,215,126,.25))}
  50%{opacity:1;filter:drop-shadow(0 0 9px rgba(255,215,126,.82))}
}
.hero-sparkles span,
.hero-ornament{
  animation:heroFloat 4.8s ease-in-out infinite;
}
.hero-sparkles span:nth-child(even){animation-delay:1.4s}
@keyframes heroFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-8px) rotate(4deg)}
}
.hero-product-photo{
  position:relative;
}
.hero-product-photo:after{
  content:"";
  position:absolute;
  inset:-30% -60%;
  background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.28) 49%,transparent 56%);
  transform:translateX(-48%);
  animation:photoGlint 5.8s ease-in-out 1.1s infinite;
  pointer-events:none;
}
@keyframes photoGlint{
  0%,68%{transform:translateX(-55%)}
  88%,100%{transform:translateX(55%)}
}
.btn-holiday{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn-holiday:after{
  content:"";
  position:absolute;
  inset:-2px auto -2px -38%;
  width:28%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);
  animation:ctaShine 4.4s ease-in-out 1.7s infinite;
  z-index:-1;
}
@keyframes ctaShine{
  0%,72%{left:-38%}
  92%,100%{left:125%}
}

/* Checkout shell */
.checkout-dialog::backdrop{
  background:rgba(27,17,14,.66)!important;
  backdrop-filter:blur(6px);
}
.checkout-shell{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 8%,rgba(215,173,79,.10),transparent 24%),
    linear-gradient(180deg,#fffdf9 0%,#fdf7ed 100%)!important;
}
.checkout-top{
  position:relative;
  z-index:6;
  background:rgba(255,253,249,.92)!important;
  backdrop-filter:blur(14px);
}
.checkout-top strong{
  font-family:"Fraunces",Georgia,serif;
  color:#2b1c18;
  font-size:1.02rem;
}
.checkout-top small{
  color:#7f6a5f!important;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.checkout-progress-wrap{
  position:relative;
  z-index:5;
  background:rgba(255,253,249,.94);
  border-bottom:1px solid #eadfce;
  padding:0 18px 10px;
}
.checkout-progress{
  height:4px!important;
  overflow:hidden;
  border-radius:999px;
  background:#eee5d8!important;
}
.checkout-progress span{
  position:relative;
  width:33.33%;
  background:linear-gradient(90deg,#a91e31,#d7ad4f)!important;
  border-radius:999px;
  transition:width .52s cubic-bezier(.2,.8,.2,1)!important;
  box-shadow:0 0 14px rgba(215,173,79,.35);
}
.checkout-progress span:after{
  content:"";
  position:absolute;
  top:50%;right:-4px;
  width:9px;height:9px;
  transform:translateY(-50%);
  border-radius:50%;
  background:#fff3c7;
  box-shadow:0 0 0 3px rgba(215,173,79,.24),0 0 15px rgba(215,173,79,.9);
}
.checkout-progress-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:9px;
}
.checkout-progress-steps span{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#9a8b80;
  transition:color .25s ease,transform .25s ease;
}
.checkout-progress-steps i{
  width:22px;height:22px;
  display:grid;place-items:center;
  flex:0 0 22px;
  border-radius:50%;
  background:#f1e9dd;
  color:#8e7c70;
  font-style:normal;
  font-size:.64rem;
  font-weight:900;
  border:1px solid #e3d7c7;
  transition:.3s ease;
}
.checkout-progress-steps b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.63rem;
  font-weight:800;
}
.checkout-progress-steps span.is-active,
.checkout-progress-steps span.is-done{
  color:#7f2030;
}
.checkout-progress-steps span.is-active{
  transform:translateY(-1px);
}
.checkout-progress-steps span.is-active i{
  background:#9d2030;
  color:#fff;
  border-color:#9d2030;
  box-shadow:0 5px 14px rgba(157,32,48,.22);
}
.checkout-progress-steps span.is-done i{
  background:#246746;
  color:#fff;
  border-color:#246746;
}

.checkout-magic-sky{
  position:absolute;
  inset:98px 0 auto 0;
  height:120px;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  opacity:.38;
}
.checkout-magic-sky i{
  position:absolute;
  top:-20px;
  color:#c9a453;
  font-style:normal;
  font-size:.8rem;
  animation:checkoutSnow 7s linear infinite;
}
.checkout-magic-sky i:nth-child(1){left:8%;animation-delay:.4s}
.checkout-magic-sky i:nth-child(2){left:24%;animation-delay:2.4s}
.checkout-magic-sky i:nth-child(3){left:42%;animation-delay:1.2s}
.checkout-magic-sky i:nth-child(4){left:60%;animation-delay:3.1s}
.checkout-magic-sky i:nth-child(5){left:77%;animation-delay:.9s}
.checkout-magic-sky i:nth-child(6){left:91%;animation-delay:4.2s}
@keyframes checkoutSnow{
  0%{transform:translate3d(0,-12px,0) rotate(0);opacity:0}
  12%{opacity:.8}
  100%{transform:translate3d(20px,125px,0) rotate(200deg);opacity:0}
}

.checkout-step{
  position:relative;
  z-index:2;
}
.checkout-step.active{
  animation:stepReveal .46s cubic-bezier(.2,.8,.2,1) both;
}
.checkout-step.active.is-backward{
  animation:stepRevealBack .42s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes stepReveal{
  from{opacity:0;transform:translateX(20px) translateY(4px)}
  to{opacity:1;transform:none}
}
@keyframes stepRevealBack{
  from{opacity:0;transform:translateX(-20px) translateY(4px)}
  to{opacity:1;transform:none}
}
.checkout-step-title h2{
  letter-spacing:-.035em;
}
.checkout-step-kicker{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:8px;
  color:#9d2030!important;
  font-size:.67rem!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.checkout-step-kicker:before{
  content:"✦";
  color:#c9a453;
  font-size:.65rem;
}

/* Letter becomes the star of step 1 */
.letter-preview-wrap{
  perspective:1000px;
}
.letter-preview{
  position:relative;
  overflow:hidden;
  transform-origin:50% 12%;
  background:
    radial-gradient(circle at 84% 14%,rgba(215,173,79,.09),transparent 20%),
    linear-gradient(145deg,#fffdf8,#fff7e9)!important;
  border:1px solid #dcc79c!important;
}
.checkout-step.active .letter-preview{
  animation:letterArrive .72s cubic-bezier(.18,.8,.22,1) .10s both;
}
@keyframes letterArrive{
  from{opacity:0;transform:translateY(22px) rotateX(-4deg) scale(.985)}
  to{opacity:1;transform:none}
}
.letter-preview:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle at 14% 18%,rgba(187,35,52,.08) 0 1px,transparent 1.5px),
    radial-gradient(circle at 72% 76%,rgba(215,173,79,.13) 0 1px,transparent 1.5px);
  background-size:28px 28px,34px 34px;
  pointer-events:none;
}
.letter-seal{
  position:absolute;
  top:20px;right:22px;
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#f8e7c3;
  background:radial-gradient(circle at 35% 28%,#c94455,#821928 70%);
  border:3px double #e7c571;
  box-shadow:0 5px 14px rgba(97,25,35,.18);
  transform:rotate(8deg);
  z-index:2;
}
.letter-seal span{
  font-family:"Fraunces",Georgia,serif;
  font-size:.72rem;
  font-weight:800;
}
.letter-preview-greeting{
  position:relative;
  display:inline-block;
}
.letter-preview-greeting.is-writing{
  animation:nameInk .32s ease;
}
@keyframes nameInk{
  0%{opacity:.45;filter:blur(1.5px);transform:translateY(2px)}
  100%{opacity:1;filter:none;transform:none}
}
.letter-preview-stars{
  animation:tinySpark 2.8s ease-in-out infinite;
}
@keyframes tinySpark{
  50%{opacity:.45;letter-spacing:.22em}
}

/* Delivery success */
.address-result:not([hidden]){
  animation:destinationFound .42s cubic-bezier(.2,.8,.2,1) both!important;
}
.address-check{
  position:relative;
  overflow:hidden;
  animation:checkPop .42s cubic-bezier(.2,.9,.2,1) .08s both;
}
.address-check:after{
  content:"";
  position:absolute;
  inset:-4px;
  border:1px solid rgba(31,102,70,.20);
  border-radius:50%;
  animation:checkRing .8s ease-out .16s both;
}
@keyframes destinationFound{
  from{opacity:0;transform:translateY(-6px) scale(.985)}
  to{opacity:1;transform:none}
}
@keyframes checkPop{
  from{transform:scale(.3);opacity:0}
  to{transform:scale(1);opacity:1}
}
@keyframes checkRing{
  from{transform:scale(.65);opacity:1}
  to{transform:scale(1.5);opacity:0}
}

/* Review */
.review-ready{
  width:max-content;
  max-width:100%;
  margin:0 auto 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#236747;
  font-size:.72rem;
  text-align:center;
}
.review-ready span{
  color:#c99d3d;
  animation:tinySpark 2s ease-in-out infinite;
}
.review-card{
  position:relative;
  overflow:hidden;
}
.review-card:after{
  content:"";
  position:absolute;
  width:150px;height:150px;
  right:-60px;top:-70px;
  border-radius:50%;
  border:22px double rgba(157,32,48,.035);
  pointer-events:none;
}
.checkout-step.active .review-card{
  animation:reviewStamp .48s cubic-bezier(.2,.85,.2,1) .08s both;
}
@keyframes reviewStamp{
  from{opacity:0;transform:scale(.975) translateY(10px)}
  to{opacity:1;transform:none}
}

/* Payment scene */
.pix-dialog::backdrop{
  background:rgba(18,12,15,.76)!important;
  backdrop-filter:blur(8px);
}
.pix-panel-special{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 13%,rgba(241,207,119,.16),transparent 28%),
    linear-gradient(180deg,#fffdf7 0%,#fff8eb 100%)!important;
  box-shadow:0 30px 90px rgba(13,8,10,.36)!important;
}
.pix-dialog[open] .pix-panel-special{
  animation:pixSceneIn .56s cubic-bezier(.2,.85,.2,1) both;
}
@keyframes pixSceneIn{
  from{opacity:0;transform:translateY(18px) scale(.975)}
  to{opacity:1;transform:none}
}
.pix-night-sky{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.pix-night-sky span{
  position:absolute;
  width:3px;height:3px;
  border-radius:50%;
  background:#c99d3d;
  box-shadow:0 0 10px rgba(201,157,61,.65);
  animation:starPulse 2.4s ease-in-out infinite;
}
.pix-night-sky span:nth-child(1){left:10%;top:12%}
.pix-night-sky span:nth-child(2){left:26%;top:7%;animation-delay:.8s}
.pix-night-sky span:nth-child(3){right:19%;top:14%;animation-delay:1.2s}
.pix-night-sky span:nth-child(4){right:8%;top:28%;animation-delay:.35s}
.pix-night-sky span:nth-child(5){left:7%;top:42%;animation-delay:1.6s}
.pix-night-sky span:nth-child(6){right:13%;top:54%;animation-delay:2s}
@keyframes starPulse{
  0%,100%{opacity:.22;transform:scale(.7)}
  50%{opacity:1;transform:scale(1.3)}
}
.pix-celebration i{
  animation:pixSnow 5.8s linear infinite!important;
}
.pix-celebration i:nth-child(2n){animation-duration:7.2s!important}
.pix-celebration i:nth-child(3n){animation-delay:1.8s!important}
@keyframes pixSnow{
  0%{transform:translateY(-14px) rotate(0deg);opacity:0}
  12%{opacity:.75}
  100%{transform:translateY(140px) rotate(180deg);opacity:0}
}
.pix-qr-stage{
  position:relative;
  isolation:isolate;
}
.pix-qr-stage:before,
.pix-qr-stage:after{
  content:"";
  position:absolute;
  inset:50% auto auto 50%;
  width:290px;height:290px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
}
.pix-qr-stage:before{
  background:radial-gradient(circle,rgba(215,173,79,.15),rgba(215,173,79,0) 66%);
  animation:qrGlow 2.7s ease-in-out infinite;
  z-index:-2;
}
.pix-qr-stage:after{
  width:250px;height:250px;
  border:1px dashed rgba(157,32,48,.17);
  animation:qrOrbit 20s linear infinite;
  z-index:-1;
}
@keyframes qrGlow{
  50%{transform:translate(-50%,-50%) scale(1.07);opacity:.7}
}
@keyframes qrOrbit{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
.pix-qr-wrap{
  position:relative;
  animation:qrSettle .65s cubic-bezier(.2,.9,.2,1) .12s both;
}
@keyframes qrSettle{
  from{opacity:0;transform:scale(.92) translateY(10px)}
  to{opacity:1;transform:none}
}
.pix-paid-special{
  position:relative;
  overflow:hidden;
}
.pix-paid-special>i{
  position:absolute;
  right:18px;
  font-style:normal;
  color:#f3d786;
  animation:buttonSpark 1.9s ease-in-out infinite;
}
@keyframes buttonSpark{
  50%{transform:rotate(30deg) scale(1.35);opacity:.55}
}
.pix-paid-special.is-informed{
  background:#246747!important;
  box-shadow:0 10px 26px rgba(36,103,71,.18)!important;
}
.payment-celebration-message{
  margin:10px 0!important;
  padding:12px 14px!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  border:1px solid #d8c180;
  border-radius:15px;
  background:linear-gradient(145deg,#fffdf6,#fff5dc);
  color:#2f4f3d;
  animation:paymentSuccess .55s cubic-bezier(.2,.9,.2,1) both;
}
.payment-celebration-message[hidden]{display:none!important}
.payment-celebration-message span{
  color:#c69b38;
  animation:tinySpark 1.4s ease-in-out infinite;
}
.payment-celebration-message div{display:grid}
.payment-celebration-message small{
  color:#8b6a2d;
  font-size:.56rem;
  letter-spacing:.1em;
  font-weight:900;
}
.payment-celebration-message strong{
  font-family:"Fraunces",Georgia,serif;
  font-size:1rem;
}
@keyframes paymentSuccess{
  from{opacity:0;transform:translateY(8px) scale(.97)}
  to{opacity:1;transform:none}
}

/* Desktop: checkout feels like one composed scene */
@media(min-width:900px){
  .checkout-progress-wrap{
    padding-inline:28px;
  }
  .checkout-progress-steps b{font-size:.68rem}
  .checkout-shell{
    min-height:650px!important;
  }
  .checkout-step{
    padding-top:24px!important;
  }
}

/* Mobile: keep delight but protect space */
@media(max-width:699px){
  .checkout-progress-wrap{padding-inline:14px}
  .checkout-progress-steps b{font-size:.56rem}
  .checkout-progress-steps i{width:20px;height:20px;flex-basis:20px}
  .checkout-magic-sky{height:85px}
  .letter-seal{width:38px;height:38px;top:16px;right:16px}
  .review-ready{font-size:.65rem}
  .pix-qr-stage:before{width:250px;height:250px}
  .pix-qr-stage:after{width:220px;height:220px}
}

/* Respect user motion preferences */
@media(prefers-reduced-motion:reduce){
  .hero-cinematic .hero-copy>.eyebrow,
  .hero-cinematic .hero-line,
  .hero-cinematic .hero-copy>p,
  .hero-cinematic .hero-price,
  .hero-cinematic .hero-proof-rail,
  .hero-cinematic .hero-actions,
  .hero-cinematic .microtrust-refined,
  .hero-product-story,
  .hero-lights i,
  .hero-sparkles span,
  .hero-ornament,
  .hero-product-photo:after,
  .btn-holiday:after,
  .checkout-magic-sky i,
  .checkout-step.active,
  .checkout-step.active.is-backward,
  .letter-preview,
  .letter-preview-stars,
  .address-result,
  .address-check,
  .address-check:after,
  .review-card,
  .review-ready span,
  .pix-panel-special,
  .pix-night-sky span,
  .pix-celebration i,
  .pix-qr-stage:before,
  .pix-qr-stage:after,
  .pix-qr-wrap,
  .pix-paid-special>i,
  .payment-celebration-message{
    animation:none!important;
    transition:none!important;
    transform:none!important;
    opacity:1!important;
  }
}


/* ===== Hero campaign art v4 ===== */
.hero-campaign-art{
  position:relative;
  z-index:3;
  max-width:720px;
}
.hero-kicker-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.hero-kicker-row .eyebrow{
  margin:0!important;
  color:#f2d37d!important;
  font-size:.72rem!important;
  letter-spacing:.16em!important;
}
.hero-kicker-mark{
  color:#f0c85f;
  font-size:.85rem;
  animation:tinySpark 2.4s ease-in-out infinite;
}
.hero-campaign-title{
  margin:0!important;
  max-width:8.2ch;
  font-family:"DM Serif Display",Georgia,serif!important;
  font-size:clamp(4rem,7.5vw,7.4rem)!important;
  line-height:.79!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
.hero-campaign-title .hero-line{
  display:block;
}
.hero-line-soft{
  color:#fffaf2;
  font-size:.74em;
  opacity:.94;
}
.hero-line-gold{
  color:#f2c761;
  text-shadow:0 8px 28px rgba(218,159,49,.16);
}
.hero-line-main{
  color:#fff;
}
.hero-line-script{
  position:relative;
  width:max-content;
  max-width:100%;
  margin-top:.06em;
  color:#f2c761;
  font-family:"Fraunces","DM Serif Display",Georgia,serif!important;
  font-style:italic;
  font-size:.88em;
  transform:rotate(-1.3deg);
}
.hero-line-script:after{
  content:"";
  position:absolute;
  left:4%;
  right:3%;
  bottom:-.06em;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#f0bf4e 16%,#f8dc8b 80%,transparent);
  transform:rotate(-1deg);
  opacity:.9;
  box-shadow:0 0 15px rgba(240,191,78,.24);
}
.hero-story-note{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:13px;
  align-items:start;
  margin:24px 0 18px;
  max-width:570px;
}
.hero-story-rule{
  display:block;
  width:28px;
  height:2px;
  margin-top:.75em;
  border-radius:99px;
  background:#e2b658;
  box-shadow:0 0 12px rgba(226,182,88,.28);
}
.hero-story-note p{
  margin:0!important;
  color:rgba(255,248,238,.82)!important;
  font-size:1rem!important;
  line-height:1.6!important;
  font-weight:500;
}
.hero-offer-card{
  width:max-content;
  max-width:100%;
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  gap:18px;
  padding:13px 14px 13px 17px;
  border:1px solid rgba(255,236,209,.22);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(67,8,17,.66),rgba(115,18,30,.40));
  box-shadow:0 18px 50px rgba(34,0,8,.16),inset 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(10px);
}
.hero-offer-main{
  display:grid;
  gap:1px;
}
.hero-offer-main small{
  color:rgba(255,245,232,.67);
  font-size:.67rem;
  font-weight:700;
}
.hero-offer-main strong{
  color:#fff;
  font-size:2.15rem;
  line-height:1;
  letter-spacing:-.035em;
}
.hero-offer-pix{
  display:grid;
  place-items:center;
  align-self:stretch;
  min-width:90px;
  padding:8px 13px;
  border-radius:14px;
  background:linear-gradient(135deg,#f7d777,#edc45a);
  color:#642315;
  box-shadow:0 10px 22px rgba(194,136,29,.13);
}
.hero-offer-pix b{
  font-size:.86rem;
  line-height:1;
}
.hero-offer-pix span{
  font-size:.66rem;
  font-weight:700;
}
.hero-actions-campaign{
  margin-top:18px!important;
  display:flex;
  align-items:center;
  gap:18px;
}
.hero-actions-campaign .btn{
  min-height:56px;
  padding-inline:21px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  gap:18px;
  font-size:.9rem;
}
.hero-actions-campaign .btn b{
  font-size:1.2rem;
  transition:transform .2s ease;
}
.hero-actions-campaign .btn:hover b{
  transform:translateX(3px);
}
.hero-actions-campaign .hero-secondary{
  color:#f9e7c8!important;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid rgba(249,231,200,.3);
  padding-bottom:3px;
}
.hero-campaign-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:18px;
  color:rgba(255,248,238,.67);
  font-size:.68rem;
  font-weight:700;
}
.hero-campaign-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.hero-campaign-meta b{
  color:#f2c761;
  font-size:.58rem;
  letter-spacing:.08em;
}
.hero-product-story{
  position:relative;
}
.hero-product-story:before{
  content:"";
  position:absolute;
  inset:-12% -16%;
  background:
    radial-gradient(circle at 50% 50%,rgba(249,202,93,.16),transparent 36%),
    radial-gradient(circle at 70% 20%,rgba(255,255,255,.06),transparent 22%);
  filter:blur(4px);
  pointer-events:none;
}
.hero-product-photo{
  border:1px solid rgba(255,238,214,.28)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:
    0 24px 70px rgba(30,0,8,.32),
    0 0 0 1px rgba(255,255,255,.04) inset!important;
}
.hero-product-photo img{
  transform:scale(1.01);
}
.hero-image-note{
  color:rgba(255,245,230,.54)!important;
  font-size:.62rem!important;
  letter-spacing:.01em;
}
@media(max-width:900px){
  .hero-campaign-title{
    max-width:8.6ch;
    font-size:clamp(3.6rem,12vw,5.4rem)!important;
  }
}
@media(max-width:699px){
  .hero-cinematic{
    padding-top:68px!important;
  }
  .hero-campaign-art{
    max-width:none;
  }
  .hero-kicker-row{
    margin-bottom:13px;
  }
  .hero-kicker-row .eyebrow{
    font-size:.66rem!important;
    line-height:1.3;
  }
  .hero-campaign-title{
    max-width:7.5ch;
    font-size:clamp(4rem,18vw,5.65rem)!important;
    line-height:.80!important;
  }
  .hero-line-soft{
    font-size:.66em;
  }
  .hero-line-script{
    font-size:.80em;
  }
  .hero-line-script:after{
    height:4px;
  }
  .hero-story-note{
    grid-template-columns:24px 1fr;
    gap:10px;
    margin:20px 0 15px;
  }
  .hero-story-rule{
    width:21px;
  }
  .hero-story-note p{
    font-size:.89rem!important;
    line-height:1.5!important;
  }
  .hero-offer-card{
    width:100%;
    grid-template-columns:1fr auto;
    gap:12px;
    padding:12px 12px 12px 14px;
  }
  .hero-offer-main strong{
    font-size:1.85rem;
  }
  .hero-offer-pix{
    min-width:82px;
  }
  .hero-actions-campaign{
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px!important;
    margin-top:14px!important;
  }
  .hero-actions-campaign .btn{
    width:100%;
    justify-content:space-between;
    min-height:54px;
  }
  .hero-actions-campaign .hero-secondary{
    width:max-content;
    font-size:.73rem;
  }
  .hero-campaign-meta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 12px;
    margin-top:15px;
  }
  .hero-campaign-meta span:last-child{
    grid-column:1/-1;
  }
  .hero-product-story{
    margin-top:28px;
  }
}


/* ===== Compact premium product cards ===== */
.product-grid{
  align-items:stretch!important;
}
.product-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  overflow:hidden!important;
  border:1px solid #e4d8ca!important;
  border-radius:24px!important;
  background:#fffdf9!important;
  box-shadow:0 16px 42px rgba(61,36,22,.07)!important;
}
.product-card.recommended{
  border-color:rgba(157,32,48,.28)!important;
  box-shadow:0 18px 46px rgba(116,25,39,.10)!important;
}
.product-card-media{
  position:relative!important;
  aspect-ratio:3/2!important;
  margin:0!important;
  background:#eee4d8!important;
}
.product-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.product-media-badges{
  position:absolute;
  inset:14px 14px auto 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  pointer-events:none;
}
.product-media-badges span,
.product-media-badges b{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
  backdrop-filter:blur(8px);
}
.product-media-badges span{
  background:rgba(255,253,249,.90);
  color:#8d2030;
  border:1px solid rgba(141,32,48,.14);
}
.product-media-badges b{
  background:#9d2030;
  color:#fff;
  letter-spacing:.03em;
}
.product-card-body{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  flex:1 1 auto!important;
  padding:20px 20px 18px!important;
  min-height:0!important;
}
.product-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.product-heading small{
  display:block;
  margin-bottom:4px;
  color:#9d2030;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.1em;
}
.product-heading h3{
  margin:0!important;
  font-family:"DM Serif Display",Georgia,serif!important;
  color:#281915!important;
  font-size:2rem!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  font-weight:400!important;
}
.product-star{
  color:#d0a84f;
  font-size:1.05rem;
  animation:tinySpark 2.5s ease-in-out infinite;
}
.product-prop{
  margin:9px 0 14px!important;
  max-width:48ch;
  color:#786c64!important;
  font-size:.84rem!important;
  line-height:1.5!important;
}
.product-count{
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  padding:11px 12px;
  border:1px solid #e7dccf;
  border-radius:14px;
  background:#f8f3eb;
}
.product-count>span{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#e8f3ed;
  color:#116747;
  font-size:.88rem;
  font-weight:900;
}
.product-count small{
  display:block;
  margin-bottom:2px;
  color:#9a7660;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.1em;
}
.product-count strong{
  display:block;
  color:#2b1d19;
  font-size:.86rem;
  line-height:1.3;
}
.product-includes{
  margin-bottom:12px;
}
.product-includes>small{
  display:block;
  margin-bottom:8px;
  color:#9a7660;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.1em;
}
.product-includes-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px 12px;
}
.product-includes-grid span{
  display:flex;
  align-items:flex-start;
  gap:7px;
  min-width:0;
  color:#443731;
  font-size:.77rem;
  line-height:1.35;
}
.product-includes-grid i{
  flex:0 0 auto;
  color:#16704f;
  font-style:normal;
  font-weight:900;
}
.product-specs{
  margin:0!important;
  border-top:1px solid #eadfd2!important;
  border-bottom:1px solid #eadfd2!important;
}
.product-specs summary{
  min-height:44px;
  padding:0 2px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px;
  color:#3b2d27!important;
  font-size:.76rem!important;
  font-weight:800!important;
}
.product-specs summary span{
  color:#9d2030!important;
  font-size:1.05rem!important;
}
.product-specs>div{
  padding:0 2px 10px!important;
}
.product-specs p{
  margin:0 0 6px!important;
  color:#74685f!important;
  font-size:.72rem!important;
  line-height:1.45!important;
}
.product-buy-block{
  margin-top:auto;
  padding-top:14px;
}
.price-row{
  margin:0!important;
  padding:0!important;
  border:0!important;
  align-items:flex-end!important;
}
.regular-price small,
.pix-price small{
  display:block;
  color:#8c7d73!important;
  font-size:.6rem!important;
  font-weight:800!important;
  letter-spacing:.04em;
}
.regular-price strong{
  display:block;
  margin-top:2px;
  color:#3a2d27!important;
  font-size:1rem!important;
}
.pix-price{
  padding:8px 10px;
  border-radius:12px;
  background:#eef7f2;
  color:#116747!important;
}
.pix-price small{
  color:#3f725e!important;
}
.pix-price strong{
  display:block;
  margin-top:1px;
  font-size:1.25rem!important;
}
.product-actions-conversion{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  margin-top:12px!important;
}
.product-actions-conversion .btn{
  width:100%;
  min-height:50px!important;
  border-radius:14px!important;
  font-size:.86rem!important;
}
.product-cart-link{
  min-height:40px;
  border:0;
  background:transparent;
  color:#6d5d54;
  font-size:.74rem;
  font-weight:800;
  cursor:pointer;
}
.product-cart-link:hover{
  color:#9d2030;
}
.product-card--personal .product-count{
  background:#f7f1e5;
  border-color:#e5d5b6;
}
.product-card--personal .product-heading small{
  color:#0d6447;
}
.product-card--personal .product-media-badges span{
  color:#0d6447;
  border-color:rgba(13,100,71,.15);
}

@media(max-width:699px){
  .product-grid{
    gap:12px!important;
  }
  .product-card{
    flex:0 0 min(88vw,352px)!important;
    border-radius:20px!important;
  }
  .product-card-media{
    aspect-ratio:1.58/1!important;
  }
  .product-card-body{
    padding:17px 16px 15px!important;
    min-height:0!important;
  }
  .product-heading h3{
    font-size:1.72rem!important;
  }
  .product-prop{
    margin:7px 0 11px!important;
    font-size:.79rem!important;
  }
  .product-count{
    margin-bottom:11px;
    padding:9px 10px;
  }
  .product-count>span{
    width:28px;height:28px;
  }
  .product-includes{
    margin-bottom:9px;
  }
  .product-includes-grid{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  .product-includes-grid span{
    font-size:.75rem!important;
  }
  .product-specs summary{
    min-height:42px!important;
    font-size:.73rem!important;
  }
  .product-buy-block{
    padding-top:11px!important;
  }
  .price-row{
    gap:10px;
  }
  .pix-price{
    padding:7px 9px;
  }
  .product-actions-conversion{
    margin-top:10px!important;
  }
}


/* ===== Dedicated checkout page ===== */
.checkout-page{
  min-height:100dvh;
  background:
    radial-gradient(circle at 8% 0%,rgba(201,155,73,.10),transparent 26rem),
    linear-gradient(180deg,#fbf7ef,#f8f0e6);
  color:#241714;
}
.checkout-page-header{
  position:sticky;
  top:0;
  z-index:50;
  min-height:72px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  padding:10px max(16px,env(safe-area-inset-left)) 10px max(16px,env(safe-area-inset-right));
  border-bottom:1px solid #e8ddcf;
  background:rgba(255,252,247,.94);
  backdrop-filter:blur(16px);
}
.checkout-page-header>div{display:grid;gap:2px}
.checkout-page-header small{font-size:.58rem;letter-spacing:.12em;font-weight:900;color:#8d6a43}
.checkout-page-header strong{font-family:"DM Serif Display",Georgia,serif;font-size:1.1rem;font-weight:400}
.checkout-page-back{
  width:42px;height:42px;display:grid;place-items:center;
  border:1px solid #e1d6c8;border-radius:14px;background:#fffdf9;
  color:#8f2030;text-decoration:none;font-size:1.25rem;font-weight:900;
}
.checkout-page-secure{
  padding:8px 10px;border-radius:999px;background:#edf6f1;color:#1d684a;
  font-size:.63rem;font-weight:900;white-space:nowrap;
}
.checkout-page-main{
  padding:26px 16px 120px;
}
.checkout-page-shell{
  width:min(1040px,100%);
  margin:0 auto;
}
.checkout-page-progress{
  margin-bottom:24px;
  padding:12px 14px;
  border:1px solid #e6d9ca;
  border-radius:18px;
  background:rgba(255,253,249,.88);
  box-shadow:0 12px 30px rgba(65,38,22,.05);
}
.checkout-page .checkout-step{
  display:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.checkout-page .checkout-step.active{
  display:block!important;
}
.checkout-page .checkout-step-title{
  margin-bottom:18px!important;
}
.checkout-page .checkout-step-title h1{
  margin:0;
  max-width:14ch;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(2.6rem,6vw,5rem);
  line-height:.95;
  letter-spacing:-.035em;
}
.checkout-page .checkout-step-title p{
  margin:8px 0 0;
  max-width:48ch;
  color:#766b63;
  line-height:1.55;
}
.checkout-page .personalization-layout{
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)!important;
  align-items:start!important;
}
.checkout-page .letter-preview-wrap{
  position:sticky;
  top:104px;
}
.checkout-page .personalization-fields{
  position:relative;
  padding:18px!important;
  border-radius:20px!important;
  box-shadow:0 14px 40px rgba(62,37,22,.06);
}
.checkout-page-actions{
  position:sticky;
  bottom:0;
  z-index:30;
  width:min(1040px,calc(100% + 0px));
  margin:22px auto 0;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:12px 0 calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(248,240,230,0),#f8f0e6 28%);
}
.checkout-page-actions .btn{min-width:140px}
.checkout-payment-scene{
  min-height:100dvh;
  padding:26px 16px 60px;
  display:grid;
  place-items:start center;
  background:
    radial-gradient(circle at 50% 0%,rgba(148,30,45,.12),transparent 30rem),
    linear-gradient(180deg,#1c3d31 0 180px,#f8f1e7 180px);
}
.checkout-payment-scene[hidden]{display:none!important}
.checkout-payment-scene .pix-panel-special{
  width:min(560px,100%)!important;
  max-height:none!important;
  margin:36px auto 0!important;
}
@media(max-width:760px){
  .checkout-page-header{
    min-height:64px;
    grid-template-columns:auto 1fr;
  }
  .checkout-page-secure{display:none}
  .checkout-page-main{
    padding:18px 14px 100px;
  }
  .checkout-page-progress{
    margin:0 0 18px;
    padding:10px 11px;
    border-radius:15px;
  }
  .checkout-page .checkout-step-title h1{
    max-width:none;
    font-size:2.35rem;
  }
  .checkout-page .checkout-step-title p{
    font-size:.82rem;
  }
  .checkout-page .personalization-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
  }
  .checkout-page .letter-preview-wrap{
    position:static!important;
    width:100%!important;
    order:1;
  }
  .checkout-page .personalization-fields{
    width:100%!important;
    order:2;
    padding:14px!important;
  }
  .checkout-page .letter-preview{
    min-height:205px!important;
    padding:26px 18px 18px!important;
  }
  .checkout-page .letter-preview-head{
    margin-bottom:7px!important;
  }
  .checkout-page .letter-preview-head>span{
    display:none;
  }
  .checkout-page .delivery-contact,
  .checkout-page .field-grid{
    grid-template-columns:1fr!important;
  }
  .checkout-page-actions{
    margin-top:16px;
    padding-left:0;
    padding-right:0;
  }
  .checkout-page-actions .btn{
    min-width:0;
  }
  .checkout-page-actions #checkoutNext{
    flex:1;
  }
  .checkout-payment-scene{
    padding:0 0 30px;
    place-items:start center;
    background:linear-gradient(180deg,#173f31 0 150px,#f8f1e7 150px);
  }
  .checkout-payment-scene .pix-panel-special{
    width:100%!important;
    margin:26px 0 0!important;
    border-radius:26px 26px 0 0!important;
  }
}


/* ===== Christmas checkout polish ===== */
.checkout-page{
  position:relative;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 8%,rgba(188,34,50,.07),transparent 18rem),
    radial-gradient(circle at 88% 16%,rgba(201,160,76,.10),transparent 20rem),
    linear-gradient(180deg,#fbf7ef 0%,#f8f0e6 100%)!important;
}
.checkout-page:before,
.checkout-page:after{
  content:"";
  position:fixed;
  z-index:0;
  pointer-events:none;
  opacity:.32;
}
.checkout-page:before{
  inset:76px 0 auto 0;
  height:180px;
  background:
    radial-gradient(circle at 8% 26%,#c9a24b 0 2px,transparent 3px),
    radial-gradient(circle at 18% 55%,#9d2030 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 32% 18%,#c9a24b 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 58% 46%,#9d2030 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 74% 20%,#c9a24b 0 2px,transparent 3px),
    radial-gradient(circle at 91% 58%,#9d2030 0 1.5px,transparent 2.5px);
}
.checkout-page:after{
  width:330px;height:330px;
  right:-140px;bottom:-120px;
  border-radius:50%;
  border:42px solid rgba(24,97,69,.08);
  box-shadow:0 0 0 28px rgba(157,32,48,.035);
}
.checkout-page-header,
.checkout-page-main{position:relative;z-index:2}
.checkout-page-header{
  border-bottom:1px solid rgba(168,125,71,.18)!important;
  box-shadow:0 8px 28px rgba(61,35,20,.045);
}
.checkout-page-header:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:3px;
  background:linear-gradient(90deg,#8c1830,#c84745 34%,#e1b54f 66%,#1b6b4c);
  opacity:.9;
}
.checkout-page-shell{
  position:relative;
}
.checkout-page-shell:before{
  content:"✦";
  position:absolute;
  top:96px;right:1%;
  color:#c99e42;
  font-size:1rem;
  opacity:.55;
  animation:tinySpark 2.8s ease-in-out infinite;
}
.checkout-page-progress{
  border-color:rgba(182,148,100,.25)!important;
  background:linear-gradient(180deg,rgba(255,253,249,.96),rgba(255,250,242,.88))!important;
  box-shadow:0 16px 42px rgba(80,47,25,.07)!important;
}
.checkout-progress{
  overflow:hidden;
  background:#eee5d8!important;
}
.checkout-progress span{
  position:relative;
  background:linear-gradient(90deg,#9f2032 0%,#c7533c 48%,#deb64f 78%,#1c6b4c 100%)!important;
  box-shadow:0 0 14px rgba(205,157,67,.18);
}
.checkout-progress span:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 45%,transparent 70%);
  transform:translateX(-120%);
  animation:checkoutShine 2.7s ease-in-out infinite;
}
@keyframes checkoutShine{
  0%,55%{transform:translateX(-120%)}
  100%{transform:translateX(140%)}
}
.checkout-progress-steps span.is-active i{
  box-shadow:0 0 0 5px rgba(157,32,48,.08),0 8px 18px rgba(157,32,48,.12)!important;
}
.checkout-progress-steps span.is-done i{
  background:#1f6d4f!important;
  color:#fff!important;
}
.checkout-page .checkout-step-kicker{
  color:#9b2636!important;
  letter-spacing:.12em!important;
}
.checkout-page .checkout-step-kicker:before{
  content:"✦";
  margin-right:9px;
  color:#d0a54a;
}
.checkout-page .checkout-step-title h1{
  color:#281814;
  text-shadow:0 1px 0 #fff;
}

/* Essential step becomes a real product confirmation */
.basic-checkout-summary{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:0;
  overflow:hidden;
  border:1px solid #e3d4c3;
  border-radius:26px;
  background:#fffdf8;
  box-shadow:0 22px 55px rgba(66,39,22,.08);
}
.basic-checkout-summary[hidden]{display:none!important}
.basic-summary-image{
  position:relative;
  min-height:390px;
  background:#eee5da;
}
.basic-summary-image:after{
  content:"SEU NATAL COMEÇA AQUI";
  position:absolute;
  left:18px;bottom:18px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(88,16,29,.86);
  color:#fff7e8;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.08em;
  backdrop-filter:blur(6px);
}
.basic-summary-image img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.basic-summary-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:30px;
  background:
    radial-gradient(circle at 100% 0%,rgba(214,177,89,.12),transparent 180px),
    #fffdf8;
}
.basic-summary-copy>span,
.review-kit-kicker{
  color:#9c2635;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.12em;
}
.basic-summary-copy h2,
.review-kit-copy h2{
  margin:6px 0 8px;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:2.4rem;
  line-height:1;
  font-weight:400;
}
.basic-summary-copy p,
.review-kit-copy p{
  margin:0 0 18px;
  color:#76695f;
  line-height:1.55;
}
.basic-summary-list,
.review-kit-items{
  display:grid;
  gap:9px;
}
.basic-summary-list span,
.review-kit-items span{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#42362f;
  font-size:.82rem;
  line-height:1.4;
}
.basic-summary-list i,
.review-kit-items i{
  width:22px;height:22px;
  flex:0 0 22px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#e9f4ee;
  color:#176749;
  font-style:normal;
  font-size:.7rem;
  font-weight:900;
}

/* Review becomes the emotional final reveal */
.review-kit-showcase{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  margin:12px 0 16px;
  overflow:hidden;
  border:1px solid #dfc9a8;
  border-radius:26px;
  background:#fffdf7;
  box-shadow:0 22px 60px rgba(66,38,21,.10);
}
.review-kit-photo{
  position:relative;
  min-height:320px;
  background:#eee4d7;
}
.review-kit-photo:after{
  content:"PRONTO PARA A NOITE DE NATAL ✦";
  position:absolute;
  left:16px;right:auto;bottom:16px;
  padding:8px 11px;
  border-radius:999px;
  color:#fff8e9;
  background:rgba(16,83,59,.88);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.08em;
  backdrop-filter:blur(8px);
}
.review-kit-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.review-kit-copy{
  position:relative;
  padding:26px;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 100% 0%,rgba(210,171,78,.14),transparent 170px),
    linear-gradient(180deg,#fffdf8,#fbf5eb);
}
.review-kit-copy:after{
  content:"✦";
  position:absolute;
  top:18px;right:20px;
  color:#d0a34a;
  animation:tinySpark 2.4s ease-in-out infinite;
}
.review-kit-copy h2{
  color:#8f2030;
}
.review-ready{
  margin-top:6px!important;
  color:#1b6a4c!important;
}
.review-card{
  border-color:#dfcaa7!important;
  box-shadow:0 18px 48px rgba(63,37,20,.08)!important;
}
.review-person{
  background:
    radial-gradient(circle at 90% 15%,rgba(213,177,86,.14),transparent 160px),
    linear-gradient(180deg,#fffaf0,#fffdf8)!important;
}
.review-person strong{
  color:#9b2132!important;
}
.review-total{
  background:linear-gradient(135deg,#164f3d,#0d3f30)!important;
}
.review-total strong{
  color:#fff!important;
}

/* Form controls feel more deliberate */
.checkout-page input,
.checkout-page textarea{
  border-color:#ded0bf!important;
  background:#fffdf9!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.checkout-page input:focus,
.checkout-page textarea:focus{
  outline:none!important;
  border-color:#2b7759!important;
  box-shadow:0 0 0 4px rgba(43,119,89,.12)!important;
}
.cep-search .btn{
  overflow:visible!important;
  white-space:nowrap!important;
}

/* Fix checkout CTA clipping and give it stronger finish */
.checkout-page-actions{
  overflow:visible!important;
}
.checkout-page-actions .btn,
.checkout-page-actions #checkoutNext{
  position:relative!important;
  min-height:58px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  line-height:1!important;
  text-overflow:clip!important;
}
.checkout-page-actions #checkoutNext{
  color:#fff!important;
  background:linear-gradient(135deg,#176b4c,#0d533b)!important;
  box-shadow:0 14px 30px rgba(13,83,59,.18)!important;
}
.checkout-page-actions #checkoutNext:after{
  content:"✦";
  position:absolute;
  right:20px;
  color:#f1d174;
  font-size:.8rem;
  opacity:.85;
}
.checkout-page-actions #checkoutBack{
  background:#fffdf9!important;
}

/* Payment page also belongs to the same Christmas world */
.checkout-payment-scene{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 2%,rgba(231,192,99,.20),transparent 280px),
    linear-gradient(180deg,#123f30 0 190px,#f8f1e7 190px)!important;
}
.checkout-payment-scene:before{
  content:"✦   ❄   ✧   ❄   ✦   ❄";
  position:absolute;
  top:36px;left:50%;
  transform:translateX(-50%);
  color:rgba(255,238,192,.72);
  letter-spacing:18px;
  white-space:nowrap;
  animation:tinySpark 2.8s ease-in-out infinite;
}
.checkout-payment-scene .pix-panel-special{
  border:1px solid rgba(206,173,96,.35)!important;
}

@media(max-width:760px){
  .checkout-page-shell:before{top:72px;right:2%}
  .basic-checkout-summary,
  .review-kit-showcase{
    grid-template-columns:1fr;
    border-radius:20px;
  }
  .basic-summary-image{
    min-height:0;
    aspect-ratio:1.48/1;
  }
  .basic-summary-copy{
    padding:18px 16px 20px;
  }
  .basic-summary-copy h2,
  .review-kit-copy h2{
    font-size:1.9rem;
  }
  .review-kit-photo{
    min-height:0;
    aspect-ratio:1.45/1;
  }
  .review-kit-copy{
    padding:18px 16px 20px;
  }
  .review-kit-items{
    grid-template-columns:1fr;
    gap:7px;
  }
  .review-kit-items span{
    font-size:.76rem;
  }
  .checkout-page-actions{
    left:0;right:0;
    width:100%!important;
    gap:8px!important;
  }
  .checkout-page-actions .btn{
    min-height:56px!important;
    font-size:.9rem!important;
  }
  .checkout-page-actions #checkoutBack{
    flex:0 0 112px;
  }
  .checkout-page-actions #checkoutNext{
    flex:1 1 auto;
    min-width:0!important;
    padding-left:18px!important;
    padding-right:42px!important;
  }
  .checkout-page-actions #checkoutNext:after{
    right:15px;
  }
  .checkout-payment-scene:before{
    letter-spacing:9px;
    top:22px;
    font-size:.8rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .checkout-page-shell:before,
  .checkout-progress span:after,
  .review-kit-copy:after,
  .checkout-payment-scene:before{
    animation:none!important;
  }
}


/* ===== Checkout one-view Christmas composition ===== */
.checkout-page-main:before,
.checkout-page-main:after{
  content:"";
  position:fixed;
  z-index:0;
  pointer-events:none;
  width:190px;
  height:260px;
  opacity:.28;
  filter:drop-shadow(0 10px 20px rgba(40,20,12,.08));
}
.checkout-page-main:before{
  top:72px;
  left:-72px;
  background:
    radial-gradient(circle at 66% 18%,#9f2032 0 10px,#d6ad53 11px 13px,transparent 14px),
    radial-gradient(circle at 80% 32%,#1e6b4c 0 12px,transparent 13px),
    linear-gradient(142deg,transparent 0 47%,rgba(31,105,76,.34) 48% 52%,transparent 53%),
    repeating-linear-gradient(155deg,transparent 0 16px,rgba(31,105,76,.28) 17px 21px,transparent 22px 31px);
  transform:rotate(-8deg);
}
.checkout-page-main:after{
  right:-82px;
  bottom:30px;
  background:
    radial-gradient(circle at 32% 24%,#b12639 0 9px,#d6ad53 10px 12px,transparent 13px),
    radial-gradient(circle at 18% 44%,#1e6b4c 0 12px,transparent 13px),
    linear-gradient(38deg,transparent 0 47%,rgba(31,105,76,.30) 48% 52%,transparent 53%),
    repeating-linear-gradient(25deg,transparent 0 16px,rgba(31,105,76,.24) 17px 21px,transparent 22px 31px);
  transform:rotate(8deg);
}
.checkout-oneview{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(190,151,90,.26);
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 8%,rgba(216,177,87,.16),transparent 190px),
    linear-gradient(180deg,rgba(255,253,248,.98),rgba(255,249,239,.96));
  box-shadow:0 22px 62px rgba(69,39,22,.09);
}
.checkout-oneview:before{
  content:"✦  ❄  ✧";
  position:absolute;
  right:20px;
  top:14px;
  color:rgba(180,136,45,.40);
  font-size:.62rem;
  letter-spacing:.32rem;
  z-index:2;
}
.checkout-oneview-product{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:14px;
  border-bottom:1px solid #eadfce;
  background:
    linear-gradient(90deg,rgba(112,20,35,.035),transparent 45%),
    rgba(255,252,246,.75);
}
.checkout-oneview-product img{
  width:150px;
  aspect-ratio:1.45/1;
  object-fit:cover;
  display:block;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(59,33,19,.12);
}
.checkout-oneview-product>div{
  min-width:0;
  display:grid;
  gap:3px;
}
.checkout-oneview-product small{
  color:#a12436;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.12em;
}
.checkout-oneview-product strong{
  font-family:"DM Serif Display",Georgia,serif;
  font-size:1.55rem;
  line-height:1;
  font-weight:400;
  color:#2b1a16;
}
.checkout-oneview-product span{
  max-width:48ch;
  color:#786a60;
  font-size:.74rem;
  line-height:1.4;
}

.checkout-personalization-compact{
  display:grid!important;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;
  gap:0!important;
  align-items:stretch!important;
}
.checkout-personalization-compact .compact-fields{
  display:grid!important;
  align-content:start;
  gap:12px!important;
  padding:18px!important;
  border:0!important;
  border-right:1px solid #eadfce!important;
  border-radius:0!important;
  background:rgba(255,253,249,.72)!important;
  box-shadow:none!important;
}
.checkout-personalization-compact .compact-fields label{
  gap:6px!important;
  font-size:.78rem!important;
}
.checkout-personalization-compact .compact-fields input,
.checkout-personalization-compact .compact-fields textarea{
  min-height:48px!important;
  padding:12px 13px!important;
  border-radius:13px!important;
  font-size:.87rem!important;
}
.checkout-personalization-compact .compact-fields textarea{
  min-height:82px!important;
  resize:none;
}
.checkout-personalization-compact .compact-fields>label>small{
  margin-top:-3px;
  color:#97887d;
  font-size:.62rem;
}
.compact-letter-preview{
  position:static!important;
  min-width:0;
  padding:16px 16px 14px;
  background:
    radial-gradient(circle at 90% 10%,rgba(217,179,88,.10),transparent 170px),
    #fffaf1;
}
.compact-letter-preview .letter-preview-head{
  margin-bottom:8px!important;
}
.compact-letter-preview .letter-preview-head small{
  font-size:.54rem!important;
}
.compact-letter-preview .letter-preview-head strong{
  font-size:.8rem!important;
}
.compact-letter-preview .letter-preview{
  min-height:0!important;
  height:100%;
  padding:24px 20px 18px!important;
  border-radius:17px!important;
}
.compact-letter-preview .letter-preview-kicker{
  font-size:.52rem!important;
}
.compact-letter-preview .letter-preview-greeting{
  font-size:1.5rem!important;
}
.compact-letter-preview .letter-preview p{
  margin:8px 0 10px!important;
  font-size:.78rem!important;
  line-height:1.45!important;
}
.compact-letter-preview .letter-preview-signature span{
  font-size:.66rem!important;
}
.compact-letter-preview .letter-preview-signature strong{
  font-size:1.2rem!important;
}
.compact-letter-preview .letter-seal{
  width:36px!important;
  height:36px!important;
  top:13px!important;
  right:13px!important;
}

/* CEP action becomes obvious and friendly */
.cep-search-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:54px!important;
  border-color:#dac9b3!important;
  background:#fffdf9!important;
  color:#37261f!important;
  overflow:hidden!important;
}
.cep-search-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 30px;
  border-radius:50%;
  background:#f3e7d6;
  color:#9d2030;
  font-size:1.1rem;
  font-weight:900;
}
.cep-search-button.is-found{
  border-color:#acd4bf!important;
  background:#edf8f1!important;
  color:#176749!important;
}
.cep-search-button.is-found .cep-search-icon{
  background:#1d6c4d;
  color:#fff;
}
.cep-search-button.is-found .cep-search-icon:before{
  content:"✓";
}
.cep-search-button.is-found .cep-search-icon{
  font-size:0;
}
.cep-search-button.is-found .cep-search-icon:before{
  font-size:.9rem;
}

/* Essential's compact confirmation sits in the same scene */
.checkout-oneview .basic-checkout-summary{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.checkout-oneview .basic-summary-copy{
  padding:22px!important;
  background:transparent!important;
}
.checkout-oneview .basic-summary-list{
  grid-template-columns:1fr 1fr;
  gap:8px 14px;
}

/* Make first step visually fit without a long page */
body[data-checkout-step="1"] .checkout-page-main{
  padding-top:16px!important;
}
body[data-checkout-step="1"] .checkout-page-progress{
  margin-bottom:14px!important;
}
body[data-checkout-step="1"] .checkout-step-kicker{
  margin-bottom:10px!important;
}
body[data-checkout-step="1"] .checkout-page-actions{
  margin-top:12px!important;
}

/* Full-width decorative ribbons */
.checkout-page-shell:after{
  content:"";
  position:absolute;
  left:50%;
  top:-5px;
  width:110vw;
  max-width:none;
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,#ae2638 28%,#dab45d 50%,#1d6a4d 72%,transparent);
  opacity:.24;
}

@media(max-width:760px){
  .checkout-page-main:before,
  .checkout-page-main:after{
    width:120px;
    height:180px;
    opacity:.20;
  }
  .checkout-page-main:before{left:-54px;top:68px}
  .checkout-page-main:after{right:-58px;bottom:18px}

  body[data-checkout-step="1"] .checkout-page-main{
    padding:10px 12px 88px!important;
  }
  body[data-checkout-step="1"] .checkout-page-progress{
    padding:8px 10px!important;
    margin-bottom:10px!important;
  }
  body[data-checkout-step="1"] .checkout-progress-steps{
    margin-top:6px!important;
  }
  body[data-checkout-step="1"] .checkout-step-kicker{
    margin:0 0 7px!important;
    font-size:.58rem!important;
  }
  body[data-checkout-step="1"] .checkout-oneview{
    border-radius:20px;
  }
  .checkout-oneview-product{
    grid-template-columns:92px minmax(0,1fr);
    gap:11px;
    padding:10px;
  }
  .checkout-oneview-product img{
    width:92px;
    border-radius:12px;
  }
  .checkout-oneview-product strong{
    font-size:1.22rem;
  }
  .checkout-oneview-product span{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:.64rem;
  }
  .checkout-personalization-compact{
    grid-template-columns:1fr!important;
  }
  .checkout-personalization-compact .compact-fields{
    padding:11px!important;
    gap:8px!important;
    border-right:0!important;
    border-bottom:1px solid #eadfce!important;
  }
  .checkout-personalization-compact .compact-fields label{
    font-size:.7rem!important;
  }
  .checkout-personalization-compact .compact-fields input{
    min-height:42px!important;
    padding:9px 11px!important;
  }
  .checkout-personalization-compact .compact-fields textarea{
    min-height:58px!important;
    height:58px!important;
    padding:9px 11px!important;
  }
  .compact-letter-preview{
    padding:10px!important;
  }
  .compact-letter-preview .letter-preview-head{
    margin-bottom:5px!important;
  }
  .compact-letter-preview .letter-preview{
    min-height:160px!important;
    height:auto!important;
    padding:21px 15px 13px!important;
  }
  .compact-letter-preview .letter-preview-greeting{
    font-size:1.28rem!important;
  }
  .compact-letter-preview .letter-preview p{
    margin:6px 0 8px!important;
    font-size:.68rem!important;
    line-height:1.37!important;
    max-height:3.9em;
    overflow:hidden;
  }
  .compact-letter-preview .letter-preview-signature{
    margin-top:4px!important;
  }
  .compact-letter-preview .letter-preview-signature strong{
    font-size:1rem!important;
  }
  .compact-letter-preview .letter-seal{
    width:30px!important;
    height:30px!important;
    top:10px!important;
    right:10px!important;
  }
  .compact-letter-preview .letter-seal span{
    font-size:.55rem!important;
  }
  body[data-checkout-step="1"] .checkout-page-actions{
    margin-top:9px!important;
  }
  body[data-checkout-step="1"] .checkout-page-actions #checkoutNext{
    min-height:52px!important;
  }

  .checkout-oneview .basic-summary-copy{
    padding:15px!important;
  }
  .checkout-oneview .basic-summary-copy h2{
    margin:4px 0 6px!important;
    font-size:1.55rem!important;
  }
  .checkout-oneview .basic-summary-copy p{
    margin-bottom:10px!important;
    font-size:.72rem!important;
  }
  .checkout-oneview .basic-summary-list{
    grid-template-columns:1fr!important;
    gap:5px;
  }
  .checkout-oneview .basic-summary-list span{
    font-size:.7rem;
  }

  .cep-search{
    gap:9px!important;
  }
  .cep-search-button{
    min-height:50px!important;
  }
}


/* ===== One-view checkout step + richer Christmas framing ===== */
.checkout-page{
  background:
    radial-gradient(circle at 10% 2%,rgba(188,32,47,.10),transparent 18rem),
    radial-gradient(circle at 88% 4%,rgba(210,168,77,.13),transparent 20rem),
    linear-gradient(180deg,#fbf7ef 0%,#f8efe4 100%)!important;
}
.checkout-page-main:before,
.checkout-page-main:after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:0;
  width:180px;height:180px;
  opacity:.28;
  background:
    radial-gradient(circle at 50% 50%,#9d2030 0 8px,transparent 9px),
    radial-gradient(circle at 28% 34%,#cfa64d 0 6px,transparent 7px),
    radial-gradient(circle at 68% 26%,#1f6c4c 0 7px,transparent 8px),
    linear-gradient(35deg,transparent 45%,rgba(34,105,76,.16) 46% 50%,transparent 51%);
  filter:blur(.1px);
}
.checkout-page-main:before{left:-80px;top:170px;transform:rotate(-18deg)}
.checkout-page-main:after{right:-80px;bottom:100px;transform:rotate(22deg)}

.checkout-oneview{
  display:grid;
  gap:12px;
}
.checkout-oneview-product{
  display:grid;
  grid-template-columns:132px 1fr;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid #e0d2c1;
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0%,rgba(211,174,83,.14),transparent 120px),
    rgba(255,253,248,.94);
  box-shadow:0 14px 34px rgba(66,39,23,.06);
}
.checkout-oneview-product img{
  width:132px;height:88px;
  object-fit:cover;
  border-radius:13px;
  display:block;
}
.checkout-oneview-product div{display:grid;gap:3px;min-width:0}
.checkout-oneview-product small{
  color:#9d2030;font-size:.58rem;font-weight:900;letter-spacing:.11em
}
.checkout-oneview-product strong{
  font-family:"DM Serif Display",Georgia,serif;
  font-size:1.65rem;line-height:1;color:#2b1b17;font-weight:400
}
.checkout-oneview-product span{
  color:#76685e;font-size:.72rem;line-height:1.4
}

.checkout-personalization-compact{
  grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr)!important;
  gap:12px!important;
  align-items:stretch!important;
}
.compact-fields{
  position:static!important;
  display:grid!important;
  align-content:start;
  gap:10px!important;
  padding:14px!important;
  border:1px solid #e2d5c5!important;
  border-radius:18px!important;
  background:rgba(255,253,249,.95)!important;
}
.compact-fields label{
  gap:6px!important;
  font-size:.76rem!important;
}
.compact-fields input,
.compact-fields textarea{
  min-height:46px!important;
  padding:11px 12px!important;
  font-size:.9rem!important;
  border-radius:12px!important;
}
.compact-fields textarea{
  min-height:82px!important;
  resize:none!important;
}
.compact-letter-preview{
  position:static!important;
  width:100%!important;
}
.compact-letter-preview .letter-preview-head{
  margin:0 0 6px!important;
}
.compact-letter-preview .letter-preview{
  min-height:220px!important;
  padding:26px 22px 18px!important;
  border-radius:18px!important;
}
.compact-letter-preview .letter-preview-kicker{font-size:.56rem!important}
.compact-letter-preview .letter-preview-greeting{font-size:1.55rem!important}
.compact-letter-preview .letter-preview p{font-size:.82rem!important;line-height:1.45!important}
.compact-letter-preview .letter-preview-signature{margin-top:8px!important}
.compact-letter-preview .letter-preview-signature strong{font-size:1.3rem!important}

.cep-search-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:50px!important;
  border-radius:14px!important;
  border:1px solid #dfd3c4!important;
  background:#fffdf9!important;
  color:#2d211d!important;
  box-shadow:0 8px 20px rgba(67,40,22,.05)!important;
}
.cep-search-icon{
  width:26px;height:26px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#f5ede2;
  color:#9d2030;
  font-size:1rem;
  font-weight:900;
}
.cep-search-button.is-found{
  background:#edf7f1!important;
  border-color:#bcd9ca!important;
  color:#1c6849!important;
}
.cep-search-button.is-found .cep-search-icon{
  background:#1f6b4d;
  color:#fff;
}
.cep-search-button.is-found .cep-search-icon:before{content:"✓";font-size:.8rem}
.cep-search-button.is-found .cep-search-icon{font-size:0}

@media(max-width:760px){
  .checkout-page-main{
    min-height:calc(100dvh - 64px);
    padding:14px 12px 92px!important;
  }
  .checkout-page-progress{
    margin-bottom:12px!important;
  }
  body[data-checkout-step="1"] .checkout-page-progress{
    margin-bottom:10px!important;
  }
  body[data-checkout-step="1"] .checkout-step-kicker{
    margin-bottom:7px!important;
    font-size:.62rem!important;
  }
  body[data-checkout-step="1"] .checkout-step-title{
    display:none!important;
  }
  .checkout-oneview{
    gap:9px;
  }
  .checkout-oneview-product{
    grid-template-columns:104px 1fr;
    gap:10px;
    padding:9px;
    border-radius:15px;
  }
  .checkout-oneview-product img{
    width:104px;height:70px;border-radius:11px;
  }
  .checkout-oneview-product strong{font-size:1.35rem}
  .checkout-oneview-product span{
    font-size:.66rem;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .checkout-personalization-compact{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .compact-fields{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px!important;
    border-radius:15px!important;
  }
  .compact-fields label{font-size:.7rem!important}
  .compact-fields input{
    min-height:42px!important;
    font-size:.85rem!important;
  }
  .compact-fields textarea{
    min-height:62px!important;
    font-size:.82rem!important;
  }
  .compact-letter-preview .letter-preview-head{
    display:none!important;
  }
  .compact-letter-preview .letter-preview{
    min-height:168px!important;
    padding:22px 16px 14px!important;
    border-radius:15px!important;
  }
  .compact-letter-preview .letter-seal{
    width:32px;height:32px;top:12px;right:12px;
  }
  .compact-letter-preview .letter-preview-stars{font-size:.62rem!important}
  .compact-letter-preview .letter-preview-kicker{font-size:.48rem!important}
  .compact-letter-preview .letter-preview-greeting{
    margin-top:5px!important;
    font-size:1.25rem!important;
  }
  .compact-letter-preview .letter-preview p{
    margin:5px 0 0!important;
    font-size:.69rem!important;
    line-height:1.34!important;
    max-width:86%;
  }
  .compact-letter-preview .letter-preview-signature{
    margin-top:5px!important;
  }
  .compact-letter-preview .letter-preview-signature span{font-size:.58rem!important}
  .compact-letter-preview .letter-preview-signature strong{font-size:1rem!important}
  body[data-checkout-step="1"] .checkout-page-actions{
    margin-top:9px!important;
  }

  .basic-checkout-summary{
    grid-template-columns:1fr!important;
    border-radius:16px!important;
  }
  .basic-summary-copy{
    padding:14px!important;
  }
  .basic-summary-copy h2{font-size:1.55rem!important}
  .basic-summary-copy p{margin-bottom:10px!important;font-size:.74rem!important}
  .basic-summary-list{
    grid-template-columns:1fr 1fr;
    gap:6px 9px;
  }
  .basic-summary-list span{font-size:.69rem!important}
}

@media(max-width:390px){
  .checkout-progress-steps b{font-size:.52rem!important}
  .checkout-oneview-product{grid-template-columns:92px 1fr}
  .checkout-oneview-product img{width:92px;height:64px}
  .compact-letter-preview .letter-preview{min-height:158px!important}
}

/* Mobile conversion polish | October 2026 */
.product-grid{align-items:stretch}
.product-card{height:100%;display:flex;flex-direction:column;min-width:0}
.product-card-body{flex:1;display:flex;flex-direction:column}
.product-buy-block{margin-top:auto}
.product-card-media{overflow:hidden}
.product-card-media img{display:block;width:100%;object-fit:cover}
.product-card .product-prop{max-width:48ch}
.product-includes-grid{align-content:start}
.product-card .product-count strong{font-variant-numeric:tabular-nums}
.product-actions-conversion .btn{min-height:52px}
.product-cart-link{min-height:42px}
.product-card .product-specs summary{cursor:pointer}
.product-card :focus-visible,.mobile-menu summary:focus-visible,.cart-trigger:focus-visible{outline:3px solid #c89c4a;outline-offset:3px}
.checkout-page input:focus-visible,.checkout-page textarea:focus-visible,.checkout-page button:focus-visible{outline:3px solid #bf913a;outline-offset:2px}
.checkout-page label{min-width:0}
.checkout-page input,.checkout-page textarea{max-width:100%}
.checkout-page-actions{isolation:isolate}
@media(max-width:760px){
  .product-grid{gap:17px}
  .product-card{max-width:100%;margin-inline:auto}
  .product-card-media{aspect-ratio:1.42}
  .product-card-media img{height:100%}
  .product-card-body{gap:10px}
  .product-card .product-prop{line-height:1.5}
  .product-card .product-includes-grid{gap:6px 10px}
  .product-card .product-includes-grid span{line-height:1.35}
  .product-card .product-actions-conversion .btn{width:100%}
  .mobile-buy-bar:not([hidden]){z-index:60}
  .checkout-page-actions{padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .checkout-page input,.checkout-page textarea{font-size:16px!important}
  .checkout-page .checkout-progress-steps{min-width:0}
  .checkout-page .checkout-progress-steps span{min-width:0}
  .checkout-page .checkout-progress-steps b{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 .product-card,.product-card *, .checkout-page *, .mobile-buy-bar, .hero-cinematic *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* Order tracking, support, FAQ and professional footer */
.delivery-regions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.delivery-regions>div{background:#fffaf0;border:1px solid #e5d4b5;border-radius:15px;padding:16px;display:grid;gap:3px}
.delivery-regions small{font-size:.7rem;font-weight:900;color:#7c5a36}
.delivery-regions strong{font:400 clamp(1.5rem,3vw,2rem) Georgia,serif;color:#185943}
.delivery-regions span,.delivery-disclaimer{font-size:.72rem;color:#78685d}
.delivery-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.delivery-links .btn{min-width:180px;text-align:center}
.christmas-faq{background:linear-gradient(155deg,#fbf8f0,#f4eadd)}
.faq-simple{width:min(100%,890px);margin:0 auto;display:grid;gap:9px}
.faq-simple details{background:#fffdf9;border:1px solid #e4d5bc;border-radius:13px;padding:15px 20px}
.faq-simple summary{cursor:pointer;font-weight:800;color:#45302a}
.faq-simple summary:focus-visible{outline:3px solid #b18b4f}
.faq-simple p{color:#74645b;line-height:1.65;margin:12px 0 0}
.footer-complete{display:grid!important;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:28px!important;padding:42px max(20px,calc((100vw - 1150px)/2))!important}
.footer-complete .footer-company{display:grid;align-content:start;gap:10px}
.footer-complete nav{display:grid!important;align-content:start;gap:12px!important}
.footer-complete nav strong{font-size:.84rem}
.footer-complete nav a{font-size:.81rem}
.footer-complete nav a:hover{text-decoration:underline}
@media(max-width:700px){.delivery-regions{grid-template-columns:1fr}.delivery-links{display:grid}.footer-complete{grid-template-columns:1fr 1fr!important;gap:22px!important}.footer-company{grid-column:1/-1}}
@media(max-width:390px){.footer-complete{grid-template-columns:1fr!important}.footer-company{grid-column:auto}}
