:root{--ink:#132029;--ink-soft:#3a4a55;--paper:#eef4f6;--paper-deep:#dce8ec;--sea:#0f6f6a;--sea-deep:#0a4f4b;--foam:#b9e4de;--citrus:#c9850a;--citrus-ink:#5c3d00;--race:#c2410c;--teachers:#1d6b8a;--easy:#2f7d4a;--tasks:#355f8a;--header-h:4.25rem;--sidebar-w:14.5rem;--space:clamp(1.25rem, 3vw, 2.5rem);--max:72rem;--font-display:"Syne", "Avenir Next", "Segoe UI", sans-serif;--font-body:"Public Sans", "Segoe UI", sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;font-family:var(--font-body);color:var(--ink);background:radial-gradient(120% 80% at 10% -10%, #b9e4de8c, transparent 55%), radial-gradient(90% 60% at 100% 0%, #c9850a1f, transparent 45%), linear-gradient(180deg, #f7fbfc 0%, var(--paper) 40%, #e8f1f3 100%);background-attachment:fixed;margin:0;font-size:1.0625rem;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--sea-deep)}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:.6rem 1rem;text-decoration:none;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:40;height:var(--header-h);padding:0 var(--space);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb, var(--ink) 8%, transparent);background:#f7fbfcc7;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-weight:800;text-decoration:none}.wordmark--nav{font-size:1.05rem}.site-nav{gap:1.25rem;display:flex}.site-nav a{color:var(--ink-soft);font-size:.95rem;font-weight:600;text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a.is-active{color:var(--sea-deep)}.shell{min-height:calc(100svh - var(--header-h));grid-template-columns:1fr;display:grid}.projects-nav{top:var(--header-h);z-index:30;padding:.65rem var(--space);-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-bottom:1px solid color-mix(in srgb, var(--ink) 8%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;flex-flow:row;align-items:center;gap:.35rem .65rem;display:flex;position:sticky;overflow-x:auto}.projects-nav__label{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--ink-soft) 70%, transparent);flex-shrink:0;margin:0;font-size:.68rem;font-weight:700}.projects-nav__label:not(:first-child){border-left:1px solid color-mix(in srgb, var(--ink) 12%, transparent);margin-left:.5rem;padding-left:.75rem}.projects-nav__list{flex-wrap:nowrap;gap:.35rem;display:flex}.projects-nav__link{color:var(--ink-soft);transition:color .18s var(--ease-out), background-color .18s var(--ease-out), border-color .18s var(--ease-out);border:1px solid #0000;border-radius:.3rem;flex-shrink:0;padding:.4rem .75rem;font-size:.9rem;font-weight:600;text-decoration:none}.projects-nav__link:hover,.projects-nav__link:focus-visible{color:var(--sea-deep);background:color-mix(in srgb, var(--foam) 35%, transparent)}.projects-nav__link.is-active{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 12%, transparent);background:#ffffffd9}.projects-nav__link[data-accent=teachers].is-active{color:var(--teachers);border-color:color-mix(in srgb, var(--teachers) 35%, transparent)}.projects-nav__link[data-accent=easy].is-active{color:var(--easy);border-color:color-mix(in srgb, var(--easy) 35%, transparent)}.projects-nav__link[data-accent=tasks].is-active{color:var(--tasks);border-color:color-mix(in srgb, var(--tasks) 35%, transparent)}.projects-nav__link[data-accent=race].is-active{color:var(--race);border-color:color-mix(in srgb, var(--race) 35%, transparent)}.shell__main{outline:none;min-width:0}.view[hidden]{display:none!important}.hero{min-height:calc(100svh - var(--header-h) - 3.5rem);isolation:isolate;grid-template-columns:1fr;align-items:end;display:grid;position:relative;overflow:hidden}.hero__atmosphere{z-index:-1;animation:atmosphere-drift 18s var(--ease-out) infinite alternate;background:linear-gradient(115deg,#0f6f6a2e 0%,#eef4f633 38%,#c9850a24 100%),repeating-linear-gradient(-18deg,#0000,#0000 18px,#13202908 18px 19px),radial-gradient(80% 70% at 70% 40%,#9fd8d1 0%,#0000 60%),linear-gradient(160deg,#d7ebe8 0%,#eef4f6 45%,#f4efe4 100%);position:absolute;inset:0}@keyframes atmosphere-drift{0%{transform:scale(1)translate(0,0)}to{transform:scale(1.04)translate(-1.5%,1%)}}.hero__copy{z-index:1;padding:clamp(2rem, 6vw, 4.5rem) var(--space) clamp(2.5rem, 7vw, 5rem);max-width:40rem;position:relative}.hero__brand{font-family:var(--font-display);letter-spacing:-.045em;color:var(--ink);margin:0 0 .85rem;font-size:clamp(2.35rem,6.5vw,4.6rem);font-weight:800;line-height:.95}.hero__headline{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0 0 .85rem;font-size:clamp(1.45rem,3vw,2.1rem);font-weight:700;line-height:1.15}.hero__lede{max-width:28rem;color:var(--ink-soft);margin:0 0 1.75rem;font-size:1.08rem}.hero__cta{flex-wrap:wrap;gap:.75rem;display:flex}@media (prefers-reduced-motion:no-preference){.js-motion .hero__brand{animation:rise-in .9s var(--ease-out) both}.js-motion .hero__headline{animation:rise-in .9s var(--ease-out) .12s both}.js-motion .hero__lede{animation:rise-in .9s var(--ease-out) .22s both}.js-motion .hero__cta{animation:rise-in .9s var(--ease-out) .32s both}}.hero__visual{z-index:0;pointer-events:none;position:absolute;inset:0}.hero__image{object-fit:cover;object-position:72% 40%;opacity:.92;width:100%;height:100%;animation:hero-ken 22s var(--ease-out) infinite alternate}@keyframes hero-ken{0%{transform:scale(1.02)translate(0,0)}to{transform:scale(1.08)translate(-2%,1.5%)}}@keyframes rise-in{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translate(0,0)}}.btn{min-height:2.85rem;font-family:var(--font-body);cursor:pointer;transition:transform .22s var(--ease-out), background-color .22s var(--ease-out), border-color .22s var(--ease-out), color .22s var(--ease-out);border:1.5px solid #0000;border-radius:.35rem;justify-content:center;align-items:center;padding:.7rem 1.25rem;font-size:.98rem;font-weight:600;text-decoration:none;display:inline-flex}.btn--primary{background:var(--sea);color:#f4fffd}.btn--primary:hover,.btn--primary:focus-visible{background:var(--sea-deep);transform:translateY(-2px)}.btn--ghost{border-color:color-mix(in srgb, var(--ink) 18%, transparent);color:var(--ink);background:#ffffff8c}.btn--ghost:hover,.btn--ghost:focus-visible{border-color:var(--sea);color:var(--sea-deep);transform:translateY(-2px)}.section{padding:clamp(2.5rem, 7vw, 4.5rem) var(--space)}.section__inner{text-align:center;max-width:36rem;margin:0 auto}.section h2,.project h2,.contact h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .85rem;font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:700;line-height:1.12}.section__lede{color:var(--ink-soft);margin:0;font-size:1.08rem}.section--intro{border-top:1px solid color-mix(in srgb, var(--ink) 8%, transparent);background:#ffffff73}.project{min-height:calc(100svh - var(--header-h) - 3.5rem);grid-template-columns:1fr;gap:0;display:grid}.project__media{background:var(--paper-deep);min-height:clamp(16rem,48vw,28rem);position:relative;overflow:hidden}.project__media img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .7s var(--ease-out);position:absolute;inset:0}.project:hover .project__media img,.project:focus-within .project__media img{transform:scale(1.03)}.project__copy{padding:clamp(2rem, 5vw, 3.75rem) var(--space);background:#ffffff9e;flex-direction:column;justify-content:center;display:flex}.project__name{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--sea);margin:0 0 .35rem;font-size:.95rem;font-weight:700}.project__aka{color:var(--ink-soft);margin:0 0 .85rem;font-size:.88rem;font-weight:500}.project--teachers .project__name{color:var(--teachers)}.project--easypeasy .project__name{color:var(--easy)}.project--taskmaster .project__name{color:var(--tasks)}.project--race .project__name{color:var(--race)}.project__copy>p{max-width:34rem;color:var(--ink-soft);margin:0 0 1.1rem}.project__copy h2+p{margin-top:.35rem}.text-link{color:var(--ink);border-bottom:1.5px solid color-mix(in srgb, var(--ink) 28%, transparent);transition:border-color .2s var(--ease-out), color .2s var(--ease-out);align-self:flex-start;margin-top:.35rem;font-weight:600;text-decoration:none}.text-link:hover,.text-link:focus-visible{color:var(--sea-deep);border-bottom-color:var(--sea)}.contact{padding:clamp(3.5rem, 10vw, 7rem) var(--space);min-height:calc(100svh - var(--header-h) - 3.5rem);background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--foam) 35%, transparent)), radial-gradient(70% 80% at 50% 100%, #c9850a1f, transparent 60%);align-items:center;display:flex}.contact__inner{width:100%;max-width:36rem;margin:0 auto}.contact__inner>p{color:var(--ink-soft);margin:0 0 1.75rem}.contact__form{grid-template-columns:1fr;gap:1rem;display:grid}.field{flex-direction:column;gap:.4rem;display:flex}.field span{color:var(--ink-soft);font-size:.88rem;font-weight:600}.field input,.field textarea{border:1.5px solid color-mix(in srgb, var(--ink) 16%, transparent);width:100%;color:var(--ink);font:inherit;transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);background:#fffc;border-radius:.35rem;padding:.75rem .85rem}.field input:focus,.field textarea:focus{border-color:var(--sea);box-shadow:0 0 0 3px color-mix(in srgb, var(--sea) 22%, transparent);outline:none}.contact__form .btn{justify-self:start;margin-top:.35rem}.contact__alt{color:var(--ink-soft);margin:1.5rem 0 0;font-size:.95rem}.site-footer{padding:1.75rem var(--space) 2.25rem;border-top:1px solid color-mix(in srgb, var(--ink) 10%, transparent);background:#ffffff80;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;display:flex}.wordmark--footer{font-size:1.15rem}.site-footer__meta{color:var(--ink-soft);margin:0;font-size:.9rem}@media (width>=960px){.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.projects-nav{top:var(--header-h);height:calc(100svh - var(--header-h));border-bottom:none;border-right:1px solid color-mix(in srgb, var(--ink) 8%, transparent);flex-flow:column;align-content:start;align-items:stretch;gap:.35rem;padding:1.75rem 1.1rem 2rem 1.35rem;position:sticky;overflow:visible auto}.projects-nav__label{margin:0 0 .35rem}.projects-nav__label:not(:first-child){border-left:none;margin:1.35rem 0 .35rem;padding-left:0}.projects-nav__list{flex-flow:column;gap:.2rem}.projects-nav__link{padding:.55rem .7rem;display:block}.projects-nav__link--home{margin-bottom:.15rem}.hero{min-height:calc(100svh - var(--header-h));grid-template-columns:minmax(18rem,.95fr) minmax(20rem,1.05fr);align-items:stretch}.hero__copy{background:linear-gradient(90deg,#f7fbfcf5 0%,#f7fbfcd1 62%,#f7fbfc33 100%);flex-direction:column;justify-content:center;max-width:none;padding-right:clamp(1rem,3vw,2.5rem);display:flex}.hero__visual{position:relative;inset:auto}.hero__image{opacity:1;object-position:center}.project{min-height:calc(100svh - var(--header-h));grid-template-columns:1.05fr .95fr}.project__media{min-height:100%}.contact{min-height:calc(100svh - var(--header-h))}.contact__form{grid-template-columns:1fr 1fr}.field--full{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__atmosphere,.hero__image,.hero__brand,.hero__headline,.hero__lede,.hero__cta,.project__media img,.btn{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}
