/* CANA v9 — staged project intake and capability alignment. */
.cana-hero{background:linear-gradient(90deg,rgba(4,24,34,.96),rgba(5,28,40,.86) 55%,rgba(5,28,40,.88)),url('/assets/images/home-architecture-concept.webp') center 59%/cover no-repeat,var(--blue)}
.cana-hero::before{opacity:.12}
.cana-hero .editorial-hero-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(30px,5vw,72px);min-height:710px;padding-block:54px 60px}
.ux-page .cana-hero .editorial-copy h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.6rem,3.6vw,3.625rem);line-height:1.08;letter-spacing:-.045em;font-weight:800;text-wrap:initial;max-width:510px;margin-bottom:27px}
.ux-page .cana-hero .editorial-copy h1 span{display:block}
.cana-hero .editorial-copy .eyebrow{font-size:.65rem;letter-spacing:.18em;white-space:nowrap;margin-bottom:28px}
.cana-hero .editorial-copy .eyebrow::after{display:none}
.cana-hero .editorial-copy .lead{font-size:1.1rem;line-height:1.6;max-width:440px;color:#c4d8e0;margin-bottom:30px}
.cana-hero .button-row{gap:12px}
.cana-hero .button:not(.button-secondary){background:var(--orange-dark);border-color:var(--orange-dark)}
.cana-hero .button:not(.button-secondary):hover{background:#a82513;border-color:#a82513}
.cana-hero .button{font-size:.83rem;padding:14px 18px}
.cana-copy-note{display:flex;align-items:center;gap:10px;font-size:.67rem;color:#a7c0cc;margin:27px 0 0;line-height:1.6}
.cana-copy-note>span{width:18px;height:1px;background:var(--orange);flex:none}
.cana{width:100%;max-width:650px;margin-inline:auto;--turn:0deg}
.cana-topline{display:flex;gap:9px;align-items:center;font:600 .59rem/1.4 Arial,sans-serif;letter-spacing:.12em;color:#b8d0da;border-bottom:1px solid #32515e;padding-bottom:12px}
.cana-topline-end{margin-left:auto;font-size:.53rem;color:#7f9ba8;letter-spacing:.1em}
.cana-live-mark{width:5px;height:5px;background:var(--orange);border-radius:50%;flex:none}
.cana-stage{position:relative;aspect-ratio:5/4}
.cana-graphic{display:block;width:100%;height:100%;overflow:visible}
.cana-graphic text{font-family:Arial,Helvetica,sans-serif;fill:#e4f0f4}
.cana-orbit-guide{fill:none;stroke:#91b3c3;stroke-opacity:.15;stroke-width:1;stroke-dasharray:2 9}
.cana-inner-guide{fill:none;stroke:#91b3c3;stroke-opacity:.08;stroke-width:1}
.cana-wheel{transform-origin:330px 280px;transform:rotate(var(--turn))}
.cana[data-phase="working"] .cana-wheel{animation:cana-working-turn 1.28s cubic-bezier(.3,.05,.3,1) both}
.cana-wheel-ticks{fill:none;stroke:#608392;stroke-width:1.4;stroke-opacity:.55}
.cana-wheel-track{fill:none;stroke:#426675;stroke-width:.7;stroke-opacity:.28}
.cana-wheel-accent{fill:none;stroke:#91c0d0;stroke-width:2;stroke-opacity:.85}
.cana-wheel-pin{fill:var(--orange)}
.cana-link{fill:none;stroke:#acd5e3;stroke-width:1.6;opacity:0;stroke-dasharray:1;stroke-dashoffset:1;transition:opacity .15s,stroke-dashoffset .35s}
.cana-link.is-active{opacity:.85;stroke-dashoffset:0;transition-duration:.3s,.5s;transition-delay:.18s}
.cana-intake-link{fill:none;stroke:var(--orange);stroke-width:1.7;opacity:0;stroke-dasharray:1;stroke-dashoffset:1;transition:none}
.cana-intake-link.is-active{opacity:.8;stroke-dashoffset:0;transition:opacity .3s,stroke-dashoffset .45s}
.cana-client{transform:translate(0px,110px);opacity:1;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
.cana-client-content{transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 6px 10px rgba(2,17,27,.24))}
.cana[data-phase="client"] .cana-client-content{animation:cana-client-response .42s ease-out both}
.cana[data-phase="client"] .cana-client-glow{animation:cana-client-highlight .42s ease-out both}
.cana-client-card{fill:url(#cana-client-shade);stroke:none}
.cana-client-glow{fill:var(--orange);opacity:0;pointer-events:none}
.cana-client-outline{fill:none;stroke:url(#cana-client-edge);stroke-width:1.2}
.cana-client-accent{fill:none;stroke:var(--orange);stroke-width:2.5;stroke-linecap:round}
.cana-client-keyline{fill:none;stroke:#c0e0ea;stroke-width:.7;opacity:.16}
.cana-client-icon-tile{fill:#7e4439;fill-opacity:.32;stroke:#ae7565;stroke-opacity:.55;stroke-width:.7}
.cana-client-symbol{fill:none;stroke:#ff8064;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cana-client-label{font-size:27px;font-weight:700;letter-spacing:-.4px}
.cana-coordinator{transform:translate(43px,236px) scale(.8);opacity:0;transition:transform .4s,opacity .3s}
.cana-coordinator.is-active{transform:translate(43px,236px) scale(1);opacity:1;transition-delay:0s}
.cana-coordinator rect{fill:#0b2d3d;stroke:#7295a5;stroke-width:1}
.cana-coordinator text:not(.cana-coordinator-caption){text-anchor:middle;font-size:18px;font-weight:600}
.cana-coordinator-caption{text-anchor:middle;font-size:9px;letter-spacing:1px;fill:#b6ced9!important}
.cana-hub-rim{fill:none;stroke:#4b7283;stroke-width:1;stroke-dasharray:2 4;opacity:.35}
.cana-hub-body{fill:url(#cana-hub-shade);stroke:#a0c4d2;stroke-width:1.3}
.cana-hub text{text-anchor:middle}
.cana-brand-mark{transform-box:fill-box;transform-origin:center;opacity:1;transition:opacity .25s}
.cana[data-status="defining"] .cana-brand-mark,.cana[data-status="aligning"] .cana-brand-mark,.cana[data-status="aligned"] .cana-brand-mark{opacity:.28}
.cana-response-ring{fill:none;stroke:var(--orange);stroke-width:1.4;opacity:0}
.cana[data-phase="brand"] .cana-brand-mark{animation:cana-brand-response .65s ease-out both}
.cana[data-phase="brand"] .cana-response-ring{animation:cana-response-ring .7s ease-out both}
.cana-loader{fill:none;stroke:var(--orange);stroke-width:1.8;stroke-dasharray:70 577;stroke-linecap:round;opacity:0;transform-origin:0 0}
.cana[data-phase="working"] .cana-loader{opacity:.7;animation:cana-loading .75s linear infinite}
.cana-hub-status{font-size:21px;font-weight:700;letter-spacing:-.25px;paint-order:stroke;stroke:#082735;stroke-width:3px;stroke-linejoin:round;opacity:0;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease;fill:#edf5f7!important}
.cana[data-status="defining"] .status-defining,.cana[data-status="aligning"] .status-aligning,.cana[data-status="aligned"] .status-aligned{opacity:1;transform:translateY(0)}
.cana[data-status="aligned"] .status-aligned{fill:#e4f0f4!important}
.cana-node{transform:translate(330px,280px) scale(.12);opacity:0;transition:transform .5s cubic-bezier(.22,.8,.22,1),opacity .2s;pointer-events:none}
.cana-node.is-active{transform:translate(var(--x),var(--y)) scale(1);opacity:1;transition-duration:.46s,.25s;transition-delay:0s}
.cana-node rect{fill:#123a4c;stroke:#9ac4d4;stroke-width:1.3}
.cana-node-corner{fill:none;stroke:var(--orange);stroke-width:2}
.cana-node text{text-anchor:middle}
.cana-node-symbol{font-size:30px;font-weight:700;letter-spacing:-1px}
.cana-node-label{paint-order:stroke;stroke:#082735;stroke-width:3px;stroke-linejoin:round;font-size:15px;font-weight:600;letter-spacing:.1px}
.cana-caption{border-top:1px solid #52717f;padding-top:15px;min-height:76px}
.cana-cues{min-width:0;opacity:1;transform:translateY(0);transition:opacity .22s .25s,transform .35s .25s}
.cana-scenario{position:absolute;left:0;top:max(0px,calc(12.5% - 3.2em));width:52%;color:#d4e6ee;font-size:.78rem;font-weight:600;line-height:1.35;opacity:1;transition:opacity .25s}
.cana-description{display:block;color:#c4d8e0;font-size:1rem;line-height:1.55;margin:0}
.cana-tasks{position:absolute;left:55%;top:70.8333%;transform:translate(-50%,5px);width:28%;text-align:center;color:#c9e3ec;font-weight:700;text-shadow:0 0 9px rgba(112,195,223,.32);font-size:.7rem;line-height:1.6;opacity:0;transition:opacity .3s,transform .3s}
.cana-tasks>span{display:block}
.cana[data-phase="clearing"] .cana-tasks,.cana[data-phase="client"] .cana-tasks,.cana[data-phase="brand"] .cana-tasks{opacity:0;transition:none;transform:translate(-50%,5px)}
.cana[data-phase="cues"] .cana-tasks,.cana[data-status="defining"] .cana-tasks,.cana[data-status="aligning"] .cana-tasks,.cana[data-status="aligned"] .cana-tasks{opacity:1;transform:translate(-50%,0)}
.cana.is-clearing .cana-scenario{opacity:0}
.cana.is-clearing .cana-client{transform:translate(-22px,110px);opacity:0}
.cana.is-clearing .cana-coordinator{opacity:0;transition-delay:0s}
.cana.is-clearing .cana-intake-link{opacity:0;stroke-dashoffset:1}
.cana.is-clearing .cana-cues{opacity:0;transform:translateY(5px);transition-delay:0s}
.cana.is-suspended *{animation-play-state:paused!important}
@keyframes cana-working-turn{from{transform:rotate(var(--turn))}to{transform:rotate(calc(var(--turn) + var(--cycle-turn)))}}
@keyframes cana-loading{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.cana[data-status="defining"] .cana-progress-dots{animation:cana-progress-hint 1s ease-in-out infinite}
@keyframes cana-progress-hint{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes cana-client-response{0%,100%{transform:scale(1)}45%{transform:scale(1.035)}}
@keyframes cana-client-highlight{0%,100%{opacity:0}45%{opacity:.16}}
@keyframes cana-brand-response{0%,100%{transform:scale(1)}38%{transform:scale(1.1)}}
@keyframes cana-response-ring{0%{opacity:0;transform:scale(.95)}25%{opacity:.65}100%{opacity:0;transform:scale(1.18)}}
@media(max-width:1100px){
 .cana-hero .editorial-hero-grid{gap:24px;min-height:640px}
 .ux-page .cana-hero .editorial-copy h1{font-size:clamp(2.6rem,4.3vw,3.2rem)}
 .cana-hero .button{font-size:.75rem;padding:13px 14px}
 .cana-caption{min-height:94px}
 .cana-topline-end{display:none}
}
@media(max-width:760px){
 .cana-hero .editorial-hero-grid{grid-template-columns:1fr;gap:34px;min-height:0;padding-block:42px 36px}
 .ux-page .cana-hero .editorial-copy h1{font-size:clamp(2.6rem,9.4vw,4.1rem);max-width:600px;margin-bottom:21px}
 .cana-hero .editorial-copy .eyebrow{font-size:.59rem;margin-bottom:21px}
 .cana-hero .editorial-copy .lead{font-size:1rem;max-width:540px;margin-bottom:23px}
 .cana-hero .button{font-size:.75rem;padding:13px 14px}
 .cana-copy-note{margin-top:20px;font-size:.62rem}
 .cana{max-width:560px}
}
@media(max-width:520px){
 .cana-hero .editorial-hero-grid{gap:28px;padding-block:35px 30px}
 .ux-page .cana-hero .editorial-copy h1{font-size:clamp(2.5rem,10.3vw,3.4rem)}
 .cana-hero .button-row{flex-wrap:wrap;gap:9px}
 .cana-hero .editorial-copy .lead{font-size:.95rem;line-height:1.55}
 .cana-topline{font-size:.53rem}
 .cana-stage{margin-block:4px 1px}
 .cana-node-label{font-size:21px}
 .cana-node-symbol{font-size:32px}
 .cana-client-label{font-size:26px}
  .cana-coordinator-caption{font-size:12px;letter-spacing:0}
 .cana-hub-status{font-size:21px;letter-spacing:0}
 .cana-node.is-active{transition-duration:.45s,.2s;transition-delay:0s}
 .cana-link.is-active{transition-duration:.25s,.4s;transition-delay:.08s}
 .cana-caption{min-height:96px;padding-top:13px}
 .cana-scenario{font-size:.65rem}
 .cana-description{font-size:.88rem;line-height:1.5;margin:0}
 .cana-tasks{width:32%;font-size:clamp(.55rem,2.73vw,.64rem);line-height:1.45}

}
@media(prefers-reduced-motion:reduce){
 .cana *, .cana *::before, .cana *::after{transition:none!important;animation:none!important}
}
