:root {
  --dedta-midnight: #09070c;
  --dedta-midnight-raised: #15111c;
  --dedta-ivory: #f8f1e7;
  --dedta-gold: #d8b96a;
  --dedta-dark-gold: #7a5600;
  --dedta-wine: #54162c;
  --dedta-red: #ff3131;
  --dedta-rose: #e43d8b;
  --dedta-violet: #6c3af1;
  --dedta-ink: #1b1720;
  --dedta-muted: #d9cfc2;
  --dedta-success: #176b47;
  --dedta-error: #a20d27;
  --dedta-shadow: 0 1.25rem 4rem rgb(9 7 12 / 24%);
  --dedta-radius: 1.25rem;
  --dedta-section: clamp(4rem, 9vw, 8rem);
  --dedta-gutter: clamp(1rem, 4vw, 2.75rem);
  --dedta-mobile-dock-height: 4.5rem;
}

html { scroll-behavior: smooth; }
body { overflow-x: clip; }
img { max-width: 100%; }
body,
button,
input,
textarea,
select { text-rendering: optimizeLegibility; }

:focus-visible {
  outline: 3px solid var(--dedta-rose);
  outline-offset: 4px;
}

::selection { color: var(--dedta-midnight); background: var(--dedta-gold); }
.wp-site-blocks { min-height: 100vh; }
.dedta-main { min-width: 0; }
.dedta-section {
  padding-block: var(--dedta-section);
  padding-inline-start: max(var(--dedta-gutter), env(safe-area-inset-left));
  padding-inline-end: max(var(--dedta-gutter), env(safe-area-inset-right));
}
.dedta-section--dark { background: var(--dedta-midnight); color: var(--dedta-ivory); }
.dedta-section--ivory { background: var(--dedta-ivory); color: var(--dedta-ink); }
.dedta-section--wine { background: linear-gradient(135deg, var(--dedta-wine), var(--dedta-midnight)); color: var(--dedta-ivory); }
.dedta-media-band { padding-block: clamp(1.25rem, 4vw, 3rem); }
.dedta-media-band .dedta-media { max-height: 42rem; object-fit: cover; }
.dedta-media-band > .wp-block-shortcode > .dedta-media--portrait { width: min(100%, 34rem); margin-inline: auto; }
.dedta-section--dark a:not(.wp-element-button),
.dedta-section--wine a:not(.wp-element-button) { color: var(--dedta-gold); }
.dedta-section--ivory a:not(.wp-element-button) { color: var(--dedta-wine); }
.dedta-section--ivory .dedta-kicker,
.dedta-section--ivory .dedta-card__price { color: var(--dedta-dark-gold); }
.dedta-kicker { color: var(--dedta-gold); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dedta-measure { max-width: 44rem; }
.dedta-heading { font-size: clamp(2.75rem, 6.8vw, 6.5rem); line-height: .96; letter-spacing: -.03em; text-wrap: balance; }
.dedta-main h2 { font-size: clamp(2rem, 4.4vw, 4.25rem); text-wrap: balance; }
.dedta-main h3 { font-size: clamp(1.35rem, 2.4vw, 2rem); text-wrap: balance; }
.dedta-copy { text-wrap: pretty; }
.dedta-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.dedta-skip-link { position: fixed; z-index: 9999; top: .5rem; left: .5rem; margin: 0; }
.dedta-skip-link:not(:focus-within) { width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dedta-skip-link a { display: inline-block; padding: .75rem 1rem; border-radius: .4rem; color: var(--dedta-midnight); background: var(--dedta-gold); font-weight: 800; }

.dedta-header {
  position: sticky;
  z-index: 80;
  top: 0;
  border-bottom: 1px solid rgb(216 185 106 / 45%);
  background: rgb(9 7 12 / 94%);
  backdrop-filter: blur(14px);
}
.dedta-header > .wp-block-group,
.dedta-footer > .wp-block-group {
  padding-inline-start: max(var(--dedta-gutter), env(safe-area-inset-left));
  padding-inline-end: max(var(--dedta-gutter), env(safe-area-inset-right));
}
.admin-bar .dedta-header { top: 32px; }
.dedta-header .wp-block-navigation .wp-block-navigation-item__content,
.dedta-header .wp-block-navigation a {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  padding: .45rem .35rem;
  align-items: center;
  justify-content: center;
  color: var(--dedta-ivory) !important;
  text-decoration: none;
}
.dedta-header .wp-block-navigation a:hover,
.dedta-header .wp-block-navigation a:focus-visible { color: var(--dedta-gold); }
.dedta-header .wp-block-navigation .dedta-nav-cta > .wp-block-navigation-item__content,
.dedta-header .dedta-nav-cta > a,
.dedta-header a.dedta-nav-cta {
  min-height: 44px;
  padding: .7rem 1rem;
  border: 1px solid var(--dedta-gold);
  border-radius: 999px;
  color: var(--dedta-midnight) !important;
  background: var(--dedta-gold);
  font-weight: 800;
}
.dedta-header .wp-block-navigation__responsive-container-open,
.dedta-header .wp-block-navigation__responsive-container-close {
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  color: var(--dedta-ivory);
}
.dedta-noscript-nav ul { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: 0; padding: .75rem var(--dedta-gutter); list-style: none; }
.dedta-noscript-nav a { display: inline-flex; min-width: 44px; min-height: 44px; padding: .45rem .35rem; align-items: center; color: var(--dedta-ivory); }

.dedta-button .wp-block-button__link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
.dedta-button .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 .6rem 2rem rgb(216 185 106 / 28%); }
.dedta-button--secondary .wp-block-button__link { background: transparent; border: 1px solid currentColor; color: inherit; }
.dedta-button .wp-block-button__link[aria-disabled="true"],
.dedta-button .wp-block-button__link.is-disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }

.dedta-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 75% 35%, rgb(228 61 139 / 22%), transparent 28%), var(--dedta-midnight);
  color: var(--dedta-ivory);
}
.dedta-hero::after { content: ''; position: absolute; inset: auto 0 0; height: .35rem; background: linear-gradient(90deg, var(--dedta-gold), var(--dedta-red), var(--dedta-rose), var(--dedta-violet), var(--dedta-gold)); }
.dedta-hero-art { padding: 0; background: var(--dedta-midnight); }
.dedta-hero-art__picture,
.dedta-hero-art__picture img { display: block; width: 100%; }
.dedta-hero-art__picture img { height: auto; }
.dedta-hero-art__actions { position: relative; z-index: 1; padding: clamp(1.25rem, 3vw, 2.25rem); border-top: 1px solid rgb(216 185 106 / 55%); }
.dedta-hero-art__actions .wp-block-buttons { justify-content: center; }
.dedta-hero__grid { min-height: min(860px, calc(100vh - 5rem)); align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.dedta-hero__title { margin: 0; font-size: clamp(3.1rem, 7.4vw, 7.2rem); line-height: .92; letter-spacing: -.035em; text-transform: uppercase; }
.dedta-hero__title strong { color: var(--dedta-gold); font-weight: inherit; }
.dedta-hero__copy { color: var(--dedta-muted); font-size: clamp(1.15rem, 2vw, 1.45rem); max-width: 44rem; }
.dedta-hero__portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; border: 1px solid rgb(216 185 106 / 50%); border-radius: 48% 48% var(--dedta-radius) var(--dedta-radius); box-shadow: var(--dedta-shadow); }

.dedta-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.dedta-trust__item { padding: 1.25rem; border-top: 1px solid var(--dedta-gold); }
.dedta-trust__item strong { display: block; color: var(--dedta-gold); font-family: var(--wp--preset--font-family--display); font-size: clamp(1.4rem, 3vw, 2.3rem); }

