:root{--ink:#0a2a32;--ink-soft:#163a44;--mist:#e7f1f4;--paper:#f6fafb;--accent:#f2c14e;--accent-deep:#d9a628;--line:#0a2a321f;--muted:#0a2a32ad;--font-display:"Syne", sans-serif;--font-body:"Outfit", sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}a{color:inherit}img,svg{max-width:100%;display:block}button{font:inherit}#root{min-height:100vh}.skip-link{z-index:20;background:var(--ink);color:var(--paper);border-radius:.35rem;padding:.6rem 1rem;text-decoration:none;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.hero{min-height:100svh;color:var(--ink);align-items:stretch;display:grid;position:relative;overflow:clip}.hero__atmosphere{z-index:0;background:radial-gradient(120% 80% at 88% 12%,#f2c14e47,#0000 48%),radial-gradient(90% 70% at 8% 88%,#163a442e,#0000 52%),linear-gradient(145deg,#dceef3 0%,#f4f9fb 42%,#e8f3f0 100%);position:absolute;inset:0}.hero__atmosphere:after{content:"";opacity:.35;background-image:linear-gradient(#0a2a320d 1px,#0000 1px),linear-gradient(90deg,#0a2a320d 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 20%,#0000 72%);mask-image:radial-gradient(circle at 70% 30%,#000 20%,#0000 72%)}.hero__grid{z-index:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);width:min(1180px,100% - 2.5rem);min-height:100svh;margin:0 auto;padding:clamp(2rem,5vh,4rem) 0;display:grid;position:relative}.hero__copy{max-width:34rem}.hero__brand{font-family:var(--font-display);letter-spacing:-.04em;animation:rise-in .9s var(--ease-out) both;margin:0 0 1.1rem;font-size:clamp(3.4rem,8vw,5.6rem);font-weight:800;line-height:.92}.hero__headline{font-family:var(--font-display);letter-spacing:-.03em;animation:rise-in .9s var(--ease-out) .12s both;margin:0 0 1rem;font-size:clamp(1.55rem,3.2vw,2.15rem);font-weight:700;line-height:1.15}.hero__lede{max-width:30rem;color:var(--muted);animation:rise-in .9s var(--ease-out) .22s both;margin:0 0 1.75rem;font-size:1.05rem;line-height:1.55}.hero__ctas{animation:rise-in .9s var(--ease-out) .32s both;flex-wrap:wrap;gap:.75rem 1rem;display:flex}.btn{letter-spacing:.01em;min-height:2.85rem;transition:transform .18s var(--ease-out), background-color .18s ease, color .18s ease, border-color .18s ease;border-radius:.45rem;justify-content:center;align-items:center;padding:.7rem 1.2rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover{background:var(--ink-soft)}.btn--ghost{color:var(--ink);background:0 0;border:1.5px solid #0a2a3247}.btn--ghost:hover{border-color:var(--ink)}.hero__visual{animation:rise-in 1.1s var(--ease-out) .18s both;place-items:center;display:grid}.hero__art{filter:drop-shadow(0 28px 50px #0a2a322e);width:min(100%,520px);height:auto}.hero__block--a{transform-origin:50%;animation:10s ease-in-out infinite drift-a}.hero__block--b{animation:12s ease-in-out infinite drift-b}.hero__block--c{animation:9s ease-in-out infinite drift-c}.hero__band{animation:4.5s ease-in-out infinite band-pulse}.hero__orb{animation:7s ease-in-out infinite orb-float}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes drift-a{0%,to{transform:translate(0)}50%{transform:translateY(-10px)}}@keyframes drift-b{0%,to{transform:translate(0)}50%{transform:translate(6px,8px)}}@keyframes drift-c{0%,to{transform:translate(0)}50%{transform:translate(-4px,-6px)}}@keyframes band-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes orb-float{0%,to{transform:translate(0)}50%{transform:translate(-8px,10px)}}@media (width<=860px){.hero__grid{grid-template-columns:1fr;min-height:auto;padding-top:clamp(2.5rem,8vh,4rem);padding-bottom:1rem}.hero__visual{order:-1}.hero__art{width:min(100%,360px)}.hero{min-height:auto}}@media (prefers-reduced-motion:reduce){.hero__brand,.hero__headline,.hero__lede,.hero__ctas,.hero__visual,.hero__block--a,.hero__block--b,.hero__block--c,.hero__band,.hero__orb{animation:none}}.projects{background:linear-gradient(180deg, #f6fafb00 0%, #0a2a3208 100%), var(--paper);border-top:1px solid var(--line);padding:clamp(4rem,10vh,7rem) 0;position:relative}.projects__inner{width:min(920px,100% - 2.5rem);margin:0 auto}.projects__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .65rem;font-size:.85rem;font-weight:600}.projects__title{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.1}.projects__intro{max-width:36rem;color:var(--muted);margin:0 0 2.5rem;line-height:1.55}.projects__list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.projects__item{border-bottom:1px solid var(--line);opacity:0;animation:project-in .7s var(--ease-out) both;grid-template-columns:1fr auto;align-items:end;gap:1rem 2rem;padding:1.6rem 0;display:grid;transform:translateY(14px)}.projects__item:first-child{animation-delay:80ms}.projects__item:nth-child(2){animation-delay:.18s}.projects__name{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .45rem;font-size:1.45rem}.projects__blurb{max-width:34rem;color:var(--muted);margin:0;line-height:1.5}.projects__link{white-space:nowrap;border-bottom:1.5px solid #0000;font-weight:600;text-decoration:none;transition:border-color .16s,color .16s}.projects__link:hover{border-bottom-color:var(--accent-deep);color:var(--ink-soft)}@keyframes project-in{to{opacity:1;transform:none}}@media (width<=640px){.projects__item{grid-template-columns:1fr;align-items:start}}@media (prefers-reduced-motion:reduce){.projects__item{opacity:1;animation:none;transform:none}}.footer{border-top:1px solid var(--line);background:var(--ink);color:var(--mist);padding:2rem 0 2.4rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;width:min(920px,100% - 2.5rem);margin:0 auto;display:flex}.footer__brand{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:700}.footer__note{color:#e7f1f4c7;margin:0}.footer__note a{color:var(--accent);text-decoration:none}.footer__note a:hover{text-decoration:underline}
