@import url("./route-system-v71.css?v=71.0.0");

/* Training AI V72 — integrated vector fields. Destination routes only. */
:root{--v72-ease:cubic-bezier(.22,.78,.2,1);--v72-spring:cubic-bezier(.18,.82,.16,1)}
html[data-route-system="v72"] .route-title{letter-spacing:-.018em}
html[lang="vi"][data-route-system="v72"] .route-title{letter-spacing:-.007em}

/* The illustration is no longer a framed card. It shares the hero atmosphere. */
html[data-route-system="v72"] .radar-board-visual,
html[data-route-system="v72"] .studio-board,
html[data-route-system="v72"] .tool-bench,
html[data-route-system="v72"] .playbook-sheet,
html[data-route-system="v72"] .system-cutaway,
html[data-route-system="v72"] .evidence-file,
html[data-route-system="v72"] .search-map{
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;transform:none!important;
}
html[data-route-system="v72"] .radar-board-visual:before,html[data-route-system="v72"] .radar-board-visual:after,
html[data-route-system="v72"] .studio-board:before,html[data-route-system="v72"] .studio-board:after,
html[data-route-system="v72"] .tool-bench:before,html[data-route-system="v72"] .tool-bench:after,
html[data-route-system="v72"] .playbook-sheet:before,html[data-route-system="v72"] .playbook-sheet:after,
html[data-route-system="v72"] .system-cutaway:before,html[data-route-system="v72"] .system-cutaway:after,
html[data-route-system="v72"] .evidence-file:before,html[data-route-system="v72"] .evidence-file:after{display:none!important}

.v72-field{--mx:0;--my:0;position:relative;width:100%;min-height:560px;isolation:isolate;overflow:visible}
.v72-svg{display:block;width:100%;height:auto;min-height:520px;overflow:visible;transform-origin:50% 50%;transform:perspective(1400px) rotateY(calc(var(--mx)*1.15deg)) rotateX(calc(var(--my)*-1deg));will-change:transform;filter:drop-shadow(0 28px 48px rgba(10,25,32,.08))}
.v72-svg text{font:600 11px/1 var(--mono);letter-spacing:.045em;fill:currentColor}.v72-svg text.small{font-size:10px;font-weight:500;letter-spacing:.02em;opacity:.72}.v72-svg text.body{font:500 15px/1.35 var(--sans);letter-spacing:0}.v72-svg path,.v72-svg rect,.v72-svg polygon,.v72-svg circle{vector-effect:non-scaling-stroke}
.v72-depth-far{opacity:.42}.v72-depth-mid{opacity:.78}.v72-depth-near{opacity:1}
.v72-field:not(.is-active) .v72-depth-mid,.v72-field:not(.is-active) .v72-depth-near{opacity:.35}

