/* JDcard — shared styles (v1) */
:root{
  --ink:#0a0f16; --ink2:#33404e; --muted:#71808f; --faint:#9aa7b4;
  --bg:#fafbfc; --panel:#ffffff; --line:rgba(15,35,60,.10); --hair:rgba(15,35,60,.07);
  --navy:#0a3a66; --navy-deep:#072946; --blue:#1a6bb8; --sky:#bcd9f2;
  --gold:#c9a13b; --gold-hi:#ecd28a; --red:#c8382e;
  --dark:#060b13;
  --radius:16px;
  --shadow-lg:0 32px 64px -24px rgba(7,41,70,.35), 0 8px 20px -12px rgba(7,41,70,.18);
  --shadow-sm:0 2px 6px rgba(10,20,35,.05), 0 12px 28px -18px rgba(10,20,35,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter','Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:16px}
[dir="rtl"] body{font-family:'Noto Naskh Arabic','Inter','Segoe UI',sans-serif}
.display{font-family:'Sora','Inter',sans-serif;letter-spacing:-.025em}
[dir="rtl"] .display{font-family:inherit;letter-spacing:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
h1{font-family:'Sora','Inter',sans-serif;font-size:58px;line-height:1.06;font-weight:800;letter-spacing:-.03em}
[dir="rtl"] h1{font-family:inherit;letter-spacing:0;font-weight:700}
h2{font-family:'Sora','Inter',sans-serif;font-size:38px;line-height:1.15;font-weight:750;letter-spacing:-.025em}
[dir="rtl"] h2{font-family:inherit;letter-spacing:0}
h3{font-family:'Sora','Inter',sans-serif;font-size:17px;font-weight:650;letter-spacing:-.01em}
[dir="rtl"] h3{font-family:inherit}
.grad{background:linear-gradient(115deg,#2f8fe0 5%,#1a6bb8 45%,#b8952a 98%);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--blue)}
[dir="rtl"] .eyebrow{letter-spacing:.08em}
.eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--blue))}
.eyebrow.center::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--blue),transparent)}
.lead{color:var(--ink2);font-size:17px;font-weight:450}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:12px;font-weight:600;font-size:15px;text-decoration:none;transition:.25s cubic-bezier(.2,.7,.3,1);font-family:inherit;white-space:nowrap}
.btn-primary{background:linear-gradient(160deg,#0e4a80,#0a3a66 70%);color:#fff;box-shadow:0 14px 30px -12px rgba(10,58,102,.55), inset 0 1px 0 rgba(255,255,255,.18)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px -14px rgba(10,58,102,.6), inset 0 1px 0 rgba(255,255,255,.18)}
.btn-ghost{border:1px solid var(--line);color:var(--ink);background:rgba(255,255,255,.7);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:rgba(15,35,60,.25);transform:translateY(-2px)}
.btn-gold{background:linear-gradient(150deg,#e3c56b,#c9a13b 60%,#a8842a);color:#231a05;box-shadow:0 14px 32px -12px rgba(201,161,59,.55), inset 0 1px 0 rgba(255,255,255,.45)}
.btn-gold:hover{transform:translateY(-2px)}
.lic{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* strip */
.strip{background:linear-gradient(90deg,#05090f,#0a1522 50%,#05090f);color:#aebbc9;font-size:12.5px;border-bottom:1px solid rgba(255,255,255,.06)}
.strip .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:9px;padding-bottom:9px;gap:16px}
.strip b{color:#fff;font-weight:600}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#39d98a;margin-right:8px;box-shadow:0 0 8px #39d98a;vertical-align:1px}

/* nav */
nav{position:sticky;top:0;z-index:50;background:rgba(250,251,252,.78);backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--hair)}
nav .wrap{display:flex;align-items:center;gap:30px;height:74px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{height:44px;width:auto;display:block}
.lang{margin-left:auto;display:flex;gap:4px;align-items:center}
.lang a{font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:none;padding:6px 9px;border-radius:7px}
.lang a:hover{color:var(--ink);background:rgba(15,35,60,.05)}
.lang a.on{color:#fff;background:var(--navy)}
nav a.link{color:var(--ink2);text-decoration:none;font-size:14.5px;font-weight:520;position:relative;padding:4px 0}
nav a.link::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.6px;background:var(--blue);transition:.25s}
nav a.link:hover{color:var(--ink)}
nav a.link:hover::after{width:100%}
nav .btn{padding:11px 22px;font-size:14px;border-radius:10px}

/* hero */
.hero{position:relative;overflow:hidden;padding:96px 0 84px}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.hero-bg::before{content:"";position:absolute;top:-420px;right:-260px;width:1000px;height:1000px;border-radius:50%;background:radial-gradient(closest-side,rgba(26,107,184,.13),rgba(26,107,184,.05) 55%,transparent 75%)}
.hero-bg::after{content:"";position:absolute;bottom:-380px;left:-200px;width:820px;height:820px;border-radius:50%;background:radial-gradient(closest-side,rgba(201,161,59,.10),transparent 72%)}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(10,40,70,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(10,40,70,.045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(900px 600px at 70% 20%,#000 30%,transparent 80%);mask-image:radial-gradient(900px 600px at 70% 20%,#000 30%,transparent 80%)}
.hero .wrap{display:grid;grid-template-columns:1.06fr .94fr;gap:72px;align-items:center;position:relative}
.hero h1{margin:22px 0 26px}
.hero .lead{max-width:530px}
.cta-row{display:flex;gap:14px;align-items:center;margin-top:36px;flex-wrap:wrap}
.wa-note{font-size:13.5px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px;border:1px solid var(--hair);border-radius:14px;background:rgba(255,255,255,.65);backdrop-filter:blur(8px);overflow:hidden}
.stat{padding:22px 26px;position:relative}
.stat + .stat{border-left:1px solid var(--hair)}
[dir="rtl"] .stat + .stat{border-left:none;border-right:1px solid var(--hair)}
.stat .num{font-family:'Sora','Inter',sans-serif;font-size:23px;font-weight:750;letter-spacing:-.02em;color:var(--navy)}
[dir="rtl"] .stat .num{font-family:inherit}
.stat .num small{font-size:13px;font-weight:600;color:var(--gold);vertical-align:2px}
.stat .lbl{font-size:12px;color:var(--muted);margin-top:3px;letter-spacing:.02em}

/* hero card visual */
.stage{perspective:1400px;position:relative;height:480px}
.glow{position:absolute;width:420px;height:420px;border-radius:50%;left:50%;top:46%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(26,107,184,.22),transparent 70%);filter:blur(10px)}
.tilt{position:absolute;left:50%;top:44%;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(8deg) rotateZ(-6deg);animation:hover 7s ease-in-out infinite}
@keyframes hover{0%,100%{transform:translate(-50%,-50%) rotateX(8deg) rotateZ(-6deg) translateY(0)}50%{transform:translate(-50%,-50%) rotateX(6deg) rotateZ(-5deg) translateY(-14px)}}
.flip{width:400px;height:252px;position:relative;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.3,.7,.2,1);cursor:pointer}
.tilt:hover .flip{transform:rotateY(180deg)}
.face{position:absolute;inset:0;border-radius:20px;backface-visibility:hidden;padding:26px;color:#fff;overflow:hidden}
.face.front{background:radial-gradient(120% 160% at 85% -20%,rgba(120,180,235,.5) 0%,transparent 45%),radial-gradient(120% 120% at -10% 115%,rgba(6,20,35,.9) 0%,transparent 55%),linear-gradient(130deg,#0e4a80 0%,#0a3a66 48%,#072946 100%);box-shadow:var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(0,0,0,.3)}
.face.front::after{content:"";position:absolute;top:-60%;left:-30%;width:80%;height:220%;transform:rotate(28deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}
.face.back{background:radial-gradient(120% 160% at 90% 120%,rgba(90,140,190,.35) 0%,transparent 50%),linear-gradient(130deg,#1a2431,#0a1119 70%);transform:rotateY(180deg);box-shadow:var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,.14)}
.row-top{display:flex;justify-content:space-between;align-items:flex-start}
.bank{font-family:'Sora','Inter',sans-serif;font-weight:700;font-size:14px;letter-spacing:.14em;color:rgba(255,255,255,.92)}
.chip{width:46px;height:34px;border-radius:7px;margin-top:30px;position:relative;background:linear-gradient(135deg,#f0dc9a,#c9a13b 45%,#e8cd7e 70%,#a8842a);box-shadow:inset 0 1px 0 rgba(255,255,255,.6), inset 0 -1px 2px rgba(0,0,0,.3)}
.chip::before{content:"";position:absolute;inset:6px 8px;border:1px solid rgba(90,66,10,.4);border-radius:4px}
.chip::after{content:"";position:absolute;left:8px;right:8px;top:50%;height:1px;background:rgba(90,66,10,.4)}
.num{margin-top:26px;font-size:21px;letter-spacing:.2em;font-family:'Sora','Inter',sans-serif;font-weight:500;text-shadow:0 1px 0 rgba(0,0,0,.35), 0 -1px 0 rgba(255,255,255,.12)}
.meta{display:flex;justify-content:space-between;align-items:flex-end;margin-top:20px}
.meta .lbl{font-size:8.5px;letter-spacing:.18em;color:rgba(255,255,255,.5);text-transform:uppercase}
.meta .val{font-size:12.5px;letter-spacing:.1em;margin-top:3px;color:rgba(255,255,255,.92)}
.holo-sq{width:46px;height:38px;border-radius:7px;background:conic-gradient(from 210deg,#b8e0f7,#e8f6d3,#f4c9e0,#c9cff4,#b8e0f7);mix-blend-mode:screen;opacity:.9;filter:saturate(1.2)}
.face .mag{position:absolute;top:58px;left:0;right:0;height:34px;background:rgba(3,8,14,.55)}
/* metallic swirl front (Apple-Card style) */
.face-metal{background:linear-gradient(160deg,#dfe3e8,#c9ced5)}
/* metallic SILK FLOW front (animated) */
.face-metal{background:linear-gradient(160deg,#dfe3e8,#c9ced5)}
.silk,.silk-strands{position:absolute;inset:-60%;will-change:transform}
.silk{background:
  radial-gradient(38% 55% at 30% 35%, #f8f9fb 0%, transparent 60%),
  radial-gradient(30% 45% at 72% 22%, #a7aeb8 0%, transparent 58%),
  radial-gradient(45% 60% at 62% 78%, #f0f2f5 0%, transparent 62%),
  radial-gradient(35% 50% at 22% 80%, #969ea8 0%, transparent 55%),
  conic-gradient(from 210deg at 50% 50%, #d5dae0, #eceef1, #c2c8d0, #f0f2f5, #d5dae0);
  filter:blur(24px) saturate(0) contrast(1.07);
  animation:silkflow 18s ease-in-out infinite alternate}
.silk-strands{background:
  repeating-conic-gradient(from 0deg at 42% 58%,
    rgba(255,255,255,.16) 0deg 2.5deg,
    transparent 2.5deg 8deg,
    rgba(96,106,118,.13) 8deg 11deg,
    transparent 11deg 17deg);
  filter:blur(9px);
  animation:silkstrands 26s ease-in-out infinite alternate}
@keyframes silkflow{
  0%{transform:rotate(0deg) scale(1.12) translate(-3%,-2%)}
  50%{transform:rotate(10deg) scale(1.32) translate(3%,2%)}
  100%{transform:rotate(-8deg) scale(1.24) translate(-2%,3%)}}
@keyframes silkstrands{
  0%{transform:rotate(-12deg) scale(1.05)}
  100%{transform:rotate(16deg) scale(1.25)}}
@media (prefers-reduced-motion:reduce){.silk,.silk-strands{animation:none}}
.face-metal .metal-sheen{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(45% 60% at 30% 30%,rgba(255,255,255,.65),rgba(255,255,255,.12) 55%,transparent 75%);mix-blend-mode:overlay}
.face-metal .row-top,.face-metal .chip,.face-metal .num,.face-metal .meta{position:relative;z-index:2}
.face-metal .bank{color:#252b33}
.face-metal .num{color:#262c34;text-shadow:none}
.face-metal .meta .lbl{color:rgba(30,38,46,.55)}
.face-metal .meta .val{color:#242b33}
.face-metal .holo-sq{mix-blend-mode:normal;opacity:.95}
.face-metal .row-top,.face-metal .chip,.face-metal .num,.face-metal .meta{position:relative;z-index:2}
.face-metal .bank{color:#252b33}
.face-metal .num{color:#262c34;text-shadow:none}
.face-metal .meta .lbl{color:rgba(30,38,46,.55)}
.face-metal .meta .val{color:#242b33}
.face-metal .holo-sq{mix-blend-mode:normal;opacity:.95}
.float-tag{position:absolute;padding:12px 18px;border-radius:12px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border:1px solid var(--hair);box-shadow:var(--shadow-sm);font-size:12.5px;font-weight:600;color:var(--ink2);display:flex;gap:9px;align-items:center;animation:hover2 6s ease-in-out infinite;z-index:3}
.float-tag .lic{width:15px;height:15px;color:#155a9e}
@keyframes hover2{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.tag1{left:2%;top:14%}
.tag2{right:0%;bottom:18%;animation-delay:1.4s}
.hover-hint{text-align:center;font-size:12px;color:var(--faint);margin-top:200px;letter-spacing:.04em}

/* sections */
section{padding:96px 0}
.sec-head{max-width:680px;margin-bottom:56px}
.sec-head h2{margin-top:16px}
.sec-head .lead{margin-top:14px;font-size:16.5px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.center .eyebrow{justify-content:center}

/* product lines */
.pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
a.pl,.pl{background:#fff;border:1px solid var(--hair);border-radius:var(--radius);overflow:hidden;transition:.3s cubic-bezier(.2,.7,.3,1);box-shadow:0 1px 2px rgba(10,20,35,.03);text-decoration:none;color:inherit;display:block;-webkit-tap-highlight-color:transparent}
a.pl:hover,.pl:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:rgba(26,107,184,.25)}
.pl .pv{height:200px;position:relative;overflow:hidden;background:linear-gradient(165deg,#eef4fa,#e0ebf6)}
.pl:nth-child(2) .pv{background:linear-gradient(165deg,#f2f4f6,#e2e8ee)}
.pl:nth-child(3) .pv{background:linear-gradient(165deg,#f6f2e8,#ece3cf)}
.pl:nth-child(4) .pv{background:linear-gradient(165deg,#eef1f4,#dfe5ec)}
.pl .info{padding:22px 24px 26px}
.pl h3{font-size:15.5px}
.pl p{font-size:12.8px;color:var(--muted);margin-top:8px;line-height:1.65}
.pl .more{display:inline-block;margin-top:14px;font-size:12.5px;font-weight:700;color:var(--blue);letter-spacing:.05em}
.pl .more::after{content:" →"}
[dir="rtl"] .pl .more::after{content:" ←"}
a.pl:hover .more{color:var(--navy)}
.pslot{position:absolute;right:12px;bottom:12px;font-size:9px;letter-spacing:.14em;font-weight:700;color:#56718d;background:rgba(255,255,255,.85);border:1px dashed rgba(26,107,184,.4);border-radius:6px;padding:4px 8px;backdrop-filter:blur(4px)}

/* photo slot placeholders */
.slot{border:1.5px dashed rgba(26,107,184,.45);background:rgba(26,107,184,.045);border-radius:14px;
  display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;
  color:#56718d;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:650;transition:.25s}
[dir="rtl"] .slot{letter-spacing:.04em}
.slot:hover{background:rgba(26,107,184,.09)}
.slot .cam{width:34px;height:34px;border-radius:10px;background:rgba(26,107,184,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.slot .cam svg{width:17px;height:17px;stroke:#155a9e;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* premium business cards illustration */
.pv-bizcard .bc-a{position:absolute;left:50%;top:50%;width:152px;height:89px;border-radius:8px;transform:translate(-50%,-50%) rotate(-9deg) translate(-15px,13px);background:linear-gradient(150deg,#eef2f6,#dde5ec);border:1px solid var(--hair);box-shadow:0 10px 20px -10px rgba(10,20,35,.3)}
.pv-bizcard .bc-b{position:absolute;left:50%;top:50%;width:152px;height:89px;border-radius:8px;transform:translate(-50%,-50%) rotate(5deg) translateY(-3px);background:linear-gradient(150deg,#f8fafc,#e9eef3);border:1px solid var(--hair);box-shadow:0 10px 20px -10px rgba(10,20,35,.3)}
.pv-bizcard .bc-c{position:absolute;left:50%;top:50%;width:152px;height:89px;border-radius:8px;transform:translate(-50%,-50%) rotate(-3deg);background:linear-gradient(150deg,#202d3c,#0b141d);box-shadow:0 16px 30px -12px rgba(7,20,32,.6)}
.pv-bizcard .bc-c::before{content:"";position:absolute;left:17px;top:17px;width:36px;height:9px;border-radius:2px;background:linear-gradient(100deg,#d9bc63,#f3e3a4 50%,#c9a86b)}
.pv-bizcard .bc-c::after{content:"";position:absolute;left:17px;bottom:17px;width:58px;height:4px;border-radius:2px;background:linear-gradient(100deg,#d9bc63,#e8cd7e);opacity:.85;box-shadow:0 -11px 0 rgba(217,188,99,.4)}

/* gift box illustration */
.pv-giftbox .gb-card{position:absolute;left:50%;top:36px;transform:translateX(-50%) rotate(-6deg);width:100px;height:63px;border-radius:8px;
  background:linear-gradient(130deg,#0e4a80,#072946);box-shadow:0 12px 24px -10px rgba(7,41,70,.55)}
.pv-giftbox .gb-card::after{content:"";position:absolute;inset:15px 22px;border-radius:3px;background:linear-gradient(100deg,#d9bc63,#f3e3a4 50%,#d9bc63)}
.pv-giftbox .gb-lid{position:absolute;left:50%;bottom:56px;transform:translateX(-50%);width:156px;height:15px;border-radius:4px 4px 2px 2px;
  background:linear-gradient(140deg,#31445a,#1a2a3c);box-shadow:0 8px 16px -6px rgba(0,0,0,.45);z-index:2}
.pv-giftbox .gb-base{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);width:134px;height:38px;border-radius:0 0 9px 9px;
  background:linear-gradient(140deg,#22344a,#0e1c2c)}
.pv-giftbox .gb-base::before{content:"";position:absolute;left:50%;top:0;bottom:0;transform:translateX(-50%);width:20px;
  background:linear-gradient(90deg,#a8842a,#e3c56b 50%,#a8842a)}

/* id card + lanyard illustration */
.pv-id .ly-strap{position:absolute;left:50%;top:-4px;transform:translateX(-50%);width:46px;height:66px;border-radius:0 0 12px 12px;
  background:repeating-linear-gradient(135deg,#1a6bb8 0 9px,#0a3a66 9px 18px)}
.pv-id .ly-strap span{position:absolute;left:0;right:0;bottom:15px;text-align:center;font-size:6.5px;letter-spacing:.24em;color:rgba(255,255,255,.9);font-weight:700}
.pv-id .ly-clip{position:absolute;left:50%;top:60px;transform:translateX(-50%);width:22px;height:15px;
  border:3px solid #97a3b0;border-top:none;border-radius:0 0 6px 6px;background:linear-gradient(#e8edf2,#b9c4cf);z-index:2}
.pv-id .ly-card{position:absolute;left:50%;top:76px;transform:translateX(-50%);width:124px;height:78px;border-radius:9px;background:#fff;
  border:1px solid var(--hair);box-shadow:0 14px 28px -12px rgba(10,40,70,.4);padding:10px;display:flex;gap:9px}
.pv-id .ly-photo{width:27px;height:34px;border-radius:4px;background:linear-gradient(160deg,#bcd9f2,#7fa9cf);flex-shrink:0}
.pv-id .ly-lines{flex:1;padding-top:3px}
.pv-id .ly-lines i{display:block;height:5px;border-radius:2.5px;background:#dbe3ea;margin-bottom:6px}
.pv-id .ly-lines i:first-child{width:88%;background:#c3d2e0}
.pv-id .ly-lines i:nth-child(3){width:55%}
.pv-id .ly-qr{position:absolute;right:9px;bottom:8px;width:17px;height:17px;border-radius:3px;
  background:conic-gradient(#1c2b3a 25%,#fff 0 50%,#1c2b3a 0 75%,#fff 0) 0 0/8.5px 8.5px}

/* membership card stack illustration */
.pv-vip .vip{position:absolute;left:50%;top:50%;width:132px;height:83px;border-radius:9px;box-shadow:0 14px 30px -12px rgba(10,20,35,.4)}
.pv-vip .c1{transform:translate(-50%,-50%) rotate(-15deg) translate(-13px,9px);background:linear-gradient(130deg,#2c4257,#14212f);opacity:.9}
.pv-vip .c2{transform:translate(-50%,-50%) rotate(-1deg) translateY(-5px);background:linear-gradient(130deg,#0e4a80,#072946)}
.pv-vip .c2::after{content:"";position:absolute;left:14px;top:14px;width:26px;height:19px;border-radius:4px;background:linear-gradient(135deg,#f0dc9a,#c9a13b)}
.pv-vip .c3{transform:translate(-50%,-50%) rotate(14deg) translate(13px,10px);background:linear-gradient(130deg,#e3c56b,#a8842a)}
.pv-vip .c3::after{content:"VIP";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Sora','Inter',sans-serif;font-weight:800;color:#231a05;letter-spacing:.16em;font-size:15px}

/* packaging set illustration */
.pv-pack .pk-sleeve{position:absolute;left:28px;bottom:24px;width:52px;height:100px;border-radius:6px;
  background:linear-gradient(160deg,#0e4a80,#072946);box-shadow:0 10px 20px -8px rgba(10,20,35,.35)}
.pv-pack .pk-sleeve::before{content:"";position:absolute;left:8px;right:8px;top:36px;height:2px;background:rgba(255,255,255,.35)}
.pv-pack .pk-sleeve::after{content:"";position:absolute;left:13px;bottom:12px;width:26px;height:13px;border-radius:2px;background:linear-gradient(100deg,#d9bc63,#f3e3a4)}
.pv-pack .pk-env{position:absolute;left:50%;transform:translateX(-50%);bottom:24px;width:88px;height:62px;border-radius:5px;
  background:linear-gradient(160deg,#f7f2e8,#e9e1cf);border:1px solid #d9d0ba;box-shadow:0 10px 20px -8px rgba(10,20,35,.25)}
.pv-pack .pk-env::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:28px;
  background:linear-gradient(160deg,#f1ebdc,#ded4bd);clip-path:polygon(0 0,100% 0,50% 100%)}
.pv-pack .pk-box{position:absolute;right:26px;bottom:24px;width:66px;height:62px;border-radius:6px;
  background:linear-gradient(160deg,#26364a,#0d1722);box-shadow:0 10px 20px -8px rgba(10,20,35,.4)}
.pv-pack .pk-box::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:11px;transform:translateX(-50%);
  background:linear-gradient(90deg,#a8842a,#e3c56b 50%,#a8842a)}

/* blank card stock illustration */
.pl:nth-child(5) .pv{background:linear-gradient(165deg,#f7f3ea,#efe7d6)}
.pl:nth-child(6) .pv{background:linear-gradient(165deg,#eef4fa,#dfeaf5)}
.pv-blank .bl-stack{position:absolute;left:50%;top:50%;width:130px;height:82px}
.pv-blank .bl-stack i{position:absolute;inset:0;border-radius:9px;background:linear-gradient(160deg,#ffffff,#e9edf2);border:1px solid var(--hair);box-shadow:0 10px 22px -10px rgba(10,20,35,.25)}
.pv-blank .bl-stack i:nth-child(1){transform:rotate(-10deg) translate(-10px,8px)}
.pv-blank .bl-stack i:nth-child(2){transform:rotate(2deg) translateY(-4px)}
.pv-blank .bl-stack i:nth-child(3){transform:rotate(12deg) translate(10px,8px);background:linear-gradient(160deg,#fff,#f2f5f8)}
.pv-blank .bl-stack i:nth-child(3)::after{content:"0.76";position:absolute;right:10px;bottom:8px;font-family:'Sora','Inter',sans-serif;font-size:10px;font-weight:700;color:#8ba0b5;letter-spacing:.06em}

/* menu / sticker / mat illustration */
.pv-menu .mn-sheet{position:absolute;left:50%;top:24px;transform:translateX(-50%) rotate(-4deg);width:96px;height:128px;border-radius:6px;background:linear-gradient(160deg,#ffffff,#eef1f5);border:1px solid var(--hair);box-shadow:0 14px 26px -12px rgba(10,20,35,.35)}
.pv-menu .mn-sheet::before{content:"MENU";position:absolute;top:14px;left:12px;font-family:'Sora','Inter',sans-serif;font-weight:800;font-size:13px;color:#0a3a66;letter-spacing:.08em}
.pv-menu .mn-sheet::after{content:"";position:absolute;left:12px;right:30px;top:46px;height:3px;border-radius:2px;background:#d5dee6;box-shadow:0 12px 0 #e2e9ef, 0 24px 0 #d5dee6}
.pv-menu .mn-stick{position:absolute;right:26px;bottom:26px;width:54px;height:38px;border-radius:6px;background:linear-gradient(140deg,#e3c56b,#c9a13b);box-shadow:0 10px 18px -8px rgba(160,120,20,.5)}
.pv-menu .mn-stick::before{content:"";position:absolute;inset:8px;border:1.5px dashed rgba(255,255,255,.75);border-radius:3px}
.pv-menu .mn-mat{position:absolute;left:26px;bottom:26px;width:56px;height:40px;border-radius:6px;background:linear-gradient(140deg,#2c4257,#14212f);box-shadow:0 10px 18px -8px rgba(10,20,35,.4)}
.pv-menu .mn-mat::before{content:"";position:absolute;inset:8px;border-radius:3px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.25) 0 6px,transparent 6px 12px)}

/* shaped card / tag / fan illustration */
.pv-shape .sh-tag{position:absolute;left:30px;top:26px;width:58px;height:96px;border-radius:29px 29px 8px 8px;background:linear-gradient(160deg,#e3c56b,#c9a13b);box-shadow:0 10px 20px -8px rgba(160,120,20,.45)}
.pv-shape .sh-tag::before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px rgba(120,90,20,.4)}
.pv-shape .sh-card{position:absolute;left:50%;top:50px;transform:translateX(-50%) rotate(8deg);width:104px;height:66px;border-radius:14px 22px 14px 22px;background:linear-gradient(130deg,#0e4a80,#072946);box-shadow:0 12px 24px -10px rgba(7,41,70,.5)}
.pv-shape .sh-card::after{content:"";position:absolute;inset:14px 20px;border-radius:4px;background:linear-gradient(100deg,#d9bc63,#f3e3a4 50%,#d9bc63)}
.pv-shape .sh-fan{position:absolute;right:24px;bottom:22px;width:76px;height:72px}
.pv-shape .sh-fan i{position:absolute;left:50%;bottom:0;width:16px;height:62px;margin-left:-8px;border-radius:8px;background:linear-gradient(#f6f8fa,#dde4ea);border:1px solid var(--hair);transform-origin:bottom center}
.pv-shape .sh-fan i:nth-child(1){transform:rotate(-38deg)}
.pv-shape .sh-fan i:nth-child(2){transform:rotate(0deg);background:linear-gradient(#eaf0f5,#d3dce4)}
.pv-shape .sh-fan i:nth-child(3){transform:rotate(38deg)}

/* real photo cards */
.photo-card{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--hair);box-shadow:var(--shadow-sm);background:#dfe6ed}
.photo-card img{display:block;width:100%;height:100%;object-fit:cover}
.photo-card .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 20px;background:linear-gradient(transparent,rgba(5,12,20,.78));color:#fff;font-size:13px;font-weight:600;letter-spacing:.02em}
.fact-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:18px}
.fact-grid .photo-card{aspect-ratio:2/3}
@media (max-width:1024px){.fact-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.fact-grid{grid-template-columns:repeat(2,1fr)}}
.pricing-note{margin-top:20px;font-size:12.5px;color:var(--faint);text-align:center}

/* pricing table */
.price-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}
table.price{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
table.price th{font-family:'Sora','Inter',sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(160deg,#0e4a80,#0a3a66);padding:15px 18px;text-align:start;font-weight:650}
[dir="rtl"] table.price th{text-align:start}
table.price td{padding:15px 18px;border-top:1px solid var(--hair);color:var(--ink2)}
table.price tr:hover td{background:rgba(26,107,184,.035)}
table.price td:first-child{font-weight:650;color:var(--ink)}
table.price .from{font-family:'Sora','Inter',sans-serif;font-weight:750;color:var(--navy);font-size:15px}
table.price .ask{color:var(--faint);font-style:italic}

/* capabilities */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cap{background:var(--panel);border:1px solid var(--hair);border-radius:var(--radius);padding:32px 30px;position:relative;overflow:hidden;transition:.3s cubic-bezier(.2,.7,.3,1);box-shadow:0 1px 2px rgba(10,20,35,.03)}
.cap::before{content:"";position:absolute;top:0;left:32px;right:32px;height:1px;background:linear-gradient(90deg,transparent,rgba(26,107,184,.35),transparent);opacity:0;transition:.3s}
.cap:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}
.cap:hover::before{opacity:1}
.cap .ic{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;background:linear-gradient(150deg,#eef5fb,#e0ecf7);border:1px solid rgba(26,107,184,.12);box-shadow:inset 0 1px 0 #fff;color:#155a9e}
.cap h3{margin-bottom:9px}
.cap p{font-size:13.8px;color:var(--muted);line-height:1.65}
.cap .idx{position:absolute;top:26px;right:28px;font-family:'Sora','Inter',sans-serif;font-size:12px;font-weight:700;color:rgba(15,35,60,.18);letter-spacing:.1em}
[dir="rtl"] .cap .idx{right:auto;left:28px}

/* craft gallery */
.craft-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.craft{border-radius:14px;background:#fff;border:1px solid var(--hair);overflow:hidden;transition:.3s cubic-bezier(.2,.7,.3,1)}
.craft:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}
.craft .swatch{height:150px;position:relative;overflow:hidden}
.craft .swatch::after{content:"";position:absolute;top:-40%;left:-70%;width:60%;height:180%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transition:.5s}
.craft:hover .swatch::after{left:120%}
.craft b{display:block;padding:15px 18px;font-size:13.5px;font-weight:600;border-top:1px solid var(--hair);background:#fff}
.craft small{display:block;padding:0 18px 15px;font-size:11.5px;color:var(--faint)}
.sw-foil{background:linear-gradient(115deg,#8a6d1f,#d9bc63 30%,#f3e3a4 48%,#d9bc63 66%,#8a6d1f)}
.sw-uv{background:linear-gradient(130deg,#072946,#1a6bb8 55%,#9fd0f5);position:relative}
.sw-uv::before{content:"SPOT";position:absolute;top:38%;left:18%;font-family:'Sora','Inter',sans-serif;font-weight:800;font-size:30px;color:rgba(255,255,255,.85);letter-spacing:.05em}
.sw-emb{background:linear-gradient(115deg,#cfd7de,#f2f4f6 45%,#c3ccd4);position:relative}
.sw-emb::before{content:"3D";position:absolute;top:32%;left:24%;font-family:'Sora','Inter',sans-serif;font-weight:800;font-size:34px;color:rgba(70,85,100,.45);text-shadow:0 1px 1px rgba(255,255,255,.9),0 -1px 1px rgba(0,0,0,.15)}
.sw-holo{background:radial-gradient(80% 120% at 20% 20%,rgba(255,154,213,.9),transparent 55%),radial-gradient(80% 120% at 80% 30%,rgba(154,215,255,.95),transparent 60%),radial-gradient(90% 120% at 60% 100%,rgba(200,163,255,.9),transparent 60%),linear-gradient(120deg,#e8fff2,#fff7d9)}
.slot-note{margin-top:18px;font-size:12px;color:var(--faint);text-align:center;letter-spacing:.03em}

/* gift dark band */
.gift{background:var(--dark);color:#fff;position:relative;overflow:hidden}
.gift-bg{position:absolute;inset:0;pointer-events:none;background:url('../img/products/gift-dark-hero.jpg') center 40%/cover no-repeat;opacity:.22}
.gift-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,11,19,.90) 0%,rgba(6,11,19,.42) 45%,rgba(6,11,19,.94) 100%)}
.gift::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 15% 25%,rgba(201,161,59,.13),transparent 60%),radial-gradient(800px 500px at 85% 75%,rgba(26,107,184,.20),transparent 65%)}
.noise{position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.gift .wrap{display:block;max-width:880px;margin:0 auto;text-align:center;position:relative;padding:80px 40px 58px}
.gift .wrap .eyebrow{justify-content:center}
.gift .wrap .eyebrow::before{display:none}
.gift .wrap .eyebrow::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--blue),transparent)}
.gift .wrap h2{margin-top:14px}
.gift .wrap .lead{max-width:700px;margin:18px auto 0;font-size:15.5px}
.gift .wrap ul{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px;max-width:820px;margin:32px auto 34px;text-align:left}
.gift .wrap ul li{font-size:14px;padding:11px 0}
@media (max-width:640px){.gift .wrap ul{grid-template-columns:1fr}}
.gift .eyebrow{color:var(--gold-hi)}
.gift .eyebrow::before{background:linear-gradient(90deg,transparent,var(--gold))}
.gift h2{margin-top:16px}
.gift .lead{margin:20px 0 34px;color:#aebbc9;font-size:16px}
.gift ul{list-style:none;margin-bottom:38px}
.gift li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:14.5px;color:#cfd9e3;display:flex;gap:12px;align-items:center}
.gift li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(201,161,59,.8);flex-shrink:0}
.holo-wrap{perspective:1200px}
.holo-card{width:400px;height:250px;border-radius:20px;margin:0 auto;position:relative;background:linear-gradient(135deg,#0d1219,#1a2330 60%,#101720);box-shadow:0 40px 90px -30px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.12);overflow:hidden;transform:rotateX(6deg) rotateZ(-4deg)}
.holo-sheen{position:absolute;inset:0;border-radius:inherit;isolation:isolate;background:linear-gradient(115deg,transparent 28%,rgba(255,154,213,.32) 41%,rgba(255,226,154,.42) 50%,rgba(154,215,255,.34) 59%,transparent 72%);background-size:260% 260%;background-position:85% 25%;animation:sheen 6s ease-in-out infinite;mix-blend-mode:screen;filter:blur(8px)}
@keyframes sheen{0%,100%{background-position:88% 20%}50%{background-position:12% 80%}}
.holo-card .glare{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(55% 45% at 72% 18%,rgba(255,255,255,.20),transparent 68%);mix-blend-mode:screen}
.holo-card .brand{position:absolute;top:22px;left:26px;font-family:'Sora','Inter',sans-serif;font-weight:700;letter-spacing:.16em;font-size:13px;color:#efe3c0}
.holo-card .brand small{display:block;font-size:8.5px;letter-spacing:.3em;color:rgba(239,227,192,.55);margin-top:4px;font-weight:500}
.holo-card .foil{position:absolute;bottom:26px;left:26px;width:130px;height:36px;border-radius:7px;background:linear-gradient(100deg,#8a6d1f,#f3e3a4 45%,#d9bc63 60%,#8a6d1f);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.holo-card .note{position:absolute;bottom:32px;right:26px;font-size:10px;color:#7d8fa3;letter-spacing:.18em}

/* process */
.timeline{position:relative;display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.timeline::before{content:"";position:absolute;top:31px;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,rgba(26,107,184,.35) 15%,rgba(26,107,184,.35) 85%,transparent)}
.step{text-align:center;position:relative}
.step .node{width:62px;height:62px;margin:0 auto 18px;border-radius:18px;background:#fff;border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;position:relative;transition:.3s;box-shadow:0 1px 2px rgba(10,20,35,.04);color:#155a9e}
.step:hover .node{transform:translateY(-4px);border-color:rgba(26,107,184,.35);box-shadow:var(--shadow-sm)}
.step .no{position:absolute;top:-7px;right:-7px;width:21px;height:21px;border-radius:50%;background:linear-gradient(140deg,#1a6bb8,#0a3a66);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'Sora','Inter',sans-serif}
[dir="rtl"] .step .no{right:auto;left:-7px}
.step b{font-size:13.5px;font-weight:650;display:block}
.step small{font-size:11.5px;color:var(--faint)}

/* rfq */
.rfq{background:radial-gradient(900px 500px at 90% 10%,rgba(26,107,184,.07),transparent 60%),linear-gradient(180deg,#fff,#f5f7f9);border-top:1px solid var(--hair)}
.rfq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.rfq h2{margin-top:16px}
.rfq .lead{margin-top:16px;font-size:15.5px}
.contact-list{margin-top:34px}
.contact-list .c{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hair)}
.contact-list .ic{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px rgba(10,20,35,.04)}
.terms{margin-top:30px;border:1px solid var(--hair);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(10,20,35,.03)}
.terms div{padding:14px 20px;display:flex;gap:12px;align-items:baseline;border-bottom:1px solid var(--hair)}
.terms div:last-child{border-bottom:none}
.terms b{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);flex-shrink:0;width:92px}
.terms small{font-size:13px;color:var(--ink2)}
.form-panel{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:40px;box-shadow:var(--shadow-sm)}
.form-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:12px}
.form-head b{font-family:'Sora','Inter',sans-serif;font-size:16px}
.form-head .pill{font-size:11.5px;font-weight:650;color:#1a6bb8;background:#eaf3fb;border:1px solid rgba(26,107,184,.18);padding:5px 13px;border-radius:99px;letter-spacing:.04em;white-space:nowrap}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:11.5px;font-weight:700;color:var(--ink2);letter-spacing:.06em;text-transform:uppercase}
[dir="rtl"] .field label{letter-spacing:0}
.field input,.field select,.field textarea{border:1.5px solid var(--line);border-radius:10px;padding:13px 15px;font-size:14px;font-family:inherit;background:#fbfcfe;transition:.2s;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:rgba(26,107,184,.55);box-shadow:0 0 0 4px rgba(26,107,184,.10);background:#fff}
.checks{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px}
.checks span{border:1.5px solid var(--line);border-radius:99px;padding:8px 17px;font-size:13px;color:var(--ink2);background:#fbfcfe;cursor:pointer;transition:.2s}
.checks span:hover{border-color:rgba(26,107,184,.4)}
.checks span.on{border-color:#0a3a66;color:#0a3a66;background:#eaf3fb;font-weight:650;box-shadow:inset 0 1px 0 #fff}
.upload{border:1.5px dashed rgba(26,107,184,.45);border-radius:10px;padding:20px;text-align:center;cursor:pointer;background:rgba(26,107,184,.04);transition:.2s;color:var(--ink2)}
.upload:hover{background:rgba(26,107,184,.09)}
.upload b{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px;color:var(--navy)}
.upload small{display:block;margin-top:5px;font-size:11.5px;color:var(--faint)}
.form .btn{grid-column:1/-1;justify-content:center;width:100%;padding:16px}
.form-note{grid-column:1/-1;font-size:12px;color:var(--faint);text-align:center}

/* product-card grid on category pages */
.pc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0 10px}
.pc-card{display:block;background:#fff;border:1px solid var(--hair);border-radius:14px;overflow:hidden;
  text-decoration:none;color:inherit;transition:.28s cubic-bezier(.2,.7,.3,1);box-shadow:0 1px 2px rgba(10,20,35,.03);position:relative}
.pc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:rgba(26,107,184,.3)}
.pc-img{aspect-ratio:4/3;overflow:hidden;background:linear-gradient(165deg,#eef4fa,#e0ebf6);position:relative}
.pc-img img,.pc-img video{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}
.pc-card:hover .pc-img img,.pc-card:hover .pc-img video{transform:scale(1.05)}
.pc-img.pc-empty{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;
  border-style:dashed;border-color:rgba(26,107,184,.4);color:#56718d;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:650}
.pc-img.pc-empty .cam{width:34px;height:34px;border-radius:10px;background:rgba(26,107,184,.12);display:flex;align-items:center;justify-content:center}
.pc-img.pc-empty .cam svg{width:17px;height:17px;stroke:#155a9e;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pc-body{padding:18px 20px 20px}
.pc-no{font-family:'Sora','Inter',sans-serif;font-size:10.5px;font-weight:700;color:rgba(15,35,60,.35);letter-spacing:.1em}
.pc-body b{display:block;font-size:15px;margin-top:4px;font-weight:650}
.pc-body small{display:block;margin-top:6px;font-size:12.5px;color:var(--muted);line-height:1.6}
.pc-body .price-tag{display:inline-block;margin-top:10px;font-size:11.5px;font-weight:700;color:var(--blue)}
.pc-more{display:inline-block;margin-left:10px;font-size:11.5px;font-weight:700;color:var(--faint);transition:.2s}
.pc-card:hover .pc-more{color:var(--blue)}
@media (max-width:1024px){.pc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.pc-grid{grid-template-columns:1fr}}

/* detail page feature list */
.feat-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 20px;margin:38px 0;padding:0}
.feat-list li{list-style:none;display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink2);border:1px solid var(--hair);background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 1px 2px rgba(10,20,35,.03)}
.feat-list li::before{content:"✓";color:#1fa855;font-weight:800;flex-shrink:0}
.crumb{font-size:13px;color:var(--faint);margin-bottom:18px}
.crumb a{color:var(--blue);text-decoration:none;font-weight:600}

/* sub-product grid on detail pages */
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 10px}
.sp{background:#fff;border:1px solid var(--hair);border-radius:13px;padding:20px 22px;position:relative;overflow:hidden;transition:.25s cubic-bezier(.2,.7,.3,1);box-shadow:0 1px 2px rgba(10,20,35,.03)}
.sp:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:rgba(26,107,184,.28)}
.sp .no{position:absolute;top:16px;right:18px;font-family:'Sora','Inter',sans-serif;font-size:11px;font-weight:700;color:rgba(15,35,60,.16);letter-spacing:.08em}
.sp b{font-size:14.5px;font-weight:650;display:block}
.sp small{display:block;margin-top:6px;font-size:12.3px;color:var(--muted);line-height:1.6}
.sp .price-tag{display:inline-block;margin-top:10px;font-size:11.5px;font-weight:700;color:var(--blue)}
@media (max-width:900px){.sp-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.sp-grid{grid-template-columns:1fr}}

/* shop-style layout: photos left, price right */
.shop-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start;margin-top:44px}
.shop-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tile{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(165deg,#eef4fa,#e0ebf6);border:1px solid var(--hair);aspect-ratio:4/3;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;color:#56718d;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:650}
[dir="rtl"] .tile{letter-spacing:.03em}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.35s}
.tile:hover img{transform:scale(1.05)}
.tile.empty{border-style:dashed;border-color:rgba(26,107,184,.45);background:rgba(26,107,184,.045)}
.tile .cam{width:34px;height:34px;border-radius:10px;background:rgba(26,107,184,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tile .cam svg{width:17px;height:17px;stroke:#155a9e;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.shop-side .price-wrap{margin-top:0}
.notes{margin-top:16px;padding:14px 18px;border:1px solid var(--hair);border-radius:12px;background:#fbfcfe}
.notes li{list-style:none;font-size:12.3px;color:var(--muted);line-height:1.65;padding:4px 0;display:flex;gap:8px}
.notes li::before{content:"※";color:var(--gold);flex-shrink:0;font-weight:700}
[dir="rtl"] .notes li{letter-spacing:.02em}
.shop-cta{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:1024px){.shop-grid{grid-template-columns:1fr}}

/* footer */
footer{background:#05090f;color:#8a97a5;font-size:13.5px;padding:64px 0 36px;position:relative;overflow:hidden}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,161,59,.5),rgba(26,107,184,.5),transparent)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
footer .logo img{height:40px;background:#fff;border-radius:8px;padding:3px}
footer p{margin-top:16px;font-size:13px;line-height:1.7;max-width:280px}
.foot-grid h4{color:#e6ecf2;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;font-weight:700}
.foot-grid a{display:block;color:#8a97a5;text-decoration:none;padding:5px 0;font-size:13.5px}
.foot-grid a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:26px;display:flex;justify-content:space-between;font-size:12.5px;color:#5d6a78;gap:12px;flex-wrap:wrap}

.wa-float{position:fixed;right:30px;bottom:30px;width:58px;height:58px;border-radius:50%;background:linear-gradient(140deg,#3ee07f,#22b355);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(34,179,85,.45);color:#fff;text-decoration:none;z-index:60;transition:.25s}
[dir="rtl"] .wa-float{right:auto;left:30px}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:28px;height:28px;fill:#fff}

/* responsive */
@media (max-width:1024px){
  .hero .wrap,.gift .wrap,.rfq-grid{grid-template-columns:1fr;gap:52px}
  .caps{grid-template-columns:repeat(2,1fr)}
  .pl-grid{grid-template-columns:repeat(2,1fr)}
  .craft-row{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(4,1fr);row-gap:36px}
  .timeline::before{display:none}
  h1{font-size:42px}
  .stage{height:420px}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wrap{padding:0 22px}
  h1{font-size:36px}h2{font-size:29px}
  .caps,.craft-row{grid-template-columns:1fr}
  .pl-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:1fr}
  .stat+.stat{border-left:none;border-top:1px solid var(--hair)}
  nav .wrap{gap:14px;overflow-x:auto;scrollbar-width:none}
  nav .wrap::-webkit-scrollbar{display:none}
  nav .link{white-space:nowrap}
  .flip{width:320px;height:202px}
  .holo-card{width:320px;height:200px}
  .form-panel{padding:26px}
  .form{grid-template-columns:1fr}
  .strip .wrap{flex-direction:column;gap:4px;align-items:flex-start}
  .cta-row{flex-wrap:wrap}
  .wa-note{display:none}
  .foot-grid{grid-template-columns:1fr}
  .float-tag{display:none}
  .lang{order:9}
}
