@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap";:root{--color-primary-darkest: #010658;--color-primary-dark: #013183;--color-primary: #2f5cb6;--color-primary-light: #9cc6fb;--color-primary-lightest: #d0e6ff;--color-accent-darkest: #003d00;--color-accent-dark: #0b7000;--color-accent: #1a6e01;--color-accent-light: #bce4ae;--color-accent-lightest: #ddf2d6;--color-neutral-darkest: #2c2c2c;--color-neutral-dark: #6f6f6f;--color-neutral: #c6c6c6;--color-neutral-light: #ececec;--color-neutral-lightest: #f6f6f6;--color-danger-dark: #ae0102;--color-danger: #da0102;--color-danger-light: #fababa;--color-danger-lightest: #fde8e8;--color-success-dark: #0b7000;--color-success: #248901;--color-success-light: #bce4ae;--color-warning: #fbd055;--color-warning-dark: #c95100;--color-text-body: #2b2d2e;--color-text-muted: #616668;--color-text-placeholder: #767676;--color-text-label: #2c2c2c;--color-text-link: #0463b7;--color-white: #ffffff;--color-bg-page: #ffffff;--color-bg-subtle: #f6f6f6;--color-bg-action-bar: #f3f3f4;--color-bg-step-bar: #f6f6f6;--color-border: #c6c6c6;--color-border-focus: #2f5cb6;--font-family: "Montserrat", sans-serif;--font-size-heading: 20px;--font-size-subheading: 14px;--font-size-body: 12px;--font-size-caption: 10px;--font-weight-bold: 700;--font-weight-semibold: 600;--font-weight-medium: 500;--font-weight-regular: 400;--line-height-heading: 24px;--line-height-body: 18px;--line-height-description: 22px;--line-height-caption: 16px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 46px;--content-max-width: 1440px;--content-padding: 46px;--step-bar-height: 55px;--action-bar-height: 64px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-pill: 20px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);color:var(--color-text-body);background-color:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);color:var(--color-text-body)}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-family);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-family)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:9px var(--spacing-xl);border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-height-body);cursor:pointer;transition:background-color .15s ease,opacity .15s ease;border:1px solid transparent;white-space:nowrap}.btn-primary{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:transparent;color:var(--color-text-link);border-color:var(--color-text-link)}.btn-secondary:hover{background-color:var(--color-primary-lightest)}.btn-plain{background:none;border:none;color:var(--color-text-link);padding:9px var(--spacing-xl)}.btn-plain:hover{text-decoration:underline}.form-label{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-height-body);color:var(--color-text-label);margin-bottom:var(--spacing-sm)}.form-label .required{color:var(--color-danger-dark);margin-left:1px}.form-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:5px var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background-color:var(--color-white);font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);color:var(--color-text-body);transition:border-color .15s ease,box-shadow .15s ease;appearance:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-placeholder);font-style:italic}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-primary-lightest)}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232f5cb6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.form-textarea{resize:vertical;min-height:96px;line-height:var(--line-height-description)}.radio-option{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;background-color:var(--color-white)}.radio-option .radio-label{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-body);line-height:var(--line-height-body)}.radio-option .radio-description{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-muted);line-height:var(--line-height-body);margin-top:2px}.card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-card)}.chevron{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent}.chevron-down{border-top:6px solid var(--color-primary)}.chevron-right{border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid var(--color-text-muted)}.step-indicator{background-color:var(--color-bg-step-bar);height:var(--step-bar-height);border-bottom:1px solid var(--color-neutral-light);display:flex;align-items:center;padding:0 var(--spacing-3xl)}.step-indicator__list{display:flex;align-items:center;gap:var(--spacing-lg);list-style:none;margin:0;padding:0}.step-indicator__item{display:flex;align-items:center;gap:var(--spacing-lg)}.step-indicator__label{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-body);line-height:var(--line-height-body);white-space:nowrap}.step-indicator__label--active{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.step-indicator__label--completed{font-weight:var(--font-weight-medium);color:var(--color-accent-dark)}.step-indicator__label--upcoming{font-weight:var(--font-weight-medium);color:#717171}.step-indicator__check{width:14px;height:14px;color:var(--color-accent-dark);flex-shrink:0}.step-indicator__chevron{display:flex;align-items:center;color:var(--color-text-body)}.step-indicator__chevron svg{width:14px;height:14px}.intake-form{display:flex;flex-direction:column;flex:1}.intake-form__body{flex:1;padding:var(--spacing-3xl) var(--spacing-3xl) var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:640px}.intake-form__progress{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-placeholder);line-height:var(--line-height-body);letter-spacing:.04em;text-transform:uppercase}.intake-form__question{font-size:var(--font-size-subheading)!important;font-weight:var(--font-weight-semibold)!important;line-height:var(--line-height-description)!important;margin-bottom:var(--spacing-sm)}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-option{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;background-color:var(--color-white);-webkit-user-select:none;user-select:none}.radio-option:hover{border-color:var(--color-primary-light);background-color:var(--color-primary-lightest)}.radio-option.selected{border-color:var(--color-primary);background-color:var(--color-primary-lightest)}.radio-option input[type=radio]{margin-top:2px;accent-color:var(--color-accent);width:16px;height:16px;flex-shrink:0;cursor:pointer}.radio-text{display:flex;flex-direction:column;gap:2px}.radio-label{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-body);line-height:var(--line-height-body)}.radio-description{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-muted);line-height:var(--line-height-body)}.form-field__hint{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-muted);line-height:var(--line-height-description);margin-bottom:var(--spacing-sm)}.form-label__optional{font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.intake-form__action-bar{background-color:var(--color-bg-action-bar);border-top:1px solid var(--color-neutral-light);padding:var(--spacing-lg) var(--spacing-3xl);display:flex;align-items:center;justify-content:space-between}.intake-form__action-left{display:flex;align-items:center;min-width:80px}.intake-form__action-right{display:flex;align-items:center;gap:var(--spacing-sm)}.intake-form__validation-hint{font-size:var(--font-size-body);color:var(--color-text-muted);font-style:italic}.confirmation-step{flex:1;display:flex;flex-direction:column}.confirmation-step__body{flex:1;padding:var(--spacing-3xl);display:flex;gap:var(--spacing-xl);max-width:720px}.confirmation-step__icon{flex-shrink:0;width:40px;height:40px;color:var(--color-primary);margin-top:2px}.confirmation-step__icon svg{width:40px;height:40px}.confirmation-step__content{display:flex;flex-direction:column;gap:var(--spacing-lg);flex:1}.confirmation-step__lead{font-size:var(--font-size-subheading);font-weight:var(--font-weight-semibold);color:var(--color-text-body);line-height:var(--line-height-description)}.confirmation-step__summary-card{background-color:var(--color-primary-lightest);border:1px solid var(--color-primary-light);border-left:3px solid var(--color-primary);border-radius:var(--border-radius-sm);padding:var(--spacing-lg) var(--spacing-xl)}.confirmation-step__summary-text{font-size:var(--font-size-subheading);font-weight:var(--font-weight-medium);color:var(--color-text-body);line-height:var(--line-height-description)}.confirmation-step__question{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-muted);line-height:var(--line-height-body)}.confirmation-step__actions{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-icon{width:14px;height:14px;flex-shrink:0}.rec-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);overflow:hidden;transition:box-shadow .2s ease}.rec-card:hover{box-shadow:var(--shadow-card-hover)}.rec-card--expanded{border-color:var(--color-primary-light);box-shadow:var(--shadow-card-hover)}.rec-card__header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);background:none;border:none;cursor:pointer;text-align:left;transition:background-color .15s ease}.rec-card__header:hover{background-color:var(--color-neutral-lightest)}.rec-card--expanded .rec-card__header{background-color:var(--color-primary-lightest);border-bottom:1px solid var(--color-primary-light)}.rec-card__header-left{display:flex;align-items:flex-start;gap:var(--spacing-md);flex:1;min-width:0}.rec-card__title-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.rec-card__rank-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:100px;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body);white-space:nowrap;flex-shrink:0;margin-top:2px}.rank-1{background-color:var(--color-primary);color:var(--color-white)}.rank-2{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.rank-3{background-color:var(--color-neutral-light);color:var(--color-neutral-dark)}.rec-card__method-name{font-size:var(--font-size-subheading);font-weight:var(--font-weight-semibold);color:var(--color-text-body);line-height:var(--line-height-heading)}.rec-card__teaser{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-muted);line-height:var(--line-height-description)}.rec-card__chevron{flex-shrink:0;width:20px;height:20px;color:var(--color-primary)}.rec-card__chevron svg{width:20px;height:20px;transition:transform .2s ease}.chevron-svg--up{transform:rotate(180deg)}.chevron-svg--down{transform:rotate(0)}.rec-card__body{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg);border-top:1px solid var(--color-neutral-light)}.rec-card__section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.rec-card__section-label{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-body);line-height:var(--line-height-body);text-transform:uppercase;letter-spacing:.04em}.rec-card__section-text{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-muted);line-height:var(--line-height-description)}.rec-card__section-text--highlight{color:var(--color-text-body);background-color:var(--color-accent-lightest);border-left:3px solid var(--color-accent);padding:var(--spacing-sm) var(--spacing-md);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0}.rec-card__footer{padding-top:var(--spacing-sm);border-top:1px solid var(--color-neutral-light)}.rec-card__nng-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-link);text-decoration:none;transition:color .15s ease}.rec-card__nng-link:hover{text-decoration:underline;color:var(--color-primary-dark)}.rec-card__link-icon{width:14px;height:14px;flex-shrink:0}.recs-list{display:flex;flex-direction:column;flex:1}.recs-list__body{flex:1;padding:var(--spacing-3xl);display:flex;flex-direction:column;gap:var(--spacing-xl);max-width:800px}.recs-list__intro-text{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-muted);line-height:var(--line-height-description)}.recs-list__cards{display:flex;flex-direction:column;gap:var(--spacing-md)}.recs-list__context-summary{background-color:var(--color-neutral-lightest);border:1px solid var(--color-neutral-light);border-radius:var(--border-radius-md);padding:var(--spacing-lg) var(--spacing-xl)}.recs-list__context-label{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--spacing-sm)}.recs-list__context-dl{display:flex;flex-direction:column;gap:6px}.recs-list__context-row{display:flex;gap:var(--spacing-md);font-size:var(--font-size-body);line-height:var(--line-height-body)}.recs-list__context-row dt{font-weight:var(--font-weight-medium);color:var(--color-text-muted);min-width:120px;text-transform:capitalize}.recs-list__context-row dd{font-weight:var(--font-weight-regular);color:var(--color-text-body);text-transform:capitalize}.recs-list__context-row--full{flex-direction:column;gap:4px}.recs-list__context-row--full dd{text-transform:none}.recs-list__action-bar{background-color:var(--color-bg-action-bar);border-top:1px solid var(--color-neutral-light);padding:var(--spacing-lg) var(--spacing-3xl);display:flex;justify-content:flex-end}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg-page)}.app__header{height:56px;background-color:var(--color-primary-darkest);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-3xl);flex-shrink:0}.app__logo{display:flex;align-items:center;gap:var(--spacing-sm)}.app__logo-icon{width:22px;height:22px;color:var(--color-primary-light);flex-shrink:0}.app__logo-text{font-size:var(--font-size-subheading);font-weight:var(--font-weight-semibold);color:var(--color-white);letter-spacing:.01em}.app__logo-tagline{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-primary-light);letter-spacing:.02em}.app__main{flex:1;display:flex;flex-direction:column}.app__step-header{padding:var(--spacing-xl) var(--spacing-3xl) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs);max-width:800px}.app__step-label{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;line-height:var(--line-height-body)}.app__step-title{font-size:var(--font-size-heading);font-weight:var(--font-weight-semibold);color:var(--color-text-body);line-height:var(--line-height-heading)}.app__step-description{font-size:var(--font-size-subheading);font-weight:var(--font-weight-medium);color:var(--color-text-muted);line-height:var(--line-height-description)}.app__step-divider{height:1px;background-color:var(--color-border);margin:0 var(--spacing-3xl)}.app__error-banner{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-lg) var(--spacing-3xl) 0;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-danger-lightest);border:1px solid var(--color-danger-light);border-left:3px solid var(--color-danger);border-radius:var(--border-radius-sm);max-width:720px}.app__error-icon{width:18px;height:18px;color:var(--color-danger-dark);flex-shrink:0}.app__error-banner p{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-danger-dark);line-height:var(--line-height-body)}