.dedta-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); }
.dedta-card { height: 100%; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgb(216 185 106 / 45%); border-radius: var(--dedta-radius); background: rgb(255 255 255 / 4%); }
.dedta-card--light { color: var(--dedta-ink); background: #fff; border-color: rgb(84 22 44 / 20%); box-shadow: 0 1rem 3rem rgb(84 22 44 / 8%); }
.dedta-card__price { color: var(--dedta-gold); font-family: var(--wp--preset--font-family--display); font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1; }
.dedta-package-columns { gap: clamp(1rem, 2vw, 1.75rem); }
.dedta-package-columns > .wp-block-column { min-width: 0; }

.dedta-proof-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 1rem; }
.dedta-proof-grid figure { margin: 0; height: 100%; }
.dedta-proof-grid img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; border-radius: var(--dedta-radius); }
.dedta-review { max-width: 48rem; margin-block: clamp(2rem, 5vw, 4rem); padding: clamp(1.5rem, 4vw, 3rem); border-left: .3rem solid var(--dedta-dark-gold); color: var(--dedta-ink); background: #fff; box-shadow: 0 1rem 3rem rgb(84 22 44 / 8%); }
.dedta-review blockquote { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.5rem, 3vw, 2.4rem); line-height: 1.25; }
.dedta-review cite { display: block; margin-top: 1rem; font-style: normal; font-weight: 700; }
.dedta-proof-columns { align-items: stretch; gap: 1rem; }
.dedta-proof-columns figure,
.dedta-proof-columns img { height: 100%; }
.dedta-proof-columns img { width: 100%; min-height: 280px; object-fit: cover; border-radius: var(--dedta-radius); }
.wp-block-shortcode { min-width: 0; }
.dedta-media { display: block; width: 100%; max-width: 100%; height: auto; border-radius: var(--dedta-radius); }
/* Homepage orientation and routing. Home hands visitors to the page that owns
   each topic, so these cards stay one line deep by design. */
.dedta-home-routes .dedta-heading { font-size: clamp(1.9rem, 4vw, 3.4rem); }
.dedta-route-cards { gap: clamp(1.5rem, 3vw, 2.75rem); margin-top: clamp(2rem, 4vw, 3.25rem); }
.dedta-route-cards .wp-block-column {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  padding: clamp(1.25rem, 2.4vw, 1.9rem);
  background: color-mix(in srgb, var(--dedta-ivory) 82%, var(--dedta-gold));
  border: 1px solid color-mix(in srgb, var(--dedta-dark-gold) 34%, transparent);
  border-radius: var(--dedta-radius);
}
.dedta-route-cards h3 { margin: 0; }
.dedta-route-cards p { margin: 0; }
.dedta-route-link { margin-top: auto; padding-top: .35rem; font-weight: 700; }
.dedta-route-link a { text-underline-offset: .22em; }
.dedta-route-link a::after { content: " \2192"; }
.dedta-media--card { aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--dedta-radius); }

.dedta-media--portrait { aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.dedta-media--landscape { aspect-ratio: 3 / 2; object-fit: cover; }
.dedta-media--logo { width: min(100%, 30rem); margin-inline: auto; object-fit: contain; }
.dedta-real-wedding-reel { width: min(100%, 64rem); margin: clamp(2rem, 5vw, 4rem) auto; }
.dedta-real-wedding-reel video { display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; background: var(--wp--preset--color--midnight); border-radius: var(--dedta-radius); box-shadow: var(--dedta-shadow); }
.dedta-real-wedding-reel figcaption { margin-top: .75rem; color: var(--wp--preset--color--ink); font-size: .95rem; text-align: center; }
.dedta-editorial-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(.75rem, 2vw, 1.25rem);
}
.dedta-editorial-gallery > .wp-block-shortcode,
.dedta-editorial-gallery > .dedta-media { grid-column: span 4; margin: 0; min-width: 0; overflow: hidden; border-radius: var(--dedta-radius); }
.dedta-editorial-gallery > .wp-block-shortcode:nth-child(1),
.dedta-editorial-gallery > .wp-block-shortcode:nth-child(3),
.dedta-editorial-gallery > .dedta-media:nth-child(1),
.dedta-editorial-gallery > .dedta-media:nth-child(3) { grid-column: span 8; }
.dedta-editorial-gallery > .wp-block-shortcode:nth-child(5),
.dedta-editorial-gallery > .wp-block-shortcode:nth-child(6),
.dedta-editorial-gallery > .wp-block-shortcode:nth-child(9),
.dedta-editorial-gallery > .wp-block-shortcode:nth-child(10),
.dedta-editorial-gallery > .dedta-media:nth-child(5),
.dedta-editorial-gallery > .dedta-media:nth-child(6),
.dedta-editorial-gallery > .dedta-media:nth-child(9),
.dedta-editorial-gallery > .dedta-media:nth-child(10) { grid-column: span 6; }
.dedta-editorial-gallery > .wp-block-shortcode:nth-child(8),
.dedta-editorial-gallery > .dedta-media:nth-child(8) { grid-column: span 8; }
.dedta-editorial-gallery .dedta-media { width: 100%; height: 100%; min-height: 18rem; max-height: 34rem; object-fit: cover; }

.dedta-legend-feature { overflow: hidden; }
.dedta-legend-portrait { position: relative; isolation: isolate; max-width: 38rem; margin-inline: auto; }
.dedta-legend-portrait::before {
  position: absolute;
  z-index: -1;
  inset: -8%;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle, rgb(228 61 139 / 34%), rgb(108 58 241 / 14%) 38%, transparent 68%);
  animation: dedta-spotlight 6s ease-in-out infinite alternate;
}
.dedta-legend-portrait::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  border: 1px solid rgb(216 185 106 / 66%);
  border-radius: var(--dedta-radius);
  pointer-events: none;
  box-shadow: inset 0 0 3rem rgb(216 185 106 / 14%), 0 1.5rem 5rem rgb(0 0 0 / 40%);
}
.dedta-legend-portrait .dedta-media { border-radius: var(--dedta-radius); }
.dedta-legend-badge { position: absolute; z-index: 2; right: .5rem; bottom: .5rem; width: min(clamp(8.5rem, 16vw, 12rem), calc(100% - 1rem)); overflow: visible; filter: drop-shadow(0 .75rem 1.5rem rgb(0 0 0 / 45%)); }
.dedta-legend-badge circle { fill: var(--dedta-midnight); stroke: var(--dedta-gold); stroke-width: 3; }
.dedta-legend-badge circle + circle { fill: none; stroke-width: 1; stroke-dasharray: 3 6; }
.dedta-legend-badge text { fill: var(--dedta-gold); font-family: var(--wp--preset--font-family--body); font-size: 13px; font-weight: 800; letter-spacing: 2px; }
.dedta-legend-badge .dedta-badge-rings { fill: none; stroke: var(--dedta-gold); stroke-width: 7; stroke-linecap: round; }
.dedta-legend-badge .dedta-badge-year { font-size: 12px; letter-spacing: 1.5px; }
.dedta-toni-wordmark { display: block; width: 100%; height: auto; color: var(--dedta-gold); filter: drop-shadow(0 1rem 2rem rgb(0 0 0 / 28%)); }
.dedta-wordmark-frame { fill: rgb(255 255 255 / 2%); stroke: currentColor; stroke-width: 3; }
.dedta-wordmark-lightline { fill: none; stroke: currentColor; stroke-width: 1; stroke-dasharray: 4 9; }
.dedta-wordmark-first,
.dedta-wordmark-last { fill: var(--dedta-ivory); font-family: var(--wp--preset--font-family--display); font-size: 118px; font-weight: 700; letter-spacing: 18px; }
.dedta-wordmark-last { fill: var(--dedta-gold); }
.dedta-wordmark-subtitle { fill: var(--dedta-ivory); font-family: var(--wp--preset--font-family--body); font-size: 20px; font-weight: 700; letter-spacing: 4px; }

