:root {
  --ch:#070B12; --ch2:#0D1420; --ch3:#151F30; --ch4:#202D42;
  --rg:#F47A38; --rg2:#C95720; --rg3:#FFAB78; --rg4:#FFE5D4;
  --gold:#D5B05E; --gold2:#EBCB82;
  --cream:#F5F1E9; --cream2:#E8E2D7; --cream3:#D4CCBD;
  --white:#FFF;
  --bdr:rgba(244,122,56,.2); --bdr2:rgba(244,122,56,.35); --bdrch:rgba(255,255,255,.06);
  --sh-sm:0 2px 20px rgba(0,0,0,.4); --sh-md:0 12px 40px rgba(0,0,0,.5); --sh-lg:0 28px 80px rgba(0,0,0,.6); --sh-rg:0 18px 45px rgba(244,122,56,.3);
  --FD:'Yeseva One',serif; --FB:'Josefin Sans',sans-serif; --FI:'Crimson Pro',serif;
  --ease:.42s cubic-bezier(.4,0,.2,1); --spring:.55s cubic-bezier(.34,1.56,.64,1);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--FB); background:var(--ch); color:var(--cream); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--ch2); }
::-webkit-scrollbar-thumb { background:var(--rg); border-radius:3px; }

body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='250' height='250' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* PRELOADER */
#preloader { position:fixed; inset:0; background:var(--ch); z-index:10000; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1.5rem; transition:opacity .6s ease,visibility .6s ease; }
#preloader.hidden { opacity:0; visibility:hidden; pointer-events:none; }
.pre-bag { font-size:4rem; color:var(--rg); animation:preBounce 1s infinite ease-in-out; filter:drop-shadow(0 10px 20px rgba(155,107,255,.4)); }
.pre-txt { font-family:var(--FD); font-size:1.5rem; color:var(--cream); letter-spacing:2px; }
.pre-bar { width:160px; height:3px; background:var(--ch3); border-radius:2px; overflow:hidden; position:relative; }
.pre-bar::after { content:''; position:absolute; left:0; top:0; height:100%; width:40%; background:linear-gradient(90deg,var(--rg),var(--gold2)); animation:preLoad 1.2s ease-in-out infinite; }
@keyframes preBounce { 0%,100%{transform:translateY(0) rotate(-5deg)} 50%{transform:translateY(-15px) rotate(5deg)} }
@keyframes preLoad { 0%{left:-40%} 100%{left:100%} }

/* NAV */
#nav { position:fixed; top:0; left:0; right:0; z-index:900; }
.nb { height:70px; display:flex; align-items:center; padding:0 3rem; gap:2rem; background:rgba(11,7,16,.96); backdrop-filter:blur(28px); border-bottom:1px solid var(--bdrch); transition:var(--ease); }
#nav.sc .nb { box-shadow:0 6px 40px rgba(0,0,0,.5),0 1px 0 var(--bdr); }
.logo { font-family:var(--FD); font-size:1.7rem; color:var(--cream); text-decoration:none; display:flex; align-items:center; gap:12px; flex-shrink:0; }
.logo-ring { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,var(--rg),var(--rg2)); display:flex; align-items:center; justify-content:center; font-size:1.6rem; color:var(--white); flex-shrink:0; box-shadow:0 0 24px rgba(155,107,255,.45); transition:var(--spring); }
.logo:hover .logo-ring { transform:rotate(20deg) scale(1.1); }
.nlinks { flex:1; display:flex; align-items:center; gap:.2rem; margin-left:60px; }
.na { font-family:var(--FB); font-size:.79rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(243,239,247,.45); text-decoration:none; padding:.42rem .85rem; border-radius:4px; transition:var(--ease); }
.na:hover, .na.active { color:var(--rg3); background:rgba(155,107,255,.1); }
.nright { display:flex; align-items:center; gap:.55rem; flex-shrink:0; }
.csell { font-family:var(--FB); font-size:.85rem; font-weight:600; background:var(--ch3); border:1px solid var(--bdrch); border-radius:6px; padding:.4rem .9rem; color:var(--rg3); cursor:pointer; outline:none; transition:var(--ease); }
.csell:hover { border-color:var(--bdr); background:var(--ch4); }
.ib { width:42px; height:42px; border-radius:10px; border:1px solid var(--bdrch); background:transparent; color:rgba(243,239,247,.6); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:var(--ease); position:relative; text-decoration:none; }
.ib:hover { border-color:var(--bdr); color:var(--rg3); background:rgba(155,107,255,.1); }
.ibadge { position:absolute; top:-5px; right:-5px; min-width:19px; height:19px; padding:0 4px; border-radius:10px; background:var(--rg); color:var(--ch); font-size:.6rem; font-weight:800; display:flex; align-items:center; justify-content:center; border:2px solid var(--ch); }
.ib.bounce { animation:cartBounce .6s cubic-bezier(.34,1.56,.64,1); }
@keyframes cartBounce { 0%,100%{transform:scale(1)} 30%{transform:scale(1.3) rotate(-10deg)} 60%{transform:scale(.9) rotate(10deg)} }

/* HERO */
#hero { position:relative; padding-top:70px; background:var(--ch); overflow:hidden; }
.hero-banner { width:100%; aspect-ratio:16/7; position:relative; overflow:hidden; background:linear-gradient(135deg,var(--ch2),var(--ch3)); display:flex; align-items:center; justify-content:center; }
.hero-banner img { width:100%; height:100%; object-fit:cover; display:block; animation:heroZoom 18s ease-in-out infinite alternate; }
@keyframes heroZoom { 0%{transform:scale(1) translateX(0)} 100%{transform:scale(1.08) translateX(-1%)} }
.hero-banner::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,7,16,0) 60%,rgba(11,7,16,.5) 100%); pointer-events:none; }
.hero-banner-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; background:linear-gradient(135deg,var(--ch2),var(--ch3),var(--ch4)); gap:1rem; }
.hero-banner-fallback .ring { width:80px; height:80px; border-radius:50%; border:2px solid var(--rg); display:flex; align-items:center; justify-content:center; font-size:2.5rem; animation:ringSpin 8s linear infinite; }
@keyframes ringSpin { to{transform:rotate(360deg)} }
.hero-banner-fallback h2 { font-family:var(--FD); font-size:clamp(2rem,5vw,4rem); color:var(--cream); letter-spacing:.05em; }
.hero-banner-fallback p { font-family:var(--FI); font-style:italic; color:rgba(243,239,247,.5); }
@media(max-width:900px){.hero-banner{aspect-ratio:16/9}}
@media(max-width:640px){.hero-banner{aspect-ratio:4/5}}

