:root { --ink:#111411; --paper:#f4f3ee; --lime:#c8ff38; --line:#d7d8d1; --muted:#686b64; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
.cursor { position:fixed; top:0; left:0; z-index:100; pointer-events:none; opacity:0; border-radius:50%; transform:translate3d(-50%,-50%,0); transition:width .22s ease,height .22s ease,background-color .22s ease,opacity .18s ease; }
.cursor-dot { width:6px; height:6px; background:var(--ink); }
.cursor-halo { width:32px; height:32px; border:1px solid var(--ink); background:#c8ff3824; }
.cursor.is-visible { opacity:1; }
.cursor-halo.is-active { width:54px; height:54px; border-color:transparent; background:var(--lime); mix-blend-mode:multiply; }
.grain { position:fixed; inset:0; z-index:5; pointer-events:none; opacity:.2; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E"); }
.wrap { width:min(1200px, calc(100% - 56px)); margin:auto; }
.nav { height:104px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.logo { color:inherit; text-decoration:none; font-size:24px; font-weight:800; letter-spacing:-1.5px; }.logo span { color:#75a300; }
.nav-link, .round-link { color:inherit; text-decoration:none; font-size:13px; font-weight:700; }.nav-link span { color:#75a300; font-size:17px; margin-left:8px; }
.hero { min-height:610px; display:flex; flex-direction:column; padding-top:76px; padding-bottom:64px; justify-content:space-between; border-bottom:1px solid var(--line); }
.eyebrow { margin:0; font:11px 'DM Mono',monospace; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
h1 { margin:45px 0; font-size:clamp(56px,9vw,128px); line-height:.94; letter-spacing:-.08em; font-weight:700; } h1 em { font-family:Georgia,serif; font-weight:400; letter-spacing:-.07em; }
.hero-bottom { display:flex; align-items:end; justify-content:space-between; gap:40px; }.hero-bottom p { max-width:360px; margin:0; font-size:16px; line-height:1.6; }
.round-link { background:var(--lime); padding:18px 23px; border-radius:100px; white-space:nowrap; transition:transform .25s; }.round-link:hover { transform:translateY(-3px); }.round-link span { margin-left:13px; }
.work { padding:120px 0; }.section-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:38px; }.section-head > p:last-child { color:var(--muted); margin:0; font-size:14px; }
.project-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.project { color:inherit; text-decoration:none; }.project-art { height:390px; overflow:hidden; position:relative; transition:transform .35s; }.project:hover .project-art { transform:scale(.985); }.sensfish-art { background:#1e3937; display:grid; place-items:center; }.fish-shape { color:#d4f987; font:260px/1 Georgia,serif; transform:rotate(-18deg); opacity:.9; }.orb { position:absolute; width:170px; height:170px; border:1px solid #a1bd9b; border-radius:50%; top:50px; right:55px; box-shadow:0 0 0 26px #ffffff0a,0 0 0 52px #ffffff08; }.tehnior-art { background:#d8d6c9; display:grid; place-items:center; }.type { font-size:300px; line-height:1; font-weight:800; letter-spacing:-.14em; color:#161b16; position:relative; z-index:1; }.grid-lines { position:absolute; inset:0; background:linear-gradient(90deg,transparent 49.8%,#11141122 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#11141122 50%,transparent 50.2%); background-size:70px 70px; }
.project-meta { padding:18px 0 3px; display:flex; justify-content:space-between; align-items:start; }.project-meta h2 { margin:0 0 5px; font-size:17px; letter-spacing:-.04em; }.project-meta p { margin:0; color:var(--muted); font-size:12px; }.arrow { font-size:23px; color:#6a9700; }
.contact { display:grid; grid-template-columns:1fr 1fr; column-gap:12%; padding:115px 0 130px; border-top:1px solid var(--line); }.contact h2 { font-size:clamp(42px,5vw,70px); letter-spacing:-.07em; line-height:.95; margin:28px 0; }.contact-note { color:var(--muted); max-width:250px; font-size:14px; line-height:1.6; }.contact-card { grid-column:2; border-top:1px solid var(--ink); padding:19px 0; display:flex; align-items:center; gap:13px; }.contact-card img { width:50px; height:50px; object-fit:cover; border-radius:50%; }.name,.role { margin:0; }.name { font-size:14px; font-weight:700; }.role { font-size:11px; color:var(--muted); margin-top:3px; }.linkedin { margin-left:auto; display:grid; place-items:center; height:35px; width:35px; border-radius:50%; background:var(--ink); color:var(--paper); text-decoration:none; font:700 14px Arial; }
.inquiry { grid-column:2; display:flex; flex-direction:column; margin-top:15px; }.inquiry label { display:flex; flex-direction:column; gap:9px; padding:18px 0; border-bottom:1px solid var(--line); font-size:12px; font-weight:700; }.inquiry input,.inquiry textarea { padding:0; border:0; outline:0; background:transparent; font:14px Manrope,sans-serif; resize:vertical; }.inquiry button { align-self:start; margin-top:25px; border:0; border-radius:100px; background:var(--ink); color:white; padding:16px 23px; font:700 13px Manrope,sans-serif; cursor:pointer; }.inquiry button span { margin-left:12px; color:var(--lime); }
.honeypot { position:absolute; left:-9999px; }
footer { display:flex; justify-content:space-between; padding:22px 0 28px; border-top:1px solid var(--line); font:11px 'DM Mono',monospace; color:var(--muted); } footer a { color:inherit; text-decoration:none; }
.thanks { min-height:calc(100vh - 104px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }.thanks h1 { margin:25px 0 12px; }.thanks > p:not(.eyebrow) { max-width:360px; color:var(--muted); line-height:1.6; margin:0 0 32px; }
@media (max-width:700px) { .wrap { width:min(100% - 36px, 1200px); }.nav { height:78px; }.hero { min-height:590px; padding-top:58px; }.hero-bottom,.section-head { align-items:start; flex-direction:column; gap:24px; }.project-grid,.contact { grid-template-columns:1fr; }.project-art { height:290px; }.fish-shape { font-size:200px; }.type { font-size:220px; }.work { padding:78px 0; }.contact { padding:78px 0; gap:30px; }.contact-card,.inquiry { grid-column:1; }.contact h2 { margin-bottom:17px; } }

@media (hover:hover) and (pointer:fine) {
  html.has-custom-cursor, html.has-custom-cursor * { cursor:none !important; }
}

@media (prefers-reduced-motion:reduce) {
  .cursor { transition:none; }
}
