/* ═══════════════════════════════════════════════════════════════
   Cascadian Landscapers Inc. — Design A (Sunliner)
   All selectors scoped to [data-design="a"].dq-design and .dq-design
   ZERO [data-design="a"].dq-design selectors remain.
   --design-a-primary exposed on root block.
   Motion: transform/opacity/clip-path only — NO layout props.
   Hover transforms gated inside @media (hover:hover) and (pointer:fine).
   No scale(0) entries; no ease-in entrances.
   No opacity:0 on any text/decor under hero or CTA at rest.
═══════════════════════════════════════════════════════════════ */

/* ── Token block ─────────────────────────────────────────────── */
[data-design="a"] {
  --design-a-primary: #CE5A22;

  /* Color */
  --sl-canvas:       #F4EAD0;
  --sl-canvas-deep:  #ECDDBC;
  --sl-panel:        #E7D4AC;
  --sl-surface:      #FBF4E2;
  --sl-surface-2:    #FFFCF2;
  --sl-ink:          #2C2118;
  --sl-ink-2:        #4C3A29;
  --sl-muted:        #7E6B51;
  --sl-faint:        #A08C6E;
  --sl-border:       #D9C49B;
  --sl-border-soft:  #E6D6B4;
  --sl-line:         #C9B488;
  --sl-walnut:       #3A2A1B;
  --sl-walnut-deep:  #2A1D12;

  --sl-gold:         #E4A627;
  --sl-gold-deep:    #C0821A;
  --sl-gold-glow:    #F6C95C;
  --sl-orange:       #CE5A22;
  --sl-orange-deep:  #A8430F;
  --sl-orange-glow:  #F1834A;
  --sl-turq:         #2BA39A;
  --sl-turq-deep:    #1C7B74;
  --sl-avocado:      #7C8B38;
  --sl-avocado-deep: #5C6A26;
  --sl-rust:         #A8331C;
  --sl-amber:        #D98C1E;

  --sl-dusk-sky:     #1E2A3A;
  --sl-dusk-ground:  #14202C;
  --sl-dusk-ink:     #F4EAD0;
  --sl-dusk-muted:   #B7C0C9;
  --sl-dusk-neon:    #F1834A;

  /* Typography */
  --sl-font-display: "Futura", "Futura PT", "Avenir Next", "Century Gothic", "Trebuchet MS", system-ui, sans-serif;
  --sl-font-body:    "Hanken Grotesk", "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --sl-font-mono:    "Space Mono", "IBM Plex Mono", ui-monospace, "Courier New", monospace;
  --sl-font-script:  "Pacifico", "Brush Script MT", cursive;

  --sl-text-meta:    clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
  --sl-text-cap:     clamp(0.875rem, 0.84rem + 0.2vw, 0.9375rem);
  --sl-text-body:    clamp(1rem, 0.96rem + 0.3vw, 1.1875rem);
  --sl-text-lead:    clamp(1.125rem, 1.05rem + 0.5vw, 1.375rem);
  --sl-text-h3:      clamp(1.375rem, 1.2rem + 0.9vw, 1.875rem);
  --sl-text-h2:      clamp(1.875rem, 1.5rem + 1.9vw, 3.125rem);
  --sl-text-h1:      clamp(2.75rem, 1.8rem + 4.6vw, 5.5rem);

  --sl-leading-body:     1.6;
  --sl-leading-tight:    1.05;
  --sl-tracking-display: 0.005em;
  --sl-tracking-mono:    0.14em;

  /* Spacing */
  --sl-hair:    4px;
  --sl-tight:   8px;
  --sl-gap:     16px;
  --sl-pad:     24px;
  --sl-bay:     40px;
  --sl-court:   64px;
  --sl-section: clamp(72px, 6vw + 40px, 96px);
  --sl-vista:   clamp(96px, 9vw, 128px);

  /* Motion easings */
  --sl-ease-sunrise: cubic-bezier(0.16, 1, 0.3, 1);
  --sl-ease-arc:     cubic-bezier(0.37, 0, 0.45, 1);
  --sl-ease-flip:    cubic-bezier(0.66, 0, 0.34, 1);
  --sl-ease-glow:    cubic-bezier(0.45, 0, 0.2, 1);

  --sl-dur-tap:    150ms;
  --sl-dur-warm:   240ms;
  --sl-dur-settle: 560ms;

  --sl-cyc-header:  30s;
  --sl-cyc-sky:     24s;
  --sl-cyc-cta:     5s;
  --sl-cyc-pointer: 5.5s;
  --sl-cyc-kb:      14s;
  --sl-cyc-fleck:   18s;
  --sl-cyc-pattern: 26s;

  /* Radius */
  --sl-r-tab:   8px;
  --sl-r-card:  14px;
  --sl-r-sign:  20px;
  --sl-r-pill:  9999px;

  /* Shadow */
  --sl-shadow-card: 0 10px 26px rgba(44, 33, 26, 0.14);
  --sl-shadow-sign: 5px 5px 0 0 var(--sl-walnut);
  --sl-shadow-lift: 0 16px 40px rgba(44, 33, 26, 0.22);
  --sl-ring-line:   0 0 0 1px var(--sl-line);
  --sl-focus-ring:  0 0 0 3px rgba(43, 163, 154, 0.55);

  /* Page base */
  background: var(--sl-canvas);
  color: var(--sl-ink);
  font-family: var(--sl-font-body);
  font-size: var(--sl-text-body);
  line-height: var(--sl-leading-body);
}