@keyframes dedta-spotlight {
  from { opacity: .65; transform: translate3d(-2%, 1%, 0) scale(.97); }
  to { opacity: 1; transform: translate3d(2%, -1%, 0) scale(1.04); }
}

.dedta-process { counter-reset: dedta-step; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.dedta-process__step { counter-increment: dedta-step; padding: 1.5rem 0; border-top: 1px solid var(--dedta-gold); }
.dedta-process__step::before { content: counter(dedta-step, decimal-leading-zero); display: block; color: var(--dedta-red); font-weight: 900; letter-spacing: .1em; }

.dedta-final-cta { border: 1px solid rgb(216 185 106 / 50%); border-radius: calc(var(--dedta-radius) * 1.5); padding: clamp(2rem, 7vw, 5rem); background: radial-gradient(circle at 85% 0%, rgb(228 61 139 / 22%), transparent 30%), var(--dedta-midnight-raised); box-shadow: var(--dedta-shadow); }

.dedta-form-shell { max-width: 52rem; padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid rgb(84 22 44 / 25%); border-radius: var(--dedta-radius); color: var(--dedta-ink); background: #fff; }
.dedta-form-shell label { display: block; margin-bottom: .4rem; font-weight: 700; }
.dedta-form-shell input,
.dedta-form-shell select,
.dedta-form-shell textarea { width: 100%; min-height: 48px; border: 1px solid #6f6570; border-radius: .5rem; color: var(--dedta-ink); background: #fff; }
.dedta-form-shell textarea { min-height: 9rem; }
.dedta-form-shell [aria-invalid="true"] { border-color: var(--dedta-error); box-shadow: 0 0 0 2px rgb(162 13 39 / 15%); }
.dedta-form-error { color: var(--dedta-error); font-weight: 700; }
.dedta-form-success { color: var(--dedta-success); font-weight: 700; }
.dedta-form-fallback { border-left: .3rem solid var(--dedta-dark-gold); }
.dedta-form-shell a { color: var(--dedta-wine) !important; }

.dedta-acuity { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgb(84 22 44 / 22%); border-radius: var(--dedta-radius); box-shadow: 0 1rem 3rem rgb(84 22 44 / 8%); }
.dedta-acuity__frame { min-height: 800px; overflow: hidden; border: 1px solid rgb(84 22 44 / 22%); border-radius: .75rem; background: #fff; }
.dedta-acuity__frame iframe { display: block; width: 100%; min-height: 800px; border: 0; }
.dedta-acuity__status { color: #4d3e49; font-weight: 700; }
.dedta-scheduler-grid { align-items: start; gap: clamp(1.5rem, 4vw, 3rem); }
.dedta-scheduler-grid > .wp-block-column { min-width: 0; }
.dedta-scheduler-aside { display: grid; gap: 1rem; }
.dedta-scheduler-qr { max-width: 15rem; padding: 1rem; border: 1px solid rgb(84 22 44 / 22%); border-radius: var(--dedta-radius); background: #fff; text-align: center; }
.dedta-scheduler-qr img { width: 145px; height: 145px; image-rendering: pixelated; }

.dedta-breadcrumbs {
  padding: .8rem max(var(--dedta-gutter), env(safe-area-inset-right)) .8rem max(var(--dedta-gutter), env(safe-area-inset-left));
  color: var(--dedta-ink);
  background: var(--dedta-ivory);
  font-size: .95rem;
}
.dedta-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; max-width: var(--wp--style--global--wide-size); margin: 0 auto; padding: 0; list-style: none; }
.dedta-breadcrumbs li + li::before { content: "/"; margin-inline-end: .4rem; color: var(--dedta-dark-gold); }
.dedta-breadcrumbs a { font-weight: 700; }
.dedta-main summary { display: flex; min-height: 44px; align-items: center; cursor: pointer; }
.dedta-content-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); }
.dedta-checklist li + li { margin-top: .65rem; }
.dedta-table { width: 100%; border-collapse: collapse; }
.dedta-table th,
.dedta-table td { padding: .8rem; border: 1px solid rgb(84 22 44 / 25%); text-align: left; vertical-align: top; }
.dedta-table th { color: var(--dedta-midnight); background: var(--dedta-gold); }
.dedta-section--dark .wp-block-table table { color: var(--dedta-ivory); border-color: rgb(216 185 106 / 45%); }
.dedta-section--dark .wp-block-table th,
.dedta-section--dark .wp-block-table td { border-color: rgb(216 185 106 / 45%); }
.dedta-section--dark .wp-block-table thead th { color: var(--dedta-midnight); background: var(--dedta-gold); }
.dedta-section--dark .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--dedta-midnight-raised); }

.dedta-footer { padding-bottom: 1rem; background: var(--dedta-midnight); color: var(--dedta-muted); border-top: 1px solid rgb(216 185 106 / 35%); }
.dedta-footer a { color: var(--dedta-ivory); }
.dedta-footer li a,
.dedta-footer p a { display: inline-flex; min-height: 44px; align-items: center; }

.dedta-mobile-dock { display: none; }

@media (max-width: 960px) {
  .dedta-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .dedta-header .wp-block-navigation__responsive-container-open { display: flex !important; }
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--dedta-ivory) !important; }
}

@media (max-width: 900px) {
  .dedta-trust,
  .dedta-card-grid,
  .dedta-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dedta-proof-grid { grid-template-columns: 1fr 1fr; }
  .dedta-proof-grid > :first-child { grid-column: 1 / -1; }
  .dedta-package-columns,
  .dedta-proof-columns { flex-wrap: wrap !important; }
  .dedta-package-columns > .wp-block-column,
  .dedta-proof-columns > .wp-block-column { flex-basis: calc(50% - .75rem) !important; }
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--dedta-midnight); color: var(--dedta-ivory); padding: 2rem; }
  .dedta-editorial-gallery > .wp-block-shortcode,
  .dedta-editorial-gallery > .wp-block-shortcode:nth-child(1),
  .dedta-editorial-gallery > .wp-block-shortcode:nth-child(3),
  .dedta-editorial-gallery > .wp-block-shortcode:nth-child(5),
  .dedta-editorial-gallery > .wp-block-shortcode:nth-child(8),
  .dedta-editorial-gallery > .dedta-media,
  .dedta-editorial-gallery > .dedta-media:nth-child(1),
  .dedta-editorial-gallery > .dedta-media:nth-child(3),
  .dedta-editorial-gallery > .dedta-media:nth-child(5),
  .dedta-editorial-gallery > .dedta-media:nth-child(8) { grid-column: span 6; }
}

@media (max-width: 782px) {
  .admin-bar .dedta-header { top: 46px; }
}

