/* Delta Chip Holdings — WordPress conversion additions.
   Everything in this file is additive to the approved design system:
   1. self-contained geometric brand patterns on selected sections
   2. continuous motion on decorative layers only
   3. an accessible, site-wide pause control for that continuous motion
   4. Contact Form 7 presentation mapped onto the existing form classes
   5. small WordPress-generated components (search, entries, pagination)

   Motion contract inherited from the approved preview: text, labels, links,
   form controls and every container holding them stay opaque, untransformed
   and in normal document flow. Only aria-hidden decorative layers move. */

/* ---------------------------------------------------------------------------
   1. Decorative patterns
   --------------------------------------------------------------------------- */

.dch-pattern {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

.dch-pattern__layer {
  position: absolute;
  inset: -12%;
  display: block;
  will-change: transform, opacity;
}

/* An animated brand signal gets its own stage below the homepage headline. */
.hero-signal-stage {
  position: relative;
  z-index: 1;
  height: clamp(250px, 28vw, 350px);
  margin-top: clamp(1.5rem, 3.5vw, 3rem);
  overflow: hidden;
  border: 1px solid rgba(144, 190, 241, 0.19);
  border-radius: var(--radius);
  background: radial-gradient(ellipse at 62% 52%, rgba(38, 106, 185, 0.4), rgba(7, 20, 39, 0.12) 70%);
}
.hero-signal-stage::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: -30%;
  bottom: -30%;
  left: -40%;
  width: 38%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(100, 198, 255, 0.08) 24%, rgba(145, 219, 255, 0.38) 50%, rgba(255, 255, 255, 0.1) 70%, transparent);
  transform: skewX(-18deg) translate3d(0, 0, 0);
  animation: dch-signal-sweep 3.4s linear infinite;
}
.hero-signal-stage__label {
  position: absolute;
  z-index: 2;
  top: 1.25rem;
  left: 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: #a3c5ed;
  font: 600 0.67rem/1.4 var(--font-mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.hero-signal-stage__label i { display: block; width: 1.5rem; height: 1px; background: var(--red); }
.start-card::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: -4px;
  left: 0;
  right: 0;
  height: 4px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #ff6877 30%, #fff 50%, #ff6877 70%, transparent);
  background-size: 38% 100%;
  background-repeat: no-repeat;
  animation: dch-card-scan 2.5s linear infinite;
}
.hero-signal {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(110vw, 1040px);
  height: auto;
  overflow: visible;
  pointer-events: none;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 0 26px rgba(48, 133, 229, 0.25));
  mask-image: linear-gradient(90deg, transparent, #000 22%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 22%, #000 92%, transparent);
}
.hero-signal__glow { animation: dch-signal-breathe 3.5s ease-in-out infinite alternate; transform-origin: 625px 295px; }
.hero-signal__ring--outer { stroke-dasharray: 6 13; animation: dch-signal-dash 8s linear infinite; }
.hero-signal__ring--inner { stroke-dasharray: 2 9; animation: dch-signal-dash 6s linear infinite reverse; }
.hero-signal__route { opacity: 0.92; animation: dch-signal-breathe 4s ease-in-out infinite alternate; transform-origin: 625px 295px; }
.hero-signal__route--two { animation-delay: -3s; }
.hero-signal__route--red { animation-delay: -5s; }
.hero-signal__trace { stroke-dasharray: 180 820; stroke-dashoffset: 0; filter: drop-shadow(0 0 14px #9ad9ff); animation: dch-signal-travel 3.2s linear infinite; }
.hero-signal__trace--red { stroke-dasharray: 120 880; animation-duration: 3.8s; animation-direction: reverse; filter: drop-shadow(0 0 14px #ff6478); }
.hero-signal__circuits { stroke-dasharray: 7 9; animation: dch-signal-dash 9s linear infinite; }
.hero-signal__sparks circle { animation: dch-signal-spark 2.6s ease-in-out infinite alternate; }
.hero-signal__sparks circle:nth-child(2n) { animation-delay: -1.3s; }
.hero-signal__orbit { transform-origin: 625px 295px; animation: dch-signal-orbit 5s linear infinite; }
.hero-signal__core { transform-origin: 625px 295px; animation: dch-signal-core 2.6s ease-in-out infinite alternate; }
.hero-signal__pulse { transform-origin: 625px 295px; animation: dch-signal-pulse 2.4s ease-out infinite; }

@keyframes dch-signal-breathe { from { opacity: 0.55; transform: scale(0.96); } to { opacity: 1; transform: scale(1.04); } }
@keyframes dch-signal-dash { to { stroke-dashoffset: -380; } }
@keyframes dch-signal-travel { to { stroke-dashoffset: -1000; } }
@keyframes dch-signal-sweep { to { transform: skewX(-18deg) translate3d(470%, 0, 0); } }
@keyframes dch-card-scan { from { background-position: -65% 0; } to { background-position: 165% 0; } }
@keyframes dch-signal-spark { from { opacity: 0.25; } to { opacity: 1; } }
@keyframes dch-signal-orbit { to { transform: rotate(360deg); } }
@keyframes dch-signal-core { to { transform: scale(1.05); } }
@keyframes dch-signal-pulse { from { opacity: 0.8; transform: scale(0.7); } to { opacity: 0; transform: scale(1.9); } }

@media (max-width: 899px) {
  .hero-signal { width: 850px; }
}

@media (max-width: 599px) {
  .hero-signal-stage { height: 230px; margin-top: 2rem; }
  .hero-signal-stage__label { left: 1rem; top: 0.85rem; font-size: 0.56rem; gap: 0.4rem; }
  .hero-signal-stage__label i { width: 0.75rem; }
  .hero-signal { width: 610px; left: 44%; }
}

/* Sections and cards that host decorative layers become positioned, and keep
   their own content above the decoration. */
.hero,
.capability-strip,
.page-opening,
.section,
.start-card,
.case-facts {
  position: relative;
}

.hero > .container,
.capability-strip > .container,
.page-opening > .container,
.section > .container {
  position: relative;
  z-index: 1;
}

/* Precision grid: fine engineering rules with a soft brand-blue and red edge. */
.dch-pattern--precision-grid .dch-pattern__layer {
  background-image:
    linear-gradient(to right, rgba(47, 111, 208, 0.14) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(47, 111, 208, 0.14) 1px, transparent 1px),
    linear-gradient(to right, rgba(47, 111, 208, 0.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(47, 111, 208, 0.07) 1px, transparent 1px);
  background-size: 240px 240px, 240px 240px, 48px 48px, 48px 48px;
  mask-image: radial-gradient(120% 90% at 78% 8%, #000 0%, rgba(0, 0, 0, 0.35) 46%, transparent 78%);
  -webkit-mask-image: radial-gradient(120% 90% at 78% 8%, #000 0%, rgba(0, 0, 0, 0.35) 46%, transparent 78%);
  animation: dch-drift 34s ease-in-out infinite alternate;
}

.dch-pattern--precision-grid.dch-pattern--opening .dch-pattern__layer {
  background-image:
    linear-gradient(to right, rgba(11, 21, 35, 0.09) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(11, 21, 35, 0.09) 1px, transparent 1px);
  background-size: 56px 56px, 56px 56px;
  mask-image: radial-gradient(110% 100% at 92% 0%, #000 0%, rgba(0, 0, 0, 0.3) 44%, transparent 76%);
  -webkit-mask-image: radial-gradient(110% 100% at 92% 0%, #000 0%, rgba(0, 0, 0, 0.3) 44%, transparent 76%);
}

/* Contour offset: two stacked offset line groups, like a chip contour. */
.dch-pattern--contour-offset .dch-pattern__layer {
  background-image:
    repeating-linear-gradient(115deg, rgba(47, 111, 208, 0.16) 0 1px, transparent 1px 18px),
    repeating-linear-gradient(115deg, rgba(224, 30, 43, 0.1) 0 1px, transparent 1px 34px);
  mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 72%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 72%, transparent 100%);
  animation: dch-drift 42s ease-in-out infinite alternate;
}

/* Chip routes: circuit-like traces drawn with layered linear gradients. */
.dch-pattern--chip-routes .dch-pattern__layer {
  background-image:
    linear-gradient(90deg, transparent 0 46%, rgba(47, 111, 208, 0.13) 46% 46.4%, transparent 46.4%),
    linear-gradient(0deg, transparent 0 62%, rgba(47, 111, 208, 0.13) 62% 62.4%, transparent 62.4%),
    linear-gradient(90deg, transparent 0 16%, rgba(224, 30, 43, 0.1) 16% 16.3%, transparent 16.3%),
    linear-gradient(0deg, transparent 0 24%, rgba(47, 111, 208, 0.08) 24% 24.3%, transparent 24.3%);
  background-size: 520px 380px, 520px 380px, 340px 260px, 340px 260px;
  mask-image: radial-gradient(100% 80% at 12% 100%, #000 0%, transparent 72%);
  -webkit-mask-image: radial-gradient(100% 80% at 12% 100%, #000 0%, transparent 72%);
  animation: dch-trace 48s linear infinite alternate;
}

/* Panel bloom: a soft low-opacity brand glow behind a section. */
.dch-pattern--panel-bloom .dch-pattern__layer {
  background-image:
    radial-gradient(38% 46% at 18% 22%, rgba(47, 111, 208, 0.16) 0%, transparent 70%),
    radial-gradient(30% 40% at 84% 74%, rgba(224, 30, 43, 0.1) 0%, transparent 72%);
  animation: dch-bloom 30s ease-in-out infinite alternate;
}

/* Signal arcs: concentric rings, used on the compact start card. */
.dch-pattern--signal-arcs .dch-pattern__layer {
  background-image:
    radial-gradient(circle at 88% -10%, transparent 0 74px, rgba(255, 255, 255, 0.12) 74px 75px, transparent 75px 108px, rgba(255, 255, 255, 0.09) 108px 109px, transparent 109px 146px, rgba(255, 255, 255, 0.06) 146px 147px, transparent 147px);
  animation: dch-arc-drift 38s ease-in-out infinite alternate;
}

@keyframes dch-drift {
  from { transform: translate3d(-1.4%, -0.9%, 0); }
  to   { transform: translate3d(1.4%, 0.9%, 0); }
}

@keyframes dch-trace {
  from { transform: translate3d(-2%, 1.2%, 0); }
  to   { transform: translate3d(2%, -1.2%, 0); }
}

@keyframes dch-bloom {
  from { opacity: 0.6; transform: scale(1) translate3d(0, 0, 0); }
  to   { opacity: 0.95; transform: scale(1.05) translate3d(0.8%, -0.6%, 0); }
}

@keyframes dch-arc-drift {
  from { transform: translate3d(0, -1.5%, 0) scale(1); }
  to   { transform: translate3d(0, 1.5%, 0) scale(1.06); }
}

/* A thin ambient line that runs across selected section heads. */
.dch-ambient {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  overflow: hidden;
  pointer-events: none;
}

.dch-ambient__beam {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(47, 111, 208, 0.55) 45%, rgba(224, 30, 43, 0.5) 55%, transparent 100%);
  transform: translate3d(-100%, 0, 0);
  animation: dch-beam 18s linear infinite;
}

@keyframes dch-beam {
  from { transform: translate3d(-100%, 0, 0); }
  to   { transform: translate3d(100%, 0, 0); }
}

/* Interaction: pointer-following light and a short, tactile card lift. */
@media (hover: hover) and (pointer: fine) {
  .project-card__shot,
  .package-card,
  .package-mini {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition: transform 260ms var(--ease-out), box-shadow 260ms ease, border-color 260ms ease;
  }

  .project-card__shot:hover,
  .project-card__shot:focus-visible {
    transform: translateY(-6px);
    box-shadow: 0 22px 44px rgba(10, 34, 67, 0.18);
  }

  .package-card:hover,
  .package-card:focus-within,
  .package-mini:hover,
  .package-mini:focus-visible {
    box-shadow: 0 22px 44px rgba(10, 34, 67, 0.18);
  }
  .package-card:hover,
  .package-card:focus-within { border-inline-color: var(--blue); border-bottom-color: var(--blue); }
  .package-mini:hover,
  .package-mini:focus-visible { border-color: var(--blue); }

  .project-card__shot::after,
  .package-card::before,
  .package-mini::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transition: opacity 220ms ease;
    background: radial-gradient(circle 190px at var(--glow-x, 50%) var(--glow-y, 50%), rgba(105, 190, 255, 0.26), transparent 72%);
  }

  .project-card__shot::after { background: radial-gradient(circle 210px at var(--glow-x, 50%) var(--glow-y, 50%), rgba(255, 255, 255, 0.3), transparent 70%); }
  .package-card > *, .package-mini > * { position: relative; z-index: 2; }

  .project-card__shot:hover::after,
  .project-card__shot:focus-visible::after,
  .package-card:hover::before,
  .package-card:focus-within::before,
  .package-mini:hover::before,
  .package-mini:focus-visible::before { opacity: 1; }
}

/* Scroll accents draw across existing section rules; all content remains still. */
.home-work .section-head__top,
.home-services .section-head__top,
#packages .section-head__top,
.value-column,
.service-row { position: relative; }

.home-work .section-head__top::after,
.home-services .section-head__top::after,
#packages .section-head__top::after,
.value-column::before,
.service-row::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 3px;
  pointer-events: none;
  background: linear-gradient(90deg, var(--blue), #83c8ff 60%, var(--red));
  transform: scaleX(0);
  transform-origin: left center;
}

.home-work .section-head__top::after,
.home-services .section-head__top::after,
#packages .section-head__top::after { bottom: -1px; }
.value-column::before { top: -3px; }
.service-row::after { bottom: -1px; height: 2px; }
.value-column:nth-child(3)::before { background: linear-gradient(90deg, var(--red), #ff9da5); }
.service-row { transition: background-color 220ms ease, box-shadow 220ms ease; }
.service-row:hover,
.service-row:focus-within { background-color: rgba(47, 111, 208, 0.055); box-shadow: inset 4px 0 0 var(--blue); }

.dch-accent-visible .section-head__top::after,
.value-column.dch-accent-visible::before,
.service-row.dch-accent-visible::after {
  animation: dch-accent-draw 850ms var(--ease-out) both;
}

.service-row:hover::after,
.service-row:has(details[open])::after { transform: scaleX(1); background: var(--blue); }
.service-row__detail summary { transition: color 180ms ease; }
.service-row__detail[open] summary { color: var(--red); }
@keyframes dch-accent-draw { to { transform: scaleX(1); } }

/* ---------------------------------------------------------------------------
   2. Pause control and motion state
   --------------------------------------------------------------------------- */

.motion-control {
  position: fixed;
  left: max(0.9rem, env(safe-area-inset-left));
  bottom: max(0.9rem, env(safe-area-inset-bottom));
  z-index: 45;
}

.motion-control[hidden] { display: none !important; }

.motion-control__button {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 40px;
  padding: 0.5rem 0.85rem;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow-sm);
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 650;
  letter-spacing: 0.02em;
}

.motion-control__button:hover { border-color: var(--ink); }

.motion-control__icon {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.motion-control__icon span {
  display: block;
  width: 3px;
  height: 12px;
  background: var(--red);
  transition: transform 200ms ease;
}

.motion-control__button[aria-pressed="true"] .motion-control__icon span:first-child { transform: translateY(3px) scaleY(0.6); }
.motion-control__button[aria-pressed="true"] .motion-control__icon span:last-child { transform: translateY(-3px) scaleY(0.6); }

html[data-motion-paused="true"] .dch-pattern__layer,
html[data-motion-paused="true"] .dch-ambient__beam,
html[data-motion-paused="true"] .hero-signal *,
html[data-motion-paused="true"] .hero-signal-stage::after,
html[data-motion-paused="true"] .start-card::after,
html[data-motion-paused="true"] .dch-accent-visible .section-head__top::after,
html[data-motion-paused="true"] .value-column.dch-accent-visible::before,
html[data-motion-paused="true"] .service-row.dch-accent-visible::after,
body.dch-motion-disabled .dch-pattern__layer,
body.dch-motion-disabled .dch-ambient__beam,
body.dch-motion-disabled .hero-signal *,
body.dch-motion-disabled .hero-signal-stage::after,
body.dch-motion-disabled .start-card::after,
body.dch-motion-disabled .dch-accent-visible .section-head__top::after,
body.dch-motion-disabled .value-column.dch-accent-visible::before,
body.dch-motion-disabled .service-row.dch-accent-visible::after {
  animation-play-state: paused !important;
}

body.dch-motion-disabled .dch-pattern,
body.dch-motion-disabled .dch-ambient { display: none; }
body.dch-motion-disabled .hero-signal * { animation: none !important; }
body.dch-motion-disabled .hero-signal-stage::after,
body.dch-motion-disabled .start-card::after { display: none !important; }

html[data-motion-paused="true"] .project-card__shot,
html[data-motion-paused="true"] .package-card,
html[data-motion-paused="true"] .package-mini,
body.dch-motion-disabled .project-card__shot,
body.dch-motion-disabled .package-card,
body.dch-motion-disabled .package-mini { transform: none !important; transition: none !important; }
html[data-motion-paused="true"] .service-row,
body.dch-motion-disabled .service-row { transition: none !important; }
html[data-motion-paused="true"] .project-card__shot::after,
html[data-motion-paused="true"] .package-card::before,
html[data-motion-paused="true"] .package-mini::before,
body.dch-motion-disabled .project-card__shot::after,
body.dch-motion-disabled .package-card::before,
body.dch-motion-disabled .package-mini::before { opacity: 0 !important; }

body.dch-motion-disabled .dch-accent-visible .section-head__top::after,
body.dch-motion-disabled .value-column.dch-accent-visible::before,
body.dch-motion-disabled .service-row.dch-accent-visible::after { animation: none !important; transform: scaleX(1); }

/* Decorative layers stop while off screen. */
.dch-pattern.is-offscreen .dch-pattern__layer,
.dch-ambient.is-offscreen .dch-ambient__beam,
.hero-signal.is-offscreen *,
.hero-signal-stage.is-offscreen::after,
.start-card.is-offscreen::after { animation-play-state: paused; }

@media (min-width: 900px) {
  .motion-control { left: max(1.5rem, env(safe-area-inset-left)); bottom: max(1.5rem, env(safe-area-inset-bottom)); }
}

/* ---------------------------------------------------------------------------
   3. Contact Form 7 presentation
   --------------------------------------------------------------------------- */

.project-form.wpcf7-form,
.wpcf7 .project-form {
  display: grid;
  gap: 1.5rem;
  margin-top: 1.75rem;
}

.wpcf7 { position: relative; }

.wpcf7-form .form-section > p,
.wpcf7-form .field > p { margin: 0; }

/* CF7 auto-paragraphs every control in this row into one <p> with <br>s. */
.wpcf7-form .form-actions > p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem;
  width: 100%;
  margin: 0;
}
.wpcf7-form .form-actions > p > br { display: none; }
.wpcf7-form .form-actions .wpcf7-spinner { order: 4; margin: 0; }

.wpcf7-form .wpcf7-form-control-wrap { display: block; position: relative; }

.wpcf7-form .field .wpcf7-form-control-wrap input,
.wpcf7-form .field .wpcf7-form-control-wrap select,
.wpcf7-form .field .wpcf7-form-control-wrap textarea { width: 100%; }

.wpcf7-form .wpcf7-not-valid {
  border-color: #92a6c0 !important;
  background: var(--surface) !important;
}

.wpcf7-form :where(input, select, textarea):focus-visible {
  outline-color: var(--blue);
}

.wpcf7-form .wpcf7-not-valid-tip {
  margin-top: 0.35rem;
  color: var(--red-deep);
  font-size: 0.84rem;
  font-weight: 650;
}

.wpcf7-form .wpcf7-response-output {
  margin: 0;
  padding: 1rem 1.15rem;
  border: 1px solid var(--line);
  border-left: 4px solid var(--red);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink-soft);
  font-size: 0.92rem;
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output { border-left-color: var(--red-deep); }

.wpcf7-form.sent .wpcf7-response-output { border-left-color: var(--navy-700); }

.wpcf7-spinner {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: 0.6rem;
  border: 2px solid rgba(11, 21, 35, 0.25);
  border-top-color: var(--navy-700);
  border-radius: 50%;
  animation: dch-spin 900ms linear infinite;
  vertical-align: middle;
}

@keyframes dch-spin {
  to { transform: rotate(360deg); }
}

/* Service multi-select mapped onto the approved checkbox cards. */
.check-grid .wpcf7-checkbox {
  display: grid;
  gap: 0.55rem;
}

.check-grid .wpcf7-list-item {
  display: block;
  margin: 0;
}

.check-grid .wpcf7-list-item > label {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  padding: 0.65rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  font-size: 0.92rem;
  cursor: pointer;
}

.check-grid .wpcf7-list-item > label:has(input:checked) {
  border-color: var(--navy-700);
  background: rgba(16, 48, 88, 0.06);
}

.check-grid .wpcf7-list-item input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0.1rem 0 0;
  accent-color: var(--navy-700);
}

.check-grid .wpcf7-list-item-label { display: block; }

/* Acceptance checkbox inside the approved consent row. */
.consent { display: block; }
.consent > p { margin: 0; }
.consent .wpcf7-list-item { margin: 0; }
.consent .wpcf7-list-item > label {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
  font-size: 0.92rem;
  cursor: pointer;
}
.consent .wpcf7-list-item input[type="checkbox"] { width: 1.15rem; height: 1.15rem; margin-top: 0.2rem; accent-color: var(--navy-700); }
.consent .wpcf7-list-item-label { display: block; }

/* Honeypot: present in the DOM for naive bots, impossible to reach by hand. */
.dch-hp {
  position: absolute !important;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.form-submit .wpcf7-submit[aria-disabled="true"] { opacity: 0.65; cursor: progress; }

/* Result panel states. */
.form-result--sent { border-color: var(--navy-700); }
.form-result--failed,
.form-result--invalid,
.form-result--spam,
.form-result--network { border-color: var(--red-deep); }

.form-result__eyebrow { color: var(--red-deep); }
.form-result--sent .form-result__eyebrow { color: var(--navy-700); }

.result-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.5rem; }

.result-note { color: var(--muted) !important; font-size: 0.88rem; }

.form-result__list {
  margin-top: 0.85rem;
  padding-left: 1.1rem;
  color: var(--ink-soft);
}

.form-result__list li { list-style: disc; }

.form-fallback {
  display: grid;
  gap: 1rem;
  margin-top: 1.75rem;
  padding: clamp(1.4rem, 3.5vw, 2.25rem);
  border: 2px solid var(--red-deep);
  border-radius: var(--radius);
  background: var(--surface);
}

.form-fallback h2 { font-size: clamp(1.4rem, 2.6vw, 2rem); }
.form-fallback p { max-width: 72ch; color: var(--ink-soft); }
.form-fallback__actions { display: flex; flex-wrap: wrap; gap: 0.7rem; }

/* ---------------------------------------------------------------------------
   4. WordPress-generated components
   --------------------------------------------------------------------------- */

.case-aside__action { margin-top: 0.75rem; }
.contact-band__title { font-size: clamp(1.7rem, 3.4vw, 2.6rem); margin-top: 0.6rem; }
.page-404__search { margin-top: 1.75rem; max-width: 32rem; }
.package-actions { margin-top: 1.5rem; }
.page-opening__eyebrow { margin-top: 1.75rem; }
.enquiry-notice { max-width: 78ch; margin-top: 1.75rem; }
.form-status { min-height: 0; }
.form-status:empty { display: none; }

.search-form { display: flex; flex-wrap: wrap; gap: 0.7rem; align-items: end; }
.search-form .field { flex: 1 1 16rem; }
.search-form input[type="search"] {
  width: 100%;
  min-height: 48px;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.entry-list { display: grid; gap: clamp(1.5rem, 3vw, 2.25rem); }
.entry-summary { display: grid; gap: 0.6rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.entry-summary__title { font-size: clamp(1.25rem, 2.2vw, 1.8rem); }
.entry-summary__title a { text-decoration: none; }
.entry-summary__title a:hover { color: var(--navy-700); }
.entry-summary__excerpt { max-width: 68ch; color: var(--ink-soft); }
.entry-summary__thumb img { border-radius: var(--radius); }

.pagination,
.nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 2.5rem; }
.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.4rem 0.7rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  text-decoration: none;
  font-weight: 650;
}
.page-numbers.current { border-color: var(--navy-700); background: rgba(16, 48, 88, 0.07); }

.case-notes li { list-style: none; }
.case-section__body > p + p { margin-top: 0.85rem; }

/* ---------------------------------------------------------------------------
   5. Reduced motion and forced-motion-off
   --------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .dch-pattern__layer,
  .dch-ambient__beam,
  .hero-signal * {
    animation: none !important;
    transform: none !important;
  }
  .hero-signal-stage::after,
  .start-card::after { display: none !important; }
  .project-card__shot,
  .package-card,
  .package-mini { transform: none !important; transition: none !important; }
  .service-row { transition: none !important; }
  .project-card__shot::after,
  .package-card::before,
  .package-mini::before { opacity: 0 !important; }
  .dch-accent-visible .section-head__top::after,
  .value-column.dch-accent-visible::before,
  .service-row.dch-accent-visible::after { animation: none !important; transform: scaleX(1); }
}
