
:root {
  --rose: #ff0054;
  --rose-dark: #a81748;
  --wine: #6f3542;
  --ink: #181311;
  --cream: #fbf8f4;
}
*,*::before,*::after { box-sizing:border-box; }
html,body { width:100%; max-width:100vw; margin:0; padding:0; overflow-x:hidden; }
@supports (overflow:clip) { html,body { overflow-x:clip; } }
html { scroll-behavior:smooth; }
body { position:relative; color:var(--ink); background:var(--cream); }
main,header,footer,section,nav,form { width:100%; max-width:100%; }
main,section,header,footer,nav,form,div { min-width:0; }
img,video,svg { max-width:100%; }
img { height:auto; }
::selection { background: rgba(255, 0, 84, .18); }
.skip-link { position:fixed; z-index:120; left:1rem; top:.5rem; transform:translateY(-160%); border-radius:.75rem; background:white; padding:.7rem 1rem; color:var(--ink); font-size:.8rem; font-weight:800; box-shadow:0 10px 30px rgba(24,19,17,.2); transition:transform .18s ease; }
.skip-link:focus { transform:translateY(0); outline:3px solid var(--rose); }
.promo-bar { height:34px; transform:translateY(0); transition:transform .24s ease; }
.promo-bar-inner { display:flex; height:34px; align-items:center; justify-content:center; gap:.35rem; font-size:.66rem; letter-spacing:.055em; line-height:1.15; }
.promo-copy-mobile { display:none; }
.promo-bar.is-hidden { transform:translateY(-105%); }
.promo-bar.is-hidden + .site-header { top:0; }
.site-main { padding-top:98px; }
.grain::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.045; mix-blend-mode:multiply; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
.glass { background:rgba(255,255,255,.76); border:1px solid rgba(255,255,255,.84); box-shadow:0 24px 70px rgba(49,31,27,.10); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.eyebrow { letter-spacing:.22em; text-transform:uppercase; font-size:.72rem; font-weight:800; }
.hero-orb { background:radial-gradient(circle,rgba(255,0,84,.16),rgba(255,0,84,.05) 45%,transparent 72%); filter:blur(3px); }
.video-shell::before { content:""; position:absolute; z-index:6; inset:0 0 auto; height:8rem; pointer-events:none; background:linear-gradient(180deg,#111 0,#111 68%,rgba(17,17,17,.82) 82%,transparent); }
.video-shell::after { content:""; position:absolute; z-index:5; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(16,10,8,.02) 45%,rgba(16,10,8,.48) 100%); }
.hero-video video { transform:scale(1.12); transform-origin:center; filter:grayscale(1) contrast(1.04) brightness(.98); object-position:center 55%; }
.hero-mobile-product { display:none; overflow:hidden; grid-template-columns:7.5rem 1fr; align-items:center; min-height:8.2rem; border:1px solid rgba(35,25,22,.08); border-radius:1.35rem; background:rgba(255,255,255,.82); box-shadow:0 14px 34px rgba(58,35,30,.09); }
.hero-mobile-product img { width:7.5rem; height:8.2rem; object-fit:cover; object-position:center; background:#f1e8e2; }
.hero-mobile-product figcaption { display:grid; gap:.2rem; padding:.85rem; }
.hero-mobile-product strong { font-family:"DM Serif Display",Georgia,serif; font-size:1.3rem; line-height:1.05; }
.hero-mobile-product span { color:var(--wine); font-size:.72rem; font-weight:800; }
.hero-mobile-product small { margin-top:.2rem; color:rgba(24,19,17,.48); font-size:.63rem; line-height:1.4; }
.cta-shine { position:relative; overflow:hidden; }
.cta-shine::after { content:""; position:absolute; top:-50%; bottom:-50%; width:42%; transform:translateX(-180%) rotate(18deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent); animation:shine 3.8s infinite; }
.hero-actions { display:grid; gap:.75rem; }
.hero-whatsapp-cta { display:flex; width:100%; min-height:64px; align-items:center; gap:.85rem; padding:.65rem .75rem; border:1px solid rgba(30,75,54,.2); border-radius:1rem; background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(245,240,234,.92)); color:var(--ink); box-shadow:0 12px 30px rgba(54,39,34,.09),inset 0 1px 0 rgba(255,255,255,.9); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease; -webkit-tap-highlight-color:transparent; }
.hero-whatsapp-mark { display:grid; width:44px; height:44px; flex:0 0 44px; place-items:center; border-radius:14px; background:#176b49; color:#fff; box-shadow:0 8px 18px rgba(23,107,73,.24); }
.hero-whatsapp-mark svg { width:25px; height:25px; fill:currentColor; }
.hero-whatsapp-copy { display:flex; min-width:0; flex:1; flex-direction:column; align-items:flex-start; line-height:1.15; }
.hero-whatsapp-copy small { margin-bottom:.3rem; color:rgba(25,20,18,.48); font-size:.62rem; font-weight:800; letter-spacing:.14em; }
.hero-whatsapp-copy strong { font-size:.9rem; font-weight:800; letter-spacing:.015em; }
.hero-whatsapp-arrow { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:999px; background:rgba(23,107,73,.08); color:#176b49; font-size:1.05rem; font-weight:800; transition:transform .2s ease,background .2s ease; }
.hero-whatsapp-cta:hover,.hero-whatsapp-cta:focus-visible { transform:translateY(-2px); border-color:rgba(23,107,73,.42); background:#fff; box-shadow:0 16px 36px rgba(54,39,34,.13),0 0 0 4px rgba(23,107,73,.06); outline:none; }
.hero-whatsapp-cta:hover .hero-whatsapp-arrow,.hero-whatsapp-cta:focus-visible .hero-whatsapp-arrow { transform:translateX(3px); background:rgba(23,107,73,.13); }
.hero-whatsapp-cta:active { transform:scale(.985); }
@keyframes shine { 0%,60%{transform:translateX(-180%) rotate(18deg)} 100%{transform:translateX(420%) rotate(18deg)} }
.pulse-soft { animation:pulseSoft 2.2s infinite; }
@keyframes pulseSoft { 0%,100%{box-shadow:0 14px 35px rgba(111,53,66,.23),0 0 0 0 rgba(255,0,84,.22)} 50%{box-shadow:0 18px 45px rgba(111,53,66,.30),0 0 0 12px rgba(255,0,84,0)} }
.offer-card { transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease; }
.offer-card.selected { border-color:var(--rose); background:#fff5f8; box-shadow:0 0 0 3px rgba(255,0,84,.09),0 16px 38px rgba(74,38,45,.10); transform:translateY(-2px); }
.gallery-item img { transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.gallery-item:hover img { transform:scale(1.035); }
.modal-panel { opacity:0; transform:translateY(20px) scale(.97); transition:opacity .25s ease,transform .25s ease; }
.modal-open .modal-panel { opacity:1; transform:translateY(0) scale(1); }
.field:focus { outline:none; border-color:var(--rose); box-shadow:0 0 0 4px rgba(255,0,84,.10); }
.field[aria-invalid="true"] { border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.08); }
select.field { background-image:linear-gradient(45deg,transparent 50%,#6f3542 50%),linear-gradient(135deg,#6f3542 50%,transparent 50%); background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.phone-helper,.field-example { color:rgba(24,19,17,.48); font-size:.7rem; line-height:1.45; }
.phone-helper { display:block; margin:.4rem .1rem 0; }
.field-example { margin-top:.35rem; }
.delivery-type-fieldset { min-width:0; margin-top:.35rem; }
.delivery-type-fieldset > legend { margin-bottom:.7rem; font-size:.88rem; font-weight:800; }
.delivery-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.delivery-choice { display:flex; min-width:0; min-height:76px; cursor:pointer; align-items:flex-start; gap:.55rem; border:1px solid rgba(24,19,17,.12); border-radius:1rem; background:#fff; padding:.8rem; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.delivery-choice input { width:1rem; height:1rem; flex:0 0 1rem; margin-top:.1rem; accent-color:var(--rose); }
.delivery-choice span,.delivery-choice strong,.delivery-choice small { display:block; min-width:0; }
.delivery-choice strong { color:var(--ink); font-size:.76rem; line-height:1.3; }
.delivery-choice small { margin-top:.22rem; color:rgba(24,19,17,.45); font-size:.64rem; line-height:1.35; }
.delivery-choice.selected { border-color:rgba(255,0,84,.65); background:#fff7f9; box-shadow:0 0 0 3px rgba(255,0,84,.07); transform:translateY(-1px); }
.delivery-choice:focus-within { outline:2px solid rgba(255,0,84,.28); outline-offset:2px; }
.delivery-fields { min-width:0; border:1px solid rgba(24,19,17,.08); border-radius:1.15rem; background:#faf8f5; padding:1rem; }
.delivery-fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.delivery-fields-grid .wide { grid-column:1 / -1; }
.pickup-coverage-note { display:grid; gap:.2rem; border-left:3px solid var(--wine); border-radius:.75rem; background:#f3ece6; padding:.8rem .9rem; color:rgba(24,19,17,.58); font-size:.72rem; line-height:1.45; }
.pickup-coverage-note strong { color:var(--wine); font-size:.75rem; }
.order-quality-copy { display:grid; gap:.16rem; border-radius:1rem; background:#fff7f9; padding:.85rem 1rem; text-align:center; color:rgba(24,19,17,.58); font-size:.75rem; line-height:1.45; }
.order-quality-copy strong { color:var(--wine); }
.order-quality-copy small { margin-top:.28rem; color:rgba(24,19,17,.48); font-size:.68rem; }
.review-eyebrow { color:var(--rose-dark); font-size:.68rem; font-weight:850; letter-spacing:.16em; }
.review-data { overflow:hidden; border:1px solid rgba(24,19,17,.09); border-radius:1rem; background:#faf8f5; }
.review-data > div { display:grid; grid-template-columns:minmax(7.25rem,.8fr) minmax(0,1.2fr); gap:.75rem; border-bottom:1px solid rgba(24,19,17,.07); padding:.68rem .85rem; font-size:.76rem; line-height:1.45; }
.review-data > div:last-child { border-bottom:0; }
.review-data dt { color:rgba(24,19,17,.45); font-weight:700; }
.review-data dd { min-width:0; overflow-wrap:anywhere; color:var(--ink); font-weight:750; text-align:right; }
.review-actions { display:grid; grid-template-columns:.8fr 1.2fr; gap:.7rem; }
.review-actions button { width:100%; }
.checkout-assurance { overflow:hidden; border:1px solid rgba(35,25,22,.1); border-radius:1.15rem; background:#faf8f5; transition:border-color .2s ease,box-shadow .2s ease; }
.checkout-assurance-static { overflow:hidden; border:1px solid rgba(35,25,22,.1); border-radius:1.15rem; background:#faf8f5; box-shadow:0 12px 30px rgba(52,30,25,.05); }
.checkout-assurance-title { padding:.85rem 1rem .65rem; color:var(--ink); font-size:.85rem; font-weight:850; }
.checkout-assurance-static .checkout-trust { border-top:1px solid rgba(35,25,22,.08); }
.checkout-assurance[open] { border-color:rgba(111,53,66,.22); box-shadow:0 12px 30px rgba(52,30,25,.07); }
.checkout-assurance summary { display:grid; min-height:64px; cursor:pointer; list-style:none; grid-template-columns:2.5rem 1fr 1rem; gap:.75rem; align-items:center; padding:.7rem .85rem; color:var(--ink); -webkit-tap-highlight-color:transparent; }
.checkout-assurance summary::-webkit-details-marker { display:none; }
.checkout-assurance summary:focus-visible { outline:2px solid var(--rose); outline-offset:-3px; border-radius:1rem; }
.assurance-summary-icon { display:flex; width:2.5rem; height:2.5rem; align-items:center; justify-content:center; overflow:hidden; border-radius:.8rem; background:white; box-shadow:0 5px 15px rgba(52,30,25,.07); }
.assurance-summary-icon img { width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; }
.checkout-assurance summary strong,.checkout-assurance summary small { display:block; }
.checkout-assurance summary strong { font-size:.84rem; }
.checkout-assurance summary small { margin-top:.15rem; color:rgba(24,19,17,.48); font-size:.68rem; line-height:1.35; }
.assurance-chevron { width:.6rem; height:.6rem; border-right:2px solid #6f3542; border-bottom:2px solid #6f3542; transform:rotate(45deg) translate(-2px,-2px); transition:transform .22s ease; }
.checkout-assurance[open] .assurance-chevron { transform:rotate(225deg) translate(-1px,-1px); }
.checkout-trust { display:grid; gap:.55rem; border-top:1px solid rgba(35,25,22,.08); padding:.7rem; }
.checkout-trust-item { display:grid; grid-template-columns:2.75rem 1fr; gap:.7rem; align-items:center; border-radius:.9rem; background:white; padding:.7rem; color:rgba(24,19,17,.63); font-size:.76rem; line-height:1.45; }
.checkout-trust-item > img { width:2.75rem; height:2.75rem; border-radius:.75rem; object-fit:cover; mix-blend-mode:multiply; }
.checkout-trust-item strong { color:var(--ink); }
.success-check { display:flex; width:4.5rem; height:4.5rem; align-items:center; justify-content:center; border-radius:50%; background:#dcfce7; box-shadow:0 0 0 8px #f0fdf4; color:#16a34a; font-size:2.35rem; font-weight:800; }
.modal-open .success-check span { animation:successCheckIn .5s cubic-bezier(.2,.8,.2,1) both; }
.modal-message { display:grid; grid-template-columns:1.75rem 1fr; gap:.55rem; align-items:start; border:1px solid rgba(35,25,22,.08); border-radius:1rem; background:#faf8f5; padding:.8rem; text-align:left; color:rgba(24,19,17,.63); font-size:.8rem; line-height:1.5; }
.modal-message > span { font-size:1rem; }
.modal-message strong { color:var(--ink); }
.modal-message-accent { border-color:#f3d2dc; background:#fff5f8; color:#6f3542; }
.error-mark { display:flex; width:4rem; height:4rem; align-items:center; justify-content:center; border-radius:50%; background:#fff1f2; box-shadow:0 0 0 8px #fff7f8; color:var(--rose-dark); font-family:"DM Serif Display",Georgia,serif; font-size:2.35rem; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.checkout-legal a { color:var(--wine); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.checkout-package { border:1px solid rgba(255,255,255,.1); border-radius:1rem; background:rgba(255,255,255,.04); padding:1rem; }
.checkout-package li { position:relative; padding-left:1.15rem; }
.checkout-package li::before { content:""; position:absolute; top:.48rem; left:0; width:.45rem; height:.45rem; border-radius:50%; background:#efb8c3; box-shadow:0 0 0 3px rgba(239,184,195,.1); }
@keyframes successCheckIn { from{opacity:0;transform:scale(.4) rotate(-18deg)} to{opacity:1;transform:scale(1) rotate(0)} }
.no-scroll { overflow:hidden; }
.site-header { top:34px; border-bottom:1px solid rgba(24,19,17,.07); background:rgba(251,248,244,.88); box-shadow:0 8px 28px rgba(38,23,19,.045); backdrop-filter:blur(20px) saturate(1.25); -webkit-backdrop-filter:blur(20px) saturate(1.25); transition:top .24s ease; }
.site-header-inner { display:grid; width:100%; max-width:72rem; height:64px; grid-template-columns:minmax(12rem,1fr) auto minmax(12rem,1fr); align-items:center; gap:1.25rem; }
.brand-lockup { display:inline-flex; width:max-content; min-width:0; align-items:center; gap:.62rem; color:var(--ink); }
.logo-mark { width:28px; height:42px; flex:none; filter:drop-shadow(0 8px 18px rgba(255,0,84,.12)); }
.brand-name { overflow:hidden; font-size:.82rem; font-weight:850; letter-spacing:.16em; white-space:nowrap; }
.primary-nav { align-items:center; gap:.15rem; border:1px solid rgba(24,19,17,.06); border-radius:999px; background:rgba(255,255,255,.55); padding:.25rem; box-shadow:inset 0 1px 0 rgba(255,255,255,.75); }
.primary-nav .nav-link { border-radius:999px; padding:.48rem .72rem; color:rgba(24,19,17,.58); font-size:.73rem; font-weight:750; line-height:1; white-space:nowrap; transition:color .18s ease,background .18s ease,box-shadow .18s ease; }
.primary-nav .nav-link:hover { color:var(--ink); }
.primary-nav .nav-link[aria-current="page"] { background:white; color:var(--rose-dark); box-shadow:0 4px 14px rgba(45,27,23,.08); }
.header-actions { display:flex; justify-self:end; align-items:center; gap:.55rem; }
.header-cta { display:inline-flex; min-height:40px; align-items:center; justify-content:center; gap:.55rem; border-radius:999px; background:var(--ink); padding:.65rem 1rem; color:white; font-size:.69rem; font-weight:850; letter-spacing:.055em; line-height:1; white-space:nowrap; box-shadow:0 8px 20px rgba(24,19,17,.14); transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.header-cta span { color:#efb8c3; font-size:.9rem; transition:transform .18s ease; }
.header-cta:hover,.header-cta:focus-visible { background:var(--wine); box-shadow:0 10px 24px rgba(111,53,66,.2); transform:translateY(-1px); outline:none; }
.header-cta:hover span,.header-cta:focus-visible span { transform:translateX(2px); }
.menu-toggle { display:flex; width:40px; height:40px; align-items:center; justify-content:center; border:1px solid rgba(24,19,17,.1); border-radius:50%; background:rgba(255,255,255,.58); color:var(--ink); }
.menu-bars { display:grid; width:15px; gap:4px; }
.menu-bars i { display:block; width:100%; height:1.5px; border-radius:999px; background:currentColor; transition:transform .2s ease; }
.menu-bars i:last-child { width:11px; justify-self:end; }
.menu-toggle[aria-expanded="true"] .menu-bars i:first-child { transform:translateY(2.75px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-bars i:last-child { width:15px; transform:translateY(-2.75px) rotate(-45deg); }
.video-toggle { position:absolute; z-index:12; right:1rem; top:1rem; min-height:34px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(18,13,12,.56); padding:.5rem .75rem; color:white; font-size:.65rem; font-weight:800; backdrop-filter:blur(8px); }
.testimonial-top { display:grid; grid-template-columns:2.8rem 1fr; gap:.8rem; align-items:center; }
.testimonial-avatar { display:flex; width:2.8rem; height:2.8rem; align-items:center; justify-content:center; border-radius:50%; background:linear-gradient(145deg,#f8dbe3,#f2ede8); color:var(--wine); font-size:.72rem; font-weight:850; letter-spacing:.06em; box-shadow:inset 0 0 0 1px rgba(111,53,66,.08); }
.testimonial-card time { display:block; margin-top:.15rem; color:rgba(24,19,17,.47); font-size:.68rem; }
.verified-badge { display:inline-flex; align-items:center; gap:.3rem; border-radius:999px; background:#eef7f0; padding:.35rem .55rem; color:#2f6b3a; font-size:.62rem; font-weight:800; white-space:nowrap; }
.verified-badge > span { display:flex; width:.9rem; height:.9rem; align-items:center; justify-content:center; border-radius:50%; background:#4d9360; color:white; font-size:.55rem; }
.ugc-verification { display:grid; gap:.25rem; border:1px solid rgba(35,25,22,.08); border-radius:1.25rem; background:#f5efe9; padding:1rem 1.15rem; text-align:center; color:rgba(24,19,17,.55); font-size:.76rem; line-height:1.55; }
.ugc-verification strong { color:var(--ink); font-size:.82rem; }
.ugc-verification a { color:var(--wine); font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.technology-mode-card img { width:58px; height:58px; border-radius:1rem; object-fit:cover; mix-blend-mode:multiply; }
.mode-guide { border:1px solid rgba(255,255,255,.1); border-radius:1.5rem; background:rgba(255,255,255,.055); padding:1.35rem; box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.mode-guide > span { color:#efb8c3; font-size:.65rem; font-weight:850; letter-spacing:.14em; }
.mode-guide h3 { margin-top:.8rem; font-family:"DM Serif Display",Georgia,serif; font-size:1.7rem; line-height:1.05; }
.mode-guide p { margin-top:.75rem; color:rgba(255,255,255,.58); font-size:.86rem; line-height:1.65; }
.mode-guide-blue { border-color:rgba(147,197,253,.22); background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(30,64,175,.18)); }
.mode-guide-blue > span { color:#bfdbfe; }
.policy-copy { display:grid; gap:1rem; color:rgba(24,19,17,.66); font-size:.92rem; line-height:1.75; }
.policy-copy strong { color:var(--ink); }
.policy-list details { scroll-margin-top:7rem; }
.policy-list summary { list-style:none; padding-right:2rem; position:relative; }
.policy-list summary::-webkit-details-marker { display:none; }
.policy-list summary::after { content:"+"; position:absolute; top:0; right:0; color:var(--wine); font-family:Inter,system-ui,sans-serif; font-size:1.4rem; font-weight:600; }
.policy-list details[open] summary::after { content:"−"; }
.reveal-pending { opacity:0; transition:opacity .55s ease var(--reveal-delay,0ms),transform .55s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms); }
.reveal-pending[data-aos="fade-up"] { transform:translateY(22px); }
.reveal-pending[data-aos="fade-left"] { transform:translateX(22px); }
.reveal-pending[data-aos="fade-right"] { transform:translateX(-22px); }
.reveal-pending[data-aos="zoom-in"] { transform:scale(.97); }
.reveal-pending.reveal-visible { opacity:1; transform:none; }
.whatsapp-wrap { right:1rem; bottom:1.25rem; z-index:58; width:auto; max-width:none; justify-content:flex-end; transition:opacity .2s ease,transform .2s ease; }
.whatsapp-float { isolation:isolate; overflow:hidden; line-height:0; border:1px solid rgba(255,255,255,.45); animation:whatsappPulse 2.4s infinite; transform-origin:center; transition:transform .2s ease,filter .2s ease; -webkit-tap-highlight-color:transparent; }
.whatsapp-float svg { display:block; width:31px; height:31px; flex:none; transform-origin:50% 54%; filter:drop-shadow(0 1px 1px rgba(0,0,0,.08)); animation:whatsappIconInvite 4.8s ease-in-out infinite; }
.whatsapp-float:hover,.whatsapp-float:focus-visible { transform:translateY(-3px) scale(1.04)!important; filter:brightness(1.04); outline:none; }
.whatsapp-float:hover svg,.whatsapp-float:focus-visible svg { animation:whatsappIconHello .55s ease-in-out both; }
.whatsapp-float:active { transform:translateY(0) scale(.92)!important; transition-duration:.08s; }
.whatsapp-float:focus-visible { box-shadow:0 0 0 4px var(--cream),0 0 0 7px rgba(37,211,102,.48),0 18px 38px rgba(21,128,61,.32); }
@keyframes whatsappPulse { 0%,100%{box-shadow:0 16px 35px rgba(21,128,61,.28),0 0 0 0 rgba(34,197,94,.22)} 50%{box-shadow:0 20px 42px rgba(21,128,61,.34),0 0 0 12px rgba(34,197,94,0)} }
@keyframes whatsappIconInvite { 0%,82%,100%{transform:rotate(0) scale(1)} 86%{transform:rotate(-8deg) scale(1.04)} 90%{transform:rotate(8deg) scale(1.04)} 94%{transform:rotate(-4deg) scale(1.02)} 97%{transform:rotate(3deg) scale(1.01)} }
@keyframes whatsappIconHello { 0%,100%{transform:rotate(0) scale(1)} 30%{transform:rotate(-9deg) scale(1.08)} 60%{transform:rotate(9deg) scale(1.08)} }
.whatsapp-tip { opacity:0; transform:translateX(8px); pointer-events:none; transition:.2s ease; }
.whatsapp-wrap:hover .whatsapp-tip,.whatsapp-wrap:focus-within .whatsapp-tip { opacity:1; transform:translateX(0); }
.mobile-menu { max-height:0; overflow:hidden; border-top-width:0!important; transition:max-height .3s ease; }
.mobile-menu.open { max-height:380px; border-top-width:1px!important; }
.trust-item { display:flex; min-height:108px; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(35,25,22,.07); border-radius:1.35rem; background:rgba(255,255,255,.74); padding:.65rem; }
.trust-item img { width:54px; height:54px; object-fit:cover; border-radius:1rem; mix-blend-mode:multiply; }
.trust-item p { margin-top:.35rem; font-size:.75rem; line-height:1.2; font-weight:800; }
.feature-card img,.mini-feature img { width:64px; height:64px; border-radius:1.15rem; object-fit:cover; mix-blend-mode:multiply; }
.spec-card img { width:68px; height:68px; border-radius:1.15rem; object-fit:cover; mix-blend-mode:multiply; }
.benefit-list li { position:relative; border:1px solid rgba(35,25,22,.08); border-radius:1.2rem; background:rgba(255,255,255,.68); padding:1rem 1rem 1rem 3rem; color:rgba(24,19,17,.62); line-height:1.65; }
.benefit-list li::before { content:""; position:absolute; top:1.15rem; left:1rem; width:1.2rem; height:1.2rem; border-radius:50%; background:radial-gradient(circle at center,var(--rose) 0 26%,#ffd4e1 28% 100%); box-shadow:0 5px 14px rgba(255,0,84,.18); }
.benefit-list strong { color:var(--ink); }
.mobile-order-bar { display:none; }
.courier-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.courier-grid img { width:100%; height:46px; object-fit:contain; border:1px solid rgba(35,25,22,.07); border-radius:.75rem; background:rgba(255,255,255,.72); padding:.35rem; }
@media (min-width:768px) {
  .menu-toggle { display:none; }
}
@media (min-width:640px) {
  .trust-item { min-height:126px; border-color:transparent; background:transparent; }
  .trust-item img { width:66px; height:66px; }
  .trust-item p { margin-top:.55rem; font-size:.875rem; }
  .feature-card img,.mini-feature img { width:76px; height:76px; }
}
@media (max-width:639px) {
  body.has-mobile-order-bar { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .promo-bar { height:17px; }
  .promo-bar-inner { height:17px; gap:.2rem; padding-block:.1rem; font-size:clamp(.47rem,2.15vw,.54rem); letter-spacing:.015em; line-height:1; }
  .promo-copy-full { display:none; }
  .promo-copy-mobile { display:inline; }
  .site-header { top:17px; }
  .site-header-inner { display:grid; height:42px; grid-template-columns:minmax(0,1fr) auto; gap:.4rem; padding-inline:.65rem; }
  .site-header .logo-mark { width:22px; height:33px; }
  .site-header .brand-lockup { gap:.4rem; }
  .site-header .brand-name { font-size:.68rem; letter-spacing:.09em; }
  .site-header .header-cta { min-height:36px; padding:.5rem .72rem; font-size:.58rem; letter-spacing:.025em; }
  .site-header .header-cta span { display:none; }
  .has-mobile-order-bar .site-header .header-cta { display:none; }
  .site-header .menu-toggle { width:40px; height:40px; }
  .site-main { padding-top:60px; }
  .mobile-hero { width:100%; max-width:100vw; padding-top:1.4rem; padding-bottom:3.5rem; }
  .mobile-hero-title { max-width:100%; overflow-wrap:break-word; font-size:clamp(2.1rem,10vw,2.75rem); line-height:.98; }
  .mobile-hero .eyebrow { letter-spacing:.16em; }
  .hero-mobile-product { display:grid; }
  .hero-desktop-media { display:none; }
  .hero-video { height:min(70dvh,500px); max-height:500px; aspect-ratio:auto; border-radius:1.65rem; }
  .hero-video-glow { inset:0; }
  .hero-video video { object-position:center 55%; }
  .trust-strip { padding-block:.75rem; }
  .trust-item { min-height:88px; border-radius:1.05rem; padding:.45rem; }
  .trust-item img { width:44px; height:44px; border-radius:.8rem; }
  .trust-item p { margin-top:.25rem; font-size:.68rem; }
  section { scroll-margin-top:64px; }
  section.px-4.py-20 { padding-top:4rem; padding-bottom:4rem; }
  .mobile-editorial-image { height:min(70dvh,430px); min-height:0; max-height:430px; border-radius:1.6rem; }
  .mobile-editorial-image figcaption p:last-child { font-size:2rem; }
  .quick-specs { padding-top:4rem; padding-bottom:4rem; }
  .feature-card { min-width:0; }
  .feature-card img,.mini-feature img { width:58px; height:58px; }
  .spec-card { display:grid; grid-template-columns:58px 1fr; column-gap:1rem; align-items:center; padding:1.15rem!important; }
  .spec-card img { grid-row:1 / span 2; width:58px; height:58px; }
  .spec-card h3 { margin-top:0!important; font-size:1.35rem; }
  .spec-card p { grid-column:2; margin-top:.25rem!important; font-size:.86rem; line-height:1.5; }
  .benefit-list li { padding:.9rem .9rem .9rem 2.75rem; font-size:.92rem; line-height:1.55; }
  .benefit-list li::before { top:1rem; left:.9rem; }
  .feature-card h3,.mini-feature h3 { line-height:1.05; }
  .feature-card p,.mini-feature p { line-height:1.45; }
  .offer-card { padding:.9rem; }
  .offer-card .text-right { min-width:74px; }
  #orderForm { border-radius:1.5rem; padding:1.15rem; }
  .delivery-choice-grid { grid-template-columns:1fr; gap:.5rem; }
  .delivery-choice { min-height:0; align-items:center; padding:.72rem .8rem; }
  .delivery-choice span { display:grid; width:100%; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.5rem; }
  .delivery-choice small { margin-top:0; text-align:right; }
  .delivery-fields { padding:.85rem; }
  .delivery-fields-grid { grid-template-columns:1fr; gap:.9rem; }
  .delivery-fields-grid .wide { grid-column:auto; }
  .review-panel { border-radius:1.5rem; padding:1.15rem; }
  .review-data > div { grid-template-columns:minmax(6.3rem,.75fr) minmax(0,1.25fr); padding:.62rem .72rem; font-size:.72rem; }
  .review-actions { grid-template-columns:1fr; }
  .review-actions #confirmOrder { grid-row:1; }
  #checkout { padding-top:4rem; padding-bottom:4rem; }
  main section { padding-right:1rem; padding-left:1rem; }
  main section > div { width:100%; max-width:100%; }
  main section a.cta-shine,main section button[type="submit"] { width:100%; min-height:48px; }
  input,button,a { max-width:100%; }
  .whatsapp-wrap { z-index:50; right:1rem; bottom:calc(1rem + env(safe-area-inset-bottom)); }
  body.has-mobile-order-bar .whatsapp-wrap { bottom:calc(96px + env(safe-area-inset-bottom)); }
  .whatsapp-wrap.is-suppressed { opacity:0; transform:translateY(8px) scale(.82); pointer-events:none; }
  .whatsapp-wrap a { width:52px!important; height:52px!important; }
  .whatsapp-wrap svg { width:27px; height:27px; }
  .mobile-order-bar { position:fixed; z-index:40; right:0; bottom:0; left:0; display:flex; width:100%; max-width:100vw; align-items:center; justify-content:space-between; gap:.75rem; overflow:hidden; border-top:1px solid rgba(255,255,255,.14); border-radius:1rem 1rem 0 0; background:#171412; padding:.7rem max(1rem,env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left)); color:white; box-shadow:0 -14px 36px rgba(24,19,17,.28); }
  .mobile-order-bar div { display:flex; flex-direction:column; line-height:1; }
  .mobile-order-bar span { color:#efb8c3; font-size:.6rem; font-weight:800; letter-spacing:.16em; }
  .mobile-order-bar strong { margin-top:.28rem; font-family:"DM Serif Display",Georgia,serif; font-size:1.35rem; }
  .mobile-order-bar a { display:flex; min-height:48px; max-width:64%; flex:0 1 auto; align-items:center; justify-content:center; border-radius:999px; background:var(--rose); padding:.75rem .9rem; font-size:clamp(.58rem,2.7vw,.72rem); font-weight:800; white-space:nowrap; color:white; box-shadow:0 8px 22px rgba(255,0,84,.28); }
  .courier-grid { max-width:430px; }
  .courier-grid img { height:52px; }
  .faq-list details,.policy-list details { padding:1.15rem!important; }
  .technology-hero-media { min-height:0!important; height:min(70dvh,460px); max-height:460px; }
  .tutorial-video { height:min(70dvh,500px); max-height:500px; aspect-ratio:auto; }
  .mobile-page-media { height:min(70dvh,480px); max-height:480px; }
  .mobile-page-media img { height:100%; width:100%; object-fit:cover; }
  .testimonial-card { border-radius:1.5rem; }
  .verified-badge { font-size:.58rem; }
  .reveal-pending[data-aos="fade-left"],.reveal-pending[data-aos="fade-right"] { transform:translateY(18px); }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }
