:root{--ink:#17231f;--paper:#f3f0e9;--muted:#69736d;--line:#cfd1c8;--acid:#d7ef54;--blue:#b8d8ff;--yellow:#f3c75f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:9;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='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.section-wrap,.site-header{max-width:1180px;margin:0 auto;padding-left:28px;padding-right:28px}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:13px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border:1.5px solid var(--ink);border-radius:50%;font:500 10px 'DM Mono',monospace}.site-header nav{display:flex;gap:34px;margin-left:150px}.site-header a{color:inherit;text-decoration:none}.site-header nav a{color:var(--muted)}.site-header nav a:hover,.text-link:hover,.header-link:hover{color:var(--ink)}.header-link{font:500 11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.hero{min-height:680px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;border-bottom:1px solid var(--line);gap:70px}.eyebrow{font:500 11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:0 0 24px}.status-dot{width:8px;height:8px;background:#93b72c;border-radius:50%;display:inline-block;margin-right:8px}.hero h1{font-size:clamp(50px,7.3vw,92px);line-height:.96;letter-spacing:-.07em;max-width:760px;margin:0 0 31px;font-weight:700}.hero h1 em,.about h2 em,.contact h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.08em}.hero-lede{color:var(--muted);font-size:17px;line-height:1.65;max-width:500px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:42px}.button{display:inline-flex;gap:30px;align-items:center;padding:16px 20px;text-decoration:none;font-size:12px;font-weight:700}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#36534a}.text-link,.project-link{color:var(--ink);text-decoration:none;font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}.hero-note{align-self:end;margin-bottom:70px;border-left:1px solid var(--ink);padding-left:22px;display:flex;flex-direction:column;gap:14px;max-width:260px}.note-label,.mono{font:500 10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.hero-note strong{font-size:16px;line-height:1.5}.note-line{height:1px;background:var(--ink);width:38px}.work{padding-top:95px;padding-bottom:120px}.section-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:32px}.section-count{font:500 11px 'DM Mono',monospace;color:var(--muted);margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.project{min-height:515px;padding:27px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.project-featured{background:var(--acid)}.project-blue{background:var(--blue)}.project-yellow{background:var(--yellow)}.project-top{display:flex;justify-content:space-between;font:500 10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.project-number{opacity:.7}.project-type{opacity:.6}.project h2{font-size:32px;letter-spacing:-.06em;margin:0 0 13px}.project p{max-width:290px;line-height:1.55;font-size:14px;margin:0 0 25px}.project-link{border-color:var(--ink);display:inline-flex;gap:22px}.project-shape{position:absolute;right:-25px;bottom:-36px;width:170px;height:170px;border-radius:50%;display:grid;place-items:center;font:700 50px Georgia;transform:rotate(-18deg)}.shape-agent{background:#aaca38}.shape-agent span{font-family:Manrope;font-size:54px}.shape-ecc{background:#79b3f3;border-radius:43% 57% 62% 38%}.shape-ecc span{font:700 30px 'DM Mono',monospace;transform:rotate(18deg)}.shape-ipl{background:#dfa936;border-radius:37% 63% 49% 51%}.shape-ipl span{font-size:70px;transform:rotate(18deg)}.about{border-top:1px solid var(--line);padding-top:95px;padding-bottom:125px;display:grid;grid-template-columns:1fr 2fr;gap:90px}.about-label{display:flex;justify-content:space-between}.vertical-line{width:1px;background:var(--line);height:150px;margin-right:35px}.about h2{font-size:62px;line-height:1;letter-spacing:-.065em;margin:0 0 33px}.about-copy>p{max-width:520px;color:var(--muted);font-size:16px;line-height:1.7}.skill-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}.skill-list span{border:1px solid var(--line);padding:9px 12px;font:500 10px 'DM Mono',monospace;text-transform:uppercase}.contact{background:var(--ink);color:var(--paper);padding-top:92px;padding-bottom:96px;display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact .eyebrow{color:#aeb9b3}.contact h2{font-size:74px;line-height:.93;letter-spacing:-.07em;margin:0}.contact-side{align-self:end;max-width:310px}.contact-side p{color:#aeb9b3;line-height:1.65;font-size:14px;margin:0 0 28px}.contact .button{background:var(--acid);color:var(--ink)}.site-footer{height:80px;display:flex;justify-content:space-between;align-items:center;font:500 10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.site-footer a{color:inherit;text-decoration:none}.heart{color:#879f2a;margin:0 4px}@media(max-width:760px){.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:610px;gap:20px;padding-top:75px}.hero-note{align-self:start;margin-bottom:50px}.hero h1{font-size:58px}.project-grid,.about,.contact{grid-template-columns:1fr}.project{min-height:440px}.about{gap:30px;padding-top:70px}.vertical-line{display:none}.about h2,.contact h2{font-size:53px}.contact{gap:45px;padding-top:70px}.site-footer{height:auto;padding-top:28px;padding-bottom:28px;gap:14px;flex-wrap:wrap}.section-wrap,.site-header{padding-left:20px;padding-right:20px}}
