/* ═══════════════════════════════════════════════════════════════
   JOURY PAGES — About · Contact
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════════════════════════════ */

.page-about { background: #0D0608; color: #fff; }

/* ─── About hero ─────────────────────────────────────────────────── */
.about-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0D0608;
}

.about-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.about-hero__bg::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -100px;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(200,16,46,.22) 0%, transparent 65%);
  border-radius: 50%;
  animation: aboutBlob1 10s ease-in-out infinite;
}
.about-hero__bg::after {
  content: '';
  position: absolute;
  bottom: -100px;
  left: 5%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(196,154,108,.15) 0%, transparent 65%);
  border-radius: 50%;
  animation: aboutBlob2 13s ease-in-out infinite;
}
@keyframes aboutBlob1 { 0%,100%{transform:scale(1) translate(0,0)} 50%{transform:scale(1.12) translate(-30px,20px)} }
@keyframes aboutBlob2 { 0%,100%{transform:scale(1) translate(0,0)} 50%{transform:scale(1.08) translate(20px,-30px)} }

.about-hero__content {
  position: relative;
  z-index: 2;
  max-width: 640px;
  padding: 80px var(--gutter);
}

.about-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--brand-red);
  margin-bottom: 20px;
}
.about-hero__eyebrow span {
  width: 28px;
  height: 2px;
  background: var(--brand-red);
  display: inline-block;
  border-radius: 2px;
}

.about-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 7vw, 5rem);
  font-weight: 700;
  line-height: 1.05;
  color: #fff;
  margin-bottom: 22px;
}
.about-hero__title em { color: var(--brand-red); font-style: normal; }

.about-hero__text {
  font-size: 17px;
  color: rgba(255,255,255,.5);
  line-height: 1.8;
  max-width: 500px;
  margin-bottom: 36px;
}

/* ─── Stats strip ────────────────────────────────────────────────── */
.about-stats {
  background: #160B0E;
  border-top: 1px solid rgba(255,255,255,.05);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.about-stats__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.about-stat {
  padding: 48px 32px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.05);
  position: relative;
  overflow: hidden;
  transition: background var(--t);
}
.about-stat:last-child { border-right: none; }
.about-stat:hover { background: rgba(200,16,46,.04); }

.about-stat__num {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 700;
  color: var(--brand-red);
  display: block;
  line-height: 1;
  margin-bottom: 8px;
}
.about-stat__label {
  font-size: 13px;
  color: rgba(255,255,255,.4);
  font-weight: 500;
}
.about-stat__icon { font-size: 20px; display: block; margin-bottom: 10px; }

/* ─── Story section ──────────────────────────────────────────────── */
.about-story {
  padding: 100px 0;
  background: #0D0608;
}
.about-story__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.about-story__img-wrap {
  position: relative;
}
.about-story__img {
  width: 100%;
  border-radius: var(--radius-xl);
  overflow: hidden;
  aspect-ratio: 4/5;
  box-shadow: 0 32px 80px rgba(0,0,0,.5);
}
.about-story__img img { width: 100%; height: 100%; object-fit: cover; }

/* Floating badge on image */
.about-story__badge {
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--brand-red);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 8px 32px rgba(200,16,46,.4);
  border: 4px solid #0D0608;
  animation: badgeSpin 20s linear infinite;
}
.about-story__badge-year { font-size: 22px; font-weight: 800; color: #fff; line-height: 1; }
.about-story__badge-label { font-size: 9px; font-weight: 700; color: rgba(255,255,255,.7); letter-spacing: .08em; text-transform: uppercase; margin-top: 2px; }
@keyframes badgeSpin { 0%{box-shadow: 0 8px 32px rgba(200,16,46,.4)} 50%{box-shadow: 0 12px 48px rgba(200,16,46,.6)} 100%{box-shadow: 0 8px 32px rgba(200,16,46,.4)} }

.about-story__text-col {}
.about-story__label { color: var(--brand-red); margin-bottom: 14px; }
.about-story__title { margin-bottom: 22px; }
.about-story__body { color: rgba(255,255,255,.5); line-height: 1.85; font-size: 15px; margin-bottom: 16px; }
.about-story__body + .about-story__body { margin-top: -8px; }

/* ─── Values grid ────────────────────────────────────────────────── */
.about-values {
  padding: 80px 0;
  background: #160B0E;
}
.about-values__header { text-align: center; margin-bottom: 52px; }
.about-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.about-value {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--radius-lg);
  padding: 36px 28px;
  transition: transform var(--t), border-color var(--t), background var(--t);
  position: relative;
  overflow: hidden;
}
.about-value::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--brand-red);
  transform: scaleX(0);
  transition: transform var(--t);
}
.about-value:hover {
  transform: translateY(-5px);
  border-color: rgba(200,16,46,.2);
  background: rgba(200,16,46,.04);
}
.about-value:hover::before { transform: scaleX(1); }

.about-value__icon { font-size: 36px; display: block; margin-bottom: 16px; }
.about-value__title { font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 10px; }
.about-value__text  { font-size: 13px; color: rgba(255,255,255,.4); line-height: 1.65; }

/* ─── Timeline ───────────────────────────────────────────────────── */
.about-timeline {
  padding: 80px 0;
  background: #0D0608;
}
.about-timeline__header { text-align: center; margin-bottom: 64px; }

.about-timeline__track {
  position: relative;
  max-width: 780px;
  margin-inline: auto;
}
.about-timeline__track::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--brand-red), var(--brand-caramel), transparent);
  transform: translateX(-50%);
}

.about-timeline__item {
  display: grid;
  grid-template-columns: 1fr 48px 1fr;
  gap: 0;
  margin-bottom: 48px;
  position: relative;
}

