:root{--bg:#0b0b0d;--surface:#0e0e10d1;--t:#ece8e1;--m:#8d8a84;--accent:#c8a97e;--border:#ffffff17;--border-h:#fff3;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif;--max-w:1320px;--gap:28px;--radius:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--t);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:17px;line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:1px solid var(--accent);outline-offset:4px}#bg{z-index:0;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity 1.2s;position:fixed;inset:0}#bg.ready{opacity:1}.vignette{z-index:1;pointer-events:none;background:radial-gradient(70% 60%,#0000 40%,#0b0b0db3 100%),linear-gradient(#0b0b0d59 0%,#0000 30%),linear-gradient(#0000 70%,#0b0b0d80 100%);position:fixed;inset:0}.vignette:after{content:"";opacity:.55;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;animation:.8s steps(3,end) infinite grain;position:absolute;inset:0}@keyframes grain{0%,to{background-position:0 0}25%{background-position:-50px 20px}50%{background-position:30px -40px}75%{background-position:-20px 50px}}.wrap{max-width:var(--max-w);z-index:10;margin:0 auto;padding:0 40px;position:relative}nav{justify-content:space-between;align-items:center;padding:28px 0;display:flex}.mono{font-family:var(--font-serif);letter-spacing:.14em;color:var(--t);font-size:22px;font-weight:300}.nav-links{gap:36px;display:flex}.nav-links a{letter-spacing:.18em;text-transform:uppercase;color:var(--m);padding-bottom:2px;font-size:11px;font-weight:500;transition:color .25s;position:relative}.nav-links a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0}.nav-links a:hover{color:var(--t)}.nav-links a:hover:after{width:100%}.hairline{background:var(--border);width:100%;height:1px}.split{gap:var(--gap);grid-template-columns:38% 1fr;align-items:start;padding:64px 0 120px;display:grid}.info-panel{flex-direction:column;gap:48px;display:flex;position:sticky;top:40px}.info-inner h1{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--t);margin:14px 0 20px;font-size:clamp(52px,5.5vw,88px);font-weight:300;line-height:1}.tagline{color:var(--m);max-width:38ch;margin-bottom:32px;font-size:16px}.cta{border:1px solid var(--border-h);color:var(--t);letter-spacing:.18em;text-transform:uppercase;border-radius:2px;padding:13px 28px;font-size:12px;font-weight:500;transition:color .3s,border-color .3s;display:inline-block;position:relative;overflow:hidden}.cta:before{content:"";background:var(--accent);transform-origin:0;z-index:-1;transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scaleX(0)}.cta:hover{color:#0b0b0d;border-color:var(--accent)}.cta:hover:before{transform:scaleX(1)}.about-block{border-top:1px solid var(--border);padding-top:36px}.about-block p{color:var(--m);font-size:15px;line-height:1.75}.chips{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.chip{letter-spacing:.12em;text-transform:uppercase;color:var(--m);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff08;border-radius:2px;padding:5px 14px;font-size:11px;transition:border-color .25s,color .25s}.chip:hover{border-color:var(--accent);color:var(--accent)}.contact-block{border-top:1px solid var(--border);padding-top:36px}.contact-link{color:var(--t);align-items:center;gap:8px;margin-top:12px;padding-bottom:2px;font-size:14px;display:inline-flex;position:relative}.contact-link:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .35s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.contact-link:hover:after{transform:scaleX(1)}.contact-link .arr{color:var(--accent)}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--m);margin-bottom:10px;font-size:11px;font-weight:500;display:block}.section-title{font-family:var(--font-serif);letter-spacing:.22em;text-transform:uppercase;color:var(--m);margin-bottom:36px;font-size:clamp(14px,1.1vw,18px);font-weight:400}.grid{gap:var(--gap);grid-template-columns:repeat(2,1fr);display:grid}.proj{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(18px)saturate(1.1);cursor:pointer;flex-direction:column;padding:32px 30px 28px;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .35s,box-shadow .45s;display:flex;position:relative;overflow:hidden}.proj:before{content:attr(data-idx);font-family:var(--font-serif);letter-spacing:.14em;color:#ffffff2e;font-size:12px;font-weight:300;position:absolute;top:28px;right:28px}.proj:after{content:"";background:var(--accent);width:0;height:1px;transition:width .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0}.proj:hover:after{width:100%}.proj:hover{border-color:var(--border-h);transform:translateY(-3px);box-shadow:0 24px 60px #0000008c}.proj-cat{margin-bottom:20px}.proj-title{font-family:var(--font-serif);color:var(--t);letter-spacing:-.01em;margin-bottom:12px;font-size:clamp(24px,2.2vw,32px);font-weight:300;line-height:1.15}.proj-desc{color:var(--m);flex:1;font-size:14px;line-height:1.7}.proj-link{letter-spacing:.14em;text-transform:uppercase;color:var(--m);align-items:center;gap:6px;margin-top:24px;padding-bottom:1px;font-size:12px;transition:color .25s;display:inline-flex;position:relative}.proj-link:after{content:"";background:var(--accent);width:0;height:1px;transition:width .35s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0}.proj:hover .proj-link{color:var(--accent)}.proj:hover .proj-link:after{width:100%}.proj:hover .arr{transform:translate(4px)}.arr{color:var(--accent);transition:transform .3s cubic-bezier(.22,1,.36,1);display:inline-block}.blog-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(18px)saturate(1.1);cursor:pointer;align-items:center;gap:24px;padding:24px;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .35s,box-shadow .45s;display:flex;position:relative;overflow:hidden}.blog-card:after{content:"";background:var(--accent);width:0;height:1px;transition:width .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0}.blog-card:hover:after{width:100%}.blog-card:hover{border-color:var(--border-h);transform:translateY(-3px);box-shadow:0 24px 60px #0000008c}.blog-card-thumb{border:1px solid var(--border);background:#ffffff05;border-radius:4px;flex-shrink:0;width:140px;height:140px;overflow:hidden}.blog-card-thumb img{object-fit:cover;width:100%;height:100%}.gradient-thumb{background:linear-gradient(135deg, var(--bg) 0%, #c8a97e40 100%);width:100%;height:100%}.blog-card-content{flex-direction:column;flex:1;display:flex}.blog-card-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.blog-card-meta .eyebrow{margin-bottom:0}.blog-date{color:var(--m);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.blog-card-title{font-family:var(--font-serif);color:var(--t);letter-spacing:-.01em;margin-bottom:10px;font-size:clamp(20px,1.8vw,26px);font-weight:300;line-height:1.15}.blog-card-excerpt{color:var(--m);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-card .proj-link{margin-top:16px}.blog-card:hover .proj-link{color:var(--accent)}.blog-card:hover .proj-link:after{width:100%}.blog-card:hover .arr{transform:translate(4px)}.anim-item{opacity:0;animation:.75s cubic-bezier(.22,1,.36,1) both fadeUp;animation-delay:var(--delay,0s);transform:translateY(22px)}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.split{grid-template-columns:1fr;padding:48px 0 80px}.info-panel{gap:36px;position:static}.grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.blog-card{flex-direction:column;gap:16px}.blog-card-thumb{width:100%;height:180px}}@media (max-width:640px){.wrap{padding:0 20px}.grid{grid-template-columns:1fr}.split{padding:36px 0 60px}.info-inner h1{font-size:clamp(44px,12vw,66px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}#bg{display:none}body{background:linear-gradient(135deg,#0e0d0f 0%,#12100e 100%)}}.back{letter-spacing:.14em;text-transform:uppercase;color:var(--m);align-items:center;gap:6px;margin:28px 0;font-size:12px;transition:color .25s;display:inline-flex}.back:hover{color:var(--t)}.mouse-glow{--glow-color:#c8a97e26;--glow-size:600px;z-index:2;pointer-events:none;background:radial-gradient(var(--glow-size) circle at var(--x,50%) var(--y,50%), var(--glow-color) 0%, transparent 100%);opacity:0;width:100vw;height:100vh;transition:opacity .3s ease-out;position:fixed;top:0;left:0}.mouse-glow.active{opacity:1}
