@import "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800&family=Fraunces:ital,wght@1,500;1,600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans:"Nunito Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-editorial:Fraunces, ui-serif, Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px;--space-12:96px;--radius-button:12px;--radius-card:16px;--radius-card-lg:20px;--radius-pill:999px;--container-max:1180px;--reading-column:720px;--rail-width:280px;--header-height:72px;--header-height-mobile:64px;--gutter-desktop:32px;--gutter-tablet:24px;--gutter-mobile:20px;--touch-target:44px;--bp-tablet:768px;--bp-desktop:1100px;--duration-quick:.16s;--duration-standard:.24s;--duration-theme:.2s;--duration-spring:.36s;--duration-entrance:.65s;--duration-ambient:9s;--ease-out-crisp:cubic-bezier(.2, 0, 0, 1);--ease-out-gentle:cubic-bezier(.25, .1, .25, 1);--ease-spring:cubic-bezier(.34, 1.3, .64, 1);--ease-decelerate:cubic-bezier(0, 0, .2, 1)}:root,[data-theme=dark]{color-scheme:dark;--surface-page:#101827;--surface-panel:#192337;--surface-raised:#223149;--text-primary:#f7f8fb;--text-secondary:#adb8c9;--border:#344257;--coral-accent:#f47753;--coral-fill:#f47753;--on-coral:#101827;--cool-complement:#81c7d4}[data-theme=light]{color-scheme:light;--surface-page:#fff9f4;--surface-panel:#fff;--surface-raised:#f7eee8;--text-primary:#20242c;--text-secondary:#58606d;--border:#d8dde4;--coral-accent:#a94024;--coral-fill:#f47753;--on-coral:#101827;--cool-complement:#206a78}body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);transition:background-color var(--duration-theme) var(--ease-out-gentle), color var(--duration-theme) var(--ease-out-gentle);margin:0;font-size:16px;line-height:1.5}.cs-row{gap:var(--space-2);padding:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.cs-grid{gap:var(--space-3);padding:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.cs-muted{color:var(--text-secondary);margin:0}.cs-ico{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--coral-accent);outline-offset:2px}.cs-btn{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-button);font:600 16px/1.5 var(--font-sans);cursor:pointer;transition:transform var(--duration-quick) var(--ease-out-crisp), background-color var(--duration-quick) var(--ease-out-crisp), border-color var(--duration-quick) var(--ease-out-crisp);border:2px solid #0000;text-decoration:none;display:inline-flex}.cs-btn-primary{background:var(--coral-fill);color:var(--on-coral)}.cs-btn-secondary{color:var(--text-primary);border-color:var(--text-secondary);background:0 0}.cs-btn-secondary:hover{border-color:var(--coral-accent);background:var(--surface-raised)}.cs-btn-ghost{color:var(--coral-accent);padding:0 var(--space-2);background:0 0}.cs-btn-ghost:hover{background:var(--surface-raised)}.cs-btn:hover{transform:translateY(-2px)}.cs-btn:active{transform:translateY(0)scale(.98)}.cs-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cs-btn:hover .cs-arrow,.cs-link:hover .cs-arrow,a:hover>.cs-link .cs-arrow{transform:translate(4px)}.cs-arrow{transition:transform var(--duration-standard) var(--ease-out-gentle);width:18px;height:18px}.cs-chip{min-height:var(--touch-target);padding:0 var(--space-2);border-radius:var(--radius-pill);border:1.5px solid var(--text-secondary);color:var(--text-primary);font:600 14px/1.45 var(--font-sans);cursor:pointer;transition:background-color var(--duration-standard) var(--ease-out-gentle), border-color var(--duration-standard) var(--ease-out-gentle);background:0 0}.cs-chip:hover{background:var(--surface-raised)}.cs-chip.is-selected{background:var(--surface-raised);border-color:var(--coral-accent);color:var(--coral-accent)}.cs-theme{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-button);border:1.5px solid var(--text-secondary);color:var(--text-primary);cursor:pointer;background:0 0;place-items:center;display:inline-grid}.cs-theme:hover{background:var(--surface-raised);color:var(--coral-accent)}.cs-header{align-items:center;gap:var(--space-4);height:var(--header-height);padding:0 var(--gutter-desktop);background:var(--surface-page);border-bottom:1px solid var(--border);display:flex}.cs-wordmark{min-height:var(--touch-target);font:800 20px/1 var(--font-sans);color:var(--text-primary);letter-spacing:-.01em;align-items:center;text-decoration:none;display:inline-flex}.cs-nav{gap:var(--space-3);flex:1;display:flex}.cs-nav-link{min-height:var(--touch-target);color:var(--text-secondary);font:600 16px/1.5 var(--font-sans);padding:var(--space-1) 0;align-items:center;text-decoration:none;display:inline-flex;position:relative}.cs-nav-link:hover,.cs-nav-link[aria-current=page]{color:var(--text-primary)}.cs-nav-link[aria-current=page]:after{content:"";background:var(--coral-accent);border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.cs-header-end{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.cs-menu{display:none;position:relative}.cs-menu summary{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-button);border:1.5px solid var(--text-secondary);cursor:pointer;place-items:center;list-style:none;display:grid}.cs-menu summary::-webkit-details-marker{display:none}.cs-menu-panel{right:0;top:calc(100% + var(--space-1));min-width:200px;padding:var(--space-1) var(--space-2);background:var(--surface-panel);border:1px solid var(--border);border-radius:var(--radius-button);z-index:10;display:grid;position:absolute}.cs-menu-panel .cs-nav-link{padding:10px 0}@media (width<=767px){.cs-header{height:var(--header-height-mobile);padding:0 var(--gutter-mobile)}.cs-nav,.cs-contact{display:none}.cs-menu{display:block}}.cs-footer{align-items:center;gap:var(--space-4);padding:var(--space-6) var(--gutter-desktop);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.cs-footer-main{gap:var(--space-1);margin-right:auto;display:grid}.cs-footer-links{gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.cs-footer-links a{color:var(--text-secondary);font:600 14px/1.45 var(--font-sans);min-height:var(--touch-target);align-items:center;text-decoration:none;display:inline-flex}.cs-footer-links a:hover{color:var(--coral-accent);text-underline-offset:4px;text-decoration:underline}.cs-hero{align-items:end;gap:var(--space-4);min-height:440px;padding:var(--space-8) var(--gutter-desktop) 0;background:var(--surface-page) center / cover no-repeat;color:var(--text-primary);grid-template-columns:1.1fr .9fr;display:grid;position:relative;overflow:hidden}.cs-hero-copy{z-index:2;max-width:600px;padding-bottom:var(--space-8);align-self:center;position:relative}.cs-eyebrow{margin:0 0 var(--space-2);font:500 13px/1.45 var(--font-mono);letter-spacing:.02em;color:var(--cool-complement)}.cs-hero-title{font:800 68px/1.05 var(--font-sans);letter-spacing:-.02em;text-wrap:balance;margin:0}.cs-accent-word{font-family:var(--font-editorial);color:var(--coral-accent);font-style:italic;font-weight:600}.cs-hero-lede{margin:var(--space-3) 0 0;font:400 19px/1.65 var(--font-sans);color:var(--text-secondary);max-width:34em}.cs-hero-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.cs-cue{width:72px;height:3px;margin-top:var(--space-3);background:var(--coral-accent);transform-origin:0;animation:cs-draw var(--duration-entrance) var(--ease-decelerate) .3s both;border-radius:3px;display:block}.cs-hero-art{justify-content:center;align-self:end;min-height:380px;display:flex;position:relative}.cs-hero-light{background:var(--coral-fill);opacity:.18;filter:blur(60px);animation:cs-warm .18s var(--ease-decelerate) 80ms both;border-radius:50%;position:absolute;inset:10% 5% 0}.cs-hero-avatar{width:auto;max-height:420px;animation:cs-settle .34s var(--ease-spring) .18s both;position:relative}.cs-hero-prop{width:120px;position:absolute;bottom:16px;left:-8%}@keyframes cs-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cs-warm{0%{opacity:0}}@keyframes cs-settle{0%{opacity:0;transform:translateY(12px)}}@media (width<=767px){.cs-hero{padding:var(--space-6) var(--gutter-mobile) 0;grid-template-columns:1fr}.cs-hero-copy{padding-bottom:0}.cs-hero-title{font-size:44px}.cs-hero-lede{font-size:17px}.cs-hero-prop{display:none}}.cs-card{gap:var(--space-1);padding:var(--space-3);background:var(--surface-panel);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--text-primary);transition:transform var(--duration-standard) var(--ease-out-gentle), background-color var(--duration-standard) var(--ease-out-gentle);flex-direction:column;text-decoration:none;display:flex;position:relative}.cs-card p{margin:0}.cs-card-title{margin:var(--space-1) 0 0;font:700 24px/1.3 var(--font-sans)}.cs-meta{font:600 14px/1.45 var(--font-sans);color:var(--text-secondary)}.cs-tag{font:500 13px/1.45 var(--font-mono);letter-spacing:.02em;color:var(--cool-complement);display:inline-block}.cs-link{min-height:var(--touch-target);color:var(--coral-accent);font:700 16px/1.5 var(--font-sans);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.cs-actions{gap:var(--space-3);flex-wrap:wrap;margin-top:auto;display:flex}a.cs-card:hover,a.cs-card:focus-visible,.cs-project:hover,.cs-project:focus-within,.cs-talk:hover,.cs-talk:focus-within{transform:translateY(-4px)}.cs-media{border-radius:var(--radius-card-lg);padding:0;overflow:hidden}.cs-media-thumb{aspect-ratio:16/9;background:var(--surface-raised);position:relative}.cs-media-thumb img{object-fit:cover;width:100%;height:100%;display:block}.cs-play{left:var(--space-3);bottom:var(--space-3);background:var(--coral-fill);width:56px;height:56px;box-shadow:0 0 0 0 var(--coral-fill);transition:box-shadow var(--duration-standard) var(--ease-out-gentle);border-radius:50%;place-items:center;display:grid;position:absolute}.cs-play svg{width:24px;height:24px;fill:var(--on-coral);margin-left:3px}.cs-media:hover .cs-play,.cs-media:focus-visible .cs-play{box-shadow:0 0 0 6px var(--surface-page), 0 0 0 8px var(--coral-accent)}.cs-media-body{gap:var(--space-1);padding:var(--space-3);display:grid}.cs-media-prop{right:var(--space-2);bottom:var(--space-2);width:88px;transition:transform var(--duration-standard) var(--ease-out-gentle);position:absolute}.cs-media:hover .cs-media-prop{transform:rotate(-4deg)}.cs-talk-head{justify-content:space-between;align-items:center;display:flex}.cs-wave{align-items:end;gap:3px;height:16px;display:inline-flex}.cs-wave i{background:var(--coral-accent);width:3px;height:6px;transition:height var(--duration-standard) var(--ease-spring);border-radius:2px}.cs-wave i:nth-child(2){height:10px}.cs-talk:hover .cs-wave i:first-child,.cs-talk:focus-within .cs-wave i:first-child{height:12px}.cs-talk:hover .cs-wave i:nth-child(2),.cs-talk:focus-within .cs-wave i:nth-child(2){height:16px}.cs-talk:hover .cs-wave i:nth-child(3),.cs-talk:focus-within .cs-wave i:nth-child(3){height:8px}.cs-talk .cs-link{position:relative}.cs-talk .cs-link:after{content:"";background:var(--coral-accent);width:24px;height:2px;transition:width var(--duration-standard) var(--ease-out-gentle);border-radius:2px;position:absolute;bottom:8px;left:0}.cs-talk .cs-link:hover:after,.cs-talk .cs-link:focus-visible:after{width:32px}.cs-chapter{font:500 13px/1.45 var(--font-mono);color:var(--cool-complement);letter-spacing:.06em}.cs-lessons{margin:var(--space-2) 0 0;border-top:1px solid var(--border);padding:0;list-style:none;display:grid}.cs-lessons a{align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-1) 0;border-bottom:1px solid var(--border);color:var(--text-primary);font:600 16px/1.5 var(--font-sans);text-decoration:none;display:flex}.cs-lessons a>span:not(.cs-tag){flex:1}.cs-lessons a:hover{color:var(--coral-accent)}.cs-lessons a:hover .cs-arrow{transform:translate(4px)}.cs-project-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.cs-role{font:600 14px/1.45 var(--font-sans);color:var(--text-secondary);border:1.5px solid var(--text-secondary);border-radius:var(--radius-pill);padding:2px 10px}.cs-stack{font:500 13px/1.45 var(--font-mono);color:var(--cool-complement)}.cs-article:hover,.cs-article:focus-visible{background:var(--surface-raised)}.cs-underline{background:linear-gradient(var(--coral-accent), var(--coral-accent)) 0 100% / 0 2px no-repeat;transition:background-size var(--duration-standard) var(--ease-out-gentle)}.cs-article:hover .cs-underline,.cs-article:focus-visible .cs-underline{background-size:100% 2px}@media (width<=767px){.cs-card-title{font-size:21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-property:color,background-color,border-color,box-shadow,outline-color!important;animation:none!important}.cs-btn:hover,a.cs-card:hover,a.cs-card:focus-visible,.cs-project:hover,.cs-project:focus-within,.cs-talk:hover,.cs-talk:focus-within,.cs-media:hover .cs-media-prop{transform:none}.cs-arrow{transform:none!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}img{max-width:100%;height:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.skip-link{left:var(--space-2);z-index:20;padding:var(--space-1) var(--space-2);background:var(--coral-fill);color:var(--on-coral);border-radius:var(--radius-button);font-weight:700;position:absolute;top:-100px}.skip-link:focus{top:var(--space-2)}.container{width:100%;max-width:calc(var(--container-max) + 2 * var(--gutter-desktop));padding:0 var(--gutter-desktop);margin:0 auto}.section{padding:var(--space-12) 0 0}main>.section:last-child,main>:last-child .section:last-child{padding-bottom:var(--space-12)}.section-head{justify-content:space-between;align-items:end;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.section-head p{margin:var(--space-1) 0 0;max-width:40em}.section-title{font:800 32px/1.2 var(--font-sans);margin:0}.page-head{padding:var(--space-8) 0 0}.page-title{font:800 52px/1.12 var(--font-sans);letter-spacing:-.015em;margin:0}.page-lede{margin:var(--space-3) 0 0;max-width:var(--reading-column);font:400 19px/1.65 var(--font-sans);color:var(--text-secondary)}.reading{max-width:var(--reading-column);font:400 19px/1.65 var(--font-sans)}.reading p{margin:0 0 var(--space-3)}.reading a,.inline-link{color:var(--coral-accent);text-underline-offset:3px}.pull-quote{margin:var(--space-6) 0;font:italic 500 28px/1.3 var(--font-editorial);color:var(--text-primary);border-left:3px solid var(--coral-accent);padding-left:var(--space-3)}.grid-2{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stack{gap:var(--space-2);display:grid}.section-art{width:120px;height:auto}.cs-header{z-index:15;max-width:none;position:sticky;top:0}.cs-footer{margin-top:var(--space-12)}@media (width<=1099px){.container{padding:0 var(--gutter-tablet)}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.container{padding:0 var(--gutter-mobile)}.section{padding-top:var(--space-8)}main>.section:last-child{padding-bottom:var(--space-8)}.section-title{font-size:28px}.page-head{padding-top:var(--space-6)}.page-title{font-size:38px}.page-lede,.reading{font-size:17px}.grid-2,.grid-3{grid-template-columns:1fr}.section-art{width:88px}.cs-footer{padding:var(--space-6) var(--gutter-mobile)}}html[data-theme=light] .cs-theme .icon-moon,html:not([data-theme=light]) .cs-theme .icon-sun{display:none}
