:root{--color-bg:#fff;--color-fg:#1a1a1a;--color-fg-muted:#555;--color-border:#e2e2e2;--color-accent:#1f4b3f;--color-accent-contrast:#fff;--color-surface:#f7f7f5;--font-sans:"Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4rem;--space-8:6rem;--content-max-width:72rem;--radius-sm:4px;--radius-md:8px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-fg);margin:0;font-size:16px;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-link{z-index:100;background:var(--color-accent);color:var(--color-accent-contrast);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--space-3);top:var(--space-3)}.container{max-width:var(--content-max-width);padding-inline:var(--space-4);margin-inline:auto}.site-header{border-bottom:1px solid var(--color-border)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-3);display:flex}.site-header__brand{flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.site-header__logo{object-fit:contain;width:auto;max-width:160px;height:36px}.site-nav{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.nav-disclosure{display:none}.site-nav__list{gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-nav__list a{font-size:.9375rem;text-decoration:none}.site-nav__list a.is-active{color:var(--color-accent);font-weight:700}.site-nav__list a:hover{color:var(--color-accent)}.lang-switcher{align-items:center;gap:var(--space-1);font-size:.875rem;display:flex}.lang-switcher a{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid #0000;text-decoration:none}.lang-switcher a[aria-current=true]{border-color:var(--color-border);font-weight:700}.lang-switcher a:not([aria-current=true]):hover{background-color:var(--color-surface)}.lang-switcher__divider{color:var(--color-border)}.hero{padding-block:var(--space-8);background-color:var(--color-surface)}.hero__headline{margin:0 0 var(--space-4);max-width:40ch;font-size:clamp(1.75rem,4vw,3rem);line-height:1.25}.hero__subheadline{color:var(--color-fg-muted);max-width:55ch;margin:0 0 var(--space-6);font-size:clamp(1rem,1.5vw,1.25rem)}.hero__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.button{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;background-color:#0000;border:1px solid #0000;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.button--primary{background-color:var(--color-accent);color:var(--color-accent-contrast)}.button--primary:hover{opacity:.9}.button--secondary{color:var(--color-accent);border-color:var(--color-accent);background-color:#0000}.button--secondary:hover{background-color:var(--color-surface)}.button:disabled{cursor:not-allowed;opacity:.5}.button:disabled:hover{opacity:.5;background-color:initial}.button--primary:disabled{background-color:var(--color-fg-muted)}.button--secondary:disabled{color:var(--color-fg-muted);border-color:var(--color-border)}.site-footer{border-top:1px solid var(--color-border);padding-block:var(--space-5);margin-top:var(--space-8)}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--color-fg-muted);flex-wrap:wrap;font-size:.875rem;display:flex}.site-footer__nav-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:flex}.site-footer__nav-list a{color:var(--color-fg-muted);text-decoration:none}.site-footer__nav-list a:hover,.site-footer__nav-list a[aria-current=page]{color:var(--color-accent)}@media (width<=640px){.site-header__inner{flex-wrap:wrap}.site-header__logo{height:28px}.site-nav--desktop{display:none}.nav-disclosure{width:100%;display:block}.nav-disclosure__summary{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;list-style:none;display:flex}.nav-disclosure__summary::-webkit-details-marker{display:none}.nav-disclosure__summary:after{content:"▾";transition:transform .15s}.nav-disclosure[open] .nav-disclosure__summary:after{transform:rotate(180deg)}.nav-disclosure__panel{gap:var(--space-3);padding-top:var(--space-3);flex-direction:column;display:flex}.nav-disclosure .site-nav__list{gap:var(--space-2);flex-direction:column}.nav-disclosure .site-nav__list a{padding:var(--space-2) var(--space-1);display:block}.hero,.section{padding-block:var(--space-6)}}.section{padding-block:var(--space-7)}.section--muted{background-color:var(--color-surface)}.section--closing{background-color:var(--color-surface);text-align:center}.section--closing .tag-list{justify-content:center}.container--narrow{max-width:42rem}.section-heading{margin-bottom:var(--space-5)}.section-heading h2,.section-title{margin:0 0 var(--space-4);font-size:clamp(1.375rem,2.5vw,1.875rem)}.section-heading__description{color:var(--color-fg-muted);max-width:60ch;margin:0}.section--closing .section-heading__description{margin-inline:auto}.who-help-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:0;padding:0;list-style:none;display:grid}.who-help-grid__item{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg)}.card-grid{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.section-subtitle{margin:var(--space-6) 0 var(--space-2);font-size:1.125rem}.core-area-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg)}.core-area-card__number{color:var(--color-fg-muted);margin:0 0 var(--space-1);font-size:.875rem}.core-area-card h3{margin:0 0 var(--space-2);font-size:1.0625rem}.core-area-card p:last-child{color:var(--color-fg-muted);margin:0}.service-card,.harness-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);flex-direction:column;display:flex}.service-card h3,.harness-card h3{margin:0;font-size:1.125rem}.service-card p,.harness-card p{color:var(--color-fg-muted);flex-grow:1;margin:0}.service-card .button,.harness-card .button{align-self:flex-start}.harness-card__role{letter-spacing:.02em;text-transform:uppercase;color:var(--color-accent);margin:0;font-size:.8125rem;font-weight:600}.step-list{margin:0 0 var(--space-5);gap:var(--space-3);counter-reset:none;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));padding:0;list-style:none;display:grid}.step-list__item{align-items:baseline;gap:var(--space-2);padding:var(--space-3);border-left:2px solid var(--color-accent);background-color:var(--color-surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;display:flex}.step-list__number{color:var(--color-accent);font-size:.875rem;font-weight:700}.step-list__title{font-size:.9375rem}.learning-ladder{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.learning-ladder__stage{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.learning-ladder__label{margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.03em;color:var(--color-accent);font-size:.8125rem;font-weight:700}.learning-ladder__stage h3{margin:0 0 var(--space-2);font-size:1.0625rem}.learning-ladder__status{color:var(--color-fg-muted);background-color:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin:0;font-size:.75rem;font-weight:600;display:inline-block}.tag-list{margin:0 0 var(--space-4);gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.book-showcase{justify-content:flex-start;display:flex}.book-showcase__image{border-radius:var(--radius-md);max-width:240px;height:auto}.book-showcase__placeholder{border:1px dashed var(--color-border);border-radius:var(--radius-md);width:200px;height:280px;color:var(--color-fg-muted);text-align:center;padding:var(--space-3);background-color:var(--color-surface);justify-content:center;align-items:center;font-size:.875rem;display:flex}.tag-list__item{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);color:var(--color-fg-muted);border-radius:999px;font-size:.875rem}.about-summary__paragraph{color:var(--color-fg-muted);max-width:65ch}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero--page{padding-block:var(--space-7)}.hero__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);margin:0 0 var(--space-2);font-size:.8125rem;font-weight:700}.process-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.process-step{gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--color-border);grid-template-columns:3.5rem 1fr;display:grid}.process-step:last-child{border-bottom:1px solid var(--color-border)}.process-step__number{color:var(--color-accent);font-size:1.5rem;font-weight:700;line-height:1}.process-step__content h3{margin:0 0 var(--space-2);font-size:1.125rem}.process-step__content p{margin:0 0 var(--space-2);color:var(--color-fg-muted);max-width:60ch}.process-step__example{font-size:.875rem;font-style:italic}.process-step__content .button{margin-top:var(--space-2)}.feedback-loop{align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);display:flex}.feedback-loop__arrow{color:var(--color-accent);font-size:1.75rem;line-height:1}.feedback-loop h2{margin:0 0 var(--space-2);font-size:1.25rem}.feedback-loop p{color:var(--color-fg-muted);margin:0}.tag-list__item--disabled{color:var(--color-fg-muted);opacity:.7}@media (width<=640px){.process-step{gap:var(--space-2);grid-template-columns:1fr}.feedback-loop{flex-direction:column}}.principle-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:0;padding:0;list-style:none;display:grid}.principle-grid__item h3{margin:0 0 var(--space-1);color:var(--color-accent);font-size:1rem}.principle-grid__item p{color:var(--color-fg-muted);margin:0;font-size:.9375rem}.harness-card__status{color:var(--color-accent);background-color:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);align-self:flex-start;margin:0;font-size:.75rem;font-weight:600;display:inline-block}.capability-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.capability-list__item{gap:var(--space-3);padding:var(--space-4);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:2.5rem 1fr;display:grid}.capability-list__number{color:var(--color-accent);font-size:1.125rem;font-weight:700;line-height:1}.capability-list__item h3{margin:0 0 var(--space-1);font-size:1.0625rem}.capability-list__item p{color:var(--color-fg-muted);max-width:60ch;margin:0}.public-repo-cta h2{margin:0 0 var(--space-2);font-size:1.25rem}.public-repo-cta p{margin:0 0 var(--space-4);color:var(--color-fg-muted)}@media (width<=640px){.capability-list__item{gap:var(--space-2);grid-template-columns:1fr}}.dimension-list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin:0;padding:0;list-style:none;display:grid}.dimension-list__item{align-items:baseline;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);display:flex}.dimension-list__code{color:var(--color-accent);flex-shrink:0;font-size:.875rem;font-weight:700}.dimension-list__item h3{margin:0;font-size:.9375rem;font-weight:600}.workflow-steps{gap:var(--space-2);color:var(--color-fg-muted);flex-direction:column;margin:0;padding-left:1.25rem;list-style:decimal;display:flex}.workflow-steps li{padding-left:var(--space-1)}.promotion-outputs__note{margin:var(--space-3) 0 0;color:var(--color-fg-muted);font-size:.875rem;font-style:italic}.bp-step-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bp-step{gap:var(--space-4);padding:var(--space-4);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:3.5rem 1fr;display:grid}.bp-step__number{color:var(--color-accent);font-size:1.5rem;font-weight:700;line-height:1}.bp-step__content h3{margin:0 0 var(--space-2);font-size:1.125rem}.bp-step__summary{margin:0 0 var(--space-2);font-weight:600}.bp-step__content p{max-width:60ch;color:var(--color-fg-muted);margin:0 0 var(--space-2)}.bp-step__content .button{margin-top:var(--space-2)}@media (width<=640px){.bp-step{gap:var(--space-2);grid-template-columns:1fr}}.learning-track{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);flex-direction:column;display:flex}.learning-track__level{text-transform:uppercase;letter-spacing:.03em;color:var(--color-accent);margin:0;font-size:.8125rem;font-weight:700}.learning-track h3{margin:0;font-size:1.0625rem}.learning-track__role{margin:0;font-size:.9375rem;font-weight:600}.learning-track p:not(.learning-track__level):not(.learning-track__role):not(.learning-track__status){color:var(--color-fg-muted);margin:0}.learning-track__status{margin:var(--space-1) 0 0;color:var(--color-fg-muted);background-color:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:.8125rem;font-weight:600;display:inline-block}.tag-list__item--link{text-decoration:none;transition:background-color .15s;display:inline-block}.tag-list__item--link:hover{background-color:var(--color-surface)}.contact-email{margin:0 0 var(--space-4);word-break:break-word;font-size:1.25rem;font-weight:700}.about-hero__role{margin:0 0 var(--space-1);font-size:1.125rem;font-weight:600}.about-hero__tagline{color:var(--color-fg-muted);margin:0 0 var(--space-4)}.practitioner-body{max-width:62ch;color:var(--color-fg-muted);margin:0;font-size:1.0625rem;line-height:1.8}.check-list{gap:var(--space-2);flex-direction:column;max-width:60ch;margin:0;padding:0;list-style:none;display:flex}.check-list li{padding-left:var(--space-3);border-left:2px solid var(--color-accent)}.expertise-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg)}.expertise-card h3{margin:0 0 var(--space-3);font-size:1.0625rem}.career-list{margin:0 0 var(--space-5);gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.career-list__item{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.career-list__org{margin:0;font-weight:700}.career-list__period{color:var(--color-fg-muted);margin:var(--space-1) 0;font-size:.875rem}.career-list__body{color:var(--color-fg-muted);margin:0}.degree-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.degree-list__item{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.degree-list__degree{margin:0 0 var(--space-1);font-weight:700}.degree-list__research{color:var(--color-fg-muted);max-width:65ch;margin:0}.book-list{margin:var(--space-4) 0 0;gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.book-list__item{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.book-list__title{margin:0;font-weight:700}.book-list__meta{margin:var(--space-1) 0 0;color:var(--color-fg-muted);font-size:.875rem}.book-list__status{margin:var(--space-1) 0 0;padding:2px var(--space-2);background-color:var(--color-accent);color:var(--color-accent-contrast);border-radius:999px;font-size:.75rem;font-weight:700;display:inline-block}