/* Mobile no-scroll guard */
[data-design="a"].dq-design,
[data-design="a"] .dq-design { max-width: 100%; overflow-x: clip; }
[data-design="a"].dq-design * { min-width: 0; }
[data-design="a"].dq-design img,
[data-design="a"].dq-design svg:not([data-keep-size]) { max-width: 100%; height: auto; }

/* ── E1: HEADER ───────────────────────────────────────────────── */
[data-design="a"] .sl-header {
  position: sticky; top: 0; z-index: 60;
  background: var(--sl-walnut); color: var(--sl-canvas); overflow: clip;
}
[data-design="a"] .sl-header__bar {
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sl-gap); max-width: 1200px; margin: 0 auto;
  padding: var(--sl-tight) clamp(16px, 4vw, 40px);
}
[data-design="a"] .sl-logo {
  display: inline-block; text-decoration: none;
  font-family: var(--sl-font-display); font-weight: 700;
  letter-spacing: var(--sl-tracking-display);
  font-size: clamp(1rem, 0.85rem + 0.9vw, 1.45rem);
  color: var(--sl-canvas);
  background: var(--sl-orange); padding: 6px 14px;
  border-radius: var(--sl-r-tab); box-shadow: var(--sl-shadow-sign);
}
[data-design="a"] .sl-logo__mark { display: inline-block; }

/* Sunburst atmospheric layer — slow 30s cycle (H-3) */
[data-design="a"] .sl-header__sun {
  position: absolute; z-index: 1; top: 50%;
  left: clamp(140px, 22vw, 320px); width: 140px; height: 140px;
  transform: translateY(-50%);
  color: var(--sl-gold); opacity: .34; pointer-events: none;
}
[data-design="a"] .sl-sunburst {
  width: 100%; height: 100%;
  transform-origin: 60px 60px;
  animation: a-sunturn var(--sl-cyc-header) linear infinite;
}
[data-design="a"] .sl-sunburst__core {
  animation: a-sunpulse 9s var(--sl-ease-glow) infinite;
  transform-origin: 60px 60px;
}
@keyframes a-sunturn { to { transform: rotate(360deg); } }
@keyframes a-sunpulse { 0%,100% { opacity: .55; } 50% { opacity: 1; } }

/* Hamburger */
[data-design="a"] .sl-burger {
  display: inline-flex; flex-direction: column;
  gap: 5px; width: 44px; height: 44px;
  align-items: center; justify-content: center;
  background: transparent; border: 0; cursor: pointer;
  border-radius: var(--sl-r-tab);
}
[data-design="a"] .sl-burger__bar {
  display: block; width: 24px; height: 2px;
  background: var(--sl-canvas);
  transition:
    transform var(--sl-dur-warm) var(--sl-ease-sunrise),
    opacity var(--sl-dur-tap) linear;
}
[data-design="a"] .sl-burger[aria-expanded="true"] .sl-burger__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
[data-design="a"] .sl-burger[aria-expanded="true"] .sl-burger__bar:nth-child(2) { opacity: 0; }
[data-design="a"] .sl-burger[aria-expanded="true"] .sl-burger__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
[data-design="a"] .sl-burger:focus-visible { box-shadow: var(--sl-focus-ring); outline: none; }

/* Drawer — garage door, display:none when hidden */
[data-design="a"] .sl-drawer {
  position: fixed; inset: 0; z-index: 70;
  background: color-mix(in oklab, var(--sl-walnut-deep), transparent 6%);
}
[data-design="a"] .sl-drawer[hidden] { display: none; }
[data-design="a"] .sl-drawer__panel {
  max-width: 1200px; margin: 0 auto; min-height: 100%;
  display: flex; flex-direction: column; gap: var(--sl-gap);
  justify-content: center;
  padding: clamp(48px, 12vh, 120px) clamp(24px, 8vw, 80px);
  transform: translateY(-12px); opacity: 0;
}
[data-design="a"] .sl-drawer.is-open .sl-drawer__panel {
  animation: a-drawer-in var(--sl-dur-settle) var(--sl-ease-sunrise) forwards;
}
@keyframes a-drawer-in { to { transform: translateY(0); opacity: 1; } }
[data-design="a"] .sl-navlink {
  font-family: var(--sl-font-display); font-weight: 700;
  font-size: clamp(1.6rem, 1.1rem + 3vw, 3rem);
  color: var(--sl-canvas); text-decoration: none;
  width: max-content; padding: 4px 0;
}
[data-design="a"] .sl-navlink::after {
  content: ""; display: block; height: 4px;
  background: var(--sl-gold); transform: scaleX(0); transform-origin: left;
  transition: transform var(--sl-dur-warm) var(--sl-ease-sunrise);
}
[data-design="a"] .sl-navlink:focus-visible::after { transform: scaleX(1); }
[data-design="a"] .sl-drawer__phone {
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  font-size: var(--sl-text-lead); color: var(--sl-gold-glow);
  text-decoration: none; padding: 4px 0;
}
[data-design="a"] .sl-cta--drawer {
  background: var(--sl-gold); color: var(--sl-walnut-deep);
  font-size: var(--sl-text-h3);
}

