.approach-diamond{width:100%;max-width:46rem;overflow-x:auto}.approach-diamond-svg{width:100%;min-width:32rem;height:auto;display:block}.approach-diamond-fill{fill:hsl(from var(--color-primary) h s l / .05);stroke:none}.approach-diamond-draw{fill:none;stroke:var(--color-primary);stroke-width:2px;stroke-linejoin:round}.approach-diamond-mid{stroke:var(--color-primary);stroke-width:1.5px;stroke-dasharray:4 5;opacity:.4}.approach-diamond-name{fill:var(--color-primary);font-family:var(--font-family-title);letter-spacing:.01em;font-size:19px;font-weight:600}.approach-diamond-sub{fill:var(--color-foreground);font-family:var(--font-family-default);font-size:14px}.approach-diamond-nodes circle{fill:var(--color-background);stroke:var(--color-primary);stroke-width:2px}.approach-diamond-nodes path{fill:none;stroke:var(--color-primary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.approach-diamond-labels text{fill:var(--color-foreground-muted);font-family:var(--font-family-mono);letter-spacing:.08em;text-transform:uppercase;font-size:13px}@media (prefers-reduced-motion:no-preference){.approach-diamond-draw :is(path,line){stroke-dasharray:1;stroke-dashoffset:1px;animation:1.1s ease-out forwards approach-diamond-draw}.approach-diamond-draw path:nth-of-type(2),.approach-diamond-draw line:nth-of-type(2){animation-delay:.45s}.approach-diamond-text,.approach-diamond-nodes,.approach-diamond-labels{opacity:0;animation:.6s ease-out 1.2s forwards approach-diamond-fade}}@keyframes approach-diamond-draw{to{stroke-dashoffset:0}}@keyframes approach-diamond-fade{to{opacity:1}}
.approach-support-note{color:var(--color-foreground-muted)}
.approach{--approach-rail:2rem;--approach-gap:clamp(1.25rem, 3vw, 2.5rem)}.approach-steps-grid{grid-template-columns:minmax(0, 1fr) var(--approach-rail);border-block-end:1px solid var(--color-border);display:grid}.approach-phase-label{writing-mode:vertical-rl;border-top:1px solid var(--color-border);font-family:var(--font-family-default);font-size:var(--font-size-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);grid-column:2;justify-content:center;align-self:stretch;align-items:center;font-weight:500;line-height:1;display:flex}.approach-step{border-block-start:1px solid var(--color-border);grid-column:1;grid-template-columns:1fr;gap:.625rem;padding-block:2rem;padding-inline-end:var(--approach-gap);display:grid}@media (min-width:45rem){.approach-step{grid-template-columns:5rem 1fr 1.5fr;gap:1.5rem}}.approach-step-number{font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:.08em;color:var(--color-primary);padding-block-start:.375rem}.approach-step p{max-width:42em}.approach-faq-inner{padding-block:calc(var(--section-spacing) / 2);flex-direction:column;gap:1rem;display:flex}@media (min-width:56rem){.approach-faq-inner{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.approach-faq-list{margin-block-start:0}}.approach-faq-list{flex-direction:column;max-width:52rem;margin-block-start:1.5rem;display:flex}.approach-faq-list details{border-block-start:1px solid var(--color-border-muted);padding-block:1.5rem}.approach-faq-list details:last-child{border-block-end:1px solid var(--color-border-muted)}.approach-faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;list-style:none;display:flex}.approach-faq-list summary::-webkit-details-marker{display:none}.approach-faq-list summary h3{font-size:var(--font-size-regular)}.approach-faq-list summary .icon{color:var(--color-primary);flex-shrink:0}.approach-faq-list details[open] summary .icon-plus,.approach-faq-list details:not([open]) summary .icon-minus{display:none}.approach-faq-list details p{font-size:var(--font-size-small);max-width:60ch;margin-block-start:.75rem}
