:root{--ink:#121a16;--muted:#5c6b62;--paper:#e9efea;--line:#121a161a;--accent:#1f6f5b;--accent-soft:#1f6f5b1f;--ease:cubic-bezier(.32, .72, 0, 1);--display:"Fraunces", "Times New Roman", serif;--sans:"Manrope", "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}.page{min-height:100dvh;position:relative;overflow-x:clip}.skip{z-index:40;background:var(--ink);color:#f4faf6;padding:10px 14px;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}.atmosphere{z-index:-2;pointer-events:none;background:linear-gradient(160deg,#f1f6f2 0%,#e2eae4 48%,#d5dfd8 100%);position:fixed;inset:0}.atmosphere .aurora-container{opacity:.72;position:absolute;inset:0}.grain{z-index:-1;pointer-events:none;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}.nav-wrap{z-index:20;justify-content:center;padding:18px 16px 0;display:flex;position:sticky;top:0}.nav-island{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff9e;border:1px solid #121a1614;border-radius:999px;justify-content:space-between;align-items:center;gap:28px;width:max-content;max-width:calc(100% - 8px);padding:10px 10px 10px 18px;display:flex;box-shadow:0 10px 40px #121a160f}.mark{letter-spacing:.01em;white-space:nowrap;font-weight:650}nav{flex-wrap:wrap;gap:4px;display:flex}nav a{color:var(--muted);transition:color .28s var(--ease), background .28s var(--ease);border-radius:999px;padding:8px 12px;font-size:.92rem;font-weight:500}nav a:hover,nav a:focus-visible{color:var(--ink);background:#121a160d;outline:none}.hero{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:center;gap:clamp(28px,5vw,64px);width:min(1180px,100% - 40px);min-height:calc(100dvh - 110px);margin:0 auto;padding:56px 0 88px;display:grid}.hero-copy{max-width:none}.status-pill{border:1px solid var(--line);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;background:#ffffff8c;border-radius:999px;align-items:center;gap:10px;margin:0 0 22px;padding:8px 14px;font-size:.78rem;font-weight:550;display:inline-flex}.pulse-dot{background:var(--accent);width:7px;height:7px;animation:pulse 2.1s var(--ease) infinite;border-radius:50%}@keyframes pulse{0%{box-shadow:0 0 #1f6f5b66}70%{box-shadow:0 0 0 11px #1f6f5b00}to{box-shadow:0 0 #1f6f5b00}}.brand{font-family:var(--display);letter-spacing:-.03em;white-space:nowrap;max-width:none;margin:0;font-size:clamp(2.8rem,7.5vw,5.4rem);font-weight:650;line-height:1.02}.lede{max-width:32rem;color:var(--muted);text-wrap:pretty;margin:26px 0 0;font-size:clamp(1.05rem,2vw,1.22rem);line-height:1.55}.cta,.contact-links{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.btn{min-height:50px;transition:transform .32s var(--ease), background .32s var(--ease), border-color .32s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:12px;padding:6px 6px 6px 18px;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn.primary{background:var(--ink);color:#f4faf6}.btn.ghost{border-color:var(--line);background:#ffffff80}.btn-orb{width:38px;height:38px;transition:transform .36s var(--ease), background .36s var(--ease);background:#ffffff24;border-radius:50%;place-items:center;display:grid}.btn-orb.muted{background:#121a160f}.group:hover .btn-orb{transform:translate(2px,-1px)scale(1.05)}.aside-shell{background:#121a160a;border:1px solid #121a160f;border-radius:28px;padding:8px}.aside-core{background:#ffffffb8;border:1px solid #ffffffb3;border-radius:22px;padding:26px 24px;box-shadow:inset 0 1px #fffc}.aside-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem}.aside-title{font-family:var(--display);letter-spacing:-.015em;margin:12px 0 0;font-size:1.2rem;font-weight:650;line-height:1.3}.aside-meta{color:var(--muted);margin:12px 0 0;line-height:1.45}.aside-links{gap:8px;margin-top:22px;display:grid}.aside-links a{color:var(--accent);transition:opacity .24s var(--ease);font-weight:600}.aside-links a:hover{opacity:.75}.work,.contact{width:min(1180px,100% - 40px);margin:0 auto}.work{padding:24px 0 72px}.section-head{max-width:36rem;margin-bottom:36px}.section-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:0 0 12px;font-size:.78rem;font-weight:550;display:inline-flex}.section-head h2,.contact-core h2{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(2rem,4vw,2.8rem);font-weight:650;line-height:1.05}.section-head p{color:var(--muted);text-wrap:pretty;margin:14px 0 0;line-height:1.55}.bento{grid-template-columns:1fr;gap:14px;margin:0;padding:0;list-style:none;display:grid}.bento-item,.bento-item.featured{grid-column:auto}.bezel{background:#121a1609;border:1px solid #121a160d;border-radius:28px;height:100%;padding:7px}.magnet-btn{display:inline-block}.lede.blur-text{margin:26px 0 0}.project-core{height:100%;min-height:180px;transition:transform .42s var(--ease), background .42s var(--ease), box-shadow .42s var(--ease);background:#ffffffad;border:1px solid #ffffffa6;border-radius:22px;grid-template-columns:7px 1fr;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffffd9}a.project-core:hover{background:#ffffffe6;transform:translateY(-4px);box-shadow:inset 0 1px #ffffffe6,0 18px 50px #121a1614}.project-rail{min-height:100%}.project-body{flex-direction:column;gap:12px;padding:22px 24px 20px;display:flex}.featured .project-body{padding:28px 30px 24px}.project-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.project-top h3{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:650}.project-body p{color:var(--muted);text-wrap:pretty;max-width:62ch;margin:0;line-height:1.55}.badge{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.72rem;font-style:normal}.badge-live{color:var(--accent)}.project-foot{justify-content:space-between;align-items:end;gap:12px;margin-top:auto;display:flex}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{color:var(--muted);background:var(--accent-soft);border-radius:999px;padding:5px 9px;font-size:.8rem}.open-hint{color:var(--ink);opacity:.55;transition:opacity .28s var(--ease), transform .28s var(--ease);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:inline-flex}a.project-core:hover .open-hint{opacity:1;transform:translate(3px)}.contact{padding:12px 0 100px}.contact-bezel{background:#121a160a;border:1px solid #121a160d;border-radius:32px;padding:8px}.contact-core{background:#ffffffb8;border:1px solid #ffffffb3;border-radius:26px;padding:clamp(28px,5vw,52px);box-shadow:inset 0 1px #ffffffd9}.contact-copy{max-width:38rem;margin:16px 0 0;font-size:1.15rem;line-height:1.55}.contact-meta{color:var(--muted);margin:10px 0 0}.contact-links{margin-top:30px}.foot{width:min(1180px,100% - 40px);color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin:0 auto;padding:22px 0 40px;font-size:.92rem;display:flex}.foot-links{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.foot-links a:hover{color:var(--ink)}.reveal-load{opacity:0;animation:rise .9s var(--ease) forwards;transform:translateY(22px)}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.32s}.reveal-on-scroll{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(28px)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@keyframes rise{to{opacity:1;transform:translateY(0)}}@media (width<=900px){.hero{grid-template-columns:1fr;min-height:auto;padding:40px 0 56px}.hero-copy{max-width:none}.brand{white-space:normal;font-size:clamp(2.6rem,12vw,4.2rem)}.bento-item,.bento-item.featured{grid-column:auto}}@media (width<=700px){.nav-island{border-radius:22px;flex-direction:column;align-items:stretch;gap:8px;width:100%;padding:12px 14px}nav{justify-content:space-between}.hero,.work,.contact,.foot{width:min(100% - 28px,1180px)}.project-top,.project-foot,.foot{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.pulse-dot,.reveal-load,.reveal-on-scroll,.btn,.project-core,.open-hint,.blur-text span{opacity:1!important;filter:none!important;transition:none!important;animation:none!important;transform:none!important}.atmosphere .aurora-container{display:none}}.aurora-container{width:100%;height:100%}.aurora-container canvas{display:block;width:100%!important;height:100%!important}.card-spotlight{--mouse-x:50%;--mouse-y:50%;--spotlight-color:#1f6f5b38;border-radius:28px;height:100%;position:relative;overflow:hidden}.card-spotlight:before{content:"";z-index:1;background:radial-gradient(circle 220px at var(--mouse-x) var(--mouse-y), var(--spotlight-color), transparent 70%);opacity:0;pointer-events:none;transition:opacity .45s;position:absolute;inset:0}.card-spotlight:hover:before,.card-spotlight:focus-within:before{opacity:1}.card-spotlight>*{z-index:0;position:relative}
