/* Shared colors and spacing keep the workshop look consistent across sections. */
:root{--ink:#151b18;--paper:#f4f1e9;--cream:#e9e5d9;--lime:#c9f64a;--purple:#b6a6fa;--orange:#f2a575;--line:rgba(21,27,24,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit}.wrap{width:min(100% - 80px,1400px);margin-inline:auto}.skip-link{position:absolute;z-index:20;top:-60px;left:20px;background:var(--lime);padding:12px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #8c54ff;outline-offset:4px}.site-header{height:84px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.wordmark{text-decoration:none;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:36px;line-height:1;letter-spacing:-.09em}.mark-x{color:#799719}.mark-dot{color:#799719}.site-nav{display:flex;align-items:center;gap:38px}.site-nav a{text-decoration:none;font-size:14px;font-weight:700}.site-nav a:hover,.footer-main>a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}.nav-github{border:1px solid var(--ink);border-radius:100px;padding:12px 20px;display:flex;gap:32px}.nav-github:hover{background:var(--ink);color:var(--paper);text-decoration:none!important}.menu-toggle{display:none}.hero{background:var(--ink);color:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;min-height:685px;align-items:center}.hero-copy{position:relative;z-index:1;padding:80px 0 90px}.eyebrow,.section-index,.art-label,.art-chip,.card-top,.card-foot,.step-number,.license-note,.footer-bottom{font-family:'DM Mono',monospace}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);display:flex;align-items:center;gap:11px;margin:0 0 40px}.pulse-dot{width:8px;height:8px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 6px rgba(201,246,74,.15)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Space Grotesk',sans-serif}h1{font-size:clamp(74px,8.4vw,144px);line-height:.87;letter-spacing:-.085em;margin:0 0 42px;font-weight:700}h1 em{color:var(--lime);font-style:normal}h1 span{color:var(--paper)}.hero-intro{max-width:530px;color:#c9cec7;font-size:18px;line-height:1.65;margin-bottom:32px}.hero-intro strong{color:#fff;font-weight:600}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:56px;padding:15px 21px;border-radius:3px;text-decoration:none;font-weight:700;font-size:14px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#e0ff88}.text-link{font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link span{margin-left:15px}.hero-art{height:610px;position:relative;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:22px 0;background-image:linear-gradient(rgba(244,241,233,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,233,.06) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,#000 35%,transparent 75%)}.art-label{position:absolute;font-size:10px;letter-spacing:.12em;color:#a3aaa0;line-height:1.6}.art-label-top{top:44px;left:35px}.art-label-bottom{bottom:36px;right:15px;text-align:right}.art-orbit{position:absolute;border:1px dashed rgba(201,246,74,.34);border-radius:50%;left:50%;top:49%;transform:translate(-50%,-50%)}.orbit-one{width:520px;height:520px}.orbit-two{width:385px;height:385px;border-style:solid;border-color:rgba(244,241,233,.14)}.art-core{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%) rotate(-8deg);width:290px;height:290px;border:2px solid var(--lime);background:#222b25;box-shadow:0 0 0 12px rgba(201,246,74,.045),30px 40px 0 rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.11em}.core-x{font-size:130px;color:var(--lime)}.core-plus{font-family:'DM Mono',monospace;font-size:32px;color:var(--orange);margin:-20px 5px 0}.core-ext{font-size:66px;color:var(--paper);margin-top:18px}.art-chip{position:absolute;border:1px solid rgba(244,241,233,.45);background:var(--ink);color:var(--paper);padding:10px 13px;font-size:11px}.chip-one{left:2%;top:31%;transform:rotate(-7deg)}.chip-two{right:0;top:25%;background:var(--purple);color:var(--ink);transform:rotate(8deg)}.chip-three{left:10%;bottom:20%;background:var(--lime);color:var(--ink);transform:rotate(5deg)}.art-spark{position:absolute;color:var(--orange);font-size:55px}.spark-one{right:11%;bottom:14%}.spark-two{left:11%;top:12%;font-size:30px;color:var(--lime)}.hero-ticker{border-top:1px solid rgba(255,255,255,.18);height:50px;display:flex;align-items:center;overflow:hidden;color:var(--lime);font:500 11px 'DM Mono',monospace;letter-spacing:.17em}.ticker-track{display:flex;white-space:nowrap;min-width:max-content;animation:marquee 35s linear infinite}.ticker-track span{padding-right:40px}.ticker-track b{padding-inline:35px;color:var(--paper)}@keyframes marquee{to{transform:translateX(-50%)}}.section-pad{padding-block:132px}.section-index{font-size:11px;letter-spacing:.12em;font-weight:500}.index-number{color:#7d847c;margin-right:10px}.intro-grid{display:grid;grid-template-columns:27% 1fr}.intro-section h2,.areas-section h2,.join-section h2{font-size:clamp(48px,6.3vw,94px);line-height:1;letter-spacing:-.075em;margin-bottom:53px}.serif-mark{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.07em}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);padding-top:28px}.intro-bottom p{font-size:19px;line-height:1.65;max-width:410px;color:#444a45}.intro-bottom strong{color:var(--ink);font-size:23px}.intro-bottom em{font-family:Georgia,serif}.areas-section{background:var(--cream)}.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading-row h2{margin:0}.section-aside{font-size:15px;color:#555d55;margin-bottom:8px}.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink)}.area-card{min-height:455px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--ink);transition:background .25s}.area-card:last-child{border-right:0}.area-card:hover{background:#dfdfd2}.card-top{display:flex;align-items:start;justify-content:space-between;font-size:12px}.card-icon{font:700 47px 'Space Grotesk',sans-serif;letter-spacing:-.13em;line-height:1}.hardware-icon{font-size:62px}.area-card h3{font-size:clamp(26px,2.8vw,42px);letter-spacing:-.07em;line-height:1.05;margin-bottom:16px;display:flex;justify-content:space-between}.card-arrow{font:400 21px 'DM Sans',sans-serif;align-self:start}.area-card p{font-size:15px;line-height:1.6;max-width:240px;color:#3e4540;margin-bottom:0}.card-foot{font-size:10px;letter-spacing:.06em;border-top:1px solid var(--line);padding-top:18px}.software{background:#d7eaa9}.hardware{background:#d8d0f2}.budgets{background:#f2d4ba}.beyond{background:#e8e7dd}.statement-section{background:var(--lime);overflow:hidden}.statement-inner{padding-block:115px 120px;position:relative}.statement-inner h2{font-size:clamp(80px,13vw,190px);letter-spacing:-.095em;line-height:.82;margin:55px 0 55px}.statement-inner h2 span{display:inline-block;position:relative}.statement-star{font-family:'DM Sans',sans-serif;font-size:.37em;vertical-align:top;margin:0 0 0 25px;letter-spacing:0}.statement-inner>p:last-of-type{max-width:600px;font-size:20px;line-height:1.6;margin:0}.statement-scribble{position:absolute;right:2%;bottom:3%;font:300 280px Georgia,serif;transform:rotate(-20deg);opacity:.23}.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.join-section h2{margin:42px 0 30px}.join-lead{font-size:18px;line-height:1.7;max-width:520px;color:#4d554e;margin-bottom:30px}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#364339}.steps{border-top:1px solid var(--ink)}.step{display:grid;grid-template-columns:42px 1fr 20px;gap:22px;padding:27px 0;border-bottom:1px solid var(--line)}.step-number{font-size:11px;padding-top:8px;color:#6d776c}.step h3{font-size:25px;letter-spacing:-.05em;margin-bottom:7px}.step p{font-size:15px;line-height:1.6;color:#4d554e;margin:0;max-width:360px}.step>span:last-child{padding-top:5px}.license-note{font-size:11px;line-height:1.6;color:#697168;margin:22px 0 0}.site-footer{background:var(--ink);color:var(--paper)}.footer-main{display:flex;justify-content:space-between;align-items:end;padding:80px 0 100px}.footer-wordmark{font-size:74px}.footer-wordmark .mark-x,.footer-wordmark .mark-dot{color:var(--lime)}.footer-main p{color:#b8c1b7;margin:15px 0 0}.footer-main>a{text-decoration:none;font-weight:700;font-size:15px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.2);padding:22px 0;font-size:11px;color:#a8b3a7}.footer-bottom a{text-decoration:none}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr .8fr}.hero-art{transform:scale(.8);transform-origin:center}.areas-grid{grid-template-columns:repeat(2,1fr)}.area-card{min-height:360px}.area-card:nth-child(2){border-right:0}.area-card:nth-child(-n+2){border-bottom:1px solid var(--ink)}}
@media(max-width:760px){.wrap{width:min(100% - 36px,600px)}.site-header{height:70px}.wordmark{font-size:32px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;width:44px;height:44px;cursor:pointer}.menu-toggle span{height:2px;width:25px;background:var(--ink);display:block;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:20px 18px 28px;box-shadow:0 18px 25px rgba(0,0,0,.15);flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:15px 8px;border-bottom:1px solid var(--line)}.site-nav .nav-github{margin-top:16px;justify-content:space-between;padding:13px 16px}.hero-grid{display:block;min-height:auto}.hero-copy{padding:70px 0 20px}.eyebrow{font-size:10px;margin-bottom:32px}h1{font-size:clamp(68px,15vw,112px);margin-bottom:32px}.hero-intro{font-size:16px}.hero-actions{gap:22px}.hero-art{height:360px;transform:scale(.69);transform-origin:top center;width:145%;margin-left:-22.5%}.art-label-top{top:0}.art-label-bottom{bottom:0}.hero-ticker{height:42px}.section-pad{padding-block:82px}.intro-grid{display:block}.intro-grid>.section-index{margin-bottom:32px}.intro-section h2,.areas-section h2,.join-section h2{font-size:clamp(48px,11vw,74px);margin-bottom:35px}.intro-bottom{grid-template-columns:1fr;gap:0}.intro-bottom p{font-size:17px}.section-heading-row{display:block}.section-aside{margin:22px 0 0}.areas-grid{grid-template-columns:1fr}.area-card,.area-card:nth-child(2){min-height:330px;border-right:0;border-bottom:1px solid var(--ink)}.area-card:last-child{border-bottom:0}.area-card h3{font-size:36px}.statement-inner{padding-block:85px}.statement-inner h2{font-size:clamp(76px,14vw,118px);margin:45px 0}.statement-inner>p:last-of-type{font-size:17px}.statement-scribble{display:none}.join-grid{grid-template-columns:1fr;gap:70px}.join-section h2{margin:35px 0 25px}.join-lead{font-size:17px}.footer-main{padding:65px 0 70px;align-items:start;gap:40px;flex-direction:column}.footer-wordmark{font-size:62px}.footer-bottom{flex-wrap:wrap}.footer-bottom span:nth-child(2){display:none}}
@media(max-width:390px){h1{font-size:65px}.hero-actions{align-items:flex-start;flex-direction:column}.button{width:100%}.hero-art{margin-top:20px}.statement-inner h2{font-size:73px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.button{transition:none}}

/* Drawn icons replace font glyphs so they stay crisp on every device. */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.github-icon{display:block;width:20px;height:20px;flex:none}
.nav-github{width:46px;height:46px;padding:0;display:grid;place-items:center;gap:0}
.button-label{display:inline-flex;align-items:center;gap:11px;white-space:nowrap}
.footer-github{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.5);border-radius:50%;transition:background .2s,color .2s}
.footer-github .github-icon{width:26px;height:26px}
.footer-github:hover{background:var(--lime);color:var(--ink);text-decoration:none!important}
.card-icon{width:68px;height:68px;display:grid;place-items:center;border:1px solid currentColor;border-radius:21px;transition:transform .3s ease}
.card-icon svg{width:38px;height:38px}
.area-card:hover .card-icon{transform:rotate(-10deg) scale(1.05)}

/* The spoken headline stays stable while the visible word changes. */
.hero-word{display:inline-block;color:var(--lime);font-size:.72em;line-height:1.12;white-space:nowrap;transition:opacity .22s ease,transform .22s ease}
.hero-word.is-exiting{opacity:0;transform:translateY(-.2em)}
.hero-word.is-entering{animation:word-in .36s ease-out both}
@keyframes word-in{from{opacity:0;transform:translateY(.2em)}to{opacity:1;transform:translateY(0)}}
@keyframes float-spark{50%{transform:translateY(-12px) rotate(12deg)}}
.spark-one{animation:float-spark 4s ease-in-out infinite}
.spark-two{animation:float-spark 3.2s ease-in-out infinite reverse}

@media(max-width:760px){.site-nav .nav-github{width:100%;height:48px;display:flex;align-items:center;justify-content:center;padding:0}.button-label{white-space:normal}}
@media(prefers-reduced-motion:reduce){.hero-word,.footer-github,.card-icon{transition:none}.spark-one,.spark-two,.hero-word.is-entering{animation:none}.area-card:hover .card-icon{transform:none}}

/* Use the supplied xext mark in place of the earlier text wordmark. */
.wordmark{display:inline-flex;align-items:center;flex:none;letter-spacing:normal}
.wordmark img{display:block;width:142px;height:auto}
.art-core{background:#fff;border-color:#fff}
.art-core img{display:block;width:90%;height:auto}
.footer-wordmark{padding:9px 15px 7px;border-radius:10px;background:#fff}
.footer-wordmark img{width:230px}
@media(max-width:760px){.wordmark img{width:120px}.footer-wordmark img{width:190px}}
