:root{--hero-h:160px;--compact-h:68px;--brand-max:2.5rem;--brand-min:1.5rem;@media (width<=1024px){--hero-h:140px;--compact-h:60px;--brand-max:2rem}}.site-header{z-index:10;background:var(--bg);box-sizing:border-box;border-bottom:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;justify-content:center;padding:0 48px;display:flex;position:fixed;top:0;left:0;right:0;@media (width<=1024px){padding:0 24px}}.site-header--hero{background:rgba(var(--bg-rgb), var(--p,0));box-shadow:none;border-bottom-color:#0000}.site-header--hero:after{content:"";pointer-events:none;border-bottom:1px solid var(--border);opacity:var(--p,0);position:absolute;inset:0;box-shadow:0 1px 3px #0000000f}.site-brand{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);width:fit-content;font-weight:600;line-height:1.1;text-decoration:none}.site-tagline{color:var(--text);margin:8px 0 0;font-size:1.25rem;line-height:1.2}.site-header--hero .site-tagline{transform:translateY(calc(1.1em + 10px + var(--p) * -6px));margin:0;position:absolute;top:50%}.site-header--compact{height:var(--compact-h);border-bottom-color:var(--border);flex-direction:row;justify-content:flex-start;align-items:center;box-shadow:0 1px 3px #0000000f}.site-header--compact .site-brand{font-size:var(--brand-min)}.site-header--hero{--p:0;height:calc(var(--hero-h) + (var(--compact-h) - var(--hero-h)) * var(--p))}.site-header--hero .site-brand{font-size:var(--brand-max);transform-origin:0;transform:scale(calc(1 - (1 - .6) * var(--p)))}.site-header--hero .site-tagline{opacity:calc(1 - var(--p) * 2.5)}.header-spacer{height:var(--hero-h)}.header-spacer--compact{height:var(--compact-h)}.site-nav{height:var(--compact-h);align-items:center;display:flex;position:absolute;top:0;right:48px;@media (width<=1024px){right:24px}}.nav-links{align-items:center;gap:28px;margin:0;padding:0;list-style:none;display:flex}.nav-link{font-family:var(--heading);color:var(--text);font-size:1rem;font-weight:500;text-decoration:none;transition:color .15s}.nav-link:hover,.nav-link.is-active{color:var(--accent)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:none}.nav-toggle-bar{background:var(--text-h);border-radius:2px;width:24px;height:2px;transition:transform .25s,opacity .2s;display:block}.nav-toggle.is-open .nav-toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.is-open .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle.is-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{top:var(--compact-h);z-index:11;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow);display:none;position:fixed;left:0;right:0}.mobile-menu ul{margin:0;padding:8px 0;list-style:none}.mobile-link{font-family:var(--heading);color:var(--text-h);padding:14px 24px;font-size:1.1rem;font-weight:500;text-decoration:none;display:block}.mobile-link:hover,.mobile-link.is-active{color:var(--accent);background:var(--accent-bg)}@media (width<=1024px){.nav-links{display:none}.nav-toggle{display:flex}.mobile-menu.is-open{display:block}}.hero-bg{z-index:0;pointer-events:none;background-image: radial-gradient(70% 55% at 22% 8%, rgba(var(--accent-rgb), .18), transparent 70%),  linear-gradient(to right, var(--grid-line) 1px, transparent 1px),  linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);background-size:100% 100%,34px 34px,34px 34px;height:620px;position:absolute;top:0;left:0;right:0;mask-image:linear-gradient(#000 0 42%,#0000 96%)}.hero-bg--page{background-image:radial-gradient(55% 50% at 82% 0%, rgba(var(--accent-rgb), .1), transparent 70%), linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);height:460px}.landing-page{z-index:1;text-align:left;box-sizing:border-box;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:860px;margin:0 auto;padding:0 48px 80px;display:flex;position:relative;@media (width<=1024px){padding:0 24px 48px}}.divider{border:none;border-top:1px solid var(--border);width:100%;margin:40px 0 0}.projects{margin-top:24px}.project-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.project-card{border:1px solid var(--border);background:var(--social-bg);color:inherit;user-select:text;-webkit-user-drag:none;border-radius:12px;align-items:stretch;gap:16px;padding:12px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.project-card .project-shot{-webkit-user-drag:none;user-select:none}.project-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow);transform:translateY(-2px)}.project-shot{object-fit:cover;object-position:top;border:1px solid var(--border);border-radius:8px;flex-shrink:0;width:200px;height:125px}.project-info{flex-direction:column;justify-content:center;gap:6px;display:flex}.project-name{color:var(--accent);font-size:1.1rem;font-weight:600}.project-desc{color:var(--text);font-size:.95rem;line-height:1.4}@media (width<=1024px){.project-card{flex-direction:column}.project-shot{width:100%;height:160px}}.site-footer{text-align:center;color:var(--text);border-top:1px solid var(--border);margin-top:auto;padding:24px 48px;font-size:.9rem;@media (width<=1024px){padding:20px 24px}}.page{z-index:1;max-width:640px;padding:40px 48px 80px;position:relative;@media (width<=1024px){padding:24px 24px 48px}}.work-page{max-width:760px;margin-left:auto;margin-right:auto}.contact-page{margin-left:auto;margin-right:auto}.page-title{letter-spacing:-1.2px;margin:0 0 12px;font-size:40px;line-height:1.15}.page-intro{color:var(--text);margin:0 0 32px;font-size:1.1rem}.contact-form{flex-direction:column;gap:20px;display:flex}.hp-field{opacity:0;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-family:var(--heading);color:var(--text-h);font-size:.95rem;font-weight:500}.field input,.field textarea{font:inherit;color:var(--text-h);background:var(--bg);border:1px solid var(--border);border-radius:8px;outline:none;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field textarea:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg)}.btn-submit{font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:12px 28px;font-weight:600;transition:opacity .15s,transform .15s}.btn-submit:hover:not(:disabled){transform:translateY(-1px)}.btn-submit:disabled{opacity:.6;cursor:default}.form-error{color:#e5484d;margin:0;font-size:.95rem}.hero{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:760px;margin:8px auto 48px;display:flex;@media (width<=1024px){margin:4px auto 32px}}.hero-title{font-family:var(--heading);letter-spacing:-.03em;color:var(--text-h);margin:0;font-size:3rem;font-weight:600;line-height:1.1;@media (width<=1024px){font-size:2.1rem}}.hero-sub{color:var(--text);max-width:620px;margin:0;font-size:1.2rem;line-height:1.6}.work-cta{text-align:center;border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:16px;margin:64px auto 0;padding-top:40px;display:flex}.work-cta h2{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:1.6rem}.work-cta p{color:var(--text);max-width:520px;margin:0}.field-optional{color:var(--text);opacity:.8;font-weight:400}.differentiator{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:720px;margin:32px auto 16px;display:flex;@media (width<=1024px){margin:16px auto 8px}}.differentiator h2{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:2rem;line-height:1.2;@media (width<=1024px){font-size:1.6rem}}.differentiator p{color:var(--text);margin:0;font-size:1.15rem;line-height:1.7}.differentiator strong{color:var(--text-h);font-weight:600}.btn-row{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:28px;display:flex}.btn-primary{font-family:var(--heading);color:#fff;background:var(--accent);border-radius:8px;padding:13px 32px;font-size:1.05rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-block}.btn-primary:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn-secondary{font-family:var(--heading);color:var(--accent);border:1px solid var(--accent-border);background:0 0;border-radius:8px;padding:12px 31px;font-size:1.05rem;font-weight:600;text-decoration:none;transition:transform .15s,background .15s;display:inline-block}.btn-secondary:hover{background:var(--accent-bg);transform:translateY(-1px)}.form-success{color:var(--text-h);font-size:1.15rem;line-height:1.5}