@media (max-width: 600px) {
  body { padding-bottom: calc(var(--dedta-mobile-dock-height) + env(safe-area-inset-bottom)); }
  .dedta-section { padding-block: clamp(3rem, 14vw, 5rem); }
  .dedta-trust,
  .dedta-card-grid,
  .dedta-process,
  .dedta-proof-grid { grid-template-columns: 1fr; }
  .dedta-proof-grid > :first-child { grid-column: auto; }
  .dedta-content-grid { grid-template-columns: 1fr; }
  .dedta-scheduler-qr { display: none; }
  .dedta-package-columns > .wp-block-column,
  .dedta-proof-columns > .wp-block-column { flex-basis: 100% !important; }
  .dedta-editorial-gallery { grid-template-columns: 1fr; }
  .dedta-editorial-gallery > .wp-block-shortcode,
  .dedta-editorial-gallery > .wp-block-shortcode:nth-child(n),
  .dedta-editorial-gallery > .dedta-media,
  .dedta-editorial-gallery > .dedta-media:nth-child(n) { grid-column: auto; }
  .dedta-editorial-gallery .dedta-media { min-height: 0; max-height: none; }
  .dedta-hero-art__actions .wp-block-buttons { width: 100%; }
  .dedta-hero__grid { min-height: auto; }
  .dedta-hero__portrait { order: 0; }
  .dedta-hero__portrait img { max-height: 62vh; }
  .dedta-hero .wp-block-buttons { width: 100%; }
  .dedta-button,
  .dedta-button .wp-block-button__link { width: 100%; text-align: center; }
  .dedta-mobile-dock {
    position: fixed;
    z-index: 85;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: .72fr .72fr 1.56fr;
    min-height: var(--dedta-mobile-dock-height);
    padding: .45rem max(.55rem, env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.55rem, env(safe-area-inset-left));
    gap: .4rem;
    border-top: 1px solid rgb(216 185 106 / 55%);
    background: rgb(9 7 12 / 96%);
    backdrop-filter: blur(14px);
  }
  .dedta-mobile-dock a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: .35rem .45rem;
    border: 1px solid rgb(216 185 106 / 45%);
    border-radius: .7rem;
    color: var(--dedta-ivory);
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
  }
  .dedta-mobile-dock__primary { color: var(--dedta-midnight) !important; background: var(--dedta-gold); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Pass 2: canonical information architecture and route-aware composition. */
*,
*::before,
*::after { box-sizing: border-box; }

:root {
  --dedta-cream: #fffaf2;
  --dedta-line-dark: rgb(216 185 106 / 38%);
  --dedta-line-light: rgb(84 22 44 / 18%);
  --dedta-reading: 46rem;
  --dedta-wide: 76rem;
}

body {
  margin: 0;
  color: var(--dedta-ink);
  background: var(--dedta-midnight);
}

:where(p, li, dd, figcaption, summary) { overflow-wrap: anywhere; }
:where(button, input, textarea, select) { font: inherit; }
:where(a, button, input, textarea, select, summary) { -webkit-tap-highlight-color: transparent; }

.dedta-page {
  position: relative;
  background: var(--dedta-ivory);
}

.dedta-page > .dedta-section + .dedta-section,
.dedta-page .wp-block-post-content > .dedta-section + .dedta-section { position: relative; }
.dedta-page > .dedta-section + .dedta-section::before,
.dedta-page .wp-block-post-content > .dedta-section + .dedta-section::before {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  width: min(calc(100% - (2 * var(--dedta-gutter))), var(--dedta-wide));
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--dedta-line-light) 15%, var(--dedta-line-light) 85%, transparent);
  transform: translateX(-50%);
}

.dedta-page > .dedta-section--dark + .dedta-section--dark::before,
.dedta-page > .dedta-section--wine + .dedta-section--wine::before,
.dedta-page > .dedta-section--dark + .dedta-section--wine::before,
.dedta-page > .dedta-section--wine + .dedta-section--dark::before,
.dedta-page .wp-block-post-content > .dedta-section--dark + .dedta-section--dark::before,
.dedta-page .wp-block-post-content > .dedta-section--wine + .dedta-section--wine::before,
.dedta-page .wp-block-post-content > .dedta-section--dark + .dedta-section--wine::before,
.dedta-page .wp-block-post-content > .dedta-section--wine + .dedta-section--dark::before {
  background: linear-gradient(90deg, transparent, var(--dedta-line-dark) 15%, var(--dedta-line-dark) 85%, transparent);
}

.dedta-page .dedta-measure,
.dedta-page :where(p, ul, ol):not(.wp-block-navigation__container) { text-wrap: pretty; }

.dedta-page:not(.dedta-page--home) .dedta-main h2,
.dedta-page:not(.dedta-page--home) h2 {
  max-width: 17ch;
  margin-block-start: 0;
  font-size: clamp(2rem, 4vw, 3.85rem);
  line-height: 1.02;
  letter-spacing: -.02em;
}

.dedta-page :where(h2, h3) + p { margin-block-start: .75rem; }
.dedta-page :where(p, ul, ol) + .wp-block-buttons { margin-block-start: clamp(1.5rem, 3vw, 2.25rem); }
.dedta-page .wp-block-buttons { gap: .75rem 1rem; }

.dedta-section > :where(.wp-block-group__inner-container, .wp-block-group, .wp-block-columns),
.dedta-section.is-layout-constrained > :where(h1, h2, h3, p, ul, ol, .wp-block-buttons, .wp-block-shortcode, .wp-block-table, .wp-block-details) {
  min-width: 0;
}

