/* Homepage refinement. Existing brand, copy and project controls remain intact. */
.dd-home.dd-refined {
  --dd-ease: cubic-bezier(.22, 1, .36, 1);
  --dd-soft-accent: oklch(84% .105 178);
  --dd-refine-surface: oklch(19% .018 185);
  --dd-refine-line: oklch(40% .025 185);
}
.dd-refined .landing-header {
  min-height: 88px;
  width: min(75rem, calc(100% - 4rem));
  align-items: center;
}
.dd-refined .landing-brand { font-weight: 650; letter-spacing: -.025em; }
.dd-refined .landing-header nav > a:not(.landing-nav-cta) { position: relative; }
.dd-refined .landing-header nav > a:not(.landing-nav-cta)::after {
  content: ''; position: absolute; inset: auto .75rem .5rem;
  height: 1px; background: var(--dd-soft-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform 220ms var(--dd-ease);
}
.dd-refined .landing-header nav > a:hover::after,
.dd-refined .landing-header nav > a:focus-visible::after { transform: scaleX(1); }
.dd-refined .landing-nav-cta { border-color: var(--dd-refine-line); }
.dd-home.dd-refined .dd-hero,
.dd-home.dd-refined.dd-sphere-preview .dd-hero {
  position: relative; display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(2rem, 5vw, 5rem);
  width: min(75rem, calc(100% - 4rem));
  min-height: 0; padding: clamp(2.5rem, 4vw, 4rem) 0;
  align-items: center; text-align: left;
  isolation: isolate;
}
.dd-refined .dd-hero-copy { min-width: 0; max-width: 100%; }
.dd-home.dd-refined .dd-hero h1,
.dd-home.dd-refined.dd-sphere-preview .dd-hero h1 {
  max-width: 14ch; margin: 0;
  font-size: clamp(3.2rem, 5.6vw, 5rem);
  font-weight: 600; line-height: 1.04; letter-spacing: -.06em;
  text-shadow: none; text-wrap: balance;
}
.dd-home.dd-refined.dd-sphere-preview .dd-hero h1 > span { color: var(--dd-soft-accent); }
.dd-home.dd-refined .dd-hero .dd-eyebrow { color: var(--dd-soft-accent); margin-bottom: 1.5rem; }
.dd-home.dd-refined .dd-hero .dd-lede {
  max-width: 43ch; margin: 1.75rem 0 0;
  font-size: clamp(1.04rem, 1.25vw, 1.15rem); line-height: 1.75;
  text-shadow: none;
}
.dd-home.dd-refined .dd-hero .dd-actions {
  justify-content: flex-start; align-items: flex-start;
  flex-direction: column; gap: .7rem; margin-top: 2rem;
}
.dd-home.dd-refined .dd-button,
.dd-home.dd-refined.dd-sphere-preview .dd-hero .dd-button {
  background: var(--dd-soft-accent); border-color: var(--dd-soft-accent);
  color: var(--dd-ink-950); border-radius: 6px;
  padding: .95rem 1.3rem; font-weight: 650;
}
.dd-home.dd-refined .dd-button:hover { background: oklch(89% .085 178); border-color: oklch(89% .085 178); }
.dd-home.dd-refined .dd-button:active { transform: scale(.985); }
.dd-refined .dd-text-link { text-underline-offset: 6px; }
.dd-home.dd-refined.dd-sphere-preview .dd-hero .dd-system-map {
  display: block !important; min-width: 0; z-index: 1;
  background: var(--dd-refine-surface);
  border: 1px solid var(--dd-refine-line); border-radius: 10px;
  padding: clamp(1.3rem, 2vw, 1.5rem);
  box-shadow: none;
}
.dd-refined .dd-system-map h2 { font-size: clamp(1.5rem, 2vw, 1.75rem); margin-block: .85rem; }
.dd-refined .dd-message { padding: .65rem .85rem; font-size: .85rem; }
.dd-refined .dd-system-flow { margin: .8rem 0; }
.dd-refined .dd-system-step { min-height: 54px; }
.dd-refined .dd-step-control { min-height: 48px; }
.dd-refined .dd-step-copy strong { font-size: .87rem; }
.dd-refined .dd-flow-detail { min-height: 3.6rem; }
.dd-refined .dd-system-note { font-size: .72rem; }
.dd-refined .dd-sphere-field { inset: -2rem 0; background: transparent; opacity: .22; }
.dd-home.dd-refined.dd-sphere-with-background .dd-hero-shader { display: none !important; }
.dd-refined .dd-sphere-field::after { background: none; }
.dd-refined .dd-sphere-scene { left: 77%; width: min(55vw, 560px); }
.dd-refined .dd-sphere-ring { border-color: oklch(73% .09 295 / .45); box-shadow: none; }
.dd-refined .dd-sphere-orb { animation: dd-refine-orbit 4.8s var(--dd-ease) 1 both; }
/* A finite introduction settles into a still image, rather than looping behind text. */
@keyframes dd-refine-orbit {
  from { transform: rotateX(15deg) rotateY(-25deg) rotateZ(-18deg); }
  to { transform: rotateX(25deg) rotateY(15deg) rotateZ(-18deg); }
}
.dd-home.dd-refined .dd-sphere-signature-row {
  width: min(75rem, calc(100% - 4rem)); margin-inline: auto;
  justify-content: flex-start; padding: 1rem 0 1.5rem;
  background: transparent;
}
.dd-home.dd-refined .dd-section { width: min(75rem, calc(100% - 4rem)); padding-block: clamp(3.25rem, 6vw, 5.5rem); }
.dd-home.dd-refined [data-home-section="case-study"] { padding: clamp(1.5rem, 4vw, 3.5rem); background: var(--dd-refine-surface); }
.dd-refined .dd-section-heading h2 { letter-spacing: -.045em; text-wrap: balance; }
.dd-refined .dd-evidence article { border-color: var(--dd-refine-line); }
.dd-refined .dd-evidence strong { font-size: clamp(2.1rem, 3.2vw, 3rem); }
.dd-home.dd-refined .dd-route { padding-block: 1.6rem; }
.dd-refined .dd-route:hover { background: oklch(20% .017 185); }
.dd-home.dd-refined .dd-route:hover h3 { transform: translateX(3px); }
.dd-home.dd-refined .dd-spot-choice {
  position: relative; border-top: 1px solid var(--dd-refine-line);
  background: transparent; min-height: 68px;
}
.dd-refined .dd-spot-choice::after {
  content: ''; position: absolute; inset: auto 0 -1px;
  height: 2px; background: var(--dd-soft-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform 280ms var(--dd-ease);
}
.dd-refined .dd-spot-choice[aria-pressed="true"]::after { transform: scaleX(1); }
.dd-refined .dd-spot-copy { padding-block: 1rem; }
.dd-refined .dd-process article::before { background: var(--dd-soft-accent); }
.dd-home.dd-refined .contact-form { max-width: 54rem; min-width: 0; }
.dd-refined .contact-form > *, .dd-refined .contact-form label { min-width: 0; }
.dd-home.dd-refined #contact .dd-section-heading { margin-bottom: 2rem; }
.dd-refined .dd-in-view { animation: dd-refine-enter 480ms var(--dd-ease) both; }
.dd-refined .dd-is-entering { animation: dd-refine-enter 480ms var(--dd-ease) both; }
@keyframes dd-refine-enter { from { opacity: .55; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .dd-refined .dd-hero-copy > .dd-eyebrow { animation: dd-refine-enter 450ms var(--dd-ease) both; }
  .dd-refined .dd-hero-copy > h1 { animation: dd-refine-enter 550ms 60ms var(--dd-ease) both; }
  .dd-refined .dd-hero-copy > .dd-lede { animation: dd-refine-enter 550ms 120ms var(--dd-ease) both; }
  .dd-refined .dd-hero-copy > .dd-actions { animation: dd-refine-enter 550ms 180ms var(--dd-ease) both; }
}
@media (max-width: 1000px) {
  .dd-home.dd-refined .dd-hero, .dd-home.dd-refined.dd-sphere-preview .dd-hero { gap: 2rem; }
  .dd-home.dd-refined .dd-hero h1, .dd-home.dd-refined.dd-sphere-preview .dd-hero h1 { font-size: clamp(2.7rem, 5.7vw, 4rem); }
  .dd-refined .dd-step-copy strong { font-size: .82rem; }
}
@media (max-width: 780px) {
  .dd-refined .landing-header { width: calc(100% - 2rem); min-height: 76px; }
  .dd-home.dd-refined .dd-hero, .dd-home.dd-refined.dd-sphere-preview .dd-hero {
    width: calc(100% - 2rem); grid-template-columns: 1fr;
    padding: 2.5rem 0 2rem; gap: 2.5rem;
  }
  .dd-home.dd-refined .dd-hero h1, .dd-home.dd-refined.dd-sphere-preview .dd-hero h1 { font-size: clamp(2.7rem, 10vw, 4rem); }
  .dd-home.dd-refined .dd-hero .dd-lede { max-width: 48ch; }
  .dd-home.dd-refined .dd-hero .dd-actions { align-items: stretch; }
  .dd-refined .dd-hero .dd-text-link { align-self: flex-start; }
  .dd-home.dd-refined .dd-section, .dd-home.dd-refined .dd-sphere-signature-row { width: calc(100% - 2rem); }
  .dd-refined .dd-sphere-scene { left: 80%; top: 72%; width: 90vw; }
  .dd-home.dd-refined.dd-sphere-preview .dd-hero .dd-system-map { max-width: none; width: 100%; }
  .dd-refined .dd-step-copy strong { font-size: .91rem; }
  .dd-refined .dd-flow-detail { min-height: 4.6rem; }
  .dd-refined .dd-spot-copy { min-height: 0; }
  .dd-refined .dd-spot-visual { min-height: 360px; }
}
@media (max-width: 380px) {
  .dd-refined .dd-evidence article { grid-template-columns: 6rem 1fr; }
  .dd-refined .dd-hero .dd-button { font-size: .92rem; gap: .6rem; }
  .dd-refined .dd-message { flex-wrap: wrap; }
  .dd-refined .dd-step-copy strong { font-size: .83rem; }
}
@media (prefers-reduced-motion: reduce) {
  .dd-refined *, .dd-refined *::before, .dd-refined *::after { animation: none !important; transition: none !important; }
  .dd-refined .dd-sphere-orb { transform: rotateX(25deg) rotateY(15deg) rotateZ(-18deg); }
  .dd-refined .dd-button:active, .dd-refined .dd-route:hover h3 { transform: none !important; }
}
