:root {
  --ink: #11100f;
  --ink-2: #1b1917;
  --ivory: #f4f0e7;
  --ivory-2: #ddd7ca;
  --gold: #c7a56a;
  --gold-light: #e2c78f;
  --line-dark: rgba(244, 240, 231, .16);
  --line-light: rgba(17, 16, 15, .18);
}
* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: clip; scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--ivory); font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.55; }
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.skip { position: fixed; left: 1rem; top: -4rem; z-index: 100; padding: .8rem 1rem; background: var(--ivory); color: var(--ink); }
.skip:focus { top: 1rem; }

/* Maintenance */
.maintenance-page { min-height: 100svh; overflow-x: hidden; background: #0e0d0c; }
.maintenance-page::before { content: ''; position: fixed; inset: 0; pointer-events: none; background: radial-gradient(circle at 75% 40%, rgba(199,165,106,.13), transparent 30%), linear-gradient(120deg, #0e0d0c 0 48%, #181511 100%); }
.maintenance-header { position: relative; z-index: 2; min-height: 6rem; padding: 1rem clamp(1.25rem, 5vw, 5.5rem); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-dark); }
.maintenance-header p { margin: 0; display: flex; align-items: center; gap: .75rem; color: #aaa196; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.maintenance-header i { width: .48rem; aspect-ratio: 1; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 0 .3rem rgba(226,199,143,.1), 0 0 1.2rem rgba(226,199,143,.55); animation: maintenancePulse 2.2s ease-in-out infinite; }
.maintenance-shell { position: relative; z-index: 1; min-height: calc(100svh - 11rem); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(25rem, .95fr); align-items: center; gap: clamp(2rem, 6vw, 7rem); padding: clamp(3rem, 7vw, 7.5rem) clamp(1.25rem, 6vw, 7rem); }
.maintenance-copy { max-width: 53rem; }
.maintenance-copy .eyebrow { margin-bottom: 1.5rem; }
.maintenance-copy h1 { font-size: clamp(3.7rem, 6.8vw, 7.8rem); }
.maintenance-copy h1 em { display: inline-block; }
.maintenance-lead { max-width: 38rem; margin: 2rem 0 2.7rem; color: #c2baae; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.08rem, 1.5vw, 1.35rem); line-height: 1.6; }
.maintenance-status { max-width: 41rem; padding: 1rem 0; display: grid; grid-template-columns: auto minmax(5rem, 1fr) auto; gap: 1.3rem; align-items: center; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.maintenance-status div:first-child { display: flex; flex-direction: column; }
.maintenance-status span, .maintenance-status b { color: #8f877d; font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; }
.maintenance-status strong { color: var(--ivory); font-family: Georgia, 'Times New Roman', serif; font-size: 1.05rem; font-weight: 400; }
.maintenance-status b { color: var(--gold-light); white-space: nowrap; }
.maintenance-line { height: 1px; overflow: hidden; background: rgba(244,240,231,.12); }
.maintenance-line span { width: 45%; height: 100%; display: block; background: linear-gradient(90deg, transparent, var(--gold-light), transparent); animation: maintenanceLine 2.8s ease-in-out infinite; }
.maintenance-actions { margin-top: 2.2rem; display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; }
.maintenance-actions .button { min-width: 17rem; }
.maintenance-instagram { color: #aaa196; font-size: .76rem; line-height: 1.5; border-bottom: 1px solid rgba(199,165,106,.5); transition: color .25s, border-color .25s; }
.maintenance-instagram strong { color: var(--ivory); font-weight: 700; }
.maintenance-instagram:hover, .maintenance-instagram:focus-visible { color: var(--gold-light); border-color: var(--gold-light); }
.maintenance-visual { width: min(100%, 46rem); position: relative; justify-self: center; margin: 0; padding: clamp(1rem, 2vw, 1.5rem) clamp(0rem, 2vw, 1.5rem) clamp(3rem, 5vw, 4.5rem); animation: maintenanceReveal 1.1s cubic-bezier(.2,.8,.2,1) both; }
.maintenance-visual::before { content: ''; position: absolute; inset: 8% -5% 5% 8%; border: 1px solid rgba(199,165,106,.16); transform: translate(1.3rem, 1.3rem); }
.maintenance-frame { position: relative; z-index: 2; padding: .75rem; border: 1px solid rgba(226,199,143,.34); background: linear-gradient(145deg, rgba(39,34,28,.98), rgba(16,15,13,.98)); box-shadow: 0 42px 100px rgba(0,0,0,.62), 0 0 75px rgba(199,165,106,.09), inset 0 1px rgba(255,255,255,.045); }
.maintenance-frame-head, .maintenance-frame-foot { min-height: 2.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #938b80; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.maintenance-frame-head { padding: 0 .25rem; }
.maintenance-frame-head b { color: var(--gold-light); font-weight: 700; }
.maintenance-frame-foot { min-height: 3rem; padding: .2rem .25rem 0; }
.maintenance-frame-foot span { display: inline-flex; align-items: center; gap: .55rem; white-space: nowrap; }
.maintenance-frame-foot span::before { content: ''; width: .28rem; aspect-ratio: 1; border-radius: 50%; background: var(--gold); box-shadow: 0 0 .65rem rgba(199,165,106,.5); }
.maintenance-image { position: relative; z-index: 2; aspect-ratio: 3 / 2; overflow: hidden; border: 1px solid rgba(244,240,231,.1); background: #0b0a09; }
.maintenance-image::after { content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 75px rgba(0,0,0,.28); pointer-events: none; }
.maintenance-image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; filter: saturate(.72) contrast(1.06) brightness(.88); transition: transform 1.2s cubic-bezier(.2,.7,.2,1), filter .6s ease; }
.maintenance-visual:hover .maintenance-image img { transform: scale(1.025); filter: saturate(.82) contrast(1.06) brightness(.94); }
.maintenance-focus { position: absolute; z-index: 2; left: 50%; top: 44%; width: 32%; aspect-ratio: 1; border: 1px solid rgba(226,199,143,.36); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 1rem rgba(226,199,143,.025), 0 0 2.5rem rgba(199,165,106,.1); pointer-events: none; }
.maintenance-focus::before, .maintenance-focus::after { content: ''; position: absolute; background: rgba(226,199,143,.55); }
.maintenance-focus::before { width: 1.8rem; height: 1px; right: -1.8rem; top: 50%; }
.maintenance-focus::after { width: .32rem; aspect-ratio: 1; right: -2rem; top: calc(50% - .15rem); border-radius: 50%; box-shadow: 0 0 .8rem rgba(226,199,143,.65); }
.maintenance-visual figcaption { position: absolute; z-index: 4; right: -1%; bottom: 0; min-width: clamp(14rem, 48%, 20rem); padding: 1.25rem 1.4rem; display: flex; flex-direction: column; border: 1px solid rgba(226,199,143,.38); background: rgba(17,16,15,.92); backdrop-filter: blur(14px); box-shadow: 0 20px 46px rgba(0,0,0,.42); }
.maintenance-visual figcaption span { color: var(--gold-light); font-size: .75rem; letter-spacing: .17em; text-transform: uppercase; }
.maintenance-visual figcaption strong { margin-top: .45rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.15rem, 2vw, 1.55rem); font-weight: 400; line-height: 1.12; }
.maintenance-footer { position: relative; z-index: 2; min-height: 5rem; padding: 1rem clamp(1.25rem, 5vw, 5.5rem); display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; border-top: 1px solid var(--line-dark); color: #827b72; font-size: .75rem; letter-spacing: .08em; }
.maintenance-footer p { margin: 0; }
.maintenance-footer p:nth-child(2) { font-family: Georgia, 'Times New Roman', serif; font-size: .8rem; font-style: italic; letter-spacing: 0; }
.maintenance-footer a { justify-self: end; color: #b9b0a4; transition: color .2s; }
.maintenance-footer a:hover, .maintenance-footer a:focus-visible { color: var(--gold-light); }
@keyframes maintenancePulse { 50% { opacity: .45; box-shadow: 0 0 0 .48rem rgba(226,199,143,.04), 0 0 .6rem rgba(226,199,143,.28); } }
@keyframes maintenanceLine { 0% { transform: translateX(-120%); } 55%, 100% { transform: translateX(240%); } }
@keyframes maintenanceReveal { from { opacity: 0; transform: scale(.88) rotate(-2deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
@media (max-width: 900px) {
  .maintenance-shell { grid-template-columns: 1fr; padding-top: 4rem; }
  .maintenance-copy { text-align: center; margin: auto; }
  .maintenance-lead, .maintenance-status { margin-left: auto; margin-right: auto; }
  .maintenance-actions { justify-content: center; }
  .maintenance-visual { width: min(88vw, 42rem); }
  .maintenance-footer { grid-template-columns: 1fr; text-align: center; padding-block: 1.5rem; }
  .maintenance-footer a { justify-self: center; }
}
@media (max-width: 560px) {
  .maintenance-header { min-height: 5rem; }
  .maintenance-header p { max-width: 10rem; justify-content: flex-end; text-align: right; font-size: .75rem; }
  .maintenance-header .brand img { width: 6.8rem; }
  .maintenance-shell { min-height: auto; gap: 3rem; padding: 3.5rem 1.2rem; }
  .maintenance-copy h1 { font-size: clamp(3.25rem, 17vw, 5rem); }
  .maintenance-status { grid-template-columns: 1fr auto; text-align: left; }
  .maintenance-line { grid-column: 1 / -1; grid-row: 2; }
  .maintenance-actions { align-items: stretch; flex-direction: column; gap: 1.4rem; }
  .maintenance-actions .button { width: 100%; min-width: 0; }
  .maintenance-visual { width: 100%; padding-bottom: 4.8rem; }
  .maintenance-visual::before { inset: 8% 0 8% 5%; transform: translate(.65rem,.65rem); }
  .maintenance-frame { padding: .55rem; }
  .maintenance-frame-head { min-height: 2.2rem; }
  .maintenance-frame-foot { min-height: auto; padding: .8rem .15rem .25rem; display: grid; grid-template-columns: 1fr; gap: .35rem; }
  .maintenance-image { aspect-ratio: 4 / 3; }
  .maintenance-focus { width: 38%; top: 43%; }
  .maintenance-visual figcaption { right: 0; bottom: .4rem; min-width: 13.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .maintenance-header i, .maintenance-line span, .maintenance-visual { animation: none; }
  .maintenance-image img { transition: none; }
}
.shipping-strip { position: fixed; inset: 0 0 auto; z-index: 31; min-height: 2.15rem; padding: .45rem 1rem; display: flex; align-items: center; justify-content: center; gap: .75rem; background: var(--gold); color: var(--ink); text-align: center; font-size: .75rem; letter-spacing: .09em; text-transform: uppercase; box-shadow: 0 5px 20px rgba(0,0,0,.16); }
.shipping-strip strong { font-weight: 800; letter-spacing: .14em; }
.shipping-strip > span:first-of-type { opacity: .55; }
.home-body .site-header { top: 2.15rem; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 30; height: 5.2rem; padding: 0 clamp(1.2rem, 4vw, 4.8rem); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-dark); transition: background .35s, height .35s; }
.site-header.scrolled { height: 4.5rem; background: rgba(17,16,15,.9); backdrop-filter: blur(15px); }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { display: block; width: clamp(7.4rem, 10vw, 9rem); max-height: 3.2rem; object-fit: contain; }
nav { display: flex; gap: 2.2rem; }
nav a, .header-cta { font-size: .76rem; letter-spacing: .13em; text-transform: uppercase; }
nav a { color: var(--ivory-2); transition: color .2s; }
nav a:hover { color: var(--ivory); }
.header-cta { display: flex; gap: .8rem; align-items: center; padding: .7rem .95rem; background: var(--gold); color: var(--ink); box-shadow: 0 8px 24px rgba(0,0,0,.16); transition: transform .25s ease, background .35s ease, box-shadow .35s ease; }
.header-cta:hover, .header-cta:focus-visible { background: var(--gold-light); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(199,165,106,.24); }
.header-cta span { transition: transform .25s ease; }
.header-cta:hover span, .header-cta:focus-visible span { transform: translate(2px,-2px); }
.header-actions{display:flex;align-items:center;gap:.65rem}.header-cart{min-height:2.55rem;padding:.55rem .75rem;border:1px solid rgba(226,199,143,.42);background:rgba(17,16,15,.7);color:var(--ivory);cursor:pointer;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.header-cart strong{display:inline-grid;min-width:1.35rem;height:1.35rem;margin-left:.35rem;place-items:center;border-radius:50%;background:var(--gold);color:var(--ink);font-size:.75rem}
.hero { min-height: 100svh; display: grid; grid-template-columns: minmax(20rem, .82fr) minmax(30rem, 1.18fr); align-items: stretch; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 75% 38%, rgba(199,165,106,.13), transparent 35%), linear-gradient(110deg, #11100f 0 47%, #181613 100%); }
.hero-copy { position: relative; z-index: 2; padding: clamp(8rem, 13vw, 12rem) 2rem 4.5rem clamp(1.4rem, 6vw, 7rem); display: flex; flex-direction: column; justify-content: center; }
.eyebrow { margin: 0 0 2rem; color: var(--gold-light); font-size: .75rem; font-weight: 700; letter-spacing: .23em; text-transform: uppercase; }
h1, h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; line-height: .9; letter-spacing: -.045em; margin: 0; }
h1 { font-size: clamp(4.4rem, 7.2vw, 8rem); }
h1 em, h2 em { color: var(--gold-light); font-weight: 400; }
.intro { max-width: 34rem; margin: 2.2rem 0 2.5rem; color: var(--ivory-2); font-size: clamp(1rem, 1.3vw, 1.2rem); }
.hero-actions { display: flex; align-items: center; gap: 2rem; }
.button { min-height: 3.7rem; border: 1px solid rgba(255,255,255,.16); display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .95rem 1.35rem; cursor: pointer; color: var(--ink); font-size: .77rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background-image: linear-gradient(115deg, var(--gold) 0 38%, var(--gold-light) 48%, var(--gold) 58% 100%); background-size: 260% 100%; background-position: 100% 0; box-shadow: 0 10px 28px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.24); transition: transform .28s ease, background-position .55s ease, box-shadow .3s ease, letter-spacing .3s ease; }
.button:hover, .button:focus-visible { transform: translateY(-4px); background-position: 0 0; box-shadow: 0 18px 38px rgba(0,0,0,.28), 0 0 0 1px rgba(226,199,143,.28), inset 0 1px rgba(255,255,255,.32); letter-spacing: .145em; }
.button:focus-visible, .header-cta:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }
.button span { display: inline-block; transition: transform .28s ease; }
.button:hover span, .button:focus-visible span { transform: translateX(5px); }
.button:active, .header-cta:active { transform: translateY(-1px) scale(.985); }
.button-primary { min-width: 15.5rem; }
.button-gold { min-width: 10rem; }
.text-link { border-bottom: 1px solid var(--gold); padding-bottom: .35rem; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-visual { position: relative; z-index: 1; display: grid; place-items: center; min-width: 0; }
.hero-visual::after { content: ''; position: absolute; inset: auto 8% 10%; height: 15%; background: #000; filter: blur(45px); opacity: .55; border-radius: 50%; }
.hero-visual img { position: relative; z-index: 2; width: 105%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: screen; filter: saturate(.82) contrast(1.05); animation: reveal 1.3s cubic-bezier(.2,.8,.2,1) both; }
.halo { position: absolute; width: 60%; aspect-ratio: 1; border: 1px solid rgba(199,165,106,.18); border-radius: 50%; box-shadow: 0 0 100px rgba(199,165,106,.08), inset 0 0 80px rgba(199,165,106,.06); }
.visual-label { position: absolute; z-index: 3; font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; color: #aaa298; }
.label-top { top: 18%; right: 7%; }
.scroll-cue { position: absolute; z-index: 4; bottom: 2rem; left: 1.3rem; writing-mode: vertical-rl; font-size: .75rem; letter-spacing: .2em; color: #847e75; display: flex; align-items: center; gap: .7rem; }
.scroll-cue span { height: 2.8rem; width: 1px; background: var(--gold); }
.config-section { min-height: 100vh; position: relative; overflow: hidden; background: #151310; color: var(--ivory); padding: clamp(7rem, 10vw, 10rem) clamp(1.3rem, 5vw, 6rem); }
.config-section::before { content: ''; position: absolute; width: 48rem; aspect-ratio: 1; right: -18rem; top: -22rem; border: 1px solid rgba(199,165,106,.13); border-radius: 50%; box-shadow: 0 0 0 7rem rgba(199,165,106,.025), 0 0 0 14rem rgba(199,165,106,.018); pointer-events: none; }
.config-intro { position: relative; z-index: 1; max-width: 100rem; margin: 0 auto clamp(3rem, 6vw, 5rem); display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; align-items: end; }
.config-intro .eyebrow { color: var(--gold-light); margin-bottom: 1.3rem; }
h2 { font-size: clamp(4rem, 7vw, 7.5rem); }
.config-intro > p { max-width: 32rem; margin: 0 0 .7rem auto; padding-left: 2rem; border-left: 1px solid var(--gold); color: #bdb6aa; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.15rem, 1.5vw, 1.45rem); }
.config-card { position: relative; z-index: 1; max-width: 100rem; margin: 0 auto; background: #ece6da; color: var(--ink); border: 1px solid rgba(226,199,143,.35); box-shadow: 0 45px 100px rgba(0,0,0,.38); }
.referral-gift { position:relative; z-index:2; max-width:100rem; margin:0 auto 1rem; display:grid; grid-template-columns:auto 1fr auto; gap:clamp(1rem,3vw,2.5rem); align-items:center; padding:clamp(1.3rem,2.5vw,2rem); border:1px solid rgba(226,199,143,.65); background:radial-gradient(circle at 8% 50%,rgba(202,167,102,.22),transparent 26%),#211d18; color:var(--ivory); box-shadow:0 25px 70px rgba(0,0,0,.35); }
.referral-gift[hidden] { display:none; }
.referral-gift-value { color:var(--gold-light); font:clamp(3.8rem,7vw,7rem)/.8 Georgia,serif; }
.referral-gift-value sup { font-size:.35em; vertical-align:top; }
.referral-gift span { display:block; margin-bottom:.4rem; color:#a99066; font-size:.75rem; font-weight:800; letter-spacing:.14em; }
.referral-gift strong { display:block; font:clamp(1.6rem,2.5vw,2.5rem)/1 Georgia,serif; }
.referral-gift p { margin:.6rem 0 0; color:#9f968a; font-size:.8rem; }
.referral-gift code { padding:1rem 1.2rem; border:1px dashed rgba(226,199,143,.6); color:#e2c78f; font-family:ui-monospace,monospace; font-size:.85rem; font-weight:800; letter-spacing:.06em; }
.product-promotion-banner{position:relative;z-index:2;max-width:100rem;margin:0 auto 1rem;padding:1.15rem 1.4rem;border:1px solid rgba(226,199,143,.58);background:linear-gradient(115deg,#171411,#2c2419);color:var(--ivory);display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.5rem;align-items:center}.product-promotion-banner[hidden]{display:none}.product-promotion-banner>span{grid-row:1/3;color:#caa766;font-size:.68rem;font-weight:900;letter-spacing:.13em}.product-promotion-banner strong{font:400 clamp(1.2rem,2vw,1.7rem) Georgia,serif;color:var(--gold-light)}.product-promotion-banner p{margin:0;color:#a99f92;font-size:.78rem;line-height:1.5}
.checkout-referral { display:block; margin-top:.35rem; color:#8a6934; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.checkout-coupon { display:block; margin:1rem 0 1.35rem; border:1px solid rgba(226,199,143,.28); background:linear-gradient(135deg,rgba(202,167,102,.1),rgba(255,255,255,.018)); }
.checkout-compact-summary { min-height:4.25rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; cursor:pointer; list-style:none; user-select:none; }
.checkout-compact-summary::-webkit-details-marker { display:none; }
.checkout-compact-summary span { display:grid; gap:.22rem; }
.checkout-compact-summary small { color:#8f877d; font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.checkout-compact-summary strong { color:var(--ivory); font:400 1.1rem/1.15 Georgia,'Times New Roman',serif; }
.checkout-compact-summary b { width:2rem; height:2rem; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(226,199,143,.36); color:var(--gold-light); font-size:1.15rem; font-weight:400; transition:transform .2s ease,background .2s ease; }
.checkout-compact-summary:hover b,.checkout-compact-summary:focus-visible b { background:rgba(226,199,143,.1); }
.checkout-compact-summary:focus-visible { outline:2px solid var(--gold-light); outline-offset:-2px; }
.checkout-coupon[open]>.checkout-compact-summary b,.checkout-invoice-request[open]>.checkout-compact-summary b { transform:rotate(45deg); }
.checkout-coupon-body { display:grid; grid-template-columns:minmax(12rem,.9fr) minmax(16rem,1.1fr); gap:1.25rem; padding:1.15rem; border-top:1px solid rgba(226,199,143,.18); }
.checkout-coupon-copy>span,.checkout-coupon-control>label { display:block; color:var(--gold-light); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.checkout-coupon-copy strong { display:block; margin:.45rem 0; color:var(--ivory); font:400 1.25rem/1.1 Georgia,'Times New Roman',serif; }.checkout-coupon-copy p { margin:0; color:#8f877d; font-size:.75rem; line-height:1.45; }
.checkout-coupon-control>div { display:grid; grid-template-columns:1fr auto auto; gap:.45rem; margin-top:.55rem; }.checkout-coupon-control input { min-width:0; height:2.8rem; border:1px solid rgba(226,199,143,.32); padding:0 .75rem; background:#12100e; color:var(--ivory); font-weight:800; letter-spacing:.06em; text-transform:uppercase; outline:none; }.checkout-coupon-control input:focus { border-color:var(--gold-light); box-shadow:0 0 0 2px rgba(226,199,143,.09); }.checkout-coupon-control input[readonly] { color:var(--gold-light); opacity:1; }
.checkout-coupon-control button { min-width:5rem; border:1px solid var(--gold); padding:0 .8rem; background:var(--gold); color:var(--ink); cursor:pointer; font-size:.75rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.checkout-coupon-control button:disabled { cursor:wait; opacity:.65; }.checkout-coupon-control #checkoutCouponRemove { border-color:rgba(226,199,143,.35); background:transparent; color:#bdb4a8; }
.checkout-coupon-control>p { margin:.55rem 0 0; color:#817a70; font-size:.75rem; line-height:1.4; }.checkout-coupon-control>p.is-success { color:#9fc3a5; }.checkout-coupon-control>p.is-error { color:#e9a49b; }
.config-head { min-height: 4.4rem; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(1.2rem, 2.3vw, 2.5rem); border-bottom: 1px solid rgba(17,16,15,.18); color: #6f685d; font-size: .75rem; letter-spacing: .2em; }
.step-indicator { display: flex; align-items: center; gap: .6rem; color: #72592f; }
.step-indicator i { width: .45rem; aspect-ratio: 1; display: inline-block; border-radius: 50%; background: #9a783f; box-shadow: 0 0 0 .28rem rgba(154,120,63,.13); }
.config-workspace { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(25rem, .88fr); }
.live-personalizer { min-width: 0; padding: clamp(1.5rem, 3vw, 3.25rem); background: radial-gradient(circle at 14% 12%, rgba(199,165,106,.12), transparent 25%), #201d19; color: var(--ivory); display: grid; grid-template-rows: auto auto auto; align-content: start; align-items: start; gap: clamp(1.5rem,2vw,2.25rem); }
.preview-editorial { width: 100%; display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: clamp(1.5rem,3vw,3.5rem); align-items: end; max-width: 47rem; }
.preview-editorial-index { min-height: 8rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; border: 1px solid rgba(226,199,143,.28); color: var(--gold-light); }
.preview-editorial-index span { font: 400 3.8rem/.8 Georgia,'Times New Roman',serif; }
.preview-editorial-index small { color: #918879; font-size: .75rem; letter-spacing: .16em; }
.preview-editorial h3 { margin: 0; font: 400 clamp(2.5rem,3.5vw,4.4rem)/.9 Georgia,'Times New Roman',serif; letter-spacing: -.035em; }
.preview-editorial h3>span { color: var(--gold-light); }
.preview-editorial h3 em { color: #ded5c7; font-weight: 400; }
.preview-editorial p { max-width: 34rem; margin: 1rem 0 0; color: #9e968a; font-size: .78rem; line-height: 1.6; }
.preview-chrome { width: 100%; border: 1px solid rgba(244,240,231,.15); padding: .8rem; background: linear-gradient(145deg, #29251f, #171512); box-shadow: inset 0 0 0 1px rgba(255,255,255,.025); }
.preview-meta, .preview-foot { min-height: 2.5rem; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 1rem; color: #9f978a; font-size: .75rem; letter-spacing: .16em; }
.preview-meta span:last-child, .preview-foot span:last-child { text-align: right; }
.preview-stage { position: relative; min-width: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--ink); border: 1px solid rgba(244,240,231,.08); }
.preview-stage::after { content: ''; position: absolute; inset: 0; z-index: 2; box-shadow: inset 0 0 90px rgba(0,0,0,.34); pointer-events: none; }
.preview-bowl { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.75) contrast(1.04); }
.preview-tag { position: absolute; left: 1rem; top: 1rem; z-index: 3; padding: .55rem .7rem; border: 1px solid rgba(226,199,143,.4); background: rgba(17,16,15,.82); color: var(--gold-light); font-size: .75rem; letter-spacing: .18em; }
.preview-watermark { position:absolute; right:1rem; bottom:1rem; z-index:3; padding:.5rem .65rem; border:1px solid rgba(226,199,143,.35); background:rgba(17,16,15,.68); color:rgba(242,226,188,.9); font-size:.75rem; font-weight:800; letter-spacing:.16em; pointer-events:none; }
.preview-foot { grid-template-columns: 1fr auto 1fr; }
.preview-foot p { margin: 0; color: #c9c1b5; font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: .78rem; letter-spacing: 0; text-align: center; }
.preview-craft { width: 100%; border-top: 1px solid rgba(226,199,143,.22); }
.preview-craft>p { margin: 0; padding: 1rem 0; color: #a78c60; font-size: .75rem; font-weight: 800; letter-spacing: .16em; }
.preview-craft>div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid rgba(226,199,143,.16); border-right: 0; }
.preview-craft article { position: relative; min-height: 9.5rem; padding: 1.15rem; border-right: 1px solid rgba(226,199,143,.16); display: flex; flex-direction: column; }
.preview-craft article>span { color: #9f7c43; font-size: .75rem; letter-spacing: .15em; }
.preview-craft-icon { position: absolute; top: 1rem; right: 1rem; width: 2.3rem; height: 2.3rem; fill: none; stroke: rgba(226,199,143,.65); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.preview-craft article strong { margin-top: auto; color: #eee7dd; font: 400 1rem/1.1 Georgia,'Times New Roman',serif; }
.preview-craft article small { margin-top: .45rem; color: #8e867a; font-size: .75rem; line-height: 1.45; }
.preview-signature { display: none; }
@media (min-width: 901px) {
  .live-personalizer { grid-template-rows: auto auto auto minmax(10rem, 1fr); }
  .preview-signature {
    width: 100%;
    min-height: 10rem;
    align-self: stretch;
    display: grid;
    place-items: center;
    border-top: 1px solid rgba(226,199,143,.18);
    background: radial-gradient(circle at 50% 50%, rgba(199,165,106,.08), transparent 58%);
    text-align: center;
  }
  .preview-signature>div { max-width: 38rem; padding: 2.25rem 2rem; }
  .preview-signature small { display: block; margin-bottom: 1rem; color: rgba(226,199,143,.65); font-size: .7rem; font-weight: 800; letter-spacing: .24em; }
  .preview-signature strong { display: block; color: #e7ddcf; font: 400 clamp(2.45rem,3.9vw,4.6rem)/.88 Georgia,'Times New Roman',serif; letter-spacing: -.045em; }
  .preview-signature strong em { color: var(--gold-light); font-weight: 400; }
  .preview-signature p { max-width: 28rem; margin: 1.15rem auto 0; color: #948b7e; font-size: .78rem; line-height: 1.55; }
}
.engraving-preview { position: absolute; z-index: 2; left: 33%; top: 27%; width: 34%; height: 33%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: rgba(63,52,39,.76); transform: perspective(500px) rotateX(4deg); mix-blend-mode: multiply; pointer-events: none; }
.engraving-preview img { width: 72%; height: 74%; object-fit: contain; object-position: center; background:transparent; filter: grayscale(1) sepia(.2) contrast(1.35) brightness(1.03); opacity: .58; }
.engraving-preview img.is-customer-photo { width:88%; height:86%; object-fit:cover; filter:grayscale(1) sepia(.18) contrast(1.48) brightness(1.08); opacity:.54; -webkit-mask-image:radial-gradient(ellipse 56% 66% at 50% 48%, #000 34%, rgba(0,0,0,.92) 52%, rgba(0,0,0,.36) 68%, transparent 84%); mask-image:radial-gradient(ellipse 56% 66% at 50% 48%, #000 34%, rgba(0,0,0,.92) 52%, rgba(0,0,0,.36) 68%, transparent 84%); }
.engraving-preview span { margin-top: -.15rem; max-width: 100%; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(.75rem, 2vw, 1.55rem); letter-spacing: .12em; line-height: 1; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.engraving-preview[data-mode="name"] span { font-size: clamp(1rem, 2.7vw, 2rem); margin-top: 0; }
.engraving-preview[data-mode="portrait"] img { width: 86%; height: 90%; }
.config-controls { padding: clamp(1.5rem, 3vw, 3rem); background: #f5f1e8; }
.controls-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.2rem; }
.controls-heading h3 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 3vw, 3.15rem); font-weight: 400; line-height: .95; letter-spacing: -.035em; text-align: right; }
fieldset { border: 0; margin: 0; padding: 1.25rem 0; border-top: 1px solid var(--line-light); }
legend { width: 100%; padding: 0 0 .8rem; font-family: Georgia, 'Times New Roman', serif; font-size: 1.05rem; }
legend span { margin-right: .65rem; color: #98763d; font-family: Arial, Helvetica, sans-serif; font-size: .75rem; letter-spacing: .14em; vertical-align: middle; }
.choice-grid { display: grid; gap: .5rem; }
.choice-grid.two { grid-template-columns: 1fr 1fr; }
.choice-grid.three { grid-template-columns: repeat(3, 1fr); }
.choice-grid label { cursor: pointer; }
.choice-grid input { position: absolute; opacity: 0; pointer-events: none; }
.choice-grid label span { min-height: 3.9rem; position: relative; display: flex; flex-direction: column; justify-content: center; padding: .65rem .8rem; border: 1px solid rgba(17,16,15,.2); background: transparent; font-size: .82rem; font-weight: 700; transition: border .2s, background .2s, color .2s, transform .2s; }
.choice-grid label span::after { content: ''; position: absolute; width: .35rem; aspect-ratio: 1; top: .55rem; right: .55rem; border: 1px solid rgba(17,16,15,.28); border-radius: 50%; }
.choice-grid label small { color: #7c766e; font-size: .75rem; font-weight: 400; margin-top: .08rem; }
.choice-grid input:checked + span { border-color: var(--ink); background: var(--ink); color: var(--ivory); transform: translateY(-1px); }
.choice-grid input:checked + span::after { border-color: var(--gold-light); background: var(--gold-light); box-shadow: 0 0 0 .18rem rgba(226,199,143,.18); }
.choice-grid input:checked + span small { color: var(--gold-light); }
.choice-grid input:focus-visible + span { outline: 2px solid #8a6c3a; outline-offset: 2px; }
.size-choices { gap: .7rem; }
.size-choices label span {
  min-height: 4.7rem;
  padding: 1.25rem .8rem .65rem;
  border-color: rgba(17,16,15,.42);
  background: #fbf8f1;
  box-shadow: 0 3px 0 rgba(138,108,58,.28), 0 8px 18px rgba(17,16,15,.06);
  text-align: center;
  align-items: center;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.35rem;
  transition: border-color .2s, background .2s, color .2s, transform .2s, box-shadow .2s;
}
.size-choices label span::before {
  content: 'ELEGIR';
  position: absolute;
  top: .5rem;
  left: .7rem;
  color: #8a6c3a;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .13em;
}
.size-choices label small { font-family: Arial, Helvetica, sans-serif; }
.size-choices label em{display:block;margin-top:.25rem;color:#8b7450;font:800 .66rem/1.2 Arial,Helvetica,sans-serif;letter-spacing:.02em}.size-choices input:checked+span em{color:var(--gold-light)}
.size-choices label em.has-promotion{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:center;gap:.18rem .45rem;margin-top:.3rem;font-style:normal}.size-choices label em.has-promotion del{color:#91877a;font-size:.6rem;font-weight:600}.size-choices label em.has-promotion strong{color:#8a6c3a;font-size:.78rem}.size-choices label em.has-promotion small{grid-column:1/-1;margin:0;color:#746b60;font-size:.54rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.size-choices input:checked+span em.has-promotion del{color:#8f877d}.size-choices input:checked+span em.has-promotion strong,.size-choices input:checked+span em.has-promotion small{color:var(--gold-light)}
.size-choices label em.has-promotion{gap:.12rem .48rem;margin-top:.22rem;line-height:1}.size-choices label em.has-promotion del{font-size:.62rem;font-weight:700}.size-choices label em.has-promotion strong{padding:.14rem .28rem;border-bottom:2px solid #b9904f;color:#765523;font-size:1rem;font-weight:900}.size-choices label em.has-promotion small{color:#675e54;font-size:.55rem;font-weight:900;letter-spacing:.06em}.size-choices input:checked+span em.has-promotion del{color:#9b9389}.size-choices input:checked+span em.has-promotion strong{border-bottom-color:var(--gold-light);color:#ffe2a1}.size-choices input:checked+span em.has-promotion small{color:var(--gold-light)}
.size-choices label:hover span {
  border-color: #8a6c3a;
  background: #fffdf8;
  transform: translateY(-2px);
  box-shadow: 0 4px 0 #b38b4b, 0 10px 20px rgba(17,16,15,.1);
}
.size-choices input:checked + span {
  border-color: var(--ink);
  background: var(--ink);
  box-shadow: 0 4px 0 #b38b4b, 0 10px 22px rgba(17,16,15,.16);
}
.size-choices input:checked + span::before {
  content: 'SELECCIONADO';
  color: var(--gold-light);
}
.size-choices input:checked + span::after { box-shadow: 0 0 0 .22rem rgba(226,199,143,.2); }
.size-choices label:active span { transform: translateY(1px); box-shadow: 0 1px 0 #b38b4b; }
.preview-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.25rem 0; border-top: 1px solid var(--line-light); }
.preview-controls > div { min-width: 0; }
.preview-controls label:not(.upload-control) { display: block; margin: .25rem 0 .3rem; font-family: Georgia, 'Times New Roman', serif; font-size: .98rem; }
.control-index { margin: 0; color: #8a6c3a; font-size: .75rem; letter-spacing: .17em; }
#petName { width: 100%; border: 0; border-bottom: 1px solid rgba(17,16,15,.45); padding: .45rem 0; background: transparent; color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; text-transform: uppercase; outline: none; }
#petName:focus { border-color: #8a6c3a; }
.birth-date-label { margin-top: .9rem !important; color: #8a6c3a; font-family: Arial, Helvetica, sans-serif !important; font-size: .75rem !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
#petBirthDate { width: 100%; min-height: 2.65rem; border: 1px solid rgba(17,16,15,.34); padding: .5rem .65rem; background: #fbf8f1; color: var(--ink); color-scheme: light; font: 400 .95rem Arial, Helvetica, sans-serif; outline: none; }
#petBirthDate:hover { border-color: #8a6c3a; }
#petBirthDate:focus { border-color: #8a6c3a; box-shadow: 0 0 0 2px rgba(138,108,58,.14); }
.birth-date-help { display: block; margin-top: .35rem; }
#petPhoto { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.upload-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem; align-items: stretch; }
.upload-control { min-height: 3.7rem; margin-top: .45rem; padding: .55rem .75rem; border: 1px solid rgba(17,16,15,.35); display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.upload-control > span { display: flex; flex-direction: column; }
.upload-control small { margin-top: .08rem; font-weight: 400; }
.upload-control:hover { border-color: var(--ink); }
#photoStatus { display: block; margin-top: .45rem; line-height: 1.35; transition: color .2s ease; }
#photoStatus.is-pending, #photoStatus.is-error { color: #a62f26; font-weight: 700; }
#photoStatus.is-success { color: #3f6b42; font-weight: 700; }
.remove-photo { width: 3.7rem; min-height: 3.7rem; margin-top: .45rem; border: 1px solid rgba(17,16,15,.35); background: var(--ink); color: var(--ivory); font: 300 1.65rem/1 Arial, Helvetica, sans-serif; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.remove-photo:hover, .remove-photo:focus-visible { border-color: #8a6c3a; background: #8a6c3a; color: #fff; transform: translateY(-1px); }
.remove-photo[hidden] { display: none; }
.photo-control[hidden], .preview-note[hidden] { display: none !important; }
#petPhoto:focus-visible + small { outline: 2px solid #8a6c3a; outline-offset: 2px; }
.preview-controls small { color: #70695f; font-size: .75rem; line-height: 1.35; }
.photo-control > small { display: block; margin-top: .35rem; }
.preview-note { margin: 0; padding: .85rem 1rem; border: 1px solid rgba(138,108,58,.22); background: rgba(199,165,106,.08); color: #625c54; font-size: .75rem; }
.preview-note span { color: #8a6c3a; margin-right: .45rem; }
.config-summary { margin-top: 1.25rem; padding: 1.35rem; border: 1px solid rgba(138,108,58,.25); background: rgba(255,255,255,.38); box-shadow: 0 14px 34px rgba(63,48,27,.06); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 1.5rem; align-items: end; }
.config-summary .config-order { grid-column: 1 / -1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: .4rem; }
.config-summary .config-order small { white-space: nowrap; }
.config-summary .config-order strong { max-width: 100%; overflow-wrap: anywhere; }
.config-summary small { color: #7c766e; font-size: .75rem; text-transform: uppercase; letter-spacing: .14em; }
.config-summary strong { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.05rem, 1.5vw, 1.28rem); line-height: 1.2; }
.config-total { min-width: 8.5rem; display: flex; flex-direction: column; align-items: flex-end; }
.config-total mark{max-width:14rem;margin-top:.3rem;padding:.2rem .4rem;background:#171411;color:var(--gold-light);font-size:.6rem;font-weight:900;letter-spacing:.07em;text-align:right;text-transform:uppercase}
.config-quantity { display:flex; flex-direction:column; gap:.35rem; }
.config-quantity>span { display:grid; grid-template-columns:2.3rem 3rem 2.3rem; border:1px solid rgba(17,16,15,.22); background:#faf7f0; }
.config-quantity button,.config-quantity input { min-height:2.5rem; border:0; background:transparent; color:var(--ink); text-align:center; }
.config-quantity button { cursor:pointer; font-size:1rem; }
.config-quantity input { width:100%; border-inline:1px solid rgba(17,16,15,.14); font:700 1rem Georgia,serif; appearance:textfield; }
.config-quantity input::-webkit-outer-spin-button,.config-quantity input::-webkit-inner-spin-button{appearance:none;margin:0}
.config-price { margin-top: .3rem; color: #8a6c3a; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.4rem, 4vw, 3.2rem); line-height: .9; white-space: nowrap; }
.config-actions { grid-column: 1 / -1; min-width: 0; padding-top: 1rem; border-top: 1px solid rgba(17,16,15,.13); display: grid; grid-template-columns: minmax(9rem, .42fr) minmax(15rem, 1fr); gap: .75rem; align-items: stretch; }
.config-save { min-height: 4rem; border: 1px solid rgba(17,16,15,.28); padding: .65rem .8rem; background: transparent; color: #5e574e; font: inherit; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: color .25s ease, border-color .25s ease, background .25s ease; }
.config-save:hover, .config-save:focus-visible { border-color: var(--ink); background: rgba(17,16,15,.04); color: var(--ink); }
.paypal-button { width: 100%; min-width: 0; min-height: 4rem; white-space: nowrap; }
.paypal-note { margin: .7rem 0 0; color: #7c766e; font-size: .75rem; letter-spacing: .035em; display: flex; justify-content: flex-end; gap: .55rem; text-align: right; }
.paypal-note b { color: #62594e; }
.design-cart { margin-top:1rem; border:1px solid rgba(17,16,15,.22); background:#171411; color:var(--ivory); }
.design-cart>header,.design-cart>footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem; }
.design-cart>header { border-bottom:1px solid rgba(226,199,143,.18); }
.design-cart>header small,.design-cart>footer small { display:block; margin-bottom:.25rem; color:#a39b90; font-size:.75rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.design-cart h4 { margin:0; font:400 1.25rem Georgia,serif; }
.design-cart>header>strong { color:var(--gold-light); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.cart-empty { margin:0; padding:1.2rem 1.25rem; color:#9f978c; font-size:.75rem; line-height:1.55; }
.cart-items article { display:grid; grid-template-columns:2.2rem minmax(0,1fr) auto auto; gap:.8rem; align-items:center; padding:1rem 1.25rem; border-bottom:1px solid rgba(226,199,143,.13); }
.cart-items article>span { width:2.1rem; aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(226,199,143,.35); border-radius:50%; color:var(--gold-light); font:400 .85rem Georgia,serif; }
.cart-items article div { min-width:0; }
.cart-items article nav{display:flex;gap:.35rem;margin-top:.55rem}.cart-items article nav button{width:auto;height:auto;padding:.35rem .5rem;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.cart-items article nav button:last-child{color:#d89a8f;border-color:rgba(216,154,143,.4)}
.cart-items article strong { display:block; color:#f3ede4; font:400 1rem Georgia,serif; }
.cart-items article small { display:block; margin-top:.2rem; color:#978f84; font-size:.75rem; line-height:1.4; }
.cart-items article b { color:var(--gold-light); font:400 1rem Georgia,serif; white-space:nowrap; }
.cart-line-price{display:grid;justify-items:end;gap:.15rem;margin:0;white-space:nowrap}.cart-line-price del{color:#81796f;font-size:.7rem}.cart-line-price b{color:var(--gold-light);font:400 1rem Georgia,serif}.cart-line-price small{margin:0!important;color:#d6b56f!important;font-size:.58rem!important;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.cart-items article button { width:2rem; height:2rem; border:1px solid rgba(226,199,143,.3); background:transparent; color:#c9bfae; cursor:pointer; }
.design-cart>footer { flex-wrap:wrap; background:#211d19; }
.design-cart>footer>div>strong { display:block; color:var(--gold-light); font:400 1.75rem Georgia,serif; }
.design-cart>footer .button { width:min(100%,22rem); }
.design-cart>footer .button:disabled { opacity:.45; cursor:not-allowed; }
.cart-footer-actions{display:grid;flex:1 1 34rem;width:min(100%,38rem);max-width:38rem;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.55rem}.cart-footer-actions .paypal-button{width:100%;max-width:none}.cart-save-later{min-height:4rem;padding:.65rem;border:1px solid rgba(226,199,143,.35);background:transparent;color:#d2c7b8;cursor:pointer;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.cart-save-later:disabled{opacity:.4;cursor:not-allowed}.cart-restore-notice{display:grid;gap:.25rem;padding:.85rem 1.25rem;border-bottom:1px solid rgba(226,199,143,.2);background:#2b241b;color:#a69d91;font-size:.75rem}.cart-restore-notice strong{color:var(--gold-light);font:400 1rem Georgia,serif}.cart-restore-notice[hidden]{display:none}.cart-save-dialog{width:min(38rem,calc(100% - 1.5rem));padding:clamp(1.6rem,4vw,3rem);border:1px solid rgba(226,199,143,.35);background:#171411;color:var(--ivory)}.cart-save-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.cart-save-dialog h2{margin:.6rem 0 1rem;font-size:clamp(2.8rem,7vw,5rem);line-height:.88}.cart-save-dialog>p:not(.eyebrow){color:#aba297;line-height:1.6}.cart-save-dialog form{display:grid;gap:1rem;margin-top:1.5rem}.cart-save-dialog label{display:grid;gap:.45rem}.cart-save-dialog label>span{color:#c9bca9;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cart-save-dialog input[type=email]{min-height:3.5rem;padding:.8rem;border:1px solid rgba(226,199,143,.35);background:#211d19;color:#fff;font:400 1rem Georgia,serif}.cart-save-dialog .cart-reminder-consent{grid-template-columns:auto 1fr;align-items:start}.cart-save-dialog .cart-reminder-consent span{font-size:.75rem;line-height:1.5;letter-spacing:0;text-transform:none}.cart-save-dialog #cartSaveStatus{min-height:1.2rem;margin:0;color:var(--gold-light);font-size:.75rem;line-height:1.5}
.cart-promotion-notice{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid rgba(226,199,143,.22);background:#2b241b;color:#a69d91;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cart-promotion-notice strong{color:var(--gold-light);text-align:right}.cart-promotion-notice[hidden]{display:none}
.story-section { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; background: var(--ivory); color: var(--ink); }
.story-image { position: relative; min-height: 50rem; overflow: hidden; margin: 0 0 5rem 5rem; }
.story-image img { width: 100%; height: 100%; object-fit: cover; }
.image-index { position: absolute; inset: auto auto 1.5rem 1.5rem; padding: .6rem .8rem; background: rgba(17,16,15,.82); color: var(--ivory); font-size: .75rem; letter-spacing: .15em; }
.story-copy { align-self: center; padding: 7rem clamp(2rem, 6vw, 7rem); }
.story-copy .eyebrow, .sizes-section .eyebrow { color: #8a6c3a; }
.story-copy h2 { font-size: clamp(3.6rem, 5.5vw, 6.5rem); }
.process-list { margin: 3.5rem 0 2rem; border-top: 1px solid var(--line-light); }
.process-list article { padding: 1.25rem 0; border-bottom: 1px solid var(--line-light); display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; }
.process-list article > span { color: #8a6c3a; font-size: .75rem; }
.process-list h3 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 1.3rem; }
.process-list p { margin: .3rem 0 0; color: #69645c; font-size: .9rem; }
.story-cta { position: relative; isolation: isolate; width: min(100%, 23rem); min-height: 4.7rem; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: .85rem .9rem .85rem 1.45rem; border: 1px solid rgba(138,108,58,.45); background: linear-gradient(120deg, #b78e4e 0%, var(--gold-light) 45%, var(--gold) 72%, #b78e4e 100%); background-size: 180% 100%; color: var(--ink); box-shadow: 0 16px 34px rgba(112,80,31,.2), inset 0 1px rgba(255,255,255,.55); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; transition: transform .3s ease, box-shadow .3s ease, background-position .55s ease; }
.story-cta::before { content: ''; position: absolute; z-index: 0; inset: -35% auto -35% -45%; width: 34%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-18deg); transition: left .65s cubic-bezier(.2,.7,.2,1); }
.story-cta::after { content: ''; position: absolute; z-index: 0; inset: .3rem; border: 1px solid rgba(255,255,255,.22); pointer-events: none; }
.story-cta-label, .story-cta-icon { position: relative; z-index: 1; }
.story-cta-icon { width: 3.15rem; aspect-ratio: 1; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--gold-light); box-shadow: 0 8px 20px rgba(17,16,15,.24); transition: transform .3s ease, background .3s ease; }
.story-cta-icon svg { width: 2rem; height: 2rem; overflow: visible; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.story-cta-icon circle { fill: currentColor; stroke: none; }
.story-cta:hover, .story-cta:focus-visible { transform: translateY(-5px); background-position: 100% 0; box-shadow: 0 24px 46px rgba(112,80,31,.3), 0 0 0 1px rgba(199,165,106,.28), inset 0 1px rgba(255,255,255,.6); }
.story-cta:hover::before, .story-cta:focus-visible::before { left: 118%; }
.story-cta:hover .story-cta-icon, .story-cta:focus-visible .story-cta-icon { transform: translateY(-2px) scale(1.08); background: #27231e; }
.story-cta:focus-visible { outline: 2px solid #8a6c3a; outline-offset: 4px; }
.reveal-story { display: grid; grid-template-columns: 1fr 1fr; min-height: 82vh; background: var(--ink); }
.reveal-card { position: relative; display: flex; align-items: end; min-height: 42rem; padding: clamp(2rem, 5vw, 5rem); background-size: cover; background-position: center; overflow: hidden; }
.reveal-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,11,10,.08) 18%, rgba(12,11,10,.88) 100%); }
.water-card { background-image: url('assets/comedero-interior-v2.jpg'); }
.food-card { background-image: url('assets/luna-interior-v2.jpg'); }
.reveal-card > div { position: relative; z-index: 1; max-width: 33rem; }
.reveal-card span { color: var(--gold-light); font-size: .75rem; letter-spacing: .2em; }
.reveal-card h2 { margin: 1rem 0 1.5rem; font-size: clamp(3.6rem, 5.5vw, 6.5rem); }
.reveal-card p { color: #d0c9bd; max-width: 29rem; }
.sizes-section { overflow: hidden; background: #e9e3d7; color: var(--ink); padding: clamp(6rem, 10vw, 10rem) clamp(1.3rem, 7vw, 8rem); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 3rem; }
.section-heading h2 { text-align: right; }
.section-kicker { max-width: 24rem; margin: 1rem 0 0; color: #686158; }
.size-table-wrap { margin-top: clamp(3rem, 6vw, 6rem); overflow-x: auto; border: 1px solid rgba(17,16,15,.22); background: rgba(250,248,243,.64); box-shadow: 0 24px 70px rgba(42,35,25,.1); }
.size-table { width: 100%; min-width: 780px; border-collapse: collapse; table-layout: fixed; }
.size-table th, .size-table td { border-right: 1px solid rgba(17,16,15,.14); border-bottom: 1px solid rgba(17,16,15,.14); padding: 1.15rem 1.3rem; text-align: left; vertical-align: middle; }
.size-table tr > *:last-child { border-right: 0; }
.size-table tr:last-child > * { border-bottom: 0; }
.size-table thead th { height: 13.5rem; vertical-align: bottom; position: relative; padding-top: 3rem; }
.size-table thead th:first-child { width: 24%; background: var(--ink); color: var(--ivory); }
.size-table .table-label { font-size: .75rem; letter-spacing: .18em; color: var(--gold-light); }
.size-table .model-number { display: block; margin-bottom: 1.2rem; color: #8a6c3a; font-size: .75rem; letter-spacing: .18em; }
.size-table thead strong { display: block; font-family: Georgia, 'Times New Roman', serif; font-size: 4.8rem; line-height: .8; font-weight: 400; }
.size-table thead small { display: block; margin-top: 1rem; color: #70695f; font-weight: 400; }
.size-table tbody th { color: #6e675e; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.size-table tbody td { font-family: Georgia, 'Times New Roman', serif; font-size: 1.02rem; }
.size-table .featured { background: rgba(199,165,106,.12); }
.recommended { position: absolute; top: 0; left: 0; right: -1px; padding: .55rem; background: var(--ink); color: var(--gold-light); text-align: center; font-size: .75rem; letter-spacing: .17em; }
.size-table tfoot th { background: var(--ink); color: var(--ivory); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.size-table tfoot button { width: 100%; border: 0; background: transparent; color: var(--ink); display: flex; justify-content: space-between; padding: .35rem 0; cursor: pointer; font-size: .75rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.size-table tfoot button:hover, .size-table tfoot button.active { color: #8a6c3a; }
.size-table tfoot button:focus-visible { outline: 2px solid #8a6c3a; outline-offset: 5px; }
.size-note { margin: 1.5rem 0 0; max-width: 48rem; color: #686158; font-size: .82rem; }
.size-note span { color: #8a6c3a; font-weight: 700; letter-spacing: .15em; margin-right: .7rem; }
.size-cards { display: none; }
.material-section { min-height: 90vh; display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: clamp(6rem, 10vw, 10rem) clamp(1.3rem, 7vw, 8rem); background: #0b0b0a; overflow: hidden; }
.material-orbit { min-height: 35rem; display: grid; place-items: center; position: relative; }
.ring { position: absolute; border-radius: 50%; border: 1px solid rgba(226,199,143,.28); }
.ring-one { width: 28rem; aspect-ratio: 1; box-shadow: inset 0 0 100px rgba(199,165,106,.06); }
.ring-two { width: 19rem; aspect-ratio: 1; border-color: rgba(244,240,231,.16); }
.steel-word { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(4.5rem, 9vw, 10rem); color: transparent; -webkit-text-stroke: 1px var(--gold-light); letter-spacing: -.07em; }
.material-copy { max-width: 38rem; }
.material-copy h2 { font-size: clamp(3.8rem, 6vw, 7rem); }
.material-copy > p:not(.eyebrow) { max-width: 30rem; color: #aaa399; margin: 2rem 0; }
.material-facts { border-top: 1px solid var(--line-dark); }
.material-facts span { display: block; padding: 1rem 0; border-bottom: 1px solid var(--line-dark); color: #c7c0b4; }
.material-facts b { color: var(--gold); margin-right: 1.4rem; font-size: .75rem; }
.gift-section { min-height: 82vh; padding: 7rem 1.3rem; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; background: linear-gradient(rgba(17,16,15,.58), rgba(17,16,15,.8)), url('assets/luna-en-casa-interior-v2.jpg') center/cover fixed; }
.gift-section h2 { max-width: 76rem; font-size: clamp(3.4rem, 6.5vw, 7.2rem); }
.gift-section > p:not(.eyebrow) { max-width: 36rem; color: #d3cdc2; font-size: 1.1rem; margin: 2rem auto; }
.design-gallery { padding: clamp(6rem, 9vw, 9rem) clamp(1.3rem, 6vw, 7rem); background: #0b0b0a; overflow: hidden; }
.gallery-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(2rem, 8vw, 9rem); align-items: end; margin-bottom: clamp(3rem, 6vw, 6rem); }
.gallery-heading h2 { font-size: clamp(4rem, 6.5vw, 7.3rem); }
.gallery-heading > p { max-width: 32rem; margin: 0 0 .65rem; color: #aaa399; font-size: 1rem; }
.gallery-grid { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(18rem, .72fr); grid-template-rows: repeat(2, minmax(22rem, 1fr)); gap: 1rem; }
.design-card { position: relative; min-height: 28rem; overflow: hidden; background: var(--ink-2); isolation: isolate; }
.design-card-feature { grid-row: 1 / span 2; min-height: 57rem; }
.design-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .6s ease; }
.design-card::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 42%, rgba(7,6,5,.92) 100%); pointer-events: none; }
.design-card:hover img { transform: scale(1.025); filter: saturate(1.04) contrast(1.02); }
.design-card-copy { position: absolute; z-index: 2; inset: auto 0 0; padding: clamp(1.5rem, 3vw, 3rem); }
.design-card-copy span { display: block; margin-bottom: .8rem; color: var(--gold-light); font-size: .75rem; font-weight: 700; letter-spacing: .2em; }
.design-card-copy h3 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.2rem, 3.4vw, 4rem); font-weight: 400; line-height: .95; letter-spacing: -.035em; }
.design-card:not(.design-card-feature) .design-card-copy h3 { font-size: clamp(2rem, 2.7vw, 3rem); }
.design-card-copy p { margin: .9rem 0 0; color: #c6beb3; font-size: .88rem; }
.faq-section { background: var(--ivory); color: var(--ink); display: grid; grid-template-columns: .7fr 1.3fr; gap: 6rem; padding: clamp(6rem, 10vw, 10rem) clamp(1.3rem, 7vw, 8rem); }
.faq-section .eyebrow { color: #8a6c3a; }
.faq-section h2 { font-size: clamp(3.4rem, 5vw, 6rem); }
.faq-list { border-top: 1px solid var(--line-light); }
.faq-list details { border-bottom: 1px solid var(--line-light); }
.faq-list summary { list-style: none; padding: 1.5rem 0; cursor: pointer; display: flex; justify-content: space-between; gap: 2rem; font-family: Georgia, 'Times New Roman', serif; font-size: 1.25rem; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: #8a6c3a; transition: transform .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 44rem; color: #69645c; margin: -.5rem 0 1.5rem; }
.retail-section { padding: clamp(6rem, 10vw, 10rem) clamp(1.3rem, 7vw, 8rem); background: #ded6c8; color: var(--ink); }
.retail-heading { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(3rem, 8vw, 9rem); align-items: end; }
.retail-heading .eyebrow { color: #846738; margin-bottom: 1.25rem; }
.retail-heading h2 { font-size: clamp(3.8rem, 6vw, 7rem); }
.retail-heading h2 em { color: #8a6c3a; }
.retail-intro { max-width: 35rem; margin-left: auto; }
.retail-intro p { margin: 0 0 2rem; color: #5f5951; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.1rem, 1.5vw, 1.35rem); }
.retail-intro .button { width: 100%; }
.retail-benefits { position: relative; max-width: 70rem; margin: clamp(4rem, 7vw, 7rem) auto 0; padding-bottom: clamp(10rem, 18vw, 16rem); display: grid; gap: clamp(5rem, 9vw, 8rem); }
.retail-card { position: sticky; top: 8.5rem; width: calc(100% - 5rem); min-height: clamp(23rem, 36vw, 29rem); padding: clamp(1.8rem, 4vw, 3.5rem); border: 1px solid rgba(17,16,15,.18); border-radius: .85rem; display: grid; grid-template-rows: auto 1fr; background: #f6f1e8; box-shadow: 0 28px 70px rgba(46,36,23,.14); transition: transform .35s ease, box-shadow .35s ease; }
.retail-card:nth-child(1) { margin-right: auto; }
.retail-card:nth-child(2) { top: 9.75rem; margin-left: auto; }
.retail-card:nth-child(3) { top: 11rem; margin-inline: auto; }
.retail-card:hover { transform: translateY(-.75rem); box-shadow: 0 38px 90px rgba(46,36,23,.22); }
.retail-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.retail-card-top > span { color: #8a6c3a; font-size: .75rem; font-weight: 700; letter-spacing: .17em; }
.retail-card-top svg { width: clamp(3rem, 5vw, 4.5rem); height: auto; fill: none; stroke: #8a6c3a; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.retail-card-copy { align-self: end; display: grid; grid-template-columns: minmax(15rem, .9fr) minmax(16rem, .7fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; }
.retail-card h3 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3rem, 5.6vw, 5.5rem); font-weight: 400; line-height: .86; letter-spacing: -.045em; }
.retail-card p { max-width: 28rem; margin: 0 0 .3rem; color: #69635b; font-size: clamp(.95rem, 1.2vw, 1.08rem); line-height: 1.6; }
.retail-card-gold { border-color: rgba(112,80,31,.25); background: linear-gradient(135deg, #d8b874, #c39a56); }
.retail-card-gold .retail-card-top > span, .retail-card-gold .retail-card-top svg { color: #33291d; stroke: #33291d; }
.retail-card-gold p { color: #453a2c; }
.retail-card-dark { border-color: rgba(226,199,143,.26); background: var(--ink-2); color: var(--ivory); box-shadow: 0 32px 80px rgba(17,16,15,.28); }
.retail-card-dark .retail-card-top > span { color: var(--gold-light); }
.retail-card-dark .retail-card-top svg { stroke: var(--gold-light); }
.retail-card-dark p { color: #b9b1a5; }
.retail-contact { position: relative; isolation: isolate; overflow: hidden; margin: clamp(4rem, 8vw, 8rem) 0 0; padding: clamp(2.5rem, 6vw, 6rem); border: 1px solid rgba(226,199,143,.28); border-radius: 1rem; background: radial-gradient(circle at 88% 20%, rgba(199,165,106,.18), transparent 28%), var(--ink-2); color: var(--ivory); box-shadow: 0 32px 90px rgba(40,30,18,.2); text-align: left; }
.retail-contact::before { content: ''; position: absolute; z-index: 0; width: 32rem; aspect-ratio: 1; right: -15rem; bottom: -22rem; border: 1px solid rgba(226,199,143,.22); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(199,165,106,.035), 0 0 0 10rem rgba(199,165,106,.018); opacity: 0; transform: scale(.72); transition: opacity 1s ease .15s, transform 1.2s cubic-bezier(.2,.75,.2,1) .15s; }
.retail-contact.visible::before { opacity: 1; transform: scale(1); }
.retail-contact > * { position: relative; z-index: 1; }
.retail-contact-label { color: var(--gold-light); font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.retail-contact > p { max-width: 70rem; margin: clamp(1.8rem, 4vw, 3.5rem) 0 clamp(2rem, 5vw, 4rem); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3rem, 6.4vw, 7.2rem); font-weight: 400; line-height: .9; letter-spacing: -.048em; }
.retail-contact > p em { color: var(--gold-light); font-weight: 400; }
.retail-contact-foot { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.retail-contact-foot > span { max-width: 22rem; color: #aaa195; font-size: .9rem; line-height: 1.6; }
.retail-contact-link { position: relative; isolation: isolate; overflow: hidden; min-width: min(100%, 29rem); padding: 1rem 1rem 1rem 1.4rem; border: 1px solid rgba(255,255,255,.35); background: linear-gradient(120deg, #b78e4e, var(--gold-light) 48%, #c59b54); background-size: 180% 100%; color: var(--ink); display: grid; grid-template-columns: 1fr auto; gap: .2rem 1.5rem; align-items: center; box-shadow: 0 18px 45px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.55); transition: transform .3s ease, box-shadow .3s ease, background-position .55s ease; }
.retail-contact-link::before { content: ''; position: absolute; z-index: 0; inset: 0; background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.38) 48%, transparent 66%); transform: translateX(-120%); transition: transform .65s ease; }
.retail-contact-link > * { position: relative; z-index: 1; }
.retail-contact-link span { font-size: .75rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.retail-contact-link strong { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.1rem, 1.8vw, 1.45rem); font-weight: 400; }
.retail-contact-link i { grid-column: 2; grid-row: 1 / 3; width: 2.8rem; aspect-ratio: 1; border: 1px solid rgba(17,16,15,.28); border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 1.2rem; transition: transform .3s ease, background .3s ease; }
.retail-contact-link:hover, .retail-contact-link:focus-visible { transform: translateY(-.35rem); background-position: 100% 0; box-shadow: 0 26px 60px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.6); }
.retail-contact-link:hover::before, .retail-contact-link:focus-visible::before { transform: translateX(120%); }
.retail-contact-link:hover i, .retail-contact-link:focus-visible i { transform: rotate(45deg); background: rgba(255,255,255,.24); }
.retail-contact.visible { animation: retail-contact-glow 1.25s ease .25s both; }
@keyframes retail-contact-glow { 0% { box-shadow: 0 20px 50px rgba(40,30,18,.12); } 55% { box-shadow: 0 34px 105px rgba(138,108,58,.34); } 100% { box-shadow: 0 32px 90px rgba(40,30,18,.2); } }
.affiliate-section { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(20rem, .78fr) minmax(32rem, 1.22fr); gap: clamp(3rem, 8vw, 9rem); padding: clamp(6rem, 10vw, 10rem) clamp(1.3rem, 7vw, 8rem); background: radial-gradient(circle at 12% 22%, rgba(199,165,106,.15), transparent 30%), #151310; }
.affiliate-section::before { content: ''; position: absolute; width: 38rem; aspect-ratio: 1; right: -18rem; bottom: -24rem; border: 1px solid rgba(199,165,106,.14); border-radius: 50%; box-shadow: 0 0 0 6rem rgba(199,165,106,.025), 0 0 0 12rem rgba(199,165,106,.016); pointer-events: none; }
.affiliate-copy, .affiliate-form { position: relative; z-index: 1; }
.affiliate-copy h2 { font-size: clamp(3.8rem, 6vw, 7rem); }
.affiliate-copy > p:not(.eyebrow) { max-width: 34rem; margin: 2rem 0; color: #b9b1a5; font-size: 1.05rem; }
.affiliate-note { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; max-width: 31rem; padding-top: 1.5rem; border-top: 1px solid var(--line-dark); }
.affiliate-note span { color: var(--gold); font-size: .75rem; font-weight: 700; letter-spacing: .14em; }
.affiliate-note p { margin: 0; color: #8f887e; font-size: .88rem; }
.affiliate-form { padding: clamp(1.5rem, 3.5vw, 3.2rem); background: var(--ivory); color: var(--ink); border: 1px solid rgba(226,199,143,.42); box-shadow: 0 35px 90px rgba(0,0,0,.32); }
.affiliate-form-head { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line-light); }
.affiliate-form-head span { color: #846738; font-size: .75rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.affiliate-form-head b { font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; font-weight: 400; }
.affiliate-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1.35rem 1.5rem; padding: 2rem 0; }
.affiliate-fields .form-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.affiliate-fields label:not(.affiliate-consent) { display: flex; flex-direction: column; gap: .55rem; }
.affiliate-fields label > span { color: #4f4a43; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.affiliate-fields label small { margin-left: .45rem; color: #958d82; font-size: .75rem; font-weight: 400; }
.affiliate-fields input:not([type="checkbox"]) { width: 100%; min-height: 3rem; border: 0; border-bottom: 1px solid #aaa194; border-radius: 0; padding: .55rem 0; background: transparent; color: var(--ink); font-size: 1rem; outline: none; transition: border-color .2s, box-shadow .2s; }
.affiliate-fields input:not([type="checkbox"]):focus { border-color: #8a6c3a; box-shadow: 0 1px #8a6c3a; }
.affiliate-fields input::placeholder { color: #aaa39a; }
.affiliate-fields .field-hint { margin: 0; color: #847d73; font-size: .76rem; font-weight: 400; line-height: 1.45; letter-spacing: 0; text-transform: none; }
.field-full { grid-column: 1 / -1; }
.affiliate-consent { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: start; }
.affiliate-consent input { width: 1.05rem; height: 1.05rem; margin-top: .12rem; accent-color: #8a6c3a; }
.affiliate-consent span { font-size: .75rem !important; font-weight: 400 !important; line-height: 1.5; letter-spacing: 0 !important; text-transform: none !important; }
.affiliate-consent a { color: #765a2e; text-decoration: underline; text-underline-offset: .18em; }
.affiliate-form .button { width: 100%; }
.affiliate-status { margin: 1rem 0 0; color: #787167; font-size: .75rem; text-align: center; }
.affiliate-status a { color: #765a2e; text-decoration: underline; text-underline-offset: .18em; }
.site-footer { padding: clamp(4rem, 7vw, 7rem) clamp(1.3rem, 7vw, 8rem) 2rem; border-top: 1px solid var(--line-dark); background: #0b0b0a; }
.footer-main { display: grid; grid-template-columns: minmax(18rem, 1.6fr) repeat(3, minmax(9rem, .8fr)); gap: clamp(2rem, 5vw, 6rem); padding-bottom: clamp(3rem, 5vw, 5rem); }
.footer-brand { max-width: 26rem; }
.footer-brand .brand img { width: clamp(8.5rem, 12vw, 10.5rem); max-height: 4rem; }
.footer-brand > p { margin: 1.5rem 0 2rem; color: #9d958a; font-family: Georgia, 'Times New Roman', serif; font-size: 1.05rem; }
.footer-cta { display: inline-flex; align-items: center; gap: .8rem; color: var(--gold-light); border-bottom: 1px solid var(--gold); padding-bottom: .35rem; font-size: .75rem; letter-spacing: .13em; text-transform: uppercase; }
.footer-cta span { transition: transform .25s ease; }
.footer-cta:hover span { transform: translate(2px,-2px); }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }
.footer-column strong { margin-bottom: .45rem; color: var(--gold-light); font-size: .75rem; letter-spacing: .17em; text-transform: uppercase; }
.footer-column a, .footer-column address { color: #aaa298; font-size: .88rem; font-style: normal; transition: color .2s; }
.footer-column a:hover { color: var(--ivory); }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line-dark); }
.footer-bottom p { margin: 0; color: #716b63; font-size: .75rem; }
.legal-body { background: var(--ivory); color: var(--ink); }
.legal-body .site-header { position: absolute; background: rgba(17,16,15,.96); }
.legal-body .header-cta { background: transparent; color: var(--gold-light); border: 1px solid rgba(199,165,106,.45); box-shadow: none; }
.legal-body .header-cta:hover { background: var(--gold); color: var(--ink); }
.legal-hero { min-height: 34rem; display: flex; flex-direction: column; justify-content: flex-end; padding: 10rem clamp(1.3rem, 12vw, 13rem) 5rem; background: radial-gradient(circle at 80% 10%, rgba(199,165,106,.15), transparent 34%), #11100f; color: var(--ivory); }
.legal-hero .eyebrow { margin-bottom: 1.2rem; }
.legal-hero h1 { max-width: 70rem; font-size: clamp(4rem, 8vw, 8rem); }
.legal-hero > p:last-child { max-width: 42rem; margin: 2rem 0 0; color: #aaa298; }
.legal-layout { max-width: 92rem; margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) clamp(1.3rem, 7vw, 7rem); display: grid; grid-template-columns: minmax(12rem, .38fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.legal-index { position: sticky; top: 2rem; padding-top: .5rem; }
.legal-index strong { display: block; margin-bottom: 1rem; color: #8a6c3a; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; }
.legal-index a { display: block; padding: .65rem 0; border-bottom: 1px solid var(--line-light); color: #69645c; font-size: .88rem; }
.legal-index a:hover { color: var(--ink); }
.legal-content { max-width: 54rem; }
.legal-intro { margin: 0 0 4rem; padding: 1.5rem 1.7rem; border-left: 2px solid var(--gold); background: #ebe5d9; color: #5d574f; }
.legal-section { scroll-margin-top: 2rem; padding: 0 0 3rem; margin-bottom: 3rem; border-bottom: 1px solid var(--line-light); }
.legal-section:last-child { margin-bottom: 0; }
.legal-section .legal-number { display: block; margin-bottom: .8rem; color: #8a6c3a; font-size: .75rem; letter-spacing: .16em; }
.legal-section h2 { margin-bottom: 1.5rem; font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1; }
.legal-section h3 { margin: 2rem 0 .6rem; font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; font-weight: 400; }
.legal-section p, .legal-section li { color: #514c45; }
.legal-section a { color: #765a2e; text-decoration: underline; text-underline-offset: .18em; }
.legal-section ul { padding-left: 1.2rem; }
.legal-data { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 2rem 0; background: rgba(17,16,15,.12); border: 1px solid rgba(17,16,15,.12); }
.legal-data div { padding: 1rem; background: #f8f5ee; }
.legal-data small { display: block; margin-bottom: .25rem; color: #8a6c3a; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.legal-data strong { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.legal-table-wrap { overflow-x: auto; margin-top: 1.5rem; }
.legal-table { width: 100%; min-width: 42rem; border-collapse: collapse; }
.legal-table th, .legal-table td { padding: 1rem; border: 1px solid rgba(17,16,15,.15); text-align: left; vertical-align: top; }
.legal-table th { background: #ded6c8; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.legal-table td { color: #514c45; font-size: .9rem; }
.legal-updated { margin-top: 3rem; color: #80786e; font-size: .75rem; }
.thankyou-body { min-height: 100vh; overflow-x: hidden; background: #11100f; color: var(--ivory); }
.thankyou-body::before, .thankyou-body::after { content: ''; position: fixed; z-index: 0; border: 1px solid rgba(199,165,106,.13); border-radius: 50%; pointer-events: none; }
.thankyou-body::before { width: 48rem; aspect-ratio: 1; right: -21rem; top: -19rem; box-shadow: 0 0 0 7rem rgba(199,165,106,.025), 0 0 0 14rem rgba(199,165,106,.016); }
.thankyou-body::after { width: 25rem; aspect-ratio: 1; left: -15rem; bottom: -14rem; box-shadow: 0 0 80px rgba(199,165,106,.05); }
.thankyou-header { position: relative; z-index: 2; height: 5.2rem; padding: 0 clamp(1.2rem, 4vw, 4.8rem); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-dark); }
.thankyou-header > span { color: #8e877e; font-size: .75rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.thankyou-shell { position: relative; z-index: 1; min-height: calc(100svh - 5.2rem); display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(25rem, .88fr); align-items: center; gap: clamp(3rem, 8vw, 10rem); padding: clamp(4rem, 8vw, 8rem) clamp(1.3rem, 7vw, 8rem); }
.thankyou-copy { max-width: 56rem; }
.thankyou-status { width: max-content; margin-bottom: clamp(3rem, 7vw, 6rem); display: flex; align-items: center; gap: .8rem; color: #cbc3b7; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.thankyou-status > span { width: 2.15rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-light); font-size: .9rem; box-shadow: 0 0 0 .35rem rgba(199,165,106,.06); }
.thankyou-copy .eyebrow { margin-bottom: 1.4rem; }
.thankyou-copy h1 { font-size: clamp(4.2rem, 7.2vw, 7.8rem); }
.thankyou-copy h1 em { display: inline-block; font-size: .63em; line-height: 1.04; }
.thankyou-lead { max-width: 39rem; margin: 2.2rem 0 2.6rem; color: #b8b0a5; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.05rem, 1.5vw, 1.35rem); }
.thankyou-actions { display: flex; align-items: center; gap: 2rem; }
.thankyou-card { position: relative; padding: clamp(1.5rem, 3vw, 3rem); border: 1px solid rgba(226,199,143,.28); background: linear-gradient(145deg, rgba(38,34,29,.96), rgba(23,21,18,.98)); box-shadow: 0 35px 90px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.035); }
.thankyou-card::before { content: ''; position: absolute; inset: .55rem; border: 1px solid rgba(226,199,143,.08); pointer-events: none; }
.thankyou-card-head { position: relative; display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line-dark); }
.thankyou-card-head span { color: #857e74; font-size: .75rem; letter-spacing: .17em; text-transform: uppercase; }
.thankyou-card-head strong { color: var(--gold-light); font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; }
.thankyou-order { position: relative; margin-top: 1.4rem; padding: 1.15rem 1.2rem; border: 1px solid rgba(226,199,143,.18); background: rgba(199,165,106,.055); }
.thankyou-order > span { color: #8f877b; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
.thankyou-order > strong { display: block; margin: .35rem 0 1rem; color: var(--gold-light); font-family: Georgia, 'Times New Roman', serif; font-size: 1.65rem; font-weight: 400; }
.thankyou-order dl { margin: 0; display: grid; gap: .5rem; }
.thankyou-order dl div { display: grid; grid-template-columns: 4.5rem 1fr; gap: .7rem; }
.thankyou-order dt { color: #817a70; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.thankyou-order dd { margin: 0; color: #c5bdb1; font-size: .78rem; text-align: right; }
.thankyou-steps { position: relative; margin: 0; padding: 0; list-style: none; }
.thankyou-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; padding: 1.55rem 0; border-bottom: 1px solid var(--line-dark); }
.thankyou-steps li > span { padding-top: .2rem; color: var(--gold); font-size: .75rem; letter-spacing: .14em; }
.thankyou-steps strong { display: block; font-family: Georgia, 'Times New Roman', serif; font-size: 1.2rem; font-weight: 400; }
.thankyou-steps p { margin: .35rem 0 0; color: #9e968a; font-size: .82rem; }
.thankyou-delivery { position: relative; margin-top: 1.5rem; padding: 1.15rem 1.2rem; border-left: 2px solid var(--gold); background: rgba(199,165,106,.08); display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; align-items: end; }
.thankyou-delivery span { color: #aaa298; font-size: .75rem; letter-spacing: .13em; text-transform: uppercase; }
.thankyou-delivery strong { color: var(--gold-light); font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; font-weight: 400; white-space: nowrap; }
.thankyou-delivery small { grid-column: 1 / -1; color: #8f877b; font-size: .75rem; }
.thankyou-contact { position: relative; margin: 1.4rem 0 0; color: #827b72; font-size: .75rem; text-align: center; }
.thankyou-contact a { color: var(--gold-light); text-decoration: underline; text-underline-offset: .2em; }
.checkout-dialog { position: relative; width: min(49rem, calc(100% - 2rem)); min-height: min(43rem, calc(100svh - 2rem)); max-height: calc(100svh - 2rem); overflow: auto; border: 1px solid rgba(226,199,143,.4); padding: clamp(1.5rem, 4vw, 3.6rem); background: radial-gradient(circle at 92% 8%, rgba(199,165,106,.16), transparent 28%), #181613; color: var(--ivory); box-shadow: 0 35px 120px rgba(0,0,0,.72); }
.checkout-dialog::backdrop { background: rgba(4,4,3,.8); backdrop-filter: blur(9px); }
.checkout-close { position: absolute; right: 1.2rem; top: 1rem; z-index: 2; border: 0; background: none; color: #aaa298; font-size: 1.8rem; cursor: pointer; }
.checkout-progress { height: 2px; margin: 0 2.5rem 1rem 0; background: rgba(244,240,231,.12); }
.checkout-progress span { display: block; width: 16.66%; height: 100%; background: var(--gold-light); transition: width .35s ease; }
.checkout-meta { display: flex; justify-content: space-between; gap: 1rem; padding-right: 2.8rem; color: #888176; font-size: .75rem; letter-spacing: .16em; }
.checkout-meta strong { color: var(--gold-light); font-weight: 700; }
.checkout-guide { margin-top: 1.25rem; padding: .9rem 1rem; display: grid; grid-template-columns: 1.8rem 1fr; gap: .75rem; align-items: start; border: 1px solid rgba(226,199,143,.2); background: rgba(199,165,106,.07); }
.checkout-guide > span { width: 1.55rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--ink); font-size: .75rem; font-weight: 900; }
.checkout-guide p { margin: 0; color: #a9a196; font-size: .76rem; line-height: 1.45; }
.checkout-guide strong { color: var(--ivory); }
.checkout-route { display: flex; align-items: center; gap: .55rem; margin-top: 1rem; color: #756f66; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.checkout-route i { height: 1px; flex: 1; background: rgba(244,240,231,.12); }
.checkout-step { min-height: 24rem; padding: clamp(2.2rem, 5vw, 4rem) 0 1.5rem; animation: checkoutReveal .38s ease both; }
.checkout-step .eyebrow { margin-bottom: 1rem; }
.checkout-step h2 { margin-bottom: clamp(2.5rem, 5vw, 4rem); font-size: clamp(3.2rem, 7vw, 5.6rem); }
.checkout-step > label:not(.checkout-consent) { display: block; margin-bottom: .55rem; color: #9e968b; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.checkout-step > input, .checkout-step > textarea, .checkout-step > select { width: 100%; border: 0; border-bottom: 1px solid rgba(226,199,143,.5); border-radius: 0; padding: .8rem 0; background: transparent; color: var(--ivory); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.4rem, 3vw, 2rem); outline: none; }
.checkout-step > input:focus, .checkout-step > textarea:focus, .checkout-step > select:focus { border-color: var(--gold-light); box-shadow: 0 1px var(--gold-light); }
.checkout-step > input::placeholder, .checkout-step > textarea::placeholder { color: #625d55; }
.checkout-step > textarea { min-height: 7rem; resize: vertical; line-height: 1.35; }
.checkout-help { margin: 1rem 0 0; max-width: 36rem; color: #817a70; font-size: .75rem; }
.checkout-help strong { color: #bfb6aa; font-weight: 600; }
.checkout-address-grid { display: grid; grid-template-columns: 1.4fr .6fr; gap: 1rem 1.2rem; }
.checkout-address-grid label { display: flex; flex-direction: column; gap: .38rem; min-width: 0; }
.checkout-address-grid label > span { color: #9e968b; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.checkout-address-grid label small { color: #69635b; font-size: .75rem; }
.checkout-address-grid input, .checkout-address-grid select { width: 100%; min-height: 2.8rem; border: 1px solid rgba(226,199,143,.25); border-radius: 0; padding: .65rem .7rem; background: #1d1a17; color: var(--ivory); outline: none; }
.checkout-address-grid input:focus, .checkout-address-grid select:focus { border-color: var(--gold-light); box-shadow: 0 0 0 2px rgba(226,199,143,.09); }
.checkout-address-grid select:disabled { color: #777067; cursor: wait; opacity: .75; }
.checkout-address-grid input::placeholder { color: #625d55; }
.checkout-address-grid .checkout-city-field { grid-column: 1 / -1; }
.checkout-address-help { padding-left: .8rem; border-left: 2px solid var(--gold); }
.checkout-actions { min-height: 4.3rem; display: flex; align-items: stretch; justify-content: flex-end; gap: .8rem; padding-top: 1.2rem; border-top: 1px solid var(--line-dark); }
.checkout-actions .button { min-width: 14rem; }
.checkout-step[hidden],
.checkout-actions button[hidden] { display: none !important; }
.checkout-back { border: 0; padding: .8rem 1rem; background: transparent; color: #9b9388; cursor: pointer; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.checkout-summary { margin: -1rem 0 1.5rem; border-top: 1px solid var(--line-dark); }
.checkout-summary div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line-dark); }
.checkout-summary dt { color: #867f75; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.checkout-summary dd { margin: 0; color: #d2cabe; font-size: .82rem; text-align: right; overflow-wrap: anywhere; }
.checkout-summary div:last-child dd { color: var(--gold-light); font-family: Georgia, 'Times New Roman', serif; font-size: 1.2rem; }
.checkout-summary small { grid-column: 2; color:#91887c; font-size:.75rem; text-align:right; }
.checkout-summary #checkoutSummaryDiscount { color:#9fc3a5; }
.checkout-shipping-notice { margin:-.5rem 0 1.25rem; border:1px solid rgba(226,199,143,.28); padding:.85rem 1rem; color:#aaa196; background:rgba(199,165,106,.06); font-size:.75rem; line-height:1.5; }
.checkout-shipping-notice.is-review { border-color:#c68670; background:rgba(158,76,53,.16); color:#efc0b3; }
.checkout-payment-methods { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin:1rem 0; border:0; padding:0; }
.checkout-payment-methods legend { grid-column:1/-1; margin-bottom:.25rem; color:#9e968b; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.checkout-payment-methods label { position:relative; display:grid; grid-template-columns:auto 1fr auto; gap:.65rem; align-items:start; min-height:4.4rem; border:1px solid rgba(226,199,143,.28); padding:.85rem; background:#171411; cursor:pointer; }
.checkout-payment-methods #checkoutStripeOption[hidden] { display:none; }
.checkout-payment-methods label:has(input:checked) { border-color:var(--gold-light); background:rgba(199,165,106,.12); box-shadow:inset 0 0 0 1px rgba(226,199,143,.16); }
.checkout-payment-methods input { margin:.2rem 0 0; accent-color:var(--gold); }
.checkout-payment-methods span { display:grid; gap:.18rem; }
.checkout-payment-methods strong { color:var(--ivory); font:400 1.05rem/1.2 Georgia,'Times New Roman',serif; }
.checkout-payment-methods small,.checkout-payment-methods>p { color:#8f877d; font-size:.75rem; line-height:1.4; }
.checkout-payment-methods label>b { border:1px solid rgba(226,199,143,.36); padding:.2rem .35rem; color:var(--gold-light); font-size:.62rem; letter-spacing:.12em; }
.checkout-payment-methods>p { grid-column:1/-1; margin:.1rem 0 0; }
.checkout-consent { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start; color: #a9a196; font-size: .75rem; }
.checkout-consent input { width: 1.05rem; height: 1.05rem; margin: .1rem 0 0; accent-color: var(--gold); }
.checkout-consent a { color: var(--gold-light); text-decoration: underline; text-underline-offset: .18em; }
.checkout-invoice-request { margin:1rem 0; border:1px solid rgba(226,199,143,.32); background:linear-gradient(135deg,rgba(199,165,106,.11),rgba(199,165,106,.025)); }
.checkout-invoice-body { border-top:1px solid rgba(226,199,143,.18); }
.checkout-invoice-body>.checkout-consent { padding:1rem; color:#d0c7ba; line-height:1.5; }
.checkout-invoice-body>.checkout-consent strong { display:block; margin-bottom:.2rem; color:var(--gold-light); font:400 1rem/1.2 Georgia,'Times New Roman',serif; }
.checkout-invoice-fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding:1rem; border-top:1px solid rgba(226,199,143,.18); }
.checkout-invoice-fields label { display:grid; gap:.38rem; }
.checkout-invoice-fields label>span { color:#9e968b; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.checkout-invoice-fields input,.checkout-invoice-fields textarea { width:100%; border:1px solid rgba(226,199,143,.25); border-radius:0; padding:.7rem; background:#171411; color:var(--ivory); outline:none; }
.checkout-invoice-fields textarea { min-height:5rem; resize:vertical; }
.checkout-invoice-fields input:focus,.checkout-invoice-fields textarea:focus { border-color:var(--gold-light); box-shadow:0 0 0 2px rgba(226,199,143,.09); }
.checkout-invoice-fields .field-full { grid-column:1/-1; }
.checkout-invoice-fields>p { margin:0;color:#8e867c;font-size:.75rem;line-height:1.5; }.checkout-invoice-fields>p strong{color:#d7bd82;}
@media (max-width:600px){.checkout-invoice-fields,.checkout-payment-methods{grid-template-columns:1fr}.checkout-invoice-fields .field-full{grid-column:auto}}
.checkout-marketing { margin: 1rem 0; padding: 1rem; border: 1px solid rgba(226,199,143,.3); background: linear-gradient(135deg, rgba(199,165,106,.12), rgba(199,165,106,.035)); color: #c8c0b4; line-height: 1.55; }
.checkout-marketing span strong { display: block; margin-bottom: .22rem; color: var(--gold-light); font-family: Georgia, 'Times New Roman', serif; font-size: 1rem; font-weight: 400; }
@keyframes checkoutReveal { from { opacity: 0; transform: translateX(1rem); } to { opacity: 1; transform: none; } }
.mobile-cta { display: none; }
.config-controls { scroll-margin-top: 7rem; }
.discount-dialog { width: min(43rem, calc(100% - 2rem)); border: 1px solid rgba(226,199,143,.35); padding: clamp(2rem, 5vw, 4rem); background: var(--ink-2); color: var(--ivory); text-align: center; box-shadow: 0 35px 120px #000; }
.discount-dialog::backdrop { background: rgba(4,4,3,.78); backdrop-filter: blur(8px); }
.discount-dialog h2 { font-size: clamp(3.1rem, 7vw, 5.5rem); }
.discount-dialog > p:not(.eyebrow) { color: #bbb3a8; max-width: 30rem; margin: 1.5rem auto; }
.dialog-close { position: absolute; right: 1rem; top: .8rem; color: var(--ivory); border: 0; background: none; font-size: 2rem; cursor: pointer; }
.coupon { width: 100%; border: 1px dashed var(--gold); background: rgba(199,165,106,.08); color: var(--gold-light); padding: 1rem; margin: .5rem 0 1rem; cursor: pointer; display: flex; flex-direction: column; }
.coupon small { text-transform: uppercase; letter-spacing: .16em; font-size: .75rem; }
.coupon strong { font-family: Georgia, 'Times New Roman', serif; font-size: 2rem; letter-spacing: .12em; }
.discount-dialog .button { width: 100%; }
.second-bowl-dialog { width: min(52rem, calc(100% - 2rem)); max-height: calc(100svh - 2rem); border: 1px solid rgba(226,199,143,.42); padding: 0; background: #171411; color: var(--ivory); box-shadow: 0 35px 120px rgba(0,0,0,.78); overflow: auto; }
.second-bowl-dialog::backdrop { background: rgba(4,4,3,.82); backdrop-filter: blur(9px); }
.second-bowl-dialog[open] { display: grid; grid-template-columns: minmax(12rem,.65fr) minmax(0,1.35fr); }
.second-bowl-visual { min-height: 27rem; display: grid; place-content: center; gap: .75rem; padding: 1.5rem; background: radial-gradient(circle at 45% 35%, rgba(226,199,143,.23), transparent 34%), linear-gradient(145deg,#2b251d,#0e0d0b); border-right: 1px solid rgba(226,199,143,.24); }
.second-bowl-visual span { width: 8rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(226,199,143,.72); border-radius: 50%; color: var(--gold-light); font-size: .72rem; font-weight: 700; letter-spacing: .22em; box-shadow: inset 0 0 0 .55rem rgba(226,199,143,.04), 0 1rem 3rem rgba(0,0,0,.25); }
.second-bowl-visual span:last-child { margin-left: 2.75rem; }
.second-bowl-visual i { color: var(--gold); font: 400 1.55rem Georgia,serif; margin: -1.45rem 0 -1.45rem 4.7rem; position: relative; z-index: 1; }
.second-bowl-copy { min-width: 0; align-self: center; padding: clamp(1.6rem,3vw,2.6rem); }
.second-bowl-copy h2 { margin: .55rem 0 .9rem; font-size: clamp(2.6rem,4.3vw,4.1rem); line-height: .9; }
.second-bowl-copy > p:not(.eyebrow) { max-width: 34rem; margin: 0; color: #bdb4a8; font-size: .9rem; line-height: 1.5; }
.second-bowl-actions { display: grid; gap: .65rem; margin-top: 1.25rem; }
.second-bowl-actions .button { min-height: 3.5rem; padding-block: 1rem; }
.second-bowl-actions .continue { min-height: 3rem; margin: 0; border: 1px solid rgba(226,199,143,.28); background: transparent; color: #c8bfb2; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; cursor: pointer; }
.second-bowl-actions .continue:hover { border-color: var(--gold); color: var(--ivory); }
.continue { margin-top: 1.2rem; background: none; border: 0; color: #a9a197; text-decoration: underline; cursor: pointer; }
.reveal { opacity: 0; transform: translateY(2rem); transition: opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity: 1; transform: none; }
@keyframes reveal { from { opacity: 0; transform: translateY(2rem) scale(.97); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
@media (max-width: 1100px) {
  .site-header nav { gap: 1rem; }
  .site-header nav a { font-size: .75rem; letter-spacing: .09em; }
  .config-summary { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .config-summary .config-order { grid-column: 1 / -1; }
  .config-summary .config-order strong { font-size: 1rem; }
  .config-total { align-items: flex-end; }
  .config-actions { grid-template-columns: minmax(0, .42fr) minmax(0, 1fr); }
  .config-actions .button,
  .config-save { min-width: 0; padding-inline: .75rem; }
  .affiliate-section { grid-template-columns: 1fr; gap: 3rem; }
  .affiliate-copy > p:not(.eyebrow), .affiliate-note { max-width: 42rem; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .site-footer { padding-bottom: 6rem; }
  .mobile-cta { position: fixed; z-index: 20; display: flex; min-height: 3.65rem; align-items: center; justify-content: space-between; left: .7rem; right: .7rem; bottom: calc(.7rem + env(safe-area-inset-bottom)); background: var(--gold); color: var(--ink); padding: .9rem 1.15rem; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; box-shadow: 0 12px 40px rgba(0,0,0,.4); transition: transform .25s ease, opacity .2s ease, background .25s ease, box-shadow .25s ease; }
  .mobile-cta b { font-size: 1.15rem; }
  .mobile-cta:hover, .mobile-cta:focus-visible { background: var(--gold-light); transform: translateY(-3px); box-shadow: 0 18px 42px rgba(0,0,0,.48); }
  .mobile-cta.is-hidden { opacity: 0; pointer-events: none; transform: translateY(calc(100% + 2rem)); }
}
@media (max-width: 900px) {
  .site-header nav { display: none; }
  .site-header { height: 4.4rem; }
  .header-cta { font-size: .75rem; }
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-copy { min-height: 66svh; padding: 8rem 1.3rem 2rem; }
  h1 { font-size: clamp(3.8rem, 17vw, 6.2rem); }
  .intro { max-width: 29rem; }
  .hero-visual { min-height: 42rem; }
  .hero-visual img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .scroll-cue { display: none; }
  .config-intro { grid-template-columns: 1fr; gap: 2rem; }
  .config-intro > p { margin-left: 0; }
  .config-workspace { grid-template-columns: 1fr; }
  .live-personalizer { grid-template-rows: auto auto auto; gap: 2rem; }
  .preview-editorial { max-width: 52rem; }
  .story-section, .reveal-story { grid-template-columns: 1fr; }
  .story-image { margin: 0 1.3rem; min-height: 42rem; }
  .story-copy { padding: 6rem 1.3rem; }
  .section-heading { display: block; }
  .section-heading h2 { text-align: left; }
  .size-table { min-width: 0; }
  .size-table th, .size-table td { padding: .85rem .75rem; overflow-wrap: anywhere; }
  .size-table thead th { height: 11rem; padding-top: 2.7rem; }
  .size-table thead th:first-child { width: 22%; }
  .size-table thead strong { font-size: 3.6rem; }
  .size-table thead small { font-size: .75rem; line-height: 1.25; }
  .size-table tbody th, .size-table tfoot th { font-size: .75rem; }
  .size-table tbody td { font-size: .9rem; }
  .size-table tfoot button { gap: .35rem; font-size: .75rem; letter-spacing: .07em; }
  .material-section, .faq-section { grid-template-columns: 1fr; gap: 3rem; }
  .retail-heading { grid-template-columns: 1fr; gap: 2.5rem; }
  .retail-intro { margin-left: 0; }
  .retail-benefits { max-width: 44rem; gap: 5rem; padding-bottom: 11rem; }
  .retail-card { width: calc(100% - 2rem); min-height: 24rem; }
  .retail-card:nth-child(1) { top: 8rem; }
  .retail-card:nth-child(2) { top: 9rem; }
  .retail-card:nth-child(3) { top: 10rem; }
  .retail-card-copy { grid-template-columns: 1fr; gap: 1.5rem; }
  .material-orbit { min-height: 25rem; }
  .gift-section { background-attachment: scroll; }
  .gallery-heading { grid-template-columns: 1fr; gap: 2rem; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .design-card-feature { grid-column: 1 / -1; grid-row: auto; min-height: 50rem; }
  .design-card { min-height: 34rem; }
  .legal-layout { grid-template-columns: 1fr; }
  .legal-index { position: static; }
  .thankyou-shell { grid-template-columns: 1fr; gap: 4rem; padding-top: 5rem; }
  .thankyou-copy { max-width: 48rem; }
  .thankyou-card { max-width: 42rem; }
}
@media (max-width: 560px) {
  .shipping-strip { min-height: 3.25rem; padding: .45rem .75rem; gap: .35rem .55rem; flex-wrap: wrap; align-content: center; font-size: .75rem; line-height: 1.2; }
  .shipping-strip strong { flex-basis: 100%; }
  .shipping-strip > span:first-of-type { display: none; }
  .home-body .site-header { top: 3.25rem; }
  .home-body .hero-copy { padding-top: 10.5rem; }
  .header-cta span { display: none; }
  .header-cart{padding-inline:.55rem;font-size:.75rem}.header-cart strong{margin-left:.2rem}
  .hero-actions { align-items: stretch; flex-direction: column; gap: 1.2rem; }
  .button-primary { width: 100%; }
  .hero-visual { min-height: 28rem; }
  .config-section { padding: 5.5rem 1rem; }
  .config-intro { margin-bottom: 2.8rem; }
  .config-intro > p { padding-left: 1rem; }
  h2 { font-size: clamp(3rem, 16vw, 3.8rem); }
  .config-head { min-height: 3.7rem; padding-inline: 1rem; }
  .config-head > span:first-child { display: none; }
  .config-head { justify-content: flex-end; }
  .live-personalizer, .config-controls { padding: 1rem; }
  .preview-editorial { grid-template-columns: 4.5rem minmax(0,1fr); gap: 1rem; align-items: start; }
  .preview-editorial-index { min-height: 6rem; padding: .7rem; }
  .preview-editorial-index span { font-size: 2.7rem; }
  .preview-editorial h3 { font-size: clamp(2rem,10vw,3rem); }
  .preview-editorial p { font-size: .75rem; }
  .preview-craft>div { grid-template-columns: 1fr; }
  .preview-craft article { min-height: auto; display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: .3rem .6rem; }
  .preview-craft-icon { top: .8rem; right: .8rem; width: 1.9rem; height: 1.9rem; }
  .preview-craft article strong { margin-top: 0; }
  .preview-craft article small { grid-column: 2; margin-top: 0; }
  .preview-meta span:last-child, .preview-foot p { display: none; }
  .preview-meta, .preview-foot { grid-template-columns: 1fr 1fr; }
  .controls-heading h3 { font-size: 2.15rem; }
  .style-choices { grid-template-columns: 1fr !important; }
  .preview-controls { grid-template-columns: 1fr; }
  .config-summary { grid-template-columns: minmax(0, 1fr) auto; padding: 1rem; align-items: end; }
  .config-summary .config-order { grid-column: 1 / -1; }
  .config-summary .config-order strong { font-size: clamp(.9rem, 4.3vw, 1.05rem); }
  .referral-gift { grid-template-columns:auto 1fr; }
  .referral-gift code { grid-column:1/-1; width:100%; text-align:center; }
  .config-total { min-width: 0; align-items: flex-end; }
  .config-actions { grid-column: 1 / -1; grid-template-columns: 1fr; align-items: stretch; }
  .config-summary .button { width: 100%; }
  .config-quantity { width:auto; min-width:0; }
  .config-quantity>span { grid-template-columns:1fr 3.5rem 1fr; }
  .cart-items article { grid-template-columns:2rem minmax(0,1fr) auto; padding:.9rem 1rem; }
  .cart-items article b { grid-column:2; }
  .cart-items article button { grid-column:3; grid-row:1/3; }
  .design-cart>header,.design-cart>footer { align-items:stretch; flex-direction:column; }
  .design-cart>footer .button { width:100%; }
  .cart-footer-actions{flex:none;width:100%;grid-template-columns:1fr;grid-auto-rows:auto}.cart-footer-actions .cart-save-later,.cart-footer-actions .paypal-button{height:auto;min-height:4rem}.cart-items article nav{flex-wrap:wrap}.cart-items article nav button{grid-column:auto!important;grid-row:auto!important}
  .paypal-note { justify-content: flex-start; flex-direction: column; gap: .2rem; text-align: left; }
  .checkout-dialog { width: calc(100% - 1rem); min-height: calc(100svh - 1rem); max-height: calc(100svh - 1rem); padding: 3.4rem 1.2rem 1.2rem; }
  .checkout-close { top: .65rem; right: .75rem; width: 2.6rem; height: 2.6rem; display: grid; place-items: center; padding: 0; }
  .checkout-progress { margin-right: 0; }
  .checkout-meta { padding-right: 0; }
  .checkout-step { min-height: 28rem; padding-top: 3.5rem; }
  .checkout-step h2 { font-size: clamp(3rem, 15vw, 4rem); }
  .checkout-actions { display: grid; grid-template-columns: auto 1fr; }
  .checkout-actions .button { min-width: 0; width: 100%; }
  .checkout-pay { grid-column: 1 / -1; }
  .checkout-guide { margin-top: .9rem; }
  .checkout-route { gap: .35rem; font-size: .75rem; }
  .checkout-address-grid { grid-template-columns: 1fr; gap: .75rem; }
  .checkout-coupon-body { grid-template-columns:1fr; }.checkout-coupon-control>div { grid-template-columns:1fr auto; }.checkout-coupon-control #checkoutCouponRemove { grid-column:1/-1; min-height:2.35rem; }
  .engraving-preview { left: 31%; top: 25%; width: 38%; height: 36%; }
  .story-image { min-height: 30rem; }
  .story-cta { width: 100%; }
  .reveal-card { min-height: 36rem; padding: 2rem 1.3rem; }
  .sizes-section { padding: 5.5rem 1rem; }
  .sizes-section .section-heading h2 { font-size: clamp(3rem, 15vw, 3.85rem); }
  .sizes-section .section-kicker { max-width: 19rem; }
  .size-table-wrap { display: none; }
  .size-cards { display: grid; gap: 1rem; margin-top: 2.8rem; }
  .size-card { position: relative; overflow: hidden; border: 1px solid rgba(17,16,15,.18); background: rgba(250,248,243,.82); box-shadow: 0 18px 46px rgba(42,35,25,.09); }
  .size-card.featured { border-color: rgba(138,108,58,.55); background: linear-gradient(145deg, rgba(199,165,106,.2), rgba(250,248,243,.9) 42%); }
  .size-card-recommended { padding: .65rem 1rem; background: var(--ink); color: var(--gold-light); text-align: center; font-size: .75rem; font-weight: 800; letter-spacing: .17em; }
  .size-card-head { min-height: 8.2rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.2rem 1rem; border-bottom: 1px solid rgba(17,16,15,.14); }
  .size-card-head .model-number { max-width: 10rem; margin: 0 0 .25rem; color: #7b6340; font-size: .75rem; line-height: 1.5; letter-spacing: .13em; }
  .size-card-head strong { font: 400 5.2rem/.72 Georgia, 'Times New Roman', serif; letter-spacing: -.06em; }
  .size-card dl { margin: 0; }
  .size-card dl > div { min-height: 3.2rem; display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 1rem; align-items: center; padding: .75rem 1.2rem; border-bottom: 1px solid rgba(17,16,15,.1); }
  .size-card dt { color: #6e675e; font-size: .75rem; font-weight: 700; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
  .size-card dd { margin: 0; font: 400 .94rem/1.25 Georgia, 'Times New Roman', serif; text-align: right; }
  .size-card .pending dd { color: #8a8379; font: 700 .61rem/1.35 Arial, Helvetica, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
  .size-card > button { width: 100%; min-height: 3.7rem; display: flex; align-items: center; justify-content: space-between; border: 0; padding: .85rem 1.2rem; background: transparent; color: var(--ink); cursor: pointer; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
  .size-card > button.active { background: var(--gold); }
  .size-card > button:focus-visible { outline: 2px solid #8a6c3a; outline-offset: -4px; }
  .size-note { margin-top: 1.3rem; padding: 1rem 1.1rem; border-left: 2px solid #a98243; background: rgba(250,248,243,.45); font-size: .75rem; line-height: 1.55; }
  .size-note span { display: block; margin: 0 0 .35rem; }
  .ring-one { width: 22rem; }
  .ring-two { width: 14rem; }
  .material-section { padding-inline: 1rem; }
  .gift-section h2 { font-size: clamp(2.85rem, 14vw, 3.2rem); }
  .design-gallery { padding-inline: 1rem; }
  .gallery-heading h2 { font-size: clamp(3rem, 15vw, 3.7rem); }
  .gallery-grid { grid-template-columns: 1fr; gap: .8rem; }
  .design-card-feature, .design-card { grid-column: auto; min-height: 34rem; }
  .design-card-copy { padding: 1.5rem; }
  .faq-section { gap: 2.5rem; }
  .retail-section { padding-inline: 1rem; }
  .retail-benefits { gap: 4rem; padding-bottom: 9rem; }
  .retail-card { width: 100%; min-height: 21rem; padding: 1.5rem; border-radius: .65rem; }
  .retail-card:nth-child(1) { top: 8rem; }
  .retail-card:nth-child(2) { top: 8.8rem; }
  .retail-card:nth-child(3) { top: 9.6rem; }
  .retail-card h3 { font-size: clamp(2.55rem, 13vw, 3.25rem); }
  .retail-card-top svg { width: 3.25rem; }
  .retail-contact { margin-top: 4rem; padding: 2.2rem 1.25rem 1.25rem; border-radius: .7rem; }
  .retail-contact > p { margin-block: 1.8rem 2.2rem; font-size: clamp(2.6rem, 13vw, 3.45rem); }
  .retail-contact-foot { align-items: stretch; flex-direction: column; gap: 1.4rem; }
  .retail-contact-link { width: 100%; min-width: 0; }
  .affiliate-section { padding-inline: 1rem; }
  .affiliate-fields { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .affiliate-form-head { align-items: start; flex-direction: column; gap: .5rem; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: .5rem; }
  .legal-hero { min-height: 28rem; padding: 8rem 1rem 3rem; }
  .legal-hero h1 { font-size: clamp(3rem, 15vw, 3.7rem); }
  .legal-layout { padding-inline: 1rem; }
  .legal-data { grid-template-columns: 1fr; }
  .thankyou-header { height: 4.4rem; padding-inline: 1rem; }
  .thankyou-header > span { display: none; }
  .thankyou-shell { min-height: calc(100svh - 4.4rem); padding: 4rem 1rem; gap: 3rem; }
  .thankyou-status { margin-bottom: 3rem; }
  .thankyou-copy h1 { font-size: clamp(3.45rem, 17vw, 4.6rem); }
  .thankyou-actions { align-items: stretch; flex-direction: column; gap: 1.2rem; }
  .thankyou-actions .button { width: 100%; }
  .thankyou-actions .text-link { width: max-content; }
  .thankyou-card { padding: 1.3rem; }
  .thankyou-delivery { grid-template-columns: 1fr; }
  .thankyou-delivery small { grid-column: auto; }
  .config-controls { scroll-margin-top: 5.6rem; }
}
@media (max-width: 380px) {
  .site-header { padding-inline: .8rem; }
  .brand img { width: 6.6rem; }
  .header-cta { padding-inline: .7rem; font-size: .75rem; letter-spacing: .08em; }
  .shipping-strip { padding-inline: .5rem; font-size: .75rem; }
  .hero-copy { padding-inline: 1rem; }
  h1 { font-size: 3.35rem; }
  .choice-grid label span { padding-inline: .55rem; }
  .button { gap: 1rem; padding-inline: 1rem; letter-spacing: .09em; }
  .discount-dialog { width: calc(100% - 1rem); padding-inline: 1.15rem; }
  .second-bowl-dialog { width: calc(100% - 1rem); max-height: calc(100svh - 1rem); overflow: auto; }
  .second-bowl-dialog[open] { grid-template-columns: 1fr; }
  .second-bowl-visual { min-height: 12rem; grid-template-columns: auto auto auto; align-items: center; gap: .65rem; border-right: 0; border-bottom: 1px solid rgba(226,199,143,.24); }
  .second-bowl-visual span { width: 6.2rem; }
  .second-bowl-visual span:last-child { margin-left: 0; }
  .second-bowl-visual i { margin: 0; }
  .second-bowl-copy { padding: 1.6rem 1.15rem 1.35rem; }
  .second-bowl-copy h2 { font-size: clamp(3rem,15vw,4.6rem); }
}
@media (max-width: 700px) {
  .second-bowl-dialog { width: calc(100% - 1rem); max-height: calc(100svh - 1rem); overflow: auto; }
  .second-bowl-dialog[open] { grid-template-columns: minmax(0,1fr); }
  .second-bowl-visual { min-height: 11rem; grid-template-columns: auto auto auto; align-items: center; justify-content: center; gap: .65rem; padding: 1.2rem; border-right: 0; border-bottom: 1px solid rgba(226,199,143,.24); }
  .second-bowl-visual span { width: min(6.2rem,27vw); }
  .second-bowl-visual span:last-child { margin-left: 0; }
  .second-bowl-visual i { margin: 0; }
  .second-bowl-copy { min-width: 0; padding: 1.6rem 1.15rem 1.35rem; }
  .second-bowl-copy h2 { font-size: clamp(3rem,15vw,4.6rem); }
  .second-bowl-actions, .second-bowl-actions .button, .second-bowl-actions .continue { width: 100%; min-width: 0; }
}
@media (max-width: 900px) {
  .second-bowl-dialog { width: min(42rem, calc(100% - 1rem)); max-height: calc(100svh - 1rem); }
  .second-bowl-dialog[open] { grid-template-columns: minmax(0,1fr); }
  .second-bowl-visual { min-height: 8rem; grid-template-columns: auto auto auto; align-items: center; justify-content: center; gap: .65rem; padding: .85rem; border-right: 0; border-bottom: 1px solid rgba(226,199,143,.24); }
  .second-bowl-visual span { width: min(5.2rem,24vw); }
  .second-bowl-visual span:last-child { margin-left: 0; }
  .second-bowl-visual i { margin: 0; }
  .second-bowl-copy { padding: 1.15rem; }
  .second-bowl-copy h2 { font-size: clamp(2.25rem,9vw,3.5rem); }
  .second-bowl-copy > p:not(.eyebrow) { font-size: .84rem; line-height: 1.45; }
  .second-bowl-actions { margin-top: 1rem; }
  .second-bowl-actions, .second-bowl-actions .button, .second-bowl-actions .continue { width: 100%; min-width: 0; }
}

.love-letter { position:fixed; z-index:90; left:clamp(.75rem,2vw,2rem); right:clamp(.75rem,2vw,2rem); bottom:clamp(.75rem,2vw,2rem); display:grid; grid-template-columns:8rem minmax(18rem,1.2fr) minmax(22rem,.8fr); gap:clamp(1.5rem,3vw,3.5rem); align-items:center; max-width:92rem; margin:auto; padding:clamp(1.5rem,3vw,2.6rem); border:1px solid rgba(226,199,143,.42); background:radial-gradient(circle at 8% 30%,rgba(199,165,106,.18),transparent 23%),#171411; color:var(--ivory); box-shadow:0 30px 100px rgba(0,0,0,.55); opacity:0; visibility:hidden; transform:translateY(calc(100% + 3rem)); transition:opacity .55s ease,transform .75s cubic-bezier(.22,1,.36,1),visibility .55s; }
.love-letter.visible { opacity:1; visibility:visible; transform:none; }
.love-letter::after { content:""; position:absolute; inset:.55rem; border:1px solid rgba(226,199,143,.08); pointer-events:none; }
.love-letter-close { position:absolute; z-index:2; right:.65rem; top:.35rem; border:0; padding:.55rem; background:transparent; color:#a89f92; font-size:1.5rem; cursor:pointer; }
.love-letter-mark { width:7.5rem; aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(226,199,143,.25); border-radius:50%; }
.love-letter-mark img { width:72%; height:auto; filter:sepia(1) saturate(.7) brightness(1.35); }
.love-letter .eyebrow { margin-bottom:.7rem; color:var(--gold-light); }
.love-letter h2 { margin:0; max-width:39rem; font-size:clamp(2rem,3.5vw,3.7rem); line-height:.94; }
.love-letter-copy > p:last-child { max-width:40rem; margin:1rem 0 0; color:#aaa197; font-size:.88rem; line-height:1.6; }
.love-letter-form label { display:block; margin-bottom:.6rem; color:#9e968b; font-size:.75rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.love-letter-field { display:grid; grid-template-columns:1fr auto; border-bottom:1px solid rgba(226,199,143,.55); }
.love-letter-field input { min-width:0; border:0; padding:.85rem 0; background:transparent; color:var(--ivory); font:1.2rem Georgia,serif; outline:none; }
.love-letter-field input::placeholder { color:#6f685f; }
.love-letter-field button { border:0; padding:.8rem 1rem; background:var(--gold); color:var(--ink); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:background .2s,transform .2s; }
.love-letter-field button:hover,.love-letter-field button:focus-visible { background:var(--gold-light); transform:translateY(-2px); }
.love-letter-field button:disabled { opacity:.65; cursor:wait; }
.love-letter-legal { margin:.75rem 0 0; color:#777066; font-size:.75rem; line-height:1.45; }
.love-letter-legal a { color:#bca778; text-underline-offset:.15em; }
.love-letter-status { min-height:1.2em; margin:.6rem 0 0; color:var(--gold-light); font-size:.75rem; }
.love-letter.success .love-letter-form label,.love-letter.success .love-letter-field,.love-letter.success .love-letter-legal { display:none; }
.love-letter.success .love-letter-status { font:1.35rem Georgia,serif; }
@media (max-width:980px) { .love-letter { grid-template-columns:5.5rem 1fr; }.love-letter-mark{width:5rem}.love-letter-form{grid-column:1/-1}.love-letter h2{font-size:clamp(2.1rem,6vw,3.4rem)} }
@media (max-width:560px) { .love-letter { left:.55rem; right:.55rem; bottom:4.7rem; display:block; max-height:calc(100svh - 6rem); overflow:auto; padding:1.6rem 1.2rem 1.25rem; }.love-letter-mark{width:3.7rem;margin-bottom:1rem}.love-letter h2{font-size:2.3rem}.love-letter-copy>p:last-child{font-size:.8rem}.love-letter-form{margin-top:1.3rem}.love-letter-field{grid-template-columns:1fr}.love-letter-field button{width:100%;margin-top:.5rem;padding:1rem}.love-letter-close{font-size:1.35rem} }

.latest-story { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); min-height:52rem; background:#151310; color:var(--ivory); }
.latest-story-visual { position:relative; min-height:52rem; overflow:hidden; }
.latest-story-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,rgba(21,19,16,.55)),linear-gradient(0deg,rgba(10,9,8,.55),transparent 45%); pointer-events:none; }
.latest-story-visual>img { width:100%; height:100%; object-fit:cover; filter:saturate(.75) contrast(1.06); }
.latest-story-seal { position:absolute; z-index:2; right:2rem; top:2rem; width:7.5rem; aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(226,199,143,.65); border-radius:50%; color:var(--gold-light); font:italic 1rem/1.1 Georgia,serif; text-align:center; transform:rotate(7deg); backdrop-filter:blur(4px); }
.latest-story-caption { position:absolute; z-index:2; left:clamp(1.3rem,4vw,4rem); right:2rem; bottom:clamp(1.5rem,4vw,3.5rem); display:flex; align-items:end; justify-content:space-between; gap:1rem; }
.latest-story-caption span { color:#c2b8aa; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; }
.latest-story-caption strong { color:var(--gold-light); font:3rem/1 Georgia,serif; letter-spacing:-.04em; }
.latest-story-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(4rem,7vw,8rem); background:radial-gradient(circle at 85% 14%,rgba(199,165,106,.13),transparent 26%); }
.latest-story-copy h2 { margin:0; font-size:clamp(3.4rem,6.2vw,7rem); line-height:.88; }
.latest-story-copy>p:not(.eyebrow) { max-width:40rem; margin:2rem 0 0; color:#aaa197; font-size:1rem; line-height:1.75; }
.latest-story-copy blockquote { max-width:34rem; margin:2rem 0; padding-left:1.25rem; border-left:1px solid var(--gold); color:#d7cec1; font:italic 1.35rem/1.5 Georgia,serif; }
.latest-story-meta { display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; margin-bottom:2rem; color:#7f786f; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; }
.latest-story-cta { width:min(100%,29rem); }
.latest-story-copy>small { max-width:32rem; margin-top:1rem; color:#686159; font-size:.75rem; line-height:1.5; }
.checkout-showcase { margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(226,199,143,.16); }
@media (max-width:900px) { .latest-story{grid-template-columns:1fr}.latest-story-visual{min-height:42rem}.latest-story-copy{padding:6rem 1.3rem}.latest-story-copy h2{font-size:clamp(3.5rem,12vw,5.6rem)} }
@media (max-width:560px) { .latest-story-visual{min-height:34rem}.latest-story-seal{right:1rem;top:1rem;width:6rem;font-size:.8rem}.latest-story-caption{align-items:start;flex-direction:column}.latest-story-caption strong{font-size:2.5rem}.latest-story-copy{padding-block:5rem}.latest-story-copy blockquote{font-size:1.15rem}.latest-story-cta{width:100%} }

.share-body { min-height:100svh; background:#151310; color:var(--ivory); }
.share-header { position:relative; z-index:2; height:6rem; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(1.2rem,4vw,4rem); border-bottom:1px solid rgba(226,199,143,.16); }
.share-header .brand img { filter:brightness(0) invert(1); }
.share-header>span { color:#8d857b; font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; }
.share-shell { min-height:calc(100svh - 6rem); display:grid; grid-template-columns:minmax(0,.92fr) minmax(32rem,.68fr); }
.share-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(4rem,8vw,9rem); background:radial-gradient(circle at 8% 15%,rgba(202,167,102,.17),transparent 27%); }
.share-copy h1 { max-width:58rem; margin:.7rem 0 1.7rem; font-size:clamp(4.2rem,7.5vw,8.5rem); line-height:.84; }
.share-copy h1 em { display:block; color:var(--gold-light); }
.share-copy>p:not(.eyebrow) { max-width:38rem; color:#a79e92; font-size:1rem; line-height:1.75; }
.share-promise { display:grid; grid-template-columns:auto 1fr; gap:.7rem 1rem; max-width:36rem; margin-top:2.2rem; padding-top:1.5rem; border-top:1px solid rgba(226,199,143,.18); }
.share-promise span { color:var(--gold); font-size:.75rem; font-weight:800; }
.share-promise p { margin:0; color:#8d857b; font-size:.75rem; line-height:1.5; }
.share-card { position:relative; display:flex; flex-direction:column; justify-content:center; padding:clamp(1.2rem,5vw,5rem); background:#efe7db; color:var(--ink); }
.share-card::before { content:""; position:absolute; inset:1rem; border:1px solid rgba(109,86,47,.15); pointer-events:none; }
.share-card-top { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.3rem; padding-bottom:1rem; border-bottom:1px solid rgba(23,20,17,.17); }
.share-card-top span { color:#766d63; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; }
.share-card-top strong { color:#8b6b34; font:italic 1.6rem Georgia,serif; }
.share-card form,.share-success { position:relative; z-index:1; }
.share-drop { position:relative; min-height:28rem; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; border:1px dashed #b39b73; background:#f8f2e9; text-align:center; cursor:pointer; transition:transform .25s,border-color .25s,box-shadow .25s; }
.share-drop:hover,.share-drop:focus-within { transform:translateY(-3px); border-color:#92713b; box-shadow:0 20px 50px rgba(61,47,27,.12); }
.share-drop input { position:absolute; width:1px; height:1px; opacity:0; }
.share-drop>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.share-drop.has-image::after { content:"Cambiar fotografía"; position:absolute; right:1rem; bottom:1rem; padding:.65rem .8rem; background:rgba(21,19,16,.88); color:#f4eee4; font-size:.75rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.share-drop.has-image>.share-drop-icon,.share-drop.has-image>strong,.share-drop.has-image>small { display:none; }
.share-drop-icon { width:4rem; aspect-ratio:1; display:grid; place-items:center; margin-bottom:1.2rem; border:1px solid #b6965c; border-radius:50%; color:#97743a; font-size:2rem; font-weight:200; }
.share-drop strong { font:400 1.65rem Georgia,serif; }
.share-drop small { margin-top:.6rem; color:#8c8378; font-size:.75rem; }
.share-consent { display:grid; grid-template-columns:auto 1fr; gap:.8rem; align-items:start; margin:1.2rem 0; color:#6f665c; font-size:.75rem; line-height:1.55; cursor:pointer; }
.share-consent input { width:1.1rem; height:1.1rem; margin:.1rem 0 0; accent-color:#98733a; }
.share-consent a { color:#785c2e; }
.share-button { width:100%; }
.share-status { min-height:1.4rem; margin:.8rem 0 0; color:#806332; font-size:.75rem; text-align:center; }
.share-status.is-error { color:#a33b31; }
.share-success { text-align:center; padding:clamp(2rem,5vw,5rem); }
.share-success-mark { width:5rem; aspect-ratio:1; display:grid; place-items:center; margin:0 auto 1.5rem; border:1px solid #a78348; border-radius:50%; color:#89682f; font:2rem Georgia,serif; }
.share-success h2 { margin:.5rem 0 1rem; font-size:clamp(3.2rem,6vw,5.2rem); line-height:.92; }
.share-success>p:not(.eyebrow) { max-width:33rem; margin:0 auto 2rem; color:#746a5f; line-height:1.7; }
.share-success .button { width:100%; }
@media (max-width:980px) { .share-shell{grid-template-columns:1fr}.share-copy{min-height:48rem;padding:7rem 1.4rem}.share-card{padding:5rem 1.2rem}.share-drop{min-height:30rem} }
@media (max-width:560px) { .share-header{height:4.5rem;padding-inline:1rem}.share-header>span{display:none}.share-shell{min-height:calc(100svh - 4.5rem)}.share-copy{min-height:42rem;padding-block:5rem}.share-copy h1{font-size:clamp(3.6rem,17vw,4.6rem)}.share-card{padding-block:3.5rem}.share-card::before{inset:.55rem}.share-drop{min-height:25rem}.share-card-top{align-items:start;flex-direction:column}.share-card-top strong{font-size:1.35rem} }

/* Legibilidad: evita el zoom automático y conserva campos cómodos en pantallas táctiles. */
@media (max-width:760px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea { font-size:16px !important; }
}

/* Campañas de producto: información completa para el cliente. */
.product-promotion-banner{display:block;padding:0;overflow:hidden}.product-promotion-banner>header{display:grid;grid-template-columns:minmax(15rem,.55fr) minmax(20rem,1.45fr);gap:.45rem 2rem;padding:1.35rem 1.5rem;border-bottom:1px solid rgba(226,199,143,.22)}.product-promotion-banner>header>span{grid-row:1/3;align-self:center;color:#caa766;font-size:.7rem;font-weight:900;letter-spacing:.13em}.product-promotion-banner>header>strong{color:var(--gold-light);font:400 clamp(1.4rem,2.4vw,2.2rem)/1 Georgia,serif}.product-promotion-banner>header>p{margin:0;color:#b5aca0;font-size:.82rem;line-height:1.55}.product-promotion-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(226,199,143,.2)}.product-promotion-prices article{display:grid;gap:.55rem;padding:1.1rem 1.25rem;background:#211c17}.product-promotion-prices article>span{color:#d7bd82;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.product-promotion-prices article>p{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0}.product-promotion-prices del{color:#877e73;font-size:.78rem}.product-promotion-prices strong{color:#f0d596;font:400 1.65rem/1 Georgia,serif}.product-promotion-prices small{color:#9e9589;font-size:.72rem;line-height:1.4}.product-promotion-conditions{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(226,199,143,.14)}.product-promotion-conditions p{margin:0;padding:.85rem 1rem;background:#181512;color:#9f968a;font-size:.72rem;line-height:1.45}.product-promotion-conditions b{display:block;margin-bottom:.2rem;color:#ddd1c0;text-transform:uppercase}.product-promotion-banner>footer{padding:.8rem 1.25rem;background:#2b241b;color:#968c80;font-size:.72rem;line-height:1.5}.cart-promotion-notice{display:grid;gap:.75rem;padding:1rem 1.25rem;text-transform:none}.cart-promotion-notice>div{display:flex;justify-content:space-between;gap:1rem;text-transform:uppercase}.cart-promotion-notice>p{margin:0;color:#b2a89c;font-size:.74rem;font-weight:500;letter-spacing:0;line-height:1.5}.cart-promotion-notice>dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;background:rgba(226,199,143,.16)}.cart-promotion-notice>dl>div{display:grid;gap:.3rem;padding:.75rem;background:#201b16}.cart-promotion-notice dt{color:#8f867b;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.cart-promotion-notice dd{margin:0;color:#f0d596;font:400 1.1rem/1 Georgia,serif;letter-spacing:0}.cart-promotion-notice>small{color:#8f867b;font-size:.66rem;letter-spacing:.03em;line-height:1.4}
@media(max-width:900px){.product-promotion-banner>header{grid-template-columns:1fr}.product-promotion-banner>header>span{grid-row:auto}.product-promotion-conditions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.product-promotion-prices,.product-promotion-conditions{grid-template-columns:1fr}.product-promotion-banner>header{padding:1.1rem}.product-promotion-prices article{padding:1rem}.cart-promotion-notice>div{align-items:flex-start;flex-direction:column}.cart-promotion-notice>div strong{text-align:left}.cart-promotion-notice>dl{grid-template-columns:1fr}.cart-promotion-notice>dl>div{grid-template-columns:1fr auto;align-items:center}.cart-promotion-notice dd{text-align:right}}

/* Campañas múltiples: progreso claro y personalización independiente. */
.cart-promotion-progress{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.8rem .9rem!important;border:1px solid rgba(226,199,143,.28);background:#171411!important;text-transform:none!important}.cart-promotion-progress[hidden]{display:none!important}.cart-promotion-progress p{margin:0;color:#e7dac8;font-size:.72rem;line-height:1.5}.cart-promotion-progress button{width:auto;height:auto;padding:.72rem .85rem;border:1px solid #caa766;background:#caa766;color:#171411;font-size:.64rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.cart-promotion-progress button span{margin-left:.35rem}
@media(max-width:600px){.cart-promotion-progress{grid-template-columns:1fr}.cart-promotion-progress button{width:100%;white-space:normal}.cart-items article>.cart-line-price{grid-column:2;justify-items:start}}