/* ── E3 / HERO ────────────────────────────────────────────────── */
[data-design="a"] .sl-hero {
  position: relative; isolation: isolate;
  min-height: 92svh; display: flex; align-items: flex-end; overflow: clip;
  background: var(--sl-walnut-deep);
}
[data-design="a"] .sl-hero__media {
  position: absolute; inset: 0; z-index: 0;
}
/* Ken-Burns: scale(1) → scale(1.05) — no scale(0), ease-out arc */
[data-design="a"] .sl-hero__photo {
  width: 100%; height: 100%; object-fit: cover;
  transform-origin: 55% 60%;
  animation: a-kenburns var(--sl-cyc-kb) var(--sl-ease-arc) infinite alternate;
}
@keyframes a-kenburns { from { transform: scale(1.0); } to { transform: scale(1.05); } }

/* Sky shift — opacity/transform only, sustained ambient (HERO-1, v0.2.1) */
[data-design="a"] .sl-hero__sky {
  position: absolute; inset: 0; mix-blend-mode: soft-light;
  background: linear-gradient(180deg,
    rgba(43,163,154,.30) 0%,
    rgba(228,166,39,.20) 52%,
    rgba(206,90,34,.34) 100%);
  animation: a-skyshift var(--sl-cyc-sky) var(--sl-ease-glow) infinite alternate;
}
@keyframes a-skyshift {
  from { opacity: .55; transform: translateY(0); }
  to   { opacity: .9;  transform: translateY(-4px); }
}
[data-design="a"] .sl-hero__sun {
  position: absolute; top: 14%; right: 16%;
  width: clamp(140px, 22vw, 300px); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle,
    rgba(246,201,92,.85) 0%, rgba(246,201,92,.28) 42%, transparent 70%);
  animation: a-sunglow 11s var(--sl-ease-glow) infinite alternate;
}
@keyframes a-sunglow {
  from { opacity: .6; transform: scale(.96); }
  to   { opacity: 1;  transform: scale(1.04); }
}
[data-design="a"] .sl-hero__flecks {
  position: absolute; inset: 0; opacity: .5;
  background-image:
    radial-gradient(2px 2px at 20% 30%, rgba(246,201,92,.9), transparent),
    radial-gradient(2px 2px at 70% 50%, rgba(255,255,255,.7), transparent),
    radial-gradient(2px 2px at 40% 80%, rgba(246,201,92,.7), transparent),
    radial-gradient(2px 2px at 85% 22%, rgba(255,255,255,.6), transparent);
  background-repeat: no-repeat;
  animation: a-fleck var(--sl-cyc-fleck) linear infinite;
}
@keyframes a-fleck {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-18px,-26px,0); }
}
/* Readability scrim */
[data-design="a"] .sl-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(0deg,
    rgba(20,24,28,.62) 0%, rgba(20,24,28,.12) 42%, transparent 64%);
}
/* Hero plate — all text at opacity:1 at first paint (HARD RULE) */
[data-design="a"] .sl-hero__plate {
  position: relative; z-index: 2;
  max-width: 560px;
  margin: 0 clamp(16px, 5vw, 64px) clamp(40px, 7vh, 80px);
  color: var(--sl-canvas); display: grid; gap: var(--sl-gap);
}
[data-design="a"] .sl-hero__name {
  font-family: var(--sl-font-display); font-weight: 800;
  font-size: var(--sl-text-h1); line-height: var(--sl-leading-tight);
  letter-spacing: var(--sl-tracking-display); margin: 0;
  text-wrap: balance; text-shadow: 0 2px 18px rgba(20,20,20,.4);
  /* opacity:1 is the browser default — confirmed explicit below */
  opacity: 1;
}
[data-design="a"] .sl-hero__essence {
  font-size: var(--sl-text-lead); margin: 0; max-width: 44ch;
  text-wrap: pretty; opacity: 1;
}
[data-design="a"] .sl-hero__coords {
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  font-size: var(--sl-text-cap); color: var(--sl-gold-glow);
  margin: 0; text-transform: uppercase; opacity: 1;
}
[data-design="a"] .sl-hero__season { margin: 0; opacity: 1; }