.about-timeline__item-content {
  padding: 0 32px 0 0;
  text-align: right;
}
.about-timeline__item:nth-child(even) .about-timeline__item-content {
  grid-column: 3;
  grid-row: 1;
  padding: 0 0 0 32px;
  text-align: left;
}
.about-timeline__item:nth-child(even) .about-timeline__item-dot { grid-column: 2; grid-row: 1; }
.about-timeline__item:nth-child(even) .about-timeline__item-empty { grid-column: 1; grid-row: 1; display: block; }

.about-timeline__item-empty { display: block; }
.about-timeline__item:nth-child(odd) .about-timeline__item-empty { grid-column: 3; }

.about-timeline__item-dot {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--brand-red);
  border: 3px solid #0D0608;
  box-shadow: 0 0 0 3px rgba(200,16,46,.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  z-index: 2;
  position: relative;
  margin: 0 auto;
}

.about-timeline__year {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  color: var(--brand-red);
  text-transform: uppercase;
  margin-bottom: 6px;
}
.about-timeline__title { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.about-timeline__text  { font-size: 13px; color: rgba(255,255,255,.4); line-height: 1.6; }

/* ─── CTA band ───────────────────────────────────────────────────── */
.about-cta {
  padding: 100px 0;
  background: linear-gradient(135deg, #C8102E 0%, #8B0A20 100%);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.about-cta::before {
  content: '🍭';
  position: absolute;
  font-size: 300px;
  opacity: .05;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.about-cta__title { color: #fff; margin-bottom: 16px; font-size: clamp(1.8rem, 4vw, 3rem); }
.about-cta__text { color: rgba(255,255,255,.65); font-size: 16px; margin-bottom: 36px; max-width: 440px; margin-inline: auto; }

/* ═══════════════════════════════════════════════════════════════
   CONTACT PAGE v2
   ═══════════════════════════════════════════════════════════════ */

.page-contact { background: #0D0608; color: #fff; }

/* ─── Hero ─────────────────────────────────────────────────────── */
.cv2-hero {
  position: relative;
  min-height: 64vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0D0608;
}
.cv2-hero__bg { position: absolute; inset: 0; pointer-events: none; }

.cv2-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
}
.cv2-blob--1 {
  width: 640px; height: 640px; top: -200px; right: -80px;
  background: radial-gradient(circle, rgba(200,16,46,.18) 0%, transparent 65%);
  animation: cv2b1 13s ease-in-out infinite;
}
.cv2-blob--2 {
  width: 420px; height: 420px; bottom: -120px; left: 8%;
  background: radial-gradient(circle, rgba(196,154,108,.12) 0%, transparent 65%);
  animation: cv2b2 16s ease-in-out infinite;
}
.cv2-blob--3 {
  width: 300px; height: 300px; top: 30%; left: 42%;
  background: radial-gradient(circle, rgba(200,16,46,.07) 0%, transparent 65%);
  animation: cv2b3 19s ease-in-out infinite;
}
@keyframes cv2b1 { 0%,100%{transform:translate(0,0) scale(1)} 40%{transform:translate(-36px,28px) scale(1.07)} 70%{transform:translate(18px,-18px) scale(.96)} }
@keyframes cv2b2 { 0%,100%{transform:translate(0,0) scale(1)} 35%{transform:translate(28px,-38px) scale(1.05)} 65%{transform:translate(-14px,22px) scale(.97)} }
@keyframes cv2b3 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(-28px,18px) scale(1.09)} }

/* Floating particles */
.cv2-particle {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  animation: cv2float 8s ease-in-out infinite;
}
.cv2-particle--1  { width:4px;height:4px; background:#C8102E; top:14%;left:11%;  animation-delay:0s;   animation-duration:7s; }
.cv2-particle--2  { width:3px;height:3px; background:#C49A6C; top:34%;left:27%;  animation-delay:1.2s; animation-duration:9s; }
.cv2-particle--3  { width:5px;height:5px; background:#C8102E; top:62%;left:17%;  animation-delay:2.1s; animation-duration:8s; }
.cv2-particle--4  { width:3px;height:3px; background:#D4B896; top:18%;right:24%; animation-delay:.6s;  animation-duration:10s; }
.cv2-particle--5  { width:4px;height:4px; background:#C8102E; top:72%;right:14%; animation-delay:1.8s; animation-duration:7.5s; }
.cv2-particle--6  { width:6px;height:6px; background:#C49A6C; top:44%;right:34%; animation-delay:3.2s; animation-duration:11s; }
.cv2-particle--7  { width:3px;height:3px; background:#C8102E; top:82%;left:46%;  animation-delay:2.7s; animation-duration:8.5s; }
.cv2-particle--8  { width:4px;height:4px; background:#D4B896; top:9%; left:59%;  animation-delay:.9s;  animation-duration:9.5s; }
@keyframes cv2float {
  0%   { opacity:0; transform:translateY(0) scale(.4); }
  20%  { opacity:.6; }
  80%  { opacity:.3; }
  100% { opacity:0; transform:translateY(-64px) scale(1); }
}

.cv2-hero__inner {
  position: relative;
  z-index: 2;
  padding: 100px 0 84px;
}

.cv2-hero__title {
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  margin: 16px 0 20px;
}
.cv2-hero__title em {
  font-style: normal;
  background: linear-gradient(90deg, #C8102E, #A00D24, #C49A6C, #D4B896, #A0784A, #C8102E);
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-shimmer-sweep 3.5s linear infinite;
}

.cv2-hero__sub {
  font-size: clamp(15px, 2vw, 18px);
  color: rgba(255,255,255,.48);
  line-height: 1.8;
  max-width: 540px;
  margin-bottom: 40px;
}

/* Quick action pills */
.cv2-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cv2-quick {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: var(--radius-pill);
  font-size: 14px;
  font-weight: 600;
  border: 1.5px solid;
  text-decoration: none;
  transition: all var(--t);
  cursor: pointer;
}
.cv2-quick--phone {
  background: rgba(200,16,46,.1);
  border-color: rgba(200,16,46,.3);
  color: #fff;
}
.cv2-quick--phone:hover {
  background: var(--brand-red);
  border-color: var(--brand-red);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(200,16,46,.36);
}
.cv2-quick--wa {
  background: rgba(37,211,102,.08);
  border-color: rgba(37,211,102,.22);
  color: rgba(255,255,255,.82);
}
.cv2-quick--wa:hover {
  background: #25D366;
  border-color: #25D366;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(37,211,102,.32);
}
.cv2-quick--map {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
  color: rgba(255,255,255,.6);
}
.cv2-quick--map:hover {
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.2);
  color: #fff;
  transform: translateY(-2px);
}

/* ─── Main grid ─────────────────────────────────────────────────── */
.cv2-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 40px;
  align-items: start;
  padding: 80px 0;
}

/* ─── Form panel ────────────────────────────────────────────────── */
.cv2-form-panel {
  background: rgba(22,11,14,.85);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--radius-xl);
  padding: 52px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(20px);
}
.cv2-form-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand-red), var(--brand-caramel), transparent);
}

.cv2-form-header { margin-bottom: 32px; }
.cv2-form-header h2 {
  font-family: var(--font-display);
  font-size: 1.9rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 5px;
}
.cv2-form-header p { font-size: 13px; color: rgba(255,255,255,.3); }

.cv2-field-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  margin-bottom: 10px;
}
.cv2-subjects { margin-bottom: 32px; }

/* Pill selectors */
.cv2-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.cv2-pill {
  padding: 8px 15px;
  border-radius: var(--radius-pill);
  border: 1.5px solid rgba(255,255,255,.1);
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.5);
  cursor: pointer;
  background: none;
  font-family: var(--font-sans);
  transition: all var(--t-fast);
}
.cv2-pill:hover { border-color: var(--brand-red); color: #fff; background: rgba(200,16,46,.07); }
.cv2-pill.is-selected { background: var(--brand-red); border-color: var(--brand-red); color: #fff; }

/* Alerts */
.cv2-alert {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 20px;
  border-radius: var(--radius-md);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 24px;
}
.cv2-alert--ok  { background: rgba(34,197,94,.08);  border: 1px solid rgba(34,197,94,.25);  color: #22c55e; }
.cv2-alert--err { background: rgba(200,16,46,.08);  border: 1px solid rgba(200,16,46,.25);  color: #ff4060; }

/* Form rows + fields */
.cv2-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cv2-field { margin-bottom: 20px; }
.cv2-field > label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin-bottom: 8px;
}
.cv2-req { color: var(--brand-red); }

.cv2-wrap { position: relative; }
.cv2-ico {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px; height: 16px;
  color: rgba(255,255,255,.2);
  pointer-events: none;
  transition: color var(--t-fast);
}
.cv2-wrap--ta .cv2-ico { display: none; }

.cv2-wrap input,
.cv2-wrap textarea {
  width: 100%;
  background: rgba(255,255,255,.04);
  border: 1.5px solid rgba(255,255,255,.07);
  border-radius: var(--radius-md);
  padding: 14px 16px 14px 44px;
  font-size: 14px;
  color: #fff;
  font-family: var(--font-sans);
  outline: none;
  transition: border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);
  appearance: none;
}
.cv2-wrap--ta input,
.cv2-wrap--ta textarea { padding: 14px 16px; }
.cv2-wrap textarea { resize: vertical; min-height: 140px; }

.cv2-wrap input:focus,
.cv2-wrap textarea:focus {
  border-color: var(--brand-red);
  background: rgba(200,16,46,.05);
  box-shadow: 0 0 0 3px rgba(200,16,46,.1);
}
.cv2-wrap:focus-within .cv2-ico { color: var(--brand-red); }
.cv2-wrap input::placeholder,
.cv2-wrap textarea::placeholder { color: rgba(255,255,255,.18); }
.cv2-wrap input:valid:not(:placeholder-shown) { border-color: rgba(34,197,94,.3); }
.cv2-wrap input[type="email"]:invalid:not(:placeholder-shown) { border-color: rgba(239,68,68,.3); }

/* Char counter */
.cv2-chars {
  position: absolute;
  bottom: 10px; right: 14px;
  font-size: 11px;
  color: rgba(255,255,255,.2);
  pointer-events: none;
}

/* Submit */
.cv2-submit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 32px;
  background: linear-gradient(135deg, var(--brand-red) 0%, var(--brand-red-dark) 100%);
  border: none;
  border-radius: var(--radius-pill);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  font-family: var(--font-sans);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform var(--t), box-shadow var(--t);
  letter-spacing: .03em;
}
.cv2-submit::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.14) 0%, transparent 55%);
  opacity: 0;
  transition: opacity var(--t-fast);
}
.cv2-submit:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(200,16,46,.44); }
.cv2-submit:hover::before { opacity: 1; }
.cv2-submit:active { transform: translateY(0); }
.cv2-submit__arr { flex-shrink: 0; transition: transform var(--t); }
.cv2-submit:hover .cv2-submit__arr { transform: translateX(5px); }

