/* V4 additions: identity, base geometry and typography stay in V3 assets. */
.v4-problem { background:var(--surface); padding-block:72px; }
.v4-eyebrow { color:#06718b; font:700 12px/1.5 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.btj-v4 .header-cta { min-height:44px; min-width:44px; }
.btj-v4 .brand { min-height:44px; min-width:44px; }
.btj-v4 .corp-band .journey-links a { color:#fff; }
.v4-hero-action { margin-top:26px; }
.v4-problems { list-style:none; padding:0; margin:0; }
.v4-problems li { border-top:1px solid var(--line); padding-block:24px; }
.v4-problems h3 { font-size:23px; margin-bottom:12px; }
.v4-problems p { margin-bottom:14px; font-size:16px; }
.v4-proof { background:var(--surface); border-block:1px solid var(--line); padding-block:72px; }
.v4-proof dl { margin:0; }
.v4-proof dl div { border-top:1px solid var(--line); padding-block:22px; }
.v4-proof dt { font-weight:700; margin-bottom:8px; }
.v4-proof dd { margin:0; color:var(--muted); font-size:16px; }
.v4-proof .v4-proof-label { color:#06718b; font-size:13px; font-weight:700; }
.v4-proof .btj-inline-link { margin-top:22px; }
.v4-next { border-left:2px solid var(--cyan); padding-left:24px; margin-block:30px 0; }
.v4-next p { font-size:16px; max-width:65ch; }
.v4-next .button { margin-top:8px; }
.v4-outcome { display:block; color:var(--navy); margin-top:12px; font-size:15px; font-weight:600; }
.v4-comparison { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-block:28px; border-block:1px solid var(--line); padding-block:10px 24px; }
.v4-flow { display:flex; flex-wrap:wrap; gap:10px 20px; list-style:none; padding:0; font-size:14px; font-weight:700; }
.v4-flow li:not(:last-child)::after { content:' →'; color:var(--cyan); }
.v4-brief { padding-block:64px 80px; scroll-margin-top:120px; }
.v4-brief-grid { display:grid; grid-template-columns:.85fr 1.4fr; gap:72px; }
.v4-brief textarea { width:100%; min-height:360px; resize:vertical; padding:20px; border:1px solid #526176; border-radius:2px; background:#f8fafc; color:var(--navy); font:15px/1.7 Consolas,monospace; }
.v4-brief label { display:block; font-weight:700; margin-bottom:10px; }
.v4-brief textarea:focus-visible,.v4-brief button:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.v4-brief button { cursor:pointer; font:inherit; }
.v4-brief [hidden] { display:none; }
.v4-brief .v4-brief-help { font-size:15px; margin-top:12px; }
.v4-brief .actions { margin-block:22px 10px; }
#brief-status { min-height:4em; font-size:15px; margin-block:16px 0; }
.v4-brief-steps { padding-left:22px; }
.v4-brief-steps li { padding:0 0 18px 8px; }
.v4-brief-steps strong { display:block; }
.v4-brief-steps span { color:var(--muted); font-size:16px; }
.v4-brief-anchor { display:block; scroll-margin-top:120px; }
/* The moving highlight adds to the existing fold; it never hides its base. */
.v4-signal-light { opacity:0; transform-box:view-box; transform-origin:center; }
@media (prefers-reduced-motion:no-preference) {
  .v4-signal-light { animation:v4-signal-pass 3.6s ease-in-out .3s 1 both; }
  .btj-service-row .btj-service-copy { transition:transform .18s var(--motion-ease); }
  .v4-entered::before { animation:v4-accent-enter .32s var(--motion-ease) 1 both; }
}
[data-v4-accent] { position:relative; }
[data-v4-accent]::before { content:""; position:absolute; top:0; left:max(28px,calc((100% - 1200px)/2)); width:72px; height:2px; background:var(--cyan); pointer-events:none; }
@keyframes v4-signal-pass {
  0% { opacity:0; transform:translate(-38px,-32px); }
  25% { opacity:.8; }
  75% { opacity:.8; }
  100% { opacity:0; transform:translate(38px,32px); }
}
/* Homepage: incoming ray -> fold seam -> outgoing ray; one finite passage. */
.v4-pulse { opacity:0; transform-box:view-box; }
@media (prefers-reduced-motion:no-preference) {
  .v4-pulse-in { animation:v4-ray-in 1.45s linear .05s 1 both; }
  .v4-pulse-fold { animation:v4-ray-fold 1s linear 1.35s 1 both; }
  .v4-pulse-out { animation:v4-ray-out 1.8s linear 2.2s 1 both; }
}
@keyframes v4-ray-in {
  0% { transform:translate(1460px,174px); opacity:0; }
  20%,82% { opacity:1; }
  100% { transform:translate(1120px,280px); opacity:0; }
}
@keyframes v4-ray-fold {
  0% { transform:translate(1120px,280px); opacity:0; }
  30%,80% { opacity:1; }
  100% { transform:translate(1280px,450px); opacity:0; }
}
@keyframes v4-ray-out {
  0% { transform:translate(1280px,450px); opacity:0; }
  22%,82% { opacity:1; }
  100% { transform:translate(960px,710px); opacity:0; }
}
@keyframes v4-accent-enter {
  from { opacity:.35; transform:translateY(8px) scaleX(.5); }
  to { opacity:1; transform:translateY(0) scaleX(1); }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .btj-service-row:hover .btj-service-copy { transform:translateX(3px); }
  .btj-inline-link .arrow,.button .arrow { transition:transform .16s var(--motion-ease); }
  .btj-inline-link:hover .arrow,.button:hover .arrow { transform:translateX(2px); }
}
@media (max-width:900px) {
  .v4-brief-grid { grid-template-columns:1fr; gap:28px; }
  .v4-problem,.v4-proof { padding-block:60px; }
}
@media (max-width:600px) {
  .v4-problem,.v4-proof,.v4-brief { padding-block:48px; }
  .v4-problems h3 { font-size:22px; }
  .v4-brief textarea { padding:14px; font-size:14px; }
  .v4-brief .actions { align-items:stretch; flex-direction:column; }
  .v4-next { padding-left:18px; }
  .v4-comparison { grid-template-columns:1fr; gap:0; }
  [data-v4-accent]::before { left:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .v4-signal-motion { display:none; }
  .v4-signal-light { display:none; }
  [data-v4-accent]::before { animation:none; transform:none; }
  .btj-service-row:hover .btj-service-copy,.btj-inline-link:hover .arrow,.button:hover .arrow { transform:none; }
}
@media (forced-colors:active) {
  .v4-brief textarea { color:CanvasText; background:Canvas; border-color:CanvasText; }
  .v4-brief :is(textarea,button):focus-visible { outline-color:Highlight; }
}