/* RADAR — a continuous signal field, not a panel. */
.route-radar .radar-board-visual{min-height:560px!important}.route-radar .radar-hero{position:relative}.route-radar .radar-hero:after{content:"";position:absolute;right:-14vw;top:3%;width:72vw;height:82%;background:radial-gradient(ellipse at 56% 45%,rgba(84,174,185,.11),transparent 42%),radial-gradient(circle at 78% 33%,rgba(225,170,88,.07),transparent 24%);filter:blur(10px);pointer-events:none;z-index:-1}
.v72-radar{color:#d9e9e8}.v72-radar-grid path{stroke:#7db0b7;stroke-opacity:.055}.v72-radar-noise circle{fill:#6aa8b0}.v72-radar-stream{opacity:.4}.v72-filter path{fill:none;stroke:#79aeb5;stroke-opacity:.35}.v72-filter text{fill:#87aeb2}.v72-filter.f3 path{stroke:#dfb36b;stroke-opacity:.55}.v72-filter.f3 text{fill:#d8b276}.v72-radar-survivor{stroke:#e1ad5c;stroke-width:3;stroke-linecap:round;stroke-dasharray:1250;stroke-dashoffset:1250}.v72-radar-end circle{fill:#e1ad5c}.v72-radar-end path{stroke:#e1ad5c;stroke-opacity:.42}.v72-radar-end text{fill:#e8c78e}.v72-field.is-active .v72-filter{animation:v72-filter-arrive 1.1s var(--v72-ease) both}.v72-field.is-active .v72-filter.f2{animation-delay:.35s}.v72-field.is-active .v72-filter.f3{animation-delay:.7s}.v72-field.is-active .v72-radar-noise{animation:v72-noise-fall 2.4s var(--v72-ease) .5s both}.v72-field.is-active .v72-radar-survivor{animation:v72-draw 2.5s var(--v72-ease) .8s both}.v72-field.is-active .v72-radar-end{animation:v72-end-arrive .75s var(--v72-ease) 2.65s both}
@keyframes v72-filter-arrive{from{opacity:.05;transform:translateX(26px)}to{opacity:.82;transform:none}}@keyframes v72-noise-fall{from{opacity:.75}to{opacity:.18;transform:translateY(20px)}}@keyframes v72-draw{to{stroke-dashoffset:0}}@keyframes v72-end-arrive{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}

/* LEARN — blueprint -> trace -> checked artifact. */
.route-learn .learn-hero{position:relative}.route-learn .learn-hero:after{content:"";position:absolute;right:-8vw;top:0;width:66vw;height:100%;background:radial-gradient(circle at 58% 44%,rgba(178,102,49,.09),transparent 36%);pointer-events:none;z-index:-1}.v72-learn{color:#3e4643}.v72-blueprint path{stroke:#7a7469;stroke-opacity:.1}.v72-learn-brief path{stroke:#7c7365;stroke-opacity:.14}.v72-learn-brief text,.v72-learn-output text{fill:#9c5730}.v72-learn-flow{stroke:#a85d32;stroke-width:3;stroke-linecap:round;stroke-dasharray:720;stroke-dashoffset:720}.v72-learn-nodes circle{fill:#fffdf7;stroke:#a85d32;stroke-width:2}.v72-learn-pen path:first-child{fill:#25373a}.v72-learn-pen path:last-child{fill:#b96a38}.v72-learn-output path{stroke:#796f61;stroke-opacity:.16}.v72-learn-check{stroke:#a65a31;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:110;stroke-dashoffset:110}.v72-field.is-active .v72-learn-brief{animation:v72-paper-in .8s var(--v72-ease) both}.v72-field.is-active .v72-learn-flow{animation:v72-draw 1.7s var(--v72-ease) .55s both}.v72-field.is-active .v72-learn-pen{animation:v72-pen-pass 1.7s var(--v72-ease) .55s both}.v72-field.is-active .v72-learn-output{animation:v72-paper-in .9s var(--v72-ease) 1.85s both}.v72-field.is-active .v72-learn-check{animation:v72-draw .6s var(--v72-ease) 2.45s both}
@keyframes v72-paper-in{from{opacity:0;transform:translateY(22px) rotate(-1deg)}to{opacity:1;transform:none}}@keyframes v72-pen-pass{0%{opacity:0;transform:translate(-85px,72px) rotate(-7deg)}15%{opacity:1}100%{opacity:1;transform:translate(24px,-10px) rotate(1deg)}}

/* TOOLS — four probes approach from their actual directions. */
.route-tools .tools-hero{position:relative}.route-tools .tools-hero:after{content:"";position:absolute;right:-10vw;top:4%;width:68vw;height:88%;background:radial-gradient(circle at 55% 46%,rgba(30,115,144,.12),transparent 35%);z-index:-1;pointer-events:none}.v72-tools{color:#274f5b}.v72-tool-rail{stroke:#4d6972;stroke-width:10;stroke-linecap:round}.v72-tool-specimen rect{fill:#f9fcfc;stroke:#1f7189;stroke-opacity:.18}.v72-tool-specimen path{stroke:#59757d;stroke-opacity:.24}.v72-tool-specimen text{fill:#1b6d85}.v72-probe path{stroke:#557a85;stroke-width:2}.v72-probe circle{fill:#1b4b59;stroke:#7da9b3;stroke-width:3}.v72-probe text{fill:#366573}.v72-tool-evidence path{fill:#f5f9f9;stroke:#1f7189;stroke-opacity:.18}.v72-tool-evidence text{fill:#50717a}.v72-field.is-active .v72-probe{animation:v72-probe-in .95s var(--v72-ease) both}.v72-field.is-active .v72-probe.p1{--fx:-58px;--fy:-44px;animation-delay:.45s}.v72-field.is-active .v72-probe.p2{--fx:58px;--fy:-44px;animation-delay:.62s}.v72-field.is-active .v72-probe.p3{--fx:-58px;--fy:44px;animation-delay:.79s}.v72-field.is-active .v72-probe.p4{--fx:58px;--fy:44px;animation-delay:.96s}.v72-field.is-active .v72-tool-specimen{animation:v72-specimen-lock .8s var(--v72-ease) .15s both}.v72-field.is-active .v72-tool-evidence{animation:v72-evidence-in .7s var(--v72-ease) 1.5s both}
@keyframes v72-probe-in{from{opacity:0;transform:translate(var(--fx),var(--fy))}to{opacity:1;transform:none}}@keyframes v72-specimen-lock{from{opacity:.3;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes v72-evidence-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* WORKFLOWS — one artifact changes state through the line. */
.route-workflows .workflows-hero{position:relative}.route-workflows .workflows-hero:after{content:"";position:absolute;right:-8vw;top:5%;width:68vw;height:88%;background:radial-gradient(ellipse at 58% 52%,rgba(59,128,105,.11),transparent 42%);z-index:-1;pointer-events:none}.v72-workflows{color:#345f4d}.v72-work-grid{stroke:#4d7865;stroke-opacity:.07}.v72-work-track{stroke-width:18;stroke-linecap:round;stroke-dasharray:1050;stroke-dashoffset:1050}.v72-work-machine path{fill:rgba(34,76,57,.08);stroke:#2e6f55;stroke-opacity:.26}.v72-work-machine text{fill:#2f755a}.v72-work-gate path{stroke:#214f3c;stroke-width:5}.v72-work-gate circle{fill:#ddb36a}.v72-work-gate text{fill:#285943}.v72-artifact path{fill:#fffdf7;stroke:#416b58;stroke-opacity:.18}.v72-artifact text{fill:#2f755a}.v72-artifact{opacity:.16}.v72-field.is-active .v72-work-track{animation:v72-draw 1.5s var(--v72-ease) .1s both}.v72-field.is-active .v72-work-machine{animation:v72-machine-in .7s var(--v72-ease) .45s both}.v72-field.is-active .v72-work-gate{animation:v72-machine-in .7s var(--v72-ease) 1.25s both}.v72-field.is-active .v72-artifact.raw{animation:v72-art-raw 2.7s var(--v72-ease) .3s both}.v72-field.is-active .v72-artifact.draft{animation:v72-art-mid 2.7s var(--v72-ease) .3s both}.v72-field.is-active .v72-artifact.approved{animation:v72-art-approved 2.7s var(--v72-ease) .3s both}.v72-field.is-active .v72-artifact.handoff{animation:v72-art-handoff 2.7s var(--v72-ease) .3s both}
@keyframes v72-machine-in{from{opacity:0;transform:translateY(16px)}to{opacity:.9;transform:none}}@keyframes v72-art-raw{0%{opacity:.95}28%{opacity:.95}42%,100%{opacity:.2}}@keyframes v72-art-mid{0%,20%{opacity:.12}38%,55%{opacity:.9}68%,100%{opacity:.22}}@keyframes v72-art-approved{0%,48%{opacity:.1}62%,77%{opacity:.95}90%,100%{opacity:.28}}@keyframes v72-art-handoff{0%,72%{opacity:.08}90%,100%{opacity:1}}

/* ENGINEER — trace terminates at the illustrated measure point. */
.route-engineer .engineer-hero{position:relative}.route-engineer .engineer-hero:after{content:"";position:absolute;right:-10vw;top:-4%;width:70vw;height:96%;background:radial-gradient(circle at 58% 42%,rgba(92,200,221,.12),transparent 37%);z-index:-1;pointer-events:none}.v72-engineer{color:#abc2c8}.v72-rack-frame path{stroke:#5cc8dd;stroke-opacity:.17}.v72-rack-plane path{stroke:#5cc8dd;stroke-opacity:.18}.v72-rack-plane text{fill:#72d4e5}.v72-rack-plane text.small{fill:#9eb6bc}.v72-request-line{stroke:#75dce9;stroke-width:3;stroke-dasharray:280;stroke-dashoffset:280}.v72-request-pulse{fill:#7ae3ef}.v72-measure-stop circle{fill:#e4ad63}.v72-measure-stop path{stroke:#e4ad63;stroke-opacity:.5}.v72-measure-stop text{fill:#e8bf83}.v72-field.is-active .v72-rack-plane{animation:v72-rack-in .72s var(--v72-ease) both}.v72-field.is-active .v72-rack-plane.p2{animation-delay:.15s}.v72-field.is-active .v72-rack-plane.p3{animation-delay:.3s}.v72-field.is-active .v72-rack-plane.p4{animation-delay:.45s}.v72-field.is-active .v72-request-line{animation:v72-draw 1.6s var(--v72-ease) .65s both}.v72-field.is-active .v72-request-pulse{animation:v72-pulse-stop 1.6s var(--v72-ease) .65s both}.v72-field.is-active .v72-measure-stop{animation:v72-end-arrive .7s var(--v72-ease) 2.0s both}
@keyframes v72-rack-in{from{opacity:0;transform:translateX(22px)}to{opacity:.86;transform:none}}@keyframes v72-pulse-stop{from{transform:translateY(0);opacity:.5}80%,100%{transform:translateY(260px);opacity:1}}

/* METHODOLOGY — scope visually excludes unsupported territory. */
.route-methodology .method-hero{position:relative}.route-methodology .method-hero:after{content:"";position:absolute;right:-8vw;top:4%;width:67vw;height:88%;background:radial-gradient(circle at 55% 42%,rgba(138,69,67,.10),transparent 36%);z-index:-1;pointer-events:none}.v72-methodology{color:#453d36}.v72-method-source path{stroke:#6c6258;stroke-opacity:.17}.v72-method-source text{fill:#7a3e3b}.v72-scope-dim{fill:#292421;opacity:0}.v72-scope-window rect{fill:rgba(255,251,244,.78);stroke:#8c4240;stroke-opacity:.35}.v72-scope-window text{fill:#6e3a38}.v72-claim-boundary{stroke:#8c4240;stroke-width:3}.v72-method-conclusion path{fill:#fffaf0;stroke:#8c4240;stroke-opacity:.24}.v72-method-conclusion text{fill:#7c3c3a}.v72-field.is-active .v72-method-source{animation:v72-paper-in .8s var(--v72-ease) both}.v72-field.is-active .v72-scope-dim{animation:v72-scope-dim .8s var(--v72-ease) .55s both}.v72-field.is-active .v72-scope-window{animation:v72-scope-in .8s var(--v72-ease) .55s both}.v72-field.is-active .v72-claim-boundary{stroke-dasharray:180;stroke-dashoffset:180;animation:v72-draw .7s var(--v72-ease) 1.15s both}.v72-field.is-active .v72-method-conclusion{animation:v72-end-arrive .75s var(--v72-ease) 1.55s both}
@keyframes v72-scope-dim{to{opacity:.28}}@keyframes v72-scope-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

/* SEARCH — real dynamic text wraps in HTML, vector optics stay vector. */
.route-search .search-command{position:relative}.route-search .search-command:after{content:"";position:absolute;right:-12vw;top:4%;width:72vw;height:82%;background:radial-gradient(circle at 56% 44%,rgba(39,125,152,.12),transparent 38%);z-index:-1;pointer-events:none}.v72-search{color:#355964;min-height:540px}.v72-index-field path{stroke:#39798b;stroke-opacity:.06}.v72-index-records rect{fill:#eaf1f2;stroke:#2c7185;stroke-opacity:.11}.v72-query-beam{opacity:.35}.v72-search-focus rect{fill:rgba(255,255,255,.16);stroke:#2e8199;stroke-opacity:.34}.v72-search-focus path{stroke:#55a8ba;stroke-opacity:.4}.v72-search-focus text{fill:#3c6c79}.v72-search-card rect{fill:#f8fbfb;stroke:#277d98;stroke-opacity:.22}.v72-search-card path{stroke:#52727a;stroke-opacity:.18}.v72-search-empty{opacity:0}.v72-search-empty path{fill:#eef4f4;stroke:#52727a;stroke-opacity:.14}.v72-search-overlay{position:absolute;left:42%;top:39%;width:min(36%,350px);z-index:5;padding:0 8px;color:#244d59;pointer-events:none}.v72-search-overlay strong{display:block;font:650 clamp(13px,1.05vw,16px)/1.45 var(--sans);letter-spacing:-.01em}.v72-search-overlay span{display:block;margin-top:8px;font:500 10px/1.5 var(--mono);color:#637b82}.v72-search[data-search-state="idle"] .v72-search-card{opacity:.38}.v72-search[data-search-state="match"] .v72-search-card{animation:v72-search-pull .65s var(--v72-ease) both}.v72-search[data-search-state="empty"] .v72-search-card,.v72-search[data-search-state="empty"] .v72-search-overlay{opacity:0}.v72-search[data-search-state="empty"] .v72-search-empty{opacity:1;animation:v72-end-arrive .55s var(--v72-ease) both}.v72-search[data-search-state="match"] .v72-index-records{opacity:.24}.v72-search[data-search-state="match"] .v72-query-beam{opacity:.7}
@keyframes v72-search-pull{from{opacity:.35;transform:translateX(22px) scale(.97)}to{opacity:1;transform:none}}

/* CONTACT — route only reaches a destination if config says one exists. */
.route-contact .handoff-desk{position:relative;background:linear-gradient(150deg,rgba(255,250,242,.94),rgba(243,233,218,.88));overflow:visible}.v72-contact-holder{margin:0 -24px 18px}.v72-contact{color:#67594e;min-height:300px}.v72-contact-grid path{stroke:#8c7564;stroke-opacity:.07}.v72-contact-intents path{fill:rgba(255,250,242,.5);stroke:#936d55;stroke-opacity:.16}.v72-contact-intents text{fill:#805941}.v72-contact-route{stroke-width:5;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900}.v72-contact-note path{fill:#fffaf0;stroke:#95654a;stroke-opacity:.2}.v72-contact-note text{fill:#915f44}.v72-contact-destination rect{fill:#2d2d29;stroke:#d1a26f;stroke-opacity:.24}.v72-contact-destination circle{fill:#d2a16d}.v72-contact-destination text{fill:#ead8c1}.v72-contact-stop{opacity:0}.v72-contact-stop circle,.v72-contact-stop path{stroke:#9a7057;stroke-width:3;fill:none}.v72-contact-stop text{fill:#865e48}.v72-contact[data-channel="available"] .v72-contact-stop{opacity:0}.v72-contact[data-channel="none"] .v72-contact-destination{opacity:.18}.v72-contact[data-channel="none"] .v72-contact-stop{opacity:1}.v72-field.is-active .v72-contact-route{animation:v72-draw 1.8s var(--v72-ease) .25s both}.v72-field.is-active .v72-contact-note{animation:v72-contact-note 1.6s var(--v72-ease) .25s both}.v72-contact[data-channel="available"].is-active .v72-contact-destination{animation:v72-end-arrive .65s var(--v72-ease) 1.7s both}.v72-contact[data-channel="none"].is-active .v72-contact-stop{animation:v72-end-arrive .65s var(--v72-ease) 1.7s both}
@keyframes v72-contact-note{from{opacity:0;transform:translate(-38px,26px) rotate(-3deg)}to{opacity:1;transform:none}}

/* Shared responsive integration */
@media(min-width:1051px){
  html[data-route-system="v72"] .radar-hero,html[data-route-system="v72"] .learn-hero,html[data-route-system="v72"] .tools-hero,html[data-route-system="v72"] .workflows-hero,html[data-route-system="v72"] .engineer-hero,html[data-route-system="v72"] .method-hero{column-gap:clamp(36px,5vw,78px)}
  html[data-route-system="v72"] .radar-board-visual,html[data-route-system="v72"] .studio-board,html[data-route-system="v72"] .tool-bench,html[data-route-system="v72"] .playbook-sheet,html[data-route-system="v72"] .system-cutaway,html[data-route-system="v72"] .evidence-file{margin-right:-4vw}
}
@media(max-width:1050px){.v72-field{min-height:500px}.v72-svg{min-height:460px}.v72-search-overlay{left:41%;top:40%;width:38%}}
@media(max-width:700px){
  .v72-field{min-height:410px;overflow:hidden}.v72-svg{min-height:390px;transform:none!important;filter:none}.v72-svg text{font-size:9px}.v72-svg text.small{font-size:8px}.v72-svg text.body{font-size:11px}
  .v72-search-overlay{left:37%;top:39%;width:49%;padding:0}.v72-search-overlay strong{font-size:11px;line-height:1.38}.v72-search-overlay span{font-size:8px}
  .v72-contact-holder{margin:0 -14px 12px}.v72-contact{min-height:250px}
}
@media(prefers-reduced-motion:reduce){
  .v72-svg{transform:none!important}.v72-filter,.v72-radar-noise,.v72-radar-survivor,.v72-radar-end,.v72-learn-brief,.v72-learn-flow,.v72-learn-pen,.v72-learn-output,.v72-learn-check,.v72-probe,.v72-tool-specimen,.v72-tool-evidence,.v72-work-track,.v72-work-machine,.v72-work-gate,.v72-artifact,.v72-rack-plane,.v72-request-line,.v72-request-pulse,.v72-measure-stop,.v72-method-source,.v72-scope-dim,.v72-scope-window,.v72-claim-boundary,.v72-method-conclusion,.v72-search-card,.v72-search-empty,.v72-contact-route,.v72-contact-note,.v72-contact-destination,.v72-contact-stop{animation:none!important}
  .v72-radar-survivor,.v72-learn-flow,.v72-learn-check,.v72-work-track,.v72-request-line,.v72-contact-route{stroke-dashoffset:0!important}
  .v72-scope-dim{opacity:.28!important}.v72-artifact.raw,.v72-artifact.draft,.v72-artifact.approved{opacity:.25!important}.v72-artifact.handoff{opacity:1!important}.v72-request-pulse{transform:translateY(260px)!important}.v72-contact[data-channel="none"] .v72-contact-stop{opacity:1!important}
}

/* V72 isolation — legacy route scene rules must never hide integrated vector fields. */
.v72-field{display:block!important}
.tool-bench>.v72-field,.playbook-sheet>.v72-field,.system-cutaway>.v72-field,.evidence-file>.v72-field,.search-map>.v72-field,.studio-board>.v72-field,.radar-board-visual>.v72-field{display:block!important;position:relative!important;inset:auto!important;width:100%!important}
.tool-bench>.v72-field>*,.playbook-sheet>.v72-field>*,.system-cutaway>.v72-field>*,.evidence-file>.v72-field>*,.search-map>.v72-field>*{display:block!important}


/* ===== V72.1 Art Critic repair — one continuous hero field, not copy + pasted illustration ===== */
@media(min-width:1051px){
  html[data-route-system="v72"] .radar-hero,html[data-route-system="v72"] .learn-hero,html[data-route-system="v72"] .tools-hero,html[data-route-system="v72"] .workflows-hero,html[data-route-system="v72"] .engineer-hero,html[data-route-system="v72"] .method-hero{isolation:isolate;overflow:visible}
  html[data-route-system="v72"] .radar-board-visual,html[data-route-system="v72"] .studio-board,html[data-route-system="v72"] .tool-bench,html[data-route-system="v72"] .playbook-sheet,html[data-route-system="v72"] .system-cutaway,html[data-route-system="v72"] .evidence-file{position:relative;z-index:1;margin-left:-3vw;margin-right:-9vw}
  html[data-route-system="v72"] .v72-field{width:calc(100% + 5vw)}
  html[data-route-system="v72"] .v72-svg{-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 10%,#000 22%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 10%,#000 22%,#000 100%)}
}

/* Ambient geometry belongs to the whole hero, so the vector scene grows out of the page. */
html[data-route-system="v72"] .radar-hero:before,html[data-route-system="v72"] .learn-hero:before,html[data-route-system="v72"] .tools-hero:before,html[data-route-system="v72"] .workflows-hero:before,html[data-route-system="v72"] .engineer-hero:before,html[data-route-system="v72"] .method-hero:before,html[data-route-system="v72"] .search-command:before{content:"";position:absolute;inset:8% -12vw 5% -8vw;pointer-events:none;z-index:-2;opacity:.62}
.route-radar .radar-hero:before{background:repeating-radial-gradient(ellipse at 70% 48%,transparent 0 72px,rgba(111,177,185,.035) 73px 74px,transparent 75px 118px)}
.route-learn .learn-hero:before{background-image:linear-gradient(rgba(92,79,58,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(92,79,58,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%)}
.route-tools .tools-hero:before{background:repeating-linear-gradient(90deg,transparent 0 54px,rgba(29,105,128,.038) 55px 56px,transparent 57px 108px),repeating-linear-gradient(0deg,transparent 0 54px,rgba(29,105,128,.022) 55px 56px,transparent 57px 108px)}
.route-workflows .workflows-hero:before{background:linear-gradient(110deg,transparent 0 24%,rgba(48,123,95,.045) 24.2% 24.5%,transparent 24.7% 43%,rgba(48,123,95,.03) 43.2% 43.5%,transparent 43.7% 100%)}
.route-engineer .engineer-hero:before{background:repeating-linear-gradient(90deg,transparent 0 86px,rgba(92,200,221,.034) 87px 88px),repeating-linear-gradient(0deg,transparent 0 86px,rgba(92,200,221,.025) 87px 88px);filter:drop-shadow(0 0 16px rgba(92,200,221,.025))}
.route-methodology .method-hero:before{background:linear-gradient(90deg,transparent 0 18%,rgba(124,60,58,.028) 18.2% 18.5%,transparent 18.7% 72%,rgba(124,60,58,.022) 72.2% 72.5%,transparent 72.7%),repeating-linear-gradient(0deg,transparent 0 31px,rgba(72,62,53,.016) 32px 33px)}
.route-search .search-command:before{background:repeating-linear-gradient(90deg,transparent 0 94px,rgba(39,125,152,.032) 95px 96px),linear-gradient(90deg,transparent,rgba(39,125,152,.025),transparent)}

/* Contact uses the real intake desk, but the routing field visually continues into the form surface. */
.route-contact .handoff-desk{isolation:isolate}
.route-contact .handoff-desk:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(118deg,transparent 0 38%,rgba(139,94,66,.028) 38.2% 38.5%,transparent 38.7% 63%,rgba(139,94,66,.022) 63.2% 63.5%,transparent 63.7%);border-radius:inherit}
.route-contact .handoff-desk>*{position:relative;z-index:1}

/* Luxury motion polish: small temporal offsets, no perpetual loops. */
.v72-field.is-active .v72-depth-far{transition:opacity .7s var(--v72-ease)}
.v72-field.is-active .v72-depth-mid{transition:opacity .55s var(--v72-ease)}
.v72-field.is-active .v72-depth-near{transition:opacity .45s var(--v72-ease)}

/* V72.1 verifier repair — integration without viewport escape. */
@media(min-width:1051px){
  html[data-route-system="v72"] .radar-board-visual,html[data-route-system="v72"] .studio-board,html[data-route-system="v72"] .tool-bench,html[data-route-system="v72"] .playbook-sheet,html[data-route-system="v72"] .system-cutaway,html[data-route-system="v72"] .evidence-file{margin-left:0;margin-right:-4vw}
  html[data-route-system="v72"] .v72-field{width:100%}
}
@media(prefers-reduced-motion:reduce){.v72-field,.v72-field *{transition:none!important}}
