:root{--primary: #42F5EF;--primary-dark: #00C9C2;--primary-light: #B8FAF7;--background: #F7F9FC;--surface: #FFFFFF;--border: #E2E8F0;--neutral-700: #334155;--neutral-500: #475569;--neutral-400: #94A3B8;--secondary: #1277C5;--secondary-light: #D3E8FA;--accent: #3DA9C2;--success: #2CB67D;--warning: #E3A008;--error: #D64545;--info: #1992D4;--color-workflow-blue: #42a2f5;--color-workflow-orange: #FF6319;--color-workflow-green: #6CBE45;--color-workflow-purple: #9B59B6;--color-workflow-brown: #996633;--color-workflow-gray: #A7A9AC;--color-bg: var(--background);--color-text: var(--neutral-700);--color-text-secondary: var(--neutral-500);--color-border: var(--border);--color-link: var(--primary);--color-link-hover: var(--primary-dark);--color-dot-grid: var(--neutral-400);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-4xl: 96px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-h1: clamp(2rem, 5vw, 4rem);--font-size-h2: clamp(1.5rem, 4vw, 2.5rem);--font-size-h3: clamp(1.25rem, 3vw, 1.75rem);--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-background: -1;--z-content: 1;--z-header: 100;--z-overlay: 200;--z-modal: 300;--container-max-width: 1280px;--container-padding: var(--spacing-lg);--content-max-width: 75ch;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1440px;--breakpoint-2xl: 1920px}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{text-size-adjust:none}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}p,li{max-width:75ch;text-wrap:pretty}img,picture,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{font-size:16px;scroll-behavior:smooth}body{position:relative;display:flex;flex-direction:column;min-height:100vh;font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}p{margin-bottom:var(--spacing-md);color:var(--color-text)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}a:focus-visible{outline:2px solid var(--color-link);outline-offset:2px;border-radius:var(--radius-sm)}button{cursor:pointer;border:none;background:none;font-family:inherit}button:focus-visible{outline:2px solid var(--color-link);outline-offset:2px;border-radius:var(--radius-sm)}ul,ol{margin-bottom:var(--spacing-md)}li{margin-bottom:var(--spacing-xs)}code,pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}svg{display:inline-block;vertical-align:middle}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}section{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}@media (min-width: 768px){section{padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-4xl)}}.grid{display:grid;gap:var(--spacing-lg)}.grid--2-cols{grid-template-columns:repeat(2,1fr)}.grid--3-cols{grid-template-columns:repeat(3,1fr)}.grid--4-cols{grid-template-columns:repeat(4,1fr)}@media (max-width: 767px){.grid--2-cols,.grid--3-cols,.grid--4-cols{grid-template-columns:1fr}}@media (min-width: 768px) and (max-width: 1023px){.grid--4-cols{grid-template-columns:repeat(2,1fr)}}.flex{display:flex}.flex--center{align-items:center;justify-content:center}.flex--between{align-items:center;justify-content:space-between}.flex--column{flex-direction:column}.flex--wrap{flex-wrap:wrap}main{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:var(--z-content)}header{position:relative;z-index:var(--z-content)}footer{position:relative;z-index:var(--z-content)}.navigation{position:sticky;top:0;background-color:var(--surface);border-bottom:1px solid var(--color-border);z-index:var(--z-header);padding:var(--spacing-md) 0}.navigation__wrapper{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.navigation__brand{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}.navigation__brand:hover{color:var(--accent)}.navigation__items{display:flex;gap:var(--spacing-lg);list-style:none;margin:0;padding:0}.navigation__link{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.navigation__link:hover{color:var(--secondary);background-color:var(--background)}.navigation__link:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.navigation__cta{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-text);color:var(--surface);border-radius:var(--radius-md);text-decoration:none;transition:color var(--transition-fast),transform var(--transition-fast);min-width:44px;min-height:44px;justify-content:center}.navigation__cta:hover{color:var(--color-link);transform:translateY(-2px)}.navigation__cta:focus-visible{outline:2px solid var(--color-link);outline-offset:4px}.navigation__cta .icon--github{width:24px;height:24px}@media (max-width: 767px){.navigation__items{display:none}.navigation__brand{font-size:var(--font-size-lg)}}@media (min-width: 768px){.navigation{padding:var(--spacing-lg) 0}.navigation__items{display:flex}}.hero{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);text-align:center}.hero__content{max-width:800px;margin:0 auto;background-color:var(--surface);border:3px solid var(--primary);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.hero__headline{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);margin-bottom:var(--spacing-lg)}.hero__subheadline{font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);text-decoration:none;border-radius:var(--radius-md);transition:transform var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-fast);min-width:44px;min-height:44px;cursor:pointer}.button--primary{background-color:var(--primary);color:var(--neutral-700);box-shadow:var(--shadow-sm)}.button--primary:hover{color:var(--neutral-700);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.button--primary:focus-visible{outline:2px solid var(--color-link);outline-offset:4px}.button--primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}@media (max-width: 767px){.hero__headline{font-size:clamp(1.75rem,8vw,2.5rem)}.hero__subheadline{font-size:var(--font-size-lg)}.button{width:100%;max-width:320px}}@media (min-width: 768px){.hero__headline{font-size:var(--font-size-h1)}}.features{background-color:var(--color-bg);padding-top:var(--spacing-xl)}.features__heading{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);text-align:center;margin-bottom:var(--spacing-3xl);color:var(--color-text)}.features__grid{display:grid;gap:var(--spacing-2xl);grid-template-columns:1fr}.feature-card{padding:var(--spacing-xl);border-radius:var(--radius-lg);background-color:var(--surface);border:1px solid var(--color-border);transition:transform var(--transition-base),box-shadow var(--transition-base)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-card__icon{width:48px;height:48px;margin-bottom:var(--spacing-lg);color:var(--primary-dark)}.feature-card__title{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);color:var(--color-text)}.feature-card__description{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin-bottom:0}@media (max-width: 767px){.features__grid{grid-template-columns:1fr;gap:var(--spacing-xl)}.feature-card{padding:var(--spacing-lg)}}@media (min-width: 768px) and (max-width: 1023px){.features__grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}}@media (min-width: 1024px){.features__grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}}@media (min-width: 1440px){.features__grid{gap:var(--spacing-2xl)}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:var(--spacing-lg)}.modal.is-open{display:flex}.modal__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.modal__container{position:relative;z-index:1;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal__content{background-color:var(--surface);border:2px solid var(--primary);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-xl);position:relative}.modal__close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;color:var(--neutral-500);cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast),color var(--transition-fast)}.modal__close:hover{background-color:var(--border);color:var(--neutral-700)}.modal__close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.modal__heading{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-md);padding-right:var(--spacing-3xl)}.modal__subheading{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl);line-height:var(--line-height-relaxed)}.form__group{margin-bottom:var(--spacing-lg)}.form__label{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--spacing-sm)}.form__input,.form__textarea{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-family-sans);color:var(--color-text);background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.form__input:focus,.form__textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #42f5ef1a}.form__input:hover,.form__textarea:hover{border-color:var(--primary-light)}.form__textarea{resize:vertical;min-height:120px}.contact__submit{width:100%;margin-top:var(--spacing-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-xl)}.contact__submit:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.form__status{margin-top:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-base);text-align:center;display:none}.form__status.visible{display:block}.form__status--success{background-color:#2cb67d1a;border:2px solid var(--success);color:var(--success)}.form__status--error{background-color:#d645451a;border:2px solid var(--error);color:var(--error)}.form__status--loading{background-color:#1992d41a;border:2px solid var(--info);color:var(--info)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}body.modal-open{overflow:hidden}@media (max-width: 767px){.modal{padding:var(--spacing-md)}.modal__content{padding:var(--spacing-lg)}.modal__heading{font-size:var(--font-size-3xl);padding-right:var(--spacing-2xl)}.modal__subheading{font-size:var(--font-size-base)}.modal__close{width:36px;height:36px;top:var(--spacing-md);right:var(--spacing-md)}}@media (min-width: 768px){.modal__heading{font-size:var(--font-size-h2)}}.footer{padding:var(--spacing-md) 0;background-color:var(--surface);border-top:1px solid var(--color-border)}.footer__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);text-align:center}.footer__copyright{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.footer__links{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;justify-content:center}.footer__link{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.footer__link:hover{color:var(--accent)}.footer__link:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}@media (min-width: 768px){.footer__content{flex-direction:row;justify-content:space-between}.footer{padding:var(--spacing-lg) 0}}.workflow-viz-container{position:absolute;top:0;left:0;width:100%;min-height:100vh;z-index:0;pointer-events:none;overflow:hidden}.workflow-viz{width:100%;height:100%;display:block}#dot-grid circle{fill:var(--color-dot-grid);opacity:.15}.workflow-line{stroke-linecap:round;stroke-linejoin:round;fill:none;transition:opacity var(--transition-base);opacity:.3}.tree-line{opacity:.6}@keyframes drawLine{to{stroke-dashoffset:0;opacity:1}}.workflow-line--draw{animation:drawLine 2s ease-in-out forwards;opacity:1}.workflow-node{transition:transform var(--transition-base),opacity var(--transition-base)}.workflow-node--start,.workflow-node--end{fill:#fff}.workflow-node--station{fill:currentColor;stroke:#fff!important}.workflow-node--interchange{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.workflow-node--interchange.workflow-node--station{stroke-width:3}@media (prefers-reduced-motion: reduce){.workflow-line{transition:none!important}.workflow-line--draw{animation:none!important;stroke-dashoffset:0!important;opacity:1!important}.workflow-node{transition:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pt-2xl{padding-top:var(--spacing-2xl)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.pb-2xl{padding-bottom:var(--spacing-2xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none!important}.visible{display:block!important}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.skip-to-main{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-link);color:#fff;text-decoration:none;border-radius:var(--radius-sm);z-index:var(--z-modal);transform:translateY(-200%);transition:transform var(--transition-fast)}.skip-to-main:focus{transform:translateY(0)}
