.is-standard-home main { background: var(--warm-ivory); }

.standard-hero {
  position: relative;
  min-height: min(47rem, calc(100svh - 6.9rem));
  padding-block: clamp(3.5rem, 6vw, 6.25rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 0%, color-mix(in oklch, var(--champagne-linen) 46%, transparent), transparent 33rem),
    linear-gradient(115deg, var(--porcelain-white), var(--warm-ivory) 62%);
}
.standard-hero::after {
  position: absolute;
  right: -4rem;
  bottom: -8rem;
  width: 25rem;
  height: 25rem;
  border: 1px solid color-mix(in oklch, var(--muted-gold) 25%, transparent);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.standard-hero__grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(25rem, 0.98fr); align-items: center; gap: clamp(3rem, 6vw, 6.8rem); }
.standard-hero__copy { display: grid; align-content: center; gap: 1.45rem; max-width: 42rem; }
.standard-hero h1 { max-width: 9.2ch; font-size: clamp(4.7rem, 6.8vw, 7.25rem); line-height: 0.88; }
.standard-hero .lead { max-width: 40rem; margin: 0; font-size: clamp(1rem, 1.2vw, 1.14rem); line-height: 1.72; }
.standard-trust-line { display: flex; flex-wrap: wrap; gap: 0.35rem 0.8rem; color: var(--deep-olive); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.standard-trust-line span { color: var(--terracotta-blush); }
.standard-hero__image { position: relative; min-height: 36rem; margin: 0; }
.standard-hero__image::before {
  position: absolute;
  z-index: 0;
  inset: -1.25rem 2.25rem 1.25rem -1.25rem;
  border: 1px solid color-mix(in oklch, var(--muted-gold) 40%, transparent);
  border-radius: 13rem 13rem 1.25rem 1.25rem;
  content: "";
}
.standard-hero__image img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; border-radius: 13rem 13rem 1.25rem 1.25rem; object-fit: cover; object-position: center 42%; box-shadow: var(--shadow-soft); }
.standard-hero__image figcaption { position: absolute; z-index: 2; right: -1.5rem; bottom: 2rem; max-width: 15rem; padding: 0.9rem 1.15rem; border: 1px solid color-mix(in oklch, var(--muted-gold) 28%, transparent); background: color-mix(in oklch, var(--porcelain-white) 91%, transparent); color: var(--deep-olive); font-family: var(--heading-font); font-size: 1.2rem; font-style: italic; line-height: 1.15; box-shadow: var(--shadow-card); backdrop-filter: blur(10px); }

.standard-section { position: relative; padding-block: clamp(5.25rem, 8vw, 8rem); }
.standard-heading { display: grid; gap: 1.2rem; max-width: 65rem; margin-bottom: clamp(2.75rem, 5vw, 4.5rem); }
.standard-heading--center { margin-inline: auto; text-align: center; justify-items: center; }
.standard-heading h2 { width: 100%; max-width: none; font-size: clamp(3.35rem, 5vw, 5rem); line-height: 0.94; }
.standard-heading p:last-child { max-width: 45rem; font-size: 1.05rem; }
.standard-title-line { display: block; }

.ceremony-finder { background: var(--porcelain-white); }
.ceremony-paths { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.ceremony-path {
  --card-accent: var(--dusty-rose);
  --card-surface: color-mix(in oklch, var(--dusty-rose) 17%, var(--porcelain-white));
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 23rem;
  align-content: start;
  gap: 1.1rem;
  padding: clamp(2rem, 3.5vw, 3.5rem);
  overflow: hidden;
  border-right: 1px solid var(--line);
  background:
    radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 50%), color-mix(in oklch, var(--card-accent) 30%, transparent), transparent 12rem),
    var(--card-surface);
}
.ceremony-path:nth-child(2) { --card-accent: var(--soft-sage); --card-surface: color-mix(in oklch, var(--soft-sage) 25%, var(--porcelain-white)); }
.ceremony-path:nth-child(3) { --card-accent: var(--muted-gold); --card-surface: color-mix(in oklch, var(--champagne-linen) 34%, var(--porcelain-white)); }
.ceremony-path:last-child { border-right: 0; }
.ceremony-path__number { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid color-mix(in oklch, var(--card-accent) 55%, var(--deep-olive)); border-radius: 50%; background: color-mix(in oklch, var(--porcelain-white) 65%, transparent); color: color-mix(in oklch, var(--card-accent) 58%, var(--cocoa-charcoal)); font-family: var(--heading-font); font-size: 1.05rem; font-style: italic; }
.ceremony-path h3 { max-width: 9ch; font-size: clamp(2.25rem, 3vw, 3.1rem); line-height: 0.95; }
.ceremony-path p { font-size: 0.96rem; }
.ceremony-path a, .standard-text-link { display: inline-flex; align-items: center; gap: 0.55rem; width: fit-content; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--deep-olive); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.065em; text-transform: uppercase; }
.ceremony-path a span, .standard-text-link span { transition: transform var(--transition); }
.standard-section-action { display: flex; justify-content: center; max-width: none; margin-top: 2.5rem; }

