:root {
  --sd-wine: #4b071c;
  --sd-wine-deep: #24030f;
  --sd-cream: #fff6ea;
  --sd-gold: #d8b56d;
  --sd-blush: #f4d9d9;
}

.custom-difference {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--sd-cream) 0%, #f6eadc 100%);
  color: #201719;
  padding: clamp(4.5rem, 9vw, 8rem) 1.25rem;
}

.custom-difference::before {
  content: "";
  position: absolute;
  width: 34rem;
  height: 34rem;
  right: -18rem;
  top: -20rem;
  border-radius: 50%;
  background: rgba(200, 161, 91, .18);
  filter: blur(35px);
}

.custom-difference__inner { max-width: 72rem; margin: 0 auto; position: relative; }
.custom-difference__eyebrow { color: var(--sd-wine); font-size: .72rem; font-weight: 700; letter-spacing: .2em; }
.custom-difference h2 { max-width: 53rem; margin: 1rem 0 0; font-family: Georgia, serif; font-size: clamp(2.15rem, 5vw, 4.25rem); line-height: 1.04; font-weight: 400; }
.custom-difference__intro { max-width: 43rem; margin: 1.35rem 0 0; color: rgba(32, 23, 25, .68); font-size: clamp(1rem, 1.6vw, 1.15rem); line-height: 1.7; }

.custom-difference__features { margin-top: 2.75rem; }
.custom-feature { min-height: 24rem; position: relative; overflow: hidden; border-radius: 1.5rem; background: var(--sd-wine-deep); box-shadow: 0 22px 50px -35px rgba(40, 4, 16, .55); }
.custom-feature--atelier { max-width: 100%; }
.custom-feature img, .custom-feature video { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform .7s ease; }
.custom-feature:hover img, .custom-feature:hover video { transform: scale(1.035); }
.custom-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(20, 2, 8, .92) 100%); }
.custom-feature__copy { position: absolute; z-index: 1; left: clamp(1.5rem, 4vw, 3rem); right: 1.5rem; bottom: clamp(1.5rem, 4vw, 3rem); max-width: 31rem; color: white; }
.custom-feature__copy h3 { font-family: Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 400; }
.custom-feature__copy p { margin-top: .55rem; color: rgba(255,255,255,.78); font-size: 1rem; line-height: 1.6; }

.custom-story { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1.25rem; margin-top: 1.25rem; }
.custom-story--single { display: block; }
.custom-story__media { min-height: 33rem; overflow: hidden; border-radius: 1.5rem; background: var(--sd-wine-deep); }
.custom-story__media video { width: 100%; height: 100%; object-fit: cover; }
.custom-story__quote { display: flex; flex-direction: column; justify-content: center; border-radius: 1.5rem; background: var(--sd-wine-deep); color: var(--sd-cream); padding: clamp(2rem, 4vw, 3.5rem); }
.custom-story__quote span { color: var(--sd-gold); font-size: .7rem; font-weight: 700; letter-spacing: .18em; }
.custom-story__quote blockquote { margin: 1.3rem 0 0; font-family: Georgia, serif; font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1.22; }
.custom-story__quote p { margin-top: 1.5rem; color: rgba(244,217,217,.72); line-height: 1.6; }
.custom-story__quote strong { display: block; margin-top: 1.7rem; color: var(--sd-gold); font-size: .85rem; letter-spacing: .08em; }
.custom-story__cta { display: inline-flex; align-self: flex-start; margin-top: 2rem; padding: .95rem 1.35rem; border-radius: 999px; background: var(--sd-gold); color: var(--sd-wine-deep); text-decoration: none; font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.custom-story__cta:hover { filter: brightness(1.06); transform: translateY(-1px); }

/* Carry the same editorial style through the original landing. */
#process,
#styles,
#pricing,
#timeline,
#find-us,
#stories,
#faq { position: relative; }

#process::before,
#styles::before,
#pricing::before,
#timeline::before,
#find-us::before,
#stories::before,
#faq::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(72rem, calc(100% - 2.5rem));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(216,181,109,.32), transparent);
}

#process > div:first-child,
#styles > div,
#pricing > div,
#timeline > div,
#find-us > div,
#stories > div:first-child,
#faq > div { position: relative; z-index: 1; }

