html,body{overflow-x:hidden}.site-header{background:#826d8c;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;height:64px}.menu-toggle{display:none}.brand-name{font-weight:600;letter-spacing:.2px}.nav{display:flex;gap:16px}.nav-link{opacity:.7}.nav-link.active,.nav-link:hover{opacity:1;text-decoration:underline}.logo{height:36px;width:auto;justify-self:end}main.container{flex:1;padding:24px 16px 48px}.grid-2{display:flex;gap:2rem;max-width:1000px;margin:0 auto}.grid-column{display:flex;flex-direction:column;gap:2rem;flex:1}@media (max-width: 700px){.grid-2{flex-direction:column;gap:1.5rem}.grid-column{gap:1.5rem}}.project-card{display:block;width:100%;box-sizing:border-box;background:var(--bg);border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:28px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000a,0 1px 2px #00000008;position:relative;overflow:hidden}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000014,0 4px 8px #0000000a;border-color:#0000001a}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-card.open{border-color:#0000001a;box-shadow:0 4px 12px #0000000f}.project-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.project-title{font-size:20px;font-weight:600;margin:0;line-height:1.3;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;flex:1}.chevron{font-size:24px;line-height:1;opacity:.5;transition:all .2s ease;flex-shrink:0}.project-card:hover .chevron{opacity:1}.project-body{overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);will-change:max-height}.project-body p{margin:0 0 16px;color:var(--muted);line-height:1.6;font-size:15px}.card-link-btn{all:unset;display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--fg);color:var(--bg);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:4px}.card-link-btn:hover{background:#826d8c;transform:translate(2px)}.card-link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-footer{border-top:1px solid var(--line);background:var(--bg)}.footer-inner{min-height:64px;display:flex;align-items:column;justify-content:center;color:var(--muted);font-size:14px}.home-wrap{position:relative;min-height:60vh}.bg-svg{position:fixed;top:100%;left:90%;width:50vmin;height:auto;opacity:1;pointer-events:none;z-index:0;transition:transform 80ms linear;will-change:transform}.app{display:flex;min-height:100vh;flex-direction:column;position:relative;z-index:1}.content-elevate{position:relative;z-index:1}@media (prefers-reduced-motion: reduce){.bg-svg{transition:none}}@media (max-width: 640px){.header-inner{grid-template-columns:1fr auto;height:auto;padding:10px 0}.logo{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:6px 10px;border-radius:6px;background:transparent;cursor:pointer;font-size:18px}.nav{display:none;flex-direction:column;gap:12px;padding:12px 0 4px;grid-column:1 / -1}.nav.open{display:flex}}@media (max-width: 640px){.project-card{padding:24px;border-radius:10px}.project-title{font-size:18px}.chevron{font-size:20px}.project-body p{font-size:14px}.card-link-btn{font-size:13px;padding:8px 14px}}:root{--bg: #ffffff;--fg: #111111;--muted: #666666;--line: #eaeaea;--accent: #111111;--maxw: 1100px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Montserrat,ui-sans-serif,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--fg);line-height:1.55}img,video{max-width:100%;height:auto}.brand-name{font-size:28px}h1,h2,h3,h4,h5,h6,.brand-name{font-family:Cormorant Garamond,serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 16px}.page-title{font-size:28px;margin:32px 0 16px;text-align:center}.lead{font-size:18px;color:var(--muted)}@media (max-width: 640px){.brand-name{font-size:20px}.page-title{font-size:22px;margin:20px 0 12px}.container{padding:0 12px}}