/* Decals */
[data-design="a"] .sl-decal {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  text-transform: uppercase; font-size: var(--sl-text-meta);
  padding: 5px 12px; border-radius: var(--sl-r-pill); opacity: 1;
}
[data-design="a"] .sl-decal--season { background: var(--sl-gold); color: var(--sl-walnut-deep); }
[data-design="a"] .sl-decal--cool   { background: var(--sl-turq); color: #fff; }

/* ── E2: CTA (funnel anchor + all variants) ──────────────────── */
[data-design="a"] .sl-cta {
  position: relative; isolation: isolate;
  display: inline-flex; align-items: center; gap: var(--sl-tight);
  font-family: var(--sl-font-display); font-weight: 700;
  font-size: var(--sl-text-lead); letter-spacing: var(--sl-tracking-display);
  text-decoration: none; color: var(--sl-surface-2);
  background: var(--sl-orange); padding: 14px 26px; min-height: 48px;
  border-radius: var(--sl-r-sign); box-shadow: var(--sl-shadow-sign);
  border: 0; cursor: pointer; opacity: 1;
  transition:
    transform var(--sl-dur-tap) var(--sl-ease-sunrise),
    background-color var(--sl-dur-warm) var(--sl-ease-glow),
    box-shadow var(--sl-dur-tap) var(--sl-ease-sunrise);
}
/* Neon halo — box-shadow only (compositor-safe) */
[data-design="a"] .sl-cta__halo {
  position: absolute; inset: -2px; z-index: -1;
  border-radius: inherit;
  animation: a-neon var(--sl-cyc-cta) var(--sl-ease-glow) infinite;
  opacity: 1;
}
@keyframes a-neon {
  0%,100% { box-shadow: 0 0 14px 1px rgba(241,131,74,.28); }
  50%     { box-shadow: 0 0 26px 5px rgba(246,201,92,.50); }
}
[data-design="a"] .sl-cta__label { opacity: 1; }
[data-design="a"] .sl-cta:focus-visible {
  outline: none;
  box-shadow: var(--sl-focus-ring), var(--sl-shadow-sign);
}
[data-design="a"] .sl-cta:active {
  transform: translate(3px, 3px);
  background: var(--sl-orange-deep);
  box-shadow: 2px 2px 0 0 var(--sl-walnut);
}

/* ── E6: POINTER ─────────────────────────────────────────────── */
/* opacity:1, height ≥ 8px at all breakpoints — HARD REQUIREMENT */
[data-design="a"] .sl-pointer {
  display: grid; justify-items: center; gap: var(--sl-tight);
  padding-block: var(--sl-court); background: var(--sl-canvas);
  cursor: pointer; opacity: 1;
}
[data-design="a"] .sl-pointer__arc { width: 120px; height: 64px; overflow: visible; }
[data-design="a"] .sl-pointer__horizon {
  stroke: var(--sl-line); stroke-width: 2; stroke-linecap: round;
}
/* Sun descend: transform only, starts scale(0.96)/translate, not scale(0) */
[data-design="a"] .sl-pointer__sun {
  fill: var(--sl-gold);
  filter: drop-shadow(0 0 6px rgba(246,201,92,.7));
  animation: a-sundescend var(--sl-cyc-pointer) var(--sl-ease-arc) infinite;
  transform-origin: center;
  opacity: 1;
}
@keyframes a-sundescend {
  0%   { transform: translate(-22px, -10px); fill: var(--sl-gold-glow); }
  60%  { transform: translate(0, 8px);       fill: var(--sl-gold); }
  100% { transform: translate(22px, 14px);   fill: var(--sl-orange); opacity: .85; }
}
[data-design="a"] .sl-pointer__label {
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  text-transform: uppercase; font-size: var(--sl-text-meta);
  color: var(--sl-muted); opacity: 1;
}

/* ── E5: FUNNEL ──────────────────────────────────────────────── */
[data-design="a"] #funnel {
  background: var(--sl-canvas-deep);
  padding-block: var(--sl-section);
}
[data-design="a"] .sl-funnel__inner {
  max-width: 680px; margin: 0 auto;
  padding-inline: clamp(16px, 5vw, 48px);
  display: grid; gap: var(--sl-bay);
}
[data-design="a"] .sl-funnel__head { display: grid; gap: var(--sl-tight); }
[data-design="a"] .sl-funnel__step-label {
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  text-transform: uppercase; font-size: var(--sl-text-meta);
  color: var(--sl-muted); margin: 0; opacity: 1;
}
[data-design="a"] .sl-funnel__title {
  font-family: var(--sl-font-display); font-weight: 800;
  font-size: var(--sl-text-h2); color: var(--sl-ink); margin: 0; opacity: 1;
}

