:root{--background: #ffffff;--ink: #0d2940;--ink-soft: #27455d;--line: #143a55;--teal: #0f7b78;--teal-soft: #dcefed;--blue: #356fa3;--blue-soft: #e4edf5;--purple: #73528f;--purple-soft: #eee7f3;--coral: #d45f4b;--coral-soft: #f7e6e1;--green: #527c5c;--green-soft: #e4eee6;--yellow-note: #f4e8b2;--muted: #6d7880;--border-width: 2px;--card-gap: 16px;--font-logo: "Special Elite", "Courier Prime", monospace;--font-display: "Kalam", "Patrick Hand", "Segoe Print", cursive;--font-body: "Patrick Hand", "Segoe Print", cursive;--font-note: "Caveat", "Kalam", cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--ink);background:var(--background)}h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0}a{color:inherit}button{font-family:var(--font-display);cursor:pointer}img{max-width:100%;display:block}.card-image{width:100%;object-fit:cover;border:2px solid var(--line);border-radius:2px}.sketch-frame{background:var(--background);border:var(--border-width) solid var(--line);border-radius:2px;box-shadow:2px 3px #0d294014}.sketch-card{background:var(--background);border:var(--border-width) solid var(--line);border-radius:2px;box-shadow:2px 3px #0d294014;transition:transform .18s ease}.sketch-card:nth-child(2n){transform:rotate(.08deg)}.sketch-card:nth-child(odd){transform:rotate(-.1deg)}.sketch-card:hover{transform:translateY(-2px)}.sticky-note{display:inline-block;background:var(--yellow-note);color:var(--ink);font-family:var(--font-note);font-weight:700;font-size:1.05rem;line-height:1.2;padding:6px 10px;border-radius:2px;box-shadow:2px 3px #0d294014;transform:rotate(-1.2deg);transition:transform .18s ease}.sticky-note:hover{transform:rotate(.4deg) translateY(-1px)}.tag{display:inline-block;font-family:var(--font-display);font-size:.78rem;border:1.5px solid var(--line);border-radius:2px;padding:1px 9px;background:var(--background)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.page{max-width:1560px;margin:0 auto;padding:18px 28px 36px}.site-header{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:6px 0 18px}.site-header nav{display:flex;align-items:center;gap:clamp(12px,2.5vw,30px)}.nav-link{font-family:var(--font-display);font-size:.95rem;text-decoration:none;padding:4px 2px;border-bottom:2px solid transparent}.nav-link:hover{border-bottom-color:var(--coral)}.nav-link[aria-current=page]{border-bottom-color:var(--ink)}.work-with-me{font-family:var(--font-display);font-weight:400;font-size:.95rem;color:var(--background);background:var(--ink);text-decoration:none;padding:8px 16px;border:2px solid var(--line);border-radius:2px;box-shadow:2px 3px #0d294014;transition:transform .16s ease}.work-with-me:hover{transform:translateY(-2px)}.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:2px;font-family:var(--font-display);font-size:.9rem;padding:6px 10px}.top-row{display:grid;grid-template-columns:minmax(280px,4fr) 8fr;gap:var(--card-gap);align-items:stretch;margin-bottom:var(--card-gap)}.hero{padding:16px 20px 18px}.hero h1{font-family:var(--font-logo);font-size:clamp(2.2rem,3.6vw,3rem);letter-spacing:.02em;text-shadow:2px 2px 0 rgba(13,41,64,.12);margin-bottom:10px}.hero .intro{font-family:var(--font-body);font-size:.95rem;line-height:1.5;max-width:40ch;margin:0 0 10px}.hero .spoiler{font-family:var(--font-body);font-size:.9rem;color:var(--ink-soft);max-width:38ch;margin:0}.hero .keep-shipping{display:inline-block;color:var(--ink);font-weight:400;border-bottom:3px solid var(--coral);padding-bottom:1px}.section-frame{position:relative;padding:18px 14px 12px}.section-title{position:absolute;top:-14px;left:24px;background:var(--background);padding:0 12px;font-size:clamp(1.05rem,2vw,1.3rem);white-space:nowrap}.section-title:before,.section-title:after{content:"—";color:var(--muted);margin:0 6px}.themes-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;height:100%;align-content:stretch}.theme-card{padding:8px;text-align:center;text-decoration:none;display:flex;flex-direction:column;gap:6px}.theme-card .theme-visual{flex:1;min-height:96px;display:flex;align-items:center;justify-content:center;background:var(--background);border:1.5px dashed rgba(13,41,64,.3);border-radius:2px;overflow:hidden}.theme-card .theme-visual img{height:100%;width:100%;object-fit:cover}.theme-card .theme-title{font-family:var(--font-display);font-weight:400;font-size:.8rem;line-height:1.25}.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap);margin-top:var(--card-gap)}.triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.failure-card{display:flex;flex-direction:column;overflow:hidden;border-radius:2px}.failure-label{font-family:var(--font-logo);font-size:.78rem;letter-spacing:.06em;color:var(--background);text-align:center;padding:4px}.failure-card .panel-visual{aspect-ratio:1 / .68;background:var(--background);border-bottom:2px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}.failure-card .panel-visual img{height:100%;width:100%;object-fit:cover}.failure-body{font-family:var(--font-body);font-size:.8rem;line-height:1.45;padding:8px 10px 10px;margin:0}.project-card{display:flex;flex-direction:column;padding:8px 8px 10px;gap:6px}.project-card .project-visual{aspect-ratio:16 / 10;background:var(--background);border:2px solid var(--line);border-radius:2px;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-card .project-visual img{height:100%;width:100%;object-fit:cover}.project-card h3{font-size:.95rem}.project-card .project-desc{font-family:var(--font-body);font-size:.8rem;line-height:1.4;margin:0;color:var(--muted)}.project-tags{display:flex;flex-wrap:wrap;gap:5px}.proof-links{display:flex;gap:12px;margin-top:auto;padding-top:6px;font-family:var(--font-display);font-weight:400;font-size:.85rem}.proof-links a{text-decoration:none;border-bottom:2px solid var(--blue);color:var(--blue)}.proof-links a:hover{color:var(--coral);border-bottom-color:var(--coral)}.placeholder-note{font-family:var(--font-note);color:var(--muted);font-size:.95rem;padding:6px;text-align:center}@media (max-width: 1020px){.top-row{grid-template-columns:1fr}.themes-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-row{grid-template-columns:1fr}}@media (max-width: 760px){.page{padding:14px 16px 48px}.site-header{flex-wrap:wrap;justify-content:space-between}.site-header nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding-top:10px}.site-header nav.open{display:flex}.menu-toggle{display:inline-block}.themes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.triptych{grid-template-columns:1fr}}.learning-section{margin-top:var(--card-gap)}.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.entry-card{min-width:0;display:flex;flex-direction:column;padding:10px 12px 12px}.slide-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;font-size:.75rem;color:var(--muted)}.entry-badge{font-family:var(--font-logo);font-size:.72rem;letter-spacing:.05em;color:var(--background);background:var(--coral);padding:3px 9px;border-radius:2px;transform:rotate(-1.4deg)}.entry-card h3{font-size:clamp(1rem,1.6vw,1.2rem);margin-bottom:6px}.slide-body{display:flex;gap:10px;align-items:stretch}.slide-text{flex:1;min-width:0;display:flex;flex-direction:column}.slide-visual{flex:0 0 44%;aspect-ratio:4 / 3;background:var(--background);border:2px solid var(--line);border-radius:2px;display:flex;align-items:center;justify-content:center;overflow:hidden}.slide-visual img{width:100%;height:100%;object-fit:cover}.slide-excerpt{font-family:var(--font-body);font-size:.85rem;margin:0 0 6px}.read-more{font-family:var(--font-display);font-weight:400;align-self:flex-start;text-decoration:none;border-bottom:2px solid var(--coral)}.see-all{font-family:var(--font-display);font-weight:400;display:block;width:fit-content;margin:10px 4px 0 auto;text-decoration:none;border-bottom:2px solid var(--coral)}@media (max-width: 1020px){.learning-grid{grid-template-columns:1fr}}.page-title{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.4rem);color:var(--ink);letter-spacing:.02em;text-shadow:2px 2px 0 rgba(13,41,64,.12);margin-bottom:20px}.coming-soon,.not-found{max-width:640px;margin:40px auto;text-align:center;padding:40px 26px 32px;display:flex;flex-direction:column;align-items:center;gap:14px}.coming-soon .sticky-note,.not-found .sticky-note{align-self:center}.coming-soon p,.not-found p{margin:0}.coming-soon a,.not-found a{color:var(--blue);text-decoration:none;border-bottom:2px solid var(--blue)}.coming-soon a:hover,.not-found a:hover{color:var(--coral);border-bottom-color:var(--coral)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--card-gap)}