/* Global shell. */
.dedta-header { box-shadow: 0 .55rem 2rem rgb(0 0 0 / 18%); }
.dedta-header__inner {
  width: min(100%, var(--dedta-wide));
  min-height: 4.5rem;
  margin-inline: auto;
  gap: clamp(1.25rem, 3vw, 3rem);
}
.dedta-header .wp-block-site-logo { flex: 0 0 auto; line-height: 0; }
.dedta-header .custom-logo {
  display: block;
  width: auto;
  max-width: min(10.5rem, 42vw);
  max-height: 3rem;
  object-fit: contain;
}
.dedta-header .wp-block-navigation { min-width: 0; }
.dedta-header .wp-block-navigation__container { gap: clamp(.25rem, 1.2vw, 1.05rem); }
.dedta-header .wp-block-navigation .wp-block-navigation-item__content {
  position: relative;
  font-size: clamp(.82rem, 1vw, .96rem);
  font-weight: 700;
  letter-spacing: .01em;
  white-space: nowrap;
}
.dedta-header .wp-block-navigation-item:not(.dedta-nav-cta) > .wp-block-navigation-item__content::after {
  position: absolute;
  right: .35rem;
  bottom: .2rem;
  left: .35rem;
  height: 1px;
  content: "";
  background: var(--dedta-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
.dedta-header .wp-block-navigation-item:not(.dedta-nav-cta) > .wp-block-navigation-item__content:hover::after,
.dedta-header .wp-block-navigation-item:not(.dedta-nav-cta) > .wp-block-navigation-item__content:focus-visible::after,
.dedta-header .wp-block-navigation-item.current-menu-item:not(.dedta-nav-cta) > .wp-block-navigation-item__content::after {
  transform: scaleX(1);
}
.dedta-header .wp-block-navigation .dedta-nav-cta > .wp-block-navigation-item__content:hover,
.dedta-header .wp-block-navigation .dedta-nav-cta > .wp-block-navigation-item__content:focus-visible {
  color: var(--dedta-midnight) !important;
  background: var(--dedta-ivory);
}

.dedta-footer {
  position: relative;
  overflow: hidden;
  padding-bottom: 0;
  background:
    radial-gradient(circle at 5% 10%, rgb(228 61 139 / 12%), transparent 25rem),
    radial-gradient(circle at 92% 92%, rgb(108 58 241 / 12%), transparent 24rem),
    var(--dedta-midnight);
}
.dedta-footer::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0 48%, rgb(216 185 106 / 5%) 48.1% 48.25%, transparent 48.35%);
}
.dedta-footer__inner { position: relative; width: min(100%, var(--dedta-wide)); margin-inline: auto; }
.dedta-footer__grid { gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.dedta-footer__brand p { max-width: 31rem; color: var(--dedta-muted); font-size: 1.05rem; }
.dedta-footer__contact,
.dedta-footer__routes { padding-top: .4rem; }
.dedta-footer h3 {
  margin-block: 0 .75rem;
  color: var(--dedta-gold);
  font-family: var(--wp--preset--font-family--body);
  font-size: .8rem !important;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.dedta-footer p { margin-block: .25rem; }
.dedta-footer ul { margin: 0; padding: 0; list-style: none; }
.dedta-footer li { margin: 0; }
.dedta-footer li a,
.dedta-footer p a {
  min-height: 40px;
  text-decoration-color: transparent;
  text-underline-offset: .22em;
}
.dedta-footer__contact a,
.dedta-contact-card a { overflow-wrap: anywhere; word-break: break-word; }
.dedta-footer li a:hover,
.dedta-footer li a:focus-visible,
.dedta-footer p a:hover,
.dedta-footer p a:focus-visible { color: var(--dedta-gold); text-decoration-color: currentColor; }
.dedta-footer__inner > .has-small-font-size {
  margin-block: clamp(2rem, 4vw, 3.25rem) 0;
  padding-top: 1rem;
  border-top: 1px solid var(--dedta-line-dark);
  color: #b9afa4;
}

/* Interior-page heroes establish a distinct visual chapter without adding copy. */
.dedta-page-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: clamp(28rem, 58vw, 42rem);
  overflow: hidden;
  align-content: center;
  background:
    radial-gradient(circle at 82% 26%, rgb(228 61 139 / 24%), transparent 30%),
    radial-gradient(circle at 15% 76%, rgb(108 58 241 / 20%), transparent 33%),
    linear-gradient(135deg, var(--dedta-midnight), var(--dedta-wine));
}
.dedta-page-hero::before {
  position: absolute;
  z-index: -1;
  inset: -35% -12% auto auto;
  width: clamp(22rem, 54vw, 50rem);
  aspect-ratio: 1;
  content: "";
  border: 1px solid rgb(216 185 106 / 30%);
  border-radius: 50%;
  box-shadow:
    0 0 0 clamp(1rem, 3vw, 2.5rem) rgb(216 185 106 / 4%),
    0 0 0 clamp(3rem, 8vw, 7rem) rgb(216 185 106 / 4%);
}
.dedta-page-hero::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: .28rem;
  content: "";
  background: linear-gradient(90deg, var(--dedta-gold), var(--dedta-red), var(--dedta-rose), var(--dedta-violet), var(--dedta-gold));
}
.dedta-page-hero > * { position: relative; z-index: 1; }
.dedta-page-hero .dedta-heading {
  max-width: 14ch;
  margin-block: .3rem 1.25rem;
  font-size: clamp(3.35rem, 7.6vw, 7.25rem);
  line-height: .9;
}
.dedta-page-hero .dedta-measure {
  max-width: 39rem;
  color: #eee4d8;
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  line-height: 1.55;
}
.dedta-page-hero .dedta-kicker { margin-bottom: .8rem; }
.dedta-page-hero .wp-block-buttons { margin-top: clamp(1.75rem, 4vw, 2.75rem); }

