@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #F5F2EC;--bg-2: #ECE8DF;--ink: #0A0A0A;--ink-2: #1A1A18;--muted: #76746C;--muted-2: #A8A59B;--line: rgba(10, 10, 10, .1);--line-2: rgba(10, 10, 10, .05);--accent: #6F8A4F;--accent-deep: #4C6535;--accent-soft: #C8D2B0;--font-display: "Geist Variable", "Helvetica Neue", -apple-system, sans-serif;--font-mono: "JetBrains Mono Variable", "IBM Plex Mono", ui-monospace, monospace;--font-body: "Geist Variable", -apple-system, "Helvetica Neue", sans-serif;--gutter: clamp(20px, 4vw, 56px);--section-y: clamp(80px, 12vw, 200px)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body{cursor:none}@media(max-width:900px),(hover:none){body{cursor:auto}}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;background:none;border:0;color:inherit;cursor:pointer}::selection{background:var(--accent);color:var(--bg)}.grain{pointer-events:none;position:fixed;inset:0;z-index:9990;opacity:.55;background-image:radial-gradient(circle at center,rgba(10,10,10,.1) 1px,transparent 1.4px);background-size:24px 24px;background-position:0 0;mix-blend-mode:multiply}.cursor-dot{position:fixed;top:0;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.85;pointer-events:none;z-index:9999;transform:translate3d(-50%,-50%,0);will-change:transform;transition:width .22s cubic-bezier(.2,.7,.2,1),height .22s cubic-bezier(.2,.7,.2,1),opacity .22s ease}.cursor-dot.is-active{width:16px;height:16px;opacity:1}@media(max-width:900px),(hover:none){.cursor-dot{display:none}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);transform-origin:0 0;transform:scaleX(0);z-index:9991}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px var(--gutter);font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;text-transform:uppercase;mix-blend-mode:difference;color:#fff}.site-header a,.site-header span{color:#fff}.site-header .brand{display:flex;align-items:center;gap:10px}.site-header .brand-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.55);opacity:.6}}.site-header nav{display:flex;gap:28px}.site-header nav a{position:relative;padding:6px 0}.site-header nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .38s cubic-bezier(.2,.7,.2,1)}.site-header nav a:hover:after{transform:scaleX(1);transform-origin:left}.site-header .clock{font-variant-numeric:tabular-nums}@media(max-width:720px){.site-header nav{display:none}}html.loader-seen .loader{display:none}.loader{position:fixed;inset:0;background:var(--ink);color:var(--bg);z-index:10000;display:flex;align-items:flex-end;justify-content:space-between;padding:var(--gutter);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.loader .loader-num{font-family:var(--font-display);font-weight:800;font-size:clamp(80px,18vw,220px);line-height:.9;letter-spacing:-.02em}.loader .loader-side{display:flex;flex-direction:column;gap:6px;align-items:flex-end;padding-bottom:18px}.hero{min-height:100vh;padding:140px var(--gutter) calc(var(--gutter) * 2);display:flex;flex-direction:column;justify-content:space-between;position:relative}.hero-meta{display:flex;justify-content:space-between;align-items:flex-start;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.hero-meta .meta-label{display:block;color:var(--muted-2);margin-bottom:6px}.hero-meta .meta-row{display:flex;align-items:center;gap:6px}.hero-meta .meta-row:before{content:"";display:inline-block;width:14px;height:1px;background:var(--muted)}.logo-stage{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:4vw 0}.hero-logo{font-family:var(--font-display);font-weight:900;font-size:clamp(56px,14.5vw,260px);line-height:.88;letter-spacing:-.055em;text-transform:lowercase;position:relative;display:flex;flex-wrap:nowrap;white-space:nowrap;color:var(--ink);text-align:center}.hero-logo .char{display:inline-block;position:relative;overflow:hidden}.hero-logo .char span{display:inline-block;will-change:transform}.hero-logo.style-mono{font-family:var(--font-mono);font-weight:600;font-size:clamp(48px,11.5vw,180px);letter-spacing:-.04em}.hero-logo.style-mixed{font-family:var(--font-display);font-size:clamp(80px,21vw,360px)}.hero-logo.style-mixed .char-c-mid{font-family:var(--font-mono);font-weight:500;font-style:italic}.hero-logo .char-l{color:var(--accent)}.hero-logo.style-experimental{font-family:var(--font-display);font-size:clamp(80px,21vw,360px);font-style:italic;letter-spacing:-.05em}.hero-logo.style-experimental .char span{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.hero-logo.style-experimental:hover .char:nth-child(odd) span{transform:translateY(-12%) rotate(-3deg)}.hero-logo.style-experimental:hover .char:nth-child(2n) span{transform:translateY(8%) rotate(2deg)}.hero-tagline{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;padding-top:40px}.hero-tagline .tag-left{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);line-height:1.6;max-width:280px}.hero-tagline .tag-center{font-family:var(--font-display);font-weight:500;font-size:clamp(18px,2vw,28px);line-height:1.25;letter-spacing:-.01em;text-align:center;max-width:720px;text-transform:lowercase}.hero-tagline .tag-right{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);line-height:1.6;text-align:right;max-width:280px;margin-left:auto}.hero-tagline .tag-right .arrow{display:inline-block;margin-left:6px;transition:transform .32s cubic-bezier(.2,.7,.2,1)}.hero-tagline .tag-right:hover .arrow{transform:translate(4px) translateY(-4px)}@media(max-width:780px){.hero-tagline{grid-template-columns:1fr;gap:32px}.hero-tagline .tag-right{text-align:left;margin-left:0}}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}.scroll-cue .cue-line{width:1px;height:36px;background:var(--muted);position:relative;overflow:hidden}.scroll-cue .cue-line:after{content:"";position:absolute;left:0;right:0;top:-100%;height:60%;background:var(--ink);animation:dropline 2.4s ease-in-out infinite}@keyframes dropline{0%{top:-60%}to{top:100%}}.section{position:relative;padding:var(--section-y) var(--gutter)}.section-head{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:24px;align-items:end;padding-bottom:80px;border-bottom:1px solid var(--line);margin-bottom:60px}.section-num{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-bottom:8px;min-width:0}.section-num:before{content:"";display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:10px;vertical-align:middle}.section-title{font-family:var(--font-display);font-weight:800;font-size:clamp(44px,6.4vw,104px);line-height:.95;letter-spacing:-.04em;text-transform:lowercase;min-width:0;overflow-wrap:break-word}.section-meta{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:right;padding-bottom:8px}@media(max-width:720px){.section-head{grid-template-columns:1fr;gap:16px;padding-bottom:40px;margin-bottom:36px}.section-meta{text-align:left}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:start}.about-lead{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,3.6vw,52px);line-height:1.15;letter-spacing:-.025em;text-transform:lowercase}.about-lead .word{display:inline-block;overflow:hidden;vertical-align:bottom}.about-lead .word>span{display:inline-block;will-change:transform}.about-lead em{font-style:italic;color:var(--accent-deep);font-family:var(--font-mono);font-weight:400}.about-body{display:flex;flex-direction:column;gap:28px}.about-body p{font-size:17px;line-height:1.55;color:var(--ink-2);max-width:52ch}.about-body .about-mono{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.cap-list{margin-top:50px;display:grid;grid-template-columns:1fr 1fr;gap:14px 40px}.cap-list li{list-style:none;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.cap-list li span:last-child{color:var(--muted-2)}@media(max-width:820px){.about-grid,.cap-list{grid-template-columns:1fr}}.works-bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(160px,14vw,260px);gap:16px}.work-card{position:relative;overflow:hidden;background:var(--bg-2);border-radius:6px;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:22px 24px;cursor:none;color:#fff;transition:transform .48s cubic-bezier(.2,.7,.2,1)}@media(hover:none){.work-card{cursor:pointer}}.work-card.light{color:var(--ink)}.work-card:hover{transform:translateY(-3px)}.work-card .work-thumb{position:absolute;inset:0;z-index:-1;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s;background-size:cover;background-position:center}.work-card .work-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0ad9,#0a0a0a4d 18%,#0a0a0a0d 35% 45%,#0a0a0aa6 75%,#0a0a0af2);pointer-events:none}.work-card.light .work-thumb:after{background:linear-gradient(180deg,#f5f2eceb,#f5f2ec4d 22%,#f5f2ec0d 40% 50%,#f5f2ecb3 75%,#f5f2ec)}.work-card:hover .work-thumb{transform:scale(1.06);filter:brightness(.94)}.work-card.block{background:var(--accent-deep);color:var(--bg)}.work-card.block.dark{background:var(--ink);color:var(--bg)}.work-card.block.cream{background:var(--bg-2);color:var(--ink)}.work-card .work-mark{position:absolute;right:-.1em;bottom:-.28em;font-family:var(--font-display);font-weight:900;font-size:clamp(140px,14vw,240px);line-height:.8;letter-spacing:-.06em;opacity:.12;pointer-events:none;z-index:0;text-transform:lowercase}.work-card.size-large .work-mark{font-size:clamp(220px,26vw,440px)}.work-card.size-tall .work-mark{font-size:clamp(180px,18vw,300px);bottom:-.18em}.work-card.size-wide .work-mark{font-size:clamp(160px,18vw,280px)}.work-card .work-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.95;position:relative;z-index:2;text-shadow:0 1px 2px rgba(0,0,0,.15)}.work-card.light .work-top{text-shadow:0 1px 2px rgba(255,255,255,.25)}.work-card .work-label{display:flex;flex-direction:column;gap:14px;position:relative;z-index:2;pointer-events:none}.work-card .work-title{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,3.2vw,48px);line-height:.95;letter-spacing:-.035em;text-transform:lowercase;text-shadow:0 1px 2px rgba(0,0,0,.1)}.work-card.light .work-title{text-shadow:0 1px 2px rgba(255,255,255,.2)}.work-card .work-tags-row{display:flex;flex-wrap:wrap;gap:6px}.work-card .work-pill{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px;border:1px solid currentColor;border-radius:999px;opacity:1;backdrop-filter:blur(10px);background:#0a0a0a2e}.work-card.light .work-pill{background:#f5f2ec40}.work-card.block .work-pill{background:#ffffff1a}.work-card.block.cream .work-pill{background:#0a0a0a0d}.work-card .work-arrow{position:absolute;top:22px;right:24px;width:38px;height:38px;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;z-index:3;opacity:0;transform:translateY(-6px);transition:opacity .32s cubic-bezier(.2,.7,.2,1),transform .32s cubic-bezier(.2,.7,.2,1)}.work-card.light .work-arrow,.work-card.block.cream .work-arrow{background:#0a0a0a0f;border-color:#0a0a0a2e;color:var(--ink)}.work-card:hover .work-arrow{opacity:1;transform:translateY(0)}.work-card.size-tall{grid-column:span 4;grid-row:span 2}.work-card.size-wide{grid-column:span 8;grid-row:span 1}.work-card.size-square{grid-column:span 4;grid-row:span 1}.work-card.size-large{grid-column:span 8;grid-row:span 2}.work-card.size-thin{grid-column:span 4;grid-row:span 1}@media(max-width:900px){.works-bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.work-card.size-tall,.work-card.size-wide,.work-card.size-square,.work-card.size-large,.work-card.size-thin{grid-column:span 2;grid-row:span 1}.work-card.size-large,.work-card.size-tall{grid-row:span 2}}.cases-wrap{position:relative}.cases-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;pointer-events:none}.cases-sticky-title{font-family:var(--font-display);font-weight:900;font-size:clamp(120px,26vw,420px);line-height:.9;letter-spacing:-.06em;color:var(--bg-2);text-transform:lowercase;position:relative;white-space:nowrap;user-select:none}.cases-stack{position:relative;z-index:2;padding:var(--section-y) 0;margin-top:-100vh}.case-card{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,5vw,80px);align-items:center;padding:clamp(40px,6vw,100px) clamp(28px,4vw,64px);background:var(--bg);border-radius:6px;border:1px solid var(--line);margin-bottom:28px;box-shadow:0 30px 60px -40px #0a0a0a2e}.case-text .case-num{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-deep);margin-bottom:16px;display:flex;align-items:center;gap:10px}.case-text .case-num:before{content:"";display:inline-block;width:28px;height:1px;background:var(--accent-deep)}.case-text h3{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,3.4vw,52px);line-height:1.05;letter-spacing:-.025em;text-transform:lowercase;margin-bottom:20px}.case-text p{font-size:16px;line-height:1.55;color:var(--ink-2);max-width:42ch;margin-bottom:24px}.case-text .case-tags{display:flex;flex-wrap:wrap;gap:8px}.case-tags .tag{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.case-visual{aspect-ratio:4 / 3;border-radius:4px;background:var(--bg-2);overflow:hidden;position:relative}.case-visual .visual-fill{position:absolute;inset:0;background-size:cover;background-position:center}@media(max-width:900px){.case-card{grid-template-columns:1fr}}.web-strip{display:flex;flex-wrap:nowrap;gap:28px;padding:20px var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.web-strip::-webkit-scrollbar{display:none}.web-frame{scroll-snap-align:start;flex:0 0 clamp(280px,38vw,520px);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 30px 60px -40px #0a0a0a40;display:flex;flex-direction:column}.web-frame .frame-bar{display:flex;align-items:center;gap:6px;padding:12px 14px;background:#ece9e2;border-bottom:1px solid var(--line)}.frame-bar .dot{width:10px;height:10px;border-radius:50%;background:#0a0a0a2e}.frame-bar .frame-url{margin-left:14px;font-family:var(--font-mono);font-size:11px;color:var(--muted);text-transform:lowercase}.web-frame .frame-body{aspect-ratio:4/3;background:var(--bg-2);position:relative;overflow:hidden}.web-frame .frame-body .frame-fill{position:absolute;inset:0;background-size:cover;background-position:center}.web-frame .frame-meta{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.web-frame .frame-meta .meta-title{color:var(--ink)}.graphic-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;grid-auto-rows:180px;gap:16px}.graphic-grid .gx{position:relative;border-radius:4px;overflow:hidden;background:var(--bg-2)}.graphic-grid .gx .gx-fill{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.graphic-grid .gx:hover .gx-fill{transform:scale(1.05)}.graphic-grid .gx .gx-caption{position:absolute;bottom:14px;left:14px;right:14px;color:#fff;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;z-index:2}.graphic-grid .gx:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,#00000073,#0000 50%);opacity:0;transition:opacity .32s cubic-bezier(.2,.7,.2,1)}.graphic-grid .gx:hover:after{opacity:1}.graphic-grid .gx.h1{grid-row:span 2}.graphic-grid .gx.h2{grid-row:span 1}.graphic-grid .gx.h3{grid-row:span 2}.graphic-grid .gx.h4{grid-row:span 1}@media(max-width:900px){.graphic-grid{grid-template-columns:repeat(2,1fr)}}.logo-wall{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.logo-wall .lw{border-right:1px solid var(--line);border-bottom:1px solid var(--line);aspect-ratio:5/3;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:clamp(18px,2vw,26px);letter-spacing:-.01em;text-transform:lowercase;color:var(--ink-2);position:relative;overflow:hidden;transition:color .32s}.logo-wall .lw:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .48s cubic-bezier(.2,.7,.2,1);z-index:0}.logo-wall .lw:hover:before{transform:translateY(0)}.logo-wall .lw:hover{color:var(--bg)}.logo-wall .lw>*{position:relative;z-index:1}.logo-wall .lw.mono{font-family:var(--font-mono);font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:.04em}@media(max-width:900px){.logo-wall{grid-template-columns:repeat(3,1fr)}}.contact{padding:var(--section-y) var(--gutter);background:var(--ink);color:var(--bg);position:relative;overflow:hidden}.contact-pre{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-2);margin-bottom:32px;display:flex;align-items:center;gap:10px}.contact-pre:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}.contact-headline{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,6.8vw,130px);line-height:.95;letter-spacing:-.045em;text-transform:lowercase}.contact-headline a{position:relative;display:inline-block;white-space:nowrap;transition:color .24s}.contact-headline a:after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:3px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .54s cubic-bezier(.2,.7,.2,1)}.contact-headline a:hover{color:var(--accent-soft)}.contact-headline a:hover:after{transform:scaleX(1);transform-origin:left}.contact-grid{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid rgba(255,255,255,.12);padding-top:32px}.contact-grid .col-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-2);margin-bottom:10px}.contact-grid .col-value{font-family:var(--font-body);font-size:15px;color:var(--bg);line-height:1.6}.contact-grid .col-value a{display:block;padding:2px 0}.contact-grid .col-value a:hover{color:var(--accent-soft)}@media(max-width:720px){.contact-grid{grid-template-columns:1fr 1fr}}.site-footer{padding:24px var(--gutter) 30px;background:var(--ink);color:var(--muted-2);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.08)}.reveal-mask{overflow:hidden;display:inline-block;vertical-align:top}.reveal-mask>span{display:inline-block}.fade-up{opacity:0;transform:translateY(28px)}.brand-name{font-family:inherit;letter-spacing:inherit}.brand-name .b-l{color:var(--accent)}.tweak-host *{cursor:auto}
