.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@layer at.tokens{:root{--at-primary:#0f766e;--at-primary-hover:oklch(from var(--at-primary) calc(l + .06) c h);--at-primary-active:oklch(from var(--at-primary) calc(l - .06) c h);--at-secondary:#c2410c;--at-tertiary:#4f46e5;--at-black:#000;--at-white:#fff;--at-font-body:var(--font-public-sans,"Public Sans"), -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--at-font-mono:var(--font-roboto-mono,"Roboto Mono"), "SFMono-Regular", "JetBrains Mono", "Fira Code", menlo, monaco, consolas, "Liberation Mono", monospace;--at-font-size-base:1.125rem;--at-font-size-sm:.875rem;--at-font-size-xs:.75rem;--at-font-size-h1:2.5rem;--at-font-size-h2:1.875rem;--at-font-size-h3:1.375rem;--at-font-size-h4:1.0625rem;--at-font-size-h5:.9375rem;--at-font-size-h6:.8125rem;--at-line-height:1.6;--at-line-height-heading:1.25;--at-content-width:48rem;--at-sidebar-inset:0px;--at-content-inset:var(--at-spacing-xl);--at-gutter:var(--at-spacing-lg);--at-nav-height:6.5rem;--at-spacing-xs:.25rem;--at-spacing-sm:.5rem;--at-spacing-md:1rem;--at-spacing-lg:1.5rem;--at-spacing-xl:2rem;--at-spacing-2xl:4rem;--at-border-radius:.375rem;--at-shadow-sm:light-dark(0 1px 2px #0000000f,0 1px 2px #0009);--at-shadow-md:light-dark(0 2px 8px #0000001a,0 2px 8px #000000a6);--at-shadow-lg:light-dark(0 8px 32px #0003,0 12px 40px #000000b3);--at-logo-offset-x:0px;--at-bg:light-dark(oklch(from var(--at-primary) 99.4% .004 h),oklch(from var(--at-primary) 12% .008 h));--at-bg-alt:light-dark(oklch(from var(--at-primary) 96.5% .006 h),oklch(from var(--at-primary) 15% .01 h));--at-bg-elevated:light-dark(oklch(from var(--at-primary) 99.4% .004 h),oklch(from var(--at-primary) 19% .012 h));--at-text:light-dark(oklch(from var(--at-primary) 20% .01 h),oklch(from var(--at-primary) 95% .005 h));--at-text-secondary:light-dark(oklch(from var(--at-primary) 20% .01 h / 78%),oklch(from var(--at-primary) 95% .005 h / 78%));--at-text-muted:light-dark(oklch(from var(--at-primary) 20% .01 h / 62%),oklch(from var(--at-primary) 95% .005 h / 56%));--at-heading:var(--at-primary);--at-on-primary:oklch(from var(--at-primary) clamp(.16, (.58 - l) * 1000, 1) 0 h);--at-on-accent:oklch(from var(--at-accent) clamp(.16, (.58 - l) * 1000, 1) 0 h);--at-on-primary-alt:oklch(from var(--at-primary) clamp(.16, (l - .58) * 1000, 1) 0 h);--at-accent:var(--at-primary);--at-accent-hover:var(--at-primary-hover);--at-accent-soft:light-dark(rgb(from var(--at-primary) r g b / 10%),rgb(from var(--at-primary) r g b / 14%));--at-link:light-dark(oklch(from var(--at-primary) calc(l - .1) c h),var(--at-primary));--at-link-hover:light-dark(var(--at-primary),var(--at-primary-hover));--at-border:light-dark(rgb(from var(--at-primary) r g b / 30%),rgb(from var(--at-primary) r g b / 40%));--at-divider:light-dark(oklch(from var(--at-primary) 20% .01 h / 12%),oklch(from var(--at-primary) 95% .005 h / 12%));--at-code-bg:light-dark(oklch(from var(--at-primary) 20% .01 h / 6%),oklch(from var(--at-primary) 95% .005 h / 12%));--at-table-header-bg:var(--at-primary);--at-table-header-text:var(--at-on-primary);--at-table-stripe:light-dark(rgb(from var(--at-primary) r g b / 6%),rgb(from var(--at-primary) r g b / 8%));--at-info:light-dark(var(--at-tertiary),#38bdf8);--at-info-soft:light-dark(rgb(from var(--at-tertiary) r g b / 10%),#38bdf824);--at-success:light-dark(#16a34a,#4ade80);--at-success-soft:light-dark(#16a34a1a,#4ade8024);--at-warning:light-dark(#b45309,#fbbf24);--at-warning-soft:light-dark(#b453091a,#fbbf2424);--at-error:light-dark(#dc2626,#f87171);--at-error-soft:light-dark(#dc26261a,#f8717124);color-scheme:light}[data-theme=dark]{color-scheme:dark}}@layer at.base{*,:before,:after{box-sizing:border-box}html{font-family:var(--at-font-body);font-size:var(--at-font-size-base);font-weight:400;line-height:var(--at-line-height);color:var(--at-text);background-color:var(--at-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern", "calt";text-rendering:optimizelegibility;scroll-behavior:smooth;scroll-padding-top:calc(var(--at-nav-height) + var(--at-spacing-md))}table,time,code,kbd,.at-pagination,[data-nums=tabular]{font-variant-numeric:tabular-nums lining-nums}::selection{background:var(--at-primary);color:var(--at-on-primary)}body{grid-template-columns:[full-start] minmax(calc(var(--at-gutter) + var(--at-sidebar-inset)), 1fr) [inset-start] var(--at-content-inset) [content-start] min(var(--at-content-width), 100% - 2 * var(--at-gutter) - var(--at-content-inset) - 2 * var(--at-sidebar-inset)) [content-end] minmax(calc(var(--at-gutter) + var(--at-sidebar-inset)), 1fr) [full-end];grid-template-rows:auto auto 1fr auto;min-height:100dvh;margin:0;display:grid;position:relative}body>*{grid-column:content}body:after{content:"";background:var(--at-accent);pointer-events:none;width:1px;position:absolute;inset-block:0;inset-inline-start:max(calc(var(--at-gutter) + var(--at-sidebar-inset)), calc((100% - var(--at-content-inset) - var(--at-content-width)) / 2))}@media (width<640px){body{--at-content-inset:0px;--at-gutter:var(--at-spacing-md)}body:after{display:none}}h1,h2,h3,h4,h5,h6{color:var(--at-heading);line-height:var(--at-line-height-heading);text-wrap:balance;margin-block:1.5em .5em}h2,h3,h4,h5,h6{font-weight:600}h1{font-size:var(--at-font-size-h1);letter-spacing:-.02em;font-weight:400}h2{font-size:var(--at-font-size-h2);letter-spacing:-.01em}h3{font-size:var(--at-font-size-h3)}h4{font-size:var(--at-font-size-h4)}h5{font-size:var(--at-font-size-h5)}h6{font-size:var(--at-font-size-h6);text-transform:uppercase;letter-spacing:.05em}p{text-wrap:pretty;margin-block:0 1em}a{color:var(--at-link);text-underline-offset:.15em;text-decoration-thickness:1px;transition:color .15s;&:hover{color:var(--at-link-hover)}}img,picture,video,svg{max-width:100%;height:auto;display:block}ul,ol,dl,pre,blockquote,figure,img,picture,video{margin-block:0 1em}figure>img,figure>picture,.at-nav-logo{margin-block:0}figcaption{font-size:var(--at-font-size-sm);color:var(--at-text-secondary);border-block-end:1px solid var(--at-divider);text-wrap:pretty;margin-block-start:var(--at-spacing-sm);padding-block-end:var(--at-spacing-sm)}@media (width<640px){.at-main>img,.at-main :where(p,figure)>img{margin-inline:calc(-1 * var(--at-spacing-xl)) calc(-1 * var(--at-spacing-lg));max-width:none;width:calc(100% + var(--at-spacing-xl) + var(--at-spacing-lg));border-radius:0}}code{font-family:var(--at-font-mono);font-size:var(--at-font-size-sm);background:var(--at-code-bg);border-radius:var(--at-border-radius);padding:.125em .375em}pre{padding:var(--at-spacing-md) var(--at-spacing-lg);border-radius:var(--at-border-radius);background:var(--at-bg-elevated);border:1px solid var(--at-divider);overflow-x:auto;& code{background:0 0;padding:0}}:is(.astro-code,.astro-code span){color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);background-color:#0000}[data-theme=dark] :is(.astro-code,.astro-code span){color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);background-color:#0000}blockquote{color:var(--at-text-secondary);hanging-punctuation:first last;text-wrap:pretty;margin-inline:0;font-weight:300}blockquote:before{content:"";border-block-start:1px solid var(--at-accent);inline-size:3rem;padding-block-end:var(--at-spacing-sm);display:block}.at-table-wrap{margin-block:1em;overflow-x:auto}table{border-collapse:collapse;width:100%;margin-block:1em}.at-table-wrap>table{margin-block:0}thead{background:var(--at-table-header-bg);color:var(--at-table-header-text)}th,td{padding:var(--at-spacing-sm) var(--at-spacing-md);text-align:start}tbody tr:nth-child(2n){background:var(--at-table-stripe)}hr{border:none;border-block-start:1px solid var(--at-divider);margin-block:var(--at-spacing-xl)}label{margin-block-end:var(--at-spacing-xs);font-weight:600;display:block}input:not([type=checkbox],[type=radio]),select,textarea{width:100%;padding:var(--at-spacing-sm) var(--at-spacing-md);border:1px solid var(--at-divider);border-radius:var(--at-border-radius);background:var(--at-bg);color:var(--at-text);caret-color:var(--at-accent);font:inherit;font-size:var(--at-font-size-base);line-height:var(--at-line-height);transition:border-color .15s;display:block}input:not([type=checkbox],[type=radio]):hover,select:hover,textarea:hover{border-color:var(--at-text-muted)}input:not([type=checkbox],[type=radio]):focus,select:focus,textarea:focus{border-color:var(--at-accent);outline:2px solid var(--at-accent);outline-offset:-1px}textarea{resize:vertical;min-height:6rem}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%231a1a1a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--at-spacing-md) center;padding-inline-end:var(--at-spacing-2xl)}[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23f2f2f2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}input[type=checkbox],input[type=radio]{width:1.125rem;height:1.125rem;accent-color:var(--at-accent);cursor:pointer;margin:0}fieldset{border:1px solid var(--at-divider);border-radius:var(--at-border-radius);padding:var(--at-spacing-md);margin:0 0 var(--at-spacing-md)}legend{padding-inline:var(--at-spacing-xs);color:var(--at-heading);font-weight:600}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--at-text-muted)}:focus-visible{outline:2px solid var(--at-accent);outline-offset:2px;box-shadow:0 0 0 4px var(--at-bg)}.lead{color:var(--at-text-secondary);font-size:1.25rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a.visually-hidden:focus-visible{top:var(--at-spacing-sm);left:var(--at-spacing-sm);z-index:101;width:auto;height:auto;padding:var(--at-spacing-xs) var(--at-spacing-md);clip-path:none;white-space:normal;background:var(--at-bg-elevated);color:var(--at-accent);border:1px solid var(--at-accent);border-radius:var(--at-border-radius);margin:0;position:fixed;overflow:visible}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@media print{.at-nav,.at-sidebar,.at-footer{display:none}body{display:block}body:after{display:none}.at-main{min-height:0;padding:0;display:block}}@property --at-nav-fade-start{syntax:"<length>";inherits:false;initial-value:0}@property --at-nav-fade-end{syntax:"<length>";inherits:false;initial-value:0}.at-main>astro-island,.at-footer>astro-island{grid-template-columns:subgrid;display:grid}@layer at.components{.at-nav{grid-column:full;grid-template-columns:subgrid;z-index:100;background:var(--at-bg);border-block-end:none;display:grid;position:sticky;top:0}.at-nav-inner{align-items:center;gap:0 var(--at-spacing-sm);padding-block:var(--at-spacing-xl);flex-wrap:wrap;grid-column:content;display:flex}.at-nav-brand{color:var(--at-text);white-space:nowrap;font-size:1.125rem;font-weight:600;text-decoration:none}.at-nav-logo{width:auto;height:2.5rem}.at-nav-logo--has-dark{display:block}.at-nav-logo--dark,[data-theme=dark] .at-nav-logo--has-dark{display:none}[data-theme=dark] .at-nav-logo--dark{display:block}.at-nav-logo-compact{display:none}@media (width<640px){.at-nav-brand:has(.at-nav-logo-compact) .at-nav-logo-full{display:none}.at-nav-logo-compact{display:block}}.at-nav-wordmark{letter-spacing:-.01em;color:var(--at-text);font-size:1.375rem;font-weight:600}.at-icon-button{border:1px solid var(--at-divider);border-radius:var(--at-border-radius);width:2.5rem;height:2.5rem;color:var(--at-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:border-color .15s;display:inline-flex}.at-icon-button:hover{border-color:var(--at-accent)}.at-theme-icon-sun{display:none}[data-theme=dark] .at-theme-icon-sun{display:block}[data-theme=dark] .at-theme-icon-moon{display:none}.at-nav-toggle{margin-inline-start:auto}.at-nav-icon-close,.at-nav-toggle[aria-expanded=true] .at-nav-icon-open{display:none}.at-nav-toggle[aria-expanded=true] .at-nav-icon-close{display:block}.at-nav-links-wrapper{order:3;grid-template-rows:0fr;width:100%;transition:grid-template-rows .3s;display:grid}.at-nav:has(.at-nav-toggle[aria-expanded=true]) .at-nav-links-wrapper{grid-template-rows:1fr}.at-nav-links{gap:var(--at-spacing-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden;& a{padding:var(--at-spacing-sm);border-radius:var(--at-border-radius);color:var(--at-text-secondary);font-size:var(--at-font-size-sm);text-decoration:none;transition:color .15s,background-color .15s;display:block}& a:hover{color:var(--at-text);background:var(--at-accent-soft)}& a[aria-current=page]{color:var(--at-accent)}}.at-nav:has(.at-nav-toggle[aria-expanded=true]) .at-nav-links{padding:var(--at-spacing-sm) 0}.at-nav-inner>.at-nav-brand+*{margin-inline-start:auto}@media (width>=640px){.at-nav-inner{gap:0 var(--at-spacing-lg)}.at-nav-brand{transform:translateX(calc(-1 * var(--at-content-inset) + var(--at-logo-offset-x,0px)))}.at-nav-toggle{display:none}.at-nav-links-wrapper{display:contents}.at-nav-links{gap:var(--at-spacing-sm);scrollbar-width:none;width:auto;mask-image:linear-gradient(to right, transparent 0, black var(--at-nav-fade-start), black calc(100% - var(--at-nav-fade-end)), transparent 100%);flex-direction:row;order:0;margin-inline-start:auto;padding:0;animation-name:at-nav-reveal-start,at-nav-reveal-end;animation-duration:0s,0s;animation-timing-function:linear,linear;animation-iteration-count:1,1;animation-direction:normal,normal;animation-play-state:running,running;animation-delay:0s,0s;animation-fill-mode:both,both;animation-timeline:scroll(self inline);animation-range:0 1rem,calc(100% - 1rem) 100%;display:flex;overflow-x:auto;& a{padding:var(--at-spacing-xs) var(--at-spacing-sm);white-space:nowrap}}}@keyframes at-nav-reveal-start{to{--at-nav-fade-start:1rem}}@keyframes at-nav-reveal-end{0%{--at-nav-fade-end:1rem}}.at-main{grid-column:inset-start/content-end;grid-template-columns:subgrid;padding-block:var(--at-spacing-xl);min-height:calc(100dvh - var(--at-nav-height));overflow-wrap:break-word;align-content:start;display:grid}.at-main>*{grid-column:content}.at-footer{grid-column:full;grid-template-columns:subgrid;border-block-start:1px solid var(--at-divider);display:grid}.at-footer>*{grid-column:content}.at-footer-inner{padding:var(--at-spacing-2xl) 0;font-size:var(--at-font-size-sm);color:var(--at-text-muted)}.at-footer-inner h2{font-size:var(--at-font-size-h3);margin-block-start:0}.at-footer-contact,.at-footer-jobs{margin-block-end:var(--at-spacing-2xl)}.at-footer-contact-details{gap:var(--at-spacing-xs) var(--at-spacing-md);grid-template-columns:auto 1fr;margin:0;display:grid}.at-footer-contact-details dt{color:var(--at-text-secondary);font-weight:600}.at-footer-contact-details dd{margin:0}.at-footer-socials{gap:var(--at-spacing-md);margin-block-end:var(--at-spacing-2xl);display:flex}.at-footer-socials a{color:var(--at-text-muted);transition:color .15s;display:inline-flex}.at-footer-socials a:hover{color:var(--at-accent)}.at-footer-socials svg{width:1.5rem;height:1.5rem}.at-footer-band{grid-column:full;grid-template-columns:subgrid;z-index:1;background:var(--at-black);padding-block:var(--at-spacing-xl);display:grid;position:relative}.at-footer-band-inner{justify-content:space-between;align-items:center;gap:var(--at-spacing-lg);flex-wrap:wrap;grid-column:content;display:flex}.at-footer-band-logo{width:auto;height:2.5rem}@media (width>=640px){.at-footer-band-logo{transform:translateX(calc(-1 * var(--at-content-inset) + var(--at-logo-offset-x,0px)))}}.at-footer-partners{align-items:center;gap:var(--at-spacing-xl);display:flex}.at-footer-partners img{width:auto;height:2rem}.at-footer-bottom{padding-block-start:var(--at-spacing-xl)}.at-footer-acknowledgement{margin-block-end:var(--at-spacing-xl)}.at-footer-acknowledgement h2{font-size:var(--at-font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--at-text-muted)}.at-footer-acknowledgement p{color:var(--at-text-secondary);text-wrap:pretty;line-height:1.7}.at-footer-legal{gap:var(--at-spacing-xs) var(--at-spacing-sm);flex-wrap:wrap;margin-block-end:var(--at-spacing-md);display:flex}.at-footer-legal span{color:var(--at-text-muted)}.at-footer-theme-toggle{all:unset;cursor:pointer;color:var(--at-text-muted);align-items:center;line-height:1;transition:color .15s;display:inline-flex}.at-footer-theme-toggle:hover{color:var(--at-accent)}.at-footer-theme-toggle svg{width:1em;height:1em}.at-footer-meta{margin-block-end:0}.at-footer-meta+.at-footer-meta{margin-block-start:var(--at-spacing-xs)}.at-callout{margin-block:var(--at-spacing-md);padding:var(--at-spacing-md);border-block-start:1px solid var(--at-accent);background:var(--at-accent-soft)}.at-callout>:first-child{margin-block-start:0}.at-callout>:last-child{margin-block-end:0}.at-callout__title{margin-block-end:var(--at-spacing-xs);font-weight:600}.at-callout--info{--at-accent:var(--at-info);--at-accent-soft:var(--at-info-soft)}.at-callout--tip{--at-accent:var(--at-success);--at-accent-soft:var(--at-success-soft)}.at-callout--warning{--at-accent:var(--at-warning);--at-accent-soft:var(--at-warning-soft)}.at-callout--error{--at-accent:var(--at-error);--at-accent-soft:var(--at-error-soft)}.at-callout--details{--at-accent:var(--at-divider);--at-accent-soft:transparent}.at-callout--details>summary{cursor:pointer;font-weight:600}.at-card{border:1px solid var(--at-divider);color:var(--at-text);grid-template-rows:auto auto;text-decoration:none;transition:background-color .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.at-card-grid>.at-card{grid-row:span 2;grid-template-rows:subgrid;row-gap:0}.at-card:not(:has(.at-card-image-frame))>.at-card-body{grid-row:1/-1}.at-card-image-frame{line-height:0;overflow:hidden}a.at-card:hover{background-color:var(--at-accent-soft);box-shadow:var(--at-shadow-sm)}.at-card-image{aspect-ratio:16/9;object-fit:cover;outline-offset:-1px;outline:1px solid #00000014;width:100%;transition:transform .3s}a.at-card:hover .at-card-image{transform:scale(1.03)}.at-card-body{padding:var(--at-spacing-md)}.at-card-title{margin-block:0 var(--at-spacing-xs);font-size:1.125rem}.at-card-body>:last-child{margin-block-end:0}.at-video-embed{margin-block:var(--at-spacing-md);border-radius:var(--at-border-radius);padding-block-end:56.25%;position:relative;overflow:hidden}.at-video-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.at-hero{grid-column:full;grid-template-columns:subgrid;min-height:20rem;display:grid;position:relative;overflow:hidden}.at-hero-image{object-fit:cover;outline-offset:-1px;outline:1px solid #00000014;width:100%;height:100%;position:absolute;inset:0}.at-hero-content{grid-template-columns:subgrid;background:linear-gradient(#00000026,#0009 50%,#000c);grid-column:full-start/full-end;align-content:end;min-height:100%;display:grid;position:relative}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(1rem)}}.at-hero-title{padding-block:var(--at-spacing-2xl);color:var(--at-white);letter-spacing:-.02em;text-wrap:balance;text-shadow:0 1px 2px #0000008c,0 2px 24px #00000073;grid-column:content;max-inline-size:20ch;margin:0;font-size:clamp(2rem,5vw,4.5rem);animation:.6s both hero-fade-up}.at-hero-title:after{content:"";background:var(--at-primary);border-radius:calc(var(--at-border-radius) / 3);width:4rem;height:4px;margin-block-start:var(--at-spacing-md);animation:.6s .2s both hero-fade-up;display:block}.at-pagination{justify-content:space-between;align-items:center;gap:var(--at-spacing-md);padding-block:var(--at-spacing-lg);border-block-start:1px solid var(--at-divider);margin-block-start:var(--at-spacing-xl);display:flex}.at-pagination-link{font-weight:600}.at-pagination-status{font-size:var(--at-font-size-sm);color:var(--at-text-muted)}.at-button{align-items:center;gap:var(--at-spacing-sm);padding:var(--at-spacing-sm) var(--at-spacing-lg);border:2px solid var(--at-accent);border-radius:var(--at-border-radius);background:var(--at-accent);color:var(--at-on-accent);font:inherit;font-size:var(--at-font-size-sm);font-weight:600;line-height:var(--at-line-height);cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.at-button:hover{background:var(--at-accent-hover);border-color:var(--at-accent-hover);color:var(--at-on-accent)}.at-button:active{background:var(--at-primary-active);border-color:var(--at-primary-active);transform:scale(.98)}.at-button--outline{color:var(--at-accent);background:0 0}.at-button--outline:hover{background:var(--at-accent-soft);color:var(--at-accent-hover)}.at-button--outline:active{background:var(--at-accent-soft);transform:scale(.98)}.at-button--ghost{color:var(--at-accent);background:0 0;border-color:#0000}.at-button--ghost:hover{background:var(--at-accent-soft);color:var(--at-accent-hover)}.at-button--ghost:active{background:var(--at-accent-soft);transform:scale(.98)}.at-button--small{padding:var(--at-spacing-xs) var(--at-spacing-md);font-size:var(--at-font-size-xs)}.at-button--large{padding:var(--at-spacing-md) var(--at-spacing-xl);font-size:var(--at-font-size-base)}.at-button:disabled,.at-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.at-card-grid{gap:var(--at-spacing-lg);margin-block:var(--at-spacing-xl);display:grid}.at-card-grid--2{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.at-card-grid--3{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}.at-card-filter{gap:var(--at-spacing-md);display:grid}.at-card-filter-bar{align-items:center;gap:var(--at-spacing-sm);padding:var(--at-spacing-sm) var(--at-spacing-md);background:var(--at-bg-elevated);border:1px solid var(--at-divider);border-radius:var(--at-border-radius);transition:border-color .15s;display:flex}.at-card-filter-bar:focus-within{border-color:var(--at-accent)}.at-card-filter-icon{color:var(--at-text-muted);flex-shrink:0}.at-card-filter-input{min-width:0;font:inherit;color:var(--at-text);background:0 0;border:none;outline:none;flex:1;padding:0}.at-card-filter-kbd{background:var(--at-bg);border:1px solid var(--at-divider);border-radius:calc(var(--at-border-radius) / 2);color:var(--at-text-muted);flex-shrink:0;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem}.at-card-filter-bar:focus-within .at-card-filter-kbd,.at-card-filter-bar:not(:has(.at-card-filter-input:placeholder-shown)) .at-card-filter-kbd{display:none}.at-card-filter-status{color:var(--at-text-muted);margin:0;font-size:.875rem}.at-card-filter-empty{padding:var(--at-spacing-lg);text-align:center;color:var(--at-text-muted);background:var(--at-bg-elevated);border:1px dashed var(--at-divider);border-radius:var(--at-border-radius);margin:0}.at-card-badges{gap:var(--at-spacing-xs);margin-block:0 var(--at-spacing-xs);flex-wrap:wrap;display:flex}.at-card-badge{font-size:var(--at-font-size-xs);color:var(--at-text-muted);border:1px solid var(--at-divider);border-radius:var(--at-border-radius);padding:.0625rem .5rem;line-height:1.4}.at-search-dialog{border-radius:calc(var(--at-border-radius) * 5 / 3);max-width:min(36rem, calc(100% - 2 * var(--at-spacing-lg)));background:0 0;border:none;width:100%;margin-block-start:10vh;padding:0;overflow:visible}.at-search-dialog::backdrop{background:#00000080}.at-search-panel{background:var(--at-bg-elevated);border:1px solid var(--at-divider);border-radius:calc(var(--at-border-radius) * 5 / 3);box-shadow:var(--at-shadow-lg);overflow:hidden}.at-search-header{align-items:center;gap:var(--at-spacing-sm);padding:var(--at-spacing-md);border-block-end:1px solid var(--at-divider);display:flex}.at-search-header svg{color:var(--at-text-muted);flex-shrink:0}.at-search-input{color:var(--at-text);font:inherit;font-size:var(--at-font-size-base);background:0 0;border:none;outline:none;flex:1;width:100%;padding:0}.at-search-input::placeholder{color:var(--at-text-muted)}.at-search-kbd{font-family:var(--at-font-mono);font-size:var(--at-font-size-xs);padding:var(--at-spacing-xs) var(--at-spacing-sm);border:1px solid var(--at-divider);border-radius:var(--at-border-radius);color:var(--at-text-muted);line-height:1}.at-search-results{padding:var(--at-spacing-xs);max-height:60vh;margin:0;list-style:none;overflow-y:auto}.at-search-result{padding:var(--at-spacing-sm) var(--at-spacing-md);border-radius:var(--at-border-radius);color:var(--at-text);text-decoration:none;transition:background-color .15s;display:block}.at-search-result:hover,.at-search-result--selected{background:var(--at-accent-soft)}.at-search-result-title{margin-block-end:var(--at-spacing-xs);font-weight:600;display:block}.at-search-result-excerpt{font-size:var(--at-font-size-sm);color:var(--at-text-secondary);display:block}.at-search-result-excerpt mark{background:var(--at-accent-soft);color:var(--at-accent);border-radius:calc(var(--at-border-radius) / 3);padding-inline:2px}.at-search-empty{padding:var(--at-spacing-lg);text-align:center;color:var(--at-text-muted);font-size:var(--at-font-size-sm);margin:0}@media (width<640px){.at-search-dialog{max-width:calc(100% - 2 * var(--at-spacing-md));margin-block-start:var(--at-spacing-lg)}}.at-heading-anchor{color:var(--at-text-muted);opacity:0;margin-inline-start:.5ch;font-weight:400;text-decoration:none;transition:opacity .15s}:is(h1,h2,h3,h4,h5,h6):hover>.at-heading-anchor,.at-heading-anchor:focus-visible{opacity:1}@media (hover:none){.at-heading-anchor{opacity:.5}}}:root{--course-green:#17664a;--course-green-deep:#0d3f30;--course-on-deep:#f3fbf6;--course-green-soft:#e8f2ed;--course-mint:#bce8d3;--course-panel:#f2f4ef;--course-ink:#14261f;--course-muted:#5e6b65;--course-gold-soft:#f5ead7;--course-line:color-mix(in srgb, var(--course-green) 18%, var(--at-divider));--course-shadow:0 1.25rem 3.5rem color-mix(in srgb, var(--course-green-deep) 13%, transparent);--course-sans:var(--font-public-sans), sans-serif;--course-mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--at-font-body:"Times New Roman", Times, serif;--at-content-width:76rem}[data-theme=dark]{--course-green:#7ed6ab;--course-green-deep:#0a392b;--course-green-soft:#17342a;--course-mint:#20533f;--course-panel:#17201b;--course-ink:#e6f4ec;--course-muted:#a4b5ad;--course-gold-soft:#332916;--course-line:color-mix(in srgb, var(--course-green) 25%, var(--at-divider));--course-shadow:0 1.25rem 3.5rem #0000004d}html{font-family:Times New Roman,Times,serif}body{background-image:radial-gradient(circle at 78% 10%, color-mix(in srgb, var(--course-green) 5%, transparent), transparent 27rem), linear-gradient(color-mix(in srgb, var(--at-divider) 24%, transparent) 1px, transparent 1px);background-size:auto,100% 7.5rem;background-attachment:fixed}h1,h2,h3,h4,nav,button,.eyebrow,.course-meta,.phase-label,.week-number,.week-links,.course-action,.at-footer,dt,.section-kicker{font-family:var(--course-sans)}h1{letter-spacing:-.06em;max-width:15ch;font-size:clamp(2.85rem,6vw,5.8rem);line-height:.98}h2{letter-spacing:-.035em;margin-top:3.2rem;font-size:clamp(1.55rem,2.7vw,2.15rem)}h3{letter-spacing:-.025em}p,li{text-wrap:pretty}a{text-underline-offset:.22em}pre{box-sizing:border-box;border-color:var(--course-line);max-width:100%;font-size:.88rem;overflow-x:auto}code{overflow-wrap:anywhere;font-family:var(--course-mono)}pre code{overflow-wrap:normal}table{border-collapse:separate;border-spacing:0;width:100%}thead{font-family:var(--course-sans);background:var(--course-green-deep);color:var(--course-on-deep)}th,td{border-bottom:1px solid var(--course-line);text-align:left;padding:.95rem 1rem}tbody tr{transition:background-color .18s}tbody tr:hover{background:var(--course-green-soft)}blockquote{border-inline-start:.3rem solid var(--course-green);color:var(--course-ink);padding:.4rem 0 .4rem 1.4rem;font-size:1.12rem}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--course-green);outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}.course-icon{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none}.tech-mark{color:var(--course-mint);font:700 .66rem var(--course-sans);align-items:center;gap:.38rem;margin-bottom:.25rem;display:flex}.tech-mark svg{fill:#42b883;width:1.25rem;height:1.1rem;overflow:visible}.tech-mark--vue .tech-mark-inner{fill:#d9eee4}.tech-mark--ts svg{fill:#3178c6;stroke:#e8f3ff;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.tech-mark--ts .tech-mark-inner{fill:none}.at-nav{background:color-mix(in srgb, var(--at-bg) 91%, transparent);border-bottom:1px solid color-mix(in srgb, var(--course-green) 12%, var(--at-divider));backdrop-filter:blur(16px)saturate(120%)}.at-nav-inner{padding-block:1.15rem}.at-nav-logo{height:2.75rem}.at-nav-links a{letter-spacing:-.01em;font-weight:560;position:relative}.at-nav-links a:after{content:"";background:var(--course-green);transform-origin:0;height:2px;transition:transform .2s;position:absolute;inset:auto .65rem -.2rem;transform:scaleX(0)}.at-nav-links a:hover:after,.at-nav-links a[aria-current=page]:after{transform:scaleX(1)}.at-nav-links a[aria-current=page]{color:var(--course-green);font-weight:650}.at-icon-button{border-radius:.3rem;transition:border-color .18s,transform .18s,background-color .18s}.at-icon-button:hover{background:var(--course-green-soft);border-color:var(--course-green);transform:translateY(-2px)}.at-main{padding-block:clamp(2rem,5vw,5rem) 6rem}.at-footer{background:color-mix(in srgb, var(--course-panel) 68%, transparent)}.course-page>h1{color:var(--course-ink);margin-block:0 1.25rem;padding-top:1.2rem;position:relative}.course-page>h1:before{content:"";background:linear-gradient(90deg, var(--at-primary) 0 54%, var(--course-green) 54%);width:4.5rem;height:.3rem;position:absolute;top:0;left:0}.course-page>.lead{max-width:54ch;margin-bottom:2.7rem;font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.55}.course-page>p,.course-page>ul,.course-page>ol,.course-page>blockquote,.course-page>pre{max-width:72ch}.course-page>.assessment-list,.course-page>.studio-grid{max-width:none}.course-page>table,.course-page>.studio-grid,.course-page>.assessment-list,.course-page>.curriculum-map{margin-top:2rem}.course-page>h2{border-inline-start:.18rem solid var(--course-green);max-width:28ch;color:var(--course-ink);padding-left:.8rem}.course-page>hr{border-color:var(--course-line);margin-block:3rem}.section-kicker{color:var(--course-green);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:.45rem;margin:0;font-size:.72rem;font-weight:700;display:flex}.course-meta{border:1px solid var(--course-line);background:color-mix(in srgb, var(--at-bg) 76%, transparent);color:var(--at-text-secondary);backdrop-filter:blur(10px);border-radius:.3rem;flex-wrap:wrap;gap:.45rem 1.75rem;padding:.8rem 1rem;font-size:.75rem;display:flex}.course-meta span{align-items:center;display:inline-flex}.course-meta span+span:before{content:"◆";color:var(--course-green);margin-right:1.75rem;font-size:.45rem}.eyebrow{color:var(--course-green);letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;font-weight:760}.course-intro{grid-template-columns:minmax(0,1.02fr) minmax(25rem,.98fr);align-items:center;gap:clamp(3rem,7vw,7rem);padding-block:clamp(4rem,8vw,7rem);display:grid}.course-intro h1{color:var(--course-ink);max-width:8ch;margin-block:.7rem 1.25rem;font-size:clamp(4.4rem,8vw,7.3rem);line-height:.84}.course-intro .lead{color:var(--at-text-secondary);max-width:30ch;margin-bottom:1.35rem;font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.45}.course-intro .lead+p{font-size:1.12rem;line-height:1.65}.course-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-block:2rem 0;display:flex}.course-action{border:1px solid var(--course-green);background:var(--course-green-deep);min-height:3.25rem;color:var(--course-on-deep);box-shadow:0 .75rem 2rem color-mix(in srgb, var(--course-green) 20%, transparent);border-radius:.25rem;justify-content:space-between;align-items:center;gap:1.4rem;padding:.82rem 1.2rem;font-size:.84rem;font-weight:680;text-decoration:none;transition:transform .18s,box-shadow .18s,background-color .18s;display:inline-flex}.course-action:hover{box-shadow:0 1rem 2.5rem color-mix(in srgb, var(--course-green) 28%, transparent);color:var(--course-on-deep);transform:translateY(-3px)}.course-action:active{transform:translateY(0)}.course-action.secondary{color:var(--course-ink);border-color:var(--course-line);box-shadow:none;background:0 0}.course-action.secondary:hover{background:var(--course-green-soft);border-color:var(--course-green)}.architecture{border:1px solid color-mix(in srgb, var(--course-mint) 32%, transparent);background:radial-gradient(circle at 92% 7%, #7ed6ab2e, transparent 12rem), var(--course-green-deep);color:#edf8f1;font-family:var(--course-sans);box-shadow:var(--course-shadow);border-radius:.35rem;margin:0;padding:1.4rem 1.8rem 1.8rem;position:relative;overflow:hidden}.architecture:before{content:"<state>";color:#ffffff0d;font:700 5rem var(--course-mono);position:absolute;top:-.8rem;right:-1rem}.architecture figcaption{color:var(--course-mint);text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.4rem;font-size:.68rem;position:relative}.architecture .boundary{border-top:1px solid #ffffff38;grid-template-columns:1fr 8rem;align-items:center;gap:1rem;padding:1.25rem 0;display:grid;position:relative}.architecture .boundary:last-of-type{border-bottom:1px solid #ffffff38}.architecture .boundary strong{font-size:1.08rem}.architecture .boundary small{color:#ffffffc2;font-size:.7rem;line-height:1.55}.architecture .flow-arrow{z-index:2;background:var(--course-green-deep);width:1.75rem;height:1.75rem;color:var(--at-primary);text-align:center;border:1px solid #ffffff3d;border-radius:50%;margin:-.9rem auto;line-height:1.6rem;display:block;position:relative}.architecture .diagram-note{color:#fffc;margin:1.45rem 0 0;font-size:.77rem;line-height:1.6}.phase-list{counter-reset:phase;grid-template-columns:1.25fr .75fr 1fr;gap:1rem;margin:1.8rem 0 0;padding:0;list-style:none;display:grid}.phase-list>li{border:1px solid var(--course-line);background:color-mix(in srgb, var(--course-panel) 78%, var(--at-bg));border-radius:.3rem;flex-direction:column;align-items:flex-start;min-height:19rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.phase-list>li:nth-child(2){background:var(--course-gold-soft);min-height:16.5rem;margin-top:2.5rem}.phase-list>li:nth-child(3){background:var(--course-green-deep);color:var(--course-on-deep)}.phase-list>li:after{counter-increment:phase;content:"0" counter(phase);color:color-mix(in srgb, var(--course-green) 12%, transparent);font:700 6.5rem var(--course-mono);line-height:1;position:absolute;bottom:-.45rem;right:.8rem}.phase-list>li:nth-child(3):after{color:#ffffff14}.phase-list h3{margin:2.1rem 0 .45rem;font-size:1.25rem}.phase-list p{z-index:1;margin:.2rem 0;position:relative}.phase-list>li>p{max-width:35ch;margin-top:auto;font-size:.95rem;line-height:1.55}.phase-list>li:nth-child(3) h3,.phase-list>li:nth-child(3) p{color:inherit}.phase-label{color:var(--course-green);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:760}.phase-list>li:nth-child(3) .phase-label{color:var(--course-mint)}.course-intro+section{padding-block:1rem 4rem}.course-intro+section h2{margin-top:.5rem}.course-intro+section+section{background:var(--course-green-soft);border-radius:.35rem;margin-top:2rem;padding:clamp(2rem,5vw,4rem)}.course-intro+section+section h2{margin-top:0}.curriculum-map{gap:2rem;display:grid}.curriculum-phase{border:1px solid var(--course-line);background:color-mix(in srgb, var(--at-bg) 88%, transparent);box-shadow:0 1rem 2.5rem color-mix(in srgb, var(--course-green-deep) 6%, transparent);border-radius:.35rem}.phase-heading{border-bottom:1px solid var(--course-line);background:var(--course-green-soft);grid-template-columns:3.25rem 1fr;align-items:center;gap:1rem;margin:0;padding:1.3rem 1.5rem;display:grid}.phase-icon{background:var(--course-green-deep);width:3.15rem;height:3.15rem;color:var(--course-on-deep);border-radius:.25rem;place-items:center;display:grid}.phase-heading p{color:var(--course-green);font:700 .67rem var(--course-sans);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .15rem}.phase-heading h2{color:var(--course-ink);margin:0;font-size:1.35rem}.phase-heading span:last-child{color:var(--course-muted);font-size:.9rem}.week-map{margin:0;padding:0;list-style:none}.week-row{border-bottom:1px solid var(--course-line);grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center;gap:1.3rem;padding:1.35rem 1.5rem;transition:background-color .18s,transform .18s;display:grid}.week-row:last-child{border-bottom:0}.week-row:hover{z-index:1;background:color-mix(in srgb, var(--course-green-soft) 68%, var(--at-bg));position:relative;transform:translate(.25rem)}.week-number{color:var(--at-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:.18rem;font-size:1.65rem;font-weight:680;display:flex}.week-number small{color:var(--course-muted);font:700 .58rem var(--course-mono);letter-spacing:.08em}.week-date{color:var(--course-muted);font:650 .66rem var(--course-sans);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .25rem}.week-copy h3{margin:0;font-size:1.22rem}.week-copy h3 a{color:var(--course-ink);text-decoration:none}.week-copy h3 a:hover{color:var(--course-green)}.week-question{margin:.35rem 0;font-size:1rem}.week-build{color:var(--course-muted);gap:.55rem;margin:.35rem 0 0;font-size:.82rem;display:flex}.week-build span{color:var(--course-green);font:700 .62rem var(--course-mono);letter-spacing:.06em;text-transform:uppercase}.week-links{align-items:center;gap:.55rem;font-size:.74rem;display:flex}.week-links a{border:1px solid var(--course-line);min-height:2.4rem;color:var(--course-ink);border-radius:.2rem;align-items:center;gap:.35rem;padding:.55rem .7rem;text-decoration:none;transition:border-color .18s,background-color .18s,transform .18s;display:inline-flex}.week-links a:hover{border-color:var(--course-green);background:var(--course-green-soft);transform:translateY(-2px)}.course-detail>h1{max-width:17ch}.course-detail>.lead{max-width:61ch}.week-signal{border:1px solid var(--course-line);background:color-mix(in srgb, var(--course-panel) 72%, var(--at-bg));border-radius:.35rem;grid-template-columns:6rem 1fr auto;align-items:center;gap:1.2rem 1.5rem;margin:.7rem 0 1.6rem;padding:1.2rem 1.4rem;display:grid}.week-signal-number{font-family:var(--course-sans);grid-template-columns:auto auto;align-items:end;column-gap:.3rem;display:grid}.week-signal-number span,.week-signal-number small{color:var(--course-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;font-weight:650}.week-signal-number strong{color:var(--at-primary);font:680 2.6rem/1 var(--course-sans);grid-area:1/2/3}.week-signal-track{grid-template-columns:repeat(12,1fr);gap:.3rem;display:grid}.week-signal-track i{background:var(--at-divider);border-radius:1rem;height:.3rem}.week-signal-track i.passed{background:var(--course-green)}.week-signal-track i.current{background:var(--at-primary);transform:scaleY(2)}.week-signal-meta{color:var(--course-muted);font:650 .72rem var(--course-sans);flex-wrap:wrap;grid-column:2;gap:.6rem 1.2rem;display:flex}.week-signal-meta span{align-items:center;gap:.35rem;display:inline-flex}.signal-link{background:var(--course-green-deep);min-height:2.8rem;color:var(--course-on-deep);font:680 .76rem var(--course-sans);border-radius:.25rem;grid-area:1/3/3;align-items:center;gap:.5rem;padding:.65rem .85rem;text-decoration:none;transition:transform .18s;display:inline-flex}.signal-link:hover{color:var(--course-on-deep);transform:translate(.2rem)}.flow-strip{font-family:var(--course-sans);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 2.5rem;padding:1rem 0;font-size:.82rem;display:flex}.flow-strip:before{content:"Ownership path";width:100%;color:var(--course-green);font:700 .65rem var(--course-mono);letter-spacing:.09em;text-transform:uppercase}.flow-strip span{border:1px solid var(--course-line);background:var(--at-bg);border-radius:.2rem;padding:.62rem .85rem}.flow-strip b{color:var(--course-green)}.course-prose{max-width:72ch}.course-prose h2{border-top:1px solid var(--course-line);border-inline-start:.18rem solid var(--course-green);color:var(--course-ink);margin-top:3.5rem;padding:1.1rem 0 0 .8rem;position:relative}.course-prose h3{color:var(--course-green)}.course-prose li{margin-bottom:.45rem}.course-prose pre{box-shadow:inset .28rem 0 0 var(--course-green)}.week-nav{border-top:1px solid var(--course-line);font:650 .78rem var(--course-sans);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3.5rem;padding-top:1.5rem;display:grid}.week-nav a{border:1px solid var(--course-line);min-height:4rem;color:var(--course-ink);border-radius:.25rem;align-items:center;padding:.8rem 1rem;text-decoration:none;transition:background-color .18s,border-color .18s,transform .18s;display:flex}.week-nav a:last-child{text-align:right;justify-content:flex-end}.week-nav a:hover{background:var(--course-green-soft);border-color:var(--course-green);transform:translateY(-2px)}.teaching-team{border:1px solid color-mix(in srgb, var(--at-primary) 42%, var(--course-line));border-inline-start:.3rem solid var(--at-primary);background:var(--course-gold-soft);border-radius:.25rem;margin-top:3rem;padding:1.35rem 1.5rem}.teaching-team__heading{color:var(--at-primary);align-items:center;gap:.75rem;display:flex}.teaching-team__heading .course-icon{flex:none}.teaching-team__heading p{color:var(--course-muted);font:700 .62rem var(--course-mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .15rem}.teaching-team__heading h2{color:var(--course-ink);margin:0;font-size:1.15rem}.teaching-team__list{flex-wrap:wrap;gap:.55rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.teaching-team__person{border:1px solid color-mix(in srgb, var(--at-primary) 20%, var(--course-line));background:color-mix(in srgb, var(--at-bg) 65%, var(--course-gold-soft));border-radius:.2rem;flex-wrap:wrap;align-items:baseline;gap:.45rem .7rem;padding:.68rem .8rem;display:inline-flex}.teaching-team__person a{color:var(--course-ink);font:680 .82rem var(--course-sans);text-decoration:none}.teaching-team__person a:hover{color:var(--course-green);text-underline-offset:.2em;text-decoration:underline}.teaching-team__person span{color:var(--course-muted);font-size:.78rem}.profile-link{font:680 .82rem var(--course-sans);align-items:center;gap:.35rem;display:inline-flex}.profile-link span{color:var(--course-green);font-size:1rem;line-height:1}.assessment-list{grid-template-columns:1.08fr .92fr;gap:1rem;padding:0;list-style:none;display:grid}.assessment-row{border:1px solid var(--course-line);background:color-mix(in srgb, var(--course-panel) 72%, var(--at-bg));border-radius:.35rem;flex-direction:column;min-height:25rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.assessment-row:first-child{background:var(--course-green-deep);min-height:34rem;color:var(--course-on-deep);grid-row:span 2}.assessment-row:first-child:after{content:"<app>";color:#ffffff0d;font:700 7rem var(--course-mono);position:absolute;bottom:1rem;right:-1rem}.assessment-row:last-child{background:var(--course-gold-soft)}.assessment-row header{font-family:var(--course-sans);justify-content:space-between;align-items:start;gap:1rem;display:flex}.assessment-index{color:var(--course-green);font:700 .65rem var(--course-mono);letter-spacing:.1em;text-transform:uppercase}.assessment-row:first-child .assessment-index{color:var(--course-mint)}.assessment-row .weight{color:var(--at-primary);font-variant-numeric:tabular-nums;font-size:2.4rem;line-height:.8}.assessment-copy{margin-block:auto}.assessment-row:first-child .assessment-copy{margin:4.5rem 0 1.5rem}.assessment-phase{color:var(--course-green);font:700 .68rem var(--course-sans);letter-spacing:.1em;text-transform:uppercase}.assessment-row:first-child .assessment-phase{color:var(--course-mint)}.assessment-row h2{margin:.4rem 0 .8rem;font-size:clamp(1.4rem,2.3vw,2.2rem)}.assessment-row h2 a{color:var(--course-ink);text-decoration:none}.assessment-row:first-child h2 a,.assessment-row:first-child p{color:inherit}.assessment-row h2 a:hover{text-decoration:underline}.assessment-row dl{border-top:1px solid var(--course-line);grid-template-columns:1fr 1fr;gap:.7rem;margin:1.3rem 0;padding-top:1rem;display:grid}.assessment-row:first-child dl{border-color:#ffffff3d}.assessment-row dt{color:var(--course-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;font-weight:700}.assessment-row:first-child dt{color:var(--course-mint)}.assessment-row dd{margin:.2rem 0 0;font-size:.82rem}.assessment-open{color:inherit;font:680 .76rem var(--course-sans);justify-content:space-between;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.assessment-open:hover{color:var(--course-green)}.assessment-row:first-child .assessment-open:hover{color:var(--course-mint)}.assessment-total{border-inline-start:.3rem solid var(--course-green);background:var(--course-green-soft);font-family:var(--course-sans);grid-template-columns:1fr auto;align-items:center;gap:.2rem 2rem;margin-top:1.2rem;padding:1rem 1.4rem;display:grid}.assessment-total span{color:var(--course-green);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:700}.assessment-total strong{color:var(--course-green);grid-area:1/2/3;font-size:2.4rem}.assessment-total p{margin:0;font:.85rem Times New Roman,Times,serif}.assessment-signal{background:var(--course-green-deep);color:var(--course-on-deep);box-shadow:var(--course-shadow);border-radius:.35rem;grid-template-columns:9rem 1fr auto;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.35rem 1.5rem;display:grid}.assessment-weight{font-family:var(--course-sans)}.assessment-weight span{color:var(--course-mint);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:700;display:block}.assessment-weight strong{color:var(--at-primary);font-size:2.6rem;line-height:1}.assessment-signal dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;display:grid}.assessment-signal dt{color:var(--course-mint);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.assessment-signal dd{margin:.2rem 0 0;font-size:.87rem}.assessment-signal>.course-icon{color:var(--course-mint)}.toolkit{border-top:1px solid var(--course-line);margin:2.5rem 0 0;padding-top:1.2rem}.toolkit h2{margin:.5rem 0 1rem}.toolkit ul{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.toolkit li{border:1px solid var(--course-line);background:var(--at-bg);font:650 .75rem var(--course-sans);border-radius:.2rem;padding:.52rem .72rem}.readiness{border:1px solid var(--course-line);background:var(--course-green-soft);border-radius:.35rem;margin:2rem 0 3rem;padding:1.4rem}.readiness header{color:var(--course-green);align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.readiness header p{font:700 .61rem var(--course-sans);letter-spacing:.1em;text-transform:uppercase;margin:0}.readiness h2{color:var(--course-ink);margin:.15rem 0 0;font-size:1.15rem}.readiness ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:0;list-style:none;display:grid}.readiness li{background:color-mix(in srgb, var(--at-bg) 76%, transparent);grid-template-columns:4.2rem 1fr;gap:.6rem;padding:.65rem;display:grid}.readiness li>span{color:var(--course-green);font:700 .63rem var(--course-mono);text-transform:uppercase}.readiness li a{font:650 .8rem var(--course-sans)}.readiness li small{color:var(--course-muted);font:.66rem var(--course-sans);margin-top:.2rem;display:block}.readiness>p{margin:1rem 0 0;font-size:.88rem}.studio-grid{background:var(--course-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:1px;list-style:none;display:grid;overflow:hidden}.studio-grid li{background:var(--at-bg);min-width:0}.studio-grid a{height:100%;min-height:19rem;color:var(--course-ink);flex-direction:column;padding:1.25rem;text-decoration:none;transition:background-color .18s;display:flex}.studio-grid a:hover{background:var(--course-green-soft)}.studio-week{color:var(--at-primary);font:700 1.35rem var(--course-mono)}.studio-date{color:var(--course-muted);font:650 .62rem var(--course-sans);letter-spacing:.07em;text-transform:uppercase;margin-top:.25rem}.studio-grid h2{margin:2rem 0 .7rem;font-size:1.22rem}.studio-grid p{font-size:.9rem;line-height:1.55}.studio-open{color:var(--course-green);font:700 .72rem var(--course-sans);justify-content:space-between;align-items:center;margin-top:auto;display:inline-flex}.at-card-grid{gap:1rem}.at-card{border-color:var(--course-line);box-shadow:none;border-radius:.35rem;transition:border-color .18s,transform .18s,box-shadow .18s}.at-card:hover{border-color:var(--course-green);box-shadow:var(--course-shadow);transform:translateY(-4px)}.at-card-title{color:var(--course-ink)}@media (width<900px){.course-intro{grid-template-columns:1fr;gap:2.2rem}.course-intro>div{max-width:44rem}.architecture{max-width:42rem}.phase-list{grid-template-columns:1fr 1fr}.phase-list>li:nth-child(2){margin-top:0}.phase-list>li:nth-child(3){grid-column:1/-1;min-height:15rem}.studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<700px){body{background-size:auto,100% 6rem}.at-nav-inner{padding-block:.85rem}.at-main{padding-block:2.6rem 4rem}h1{font-size:clamp(2.65rem,13vw,3.7rem)}h2{margin-top:2.5rem}.course-page>.lead{margin-bottom:2rem;font-size:1.15rem}.course-meta{gap:.4rem .8rem;padding:.7rem .8rem}.course-meta span+span:before{display:none}.course-intro{gap:1.4rem;padding-block:3.4rem 3rem}.course-intro h1{font-size:clamp(4rem,19vw,5.5rem)}.architecture{padding:1.2rem}.architecture .boundary{grid-template-columns:1fr 6.3rem;padding:1rem 0}.architecture figcaption{margin-bottom:1rem}.phase-list{grid-template-columns:1fr}.phase-list>li,.phase-list>li:nth-child(2),.phase-list>li:nth-child(3){grid-column:auto;min-height:14rem}.course-intro+section+section{padding:1.4rem}.course-actions{gap:.6rem}.course-action{width:100%}.week-row{grid-template-columns:3rem 1fr;gap:.7rem;padding:1.1rem .9rem}.week-number{align-self:start;font-size:1.25rem}.week-links{flex-wrap:wrap;grid-column:2}.week-build{display:block}.week-build span{margin-bottom:.2rem;display:block}.phase-heading{grid-template-columns:2.7rem 1fr;padding:1rem}.phase-icon{width:2.65rem;height:2.65rem}.assessment-list{grid-template-columns:1fr}.assessment-row,.assessment-row:first-child{grid-row:auto;min-height:24rem}.assessment-signal{grid-template-columns:1fr auto;gap:1rem}.assessment-signal dl{grid-area:2/1/auto/-1;grid-template-columns:1fr}.assessment-signal>.course-icon{grid-area:1/2}.readiness ol{grid-template-columns:1fr}.week-signal{grid-template-columns:5.5rem 1fr;padding:1rem}.week-signal-track{grid-column:2}.week-signal-meta{grid-column:1/-1}.signal-link{grid-area:auto/1/auto/-1;justify-content:space-between}.flow-strip{flex-direction:column;align-items:stretch}.flow-strip b{align-self:center;transform:rotate(90deg)}.week-nav{grid-template-columns:1fr}.week-nav a:last-child{text-align:left;justify-content:flex-start}.studio-grid{grid-template-columns:1fr}.studio-grid a{min-height:15rem}table{max-width:100%;display:block;overflow-x:auto}}@media (prefers-reduced-motion:no-preference){.course-intro>div,.architecture{animation:.52s cubic-bezier(.2,.75,.25,1) both course-arrive}.architecture{animation-delay:90ms}@keyframes course-arrive{0%{opacity:.01;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}@media print{body{background:#fff}.course-action,.week-links,.signal-link{box-shadow:none}}