.travel-preview__copy h2, .trust-preview h2 { max-width: 13ch; font-size: clamp(3.4rem, 5.1vw, 5.25rem); line-height: 0.93; }

.process-preview { background: color-mix(in oklch, var(--champagne-linen) 19%, var(--warm-ivory)); }
.process-preview__steps { display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; padding: 0; counter-reset: none; }
.process-preview__steps li {
  --card-accent: var(--terracotta-blush);
  --card-surface: color-mix(in oklch, var(--dusty-rose) 15%, var(--porcelain-white));
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 12.5rem;
  grid-template-columns: auto 1fr;
  align-content: center;
  gap: 1.15rem;
  padding: clamp(1.5rem, 3vw, 2.7rem);
  overflow: hidden;
  border-block: 1px solid var(--line);
  border-right: 1px solid var(--line);
  background:
    radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 50%), color-mix(in oklch, var(--card-accent) 28%, transparent), transparent 11rem),
    var(--card-surface);
}
.process-preview__steps li:nth-child(2) { --card-accent: var(--soft-sage); --card-surface: color-mix(in oklch, var(--soft-sage) 24%, var(--porcelain-white)); }
.process-preview__steps li:nth-child(3) { --card-accent: var(--muted-gold); --card-surface: color-mix(in oklch, var(--champagne-linen) 33%, var(--porcelain-white)); }
.process-preview__steps li:last-child { border-right: 0; }
.process-preview__steps li > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid color-mix(in oklch, var(--card-accent) 55%, var(--deep-olive)); border-radius: 50%; background: color-mix(in oklch, var(--porcelain-white) 62%, transparent); color: var(--deep-olive); font-size: 0.75rem; font-weight: 800; }
.process-preview__steps h3 { margin-bottom: 0.65rem; font-size: clamp(1.85rem, 2.3vw, 2.4rem); }
.process-preview__steps p { font-size: 0.92rem; }