#process .rounded-2xl,
#styles figure,
#pricing .rounded-2xl,
#find-us .rounded-2xl,
#stories figure { border-radius: 1.35rem; }

#process .rounded-2xl,
#pricing .rounded-2xl,
#find-us .rounded-2xl { box-shadow: 0 24px 55px -38px rgba(0,0,0,.8); }

#stories,
#faq { background: linear-gradient(180deg, #fff6ea 0%, #f7eadc 100%); }

#faq button span:last-child { border-color: rgba(75,7,28,.22); background: rgba(255,255,255,.42); }

.remote-process__intro { max-width: 48rem; }
.remote-process__intro > p:last-child { max-width: 42rem; margin-top: 1.35rem; color: rgba(244,217,217,.7); font-size: 1.05rem; line-height: 1.7; }
.remote-process__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: clamp(2.5rem, 5vw, 4rem) 0 0; padding: 0; list-style: none; }
.remote-process__steps li { min-height: 15rem; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid rgba(244,217,217,.13); border-radius: 1.35rem; background: rgba(0,0,0,.22); }
.remote-process__steps li > span { color: rgba(216,181,109,.72); font-family: Georgia, serif; font-size: .85rem; }
.remote-process__steps h3 { margin-top: 2rem; color: var(--sd-cream); font-family: Georgia, serif; font-size: clamp(1.4rem, 2vw, 1.8rem); font-weight: 400; line-height: 1.2; }
.remote-process__steps p { margin-top: .75rem; color: rgba(244,217,217,.65); font-size: .95rem; line-height: 1.65; }
.remote-process__video { margin-top: clamp(1.5rem, 4vw, 2.75rem); overflow: hidden; border: 1px solid rgba(244,217,217,.13); border-radius: 1.5rem; background: #160109; aspect-ratio: 16 / 9; box-shadow: 0 28px 70px -42px rgba(0,0,0,.95); }
.remote-process__video video { display: block; width: 100%; height: 100%; object-fit: cover; }
.remote-process__closing { display: flex; justify-content: center; margin-top: 2rem; }
.remote-process__closing a { display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(216,181,109,.55); border-radius: 999px; padding: .9rem 1.45rem; color: var(--sd-gold); font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; transition: background-color .2s ease, border-color .2s ease; }
.remote-process__closing a:hover { border-color: var(--sd-gold); background: rgba(216,181,109,.1); }

.dress-inspiration-cta a { font-size: .72rem; }

.timeline-panel { display: grid; grid-template-columns: 1.15fr .85fr; overflow: hidden; border: 1px solid rgba(75,7,28,.1); border-radius: 1.5rem; background: #fffaf3; box-shadow: 0 28px 65px -45px rgba(75,7,28,.5); }
.timeline-panel__intro { padding: clamp(2rem, 5vw, 4rem); }
.timeline-panel__intro > p:last-child { max-width: 36rem; margin-top: 1.25rem; color: rgba(32,23,25,.68); font-size: 1.03rem; line-height: 1.75; }
.timeline-panel__intro strong { color: var(--sd-wine); }
.timeline-panel__urgent { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 3.5rem); background: var(--sd-wine-deep); color: var(--sd-cream); }
.timeline-panel__urgent > span { color: var(--sd-gold); font-size: .7rem; font-weight: 700; letter-spacing: .18em; }
.timeline-panel__urgent h3 { margin-top: 1rem; font-family: Georgia, serif; font-size: clamp(1.65rem, 3vw, 2.35rem); font-weight: 400; line-height: 1.15; }
.timeline-panel__urgent p { margin-top: 1rem; color: rgba(244,217,217,.72); line-height: 1.7; }
.timeline-panel__urgent a { align-self: flex-start; margin-top: 1.6rem; color: var(--sd-gold); font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; }

@media (max-width: 800px) {
  .custom-feature { min-height: 22rem; }
  .custom-story { grid-template-columns: 1fr; }
  .custom-story__media { min-height: 29rem; }
  .remote-process__steps { grid-template-columns: 1fr; }
  .remote-process__steps li { min-height: 0; }
  .remote-process__steps h3 { margin-top: 1.25rem; }
  .remote-process__video { aspect-ratio: 4 / 5; }
  .timeline-panel { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .custom-feature img, .custom-feature video, .custom-story__cta { transition: none; }
}