/* Progress bar — transform:scaleX only */
[data-design="a"] .sl-funnel__progress {
  height: 4px; background: var(--sl-border);
  border-radius: var(--sl-r-pill); overflow: clip;
}
[data-design="a"] .sl-funnel__progress-fill {
  height: 100%; background: var(--sl-orange);
  transform-origin: left;
  transform: scaleX(0.2);
  transition: transform var(--sl-dur-settle) var(--sl-ease-sunrise);
}

/* Funnel steps */
[data-design="a"] .sl-funnel__step { display: grid; gap: var(--sl-gap); }
[data-design="a"] .sl-funnel__step[hidden] { display: none; }
[data-design="a"] .sl-funnel__step-q {
  font-family: var(--sl-font-display); font-weight: 700;
  font-size: var(--sl-text-h3); color: var(--sl-ink); margin: 0; opacity: 1;
}
[data-design="a"] .sl-funnel__step-note {
  font-size: var(--sl-text-cap); color: var(--sl-muted); margin: 0; opacity: 1;
}

/* Route option buttons (large) — opacity:1 at rest, entrance is transform only */
[data-design="a"] .sl-funnel__options {
  display: grid; gap: var(--sl-gap);
}
[data-design="a"] .sl-funnel__options--sm {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
[data-design="a"] .sl-funnel__option {
  display: grid; gap: 4px; text-align: left;
  background: var(--sl-surface); border: 2px solid var(--sl-border);
  border-radius: var(--sl-r-card); padding: var(--sl-pad);
  min-height: 56px; cursor: pointer;
  font-family: var(--sl-font-body); font-size: var(--sl-text-body);
  color: var(--sl-ink); box-shadow: var(--sl-shadow-card);
  transition:
    border-color var(--sl-dur-warm) var(--sl-ease-sunrise),
    transform var(--sl-dur-tap) var(--sl-ease-sunrise);
  opacity: 1;
}
[data-design="a"] .sl-funnel__option.is-selected {
  border-color: var(--sl-orange);
  box-shadow: 0 0 0 3px rgba(206,90,34,.18), var(--sl-shadow-card);
}
[data-design="a"] .sl-funnel__opt-icon {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  background: var(--sl-panel); border-radius: var(--sl-r-tab);
  color: var(--sl-orange); margin-bottom: 4px; opacity: 1;
}
[data-design="a"] .sl-funnel__opt-icon svg { width: 24px; height: 24px; }
[data-design="a"] .sl-funnel__opt-label {
  font-weight: 700; font-family: var(--sl-font-display);
  font-size: var(--sl-text-lead); opacity: 1;
}
[data-design="a"] .sl-funnel__opt-desc {
  font-size: var(--sl-text-cap); color: var(--sl-muted); opacity: 1;
}

/* Chip multi-select */
[data-design="a"] .sl-funnel__chips {
  display: flex; flex-wrap: wrap; gap: var(--sl-tight);
}
[data-design="a"] .sl-funnel__chip {
  background: var(--sl-surface); border: 2px solid var(--sl-border);
  border-radius: var(--sl-r-pill); padding: 10px 18px; min-height: 44px;
  font-family: var(--sl-font-body); font-size: var(--sl-text-cap);
  color: var(--sl-ink); cursor: pointer;
  transition:
    border-color var(--sl-dur-warm) var(--sl-ease-sunrise),
    background-color var(--sl-dur-warm) var(--sl-ease-sunrise);
  opacity: 1;
}
[data-design="a"] .sl-funnel__chip.is-selected {
  background: var(--sl-orange); border-color: var(--sl-orange);
  color: var(--sl-surface-2);
}
[data-design="a"] .sl-funnel__chip--continue {
  background: var(--sl-gold); border-color: var(--sl-gold);
  color: var(--sl-walnut-deep); font-weight: 700;
}

/* Funnel form */
[data-design="a"] .sl-funnel__form { display: grid; gap: var(--sl-gap); }
[data-design="a"] .sl-funnel__field-row {
  display: grid; gap: var(--sl-gap);
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
[data-design="a"] .sl-funnel__field { display: grid; gap: 6px; }
[data-design="a"] .sl-funnel__label {
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  font-size: var(--sl-text-meta); text-transform: uppercase; color: var(--sl-muted);
  opacity: 1;
}
[data-design="a"] .sl-funnel__input {
  background: var(--sl-surface-2); border: 1px solid var(--sl-border);
  border-radius: var(--sl-r-tab); padding: 12px var(--sl-gap);
  font-family: var(--sl-font-body); font-size: var(--sl-text-body);
  color: var(--sl-ink);
  transition: border-color var(--sl-dur-warm) var(--sl-ease-sunrise);
  opacity: 1;
}
[data-design="a"] .sl-funnel__input:focus {
  outline: none; border-color: var(--sl-turq);
  box-shadow: var(--sl-focus-ring);
}
[data-design="a"] .sl-funnel__textarea { resize: vertical; min-height: 80px; }
[data-design="a"] .sl-cta--funnel { justify-self: start; }
[data-design="a"] .sl-funnel__note {
  font-size: var(--sl-text-cap); color: var(--sl-muted); margin: 0; opacity: 1;
}

/* Confirmation — starts display:none, NEVER opacity:0 */
[data-design="a"] .sl-funnel__confirm {
  padding: var(--sl-pad); background: var(--sl-surface);
  border-radius: var(--sl-r-card); border: 2px solid var(--sl-avocado);
  opacity: 1;
}
[data-design="a"] .sl-funnel__confirm-msg {
  font-family: var(--sl-font-display); font-weight: 700;
  font-size: var(--sl-text-h3); color: var(--sl-avocado); margin: 0 0 8px; opacity: 1;
}
[data-design="a"] .sl-funnel__confirm-sub {
  font-size: var(--sl-text-cap); color: var(--sl-muted); margin: 0; opacity: 1;
}

/* Trust chips below funnel */
[data-design="a"] .sl-funnel__trust {
  display: flex; flex-wrap: wrap; gap: var(--sl-tight);
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  font-size: var(--sl-text-meta); text-transform: uppercase; color: var(--sl-muted);
  opacity: 1;
}
[data-design="a"] .sl-funnel__trust span {
  padding: 4px 10px; border: 1px solid var(--sl-border-soft);
  border-radius: var(--sl-r-pill);
}

/* ── OUR WORK ─────────────────────────────────────────────────── */
[data-design="a"] .sl-work {
  background: var(--sl-canvas);
  padding-block: var(--sl-section);
}
[data-design="a"] .sl-work__inner {
  max-width: 1100px; margin: 0 auto;
  padding-inline: clamp(16px, 5vw, 48px);
  display: grid; gap: var(--sl-vista);
}
[data-design="a"] .sl-work__head { display: grid; gap: var(--sl-gap); }
[data-design="a"] .sl-work__tag { margin: 0; }
[data-design="a"] .sl-work__title {
  font-family: var(--sl-font-display); font-weight: 800;
  font-size: var(--sl-text-h2); color: var(--sl-ink); margin: 0;
  text-wrap: balance;
}
[data-design="a"] .sl-work__intro {
  font-size: var(--sl-text-lead); color: var(--sl-ink-2); margin: 0;
  max-width: 60ch; text-wrap: pretty;
}

/* Project entries — scroll-reveal via IntersectionObserver (TRIAD-2: genuine scroll-driven) */
[data-design="a"] .sl-project {
  display: grid; gap: var(--sl-bay);
  grid-template-columns: 1fr 1fr;
  align-items: center;
  opacity: 1;
  transform: translateY(0);
}
[data-design="a"] .sl-project.a-reveal-pending {
  opacity: 0.001;
  transform: translateY(32px);
}
[data-design="a"] .sl-project.a-reveal-active {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity var(--sl-dur-settle) var(--sl-ease-sunrise),
    transform var(--sl-dur-settle) var(--sl-ease-sunrise);
}
[data-design="a"] .sl-project__media {
  border-radius: var(--sl-r-sign); overflow: clip;
  box-shadow: var(--sl-shadow-lift);
}
[data-design="a"] .sl-project__img--main {
  width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
  height: auto;
}
[data-design="a"] .sl-project__ba-wrap { display: grid; gap: var(--sl-gap); }
[data-design="a"] .sl-project__ba-pair {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--sl-gap);
}
[data-design="a"] .sl-project__ba-fig { margin: 0; position: relative; }
[data-design="a"] .sl-project__ba-fig img {
  width: 100%; aspect-ratio: 1; object-fit: cover; display: block;
  border-radius: var(--sl-r-card);
}
[data-design="a"] .sl-project__ba-cap {
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  text-transform: uppercase; font-size: var(--sl-text-meta);
  color: var(--sl-muted); margin-top: 6px; display: block;
}
[data-design="a"] .sl-project__copy { display: grid; gap: var(--sl-gap); }
[data-design="a"] .sl-project__num {
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  font-size: var(--sl-text-cap); color: var(--sl-orange); margin: 0;
}
[data-design="a"] .sl-project__name {
  font-family: var(--sl-font-display); font-weight: 800;
  font-size: var(--sl-text-h3); color: var(--sl-ink); margin: 0;
}
[data-design="a"] .sl-project__desc {
  font-size: var(--sl-text-body); color: var(--sl-ink-2); margin: 0;
  max-width: 50ch; line-height: 1.65;
}

/* Odd projects: image left / copy right; even: copy left / image right */
[data-design="a"] .sl-project:nth-child(even) .sl-project__media,
[data-design="a"] .sl-project--ba:nth-child(even) .sl-project__ba-wrap { order: 2; }
[data-design="a"] .sl-project:nth-child(even) .sl-project__copy { order: 1; }

/* Repeated funnel CTA band */
[data-design="a"] .sl-work__cta-band {
  display: grid; justify-items: center; gap: var(--sl-gap);
  padding-block: var(--sl-bay);
  border-top: 1px solid var(--sl-border-soft);
}
[data-design="a"] .sl-work__cta-line {
  font-family: var(--sl-font-display); font-weight: 700;
  font-size: var(--sl-text-h3); color: var(--sl-ink); margin: 0; text-wrap: balance;
  text-align: center;
}

/* ── E4: AMBIENT-B / PROCESS ─────────────────────────────────── */
[data-design="a"] .sl-ambient-b {
  position: relative; isolation: isolate; overflow: clip;
  background: var(--sl-canvas-deep); padding-block: var(--sl-section);
}
[data-design="a"] .sl-ambient-b__field {
  position: absolute; inset: 0; z-index: 0; opacity: .16; pointer-events: none;
}
[data-design="a"] .sl-atomfield { width: 130%; height: 100%; }
[data-design="a"] .sl-atomfield__g {
  transform-box: fill-box;
  animation: a-atomdrift var(--sl-cyc-pattern) var(--sl-ease-glow) infinite alternate;
}
@keyframes a-atomdrift {
  from { transform: translate3d(0,0,0);     opacity: .7; }
  to   { transform: translate3d(-26px,8px,0); opacity: 1; }
}
[data-design="a"] .sl-ambient-b__inner {
  position: relative; z-index: 1;
  max-width: 1100px; margin: 0 auto;
  padding-inline: clamp(16px, 5vw, 48px);
  display: grid; gap: var(--sl-bay);
}
[data-design="a"] .sl-ambient-b__title {
  font-family: var(--sl-font-display); font-weight: 800;
  font-size: var(--sl-text-h2); letter-spacing: var(--sl-tracking-display);
  color: var(--sl-ink); margin: 0;
}
[data-design="a"] .sl-process__steps {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--sl-court);
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
[data-design="a"] .sl-process__step { display: grid; gap: var(--sl-gap); }
[data-design="a"] .sl-process__num {
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  font-size: var(--sl-text-lead); color: var(--sl-orange); margin: 0;
}
[data-design="a"] .sl-process__phase {
  font-family: var(--sl-font-display); font-weight: 700;
  font-size: var(--sl-text-h3); color: var(--sl-ink); margin: 0 0 8px;
}
[data-design="a"] .sl-process__body p {
  font-size: var(--sl-text-body); color: var(--sl-ink-2); margin: 0; max-width: 36ch;
}

/* ── SERVICES ────────────────────────────────────────────────── */
[data-design="a"] .sl-services {
  background: var(--sl-canvas); padding-block: var(--sl-section);
}
[data-design="a"] .sl-services__inner {
  max-width: 1100px; margin: 0 auto;
  padding-inline: clamp(16px, 5vw, 48px);
  display: grid; gap: var(--sl-bay);
}
[data-design="a"] .sl-services__title {
  font-family: var(--sl-font-display); font-weight: 800;
  font-size: var(--sl-text-h2); color: var(--sl-ink); margin: 0;
}
[data-design="a"] .sl-services__grid {
  display: grid; gap: var(--sl-court);
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
[data-design="a"] .sl-svc-group__head {
  font-family: var(--sl-font-display); font-weight: 700;
  font-size: var(--sl-text-h3); color: var(--sl-ink);
  margin: 0 0 var(--sl-gap);
  padding-bottom: var(--sl-tight);
  border-bottom: 2px solid var(--sl-gold);
}
[data-design="a"] .sl-svc-group__list {
  margin: 0; padding: 0 0 0 20px;
  display: grid; gap: 8px;
  font-size: var(--sl-text-body); color: var(--sl-ink-2);
}

/* ── ABOUT ────────────────────────────────────────────────────── */
[data-design="a"] .sl-about {
  background: var(--sl-canvas-deep); padding-block: var(--sl-section);
}
[data-design="a"] .sl-about__inner {
  max-width: 1100px; margin: 0 auto;
  padding-inline: clamp(16px, 5vw, 48px);
  display: grid; gap: var(--sl-bay);
  grid-template-columns: 1fr 1fr; align-items: start;
}
[data-design="a"] .sl-about__img {
  width: 100%; aspect-ratio: 4/3; object-fit: cover;
  border-radius: var(--sl-r-sign); box-shadow: var(--sl-shadow-lift);
  display: block;
}
[data-design="a"] .sl-about__copy { display: grid; gap: var(--sl-gap); }
[data-design="a"] .sl-about__title {
  font-family: var(--sl-font-display); font-weight: 800;
  font-size: var(--sl-text-h2); color: var(--sl-ink); margin: 0;
  text-wrap: balance;
}
[data-design="a"] .sl-about__copy p {
  font-size: var(--sl-text-body); color: var(--sl-ink-2); margin: 0; max-width: 60ch;
}
[data-design="a"] .sl-about__memberships {
  display: flex; flex-wrap: wrap; gap: var(--sl-tight); margin-top: var(--sl-gap);
}

/* ── FOOTER ──────────────────────────────────────────────────── */
[data-design="a"] .sl-footer {
  background: var(--sl-walnut); color: var(--sl-canvas);
  padding-block: var(--sl-section);
}
[data-design="a"] .sl-footer__inner {
  max-width: 1100px; margin: 0 auto;
  padding-inline: clamp(16px, 5vw, 48px);
  display: grid; gap: var(--sl-bay);
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
[data-design="a"] .sl-footer__name {
  font-family: var(--sl-font-display); font-weight: 800;
  font-size: var(--sl-text-h3); color: var(--sl-canvas); margin: 0;
}
[data-design="a"] .sl-footer__tagline {
  font-size: var(--sl-text-cap); color: var(--sl-faint); margin: 6px 0 0;
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
  text-transform: uppercase;
}
[data-design="a"] .sl-footer__contact { display: grid; gap: 6px; }
[data-design="a"] .sl-footer__contact p { margin: 0; font-size: var(--sl-text-body); color: var(--sl-dusk-muted); }
[data-design="a"] .sl-footer__contact a { color: var(--sl-gold-glow); text-decoration: none; }
[data-design="a"] .sl-footer__legal {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: var(--sl-gap);
  display: grid; gap: 4px;
}
[data-design="a"] .sl-footer__legal p {
  margin: 0; font-size: var(--sl-text-cap); color: var(--sl-faint);
  font-family: var(--sl-font-mono); letter-spacing: var(--sl-tracking-mono);
}
[data-design="a"] .sl-cta--footer { background: var(--sl-gold); color: var(--sl-walnut-deep); }
[data-design="a"] .sl-footer__cta-col { display: flex; align-items: flex-start; }
[data-design="a"] .sl-cta--work { background: var(--sl-orange); }

/* ── HOVER — gated to (hover:hover) and (pointer:fine) ────────── */
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .sl-cta:hover {
    transform: translate(-1px, -2px);
    background: var(--sl-orange-glow);
  }
  [data-design="a"] .sl-cta--footer:hover { background: var(--sl-gold-deep); }
  [data-design="a"] .sl-logo:hover { transform: translate(-1px, -1px); }
  [data-design="a"] .sl-navlink:hover::after { transform: scaleX(1); }
  [data-design="a"] .sl-funnel__option:hover {
    transform: translateY(-2px);
    border-color: var(--sl-gold);
  }
  [data-design="a"] .sl-funnel__chip:hover { border-color: var(--sl-orange); }
  [data-design="a"] .sl-project:hover .sl-project__img--main {
    transform: scale(1.02);
    transition: transform 400ms var(--sl-ease-arc);
  }
}

/* ── REDUCED MOTION ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .sl-sunburst,
  [data-design="a"] .sl-sunburst__core { animation: none; }
  [data-design="a"] .sl-drawer.is-open .sl-drawer__panel { animation: none; transform: none; opacity: 1; }
  [data-design="a"] .sl-hero__photo,
  [data-design="a"] .sl-hero__sky,
  [data-design="a"] .sl-hero__sun,
  [data-design="a"] .sl-hero__flecks { animation: none; }
  [data-design="a"] .sl-cta__halo { animation: none; box-shadow: 0 0 14px 1px rgba(241,131,74,.3); }
  [data-design="a"] .sl-cta { transition: background-color var(--sl-dur-warm) linear; }
  [data-design="a"] .sl-pointer__sun { animation: none; transform: translate(0,6px); }
  [data-design="a"] .sl-atomfield__g { animation: none; }
  [data-design="a"] .sl-funnel__progress-fill { transition: none; }
  [data-design="a"] .sl-project.a-reveal-active { transition: none; }
}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  [data-design="a"] .sl-project {
    grid-template-columns: 1fr;
  }
  [data-design="a"] .sl-project:nth-child(even) .sl-project__media { order: 0; }
  [data-design="a"] .sl-project:nth-child(even) .sl-project__copy  { order: 0; }
  [data-design="a"] .sl-about__inner { grid-template-columns: 1fr; }
  [data-design="a"] .sl-process__steps { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  [data-design="a"] .sl-header__sun { left: auto; right: 12px; opacity: .22; width: 96px; height: 96px; }
  [data-design="a"] .sl-hero__plate { margin-inline: 16px; max-width: none; }
  [data-design="a"] .sl-pointer { padding-block: var(--sl-bay); }
  [data-design="a"] .sl-ambient-b__field { opacity: .12; }
  [data-design="a"] .sl-project__ba-pair { grid-template-columns: 1fr; }
  [data-design="a"] .sl-funnel__options--sm { grid-template-columns: 1fr; }
}

/* Phase-3.4 hero visibility floor (forge_assemble) */
[data-design="a"] [data-mf-role="hero"] :is(h1,h2,p,.headline,.subtitle,.proof,[class*="headline"],[class*="subtitle"],[class*="proof"]),
[data-design="a"] [data-mf-role="cta"] { opacity: 1 !important; }
