*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#0a0a0b;color:#f4f2ed;font-family:Inter,Arial,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
button{font:inherit;color:inherit}

/* Шапка сайту */
.header{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5vw;
  border-bottom:1px solid #242427;
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(10,10,11,.86);
  backdrop-filter:blur(18px);
}
.logo{
  display:inline-flex;
  align-items:center;
  gap:11px;
  font-size:20px;
  font-weight:900;
  letter-spacing:-.6px;
  transition:.2s;
}
.logo:hover{opacity:.9}
.logo-badge{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:linear-gradient(135deg,rgba(255,91,34,.22),rgba(255,91,34,.05));
  border:1px solid rgba(255,91,34,.45);
  color:#ff5b22;
  box-shadow:0 0 16px rgba(255,91,34,.18);
}
.logo-text span:first-child{color:#ff5b22}
.logo .dot{color:#ff5b22}

.nav{display:flex;gap:34px;color:#a9a6a0;font-size:13px;font-weight:600}
.nav a{transition:.2s}
.nav a:hover{color:#fff}

.header-btn,.btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  border-radius:999px;
  font-weight:700;
  font-size:13px;
  transition:.25s;
}
.header-btn{
  padding:12px 20px;
  border:1px solid #ff5b22;
  background:rgba(255,91,34,.1);
  color:#ff8152;
}
.header-btn:hover{
  background:#ff5b22;
  color:#fff;
  box-shadow:0 4px 20px rgba(255,91,34,.35);
  transform:translateY(-1px);
}
.menu-btn{display:none;background:none;border:0;font-size:24px;cursor:pointer}

/* Hero екран */
.hero{
  min-height:calc(100vh - 78px);
  display:grid;
  grid-template-columns:1fr 1fr;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid #242427;
}
.hero-grid{
  position:absolute;
  inset:0;
  background-image:linear-gradient(#18181b 1px,transparent 1px),linear-gradient(90deg,#18181b 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,black,transparent 85%);
  opacity:.42;
}
.hero-copy{
  position:relative;
  z-index:2;
  padding:10vh 4vw 7vh 9vw;
  align-self:center;
}
.eyebrow{
  font-size:10px;
  letter-spacing:2.6px;
  color:#9e9b96;
  font-weight:800;
  margin-bottom:22px;
  text-transform:uppercase;
}
.pulse{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ff5b22;
  box-shadow:0 0 15px #ff5b22;
  margin-right:8px;
}
.hero h1{
  font-size:clamp(48px,6vw,92px);
  line-height:.92;
  letter-spacing:-4px;
  margin:0 0 28px;
  font-weight:900;
}
.hero h1 em,h2 em{font-style:normal;color:#ff5b22}
.hero-copy>p{
  max-width:530px;
  color:#aaa7a1;
  line-height:1.7;
  font-size:15px;
}
.hero-copy strong{color:#f4f2ed}
.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.btn{padding:14px 22px;cursor:pointer}
.btn.primary{
  background:#ff5b22;
  color:#fff;
  box-shadow:0 8px 35px rgba(255,91,34,.28);
}
.btn.primary:hover{
  transform:translateY(-2px);
  background:#ff6c39;
  box-shadow:0 10px 40px rgba(255,91,34,.4);
}
.btn.ghost,.btn.outline{
  border:1px solid #36363a;
  color:#ddd;
  background:rgba(255,255,255,.02);
}
.btn.ghost:hover,.btn.outline:hover{
  border-color:#ff5b22;
  color:#fff;
}
.hero-meta{
  display:flex;
  gap:38px;
  margin-top:55px;
  padding-top:22px;
  border-top:1px solid #28282c;
  max-width:570px;
}
.hero-meta div{display:flex;flex-direction:column;gap:4px}
.hero-meta strong{font-size:17px;color:#fff}
.hero-meta span{font-size:9px;color:#85837f;text-transform:uppercase;letter-spacing:1px}

/* Графіка Hero */
.hero-art{
  position:relative;
  min-height:640px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 50% 48%,rgba(255,91,34,.16),transparent 40%);
}
.ring{
  position:absolute;
  border:1px solid rgba(255,91,34,.2);
  border-radius:50%;
  transform:rotateX(67deg) rotateZ(-12deg);
}
.ring-1{width:480px;height:480px}
.ring-2{width:630px;height:630px;border-color:rgba(255,255,255,.08)}
.print-object{
  position:relative;
  width:250px;
  height:470px;
  filter:drop-shadow(0 40px 30px rgba(0,0,0,.65));
  transform:translateY(15px);
}
.object-base{
  position:absolute;
  bottom:10px;
  left:15px;
  width:220px;
  height:45px;
  border-radius:50%;
  background:linear-gradient(#38383b,#121214);
  box-shadow:0 8px 0 #050506;
}
.object-body{
  position:absolute;
  left:25px;
  bottom:45px;
  width:200px;
  height:390px;
}
.object-head{
  position:absolute;
  left:65px;
  top:0;
  width:70px;
  height:78px;
  border-radius:18px 18px 12px 12px;
  background:linear-gradient(130deg,#eee7dc,#8d8376);
  border:5px solid #2a292a;
}
.object-head:after{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  top:27px;
  height:7px;
  background:#ff5b22;
  border-radius:5px;
}
.object-torso{
  position:absolute;
  left:45px;
  top:70px;
  width:110px;
  height:160px;
  background:linear-gradient(100deg,#e1d8ca 0 22%,#3b3b3c 23% 32%,#9d2e19 33% 64%,#303033 65%);
  clip-path:polygon(20% 0,80% 0,100% 45%,82% 100%,18% 100%,0 45%);
  border-radius:30px;
}
.object-shoulder{
  position:absolute;
  top:75px;
  width:70px;
  height:52px;
  border-radius:20px;
  background:#4b4b4d;
  border:7px solid #252527;
}
.object-shoulder.left{left:4px;transform:rotate(20deg)}
.object-shoulder.right{right:4px;transform:rotate(-20deg)}
.object-arm{
  position:absolute;
  top:115px;
  width:42px;
  height:145px;
  border-radius:25px;
  background:linear-gradient(#a33a21,#4b3030 70%,#252527);
  border:5px solid #262527;
}
.object-arm.left{left:2px;transform:rotate(8deg)}
.object-arm.right{right:2px;transform:rotate(-8deg)}
.object-leg{
  position:absolute;
  top:215px;
  width:55px;
  height:160px;
  border-radius:18px 18px 28px 28px;
  background:linear-gradient(#6b351f,#2c2b2d 75%);
  border:6px solid #252527;
}
.object-leg.left{left:45px;transform:rotate(5deg)}
.object-leg.right{right:45px;transform:rotate(-5deg)}
.layer-lines{
  position:absolute;
  inset:25px 20px 50px;
  border-radius:30px;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 8px,rgba(255,255,255,.045) 9px);
  pointer-events:none;
}
.floating-card{
  position:absolute;
  border:1px solid #3b3b3f;
  background:rgba(14,14,15,.82);
  backdrop-filter:blur(8px);
  padding:12px 16px;
  display:flex;
  flex-direction:column;
  min-width:145px;
  z-index:3;
}
.floating-card span{color:#ff5b22;font-size:10px;font-weight:700}
.floating-card b{font-size:13px;margin-top:4px}
.floating-card small{color:#888;font-size:8px;letter-spacing:1.2px;margin-top:5px;font-weight:600}
.card-a{top:20%;left:8%}
.card-b{right:6%;bottom:22%}
.art-caption{
  position:absolute;
  bottom:8%;
  font-size:9px;
  letter-spacing:2.5px;
  color:#777;
  display:flex;
  gap:12px;
  font-weight:700;
}

/* Біжучий рядок */
.ticker{
  overflow:hidden;
  white-space:nowrap;
  border-bottom:1px solid #242427;
  padding:16px 0;
  color:#616065;
  font-weight:800;
  letter-spacing:3px;
  font-size:11px;
}
.ticker div{display:inline-block;animation:marquee 22s linear infinite}
.ticker i{font-style:normal;color:#ff5b22;margin:0 18px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Загальні секції */
.section{padding:120px 9vw;border-bottom:1px solid #242427}
.section-head{
  display:grid;
  grid-template-columns:1fr .65fr;
  gap:60px;
  align-items:end;
  margin-bottom:50px;
}
.section h2{
  font-size:clamp(38px,4.5vw,70px);
  line-height:.95;
  letter-spacing:-3px;
  margin:0;
  font-weight:900;
}
.section-head>p{
  color:#8e8b86;
  line-height:1.7;
  font-size:14px;
  margin:0;
  max-width:440px;
}

/* Сітка послуг */
.service-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.service{
  min-height:330px;
  padding:28px 24px;
  background:#111113;
  border:1px solid #29292d;
  position:relative;
  transition:.3s;
  display:flex;
  flex-direction:column;
}
.service:hover{transform:translateY(-6px);border-color:#ff5b22;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.service.featured{
  background:linear-gradient(155deg,#1b1310,#111113);
  border-color:#3d2b24;
}
.service-number{font-size:11px;color:#777;font-weight:700}
.service-icon{font-size:34px;color:#ff5b22;margin:40px 0 24px}
.service h3{font-size:21px;margin:0 0 12px;color:#fff}
.service p{font-size:13px;line-height:1.65;color:#898782;margin:0 0 35px;flex-grow:1}
.service-link{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#ff8152;
  font-weight:700;
  transition:.2s;
}
.service-link:hover{color:#fff}

/* КАТАЛОГ ГОТОВИХ ФІГУРОК З ЦІНАМИ (PRODUCTS SHOWCASE) */
.products-showcase{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  margin-bottom:44px;
}
@media(max-width:1100px){
  .products-showcase{
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  }
}
@media(max-width:768px){
  .products-showcase{
    grid-template-columns:1fr;
    gap:24px;
  }
}
.product-card{
  background:linear-gradient(160deg,#141418 0%,#191412 100%);
  border:1px solid #332722;
  border-radius:22px;
  padding:26px 22px;
  display:flex;
  flex-direction:column;
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  transition:.3s;
  height:100%;
}
.product-card h3 {
  font-size: 20px;
  margin: 10px 0 12px;
  min-height: 48px;
  display: flex;
  align-items: center;
}
.product-short-desc {
  font-size: 13.5px;
  color: #a4a19c;
  line-height: 1.55;
  margin-bottom: 14px;
  flex-grow: 1;
}
.product-card:hover{
  border-color:#ff5b22;
  transform:translateY(-3px);
}
.product-card.featured-game{
  border-color:#482d22;
  background:linear-gradient(160deg,#16141a 0%,#201511 100%);
}
.product-main-img-box{
  position:relative;
  height:290px;
  background:#ffffff;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:16px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.3s;
  box-shadow:inset 0 0 15px rgba(0,0,0,0.06);
}
.product-main-img-box:hover{border-color:#ff5b22}
.product-main-img-box img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:12px;
  transition:transform .3s;
}
.product-main-img-box:hover img{transform:scale(1.03)}
.zoom-badge{
  position:absolute;
  bottom:10px;
  right:10px;
  background:rgba(0,0,0,.75);
  backdrop-filter:blur(4px);
  padding:5px 10px;
  border-radius:6px;
  font-size:10px;
  color:#bbb;
  font-weight:600;
  pointer-events:none;
}
.product-thumbs-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(55px, 1fr));
  gap:8px;
  margin-top:12px;
  margin-bottom:18px;
}
.product-thumb-btn img {
  width:100%;
  height:48px;
  object-fit:contain;
  border-radius:6px;
  background:#ffffff;
  padding:2px;
}
.product-thumb-btn{
  background:#121215;
  border:2px solid #282830;
  border-radius:10px;
  padding:5px 4px 6px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  transition:.2s;
}
.product-thumb-btn img{
  width:100%;
  height:50px;
  object-fit:cover;
  border-radius:6px;
  background:#0d0d10;
}
.product-thumb-btn span{
  font-size:10px;
  color:#8e8b85;
  font-weight:700;
}
.product-thumb-btn:hover{border-color:#777}
.product-thumb-btn.active{
  border-color:#ff5b22;
  background:rgba(255,91,34,.12);
}
.product-thumb-btn.active span{color:#ff8152}

.product-info{
  display:flex;
  flex-direction:column;
  flex-grow:1;
  text-align:left;
}
.product-badge-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.card-badge{
  display:inline-block;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.2px;
  color:#ff5b22;
  padding:4px 10px;
  background:rgba(255,91,34,.12);
  border:1px solid rgba(255,91,34,.35);
  border-radius:6px;
}
.card-badge.gold{
  color:#ffb03a;
  background:rgba(255,176,58,.12);
  border-color:rgba(255,176,58,.35);
}
.handmade-badge{
  display:inline-block;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.2px;
  color:#3cd070;
  padding:4px 10px;
  background:rgba(60,208,112,.1);
  border:1px solid rgba(60,208,112,.3);
  border-radius:6px;
}
.product-info h3{
  font-size:22px;
  margin:4px 0 10px;
  color:#fff;
  font-weight:900;
}

.price-tag-box{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin:6px 0 16px;
}
.price-value{
  font-size:34px;
  font-weight:900;
  color:#fff;
  letter-spacing:-1px;
}
.price-value span{
  font-size:18px;
  color:#ff5b22;
  font-weight:800;
  margin-left:2px;
}
.price-status{
  font-size:11px;
  color:#8e8b85;
}

.specs-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:14px;
}
.spec-chip{
  background:#1a1a20;
  border:1px solid #33333d;
  padding:5px 12px;
  border-radius:999px;
  font-size:11px;
  color:#c7c4be;
}
.spec-chip strong{color:#fff}

.product-short-desc{
  font-size:13px;
  line-height:1.65;
  color:#a5a29c;
  margin:0 0 12px;
}
.product-meta-note{
  font-size:11px;
  color:#7c7974;
  line-height:1.5;
  margin-bottom:20px;
  margin-top:auto;
}
.product-actions .btn{
  width:100%;
  justify-content:center;
}

/* Блок індивідуального замовлення (custom-cta-card) */
.custom-cta-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:30px 36px;
  background:linear-gradient(135deg,#151313,#1a161c);
  border:1px dashed rgba(255,91,34,.45);
  border-radius:20px;
  margin-bottom:48px;
  text-align:left;
}
.custom-cta-copy h3{
  margin:8px 0 8px;
  font-size:20px;
  color:#fff;
}
.custom-cta-copy p{
  margin:0;
  color:#9c9994;
  font-size:13px;
  line-height:1.6;
  max-width:620px;
}

.works-subhead h3{
  font-size:18px;
  color:#a9a6a0;
  margin:0 0 18px;
  font-weight:700;
  text-align:left;
}

/* Фільтри робіт */
.works-filters{
  display:flex;
  gap:10px;
  margin-bottom:32px;
  flex-wrap:wrap;
}
.filter-btn{
  background:#121214;
  border:1px solid #29292d;
  color:#a9a6a0;
  padding:10px 18px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:.2s;
}
.filter-btn:hover{color:#fff;border-color:#555}
.filter-btn.active{
  background:#ff5b22;
  color:#fff;
  border-color:#ff5b22;
  box-shadow:0 4px 20px rgba(255,91,34,.28);
}

/* Галерея робіт */
.gallery{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:280px 280px;
  gap:14px;
}
.gallery-item{
  position:relative;
  overflow:hidden;
  border:1px solid #29292d;
  background:#121214;
  text-align:left;
  padding:0;
  cursor:pointer;
  transition:.3s;
}
.gallery-item.hidden{display:none}
.gallery-item.tall{grid-row:span 2}
.gallery-item:hover{border-color:#ff5b22}
.gallery-item:hover .gallery-art,.gallery-item:hover .gallery-photo img{transform:scale(1.05)}
.gallery-art,.gallery-photo{position:absolute;inset:0;transition:.5s}
.gallery-art{background:radial-gradient(circle at 50% 40%,#343438,#111113 60%)}

.figure-art:before{
  content:"";
  position:absolute;
  width:180px;
  height:330px;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%);
  border-radius:45% 45% 20% 20%;
  background:linear-gradient(90deg,#3b3b3d,#c8bfb2 42%,#812914 70%,#29292b);
  filter:drop-shadow(0 25px 25px #000);
}
.keychain-art{background:radial-gradient(circle at 50% 45%,#242428,#0e0e10)}
.keychain{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-12deg);
  width:125px;
  height:125px;
  border:16px solid #ff5b22;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:28px;
  font-weight:900;
  box-shadow:0 15px 35px #000;
  color:#fff;
}
.decor-art{background:radial-gradient(circle at 50% 50%,#34343a,#111113)}
.stack{
  position:absolute;
  left:50%;
  top:52%;
  transform:translate(-50%,-50%) rotate(-12deg);
  width:170px;
  height:170px;
  background:repeating-linear-gradient(0deg,#222 0 12px,#ff5b22 13px 18px);
  clip-path:polygon(50% 0,100% 22%,85% 100%,15% 100%,0 22%);
  box-shadow:0 25px 35px #000;
}
.keychain-tag-art{
  background:radial-gradient(circle at 50% 50%,#2b2b32,#0e0e10);
  display:flex;
  align-items:center;
  justify-content:center;
}
.keychain-tag{
  padding:14px 28px;
  background:#ff5b22;
  color:#fff;
  font-weight:900;
  letter-spacing:2px;
  border-radius:10px;
  border:3px solid #fff;
  transform:rotate(-10deg);
  box-shadow:0 15px 35px rgba(0,0,0,.7);
  font-size:20px;
}
.mini-art{
  background:radial-gradient(circle at 50% 50%,#32323a,#101012);
  display:flex;
  align-items:center;
  justify-content:center;
}
.mini-art:before{
  content:"";
  width:85px;
  height:130px;
  background:linear-gradient(135deg,#c4bcb0,#4b4845);
  border-radius:30% 30% 15% 15%;
  border:4px solid #1a1a1c;
  box-shadow:0 15px 30px #000;
}

.gallery-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:.5s;
  filter:saturate(.9) contrast(1.05);
}
.gallery-label{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  display:grid;
  grid-template-columns:28px 1fr;
  column-gap:10px;
  align-items:end;
  z-index:2;
  text-shadow:0 2px 8px #000;
}
.gallery-label:before{
  content:"";
  position:absolute;
  inset:-50px -20px -20px;
  background:linear-gradient(transparent,rgba(0,0,0,.85));
  z-index:-1;
}
.gallery-label span{grid-row:span 2;color:#ff5b22;font-size:10px;font-weight:800}
.gallery-label b{font-size:15px;color:#fff}
.gallery-label small{font-size:10px;color:#bbb}

/* Банер Telegram-каналу */
.channel-banner{
  margin-top:36px;
  padding:32px 38px;
  background:linear-gradient(135deg,#131316,#1f1613);
  border:1px solid #3d2a23;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
}
.badge{
  display:inline-block;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
  color:#ff5b22;
  padding:4px 10px;
  background:rgba(255,91,34,.14);
  border-radius:6px;
  margin-bottom:8px;
}
.channel-banner-info h3{margin:0 0 8px;font-size:21px;color:#fff}
.channel-banner-info p{margin:0;color:#9c9994;font-size:13px;line-height:1.6;max-width:580px}

/* Етапи процесу */
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid #2a2a2d;
  border-bottom:1px solid #2a2a2d;
}
.step{
  padding:35px 25px 40px;
  border-right:1px solid #2a2a2d;
}
.step:last-child{border-right:0}
.step>span{color:#ff5b22;font-size:11px;font-weight:800}
.step h3{font-size:17px;margin:42px 0 14px;color:#fff}
.step p{font-size:12px;line-height:1.7;color:#85837e;margin:0}

/* Секція замовлення та форма */
.cta{
  position:relative;
  background:#0e0e10;
}
.cta-glow{
  position:absolute;
  width:750px;
  height:750px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,91,34,.16),transparent 65%);
  pointer-events:none;
}
.order-container{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:28px;
  position:relative;
  z-index:2;
}
.order-card{
  background:#131316;
  border:1px solid #2c2c31;
  border-radius:20px;
  padding:38px 34px;
  box-shadow:0 20px 40px rgba(0,0,0,.45);
}
.order-card.form-card{
  border-color:#3a2c26;
  background:linear-gradient(160deg,#151313,#101012);
}
.card-tag{
  display:inline-block;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
  color:#ff5b22;
  margin-bottom:10px;
}
.order-card-head h3{
  margin:0 0 10px;
  font-size:24px;
  color:#fff;
}
.order-card-head p{
  margin:0 0 28px;
  color:#9a9792;
  font-size:13px;
  line-height:1.6;
}

.order-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
  text-align:left;
}
.form-group label{
  font-size:12px;
  font-weight:700;
  color:#bbb7b1;
  text-transform:uppercase;
  letter-spacing:.8px;
}
.form-group input,
.form-group select,
.form-group textarea{
  background:#1a1a1f;
  border:1px solid #333339;
  border-radius:12px;
  padding:14px 16px;
  color:#fff;
  font-family:inherit;
  font-size:14px;
  outline:none;
  transition:.25s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  border-color:#ff5b22;
  box-shadow:0 0 0 3px rgba(255,91,34,.15);
  background:#1f1f26;
}
.form-group select option{
  background:#1a1a1f;
  color:#fff;
}
.form-submit-btn{
  width:100%;
  justify-content:center;
  margin-top:8px;
  padding:16px 24px;
}
.form-hint{
  font-size:11px;
  color:#73716d;
  text-align:center;
  line-height:1.5;
}

/* Картка прямого зв'язку */
.direct-card{
  display:flex;
  flex-direction:column;
}
.direct-contacts{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:28px;
}
.contact-pill{
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  background:#19191e;
  border:1px solid #2e2e36;
  border-radius:14px;
  transition:.25s;
}
.contact-pill:hover{
  border-color:#ff5b22;
  background:rgba(255,91,34,.08);
  transform:translateX(4px);
}
.contact-icon{font-size:24px}
.contact-info{
  display:flex;
  flex-direction:column;
  gap:3px;
  flex-grow:1;
  text-align:left;
}
.contact-info strong{font-size:14px;color:#fff}
.contact-info span{font-size:12px;color:#ff8152;font-weight:600}
.contact-arrow{
  font-size:16px;
  color:#888;
  font-weight:700;
  transition:.2s;
}
.contact-pill:hover .contact-arrow{color:#ff5b22}

.direct-features{
  border-top:1px solid #26262a;
  padding-top:22px;
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:13px;
  color:#9a9792;
  text-align:left;
}

/* Підвал */
.footer{
  min-height:90px;
  padding:25px 9vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#737177;
  font-size:12px;
  letter-spacing:.4px;
  border-top:1px solid #1c1c1f;
  flex-wrap:wrap;
  gap:18px;
}
.footer-links{
  display:flex;
  gap:12px;
  align-items:center;
}
.footer-links a:hover{color:#ff8152}

/* Модальне вікно (Lightbox) */
.lightbox{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.92);
  z-index:100;
  align-items:center;
  justify-content:center;
  padding:25px;
  backdrop-filter:blur(6px);
}
.lightbox.open{display:flex}
.lightbox-content{
  text-align:center;
  max-width:620px;
  width:100%;
}
.lightbox-preview{
  width:100%;
  height:360px;
  background:radial-gradient(circle,#28282d,#0e0e10);
  border:1px solid #3e3e44;
  border-radius:14px;
  margin-bottom:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lightbox-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.lightbox h3{font-size:22px;margin:0 0 10px;color:#fff}
.lightbox p{font-size:13px;line-height:1.6;color:#a5a29c;margin:0 0 24px}
.close{
  position:absolute;
  right:30px;
  top:25px;
  border:0;
  background:none;
  font-size:38px;
  color:#a5a29c;
  cursor:pointer;
  line-height:1;
  transition:.2s;
}
.close:hover{color:#fff}

/* Адаптивність */
@media(max-width:960px){
  .nav,.header-btn{display:none}
  .menu-btn{display:block}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:80px 7vw 35px}
  .hero-art{min-height:550px}
  .service-grid{grid-template-columns:1fr 1fr}
  .section{padding:90px 7vw}
  .section-head{grid-template-columns:1fr;gap:20px}
  .products-showcase{grid-template-columns:1fr;gap:30px}
  .product-main-img-box{height:340px}
  .custom-cta-card{flex-direction:column;align-items:flex-start}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,240px)}
  .gallery-item.tall{grid-row:span 1}
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(2){border-right:0}
  .step:nth-child(-n+2){border-bottom:1px solid #2a2a2d}
  .channel-banner{flex-direction:column;align-items:flex-start}
  .order-container{grid-template-columns:1fr}
  .footer{padding:25px 7vw;flex-direction:column;align-items:flex-start}
  .nav.mobile-open{
    display:flex;
    position:absolute;
    top:78px;
    left:0;
    right:0;
    padding:22px 7vw 30px;
    background:#0c0c0e;
    border-bottom:1px solid #2a2a2d;
    flex-direction:column;
    gap:18px;
  }
}

@media(max-width:600px){
  .hero h1{font-size:46px;letter-spacing:-2.5px}
  .hero-art{min-height:460px}
  .print-object{transform:scale(.74)}
  .ring-1{width:320px;height:320px}
  .ring-2{width:420px;height:420px}
  .card-a{left:2%;top:15%}
  .card-b{right:2%;bottom:15%}
  .hero-meta{gap:16px;flex-direction:column}
  .service-grid,.gallery,.steps{grid-template-columns:1fr}
  .product-card{padding:20px 16px}
  .product-main-img-box{height:270px}
  .price-value{font-size:28px}
  .custom-cta-card{padding:22px 18px}
  .step{border-right:0!important;border-bottom:1px solid #2a2a2d}
  .step:last-child{border-bottom:0}
  .cta{padding:90px 15px}
  .order-card{padding:25px 20px}
  .footer{gap:12px}
  .section h2{letter-spacing:-2px}
}


/* ========================================
   СЕКЦІЯ ТРЕНДОВИХ БРЕЛОКІВ
   ======================================== */
.keychains-showcase-section {
  margin: 50px 0 40px;
  padding: 40px 30px;
  background: linear-gradient(180deg, rgba(25, 20, 18, 0.7) 0%, rgba(17, 17, 20, 0.9) 100%);
  border: 1px solid #382c26;
  border-radius: 26px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45);
}
.keychains-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 36px;
}
.keychains-head h3 {
  font-size: clamp(24px, 3.2vw, 34px);
  margin: 10px 0 12px;
  color: #fff;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.keychains-head p {
  color: #a8a5a0;
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}
.keychains-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
@media(max-width:1250px){
  .keychains-grid{grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));}
  gap: 22px;
}
.keychain-card {
  background: #151518;
  border: 1px solid #2d2d33;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.keychain-card:hover {
  transform: translateY(-5px);
  border-color: #ff5b22;
  box-shadow: 0 18px 40px rgba(255, 91, 34, 0.15);
}
.keychain-preview-box {
  background: radial-gradient(circle at 50% 40%, #25252b 0%, #0e0e11 100%);
  padding: 34px 20px 28px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  border-bottom: 1px solid #25252b;
}
.discount-pill {
  position: absolute;
  top: 14px;
  left: 14px;
  background: #e63946;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  padding: 4px 9px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 12px rgba(230, 57, 70, 0.4);
}
.combo-pill {
  position: absolute;
  top: 14px;
  right: 14px;
  background: linear-gradient(135deg, #ff5b22, #ff8c42);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(255, 91, 34, 0.4);
}
.keychain-tag-mockup {
  width: 90%;
  max-width: 220px;
  height: 62px;
  background: linear-gradient(145deg, #1f1f23, #111113);
  border-radius: 12px;
  border: 1px solid #44444d;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 8px 22px rgba(0,0,0,0.6), inset 0 1px 2px rgba(255,255,255,0.12);
  transition: transform 0.3s ease;
}
.keychain-card:hover .keychain-tag-mockup {
  transform: scale(1.05) rotate(-1deg);
}
.keychain-tag-mockup.curved {
  border-radius: 14px;
  transform: perspective(300px) rotateY(-4deg);
}
.keychain-tag-mockup.double-line {
  height: 72px;
}
.keychain-hole {
  position: absolute;
  left: 14px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #09090b;
  border: 2.5px solid #71717a;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.9);
}
.keychain-hole::after {
  content: '';
  position: absolute;
  left: -8px;
  top: -8px;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(161, 161, 170, 0.5);
  border-radius: 50%;
  border-right-color: transparent;
  transform: rotate(45deg);
}
.keychain-letters {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  color: #f8fafc;
  font-size: 19px;
  letter-spacing: 2px;
  text-align: center;
  padding-left: 20px;
  text-shadow: 0 1px 0 #94a3b8, 0 2px 0 #64748b, 0 3px 5px rgba(0,0,0,0.9);
  user-select: none;
}
.keychain-letters.small {
  font-size: 13px;
  line-height: 1.25;
  letter-spacing: 1px;
}
.keychain-card-body {
  padding: 22px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.keychain-badge-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.mini-badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  background: #1f1f24;
  color: #ff8c42;
  border: 1px solid #33333d;
  border-radius: 6px;
}
.keychain-card h4 {
  font-size: 18px;
  margin: 0 0 4px;
  color: #fff;
  font-weight: 800;
}
.keychain-sub {
  color: #8b8882;
  font-size: 12px;
  margin: 0 0 14px;
}
.keychain-price-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #232328;
}
.keychain-price-row .current-price {
  font-size: 26px;
  font-weight: 900;
  color: #ff5b22;
}
.keychain-price-row .current-price span {
  font-size: 14px;
  font-weight: 600;
  color: #aaa;
}
.keychain-price-row .old-price {
  font-size: 14px;
  color: #71717a;
  text-decoration: line-through;
  font-weight: 500;
}
.keychain-perks {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  font-size: 12px;
  color: #c4c2bd;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.keychain-perks li {
  position: relative;
  padding-left: 16px;
}
.keychain-perks li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #10b981;
  font-weight: 900;
}
.keychain-actions {
  margin-top: auto;
}
.btn.small {
  padding: 11px 18px;
  font-size: 13px;
  border-radius: 12px;
}
.btn.full {
  width: 100%;
  display: flex;
  justify-content: center;
}

@media(max-width: 768px) {
  .keychains-showcase-section {
    padding: 28px 18px;
    margin: 36px 0;
  }
  .keychains-grid {
    grid-template-columns: 1fr;
  }
}