/* TICKER */
.ticker { background:linear-gradient(90deg,var(--rg2),var(--rg),var(--rg3),var(--gold),var(--rg)); background-size:300% 100%; animation:gradMove 8s linear infinite; padding:.7rem 0; overflow:hidden; }
@keyframes gradMove { 0%{background-position:0% 0} 100%{background-position:300% 0} }
.ticker-t { display:flex; animation:tk 32s linear infinite; width:max-content; }
.ticker-t:hover { animation-play-state:paused; }
.ti { white-space:nowrap; font-family:var(--FB); font-size:.8rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(11,7,16,.85); display:flex; align-items:center; padding:0 2.2rem; gap:2.2rem; }
.ti::after { content:'◆'; font-size:.4rem; opacity:.6; }
@keyframes tk { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* PRODUCT SECTIONS */
#prod-root { background:var(--ch); position:relative; }
.cat-section { padding:7rem 0; position:relative; overflow:hidden; }
.cat-section:nth-child(even) { background:var(--ch2); }
.sec-hdr { padding:0 4rem 3rem; max-width:1440px; margin:0 auto; display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.sec-hdr-left { flex:1; min-width:300px; }
.sec-eyebrow { font-family:var(--FB); font-size:.75rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; display:flex; align-items:center; gap:10px; margin-bottom:.7rem; }
.sec-eyebrow::before { content:''; width:28px; height:2px; border-radius:1px; }
.sec-name { font-family:var(--FD); font-size:clamp(2.2rem,4vw,5rem); color:var(--cream); line-height:.9; letter-spacing:-.01em; }
.sec-name em { font-style:italic; font-family:var(--FI); color:var(--rg3); }
.sec-sub { font-family:var(--FI); font-style:italic; font-size:1.15rem; color:rgba(243,239,247,.4); margin-top:.5rem; }
.lyt-grid { max-width:1440px; margin:0 auto; padding:0 4rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
@media(max-width:900px){.lyt-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.lyt-grid{grid-template-columns:1fr}}
.lyt-scroll { position:relative; padding:0 0 4rem; }
.lyt-scroll::before, .lyt-scroll::after { content:''; position:absolute; top:0; bottom:4rem; width:120px; z-index:10; pointer-events:none; }
.lyt-scroll::before { left:0; background:linear-gradient(90deg,var(--ch),transparent); }
.lyt-scroll::after { right:0; background:linear-gradient(270deg,var(--ch),transparent); }
.cat-section:nth-child(even) .lyt-scroll::before { background:linear-gradient(90deg,var(--ch2),transparent); }
.cat-section:nth-child(even) .lyt-scroll::after { background:linear-gradient(270deg,var(--ch2),transparent); }
.scroll-track { display:flex; gap:1.4rem; padding:1rem 4rem 1.5rem; width:max-content; animation:hscroll var(--dur,60s) linear infinite; }
.scroll-track:hover { animation-play-state:paused; }
@keyframes hscroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.lyt-masonry { max-width:1440px; margin:0 auto; padding:0 4rem; columns:3; column-gap:1.6rem; }
.lyt-masonry>* { break-inside:avoid; margin-bottom:1.6rem; display:inline-block; width:100%; }
@media(max-width:900px){.lyt-masonry{columns:2}}
@media(max-width:640px){.lyt-masonry{columns:1}}
.lyt-featured { max-width:1440px; margin:0 auto; padding:0 4rem; display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; align-items:start; }
.feat-main { grid-row:span 2; }
.feat-mini-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media(max-width:900px){.lyt-featured{grid-template-columns:1fr}.feat-main{grid-row:auto}}
.lyt-zigzag { max-width:1200px; margin:0 auto; padding:0 4rem; display:flex; flex-direction:column; gap:1.6rem; }
.zig-row { display:grid; grid-template-columns:1fr 1.2fr; gap:2rem; align-items:center; background:var(--ch3); border:1px solid var(--bdrch); border-radius:18px; padding:1.4rem; transition:var(--ease); cursor:pointer; }
.zig-row:hover { border-color:var(--bdr); transform:translateY(-4px); box-shadow:var(--sh-md); }
.zig-row:nth-child(even) { grid-template-columns:1.2fr 1fr; }
.zig-row:nth-child(even) .zig-img { order:2; }
.zig-img { height:200px; border-radius:14px; background:var(--ch4); display:flex; align-items:center; justify-content:center; padding:1rem; overflow:hidden; }
.zig-img img { max-width:100%; max-height:100%; object-fit:contain; transition:transform .5s; }
.zig-row:hover .zig-img img { transform:scale(1.08); }
@media(max-width:700px){.zig-row,.zig-row:nth-child(even){grid-template-columns:1fr}.zig-row:nth-child(even) .zig-img{order:0}}
.lyt-flip { max-width:1440px; margin:0 auto; padding:0 4rem; display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
@media(max-width:1100px){.lyt-flip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.lyt-flip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.lyt-flip{grid-template-columns:1fr}}
.flip-card { perspective:1200px; height:340px; }
.flip-inner { position:relative; width:100%; height:100%; transition:transform .8s cubic-bezier(.4,0,.2,1); transform-style:preserve-3d; }
.flip-card:hover .flip-inner { transform:rotateY(180deg); }
.flip-front, .flip-back { position:absolute; inset:0; backface-visibility:hidden; border-radius:18px; overflow:hidden; border:1px solid var(--bdrch); }
.flip-front { background:var(--ch3); display:flex; flex-direction:column; }
.flip-front-img { height:60%; background:var(--ch4); display:flex; align-items:center; justify-content:center; padding:1.4rem; }
.flip-front-img img { max-width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 8px 20px rgba(0,0,0,.5)); }
.flip-front-body { padding:1rem 1.2rem 1.2rem; }
.flip-back { background:linear-gradient(135deg,var(--ch3),var(--ch4)); transform:rotateY(180deg); padding:1.6rem; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:.9rem; }
.lyt-list { max-width:1200px; margin:0 auto; padding:0 4rem; display:flex; flex-direction:column; gap:.9rem; }
.list-row { display:grid; grid-template-columns:80px 1fr auto auto; gap:1.4rem; align-items:center; background:var(--ch3); border:1px solid var(--bdrch); border-radius:14px; padding:1rem 1.4rem; transition:var(--ease); cursor:pointer; }
.list-row:hover { border-color:var(--bdr); background:var(--ch4); transform:translateX(8px); }
.list-row-img { width:80px; height:80px; border-radius:10px; background:var(--ch4); display:flex; align-items:center; justify-content:center; padding:8px; }
.list-row-img img { max-width:100%; max-height:100%; object-fit:contain; }
@media(max-width:640px){.list-row{grid-template-columns:60px 1fr;gap:1rem}.list-row .lr-price,.list-row .lr-add{grid-column:1/-1;justify-self:end}}
.lyt-bento { max-width:1440px; margin:0 auto; padding:0 4rem; display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; gap:1.2rem; }
.bento-card { grid-column:span 1; grid-row:span 1; border-radius:14px; overflow:hidden; border:1px solid var(--bdrch); background:var(--ch3); position:relative; cursor:pointer; transition:var(--ease); }
.bento-card.big { grid-column:span 2; grid-row:span 2; }
.bento-card.tall { grid-row:span 2; }
.bento-card.wide { grid-column:span 2; }
.bento-card:hover { transform:translateY(-4px); border-color:var(--bdr); box-shadow:var(--sh-md); }
.bento-img { position:absolute; inset:0; background:var(--ch4); display:flex; align-items:center; justify-content:center; padding:1rem; z-index:1; }
.bento-img img { max-width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 6px 16px rgba(0,0,0,.4)); }
.bento-overlay { position:absolute; left:0; right:0; bottom:0; background:linear-gradient(transparent,rgba(11,7,16,.95)); padding:1rem; z-index:2; transform:translateY(40%); transition:transform .4s; }
.bento-card:hover .bento-overlay { transform:translateY(0); }
@media(max-width:900px){.lyt-bento{grid-template-columns:repeat(2,1fr)}.bento-card.big{grid-column:span 2}.bento-card.wide{grid-column:span 2}}

/* PRODUCT CARD */
.pcard { background:var(--ch3); border:1px solid var(--bdrch); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; position:relative; transition:var(--ease); cursor:pointer; }
.pcard:hover { transform:translateY(-6px); border-color:var(--bdr); box-shadow:var(--sh-md); }
.pcard-img { height:200px; background:var(--ch4); display:flex; align-items:center; justify-content:center; padding:1.4rem; position:relative; overflow:hidden; }
.pcard-img img { max-width:100%; max-height:100%; object-fit:contain; transition:transform .5s; filter:drop-shadow(0 8px 20px rgba(0,0,0,.4)); }
.pcard:hover .pcard-img img { transform:scale(1.08); }
.pcard-badge { position:absolute; top:12px; left:12px; font-family:var(--FB); font-size:.55rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.25rem .7rem; border-radius:4px; z-index:2; }
.pcard-wish { position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:9px; background:rgba(11,7,16,.7); border:1px solid var(--bdrch); color:rgba(243,239,247,.5); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.8rem; transition:var(--ease); z-index:2; backdrop-filter:blur(8px); }
.pcard-wish:hover, .pcard-wish.on { background:rgba(155,107,255,.25); color:var(--rg3); border-color:var(--bdr); }
.pcard-body { padding:1rem 1.2rem 1.2rem; flex:1; display:flex; flex-direction:column; gap:.4rem; }
.pcard-cat { font-family:var(--FB); font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.7; }
.pcard-name { font-family:var(--FI); font-style:italic; font-size:1.05rem; font-weight:600; color:var(--cream); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pcard-desc { font-family:var(--FI); font-size:.85rem; color:rgba(243,239,247,.45); line-height:1.4; margin-top:.2rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-style:italic; }
.pcard-foot { display:flex; align-items:center; justify-content:space-between; margin-top:.6rem; }
.pcard-price { font-family:var(--FD); font-size:1.5rem; }
.pcard-add { width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,var(--rg),var(--rg2)); border:none; color:var(--ch); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:var(--spring); box-shadow:var(--sh-rg); }
.pcard-add:hover { transform:scale(1.15) rotate(90deg); }
.pcard-add:active { transform:scale(.9); }
.feat-card { background:var(--ch3); border:1px solid var(--bdrch); border-radius:20px; overflow:hidden; display:grid; grid-template-rows:1fr auto; height:100%; transition:var(--ease); cursor:pointer; }
.feat-card:hover { border-color:var(--bdr); box-shadow:var(--sh-lg); }
.feat-img { height:340px; background:var(--ch4); display:flex; align-items:center; justify-content:center; padding:2rem; position:relative; overflow:hidden; }
.feat-img img { max-width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 12px 30px rgba(0,0,0,.5)); }
.feat-body { padding:1.6rem; }
.mini-card { background:var(--ch3); border:1px solid var(--bdrch); border-radius:14px; overflow:hidden; transition:var(--ease); cursor:pointer; }
.mini-card:hover { border-color:var(--bdr); transform:translateY(-3px); }
.mini-img { height:100px; background:var(--ch4); display:flex; align-items:center; justify-content:center; padding:.8rem; }
.mini-img img { max-width:100%; max-height:100%; object-fit:contain; }
.mini-body { padding:.6rem .8rem .8rem; }

/* ABOUT */
#about { background:var(--ch2); padding:9rem 0; position:relative; overflow:hidden; }
#about::before { content:'ABOUT'; position:absolute; right:-2rem; top:50%; transform:translateY(-50%); font-family:var(--FD); font-size:22rem; color:rgba(255,255,255,.012); line-height:1; pointer-events:none; }
.about-wrap { max-width:1380px; margin:0 auto; padding:0 4rem; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-vis { position:relative; perspective:1000px; }
.ab-bg-circle { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:450px; height:450px; border:2px dashed rgba(155,107,255,.15); border-radius:50%; animation:spinSlow 20s linear infinite; z-index:0; }
@keyframes spinSlow { to{transform:translate(-50%,-50%) rotate(360deg)} }
.ab-big { width:100%; height:520px; object-fit:cover; border-radius:20px; border:1px solid var(--bdrch); box-shadow:var(--sh-lg); transform:rotateY(-5deg) rotateX(5deg); transition:transform .5s ease; position:relative; z-index:1; }
.about-vis:hover .ab-big { transform:rotateY(0deg) rotateX(0deg); }
.ab-sm { position:absolute; bottom:2rem; right:-2rem; width:200px; height:280px; object-fit:cover; border-radius:14px; border:2px solid var(--rg); box-shadow:0 0 50px rgba(155,107,255,.25),var(--sh-lg); transition:transform .45s; z-index:2; }
.about-vis:hover .ab-sm { transform:translate(-5px,-10px) rotate(2deg); }
.ab-chip { position:absolute; top:2rem; left:-1.5rem; background:linear-gradient(135deg,var(--rg),var(--rg2)); border-radius:14px; padding:1.2rem 1.6rem; box-shadow:var(--sh-rg); z-index:2; animation:floatY 4s ease-in-out infinite; }
@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.abn { font-family:var(--FD); font-size:2.4rem; color:var(--ch); display:block; line-height:1; }
.abl { font-family:var(--FB); font-size:.55rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(11,7,16,.7); margin-top:3px; display:block; }
.about-txt { display:flex; flex-direction:column; justify-content:center; }
.about-h { font-family:var(--FD); font-size:clamp(2.5rem,4vw,5rem); color:var(--cream); line-height:.92; margin-bottom:1.8rem; position:relative; }
.about-h em { font-style:italic; font-family:var(--FI); color:var(--rg3); }
.about-h::after { content:''; position:absolute; left:0; bottom:-.5rem; width:80px; height:3px; background:linear-gradient(90deg,var(--rg),transparent); border-radius:2px; }
.about-p { font-family:var(--FI); font-size:1.15rem; color:rgba(243,239,247,.5); line-height:1.9; margin-bottom:3rem; max-width:450px; font-style:italic; }
.about-items { display:flex; flex-direction:column; gap:1rem; margin-bottom:3rem; }
.ai { display:flex; align-items:flex-start; gap:1.1rem; padding:1rem; border-radius:12px; transition:var(--ease); border:1px solid transparent; }
.ai:hover { background:rgba(155,107,255,.06); border-color:var(--bdrch); transform:translateX(10px); }
.ai-ic { width:46px; height:46px; border-radius:12px; flex-shrink:0; background:rgba(155,107,255,.12); border:1px solid var(--bdr); color:var(--rg3); display:flex; align-items:center; justify-content:center; font-size:1rem; transition:var(--spring); }
.ai:hover .ai-ic { background:var(--rg); color:var(--ch); border-color:var(--rg); transform:scale(1.1) rotate(-5deg); }
.ai-t { font-family:var(--FB); font-weight:700; font-size:1rem; color:var(--cream); margin-bottom:3px; }
.ai-d { font-family:var(--FI); font-size:.95rem; color:rgba(243,239,247,.45); line-height:1.55; font-style:italic; }
@media(max-width:900px){.about-wrap{grid-template-columns:1fr}.ab-big{transform:none;height:400px}.about-vis:hover .ab-big{transform:none}}

/* WHY CHOOSE US */
#why { background:#f4f5f8; padding:8rem 0; overflow:hidden; position:relative; color:#333; }
.why-wrap { max-width:1300px; margin:0 auto; padding:0 2rem; }
.chevron-flow { display:flex; justify-content:center; align-items:center; margin-top:4rem; position:relative; padding:2rem 0; }
.ch-step { flex:1; max-width:220px; display:flex; flex-direction:column; align-items:center; position:relative; margin-left:-35px; }
.ch-step:first-child { margin-left:0; }
.ch-desc { width:100%; text-align:center; padding:0 0.8rem; position:absolute; left:50%; transform:translateX(-50%); }
.ch-desc.top { bottom:100%; margin-bottom:1.5rem; }
.ch-desc.bottom { top:100%; margin-top:1.5rem; }
.ch-desc h3 { font-family:var(--FB); font-size:1.15rem; font-weight:700; margin-bottom:0.4rem; }
.ch-desc p { font-family:var(--FB); font-size:0.82rem; color:#666; line-height:1.45; }
.ch-step.orange .ch-desc h3 { color:#f28226; }
.ch-step.yellow .ch-desc h3 { color:#f6b834; }
.ch-step.green .ch-desc h3 { color:#8cb662; }
.ch-step.darkblue .ch-desc h3 { color:#3b5a82; }
.ch-step.lightblue .ch-desc h3 { color:#3bb2e8; }
.ch-chevron { width:100%; height:130px; position:relative; display:flex; align-items:center; justify-content:center; clip-path:polygon(0% 0%,75% 0%,100% 50%,75% 100%,0% 100%,25% 50%); transition:transform 0.3s ease; cursor:pointer; }
.ch-step:hover .ch-chevron { transform:translateY(-4px); }
.ch-title { font-family:var(--FB); font-size:1rem; font-weight:700; text-align:center; line-height:1.25; z-index:2; padding-left:20px; }
.ch-node { width:64px; height:64px; border-radius:50%; background:#fff; position:absolute; display:flex; align-items:center; justify-content:center; font-size:1.4rem; box-shadow:0 4px 12px rgba(0,0,0,0.12); z-index:3; }
.ch-step.node-top .ch-node { top:-20px; left:20px; }
.ch-step.node-bottom .ch-node { bottom:-20px; left:20px; }
.ch-step.orange .ch-chevron{background:#f28226}.ch-step.orange .ch-title{color:#000}.ch-step.orange .ch-node{color:#f28226}
.ch-step.yellow .ch-chevron{background:#f6b834}.ch-step.yellow .ch-title{color:#000}.ch-step.yellow .ch-node{color:#f6b834}
.ch-step.green .ch-chevron{background:#8cb662}.ch-step.green .ch-title{color:#000}.ch-step.green .ch-node{color:#8cb662}
.ch-step.darkblue .ch-chevron{background:#3b5a82}.ch-step.darkblue .ch-title{color:#fff}.ch-step.darkblue .ch-node{color:#3b5a82}
.ch-step.lightblue .ch-chevron{background:#3bb2e8}.ch-step.lightblue .ch-title{color:#000}.ch-step.lightblue .ch-node{color:#3bb2e8}
@media(max-width:992px){.chevron-flow{flex-direction:column;gap:2.5rem}.ch-step{margin-left:0;max-width:100%;width:100%}.ch-desc{position:relative;left:auto;transform:none;margin:1rem 0!important}.ch-chevron{clip-path:none;border-radius:14px;height:80px}.ch-step.node-top .ch-node,.ch-step.node-bottom .ch-node{position:relative;top:auto;bottom:auto;left:auto;margin-right:15px}.ch-title{padding-left:0}}

/* REVIEWS */
#reviews { background:var(--rg2); padding:9rem 0; position:relative; overflow:hidden; }
#reviews::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(11,7,16,.1) 1px,transparent 1px); background-size:28px 28px; }
.rev-wrap { max-width:1380px; margin:0 auto; padding:0 4rem; position:relative; z-index:1; }
.rev-marq { display:flex; gap:1.4rem; animation:hscroll 50s linear infinite; width:max-content; margin-bottom:1.4rem; }
.rev-marq.r2 { animation-duration:60s; animation-direction:reverse; }
.rev-marq:hover { animation-play-state:paused; }
.rv { flex:0 0 380px; background:rgba(11,7,16,.2); backdrop-filter:blur(12px); border:1px solid rgba(11,7,16,.15); border-radius:18px; padding:2rem; transition:var(--ease); }
.rv:hover { background:rgba(11,7,16,.3); transform:translateY(-5px); }
.rv-qt { font-family:var(--FD); font-size:4rem; color:rgba(11,7,16,.2); line-height:1; display:block; margin-bottom:.4rem; }
.rv-hd-row { display:flex; align-items:center; gap:.9rem; margin-bottom:1.2rem; }
.rv-av { width:46px; height:46px; border-radius:50%; background:var(--ch); display:flex; align-items:center; justify-content:center; font-family:var(--FD); font-size:.95rem; color:var(--rg3); border:2px solid rgba(11,7,16,.25); }
.rv-nm { font-family:var(--FB); font-weight:700; font-size:.95rem; color:var(--ch); }
.rv-rl { font-family:var(--FB); font-size:.62rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(11,7,16,.55); }
.rv-txt { font-family:var(--FI); font-style:italic; font-size:1.05rem; color:rgba(11,7,16,.8); line-height:1.7; }
.rv-prod { font-family:var(--FB); font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ch); margin-top:1rem; opacity:.6; }

/* FAQ */
#faq { background:var(--ch2); padding:9rem 0; }
.faq-wrap { max-width:1380px; margin:0 auto; padding:0 4rem; }
.faq-g { display:grid; grid-template-columns:1fr 1.4fr; gap:5rem; align-items:start; }
.faq-left-h { font-family:var(--FD); font-size:clamp(2.8rem,5vw,5rem); color:var(--cream); line-height:.9; margin-bottom:1.2rem; }
.faq-left-h em { font-style:italic; font-family:var(--FI); color:var(--rg3); }
.faq-left-p { font-family:var(--FI); font-style:italic; font-size:1.1rem; color:rgba(243,239,247,.4); line-height:1.85; margin-bottom:3rem; }
.fq { background:var(--ch3); border:1px solid var(--bdrch); border-radius:12px; overflow:hidden; margin-bottom:.8rem; transition:var(--ease); }
.fq.op { border-color:var(--bdr); box-shadow:0 0 24px rgba(155,107,255,.1); }
.fq-q { padding:1.4rem 1.6rem; display:flex; justify-content:space-between; align-items:center; cursor:pointer; gap:1rem; transition:.3s; }
.fq-q:hover { background:rgba(255,255,255,.02); }
.fq-qt { font-family:var(--FB); font-weight:700; font-size:.95rem; color:var(--cream); flex:1; }
.fq.op .fq-qt { color:var(--rg3); }
.fq-ic { width:30px; height:30px; border:1.5px solid var(--bdrch); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:.75rem; color:rgba(243,239,247,.4); transition:var(--spring); background:var(--ch4); }
.fq.op .fq-ic { background:var(--rg); color:var(--ch); border-color:var(--rg); transform:rotate(45deg); }
.fq-a { max-height:0; overflow:hidden; transition:max-height .4s ease,padding .3s; }
.fq.op .fq-a { max-height:220px; padding:0 1.6rem 1.4rem; }
.fq-a p { font-family:var(--FI); font-style:italic; font-size:.98rem; color:rgba(243,239,247,.45); line-height:1.75; }
@media(max-width:900px){.faq-g{grid-template-columns:1fr;gap:3rem}}

/* SUBSCRIBE */
#subscribe { background:var(--ch); padding:9rem 0; position:relative; overflow:hidden; }
#subscribe::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:900px; height:900px; border-radius:50%; background:radial-gradient(circle,rgba(155,107,255,.08),transparent 60%); pointer-events:none; animation:subPulse 6s ease-in-out infinite; }
@keyframes subPulse { 0%,100%{opacity:.6;transform:translate(-50%,-50%) scale(1)} 50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)} }
.sub-particles { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.sub-particle { position:absolute; width:8px; height:8px; background:var(--rg); border-radius:50%; opacity:.3; animation:floatUp linear infinite; }
@keyframes floatUp { 0%{transform:translateY(100vh) translateX(0) scale(0);opacity:0} 10%{opacity:.6} 90%{opacity:.4} 100%{transform:translateY(-100px) translateX(50px) scale(1);opacity:0} }
.sub-inner { position:relative; z-index:2; max-width:680px; margin:0 auto; text-align:center; padding:0 2rem; }
.sub-eyebrow { font-family:var(--FB); font-size:.8rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:rgba(155,107,255,.7); display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:1.2rem; animation:subFade .8s .1s both; }
.sub-eyebrow::before, .sub-eyebrow::after { content:''; display:block; width:36px; height:1px; background:linear-gradient(90deg,transparent,rgba(155,107,255,.5)); }
.sub-eyebrow::after { background:linear-gradient(90deg,rgba(155,107,255,.5),transparent); }
.sub-h { font-family:var(--FD); font-size:clamp(3rem,6.5vw,6rem); color:var(--cream); line-height:.85; margin-bottom:1rem; animation:subFade .8s .2s both; }
.sub-h em { font-style:italic; font-family:var(--FI); color:var(--rg3); position:relative; display:inline-block; }
.sub-h em::after { content:''; position:absolute; left:0; right:0; bottom:.05em; height:6px; background:linear-gradient(90deg,var(--rg),var(--gold2)); border-radius:3px; transform:scaleX(0); transform-origin:left; animation:emUnderline 1s .8s both; }
@keyframes emUnderline { to{transform:scaleX(1)} }
@keyframes subFade { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
.sub-d { font-family:var(--FI); font-style:italic; font-size:1.15rem; color:rgba(243,239,247,.45); margin-bottom:3rem; line-height:1.75; animation:subFade .8s .3s both; }
.sub-box { background:var(--ch2); border:1px solid var(--bdrch); border-radius:20px; padding:2.5rem; box-shadow:var(--sh-md); animation:subFade .8s .4s both; position:relative; overflow:hidden; }
.sub-box::before { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:conic-gradient(from 0deg,transparent,rgba(155,107,255,.08),transparent 30%); animation:subBoxSpin 8s linear infinite; z-index:0; }
.sub-box>* { position:relative; z-index:1; }
@keyframes subBoxSpin { to{transform:rotate(360deg)} }
.sfl { font-family:var(--FB); font-size:.65rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(243,239,247,.4); display:block; margin-bottom:.4rem; }
.sfi { background:var(--ch3); border:1px solid var(--bdrch); border-radius:8px; padding:.8rem 1.1rem; color:var(--cream); font-family:var(--FB); font-size:.9rem; width:100%; outline:none; transition:.3s; }
.sfi:focus { border-color:var(--rg); background:var(--ch4); box-shadow:0 0 0 3px rgba(155,107,255,.15),0 0 20px rgba(155,107,255,.2); }
.sfi::placeholder { color:rgba(243,239,247,.25); }
.sfrow { display:grid; grid-template-columns:1fr 1fr; gap:.95rem; }
.sfg { display:flex; flex-direction:column; gap:.35rem; }
.sfck { display:flex; align-items:flex-start; gap:.65rem; }
.sfck input { accent-color:var(--rg); width:16px; height:16px; flex-shrink:0; margin-top:3px; }
.sfck label { font-family:var(--FB); font-size:.8rem; color:rgba(243,239,247,.4); line-height:1.55; }
.btn-sub { background:linear-gradient(135deg,var(--rg),var(--rg2)); color:var(--ch); border:none; padding:1rem; border-radius:8px; font-family:var(--FB); font-weight:700; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:var(--ease); box-shadow:var(--sh-rg); position:relative; overflow:hidden; }
.btn-sub::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,var(--rg3),var(--rg)); opacity:0; transition:.3s; }
.btn-sub span { position:relative; z-index:1; }
.btn-sub:hover { transform:translateY(-2px); box-shadow:0 18px 50px rgba(155,107,255,.5); }
.btn-sub:hover::before { opacity:1; }
.btn-sub.success { background:linear-gradient(135deg,#7BC8A4,#5BA884) !important; animation:subSuccess .6s; }
@keyframes subSuccess { 0%{transform:scale(1)} 50%{transform:scale(1.05)} 100%{transform:scale(1)} }
.sub-ul { font-family:var(--FI); font-size:.85rem; color:rgba(243,239,247,.3); margin-top:1rem; font-style:italic; }
.sub-ul a { color:var(--rg3); cursor:pointer; font-weight:600; text-decoration:none; }
@media(max-width:640px){.sfrow{grid-template-columns:1fr}}

/* CONTACT */
#contact { background:var(--ch2); padding:9rem 0; }
.con-wrap { max-width:1380px; margin:0 auto; padding:0 4rem; }
.con-g { display:grid; grid-template-columns:1fr 1.8fr; gap:5rem; align-items:start; }
.con-info-h { font-family:var(--FD); font-size:clamp(2rem,3.5vw,4rem); color:var(--cream); margin-bottom:2.5rem; line-height:.95; }
.ci { display:flex; gap:1.1rem; margin-bottom:1.6rem; align-items:flex-start; padding:1rem; border-radius:12px; transition:var(--ease); }
.ci:hover { background:rgba(155,107,255,.05); }
.ci-ic { width:48px; height:48px; flex-shrink:0; background:rgba(155,107,255,.1); border:1px solid var(--bdr); color:var(--rg3); display:flex; align-items:center; justify-content:center; font-size:.95rem; border-radius:12px; transition:var(--spring); }
.ci:hover .ci-ic { background:var(--rg); color:var(--ch); border-color:var(--rg); transform:scale(1.1) rotate(5deg); }
.ci-l { font-family:var(--FB); font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(243,239,247,.35); margin-bottom:4px; }
.ci-v { font-family:var(--FB); font-size:.98rem; color:var(--cream); }
.con-fb { background:var(--ch3); border:1px solid var(--bdrch); border-radius:20px; padding:2.8rem; box-shadow:var(--sh-md); }
.con-fb h4 { font-family:var(--FD); font-size:2rem; color:var(--cream); margin-bottom:2rem; }
.cfl { font-family:var(--FB); font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(243,239,247,.35); display:block; margin-bottom:.4rem; }
.cfi { background:var(--ch4); border:1px solid var(--bdrch); border-radius:8px; padding:.8rem 1.1rem; color:var(--cream); font-family:var(--FB); font-size:.95rem; width:100%; outline:none; transition:.3s; }
.cfi:focus { border-color:var(--rg); background:var(--ch3); box-shadow:0 0 0 3px rgba(155,107,255,.1); }
.cfi::placeholder { color:rgba(243,239,247,.22); }
.cfrow { display:grid; grid-template-columns:1fr 1fr; gap:.95rem; }
@media(max-width:900px){.con-g{grid-template-columns:1fr;gap:3rem}}
@media(max-width:640px){.cfrow{grid-template-columns:1fr}}

/* FOOTER */
footer { background:var(--ch2); border-top:1px solid var(--bdrch); }
.f-strip { height:3px; background:linear-gradient(90deg,var(--rg2),var(--rg),var(--rg3),var(--gold2),var(--rg)); background-size:300% 100%; animation:gradMove 6s linear infinite; }
.f-main { max-width:1380px; margin:0 auto; padding:5rem 4rem 3.5rem; display:grid; grid-template-columns:2fr 1.2fr 1fr 1fr; gap:4.5rem; border-bottom:1px solid var(--bdrch); }
@media(max-width:900px){.f-main{grid-template-columns:1fr 1fr;gap:3rem}}
@media(max-width:640px){.f-main{grid-template-columns:1fr;padding:4rem 1.5rem 2.5rem}}
.f-brand { font-family:var(--FD); font-size:1.7rem; color:var(--cream); margin-bottom:1rem; display:flex; align-items:center; gap:12px; }
.f-brand-ring { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--rg),var(--rg2)); display:flex; align-items:center; justify-content:center; font-size:1.6rem; color:var(--ch); }
.f-desc { font-family:var(--FI); font-style:italic; font-size:1rem; color:rgba(243,239,247,.35); line-height:1.82; max-width:330px; margin-bottom:1.8rem; }
.fch { font-family:var(--FB); font-size:.92rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(243,239,247,.75); margin-bottom:1.3rem; }
.flks { display:flex; flex-direction:column; gap:.65rem; }
.flk { font-family:var(--FI); font-style:italic; font-size:1.1rem; color:rgba(243,239,247,.4); cursor:pointer; transition:.3s; text-decoration:none; font-weight:400; }
.flk:hover { color:var(--rg3); padding-left:5px; }
.f-bot { max-width:1380px; margin:0 auto; padding:1.4rem 4rem; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1rem; }
.f-copy { font-family:var(--FB); font-size:.9rem; color:rgba(243,239,247,.6); letter-spacing:.06em; }
@media(max-width:640px){.f-bot{padding:1.4rem 1.5rem}}

/* DRAWERS */
.ov { position:fixed; inset:0; background:rgba(0,0,0,.85); backdrop-filter:blur(16px); opacity:0; pointer-events:none; transition:.32s; z-index:2000; }
.ov.open { opacity:1; pointer-events:all; }
.drawer { position:fixed; top:0; right:0; bottom:0; z-index:2001; width:430px; max-width:95vw; background:var(--ch2); border-left:1px solid var(--bdrch); transform:translateX(100%); transition:transform .44s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; box-shadow:-20px 0 60px rgba(0,0,0,.5); }
.drawer.open { transform:translateX(0); }
.dr-h { padding:1.6rem; border-bottom:1px solid var(--bdrch); display:flex; justify-content:space-between; align-items:center; background:var(--ch3); }
.dr-title { font-family:var(--FD); font-size:1.3rem; color:var(--cream); }
.dr-x { width:36px; height:36px; border-radius:9px; border:1px solid var(--bdrch); background:var(--ch4); color:rgba(243,239,247,.4); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.88rem; transition:var(--ease); }
.dr-x:hover { background:rgba(155,107,255,.15); color:var(--rg3); border-color:var(--bdr); }
.dr-body { flex:1; overflow-y:auto; padding:1.6rem; }
.dr-item { display:flex; gap:1rem; align-items:center; padding:.9rem 0; border-bottom:1px solid var(--bdrch); }
.dr-img { width:68px; height:68px; flex-shrink:0; background:var(--ch3); border-radius:12px; display:flex; align-items:center; justify-content:center; padding:8px; overflow:hidden; border:1px solid var(--bdrch); }
.dr-img img { max-width:100%; max-height:100%; object-fit:contain; }
.dr-nm { font-family:var(--FB); font-weight:600; font-size:.85rem; color:var(--cream); margin-bottom:4px; line-height:1.3; }
.dr-pr { font-family:var(--FD); font-size:1.1rem; color:var(--rg3); }
.dr-rm { background:var(--ch4); border:1px solid var(--bdrch); width:32px; height:32px; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.72rem; color:rgba(243,239,247,.4); transition:var(--ease); margin-left:auto; flex-shrink:0; }
.dr-rm:hover { background:rgba(155,107,255,.15); color:var(--rg3); border-color:var(--bdr); }
.dr-foot { padding:1.6rem; border-top:1px solid var(--bdrch); background:var(--ch3); }
.empty-s { text-align:center; padding:4rem; color:rgba(243,239,247,.3); }
.empty-s i { font-size:3rem; margin-bottom:1.2rem; display:block; opacity:.2; }
.empty-s p { font-family:var(--FI); font-style:italic; font-size:1.05rem; }

/* POLICIES (page layout) */
.pol-page { padding:9rem 4rem 4rem; max-width:980px; margin:0 auto; }
.pol h2 { font-family:var(--FD); font-size:2.5rem; color:var(--cream); margin-bottom:.5rem; text-align:left; position:relative; padding-bottom:1rem; border-bottom:1px solid var(--bdrch); }
.pol h2::after { content:''; position:absolute; left:0; bottom:-1px; width:80px; height:2px; background:var(--rg); }
.pol .pol-intro { font-family:var(--FI); font-style:italic; font-size:1.1rem; color:rgba(243,239,247,.5); line-height:1.7; margin:1.5rem 0 2.5rem; }
.pol h3 { font-family:var(--FB); font-size:.95rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--rg); margin:2rem 0 .8rem; display:flex; align-items:center; gap:10px; }
.pol h3::before { content:''; width:6px; height:6px; background:var(--rg); border-radius:50%; box-shadow:0 0 10px var(--rg); }
.pol p, .pol li { font-family:var(--FI); font-size:1.05rem; color:rgba(243,239,247,.55); line-height:1.8; margin-bottom:.8rem; font-style:italic; text-align:left; }
.pol ul { padding-left:1.6rem; margin:1rem 0; }
.pol ul li { margin-bottom:.6rem; list-style-type:none; position:relative; padding-left:1.2rem; }
.pol ul li::before { content:'◆'; position:absolute; left:-.5rem; top:0; color:var(--rg); font-size:.7rem; font-style:normal; }
@media(max-width:640px){.pol-page{padding:7rem 1.5rem 3rem}}

/* CHECKOUT STEPPER */
.co-stepper { display:flex; align-items:center; justify-content:center; gap:.5rem; margin-bottom:2.5rem; flex-wrap:wrap; }
.co-step { display:flex; align-items:center; gap:.6rem; font-family:var(--FB); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(243,239,247,.3); transition:var(--ease); }
.co-step-n { width:32px; height:32px; border-radius:50%; background:var(--ch3); border:1px solid var(--bdrch); display:flex; align-items:center; justify-content:center; font-family:var(--FD); font-size:.95rem; color:rgba(243,239,247,.4); transition:var(--spring); }
.co-step.active { color:var(--rg3); }
.co-step.active .co-step-n { background:linear-gradient(135deg,var(--rg),var(--rg2)); color:var(--ch); border-color:var(--rg); transform:scale(1.1); box-shadow:0 0 20px rgba(155,107,255,.4); }
.co-step.done .co-step-n { background:var(--rg); color:var(--ch); border-color:var(--rg); }
.co-step.done { color:var(--rg3); }
.co-step-line { width:30px; height:1px; background:var(--bdrch); }
.co-step.done+.co-step-line { background:var(--rg); }
.co-panel { display:none; animation:coSlide .5s cubic-bezier(.4,0,.2,1); }
.co-panel.active { display:block; }
@keyframes coSlide { from{opacity:0;transform:translateX(30px)} to{opacity:1;transform:translateX(0)} }
.co-success { text-align:center; padding:2rem 0; }
.co-success-icon { width:90px; height:90px; border-radius:50%; background:linear-gradient(135deg,#7BC8A4,#5BA884); margin:0 auto 1.5rem; display:flex; align-items:center; justify-content:center; font-size:2.5rem; color:#fff; animation:successPop .6s cubic-bezier(.34,1.56,.64,1); position:relative; }
.co-success-icon::before { content:''; position:absolute; inset:-8px; border-radius:50%; border:2px solid #7BC8A4; opacity:0; animation:successRing 1s .3s; }
@keyframes successPop { 0%{transform:scale(0)} 60%{transform:scale(1.2)} 100%{transform:scale(1)} }
@keyframes successRing { 0%{transform:scale(1);opacity:.8} 100%{transform:scale(1.5);opacity:0} }
.confetti { position:fixed; top:0; left:0; width:10px; height:10px; pointer-events:none; z-index:9999; animation:confettiFall 3s linear forwards; }
@keyframes confettiFall { 0%{transform:translateY(-100vh) rotate(0);opacity:1} 100%{transform:translateY(100vh) rotate(720deg);opacity:0} }

/* TOAST */
.toast-c { position:fixed; bottom:2.2rem; right:2.2rem; z-index:9999; display:flex; flex-direction:column; gap:.5rem; }
.toast-i { background:var(--ch2); color:var(--cream); padding:.9rem 1.4rem; border-radius:12px; border-left:4px solid var(--rg); box-shadow:var(--sh-lg); display:flex; align-items:center; gap:11px; font-family:var(--FB); font-weight:600; font-size:.82rem; letter-spacing:.04em; animation:tslide .45s cubic-bezier(.34,1.56,.64,1); }
.toast-i.exit { animation:tslideOut .4s forwards; }
@keyframes tslide { from{opacity:0;transform:translateX(40px) scale(.9)} to{opacity:1;transform:translateX(0) scale(1)} }
@keyframes tslideOut { to{opacity:0;transform:translateX(40px) scale(.9)} }

/* FLY TO CART */
.fly-item { position:fixed; z-index:9999; pointer-events:none; border-radius:50%; overflow:hidden; transition:all 1s cubic-bezier(.5,-.3,.7,1.4); box-shadow:0 8px 24px rgba(155,107,255,.5); border:2px solid var(--rg); }
.fly-item img { width:100%; height:100%; object-fit:cover; }
.heart-particle { position:fixed; z-index:9998; pointer-events:none; color:var(--rg); animation:heartFloat 1s ease-out forwards; }
@keyframes heartFloat { 0%{transform:translate(0,0) scale(0);opacity:1} 50%{opacity:1} 100%{transform:translate(var(--tx),var(--ty)) scale(1.5);opacity:0} }

/* BUTTONS */
.btn-main { background:linear-gradient(135deg,var(--rg),var(--rg2)); color:var(--ch); border:none; padding:15px 32px; font-family:var(--FB); font-weight:700; font-size:.88rem; letter-spacing:.1em; text-transform:uppercase; border-radius:8px; cursor:pointer; transition:var(--ease); display:inline-flex; align-items:center; gap:9px; box-shadow:var(--sh-rg); justify-content:center; text-decoration:none; }
.btn-main:hover { transform:translateY(-3px); box-shadow:0 22px 55px rgba(155,107,255,.5); }
.btn-ghost-d { background:transparent; border:1.5px solid var(--bdrch); color:rgba(243,239,247,.6); padding:14px 26px; font-family:var(--FB); font-weight:600; font-size:.88rem; letter-spacing:.1em; text-transform:uppercase; border-radius:8px; cursor:pointer; transition:var(--ease); }
.btn-ghost-d:hover { border-color:var(--bdr); color:var(--rg3); }
.btn-sec-l { background:rgba(11,7,16,.25); border:1px solid rgba(11,7,16,.2); color:rgba(11,7,16,.75); padding:14px 26px; font-family:var(--FB); font-weight:700; font-size:.88rem; letter-spacing:.1em; text-transform:uppercase; border-radius:8px; cursor:pointer; transition:var(--ease); text-decoration:none; display:inline-flex; align-items:center; gap:9px; }
.btn-sec-l:hover { background:rgba(11,7,16,.4); color:var(--ch); }

/* REVEAL */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1); }
.reveal.on { opacity:1; transform:translateY(0); }
.rd1 { transition-delay:.1s; }
.rd2 { transition-delay:.2s; }
.rd3 { transition-delay:.3s; }

/* PRODUCT DETAIL PAGE */
.pd-wrap { padding:8rem 4rem 4rem; max-width:1280px; margin:0 auto; }
.pd-breadcrumb { display:flex; align-items:center; gap:.6rem; font-family:var(--FB); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(243,239,247,.4); margin-bottom:2rem; }
.pd-breadcrumb a { color:var(--rg3); text-decoration:none; transition:var(--ease); }
.pd-breadcrumb a:hover { color:var(--rg); }
.pd-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.pd-image { background:var(--ch3); border:1px solid var(--bdrch); border-radius:20px; padding:3rem; aspect-ratio:1; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.pd-image img { max-width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 12px 30px rgba(0,0,0,.5)); }
.pd-badge { position:absolute; top:1.2rem; left:1.2rem; font-family:var(--FB); font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.4rem 1rem; border-radius:6px; }
.pd-cat-label { font-family:var(--FB); font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--rg3); margin-bottom:.7rem; }
.pd-name { font-family:var(--FD); font-size:clamp(1.8rem,3.5vw,3rem); color:var(--cream); line-height:1.05; margin-bottom:1rem; }
.pd-price { font-family:var(--FD); font-size:2.4rem; color:var(--rg); margin-bottom:1.4rem; }
.pd-desc { font-family:var(--FI); font-style:italic; font-size:1.1rem; color:rgba(243,239,247,.55); line-height:1.8; margin-bottom:2rem; }
.pd-meta { display:flex; gap:1rem; margin-bottom:2rem; flex-wrap:wrap; }
.pd-meta-item { background:var(--ch3); border:1px solid var(--bdrch); border-radius:10px; padding:.6rem 1rem; font-family:var(--FB); font-size:.78rem; color:rgba(243,239,247,.6); }
.pd-meta-item strong { color:var(--cream); font-weight:700; }
.pd-qty-row { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.pd-qty { display:flex; align-items:center; background:var(--ch3); border:1px solid var(--bdrch); border-radius:10px; overflow:hidden; }
.pd-qty button { width:42px; height:42px; background:transparent; border:none; color:var(--cream); cursor:pointer; font-size:1.1rem; transition:var(--ease); }
.pd-qty button:hover { background:var(--ch4); color:var(--rg3); }
.pd-qty input { width:50px; text-align:center; background:transparent; border:none; color:var(--cream); font-family:var(--FB); font-weight:700; font-size:1rem; outline:none; }
.pd-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin-bottom:1rem; }
.pd-actions .btn-main, .pd-actions .btn-ghost-d { flex:1; min-width:180px; }
.pd-cod-info { background:rgba(155,107,255,.08); border:1px solid var(--bdr); border-radius:12px; padding:1rem 1.2rem; display:flex; align-items:center; gap:1rem; margin-top:1.5rem; }
.pd-cod-info i { font-size:1.4rem; color:var(--rg3); }
.pd-cod-info div div:first-child { font-family:var(--FB); font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(243,239,247,.4); margin-bottom:.2rem; }
.pd-cod-info div div:last-child { font-family:var(--FB); font-weight:700; color:var(--cream); }
@media(max-width:900px){.pd-grid{grid-template-columns:1fr;gap:2rem}.pd-wrap{padding:7rem 1.5rem 3rem}}

.related-section { padding:5rem 4rem; max-width:1440px; margin:0 auto; }
.related-header { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:2.5rem; flex-wrap:wrap; }
.related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
@media(max-width:1100px){.related-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.related-grid{grid-template-columns:1fr}}

/* WISHLIST PAGE */
.wish-page { padding:8rem 4rem 5rem; max-width:1440px; margin:0 auto; }
.wish-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:3rem; flex-wrap:wrap; }
.wish-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
@media(max-width:1100px){.wish-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.wish-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.wish-grid{grid-template-columns:1fr}}

/* CHECKOUT PAGE */
.co-page { padding:8rem 4rem 5rem; max-width:900px; margin:0 auto; }
@media(max-width:640px){.co-page{padding:7rem 1.5rem 3rem}}

/* NOT FOUND */
.not-found { padding:10rem 4rem; text-align:center; max-width:600px; margin:0 auto; }
.not-found-icon { font-size:5rem; color:var(--rg); margin-bottom:1.5rem; opacity:.5; }
.not-found h2 { font-family:var(--FD); font-size:3rem; color:var(--cream); margin-bottom:1rem; }
.not-found p { font-family:var(--FI); font-style:italic; font-size:1.1rem; color:rgba(243,239,247,.5); margin-bottom:2rem; }

/* PAGE HEADER (for inner pages) */
.page-header { padding:9rem 4rem 3rem; max-width:1380px; margin:0 auto; text-align:center; }
.page-header .sec-eyebrow { justify-content:center; }
.page-header h1 { font-family:var(--FD); font-size:clamp(2.5rem,5vw,5rem); color:var(--cream); line-height:.9; }
.page-header h1 em { font-style:italic; font-family:var(--FI); color:var(--rg3); }
.page-header p { font-family:var(--FI); font-style:italic; font-size:1.15rem; color:rgba(243,239,247,.4); margin-top:.8rem; }
@media(max-width:640px){.page-header{padding:7rem 1.5rem 2rem}}

@media(max-width:900px){
  .nb { padding:0 1.5rem; }
  .nlinks { display:none; }
  .sec-hdr, .lyt-grid, .lyt-masonry, .lyt-featured, .lyt-zigzag, .lyt-flip, .lyt-list, .lyt-bento, .about-wrap, .con-wrap, .faq-wrap, .why-wrap, .rev-wrap { padding-left:1.5rem; padding-right:1.5rem; }
  .scroll-track { padding-left:1.5rem; padding-right:1.5rem; }
  .related-section, .wish-page, .pd-wrap { padding-left:1.5rem; padding-right:1.5rem; }
}
@media(max-width:640px){.csell{display:none}}