.dedta-page--packages .dedta-page-hero { background: radial-gradient(circle at 78% 32%, rgb(216 185 106 / 24%), transparent 31%), linear-gradient(135deg, #09070c, #4b1428); }
.dedta-page--elopements .dedta-page-hero { background: radial-gradient(circle at 76% 28%, rgb(228 61 139 / 24%), transparent 34%), linear-gradient(135deg, #160c16, #54162c); }
.dedta-page--reception .dedta-page-hero { background: radial-gradient(circle at 80% 25%, rgb(255 49 49 / 20%), transparent 29%), radial-gradient(circle at 20% 85%, rgb(108 58 241 / 22%), transparent 34%), #09070c; }
.dedta-page--real-weddings .dedta-page-hero { background: radial-gradient(circle at 82% 30%, rgb(216 185 106 / 20%), transparent 32%), linear-gradient(150deg, #09070c, #24111d); }
.dedta-page--about .dedta-page-hero { background: radial-gradient(ellipse at 78% 30%, rgb(228 61 139 / 29%), transparent 30%), linear-gradient(130deg, #09070c 45%, #4d1429); }
.dedta-page--faqs .dedta-page-hero { background: radial-gradient(circle at 80% 30%, rgb(216 185 106 / 18%), transparent 31%), linear-gradient(135deg, #17101b, #54162c); }
.dedta-page--pride .dedta-page-hero { background: radial-gradient(circle at 84% 26%, rgb(108 58 241 / 28%), transparent 30%), radial-gradient(circle at 14% 82%, rgb(228 61 139 / 23%), transparent 33%), #09070c; }
.dedta-page--song .dedta-page-hero { background: radial-gradient(circle at 84% 24%, rgb(228 61 139 / 24%), transparent 28%), radial-gradient(circle at 16% 82%, rgb(108 58 241 / 25%), transparent 34%), #09070c; }
.dedta-page--guide .dedta-page-hero { background: radial-gradient(circle at 80% 28%, rgb(216 185 106 / 19%), transparent 30%), linear-gradient(140deg, #09070c, #3b1425); }
.dedta-page--booking .dedta-page-hero { background: radial-gradient(circle at 82% 26%, rgb(228 61 139 / 25%), transparent 31%), linear-gradient(135deg, #09070c, #54162c); }
.dedta-page--contact .dedta-page-hero { background: radial-gradient(circle at 80% 28%, rgb(216 185 106 / 17%), transparent 32%), linear-gradient(135deg, #09070c, #54162c); }
.dedta-page--legal .dedta-page-hero { min-height: clamp(22rem, 42vw, 32rem); background: linear-gradient(135deg, #171018, #4a1729); }
.dedta-legal-hero { align-content: end; }
.dedta-page--legal .dedta-page-hero::before { opacity: .55; }
.dedta-page--legal .dedta-page-hero .dedta-heading { max-width: 18ch; font-size: clamp(3rem, 6.5vw, 6rem); }
.dedta-page--privacy .dedta-legal-hero { background: linear-gradient(135deg, #171018, #461529); }
.dedta-page--terms .dedta-legal-hero { background: linear-gradient(135deg, #171018, #361526); }
.dedta-pride-hero::after {
  height: .35rem;
  background: linear-gradient(90deg, #e40303 0 16.66%, #ff8c00 16.66% 33.32%, #ffed00 33.32% 49.98%, #008026 49.98% 66.64%, #004dff 66.64% 83.3%, #750787 83.3%);
}

/* Media is treated as proof: cinematic when wide, framed and intimate when portrait. */
.dedta-feature-media {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.dedta-feature-media > .wp-block-shortcode,
.dedta-feature-media > .wp-block-columns,
.dedta-feature-media > .dedta-media {
  position: relative;
  width: min(100%, var(--dedta-wide));
  margin-inline: auto;
}
.dedta-feature-media > .wp-block-shortcode::before {
  position: absolute;
  z-index: -1;
  inset: clamp(.75rem, 2vw, 1.5rem) clamp(-.5rem, -1vw, -1rem) clamp(-.75rem, -2vw, -1.5rem) clamp(.5rem, 1vw, 1rem);
  content: "";
  border: 1px solid rgb(216 185 106 / 56%);
  border-radius: var(--dedta-radius);
}
.dedta-feature-media .dedta-media {
  box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 28%);
}
.dedta-feature-media--wide .dedta-media--landscape {
  max-height: 42rem;
  object-fit: cover;
  object-position: center 42%;
}
.dedta-feature-media--portrait > .wp-block-shortcode {
  width: min(100%, 34rem);
}
.dedta-feature-media--portrait .dedta-media--portrait,
.dedta-feature-media--portrait > .dedta-media--portrait {
  display: block;
  width: min(100%, 34rem);
  max-height: 46rem;
  margin-inline: auto;
  border: 1px solid rgb(216 185 106 / 56%);
  object-position: center top;
}
.dedta-feature-media--offset > .wp-block-shortcode,
.dedta-feature-media--offset > .dedta-media { width: min(100%, 66rem); }
.dedta-feature-media--offset .dedta-media { transform: rotate(-.55deg); }
.dedta-feature-media--diptych .dedta-proof-columns { width: min(100%, 68rem); margin-inline: auto; }
.dedta-feature-media--diptych .dedta-proof-columns > .wp-block-column:first-child { transform: translateY(-1rem); }
.dedta-feature-media--diptych .dedta-proof-columns > .wp-block-column:last-child { transform: translateY(1rem); }

/* Reusable editorial cards and decision groups. */
.dedta-choice-grid {
  counter-reset: dedta-choice;
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-top: clamp(2rem, 4vw, 3rem);
  align-items: stretch !important;
}
.dedta-choice-grid > .wp-block-column {
  counter-increment: dedta-choice;
  position: relative;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.35rem);
  border: 1px solid var(--dedta-line-light);
  border-radius: var(--dedta-radius);
  background: var(--dedta-cream);
  box-shadow: 0 1rem 2.5rem rgb(84 22 44 / 7%);
}
.dedta-choice-grid > .wp-block-column::before {
  display: block;
  margin-bottom: 1.25rem;
  content: counter(dedta-choice, decimal-leading-zero);
  color: var(--dedta-dark-gold);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .14em;
}
.dedta-choice-grid > .wp-block-column h3 { margin-block: 0 .75rem; }
.dedta-choice-grid > .wp-block-column > :last-child { margin-bottom: 0; }
.dedta-section--dark .dedta-choice-grid > .wp-block-column,
.dedta-section--wine .dedta-choice-grid > .wp-block-column {
  border-color: var(--dedta-line-dark);
  color: var(--dedta-ivory);
  background: rgb(255 255 255 / 4%);
  box-shadow: 0 1rem 3rem rgb(0 0 0 / 20%);
}
.dedta-section--dark .dedta-choice-grid > .wp-block-column::before,
.dedta-section--wine .dedta-choice-grid > .wp-block-column::before { color: var(--dedta-gold); }
.dedta-choice-grid--two > .wp-block-column { flex-basis: calc(50% - .75rem) !important; }
.dedta-step-cards > .wp-block-column::before { color: var(--dedta-red); }

.dedta-package-stage { background-image: radial-gradient(circle at 50% 0, rgb(216 185 106 / 9%), transparent 28rem); }
.dedta-package-columns { margin-top: clamp(2.25rem, 5vw, 4rem); align-items: stretch !important; }
.dedta-package-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(1.5rem, 2.5vw, 2.25rem) !important;
  border-color: rgb(84 22 44 / 22%);
}
.dedta-package-card > .dedta-button:last-child { margin-top: auto; padding-top: 1rem; }
.dedta-package-card--featured {
  border: 2px solid var(--dedta-dark-gold);
  background: linear-gradient(180deg, #fff, #fff8e8);
  box-shadow: 0 1.5rem 4rem rgb(84 22 44 / 15%);
  transform: translateY(-.8rem);
}
.dedta-package-card--featured::before {
  position: absolute;
  top: 0;
  right: 1.25rem;
  left: 1.25rem;
  height: .3rem;
  content: "";
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--dedta-gold), var(--dedta-rose));
}
.dedta-package-card .dedta-card__price { margin-block: .75rem .25rem; }
.dedta-package-card__duration { color: #5d5059; font-weight: 800; }
.dedta-checklist { padding-left: 1.25rem; }
.dedta-checklist li::marker { color: var(--dedta-dark-gold); }
.dedta-service-details .wp-block-columns { gap: clamp(1.5rem, 4vw, 4rem); }
.dedta-service-details .wp-block-column {
  min-width: 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--dedta-line-dark);
}
.dedta-service-details h3 { color: var(--dedta-gold); }
.dedta-related-stage .wp-block-columns { margin-top: 2rem; }

.dedta-editorial-intro .dedta-measure { font-size: clamp(1.08rem, 1.7vw, 1.3rem); }
.dedta-choice-stage { background-image: radial-gradient(circle at 8% 12%, rgb(216 185 106 / 8%), transparent 24rem); }
.dedta-performance-stage { background-image: radial-gradient(circle at 90% 15%, rgb(228 61 139 / 10%), transparent 24rem); }
.dedta-profile-grid { gap: clamp(2rem, 6vw, 6rem); align-items: center !important; }
.dedta-profile-grid > .wp-block-column { min-width: 0; }
.dedta-profile-grid > .wp-block-column:first-child {
  padding-left: clamp(1.25rem, 3vw, 2.5rem);
  border-left: .25rem solid var(--dedta-gold);
}

.dedta-gallery-stage { background-image: linear-gradient(180deg, #f8f1e7, #fffaf2); }
.dedta-gallery-stage .dedta-heading { margin-bottom: 2rem; }
.dedta-editorial-gallery > .wp-block-shortcode,
.dedta-editorial-gallery > .dedta-media { transition: transform .25s ease, box-shadow .25s ease; }
.dedta-editorial-gallery > .wp-block-shortcode:hover,
.dedta-editorial-gallery > .dedta-media:hover { z-index: 1; box-shadow: var(--dedta-shadow); transform: translateY(-.25rem); }
.dedta-proof-close .dedta-review { transform: rotate(-.35deg); }

/* FAQ disclosures keep long-form help scannable and keyboard native. */
.dedta-faq-stage > :where(h2, .dedta-faq-item) { width: min(100%, 54rem); margin-inline: auto; }
.dedta-faq-stage > h2 { margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.dedta-faq-stage--planning { background-image: linear-gradient(180deg, var(--dedta-ivory), var(--dedta-cream)); }
.dedta-faq-stage--support { background-image: radial-gradient(circle at 88% 12%, rgb(216 185 106 / 9%), transparent 24rem); }
.dedta-faq-item {
  margin-block: 0;
  border: 0;
  border-top: 1px solid var(--dedta-line-light);
  background: transparent;
}
.dedta-faq-item:last-child { border-bottom: 1px solid var(--dedta-line-light); }
.dedta-faq-item summary {
  position: relative;
  min-height: 4.75rem;
  padding: 1.1rem 3.25rem 1.1rem 0;
  color: var(--dedta-wine);
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 700;
  line-height: 1.25;
  list-style: none;
}
.dedta-faq-item summary::-webkit-details-marker { display: none; }
.dedta-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: .25rem;
  display: grid;
  width: 2rem;
  height: 2rem;
  content: "+";
  place-items: center;
  border: 1px solid var(--dedta-dark-gold);
  border-radius: 50%;
  color: var(--dedta-dark-gold);
  font-family: var(--wp--preset--font-family--body);
  font-size: 1.25rem;
  line-height: 1;
  transform: translateY(-50%);
}
.dedta-faq-item[open] summary::after { content: "−"; }
.dedta-faq-item > p { max-width: 46rem; margin: 0; padding: 0 3.25rem 1.5rem 0; }
.dedta-faq-stage--booking .dedta-faq-item { border-color: var(--dedta-line-dark); }
.dedta-faq-stage--booking .dedta-faq-item summary { color: var(--dedta-ivory); }
.dedta-faq-stage--booking .dedta-faq-item summary::after { border-color: var(--dedta-gold); color: var(--dedta-gold); }

/* Route-specific conversion and utility compositions. */
.dedta-conversion-stage { text-align: left; }
.dedta-conversion-stage > :where(h2, p, .wp-block-buttons) { width: min(100%, 50rem); margin-inline: auto; }
.dedta-conversion-stage > .wp-block-buttons { justify-content: flex-start; }
.dedta-conversion-stage h2 { max-width: 14ch !important; }

.dedta-event-stage .wp-block-table,
.dedta-info-grid-stage .wp-block-table { margin-top: 2rem; overflow-x: auto; border-radius: var(--dedta-radius); box-shadow: 0 1rem 3rem rgb(0 0 0 / 18%); }
.dedta-event-stage table,
.dedta-info-grid-stage table { min-width: 42rem; margin: 0; }
.dedta-event-stage { position: relative; }
.dedta-event-stage::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: .35rem;
  content: "";
  background: linear-gradient(#e40303, #ff8c00, #ffed00, #008026, #004dff, #750787);
}
.dedta-participation-stage { background-image: radial-gradient(circle at 10% 12%, rgb(108 58 241 / 7%), transparent 26rem); }

.dedta-logo-stage .dedta-media--logo {
  padding: clamp(1.25rem, 4vw, 3rem);
  border: 1px solid var(--dedta-line-dark);
  background: radial-gradient(circle, rgb(108 58 241 / 16%), transparent 65%);
  box-shadow: var(--dedta-shadow);
}
.dedta-feature-grid-stage .dedta-choice-grid { margin-top: 2rem; }
.dedta-process-stage .dedta-process { margin-top: 2rem; }
.dedta-price-stage > :where(h2, p, .wp-block-buttons) { width: min(100%, 50rem); margin-inline: auto; }
.dedta-form-stage .dedta-form-shell { margin-top: 2rem; }

.dedta-guide-prereqs .dedta-checklist {
  width: min(100%, 52rem);
  margin-top: 2rem;
  padding: clamp(1.4rem, 3vw, 2.25rem) clamp(1.4rem, 4vw, 3rem);
  border: 1px solid var(--dedta-line-light);
  border-radius: var(--dedta-radius);
  background: var(--dedta-cream);
  box-shadow: 0 1rem 2.5rem rgb(84 22 44 / 7%);
}
.dedta-guide-process .dedta-process { margin-top: 2rem; }
.dedta-role-stage > :where(h2, p, .wp-block-buttons) { width: min(100%, 50rem); margin-inline: auto; }

.dedta-prep-stage .dedta-choice-grid,
.dedta-after-stage .dedta-choice-grid { margin-top: 2rem; }
.dedta-scheduler-stage { background-image: linear-gradient(180deg, #fffaf2, #f8f1e7); }
.dedta-scheduler-grid { width: min(100%, var(--dedta-wide)); margin-inline: auto; }
.dedta-scheduler-grid > .wp-block-column:first-child { min-width: 0; }
.dedta-scheduler-aside {
  position: sticky;
  top: 6.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-top: .3rem solid var(--dedta-dark-gold);
  border-radius: 0 0 var(--dedta-radius) var(--dedta-radius);
  background: #fff;
  box-shadow: 0 1rem 3rem rgb(84 22 44 / 10%);
}
.dedta-contact-band > :where(h2, p) { width: min(100%, 48rem); margin-inline: auto; }

.dedta-contact-grid { gap: clamp(1.5rem, 5vw, 5rem); align-items: start !important; }
.dedta-contact-card {
  min-width: 0;
  padding: clamp(1.4rem, 3vw, 2.25rem);
  border-top: .3rem solid var(--dedta-dark-gold);
  border-radius: 0 0 var(--dedta-radius) var(--dedta-radius);
  background: var(--dedta-cream);
  box-shadow: 0 1rem 3rem rgb(84 22 44 / 9%);
}
.dedta-contact-card a { display: inline-flex; min-height: 44px; align-items: center; }
.dedta-contact-grid .dedta-form-shell { margin: 0; }
.dedta-route-stage .dedta-choice-grid { margin-top: 2rem; }

.dedta-legal-copy { background: linear-gradient(180deg, var(--dedta-ivory), var(--dedta-cream)); }
.dedta-legal-copy > :where(p, h2, ul, ol) { width: min(100%, 48rem); margin-inline: auto; }
.dedta-legal-copy > h2 {
  margin-top: clamp(2.75rem, 6vw, 4.5rem);
  padding-top: 1.25rem;
  border-top: 1px solid var(--dedta-line-light);
  font-size: clamp(1.65rem, 3vw, 2.5rem) !important;
  line-height: 1.12;
}
.dedta-legal-copy > h2:first-of-type { margin-top: 2.25rem; }
.dedta-legal-copy :where(ul, ol) { padding-left: 1.35rem; }

/* Home remains exactly four stages: image-led arrival, trust, routes, conversion. */
.dedta-page--home .dedta-hero-art {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.dedta-page--home .dedta-hero-art::after {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  height: .3rem;
  content: "";
  background: linear-gradient(90deg, var(--dedta-gold), var(--dedta-red), var(--dedta-rose), var(--dedta-violet), var(--dedta-gold));
  pointer-events: none;
}
.dedta-page--home .dedta-hero-art__picture img { max-height: calc(100vh - 4.5rem); object-fit: contain; background: var(--dedta-midnight); }
.dedta-page--home .dedta-hero-art__actions {
  background: linear-gradient(90deg, rgb(84 22 44 / 75%), rgb(9 7 12 / 92%), rgb(108 58 241 / 18%));
}
.dedta-page--home .dedta-trust {
  width: min(100%, var(--dedta-wide));
  margin-inline: auto;
}
.dedta-page--home .dedta-trust__item {
  min-width: 0;
  border-top-color: var(--dedta-gold);
  background: linear-gradient(180deg, rgb(255 255 255 / 3%), transparent);
}
.dedta-home-routes { background-image: radial-gradient(circle at 90% 0, rgb(228 61 139 / 9%), transparent 26rem); }
.dedta-route-cards .wp-block-column {
  position: relative;
  overflow: hidden;
  border-color: rgb(84 22 44 / 23%);
  box-shadow: 0 1rem 3rem rgb(84 22 44 / 9%);
  transition: transform .25s ease, box-shadow .25s ease;
}
.dedta-route-cards .wp-block-column::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: .25rem;
  content: "";
  background: linear-gradient(90deg, var(--dedta-gold), var(--dedta-rose));
}
.dedta-route-cards .wp-block-column:hover { box-shadow: 0 1.5rem 4rem rgb(84 22 44 / 15%); transform: translateY(-.35rem); }
.dedta-route-cards .dedta-media--card { margin-bottom: .5rem; }
.dedta-page--home .dedta-final-cta { overflow: hidden; }

/* Interactive and platform states. */
.dedta-button .wp-block-button__link:active,
.dedta-mobile-dock a:active { transform: translateY(1px); }
.dedta-button .wp-block-button__link:visited { color: var(--dedta-midnight); }
.dedta-button--secondary .wp-block-button__link:visited { color: inherit; }
.dedta-section--dark a:not(.wp-element-button):visited,
.dedta-section--wine a:not(.wp-element-button):visited { color: #e8cf8e; }
.dedta-section--ivory a:not(.wp-element-button):visited { color: #743653; }
.dedta-acuity { background: #fff; }
.dedta-form-shell :where(input, select, textarea) { padding: .75rem .85rem; }
.dedta-form-shell :where(input, select, textarea):focus-visible { border-color: var(--dedta-violet); outline-color: var(--dedta-violet); }
.dedta-form-shell :where(button, input, select):disabled { opacity: .6; cursor: not-allowed; }

@media (min-width: 901px) {
  .dedta-choice-grid--two { max-width: 66rem; }
  .dedta-footer__contact { flex-basis: 20% !important; }
  .dedta-footer__routes { flex-basis: 35% !important; }
  .dedta-footer__routes ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
  .dedta-page--about .dedta-profile-stage,
  .dedta-page--contact .dedta-contact-stage { background-image: linear-gradient(90deg, transparent 0 50%, rgb(84 22 44 / 4%) 50%); }
}

@media (max-width: 1100px) {
  .dedta-header .wp-block-navigation__container { gap: .15rem .55rem; }
  .dedta-header .wp-block-navigation .wp-block-navigation-item__content { font-size: .82rem; }
}

@media (max-width: 960px) {
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open {
    overflow-y: auto;
    padding: max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
    background:
      radial-gradient(circle at 85% 15%, rgb(228 61 139 / 20%), transparent 22rem),
      var(--dedta-midnight);
  }
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: clamp(3.5rem, 12vh, 7rem); }
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width: 100%; align-items: stretch; gap: .25rem; }
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch; }
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    width: 100%;
    justify-content: flex-start;
    padding: .8rem 0;
    border-bottom: 1px solid var(--dedta-line-dark);
    font-family: var(--wp--preset--font-family--display);
    font-size: clamp(1.35rem, 5vw, 2.1rem);
  }
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open .dedta-nav-cta > .wp-block-navigation-item__content { justify-content: center; margin-top: 1rem; padding: .85rem 1rem; font-family: var(--wp--preset--font-family--body); font-size: 1rem; }
  .dedta-profile-grid { gap: 2rem; }
}

@media (max-width: 900px) {
  .dedta-page-hero { min-height: clamp(25rem, 72vw, 36rem); }
  .dedta-choice-grid,
  .dedta-contact-grid { flex-wrap: wrap !important; }
  .dedta-choice-grid > .wp-block-column,
  .dedta-choice-grid--two > .wp-block-column { flex-basis: calc(50% - .75rem) !important; }
  .dedta-package-card--featured { transform: none; }
  .dedta-feature-media--diptych .dedta-proof-columns > .wp-block-column { transform: none; }
  .dedta-scheduler-aside { position: static; }
  .dedta-footer__grid { flex-wrap: wrap !important; }
  .dedta-footer__brand { flex-basis: 100% !important; }
  .dedta-footer__contact,
  .dedta-footer__routes { flex-basis: calc(50% - 1rem) !important; }
}

@media (max-width: 720px) {
  .dedta-page-hero { min-height: 28rem; }
  .dedta-page-hero .dedta-heading { font-size: clamp(3rem, 12vw, 5rem); }
  .dedta-page-hero::before { inset: -15rem -14rem auto auto; width: 34rem; }
  .dedta-choice-grid > .wp-block-column,
  .dedta-choice-grid--two > .wp-block-column { flex-basis: 100% !important; }
  .dedta-profile-grid { flex-wrap: wrap !important; }
  .dedta-profile-grid > .wp-block-column { flex-basis: 100% !important; }
  .dedta-profile-grid > .wp-block-column:first-child { border-left: 0; border-top: .25rem solid var(--dedta-gold); padding: 1.5rem 0 0; }
  .dedta-service-details .wp-block-columns { flex-wrap: wrap !important; }
  .dedta-service-details .wp-block-column { flex-basis: 100% !important; }
  .dedta-contact-grid > .wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 600px) {
  :root { --dedta-gutter: clamp(1rem, 5vw, 1.4rem); }
  .dedta-header__inner { min-height: 4rem; }
  .dedta-header .custom-logo { max-height: 2.6rem; }
  .dedta-page > .dedta-section + .dedta-section::before { width: calc(100% - (2 * var(--dedta-gutter))); }
  .dedta-page-hero { min-height: 26rem; padding-block: clamp(3.5rem, 16vw, 5rem); }
  .dedta-page-hero .dedta-heading { max-width: 11ch; font-size: clamp(2.7rem, 13vw, 4.4rem); line-height: .94; }
  .dedta-page--legal .dedta-page-hero { min-height: 20rem; }
  .dedta-feature-media--offset .dedta-media { transform: none; }
  .dedta-feature-media > .wp-block-shortcode::before { inset: .55rem -.35rem -.55rem .35rem; }
  .dedta-faq-item summary { min-height: 4.25rem; padding-right: 2.7rem; font-size: 1.2rem; }
  .dedta-faq-item > p { padding-right: 0; }
  .dedta-package-columns > .wp-block-column { flex-basis: 100% !important; }
  .dedta-footer__contact,
  .dedta-footer__routes { flex-basis: 100% !important; }
  .dedta-footer__routes ul { columns: 2; column-gap: 1rem; }
  .dedta-page--home .dedta-hero-art__picture img { max-height: none; object-fit: contain; }
}

@media (max-width: 430px) {
  .dedta-section { padding-block: clamp(2.75rem, 13vw, 4rem); }
  .dedta-page-hero { min-height: 24rem; }
  .dedta-page-hero .wp-block-buttons,
  .dedta-conversion-stage .wp-block-buttons { width: 100%; }
  .dedta-page-hero .dedta-button,
  .dedta-page-hero .dedta-button .wp-block-button__link,
  .dedta-conversion-stage .dedta-button,
  .dedta-conversion-stage .dedta-button .wp-block-button__link { width: 100%; }
  .dedta-choice-grid > .wp-block-column,
  .dedta-package-card,
  .dedta-contact-card,
  .dedta-form-shell,
  .dedta-acuity { padding: 1.25rem !important; }
  .dedta-footer__routes ul { columns: 1; }
  .dedta-mobile-dock { grid-template-columns: .68fr .68fr 1.64fr; }
  .dedta-mobile-dock a { padding-inline: .25rem; font-size: .72rem; }
}

@media (max-width: 360px) {
  .dedta-page-hero .dedta-heading { font-size: clamp(2.45rem, 13vw, 3.35rem); }
  .dedta-header .custom-logo { max-width: 8.75rem; }
  .dedta-mobile-dock { gap: .25rem; padding-inline: .35rem; }
}

@media (max-height: 520px) and (orientation: landscape) {
  .dedta-header { position: relative; }
  .dedta-page-hero { min-height: 21rem; padding-block: 3rem; }
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 2rem; }
  .dedta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { min-height: 40px; padding-block: .35rem; font-size: 1.15rem; }
}

@media (prefers-contrast: more) {
  :root { --dedta-line-dark: rgb(216 185 106 / 75%); --dedta-line-light: rgb(84 22 44 / 48%); }
  .dedta-button .wp-block-button__link,
  .dedta-card,
  .dedta-choice-grid > .wp-block-column,
  .dedta-form-shell { border-width: 2px; }
}

@media (forced-colors: active) {
  :focus-visible { outline-color: Highlight; }
  .dedta-page-hero::before,
  .dedta-page-hero::after,
  .dedta-page--home .dedta-hero-art::after,
  .dedta-event-stage::after,
  .dedta-route-cards .wp-block-column::before,
  .dedta-package-card--featured::before { display: none; }
  .dedta-button .wp-block-button__link,
  .dedta-nav-cta > a,
  .dedta-mobile-dock a { border: 2px solid ButtonText !important; forced-color-adjust: auto; }
  .dedta-media,
  .dedta-form-shell,
  .dedta-choice-grid > .wp-block-column,
  .dedta-faq-item { border: 1px solid CanvasText; }
}

@media (prefers-reduced-motion: reduce) {
  .dedta-package-card--featured,
  .dedta-feature-media--offset .dedta-media,
  .dedta-proof-close .dedta-review { transform: none; }
}
