* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:#100e1d; color:#f8f4ff; font-family:Inter,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p,figure { margin:0; }

.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:21px 5%; border-bottom:1px solid #33284d; background:#171329; }
.site-header nav { display:flex; gap:30px; font-size:13px; }
.site-header nav a,.header-contact { transition:color .2s ease; }
.site-header nav a:hover,.header-contact:hover { color:#2de2e6; }
.header-tools { display:flex; align-items:center; gap:19px; }
.language-switcher { display:flex; align-items:center; gap:3px; padding:3px; border:1px solid #33284d; border-radius:9px; background:rgba(255,255,255,.025); }
.language-switcher button { display:grid; place-items:center; width:29px; height:29px; padding:0; border:0; border-radius:6px; background:transparent; font-size:16px; line-height:1; cursor:pointer; filter:saturate(.72); opacity:.62; transition:background .2s ease,opacity .2s ease,transform .2s ease; }
.language-switcher button:hover { background:rgba(255,255,255,.08); opacity:1; transform:translateY(-1px); }
.language-switcher button.active { background:#fff; opacity:1; filter:none; box-shadow:0 3px 10px rgba(0,0,0,.22); }
.logo { display:flex; align-items:center; gap:11px; font-weight:600; letter-spacing:2px; }
.logo b { position:relative; display:grid; place-items:center; width:42px; height:42px; overflow:hidden; border-radius:14px 14px 23px 14px; background:linear-gradient(145deg,#ff7159 0%,#ff385f 55%,#a84be8 100%); color:#fff; font:italic 24px 'DM Serif Display',Georgia,serif; box-shadow:-3px 3px 0 rgba(45,226,230,.28),0 0 28px rgba(255,65,108,.30); }
.logo b::after { content:""; position:absolute; inset:1px; border:1px solid rgba(255,255,255,.18); border-radius:13px 13px 22px 13px; }
.header-contact { padding:0 0 5px; border:0; border-bottom:2px solid #2de2e6; background:transparent; color:inherit; font:500 13px Inter,Arial,sans-serif; cursor:pointer; }

.hero { display:grid; grid-template-columns:1.12fr .88fr; gap:55px; min-height:640px; padding:70px 6% 85px; background:radial-gradient(circle at 11% 12%,rgba(255,51,112,.20),transparent 32%),radial-gradient(circle at 48% 92%,rgba(45,226,230,.13),transparent 35%),linear-gradient(135deg,#171129 0%,#11101e 55%,#0c1f28 100%); }
.hero-copy { align-self:center; }
.badge { display:inline-flex; padding:8px 12px; border:1px solid #5b456f; border-radius:99px; background:rgba(255,255,255,.04); color:#f4dff0; font-size:10px; letter-spacing:1px; text-transform:uppercase; }
.hero-copy h1 { margin:23px 0 25px; font:600 clamp(49px,6vw,88px)/.94 Inter,Arial,sans-serif; letter-spacing:-4px; }
.hero-copy h1 em { color:#ff4d87; font:400 italic 1.08em 'DM Serif Display',Georgia,serif; }
.hero-copy>p { max-width:610px; color:#c9c2d6; font-size:17px; line-height:1.7; }
.hero-actions { display:flex; gap:13px; flex-wrap:wrap; margin-top:33px; }
.hero-actions a,.hero-actions button { padding:14px 19px; border:1px solid #5b506c; border-radius:9px; background:transparent; color:#f8f4ff; font:500 12px Inter,Arial,sans-serif; cursor:pointer; }
.hero-actions button:first-child { border-color:#ff416c; background:#ff416c; color:#fff; box-shadow:0 10px 28px rgba(255,65,108,.22); }
.hero-actions a:hover,.hero-actions button:hover { transform:translateY(-1px); }

.live-stage { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:470px; padding:25px; overflow:hidden; border-radius:32px 32px 120px 32px; background:linear-gradient(145deg,#ff784f,#ff3b6d 52%,#7a4df2); color:#fff; box-shadow:0 28px 65px rgba(109,47,48,.23); }
.live-top,.live-bottom { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; font-size:10px; }
.live-top>span { padding:8px 10px; border-radius:7px; background:rgba(38,17,25,.65); }
.live-top i { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:#fff; }
.live-product { align-self:center; display:grid; place-items:center; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.95); box-shadow:0 20px 45px rgba(70,25,38,.24); }
.live-product::before { content:""; position:absolute; width:285px; height:285px; border:1px solid rgba(255,255,255,.42); border-radius:50%; }
.bag { position:relative; width:78px; height:72px; border:5px solid #ff5a42; border-radius:9px 9px 16px 16px; }
.bag::before { content:""; position:absolute; left:17px; top:-34px; width:34px; height:38px; border:5px solid #ff5a42; border-bottom:0; border-radius:24px 24px 0 0; }
.live-bottom { padding:16px; border-radius:15px; background:rgba(38,17,28,.28); backdrop-filter:blur(8px); }
.live-bottom div { display:flex; flex-direction:column; gap:5px; }
.live-bottom small { opacity:.68; letter-spacing:1px; }
.live-bottom>b { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#fff; color:#ff4e49; font-size:20px; }

.model { display:grid; grid-template-columns:.5fr 1.5fr; gap:50px; padding:80px 7%; border-top:1px solid #413654; background:#211a38; }
.model p { color:#2de2e6; font-size:10px; letter-spacing:1.8px; }
.model h2 { max-width:800px; font:400 clamp(34px,4.5vw,59px)/1.08 'DM Serif Display',Georgia,serif; }

.categories { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #413654; }
.categories article { position:relative; min-height:425px; padding:38px; border-right:1px solid #34323b; background:#18171d; }
.categories article:nth-child(2) { background:#1b1920; }
.categories article:nth-child(3) { border-right:0; background:#171b1b; }
.categories figure { height:205px; margin:-38px -38px 29px; overflow:hidden; background:#12101f; }
.categories img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.categories article:hover img { transform:scale(1.025); }
.categories h3 { margin-bottom:9px; font-size:21px; }
.categories p { color:#bcb3c8; font-size:13px; line-height:1.5; }

.supplier-dialog { width:min(680px,calc(100% - 32px)); max-height:calc(100vh - 32px); padding:0; overflow:auto; border:1px solid #443653; border-radius:18px; background:#171329; color:#f8f4ff; box-shadow:0 28px 90px rgba(0,0,0,.48); }
.supplier-dialog::backdrop { background:rgba(7,6,14,.76); backdrop-filter:blur(5px); }
.dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:30px 32px 18px; }
.dialog-heading small { color:#2de2e6; font-size:10px; letter-spacing:1.7px; }
.dialog-heading h2 { margin-top:8px; font:400 clamp(29px,4vw,43px)/1.08 'DM Serif Display',Georgia,serif; }
.dialog-close { display:grid; flex:0 0 auto; place-items:center; width:38px; height:38px; padding:0; border:1px solid #4d405d; border-radius:50%; background:transparent; color:#f8f4ff; font-size:25px; line-height:1; cursor:pointer; }
.dialog-close:hover { background:rgba(255,255,255,.07); }
.dialog-intro { padding:0 32px 22px; color:#c9c2d6; font-size:13px; line-height:1.6; }
.supplier-dialog form { display:flex; flex-direction:column; gap:18px; padding:26px 32px 32px; border-top:1px solid #33284d; background:#100e1d; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.supplier-dialog label { display:flex; flex-direction:column; gap:8px; color:#ded7e8; font-size:11px; font-weight:500; }
.supplier-dialog input,.supplier-dialog textarea { width:100%; border:1px solid #4a4058; border-radius:8px; outline:none; background:#1b1727; color:#fff; font:400 15px Inter,Arial,sans-serif; }
.supplier-dialog input { height:44px; padding:0 13px; }
.supplier-dialog textarea { min-height:115px; padding:12px 13px; resize:vertical; }
.supplier-dialog input:focus,.supplier-dialog textarea:focus { border-color:#2de2e6; box-shadow:0 0 0 3px rgba(45,226,230,.12); }
.form-footer { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:3px; }
.form-footer small { max-width:330px; color:#9f96aa; font-size:10px; line-height:1.5; }
.form-footer button { flex:0 0 auto; padding:14px 18px; border:0; border-radius:8px; background:#ff416c; color:#fff; font:600 12px Inter,Arial,sans-serif; cursor:pointer; box-shadow:0 9px 25px rgba(255,65,108,.2); }
.form-footer button:hover { background:#f63462; }

footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; align-items:start; justify-items:center; padding:43px 8% 70px; background:#090812; color:#f8f4ff; font-size:12px; }
footer div { display:flex; flex-direction:column; gap:8px; width:max-content; max-width:100%; }
footer div:first-child strong { letter-spacing:3px; font-size:19px; }
footer small { color:#a9a1b4; }

@media (max-width:800px) {
  .site-header nav { display:none; }
  .hero { grid-template-columns:1fr; padding:60px 7%; }
  .live-stage { min-height:480px; }
  .model { grid-template-columns:1fr; gap:30px; }
  .categories { grid-template-columns:1fr; }
  .categories article { border-right:0; border-bottom:1px solid #453456; }
  footer { grid-template-columns:1fr 1fr; }
}

@media (max-width:560px) {
  .site-header { padding:16px 4%; gap:12px; }
  .header-contact { display:none; }
  .header-tools { gap:0; }
  .language-switcher { gap:1px; }
  .language-switcher button { width:27px; height:29px; font-size:15px; }
  .logo { gap:8px; font-size:13px; letter-spacing:1.5px; }
  .logo b { width:36px; height:36px; font-size:21px; }
  .hero { padding:50px 6% 70px; }
  .hero-copy h1 { letter-spacing:-2px; }
  .live-stage { min-height:420px; }
  .live-product { width:175px; height:175px; }
  .live-product::before { width:225px; height:225px; }
  .supplier-dialog { width:calc(100% - 20px); max-height:calc(100vh - 20px); }
  .dialog-heading { padding:24px 20px 16px; }
  .dialog-intro { padding:0 20px 19px; }
  .supplier-dialog form { padding:22px 20px 25px; }
  .form-grid { grid-template-columns:1fr; gap:16px; }
  .form-footer { align-items:stretch; flex-direction:column; }
  .form-footer button { width:100%; }
  footer { display:flex; flex-direction:column; align-items:flex-start; padding-bottom:55px; }
  footer div { width:auto; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .categories img { transition:none; }
}
