html{scroll-behavior:smooth}.hero{border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:clip;position:relative}.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url(/assets/hero-bg-seattle.webp);background-size:cover;background-position:center;opacity:.18;filter:grayscale(60%);mask-image:linear-gradient(to bottom,transparent 0%,black 45%,black 75%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 45%,black 75%,transparent 100%)}.hero>.container{position:relative;z-index:1}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;padding:56px 0 48px}.hero h1{font-size:clamp(40px,5vw,var(--text-5xl));color:var(--paper)}.hero h1 em{font-style:normal;color:var(--sprout-300)}.hero-side{display:flex;flex-direction:column;gap:24px;align-items:flex-start}.hero-side p{color:var(--ink-300);font-size:var(--text-sm);max-width:34ch}.hero-stats{display:flex;gap:64px;padding:40px 0 96px;align-items:flex-start;position:relative}.stat .num{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-3xl);color:var(--paper);line-height:1}.stat .num em{font-style:normal;color:var(--sprout-300)}.stat .lbl{color:var(--ink-400);font-size:var(--text-sm);margin-top:8px}.badge-spin{position:absolute;right:0;bottom:24px;z-index:3;width:128px;height:128px;pointer-events:none}.badge-spin svg{width:100%;height:100%;animation:spin 18s linear infinite}@media(prefers-reduced-motion:reduce){.badge-spin svg{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.badge-star{position:absolute;inset:0;display:grid;place-items:center}.badge-star .leaf{width:30px;height:30px;background:var(--ink-900);border-radius:var(--radius-leaf)}.btn-ghost-light{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1px var(--ink-600)}.btn-ghost-light:hover{background:var(--ink-800)}.marquee{overflow:hidden;padding:36px 0;border-bottom:1px solid var(--border-default)}.marquee-track{display:flex;gap:72px;width:max-content;animation:marquee 40s linear infinite}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}@keyframes marquee{to{transform:translate(-50%)}}.marquee .client{font-family:var(--font-subbrand);font-weight:var(--weight-regular);letter-spacing:.18em;text-transform:lowercase;white-space:nowrap;color:var(--ink-400);font-size:var(--text-sm);display:flex;align-items:center;gap:16px}.marquee .client:before{content:"";width:10px;height:10px;background:var(--sprout-300);border-radius:var(--radius-leaf);flex:none}.essence{padding:112px 0}.essence-grid{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start}.essence-left{display:flex;flex-direction:column;gap:28px;align-items:flex-start}.essence-left .eyebrow{color:var(--text-muted)}.essence h2{font-size:clamp(28px,3.2vw,var(--text-3xl));font-weight:var(--weight-medium)}.essence h2 .hl{background:linear-gradient(transparent 62%,var(--sprout-300) 62%)}.essence p.follow{margin-top:24px;color:var(--text-secondary);max-width:62ch}.community{padding:0 0 112px}.community-shell{background:var(--surface-accent-soft);border:1px solid var(--sprout-200);border-radius:var(--radius-leaf-lg);padding:64px;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;position:relative;overflow:hidden}.community-shell>div{position:relative;z-index:1}.community-shell>div.community-leaf{position:absolute;z-index:0;pointer-events:none;background:var(--sprout-200);border-radius:var(--radius-leaf-lg);opacity:.55}.community .eyebrow{color:var(--text-muted);display:block;margin-bottom:20px}.community h2{font-size:var(--text-2xl)}.community p.body{margin-top:20px;color:var(--text-secondary);font-size:var(--text-sm);max-width:52ch}.community h4{font-family:var(--font-subbrand);font-weight:var(--weight-light);letter-spacing:var(--tracking-wide);text-transform:lowercase;font-size:12px;color:var(--text-muted);margin-bottom:16px}.np-list{list-style:none;padding:0;display:flex;flex-direction:column}.np-list li{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid var(--sprout-200);font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-sm)}.np-list li:first-child{border-top:1px solid var(--sprout-200)}.np-list li span{font-family:var(--font-body);font-weight:var(--weight-regular);color:var(--text-muted);font-size:var(--text-xs)}.community-shell:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#e40303,#ff8c00,#ffd400,#008026,#24408e,#732982);z-index:2}.pride-dots{display:flex;gap:8px;margin-top:28px}.pride-dots span{width:14px;height:14px;border-radius:var(--radius-leaf)}.svc-icon{width:48px;height:48px;border-radius:var(--radius-leaf);background:var(--surface-accent-soft);color:var(--ink-900);display:grid;place-items:center}.svc-card.feature .svc-icon{background:var(--sprout-300)}.services{padding:0 0 112px}.services-head{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;margin-bottom:48px}.services-head h2{font-size:var(--text-3xl)}.services-head p{color:var(--text-muted);font-size:var(--text-sm);max-width:44ch;justify-self:end}.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.svc-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-leaf-lg);padding:36px;display:flex;flex-direction:column;gap:14px;min-height:260px;transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.svc-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.svc-card.feature{background:var(--surface-inverse);color:var(--text-inverse);border-color:var(--surface-inverse)}.svc-card.feature .svc-desc{color:var(--ink-300)}.svc-card.feature a{color:var(--sprout-300)}.svc-num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.svc-card.feature .svc-num{color:var(--ink-400)}.svc-card h3{font-size:var(--text-xl)}.svc-desc{color:var(--text-secondary);font-size:var(--text-sm);flex:1}.svc-link{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-sm)}.svc-link:after{content:" ↗"}.work-shell{border-radius:var(--radius-lg);margin:0 16px;padding:88px 0}.work-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:40px}.work-head h2{font-size:var(--text-3xl);color:var(--paper)}.work-head p{color:var(--ink-400);font-size:var(--text-sm);max-width:44ch;justify-self:end}.chips{display:flex;gap:10px;margin-bottom:36px;flex-wrap:wrap}.chip{font-family:var(--font-display);font-size:13px;padding:10px 20px;border-radius:var(--radius-pill);border:1px solid var(--ink-700);color:var(--ink-300);background:transparent;white-space:nowrap;cursor:pointer}.chip.on{background:var(--paper);color:var(--ink-900);border-color:var(--paper)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.work-grid>.proj{min-width:0}.work-all{display:flex;justify-content:center;margin-top:48px}.proj{display:flex;flex-direction:column;gap:16px}.proj .shot{height:300px;border-radius:var(--radius-leaf);overflow:hidden}.proj .shot img{width:100%;height:100%;object-fit:cover;display:block}.proj-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.proj-meta h3{font-size:var(--text-md);color:var(--paper)}.proj-meta p{color:var(--ink-400);font-size:13px;margin-top:4px}.proj-arrow{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--ink-700);display:grid;place-items:center;color:var(--sprout-300);font-size:16px}.faq{padding:112px 0}.faq-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:40px}.faq-head h2{font-size:var(--text-3xl)}.faq-head p{color:var(--text-muted);font-size:var(--text-sm);max-width:40ch;justify-self:end}.faq details{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden}.faq details[open]{background:var(--surface-inverse);color:var(--text-inverse);border-color:var(--surface-inverse)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-lg);padding:26px 32px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-weight:var(--weight-regular);font-size:24px;color:var(--text-muted)}.faq details[open] summary:after{content:"×";color:var(--sprout-300)}.faq .ans{padding:0 32px 26px;font-size:var(--text-sm);max-width:70ch}.faq details[open] .ans{color:var(--ink-300)}.quote-shell{border-radius:var(--radius-lg);margin:0 16px;padding:96px 0;position:relative;overflow:hidden}.quote-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url(/assets/quote-bg-seattle.webp);background-size:cover;background-position:center;opacity:.1;filter:grayscale(100%);mask-image:linear-gradient(to right,transparent 25%,black 80%);-webkit-mask-image:linear-gradient(to right,transparent 25%,black 80%)}.quote-shell>.container{position:relative;z-index:1}.quote-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:48px}.quote-head h2{font-size:var(--text-3xl);color:var(--paper)}.quote-head p{color:var(--ink-400);font-size:var(--text-sm);max-width:36ch;justify-self:end}.bigquote{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:clamp(24px,2.8vw,var(--text-2xl));line-height:1.4;letter-spacing:var(--tracking-tight);color:var(--paper);max-width:24em}.bigquote .hl{color:var(--sprout-300)}.quote-mark{font-family:var(--font-display);font-size:96px;line-height:.5;color:var(--ink-700);display:block;margin-bottom:32px}.quote-attr{margin-top:32px;color:var(--ink-400);font-size:var(--text-sm)}.quote-attr strong{color:var(--paper);font-weight:var(--weight-medium)}.quote-stage{display:grid}.quote-slide{grid-area:1 / 1;opacity:0;transition:opacity .6s var(--ease-out);pointer-events:none}.quote-slide.on{opacity:1;pointer-events:auto}.quote-dots{display:flex;gap:10px;margin-top:40px}.quote-dots button{width:10px;height:10px;border-radius:50%;border:none;cursor:pointer;background:var(--ink-700);padding:0;transition:background .3s}.quote-dots button.on{background:var(--sprout-300)}@media(max-width:900px){.hero-grid,.services-head,.work-head,.faq-head,.quote-head,.essence-grid,.community-shell,.svc-grid,.work-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}.nav-links{display:none}.hero-stats{flex-wrap:wrap;gap:32px}.badge-spin{display:none}}
