/* NIDUS FLOW: the team's method, followed by the tools that support it. */
.nidus-flow { min-width:0; }
.flow-kicker { color:var(--accent-strong); font-size:10px; font-weight:650; letter-spacing:1.7px; line-height:1.5; margin-bottom:9px; }
.flow-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(250px,.8fr); gap:40px; padding:39px 42px; border:1px solid var(--brand); border-radius:18px; background:var(--brand-deep); color:var(--paper); margin-bottom:35px; }
.flow-hero .flow-kicker { color:var(--accent-light); }
.flow-hero-copy { align-self:center; }
.flow-hero h2 { font-size:clamp(26px,3vw,39px); line-height:1.25; letter-spacing:-1.2px; font-weight:600; }
.flow-hero h2 span { color:var(--accent-light); }
.flow-hero-copy>p:last-child { color:var(--on-brand-muted); font-size:13px; line-height:1.8; margin-top:20px; max-width:450px; }
.flow-route { border-left:1px solid var(--on-brand-line); padding-left:35px; align-self:center; }
.flow-route-stop>span { display:block; font-size:11px; color:var(--on-brand-muted); margin-bottom:2px; }
.flow-route-stop>strong { display:block; color:var(--paper); font-size:35px; font-weight:600; letter-spacing:2px; line-height:1.25; }
.flow-route-stop i { font-style:normal; font-weight:400; color:var(--accent-light); }
.flow-route-stop small { display:block; margin-top:3px; font-size:11px; color:var(--on-brand-muted); }
.flow-route-arrow { display:block; color:var(--accent-light); font-size:18px; line-height:1; margin:9px 0 9px 8px; }
.flow-route-destination>strong { color:var(--accent-light); display:flex; align-items:center; gap:12px; }
.flow-route-destination em { font-size:14px; font-style:normal; font-weight:500; letter-spacing:0; max-width:120px; line-height:1.45; }
.flow-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.flow-section-heading h2 { font-size:25px; letter-spacing:-.7px; }
.flow-section-heading>p { font-size:11px; color:var(--muted); max-width:230px; line-height:1.6; }
.flow-periods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.flow-period { display:flex; flex-direction:column; min-width:0; background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.flow-period>header { display:flex; align-items:center; gap:11px; padding:23px 23px 21px; border-bottom:1px solid var(--line-soft); }
.flow-period-icon { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; background:var(--surface-soft); color:var(--accent-strong); border-radius:10px; }
.flow-period-icon .icon { width:18px; height:18px; }
.flow-period>header p { color:var(--accent-strong); font-size:8px; font-weight:650; letter-spacing:1.2px; margin-bottom:4px; }
.flow-period h3 { font-size:19px; font-weight:600; letter-spacing:-.4px; }
.flow-activities { list-style:none; margin:0; padding:5px 23px 0; }
.flow-activities li { display:flex; gap:15px; padding:20px 0; border-bottom:1px solid var(--line-soft); }
.flow-activities li:last-child { border-bottom:0; }
.flow-number { display:block; flex-shrink:0; width:35px; font-size:43px; font-weight:500; line-height:1.1; color:var(--accent-strong); letter-spacing:-1.7px; font-variant-numeric:tabular-nums; }
.flow-activities h4 { font-size:14px; line-height:1.4; font-weight:650; margin:0 0 6px; }
.flow-activities p { font-size:12px; color:var(--muted); line-height:1.75; }
.flow-clarification { display:block; color:var(--accent-strong); font-size:10px; line-height:1.65; padding-left:9px; margin-top:9px; border-left:2px solid var(--accent-line); }
.flow-period-note { margin:4px 23px 23px; padding-top:16px; border-top:1px solid var(--line-soft); color:var(--muted); font-size:11px; line-height:1.8; }
.flow-period-action { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:57px; margin-top:auto; padding:16px 23px; border-top:1px solid var(--line); color:var(--accent-strong); font-size:11px; line-height:1.5; font-weight:650; }
.flow-period-action:hover { background:var(--surface-soft); }
.flow-period-action .icon { width:16px; height:16px; }
.flow-period-result { background:var(--surface-soft); border-color:var(--accent-line); }
.flow-period-result>header { border-color:var(--accent-line); }
.flow-period-result .flow-period-icon { background:var(--paper); }
.flow-period-result .flow-activities li { padding-top:26px; }
.flow-period-result .flow-number { color:var(--brand); }
.flow-period-result .flow-period-action { border-color:var(--accent-line); }
.flow-result-message { margin:13px 23px 30px; color:var(--accent-strong); font-size:17px; line-height:1.6; letter-spacing:-.3px; max-width:210px; }
.flow-result-line { display:block; width:30px; height:2px; background:var(--accent); margin-bottom:17px; }
.flow-method-note { color:var(--muted); font-size:11px; line-height:1.8; margin:14px 0 0; max-width:850px; }
.flow-practice { margin-top:39px; padding-top:29px; border-top:1px solid var(--line); }
.flow-practice .flow-section-heading { margin-bottom:9px; }
.flow-practice-intro { color:var(--muted); font-size:12px; line-height:1.8; margin-bottom:21px; }
.flow-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.flow-tool { display:flex; align-items:flex-start; gap:12px; min-width:0; padding:21px 18px; border:1px solid var(--line); border-radius:11px; background:var(--paper); }
.flow-tool:hover { border-color:var(--accent-line); background:var(--surface-soft); }
.flow-tool-icon { width:19px; color:var(--accent-strong); flex-shrink:0; margin-top:1px; }
.flow-tool-icon .icon { width:19px; height:19px; }
.flow-tool h3 { font-size:12px; line-height:1.5; margin:0 0 6px; }
.flow-tool p { color:var(--muted); font-size:11px; line-height:1.75; }
.flow-tool-arrow { color:var(--accent-strong); margin-left:auto; font-size:15px; }
.flow-closing { display:flex; justify-content:space-between; align-items:center; gap:23px; padding:24px 0 0; margin-top:25px; border-top:1px solid var(--line); }
.flow-closing strong { display:block; font-weight:600; font-size:12px; line-height:1.6; }
.flow-closing p>span { display:block; color:var(--muted); font-size:11px; line-height:1.8; margin-top:4px; }
@media(min-width:1600px) { .flow-hero { grid-template-columns:minmax(0,1fr) minmax(340px,.65fr); }.flow-period>header,.flow-period-action { padding-left:28px; padding-right:28px; }.flow-activities { padding-left:28px; padding-right:28px; } }
@media(max-width:1150px) { .flow-hero { gap:27px; padding:32px; }.flow-route { padding-left:27px; }.flow-periods { gap:12px; }.flow-period>header { padding:20px 16px; gap:8px; }.flow-period-icon { width:29px; height:29px; }.flow-period>header p { font-size:7px; letter-spacing:.8px; }.flow-period h3 { font-size:17px; }.flow-activities { padding-left:17px; padding-right:17px; }.flow-activities li { gap:10px; }.flow-number { width:30px; font-size:38px; }.flow-period-action { padding:15px 17px; }.flow-period-note,.flow-result-message { margin-left:17px; margin-right:17px; }.flow-tools { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .flow-hero { grid-template-columns:minmax(0,1fr); padding:29px 25px; gap:27px; }.flow-hero h2 { font-size:32px; }.flow-hero-copy>p:last-child { max-width:560px; margin-top:16px; }.flow-route { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap:10px; border-left:0; border-top:1px solid var(--on-brand-line); padding:23px 0 0; align-items:start; }.flow-route-arrow { transform:rotate(-90deg); margin:28px 0 0; }.flow-route-stop>strong { font-size:25px; letter-spacing:0; }.flow-route-stop>span { font-size:10px; margin-bottom:5px; }.flow-route-stop small { font-size:10px; }.flow-route-destination>strong { display:block; }.flow-route-destination em { display:block; font-size:11px; margin-top:4px; }.flow-periods { grid-template-columns:minmax(0,1fr); gap:16px; }.flow-period>header { padding:20px 23px; gap:11px; }.flow-period>header p { font-size:8px; letter-spacing:1.2px; }.flow-period h3 { font-size:20px; }.flow-period-icon { width:34px; height:34px; }.flow-activities { padding:1px 23px 0; }.flow-activities li { gap:18px; padding:21px 0; }.flow-number { width:36px; font-size:44px; }.flow-activities h4 { font-size:15px; }.flow-activities p { font-size:13px; }.flow-period-action { padding:17px 23px; font-size:12px; }.flow-period-note { margin:1px 23px 23px; font-size:12px; }.flow-result-message { max-width:100%; margin:1px 23px 26px; font-size:17px; }.flow-section-heading { align-items:flex-start; flex-direction:column; gap:8px; }.flow-section-heading>p { max-width:100%; }.flow-section-heading h2 { font-size:23px; }.flow-method-note { font-size:11px; }.flow-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }.flow-tool { padding:19px 16px; gap:10px; }.flow-tool h3 { font-size:12px; }.flow-tool-arrow { display:none; }.flow-closing { align-items:flex-start; flex-direction:column; gap:16px; } }
@media(max-width:470px) { .flow-hero { border-radius:14px; padding:25px 21px; margin-bottom:28px; }.flow-hero h2 { font-size:29px; letter-spacing:-.9px; }.flow-hero-copy>p:last-child { font-size:12px; }.flow-kicker { font-size:9px; letter-spacing:1.3px; }.flow-route { gap:6px; }.flow-route-stop>strong { font-size:23px; }.flow-route-stop>span { font-size:9px; }.flow-route-stop small { font-size:9px; line-height:1.6; }.flow-route-destination em { font-size:10px; }.flow-tools { grid-template-columns:minmax(0,1fr); gap:10px; }.flow-tool { padding:18px; }.flow-tool h3 { font-size:13px; }.flow-tool p { font-size:12px; }.flow-tool-arrow { display:block; }.flow-closing>.button { width:100%; }.flow-period>header { padding:20px; }.flow-activities { padding-left:20px; padding-right:20px; }.flow-period-action { padding-left:20px; padding-right:20px; }.flow-practice { margin-top:29px; padding-top:25px; } }
.flow-goal-action { display:inline-block; color:var(--accent-strong); font-size:11px; font-weight:600; line-height:1.7; margin-top:10px; text-decoration:underline; text-underline-offset:3px; }