/* ─── Sidebar ───────────────────────────────────────────────────── */
.cv2-sidebar { display: flex; flex-direction: column; gap: 14px; }

.cv2-card {
  background: rgba(22,11,14,.7);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--radius-lg);
  padding: 22px 20px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  transition: border-color var(--t), transform var(--t);
  backdrop-filter: blur(10px);
}
.cv2-card:hover { border-color: rgba(200,16,46,.22); transform: translateX(4px); }

.cv2-card__ico {
  width: 42px; height: 42px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cv2-ico--red     { background: rgba(200,16,46,.12); color: var(--brand-red); }
.cv2-ico--caramel { background: rgba(196,154,108,.12); color: var(--brand-caramel); }

.cv2-card__body { flex: 1; min-width: 0; }
.cv2-card__lbl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.28);
  margin-bottom: 5px;
}
.cv2-card__val {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 3px;
  text-decoration: none;
}
.cv2-card__val--link:hover { color: var(--brand-red); }
.cv2-card__note { font-size: 12px; color: rgba(255,255,255,.3); }

/* WhatsApp CTA inside card */
.cv2-wa-cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  padding: 7px 14px;
  background: rgba(37,211,102,.1);
  border: 1px solid rgba(37,211,102,.2);
  border-radius: var(--radius-pill);
  color: #25D366;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--t-fast);
}
.cv2-wa-cta:hover { background: #25D366; color: #fff; border-color: #25D366; }

/* Map link inside card */
.cv2-map-lnk {
  display: inline-block;
  margin-top: 9px;
  font-size: 12px;
  font-weight: 600;
  color: var(--brand-caramel);
  text-decoration: none;
  transition: color var(--t-fast);
}
.cv2-map-lnk:hover { color: var(--brand-caramel-lt); }

/* Hours table */
.cv2-hours { width: 100%; border-collapse: collapse; margin-top: 8px; }
.cv2-hours td { padding: 5px 0; font-size: 13px; border-bottom: 1px solid rgba(255,255,255,.04); }
.cv2-hours td:first-child { color: rgba(255,255,255,.42); }
.cv2-hours td:last-child  { color: #fff; font-weight: 600; text-align: right; }
.cv2-hours tr:last-child td { border-bottom: none; }
.cv2-hours--today td:first-child { color: var(--brand-red) !important; font-weight: 700; }
.cv2-now {
  display: inline-block;
  margin-left: 5px;
  padding: 1px 6px;
  background: rgba(200,16,46,.15);
  border: 1px solid rgba(200,16,46,.3);
  border-radius: var(--radius-pill);
  font-size: 9px;
  font-weight: 700;
  color: var(--brand-red);
  letter-spacing: .04em;
  text-transform: uppercase;
  vertical-align: middle;
}

/* ─── Social section ────────────────────────────────────────────── */
.cv2-socials {
  background: #160B0E;
  border-top: 1px solid rgba(255,255,255,.05);
  border-bottom: 1px solid rgba(255,255,255,.05);
  padding: 72px 0;
}
.cv2-socials__lbl {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  text-align: center;
  margin-bottom: 28px;
}
.cv2-socials__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.cv2-sc {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 18px;
  border-radius: var(--radius-lg);
  text-decoration: none;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.025);
  transition: transform var(--t), border-color var(--t), box-shadow var(--t);
}
.cv2-sc:hover { transform: translateY(-5px); box-shadow: 0 20px 48px rgba(0,0,0,.38); }

.cv2-sc__bg {
  position: absolute; inset: 0;
  opacity: 0;
  transition: opacity var(--t);
}
.cv2-sc:hover .cv2-sc__bg { opacity: 1; }

.cv2-sc--ig .cv2-sc__bg { background: linear-gradient(135deg, rgba(131,58,180,.14), rgba(253,29,29,.09), rgba(252,176,69,.07)); }
.cv2-sc--ig:hover { border-color: rgba(225,48,108,.3); }
.cv2-sc--ig .cv2-sc__icon { color: #E1306C; }

.cv2-sc--fb .cv2-sc__bg { background: rgba(24,119,242,.1); }
.cv2-sc--fb:hover { border-color: rgba(24,119,242,.3); }
.cv2-sc--fb .cv2-sc__icon { color: #1877F2; }

.cv2-sc--tt .cv2-sc__bg { background: rgba(255,0,80,.07); }
.cv2-sc--tt:hover { border-color: rgba(255,0,80,.25); }
.cv2-sc--tt .cv2-sc__icon { color: #fff; }

.cv2-sc--wa .cv2-sc__bg { background: rgba(37,211,102,.08); }
.cv2-sc--wa:hover { border-color: rgba(37,211,102,.25); }
.cv2-sc--wa .cv2-sc__icon { color: #25D366; }

.cv2-sc__icon { width: 36px; height: 36px; flex-shrink: 0; position: relative; z-index: 1; }
.cv2-sc__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: relative;
  z-index: 1;
}
.cv2-sc__name   { font-size: 14px; font-weight: 700; color: #fff; }
.cv2-sc__handle { font-size: 12px; color: rgba(255,255,255,.35); }
.cv2-sc__arr {
  width: 16px; height: 16px;
  color: rgba(255,255,255,.18);
  flex-shrink: 0;
  position: relative; z-index: 1;
  transition: transform var(--t), color var(--t);
}
.cv2-sc:hover .cv2-sc__arr { transform: translate(3px,-3px); color: rgba(255,255,255,.55); }

/* ─── Map section ───────────────────────────────────────────────── */
.cv2-map { background: #0D0608; }
.cv2-map__split {
  display: grid;
  grid-template-columns: 380px 1fr;
  min-height: 500px;
}
.cv2-map__info {
  padding: 64px 48px;
  background: #160B0E;
  border-right: 1px solid rgba(255,255,255,.05);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cv2-map__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--brand-red);
  margin-bottom: 12px;
}
.cv2-map__title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight: 700;
  color: #fff;
  margin-bottom: 14px;
  line-height: 1.15;
}
.cv2-map__text {
  font-size: 14px;
  color: rgba(255,255,255,.42);
  line-height: 1.8;
  margin-bottom: 28px;
}
.cv2-map__btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 13px 26px;
  background: var(--brand-red);
  border-radius: var(--radius-pill);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  align-self: flex-start;
  margin-bottom: 30px;
  transition: all var(--t);
}
.cv2-map__btn:hover { background: var(--brand-red-dark); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(200,16,46,.4); }

.cv2-map__meta { display: flex; flex-direction: column; gap: 12px; }
.cv2-map__meta-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
}
.cv2-map__meta-row > span { font-size: 18px; line-height: 1.4; flex-shrink: 0; }
.cv2-map__meta-row > div { display: flex; flex-direction: column; gap: 1px; }
.cv2-map__meta-row strong { color: rgba(255,255,255,.65); font-weight: 600; }
.cv2-map__meta-row small  { color: rgba(255,255,255,.32); }

.cv2-map__embed { position: relative; }
.cv2-map__embed iframe {
  width: 100%; height: 100%;
  display: block;
  filter: grayscale(.75) invert(1) contrast(.85) brightness(.88);
  border: none;
}

/* ─── Responsive (About + Contact v2) ────────────────────────────── */
@media (max-width: 1200px) {
  .cv2-grid { grid-template-columns: 1fr 320px; }
  .cv2-socials__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
  .about-story__grid { grid-template-columns: 1fr; gap: 48px; }
  .about-story__badge { right: 0; }
  .cv2-grid { grid-template-columns: 1fr; }
  .cv2-sidebar { display: grid; grid-template-columns: repeat(2, 1fr); }
  .cv2-map__split { grid-template-columns: 1fr; }
  .cv2-map__info { border-right: none; border-bottom: 1px solid rgba(255,255,255,.05); padding: 48px var(--gutter); }
  .cv2-map__embed { min-height: 380px; }
}
@media (max-width: 768px) {
  .about-stats__inner { grid-template-columns: repeat(2, 1fr); }
  .about-values__grid { grid-template-columns: repeat(2, 1fr); }
  .about-timeline__track::before { left: 24px; }
  .about-timeline__item { grid-template-columns: 48px 1fr; }
  .about-timeline__item-empty { display: none !important; }
  .about-timeline__item-content { padding: 0 0 0 24px !important; text-align: left !important; grid-column: 2 !important; grid-row: 1 !important; }
  .about-timeline__item-dot { grid-column: 1 !important; grid-row: 1 !important; }
  .cv2-hero { min-height: 52vh; }
  .cv2-hero__inner { padding: 80px 0 60px; }
  .cv2-form-panel { padding: 28px 20px; }
  .cv2-row { grid-template-columns: 1fr; }
  .cv2-sidebar { grid-template-columns: 1fr; }
  .cv2-socials__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}
@media (max-width: 540px) {
  .about-stats__inner { grid-template-columns: repeat(2, 1fr); }
  .about-values__grid { grid-template-columns: 1fr; }
  .cv2-quick-actions { gap: 8px; }
  .cv2-quick { padding: 10px 16px; font-size: 13px; }
  .cv2-socials__grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   404 PAGE
   ═══════════════════════════════════════════════════════════════ */

.page-404 { background: #0D0608; color: #fff; min-height: 90vh; display: flex; align-items: center; }

.e404-wrap {
  text-align: center;
  padding: 80px var(--gutter);
}

.e404__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 48px;
  line-height: 1;
}
.e404__num {
  font-family: var(--font-display);
  font-size: clamp(6rem, 18vw, 14rem);
  font-weight: 700;
  color: rgba(200,16,46,.15);
  letter-spacing: -4px;
}
.e404__icon {
  font-size: clamp(4rem, 12vw, 9rem);
  animation: e404Spin 6s ease-in-out infinite;
}
@keyframes e404Spin { 0%,100%{transform:rotate(-10deg) scale(1)} 50%{transform:rotate(10deg) scale(1.08)} }

.e404__body { max-width: 520px; margin-inline: auto; }
.e404__title {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  color: #fff;
  margin: 14px 0 16px;
  line-height: 1.3;
}
.e404__text { color: rgba(255,255,255,.45); font-size: 15px; line-height: 1.7; margin-bottom: 36px; }
.e404__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.e404__links { margin-top: 56px; }
.e404__links-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.25);
  margin-bottom: 16px;
}
.e404__link-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 4px;
  padding: 8px 18px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-pill);
  font-size: 13px;
  color: rgba(255,255,255,.5);
  transition: all var(--t-fast);
}
.e404__link-chip:hover { border-color: var(--brand-red); color: #fff; background: rgba(200,16,46,.1); }

/* ═══════════════════════════════════════════════════════════════
   SEARCH PAGE
   ═══════════════════════════════════════════════════════════════ */

.page-search { background: #0D0608; color: #fff; }

.search-hero {
  background: #160B0E;
  padding: 72px 0 60px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.search-hero__title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  margin: 12px 0 8px;
  line-height: 1.2;
}
.search-hero__title em { color: var(--brand-red); font-style: normal; }
.search-hero__count { font-size: 14px; color: rgba(255,255,255,.4); margin-bottom: 32px; }

.search-hero__form {
  display: flex;
  gap: 10px;
  max-width: 560px;
}
.search-hero__input {
  flex: 1;
  height: 52px;
  background: rgba(26,14,8,.04);
  border: 1.5px solid rgba(26,14,8,.12);
  border-radius: var(--radius-pill);
  padding: 0 22px;
  font-size: 14px;
  color: #1A0E08;
  font-family: var(--font-sans);
  outline: none;
  transition: border-color var(--t-fast), background var(--t-fast);
}
.search-hero__input:focus { border-color: var(--brand-red); background: rgba(200,16,46,.06); }
.search-hero__input::placeholder { color: rgba(26,14,8,.4); }

.search-results { padding: 60px 0 96px; }

.search-post-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: transform var(--t), border-color var(--t);
}
.search-post-card:hover { transform: translateY(-4px); border-color: rgba(200,16,46,.2); }
.search-post-card__img-wrap { aspect-ratio: 16/9; overflow: hidden; background: var(--bg-hover); }
.search-post-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--t); }
.search-post-card:hover .search-post-card__img { transform: scale(1.05); }
.search-post-card__body { padding: 20px; }
.search-post-card__type { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; display: block; }
.search-post-card__title { font-size: 15px; font-weight: 700; color: var(--text-1); margin-bottom: 8px; line-height: 1.35; }
.search-post-card__title a { color: inherit; }
.search-post-card__excerpt { font-size: 13px; color: var(--text-3); line-height: 1.55; }