.cursor-responsive-card {
  --card-rotate-x: 0deg;
  --card-rotate-y: 0deg;
  --card-lift: 0rem;
  transform: perspective(900px) rotateX(var(--card-rotate-x)) rotateY(var(--card-rotate-y)) translateY(var(--card-lift));
  transform-style: preserve-3d;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
.cursor-responsive-card.is-pointer-active { --card-lift: -0.3rem; z-index: 2; box-shadow: 0 1.1rem 2.6rem color-mix(in oklch, var(--cocoa-charcoal) 13%, transparent); }

.travel-preview {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--deep-olive);
  color: var(--porcelain-white);
}
.travel-preview::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: url("../images/stock-experience-hero.jpg") center 44% / cover no-repeat;
  content: "";
  opacity: 0.25;
  filter: saturate(0.76) contrast(0.92);
  pointer-events: none;
}
.travel-preview::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(90deg, oklch(0.34 0.055 126 / 0.78), oklch(0.34 0.055 126 / 0.58));
  content: "";
  pointer-events: none;
}
.travel-preview h2, .travel-preview .standard-text-link { color: var(--porcelain-white); }
.travel-preview p { color: color-mix(in oklch, var(--porcelain-white) 78%, transparent); }
.travel-preview__grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(25rem, 0.98fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.travel-preview__copy { display: grid; gap: 1.5rem; max-width: 42rem; }
.travel-preview__copy h2 { color: var(--porcelain-white); }
.travel-preview .standard-text-link { border-top-color: color-mix(in oklch, var(--porcelain-white) 20%, transparent); }
.travel-preview__locations { border-block: 1px solid color-mix(in oklch, var(--porcelain-white) 20%, transparent); }
.travel-preview__locations div { display: grid; grid-template-columns: 2.5rem 1fr; align-items: center; gap: 1rem; min-height: 5.5rem; border-bottom: 1px solid color-mix(in oklch, var(--porcelain-white) 16%, transparent); }
.travel-preview__locations div:last-child { border-bottom: 0; }
.travel-preview__locations span { color: var(--champagne-linen); font-family: var(--heading-font); font-size: 1.1rem; font-style: italic; }
.travel-preview__locations strong { color: var(--porcelain-white); font-family: var(--heading-font); font-size: clamp(1.8rem, 2.8vw, 2.7rem); font-weight: 500; line-height: 1; }

.trust-preview {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--porcelain-white);
}
.trust-preview::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: url("../images/stock-faq-hero.jpg") center 42% / cover no-repeat;
  content: "";
  opacity: 0.28;
  filter: saturate(0.72) contrast(0.9);
  pointer-events: none;
}
.trust-preview::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(90deg, oklch(0.992 0.006 75 / 0.52), oklch(0.992 0.006 75 / 0.42));
  content: "";
  pointer-events: none;
}
.trust-preview__grid { display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: start; gap: clamp(3rem, 8vw, 8rem); }
.trust-preview__grid > div { display: grid; gap: 1.35rem; }
.standard-credentials { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.standard-credentials span { padding: 0.7rem 0.95rem; border: 1px solid color-mix(in oklch, var(--deep-olive) 30%, transparent); border-radius: 999px; color: var(--deep-olive); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }

.standard-final-cta { position: relative; padding-block: clamp(4.75rem, 7vw, 7rem); overflow: hidden; background: color-mix(in oklch, var(--cocoa-charcoal) 92%, var(--deep-olive)); color: var(--porcelain-white); }
.standard-final-cta::after { position: absolute; top: -11rem; right: -5rem; width: 29rem; height: 29rem; border: 1px solid color-mix(in oklch, var(--champagne-linen) 20%, transparent); border-radius: 50%; content: ""; }
.standard-final-cta__inner { display: grid; justify-items: center; gap: 1.35rem; max-width: 57rem; text-align: center; }
.standard-final-cta h2 { color: var(--porcelain-white); }
.standard-final-cta h2 { max-width: 15ch; font-size: clamp(3.45rem, 5.5vw, 5.6rem); line-height: 0.92; }
.standard-final-cta p { max-width: 43rem; color: color-mix(in oklch, var(--porcelain-white) 76%, transparent); }
.standard-final-cta .button-row { justify-content: center; }
.standard-final-cta .btn-primary { background: var(--porcelain-white); color: var(--deep-olive); box-shadow: none; }
.btn-secondary--light { border-color: color-mix(in oklch, var(--porcelain-white) 55%, transparent); color: var(--porcelain-white); }

@media (hover: hover) and (pointer: fine) {
  .ceremony-path a:hover span, .standard-text-link:hover span { transform: translateX(0.3rem); }
  .home-view-toggle a:not(.is-active):hover { background: color-mix(in oklch, var(--soft-sage) 24%, transparent); }
  .standard-final-cta .btn-primary:hover { background: var(--champagne-linen); }
  .btn-secondary--light:hover { border-color: var(--porcelain-white); background: var(--porcelain-white); color: var(--deep-olive); }
}

@media (max-width: 1100px) {
  .standard-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.8fr); gap: 3rem; }
  .standard-hero h1 { font-size: clamp(4.25rem, 7vw, 6rem); }
  .standard-hero__image { min-height: 32rem; }
}

@media (max-width: 900px) {
  .standard-hero { min-height: auto; }
  .standard-hero__grid, .travel-preview__grid, .trust-preview__grid { grid-template-columns: 1fr; }
  .standard-hero__copy { max-width: 45rem; }
  .standard-hero__image { width: min(100%, 37rem); min-height: 34rem; }
  .standard-hero__image figcaption { right: 1rem; }
  .ceremony-paths, .process-preview__steps { grid-template-columns: 1fr; }
  .ceremony-path { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .ceremony-path:last-child { border-bottom: 0; }
  .process-preview__steps li { border-right: 0; border-bottom: 0; }
  .travel-preview__locations { width: min(100%, 42rem); }
}

@media (max-width: 680px) {
  .standard-hero { padding-block: 3.5rem 4.5rem; }
  .standard-hero__copy { gap: 1.2rem; }
  .standard-hero h1 { max-width: 9.5ch; font-size: clamp(3.65rem, 16vw, 5rem); line-height: 0.91; }
  .standard-hero .button-row { align-items: stretch; }
  .standard-hero .button-row .btn { width: 100%; }
  .standard-hero__image { min-height: 27rem; }
  .standard-hero__image::before { inset: -0.7rem 1rem 0.7rem -0.7rem; }
  .standard-hero__image img, .standard-hero__image::before { border-radius: 9rem 9rem 0.8rem 0.8rem; }
  .standard-hero__image figcaption { right: 0.75rem; bottom: 0.75rem; }
  .standard-section { padding-block: 4.5rem; }
  .standard-heading h2, .travel-preview__copy h2, .trust-preview h2 { font-size: clamp(3rem, 13vw, 4.2rem); }
  .standard-title-line { display: inline; }
  .ceremony-path { padding: 2rem 0.25rem; }
  .process-preview__steps li { padding: 1.75rem 0; }
  .standard-final-cta h2 { font-size: clamp(3rem, 13vw, 4.25rem); }
  .standard-final-cta .button-row { width: 100%; align-items: stretch; }
  .standard-final-cta .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cursor-responsive-card { transform: none !important; }
}
