/* ===== Заголовки секций для home ===== */
.section-title{
  font-family: PlayfairDisplay, serif;
  font-size: clamp(28px, 3.2vw, 40px);
  letter-spacing: .3px;
  background: linear-gradient(90deg, #fff, var(--accent-2));
  -webkit-background-clip: text; background-clip: text; color: transparent;
  margin-bottom: 14px;
}
.section-lead{ color: var(--ink); font-size: clamp(16px, 1.8vw, 18px); margin-bottom: 10px; }
.section-text{ color: var(--ink-dim); }

/* ===== Секция 1: экспозиция с мозаикой ===== */
.expo-section{
  position: relative;
  padding: clamp(28px, 4vw, 48px) 0 56px;
  overflow: hidden;
}
.expo-head{
  max-width: 900px;
  margin-bottom: clamp(18px, 3.2vw, 28px);
}
.expo-mosaic{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(14px, 2vw, 22px);
  align-items: start;
}
.tile{
  background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  padding: 14px;
  box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.tile:hover{
  transform: translateY(-4px) rotate3d(0,1,0, 6deg);
  box-shadow: 0 16px 42px rgba(46,125,233,.25);
  filter: saturate(1.06);
}
.tile img{ border-radius: calc(var(--radius) - 10px); }
.tile figcaption{ margin-top: 10px; }

/* Нестандартное позиционирование (не просто карточки) */
.tile--a{ grid-column: 1 / span 4; }
.tile--b{ grid-column: 5 / span 4; transform-origin: 50% 20%; }
.tile--c{ grid-column: 9 / span 4; transform-origin: 50% 80%; }

/* Примечание под мозаикой */
.expo-note{
  margin-top: clamp(18px, 3.2vw, 28px);
  border-left: 3px solid var(--gold);
  padding-left: 14px;
  color: var(--ink-dim);
}

/* Фоновая «вода» с параллаксом (без внешних ресурсов) */
.bg-waves{
  position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(1200px 300px at 10% 0%, rgba(103,167,255,.10), transparent 60%),
    radial-gradient(800px 200px at 90% 10%, rgba(46,125,233,.10), transparent 60%),
    repeating-conic-gradient(from var(--wave-angle, 0deg) at 50% 85%,
      rgba(255,255,255,.05) 0 6deg,
      rgba(255,255,255,0) 6deg 12deg);
  opacity: .55;
  pointer-events: none;
  filter: blur(0.4px);
}

/* ===== Адаптив мозаики ===== */
@media (max-width: 1024px){
  .tile--a{ grid-column: 1 / span 6; }
  .tile--b{ grid-column: 7 / span 6; }
  .tile--c{ grid-column: 3 / span 8; }
}
@media (max-width: 720px){
  .expo-mosaic{ grid-template-columns: repeat(6, 1fr); }
  .tile--a{ grid-column: 1 / span 6; }
  .tile--b{ grid-column: 1 / span 6; }
  .tile--c{ grid-column: 1 / span 6; }
}
@media (max-width: 480px){
  .expo-section{ padding-bottom: 44px; }
  .tile{ padding: 12px; }
}
/* =============== СЕКЦИЯ 2: Ателье огранки =============== */
.atelier-section{
  position: relative;
  padding: clamp(28px, 4vw, 56px) 0;
}
.atelier-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(16px, 2vw, 24px);
  align-items: start;
}
.atelier-copy{
  grid-column: 1 / span 5;
  padding: clamp(14px, 1.8vw, 18px);
  border-radius: var(--radius);
  border: 1px solid rgba(210,180,140,.25);
  background: linear-gradient(180deg, rgba(210,180,140,.08), rgba(46,125,233,.06));
}
.spec-tags{
  display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 10px;
}
.chip{
  padding: 6px 10px; border-radius: 999px;
  border: 1px solid rgba(103,167,255,.24);
  background: linear-gradient(180deg, rgba(46,125,233,.12), rgba(46,125,233,.04));
  font-size: 13px; color: var(--ink-dim);
}
.melt-line{
  height: 1px; margin: 12px 0;
  background: linear-gradient(90deg, rgba(210,180,140,.0), rgba(210,180,140,.6), rgba(210,180,140,.0));
}

.atelier-mosaic{
  grid-column: 6 / span 7;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(14px, 2vw, 22px);
}
.card{
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  padding: 12px;
  background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.card:hover{ transform: translateY(-4px); box-shadow: 0 16px 42px rgba(46,125,233,.25); filter: saturate(1.06); }
.card figcaption{ color: var(--ink-dim); margin-top: 8px; }

.card.offset{ transform-origin: 20% 80%; }
.card.tall img{ aspect-ratio: 3 / 4; object-fit: cover; }

.atelier-mosaic .card:nth-child(1){ grid-column: 1 / span 6; }
.atelier-mosaic .card:nth-child(2){ grid-column: 7 / span 6; }
.atelier-mosaic .card:nth-child(3){ grid-column: 4 / span 6; }

.bg-arc{
  position: absolute; inset: auto 0 -20% 0; height: 40%;
  background:
    radial-gradient(60% 60% at 50% 0%, rgba(103,167,255,.12), transparent 60%),
    radial-gradient(30% 50% at 20% 100%, rgba(46,125,233,.10), transparent 60%);
  pointer-events: none; z-index: -1;
}

/* Адаптив секции 2 */
@media (max-width: 1024px){
  .atelier-copy{ grid-column: 1 / span 12; }
  .atelier-mosaic{ grid-column: 1 / span 12; }
}
@media (max-width: 720px){
  .atelier-mosaic{ grid-template-columns: repeat(6, 1fr); }
  .atelier-mosaic .card:nth-child(1){ grid-column: 1 / span 6; }
  .atelier-mosaic .card:nth-child(2){ grid-column: 1 / span 6; }
  .atelier-mosaic .card:nth-child(3){ grid-column: 1 / span 6; }
}

/* =============== СЕКЦИЯ 3: Лаборатория и происхождение =============== */
.lab-section{ padding: clamp(28px, 4vw, 56px) 0; }
.lab-wrap{
  display: grid; gap: clamp(16px, 2vw, 24px);
  grid-template-columns: repeat(12, 1fr);
  align-items: start;
}
.lab-aside{ grid-column: 1 / span 6; }
.lab-gallery{
  grid-column: 7 / span 6;
  display: grid; gap: clamp(14px, 2vw, 22px);
  grid-template-columns: repeat(12, 1fr);
}
.lab-card{
  grid-column: span 6;
  border-radius: var(--radius);
  border: 1px solid rgba(103,167,255,.25);
  background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  padding: 12px; box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
.lab-card:hover{ transform: translateY(-4px); box-shadow: 0 16px 42px rgba(46,125,233,.25); }

.timeline{
  position: relative; counter-reset: step;
  display: grid; gap: 14px; margin: 14px 0;
  padding-left: 18px;
}
.timeline li{
  position: relative; padding-left: 14px;
}
.timeline li::before{
  counter-increment: step; content: counter(step);
  position: absolute; left: -28px; top: 2px;
  width: 22px; height: 22px; display: grid; place-items: center;
  border-radius: 50%;
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
  color: #0b1220; font-weight: 700; font-size: 12px;
  box-shadow: 0 4px 12px rgba(46,125,233,.35);
}
.timeline::after{
  content: ""; position: absolute; left: -17px; top: 4px; bottom: 4px; width: 2px;
  background: linear-gradient(180deg, rgba(103,167,255,.0), rgba(103,167,255,.5), rgba(103,167,255,0));
}

.t-title{ display: block; font-weight: 700; color: #fff; }
.t-text{ color: var(--ink-dim); }

/* Адаптив секции 3 */
@media (max-width: 1024px){
  .lab-aside{ grid-column: 1 / span 12; }
  .lab-gallery{ grid-column: 1 / span 12; }
}
@media (max-width: 640px){
  .lab-gallery .lab-card{ grid-column: 1 / -1; }
}

/* =============== СЕКЦИЯ 4: Индивидуализация =============== */
.custom-section{ padding: clamp(28px, 4vw, 56px) 0; }
.custom-head{ max-width: 900px; margin-bottom: 12px; }

.swatches{
  display: flex; gap: 10px; margin: 8px 0 18px;
}
.sw{
  width: 40px; height: 24px; border-radius: 8px;
  border: 1px solid rgba(103,167,255,.24);
  box-shadow: var(--shadow);
}
.sw.s1{ background: linear-gradient(180deg, #cfe6ff, #9ec7ff); }
.sw.s2{ background: linear-gradient(180deg, #9dc2ff, #6aa6ff); }
.sw.s3{ background: linear-gradient(180deg, #6aa6ff, #2e7de9); }
.sw.s4{ background: linear-gradient(180deg, #325cab, #1b3f7a); }
.sw.s5{ background: linear-gradient(180deg, #5c79c7, #3a5bb1); }

.rail{
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 260px);
  gap: 14px; overflow-x: auto; padding-bottom: 6px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.rail::-webkit-scrollbar{ height: 6px; }
.rail::-webkit-scrollbar-thumb{ background: rgba(103,167,255,.35); border-radius: 8px; }
.rail-card{
  scroll-snap-align: start;
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  padding: 12px; background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
.rail-card:hover{ transform: translateY(-4px); box-shadow: 0 16px 42px rgba(46,125,233,.25); }

.magnet-chips{
  display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 4px;
}
.magnet-chip{
  padding: 10px 12px; border-radius: 999px;
  border: 1px solid rgba(210,180,140,.32);
  background: linear-gradient(180deg, rgba(210,180,140,.12), rgba(46,125,233,.04));
  color: var(--ink); will-change: transform;
  transition: transform .15s ease;
}

/* Адаптив секции 4 */
@media (max-width: 520px){
  .rail{ grid-auto-columns: 82%; }
}

/* Общий мелкий эффект подъёма */
.lift{ transition: transform .25s ease, box-shadow .25s ease; }
.lift:hover{ transform: translateY(-4px); box-shadow: 0 16px 42px rgba(46,125,233,.25); }
/* =============== СЕКЦИЯ 5: Микроколлекции =============== */
.microsets-section{ position: relative; padding: clamp(28px, 4vw, 56px) 0; overflow: hidden; }
.microsets-head{ margin-bottom: 10px; }

.diag-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(14px, 2vw, 22px);
}
.diag-card{
  grid-column: span 4;
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  padding: 12px;
  background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  box-shadow: var(--shadow);
  transform: rotate(-1deg);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.diag-card:hover{ transform: rotate(0deg) translateY(-4px); box-shadow: 0 16px 42px rgba(46,125,233,.25); }
.diag-card--skew{ transform: rotate(1.6deg); }

.bg-zig{
  position: absolute; inset: auto 0 -10% 0; height: 36%;
  background:
    repeating-linear-gradient(135deg,
      rgba(103,167,255,.08) 0 14px, transparent 14px 28px);
  pointer-events: none; z-index: -1;
}

@media (max-width: 960px){
  .diag-card{ grid-column: span 6; }
}
@media (max-width: 600px){
  .diag-card{ grid-column: 1 / -1; }
}

/* =============== СЕКЦИЯ 6: Металлы и фактуры =============== */
.metals-section{ padding: clamp(24px, 4vw, 50px) 0; }
.compare{
  display: grid; gap: clamp(14px, 2vw, 22px);
  grid-template-columns: repeat(12, 1fr);
  align-items: stretch; margin-top: 6px;
}
.cmp-card{
  grid-column: span 6;
  border: 1px solid rgba(210,180,140,.28);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(210,180,140,.10), rgba(46,125,233,.05));
  padding: 12px;
  display: flex; flex-direction: column; justify-content: space-between;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.cmp-card:hover{ transform: translateY(-4px); box-shadow: 0 16px 42px rgba(210,180,140,.25); filter: saturate(1.05); }

.metal-bullets{
  display: flex; gap: 10px; flex-wrap: wrap;
  margin-top: 12px; color: var(--ink-dim);
}
.metal-bullets li{
  border: 1px solid rgba(103,167,255,.24);
  border-radius: 999px; padding: 8px 10px;
  background: linear-gradient(180deg, rgba(46,125,233,.12), rgba(46,125,233,.04));
  font-size: 13px;
}

@media (max-width: 720px){
  .cmp-card{ grid-column: 1 / -1; }
}

/* =============== СЕКЦИЯ 7: Подарочное оформление =============== */
.gifts-section{ padding: clamp(24px, 4vw, 50px) 0; }
.gifts-head{ margin-bottom: 8px; }

.gifts-rail{
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px, 260px);
  gap: 14px; overflow-x: auto; padding-bottom: 6px;
  scroll-snap-type: x mandatory;
}
.gifts-rail::-webkit-scrollbar{ height: 6px; }
.gifts-rail::-webkit-scrollbar-thumb{ background: rgba(210,180,140,.35); border-radius: 8px; }

.gift-card{
  scroll-snap-align: start;
  border: 1px solid rgba(210,180,140,.28);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(210,180,140,.10), rgba(46,125,233,.06));
  padding: 12px; box-shadow: var(--shadow);
  position: relative; overflow: hidden;
}
.shine::after{
  content: ""; position: absolute; inset: -20% -60% auto auto; height: 200%; width: 30%;
  transform: translateX(-140%) rotate(20deg);
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.25), rgba(255,255,255,0));
  transition: transform .8s ease;
  pointer-events: none;
}
.shine:hover::after{ transform: translateX(40%) rotate(20deg); }

.gift-badges{
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px;
}
.badge{
  border: 1px solid rgba(103,167,255,.24);
  border-radius: 999px; padding: 8px 10px;
  background: linear-gradient(180deg, rgba(46,125,233,.12), rgba(46,125,233,.04));
  font-size: 13px; color: var(--ink);
}
/* =============== СЕКЦИЯ 8: Посадка и размер =============== */
.fit-section{ position: relative; padding: clamp(28px,4vw,56px) 0; overflow: hidden; }
.fit-head{ max-width: 900px; margin-bottom: 10px; }

.fit-curve{
  display: grid; grid-template-columns: repeat(12,1fr);
  gap: clamp(14px,2vw,22px); align-items: start;
}
.fit-card{
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  padding: 12px;
  background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.fit-card:hover{ transform: translateY(-4px) rotate3d(0,1,0,6deg); filter: saturate(1.05); }

/* размещение «по дуге» через разные смещения */
.fit-a{ grid-column: 1 / span 4; transform-origin: 30% 70%; }
.fit-b{ grid-column: 5 / span 4; transform-origin: 50% 50%; }
.fit-c{ grid-column: 9 / span 4; transform-origin: 70% 30%; }

.fit-notes{
  display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; color: var(--ink-dim);
}
.fit-notes li{
  border: 1px solid rgba(210,180,140,.28);
  border-radius: 999px; padding: 8px 10px;
  background: linear-gradient(180deg, rgba(210,180,140,.12), rgba(46,125,233,.06));
  font-size: 13px;
}

.bg-curve{
  position: absolute; inset: auto 0 -15% 0; height: 40%;
  background:
    radial-gradient(60% 50% at 15% 40%, rgba(103,167,255,.10), transparent 60%),
    radial-gradient(60% 50% at 85% 60%, rgba(46,125,233,.10), transparent 60%);
  z-index: -1; pointer-events: none;
}

@media (max-width: 960px){
  .fit-a, .fit-b, .fit-c{ grid-column: span 6; }
}
@media (max-width: 600px){
  .fit-a, .fit-b, .fit-c{ grid-column: 1 / -1; }
}

/* =============== СЕКЦИЯ 9: Синий спектр =============== */
.spectrum-section{ padding: clamp(28px,4vw,56px) 0; }
.spectrum-head{ max-width: 900px; margin-bottom: 10px; }

.tone-band{
  display: grid; grid-template-columns: repeat(5,1fr);
  gap: 8px; margin: 8px 0 14px;
}
.tone{
  height: 18px; border-radius: 8px; box-shadow: var(--shadow);
  border: 1px solid rgba(103,167,255,.24);
}
.tone.t1{ background: linear-gradient(180deg, #d5e6ff, #a9caff); }
.tone.t2{ background: linear-gradient(180deg, #b6d0ff, #7fb0ff); }
.tone.t3{ background: linear-gradient(180deg, #7fb0ff, #2e7de9); }
.tone.t4{ background: linear-gradient(180deg, #3d62b5, #213f86); }
.tone.t5{ background: linear-gradient(180deg, #2a49a2, #152c6d); }

.spectrum-grid{
  display: grid; grid-template-columns: repeat(12,1fr);
  gap: clamp(14px,2vw,22px); align-items: stretch;
}
.sp-card{
  grid-column: span 6;
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  padding: 12px; background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  box-shadow: var(--shadow);
}
@media (max-width: 720px){
  .sp-card{ grid-column: 1 / -1; }
}

/* =============== СЕКЦИЯ 10: Сервис и уход =============== */
.service-section{ padding: clamp(28px,4vw,56px) 0; }
.service-head{ max-width: 820px; }

.service-grid{
  display: grid; grid-template-columns: repeat(12,1fr);
  gap: clamp(14px,2vw,22px); margin-top: 8px;
}
.svc-card{
  grid-column: span 6;
  border: 1px solid rgba(210,180,140,.28);
  border-radius: var(--radius);
  padding: 12px; background: linear-gradient(180deg, rgba(210,180,140,.10), rgba(46,125,233,.06));
  box-shadow: var(--shadow);
}
@media (max-width: 720px){
  .svc-card{ grid-column: 1 / -1; }
}

.service-bullets{
  display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; color: var(--ink-dim);
}
.service-bullets li{
  border: 1px solid rgba(103,167,255,.24);
  border-radius: 999px; padding: 8px 10px;
  background: linear-gradient(180deg, rgba(46,125,233,.12), rgba(46,125,233,.04));
  font-size: 13px;
}

/* KPI */
.kpis{
  display: grid; grid-template-columns: repeat(12,1fr);
  gap: clamp(14px,2vw,22px); margin-top: 12px;
}
.kpi{
  grid-column: span 4;
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  padding: 14px; text-align: center;
  background: linear-gradient(180deg, rgba(46,125,233,.12), rgba(46,125,233,.05));
  box-shadow: var(--shadow);
}
.kpi-num{
  font-family: PlayfairDisplay, serif;
  font-size: clamp(26px, 4.2vw, 44px);
  line-height: 1; color: #fff;
}
.kpi-label{ color: var(--ink-dim); margin-top: 6px; font-size: 14px; }

@media (max-width: 720px){
  .kpi{ grid-column: 1 / -1; }
}
/* =============== СЕКЦИЯ 11: Lookbook =============== */
.look-section{ padding: clamp(28px,4vw,56px) 0; }
.look-head{ max-width: 900px; margin-bottom: 10px; }

.look-grid{
  display: grid;
  grid-template-columns: repeat(12,1fr);
  gap: clamp(14px,2vw,22px);
}
.look-card{
  grid-column: span 3;
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  padding: 12px;
  background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  box-shadow: var(--shadow);
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.look-card:hover{ transform: translateY(-4px) rotate(0deg); box-shadow: 0 16px 42px rgba(46,125,233,.25); }
/* Лёгкое разнообразие наклонов */
.look-a{ transform: rotate(-1.1deg); }
.look-b{ transform: rotate(.8deg); }
.look-c{ transform: rotate(-.6deg); }
.look-d{ transform: rotate(1.2deg); }

.tag{
  display: inline-block; font-size: 12px; line-height: 1;
  border-radius: 999px; padding: 6px 8px; margin-right: 6px;
  color: #0b1220; background: linear-gradient(180deg, var(--accent-2), #9ec4ff);
  border: 1px solid rgba(103,167,255,.5);
}
.tag-dark{ color: #fff; background: linear-gradient(180deg, #3a58b1, #1f3277); border-color: rgba(103,167,255,.25); }

@media (max-width: 960px){
  .look-card{ grid-column: span 6; }
}
@media (max-width: 600px){
  .look-card{ grid-column: 1 / -1; }
}

/* =============== СЕКЦИЯ 12: Конструктив =============== */
.build-section{ padding: clamp(28px,4vw,56px) 0; }
.build-head{ max-width: 860px; margin-bottom: 8px; }

.build-compare{
  display: grid; grid-template-columns: repeat(12,1fr);
  gap: clamp(14px,2vw,22px);
}
.build-card{
  grid-column: span 6;
  border: 1px solid rgba(210,180,140,.28);
  border-radius: var(--radius);
  padding: 12px;
  background: linear-gradient(180deg, rgba(210,180,140,.10), rgba(46,125,233,.06));
  box-shadow: var(--shadow);
}
@media (max-width: 720px){
  .build-card{ grid-column: 1 / -1; }
}

.build-points{
  display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; color: var(--ink-dim);
}
.build-points li{
  border: 1px solid rgba(103,167,255,.24);
  border-radius: 999px; padding: 8px 10px;
  background: linear-gradient(180deg, rgba(46,125,233,.12), rgba(46,125,233,.04));
  font-size: 13px;
}

/* =============== СЕКЦИЯ 13: FAQ =============== */
.faq-section{ padding: clamp(28px,4vw,56px) 0; }
.faq-wrap{
  display: grid; grid-template-columns: repeat(12,1fr);
  gap: clamp(16px,2vw,24px); align-items: start;
}
.faq-left{ grid-column: 1 / span 7; }
.faq-aside{
  grid-column: 8 / span 5;
  display: grid; grid-template-columns: repeat(12,1fr);
  gap: clamp(14px,2vw,22px);
}
.faq-card{
  grid-column: span 12;
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  padding: 12px; box-shadow: var(--shadow);
}

@media (max-width: 1024px){
  .faq-left{ grid-column: 1 / -1; }
  .faq-aside{ grid-column: 1 / -1; }
}

/* Аккордеон FAQ */
.faq-list{ display: grid; gap: 10px; margin-top: 6px; }
.faq-item{
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(46,125,233,.12), rgba(46,125,233,.05));
  box-shadow: var(--shadow);
  overflow: hidden;
}
.faq-q{
  width: 100%; text-align: left; padding: 14px 44px 14px 14px;
  background: transparent; border: 0; color: #fff; font-size: 16px;
  display: block; position: relative; cursor: pointer;
}
.caret{
  position: absolute; top: 50%; right: 14px; width: 16px; height: 16px;
  border-right: 2px solid #cfe2ff; border-bottom: 2px solid #cfe2ff;
  transform: translateY(-50%) rotate(45deg);
  transition: transform .25s ease;
}
.faq-q[aria-expanded="true"] .caret{ transform: translateY(-50%) rotate(-135deg); }

.faq-a{
  max-height: 0; overflow: hidden;
  transition: max-height .35s ease, padding .25s ease;
  padding: 0 14px;
  color: var(--ink-dim);
}
.faq-item.open .faq-a{ padding: 0 14px 12px; }

/* Мобильный аккордеон — на всю ширину */
@media (max-width: 520px){
  .faq-card{ grid-column: 1 / -1; }
}
/* =============== СЕКЦИЯ 14: Карта вдохновения =============== */
.inspo-section{ padding: clamp(28px,4vw,56px) 0; }
.inspo-head{ max-width: 900px; margin-bottom: 10px; }

.inspo-canvas{
  position: relative; min-height: 360px;
  border: 1px solid rgba(103,167,255,.22);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(46,125,233,.08), rgba(46,125,233,.04));
  box-shadow: var(--shadow);
  overflow: hidden;
}

.inspo-svg{ position: absolute; inset: 0; }
.inspo-path{
  stroke-dasharray: 8 12;
  animation: inspoDash 12s linear infinite;
  opacity: .8;
}
@keyframes inspoDash {
  to { stroke-dashoffset: -480; }
}

/* Орбы по обе стороны «пути» */
.orb{
  position: absolute; width: min(46vw, 350px);
  background: radial-gradient(140px 120px at 60% 30%, rgba(103,167,255,.18), transparent 60%);
  border: 1px solid rgba(103,167,255,.25);
  border-radius: 26px;
  padding: 12px;
}
.orb img{ border-radius: 18px; }
.orb--left{ left: 22px; bottom: 18px; transform: rotate(-1.2deg); }
.orb--right{ right: 22px; top: 18px; transform: rotate(1deg); }

@media (max-width: 920px){
  .orb--left, .orb--right{ position: relative; left: auto; right: auto; top: auto; bottom: auto; transform: none; }
  .inspo-canvas{ padding: 14px; }
  .inspo-svg{ display: none; }
  .orb{ width: 100%; }
}

/* =============== СЕКЦИЯ 15: Контакты и мастерские =============== */
.contact-section{ padding: clamp(28px,4vw,56px) 0; }
.contact-head{ max-width: 900px; margin-bottom: 10px; }

.contact-grid{
  display: grid; grid-template-columns: repeat(12,1fr);
  gap: clamp(14px,2vw,22px); align-items: start;
}
.ticket{
  grid-column: span 6;
  position: relative;
  border-radius: 22px;
  background:
    radial-gradient(180px 120px at 10% 0%, rgba(210,180,140,.10), transparent 60%),
    radial-gradient(200px 160px at 90% 100%, rgba(46,125,233,.10), transparent 60%),
    linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.05));
  border: 1px dashed rgba(210,180,140,.5);
  box-shadow: var(--shadow);
  padding: 14px;
  overflow: hidden;
}
/* Перфорации по краям */
.ticket::before,
.ticket::after{
  content: ""; position: absolute; top: 0; bottom: 0; width: 10px;
  background:
    radial-gradient(5px 5px at 50% 6px, rgba(11,18,32,1) 48%, transparent 52%) repeat-y;
  background-size: 10px 22px;
  opacity: .9;
}
.ticket::before{ left: -1px; }
.ticket::after{ right: -1px; }

.ticket-top{ margin-bottom: 8px; }
.ticket-brand{
  font-family: PlayfairDisplay, serif;
  font-size: clamp(20px, 2.4vw, 26px);
  letter-spacing: .4px;
}
.ticket-note{ color: var(--ink-dim); }

.ticket-links{ display: grid; gap: 8px; margin: 10px 0; }
.ticket-links li{ display: flex; align-items: center; gap: 8px; }
.ticket-link{ font-size: 16px; }
.copy-btn{
  padding: 8px 10px; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(103,167,255,.28);
  background: linear-gradient(180deg, rgba(46,125,233,.14), rgba(46,125,233,.06));
  color: #fff;
  transition: transform .15s ease, box-shadow .25s ease;
}
.copy-btn:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px rgba(46,125,233,.25); }

.ticket-badges{
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px;
}
.tbadge{
  border: 1px solid rgba(210,180,140,.32);
  border-radius: 999px; padding: 8px 10px;
  background: linear-gradient(180deg, rgba(210,180,140,.12), rgba(46,125,233,.06));
  font-size: 13px;
}

/* визуальная карточка справа */
.ct-card{
  grid-column: span 3;
  border: 1px solid rgba(103,167,255,.25);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(46,125,233,.10), rgba(46,125,233,.06));
  padding: 12px; box-shadow: var(--shadow);
}

@media (max-width: 960px){
  .ticket{ grid-column: 1 / -1; }
  .ct-card{ grid-column: span 6; }
}
@media (max-width: 600px){
  .ct-card{ grid-column: 1 / -1; }
}

.contact-note{ color: var(--ink-dim); margin-top: 10px; }

/* Подсказка о копировании */
.ticket.copied .copy-btn{
  box-shadow: 0 0 0 2px rgba(103,167,255,.35) inset;
}