/* ═══════════════════════════════════════════════════════════════
   GENERIC PAGE
   ═══════════════════════════════════════════════════════════════ */

.page-generic { background: #0D0608; color: #fff; }

.generic-hero {
  background: #160B0E;
  padding: 72px 0 56px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.generic-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
}

.generic-content {
  padding: 64px 0 96px;
  max-width: 800px;
}
.generic-content__body {
  color: rgba(255,255,255,.6);
  line-height: 1.85;
  font-size: 15px;
}
.generic-content__body h2,
.generic-content__body h3 { color: #fff; margin: 32px 0 12px; font-family: var(--font-display); }
.generic-content__body h2 { font-size: 1.6rem; }
.generic-content__body h3 { font-size: 1.2rem; }
.generic-content__body p  { margin-bottom: 16px; }
.generic-content__body ul,
.generic-content__body ol { padding-left: 24px; margin-bottom: 16px; }
.generic-content__body li { margin-bottom: 6px; }
.generic-content__body a  { color: var(--brand-red); }
.generic-content__body a:hover { text-decoration: underline; }
.generic-content__body blockquote {
  border-left: 3px solid var(--brand-red);
  padding-left: 20px;
  color: rgba(255,255,255,.4);
  font-style: italic;
  margin: 24px 0;
}

/* ═══════════════════════════════════════════════════════════════
   FAQ PAGE
   ═══════════════════════════════════════════════════════════════ */

.page-faq { background: #0D0608; color: #fff; }

.faq-hero {
  background: #160B0E;
  padding: 80px 0 64px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.faq-hero::before {
  content: '?';
  position: absolute;
  font-size: 400px;
  font-family: var(--font-display);
  font-weight: 700;
  color: rgba(255,255,255,.015);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  pointer-events: none;
}
.faq-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  color: #fff;
  margin: 14px 0 16px;
  position: relative;
  z-index: 1;
}
.faq-hero__text { font-size: 16px; color: rgba(255,255,255,.45); max-width: 420px; margin-inline: auto; line-height: 1.7; margin-bottom: 40px; position: relative; z-index: 1; }

.faq-hero__pills { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; position: relative; z-index: 1; }
.faq-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border: 1.5px solid rgba(255,255,255,.1);
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.5);
  transition: all var(--t-fast);
}
.faq-pill:hover { border-color: var(--brand-red); color: #fff; background: rgba(200,16,46,.1); }

.faq-body { padding: 72px 0 96px; max-width: 800px; }

.faq-section { margin-bottom: 56px; }
.faq-section__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.faq-section__icon { font-size: 28px; }
.faq-section__title { font-family: var(--font-display); font-size: 1.4rem; font-weight: 700; color: #fff; }

.faq-list { display: flex; flex-direction: column; gap: 4px; }

.faq-item {
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color var(--t-fast);
}
.faq-item:has(.faq-item__q[aria-expanded="true"]) { border-color: rgba(200,16,46,.25); }

.faq-item__q {
  width: 100%;
  background: rgba(255,255,255,.025);
  border: none;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--font-sans);
  padding: 18px 22px;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  transition: background var(--t-fast), color var(--t-fast);
}
.faq-item__q:hover { background: rgba(255,255,255,.04); color: var(--brand-red); }
.faq-item__q[aria-expanded="true"] { background: rgba(200,16,46,.08); color: var(--brand-red); }

.faq-item__chevron {
  font-size: 20px;
  font-weight: 400;
  flex-shrink: 0;
  transition: transform var(--t);
  color: var(--brand-red);
}
.faq-item__q[aria-expanded="true"] .faq-item__chevron { transform: rotate(45deg); }

.faq-item__a {
  padding: 0 22px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s var(--ease), padding 0.35s var(--ease);
}
.faq-item__a:not([hidden]) {
  padding: 0 22px 20px;
  max-height: 300px;
}
.faq-item__a p { font-size: 14px; color: rgba(255,255,255,.5); line-height: 1.8; }

.faq-cta {
  padding: 72px 0;
  background: #160B0E;
  border-top: 1px solid rgba(255,255,255,.05);
}
.faq-cta__inner {
  display: flex;
  align-items: center;
  gap: 28px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--radius-xl);
  padding: 40px 48px;
}
.faq-cta__icon { font-size: 48px; flex-shrink: 0; }
.faq-cta__title { font-size: 1.2rem; font-weight: 700; color: #fff; margin-bottom: 4px; }
.faq-cta__text  { font-size: 14px; color: rgba(255,255,255,.4); }
.faq-cta__inner .j-btn { margin-left: auto; flex-shrink: 0; }

/* ═══════════════════════════════════════════════════════════════
   LIVRAISON PAGE
   ═══════════════════════════════════════════════════════════════ */

.page-livraison { background: #0D0608; color: #fff; }

.deliv-hero {
  background: linear-gradient(135deg, #160B0E 0%, #0D0608 100%);
  padding: 80px 0 64px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.deliv-hero::before {
  content: '🚚';
  position: absolute;
  font-size: 320px;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .04;
  pointer-events: none;
}
.deliv-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  color: #fff;
  margin: 14px 0 16px;
}
.deliv-hero__text { font-size: 16px; color: rgba(255,255,255,.5); max-width: 480px; line-height: 1.7; margin-bottom: 32px; }

.deliv-hero__badges { display: flex; flex-wrap: wrap; gap: 10px; }
.deliv-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.7);
}

.deliv-steps { padding: 80px 0; background: #0D0608; }
.deliv-steps__head { margin-bottom: 52px; }
.deliv-steps__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  position: relative;
}
.deliv-steps__grid::before {
  content: '';
  position: absolute;
  top: 32px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(to right, var(--brand-red), var(--brand-caramel));
  z-index: 0;
}

.deliv-step {
  text-align: center;
  padding: 32px 20px 28px;
  position: relative;
  z-index: 1;
  background: #0D0608;
}
.deliv-step__num {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--brand-red);
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  box-shadow: 0 0 0 4px #0D0608, 0 0 0 6px rgba(200,16,46,.25);
}
.deliv-step__icon { font-size: 32px; display: block; margin-bottom: 12px; }
.deliv-step__title { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.deliv-step__text  { font-size: 13px; color: rgba(255,255,255,.4); line-height: 1.6; }

.deliv-zones { padding: 80px 0; background: #160B0E; }
.deliv-zones__head { margin-bottom: 48px; }

.deliv-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,.07);
}
.deliv-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 500px;
}
.deliv-table thead { background: rgba(200,16,46,.08); }
.deliv-table th {
  padding: 16px 24px;
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.deliv-table td {
  padding: 18px 24px;
  font-size: 14px;
  color: rgba(255,255,255,.65);
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.deliv-table tr:last-child td { border-bottom: none; }
.deliv-table tr:hover td { background: rgba(255,255,255,.02); }
.deliv-table__zone { font-weight: 600; color: #fff; }
.deliv-table__price { font-weight: 700; color: var(--brand-red); }
.deliv-table__yes { color: #22c55e; font-weight: 700; font-size: 16px; }
.deliv-table__no  { color: rgba(255,255,255,.2); }
.deliv-table__note { font-size: 12px; color: rgba(255,255,255,.3); margin-top: 16px; padding: 0 4px; }

.deliv-info-section { padding: 80px 0; background: #0D0608; }
.deliv-info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.deliv-info-card {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--radius-lg);
  padding: 32px 24px;
  transition: transform var(--t), border-color var(--t);
}
.deliv-info-card:hover { transform: translateY(-4px); border-color: rgba(200,16,46,.2); }
.deliv-info-card__icon { font-size: 36px; display: block; margin-bottom: 16px; }
.deliv-info-card h3 { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 10px; }
.deliv-info-card p  { font-size: 13px; color: rgba(255,255,255,.4); line-height: 1.65; }

.deliv-cta {
  background: linear-gradient(135deg, var(--brand-red) 0%, #8B0A20 100%);
  padding: 72px 0;
  text-align: center;
}
.deliv-cta__inner { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.deliv-cta__title { font-family: var(--font-display); font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 700; color: #fff; }

/* ═══════════════════════════════════════════════════════════════
   CGV PAGE
   ═══════════════════════════════════════════════════════════════ */

.page-cgv { background: #0D0608; color: #fff; }

.cgv-hero {
  background: #160B0E;
  padding: 72px 0 56px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.cgv-hero__title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  margin: 12px 0 10px;
}
.cgv-hero__meta { font-size: 13px; color: rgba(255,255,255,.35); }

.cgv-body { padding: 72px 0 96px; }
.cgv-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 64px;
  align-items: start;
}

.cgv-toc {
  position: sticky;
  top: 100px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--radius-lg);
  padding: 28px;
}
.cgv-toc__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  margin-bottom: 16px;
}
.cgv-toc__list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.cgv-toc__list a {
  font-size: 13px;
  color: rgba(255,255,255,.45);
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  display: block;
  transition: all var(--t-fast);
  line-height: 1.4;
}
.cgv-toc__list a:hover { background: rgba(200,16,46,.08); color: var(--brand-red); }

.cgv-articles { display: flex; flex-direction: column; gap: 48px; }

.cgv-article {}
.cgv-article__title {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.cgv-article__body { font-size: 14px; color: rgba(255,255,255,.5); line-height: 1.85; }

.cgv-updated {
  font-size: 12px;
  color: rgba(255,255,255,.2);
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.05);
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE (all new pages)
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
  .deliv-info-grid { grid-template-columns: repeat(2, 1fr); }
  .cgv-layout { grid-template-columns: 1fr; }
  .cgv-toc { position: static; }
}
@media (max-width: 768px) {
  .deliv-steps__grid { grid-template-columns: repeat(2, 1fr); }
  .deliv-steps__grid::before { display: none; }
  .faq-cta__inner { flex-direction: column; text-align: center; }
  .faq-cta__inner .j-btn { margin-left: 0; }
  .search-hero__form { flex-direction: column; }
}
@media (max-width: 540px) {
  .deliv-steps__grid { grid-template-columns: 1fr; }
  .deliv-info-grid { grid-template-columns: 1fr; }
  .e404__actions { flex-direction: column; align-items: center; }
}

/* ═══════════════════════════════════════════════════════════════
   LOGO-COLOR TEXT ANIMATIONS — Static pages
   ═══════════════════════════════════════════════════════════════ */

/* ── ABOUT ─────────────────────────────────────────────────────── */

/* About hero italic accent — shimmer through all 5 colors */
.about-hero__title em {
  background: linear-gradient(90deg,
    #C8102E, #A00D24, #C49A6C, #D4B896, #A0784A, #C8102E
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-shimmer-sweep 3.5s linear infinite;
}

/* About hero title hover — full gradient sweep */
.about-hero__title { cursor: default; }
.about-hero__title:hover {
  background: linear-gradient(135deg,
    #fff 0%, #D4B896 18%, #C49A6C 38%,
    #C8102E 58%, #A00D24 78%, #fff 100%
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-logo-flow 3s ease infinite;
}

/* About stat numbers — cycle all 4 logo colors + glow */
.about-stat__num {
  animation: j-color-cycle 4s ease infinite, j-glow-cycle 4s ease infinite;
}

/* About timeline year labels — shimmer sweep */
.about-timeline__year {
  background: linear-gradient(90deg,
    #C8102E, #C49A6C, #D4B896, #A0784A, #C8102E
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-shimmer-sweep 4s linear infinite;
}

/* About values card title — caramel + red glow on card hover */
.about-value:hover .about-value__title {
  color: var(--brand-caramel-lt);
  text-shadow:
    0 0 14px rgba(196,154,108,.45),
    0 0 30px rgba(200,16,46,.2);
  transition: color var(--t), text-shadow var(--t);
}

/* ── CONTACT v2 ─────────────────────────────────────────────────── */

/* Hero title hover — gradient sweep */
.cv2-hero__title { cursor: default; }
.cv2-hero__title:hover {
  background: linear-gradient(135deg,
    #fff 0%, #D4B896 22%, #C49A6C 44%,
    #C8102E 66%, #A00D24 82%, #fff 100%
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-logo-flow 3s ease infinite;
}
/* Keep em gradient visible when parent hover overrides it */
.cv2-hero__title:hover em { -webkit-text-fill-color: transparent; }

/* Sidebar card labels — subtle color cycle */
.cv2-card__lbl { animation: j-color-cycle 6s ease infinite; }

/* Quick action phone pill — subtle pulse glow */
.cv2-quick--phone { animation: cv2PhonePulse 4s ease-in-out infinite; }
@keyframes cv2PhonePulse {
  0%,100% { box-shadow: none; }
  50%     { box-shadow: 0 0 16px rgba(200,16,46,.18); }
}

/* Map title hover */
.cv2-map__title { cursor: default; }
.cv2-map__title:hover {
  background: linear-gradient(135deg, #fff, #D4B896, #C49A6C, #C8102E, #A00D24, #fff);
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-logo-flow 3s ease infinite;
}

/* ── FAQ ────────────────────────────────────────────────────────── */

/* FAQ hero title hover — gradient */
.faq-hero__title { cursor: default; }
.faq-hero__title:hover {
  background: linear-gradient(135deg,
    #fff, #D4B896, #C49A6C, #C8102E, #A00D24, #fff
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-logo-flow 3s ease infinite;
}

/* FAQ section titles hover — shimmer */
.faq-section__title { cursor: default; }
.faq-section__title:hover {
  background: linear-gradient(90deg,
    #fff, #D4B896, #C49A6C, #C8102E, #A00D24, #fff
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-shimmer-sweep 2.5s linear infinite;
}

/* FAQ question hover — red + caramel dual glow */
.faq-item__q:hover {
  text-shadow:
    0 0 16px rgba(200,16,46,.38),
    0 0 30px rgba(196,154,108,.22);
}

/* ── LIVRAISON ──────────────────────────────────────────────────── */

/* Delivery hero title hover — gradient */
.deliv-hero__title { cursor: default; }
.deliv-hero__title:hover {
  background: linear-gradient(135deg,
    #fff, #D4B896, #C49A6C, #C8102E, #A00D24, #fff
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-logo-flow 3s ease infinite;
}

/* Delivery step title — caramel glow on step hover */
.deliv-step:hover .deliv-step__title {
  color: var(--brand-caramel-lt);
  text-shadow: 0 0 14px rgba(196,154,108,.42);
  transition: color var(--t), text-shadow var(--t);
}

/* Delivery table prices — cycle all 4 colors + glow */
.deliv-table__price {
  animation: j-color-cycle 4s ease infinite, j-glow-cycle 4s ease infinite;
}

/* ── SEARCH ─────────────────────────────────────────────────────── */

/* Search hero italic accent — shimmer */
.search-hero__title em {
  background: linear-gradient(90deg,
    #C8102E, #A00D24, #C49A6C, #D4B896, #A0784A, #C8102E
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-shimmer-sweep 3.5s linear infinite;
}

/* ── 404 ────────────────────────────────────────────────────────── */

/* 404 large numerals — faint color cycle (stays decorative) */
.e404__num {
  animation: j-color-cycle-faint 5s ease infinite;
}

/* 404 title hover — shimmer */
.e404__title { cursor: default; }
.e404__title:hover {
  background: linear-gradient(90deg,
    #fff, #D4B896, #C49A6C, #C8102E, #A00D24, #fff
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-shimmer-sweep 2.5s linear infinite;
}

/* ── GENERIC / CGV ──────────────────────────────────────────────── */

/* Generic page hero title hover — gradient */
.generic-hero__title,
.cgv-hero__title { cursor: default; }
.generic-hero__title:hover,
.cgv-hero__title:hover {
  background: linear-gradient(135deg,
    #FFF8F2, #D4B896, #C49A6C, #C8102E, #A00D24, #FFF8F2
  );
  background-size: 300% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: j-logo-flow 3s ease infinite;
}

/* CGV table-of-contents links hover — caramel shimmer */
.cgv-toc__list a:hover {
  text-shadow: 0 0 10px rgba(200,16,46,.3), 0 0 20px rgba(196,154,108,.2);
}
