/* Chinese fallback fonts keep text readable across desktop and mobile. */
/* Remove the template's footer design credit on every page. */
[data-framer-name="bottom line"] [data-framer-name="Terms & Conditions"]:has(a[href="https://stacymore.com/"]) {
  display: none !important;
}
/* Deep portfolio palette across the primary narrative modules. */
:root {
  --site-deep: #12181B;
  --site-ink: #F3F5F5;
  --site-muted: #9DA8AA;
  --site-line: rgba(243, 245, 245, .2);
}
html,
body,
#main,
.framer-yBiHk { background-color: var(--site-deep) !important; }
section#about,
section#top-work,
section#featured-projects,
section#about-me,
section#about > div,
section#top-work > div,
section#featured-projects > div,
section#about-me > div { background-color: var(--site-deep) !important; }
:is(section#about, section#top-work, section#featured-projects, section#about-me) .framer-text {
  --framer-text-color: var(--site-ink) !important;
  color: var(--site-ink) !important;
}
:is(section#about, section#top-work, section#featured-projects, section#about-me) a { color: var(--site-ink) !important; }
:is(section#about, section#top-work, section#featured-projects, section#about-me) [data-framer-name="box"] {
  background-color: #182126 !important;
}
:is(section#about, section#top-work, section#featured-projects, section#about-me) [data-framer-name="box"] [style*="background-color: rgb(255, 255, 255)"] {
  background-color: #182126 !important;
}
:is(section#about, section#top-work, section#featured-projects, section#about-me) .framer-1mer0q7 {
  color: var(--site-line) !important;
  fill: var(--site-line) !important;
}
/* Hide the homepage hero biography and location/clock while preserving spacing. */
.framer-yBiHk .framer-aillzp { visibility: hidden !important; pointer-events: none !important; }
/* Remove the footer social navigation and booking block on every breakpoint. */
footer.framer-tNZ9G > footer.framer-1odyyuy { display: none !important; }
/* Remove testimonials and their navigation entry across desktop and mobile. */
section#opinions, a[href="#opinions"], a[href="./#opinions"], a[href="../#opinions"], a[href="/#opinions"] { display: none !important; }
/* The expanded menu keeps only the About and Portfolio destinations. */
nav.framer-hmHNT a[href*="cal.com"],
nav.framer-hmHNT .framer-16sql3e > div:has(a[href*="cal.com"]),
nav.framer-hmHNT .framer-7wppri > div:has(a[href$="#opinions"]),
nav.framer-hmHNT .framer-7wppri > div:has(a[href*="#q-and-a"]) { display: none !important; }
nav.framer-hmHNT .framer-7wppri { display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; gap: 28px !important; width: 100% !important; }
nav.framer-hmHNT .framer-7wppri > div { height: auto !important; flex: none !important; }
nav.framer-hmHNT .framer-16sql3e { align-self: center !important; min-height: 0 !important; gap: 0 !important; }
@media (max-width: 809px) {
  nav.framer-hmHNT .framer-7wppri { gap: 22px !important; }
}
html[lang="zh-CN"] { font-family: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; }
html[lang="zh-CN"] .framer-text { line-break: auto; word-break: normal; overflow-wrap: break-word; }
html[lang="zh-CN"] .framer-text[data-cjk] { font-family: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; }
html[lang="zh-CN"] :is(h1,h2,h3)[data-cjk] { line-height: 1.12; letter-spacing: -.035em; }
html[lang="zh-CN"] header div.framer-text[data-cjk] { line-height: 1.08; letter-spacing: -.05em; font-size: clamp(72px, 10.8vw, 190px); font-weight: 700; }
html[lang="zh-CN"] .framer-text[data-cjk] span[style*="white-space:nowrap"] { white-space: normal !important; }
@media (max-width: 809px) {
  html[lang="zh-CN"] header div.framer-text[data-cjk] { font-size: clamp(58px, 15vw, 108px); line-height: 1.08; }
  html[lang="zh-CN"] :is(h1,h2,h3)[data-cjk] { letter-spacing: -.025em; }
}

/* Personal contact details are distributed evenly with the menu trigger. */
.framer-hmHNT .framer-1lydobf {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: center !important;
  padding: 0 30px !important;
}
.framer-hmHNT .framer-11cxctc { display: contents !important; }
.framer-hmHNT .framer-1tozfr9,
.framer-hmHNT .framer-7e2u0z { width: auto !important; }
.framer-hmHNT .framer-1tozfr9 { grid-column: 1; justify-self: start; }
.framer-hmHNT .site-contact-phone { grid-column: 2; justify-self: center; color: #fff; font-size: 12px; font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap; }
.framer-hmHNT .framer-7e2u0z { grid-column: 3; justify-self: center; }
.framer-hmHNT .framer-3kz80 { grid-column: 4; justify-self: end; width: auto !important; padding: 0 !important; }

/* Remove the Framer badge and the homepage's lower link/social strip. */
#__framer-badge-container,
.framer-yBiHk .framer-6pmauf { display: none !important; }

/* The creative-directions section has no standalone contact action. */
section#about-me .framer-yejuxk-container { display: none !important; }

@media (max-width: 809px) {
  .framer-hmHNT .framer-1lydobf { grid-template-columns: auto auto auto 37px !important; justify-content: space-between !important; column-gap: 6px !important; padding: 0 16px !important; }
  .framer-hmHNT .site-contact-phone,
  .framer-hmHNT .framer-1lydobf .framer-text { font-size: 10px !important; }
  .framer-hmHNT .framer-1tozfr9,
  .framer-hmHNT .site-contact-phone,
  .framer-hmHNT .framer-7e2u0z,
  .framer-hmHNT .framer-7e2u0z a { min-height: 44px !important; display: flex !important; align-items: center !important; }
}

/* Work experience replaces the former facts block. */
section#about-me { gap: 32px !important; }
section#about-me .framer-1j3vthx { display: none !important; }
section#q-and-a { display: none !important; }
section#about-me .framer-rh2hmy {
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
}
.site-experience {
  width: 100%;
  color: var(--site-ink);
}
.site-experience__lead {
  margin: 0;
  padding: 28px 0 34px;
  font-size: clamp(54px, 6vw, 108px);
  font-weight: 600;
  line-height: .94;
  letter-spacing: -.055em;
}
.site-experience__item {
  display: grid;
  grid-template-columns: minmax(150px, 0.34fr) 1fr;
  gap: 32px;
  padding: 34px 0 38px;
  border-bottom: 1px solid var(--site-line);
}
.site-experience__date {
  margin: 3px 0 0;
  color: var(--site-muted);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}
.site-experience__role {
  margin: 0 0 18px;
  font-size: clamp(23px, 2.25vw, 36px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.035em;
}
.site-experience__company {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--site-muted);
  letter-spacing: 0;
}
.site-experience__copy {
  display: grid;
  gap: 10px;
  max-width: 900px;
}
.site-experience__copy p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.site-experience__label { font-weight: 650; }

/* Creative direction follows the same numbered module rhythm as the sections above. */
section#about-me .site-direction-module {
  align-items: stretch !important;
}
.site-direction-module__mark {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-column: 1 / -1;
  align-items: center;
  align-self: stretch;
  flex: 0 0 100%;
  gap: 14px;
  width: 100%;
  scroll-margin-top: 76px;
  margin: clamp(88px, 9vw, 148px) 0 clamp(58px, 6.5vw, 104px);
  color: var(--site-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
}
.site-direction-module__mark i {
  display: block;
  height: 1px;
  background: var(--site-line);
}
.site-direction-module__mark strong {
  color: var(--site-ink);
  font-size: inherit;
  font-weight: 600;
  white-space: nowrap;
}

/* Footer contact details and cleanup. */
footer.framer-tNZ9G .framer-tgf6r0 { display: none !important; }
footer.framer-tNZ9G .framer-d8og7a { position: relative !important; }
.site-footer-contacts {
  position: absolute;
  z-index: 2;
  top: 28px;
  right: 0;
  display: grid;
  gap: 8px;
  text-align: right;
}
.site-footer-contacts a {
  color: #fff;
  font-size: clamp(13px, 1.15vw, 17px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .02em;
  text-decoration: none;
}
footer .framer-d8og7a.site-contact-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  gap: 30px 0 !important;
}
footer .site-contact-footer > .framer-d82g0g {
  grid-column: 1 / -1;
  grid-row: 1;
}
footer .site-contact-footer > .site-footer-contacts {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  align-self: stretch;
  grid-template-rows: auto auto minmax(0, 1fr);
  margin-top: 6px;
}
footer .site-contact-footer > .framer-afdkso {
  grid-column: 1 / -1;
  grid-row: 2;
}
footer .site-footer-contacts .site-contact-qr {
  display: block;
  width: 124px;
  height: auto;
  margin-top: 0;
  align-self: end;
  justify-self: end;
}

@media (max-width: 809px) {
  .site-experience__lead {
    padding: 22px 0 26px;
    font-size: clamp(42px, 14vw, 68px);
  }
  .site-experience__item { grid-template-columns: 1fr; gap: 14px; }
  .site-experience__item { padding: 26px 0 30px; }
  .site-experience__date { margin: 0; font-size: 12px; }
  .site-experience__role { margin-bottom: 12px; font-size: 24px; }
  .site-experience__copy p { font-size: 14px; line-height: 1.65; }
  .site-direction-module__mark {
    gap: 10px;
    margin-bottom: 42px;
    font-size: 10px;
  }
  .site-footer-contacts { top: 10px; right: 0; gap: 4px; }
  .site-footer-contacts a { font-size: 10px; }
  footer .framer-d8og7a.site-contact-footer {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    gap: 18px !important;
  }
  footer .site-contact-footer > .site-footer-contacts {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    grid-template-rows: auto auto auto;
    margin-top: 0;
  }
  footer .site-contact-footer > .framer-afdkso { grid-row: 3; }
  footer .site-footer-contacts .site-contact-qr { width: 96px; }
}

/* Panoramic creative-direction cards use the supplied artwork behind the copy. */
section#about-me .site-direction-banner[data-direction-banner="motion"] {
  --site-banner-image: url('/assets/motion-banner.webp');
}
section#about-me .site-direction-banner[data-direction-banner="product"] {
  --site-banner-image: url('/assets/product-banner.webp');
}
section#about-me .site-direction-banner[data-direction-banner="ip"] {
  --site-banner-image: url('/assets/ip-banner.webp');
}
section#about-me .site-direction-banner[data-direction-banner="operations"] {
  --site-banner-image: url('/assets/operations-banner.webp');
}
section#about-me .site-direction-banner[data-direction-banner="live-gifts"] {
  --site-banner-image: url('/assets/live-gifts-banner.webp');
}
section#about-me .site-direction-banner [data-framer-name="service"] {
  box-sizing: border-box;
  min-height: 300px;
  aspect-ratio: 4 / 1;
  padding: 28px 32px !important;
  overflow: hidden;
  border-radius: 8px;
  background-color: #101217;
  background-image: linear-gradient(90deg, rgba(8, 11, 17, .56), rgba(8, 11, 17, .15) 46%, transparent 68%), var(--site-banner-image);
  background-position: center;
  background-size: cover;
}
section#about-me .site-direction-banner [data-framer-name="service"] > [data-framer-name="text"] {
  width: min(46%, 520px) !important;
  height: auto !important;
  padding: 0 !important;
  align-self: flex-start;
}
section#about-me .site-direction-banner [data-framer-name="service"] [data-framer-name="head"] {
  width: 100% !important;
}
section#about-me .site-direction-banner [data-framer-name="service"] > [data-framer-name="line"] {
  display: none !important;
}
@media (max-width: 809px) {
  section#about-me .site-direction-banner [data-framer-name="service"] {
    min-height: 290px;
    aspect-ratio: auto;
    padding: 24px !important;
    background-position: 78% center;
    background-image: linear-gradient(90deg, rgba(8, 11, 17, .84), rgba(8, 11, 17, .36)), var(--site-banner-image);
  }
  section#about-me .site-direction-banner[data-direction-banner="live-gifts"] [data-framer-name="service"] {
    background-position: 29% center;
  }
  section#about-me .site-direction-banner [data-framer-name="service"] > [data-framer-name="text"] {
    width: min(100%, 360px) !important;
  }
}
/* Link the live-gift service card to its dedicated project page. */
section#about-me .site-live-gifts-link {
  cursor: pointer;
}
section#about-me .site-live-gifts-link h3::after {
  content: " ↗";
  display: inline-block;
  margin-left: .2em;
  font-size: .72em;
  transform: translateY(-.08em);
  transition: transform .2s ease;
}
section#about-me .site-live-gifts-link:hover h3::after,
section#about-me .site-live-gifts-link:focus-visible h3::after {
  transform: translate(.14em, -.22em);
}
section#about-me .site-live-gifts-link:focus-visible {
  outline: 2px solid var(--site-ink);
  outline-offset: 5px;
}

/* Custom profile copy and tools strip. */
section#about .framer-yhuv58 { display: none !important; }
section#about .framer-19hovpf-container { display: none !important; }
section#about-me .framer-utg8mk { display: none !important; }
section#about .framer-eg7adp {
  padding: 0 80px 0 230px !important;
}
section#about .framer-jr41za {
  flex: none !important;
  width: 100% !important;
  max-width: 1280px !important;
}
section#about .framer-1ubvgek {
  display: grid !important;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  align-items: stretch !important;
  gap: clamp(36px, 5vw, 80px) !important;
  width: 100% !important;
}
section#about .framer-1ffwu5r,
section#about .framer-11fsg62 {
  width: 100% !important;
}
section#about .framer-1ffwu5r {
  align-items: stretch !important;
  gap: 0 !important;
}
section#about .framer-11fsg62 {
  aspect-ratio: 804 / 711;
  height: auto !important;
}
section#about img[alt="设计师肖像"] {
  object-position: center !important;
}
section#about .framer-1vavt96 {
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  gap: 18px;
  width: 100% !important;
  max-width: 720px !important;
  padding: 4px 0 0 !important;
}
section#about .framer-1vavt96 p {
  font-size: clamp(18px, 1.55vw, 23px) !important;
  line-height: 1.7 !important;
  letter-spacing: -.01em !important;
  color: var(--site-ink) !important;
}
section#about .framer-1or2z5v h4 {
  font-size: clamp(18px, 1.6vw, 24px) !important;
  line-height: 1.1 !important;
}
section#about .framer-1or2z5v {
  align-items: baseline !important;
  padding: 22px 0 6px !important;
}
section#about .framer-kdmskw-container {
  height: auto !important;
  min-height: 0 !important;
}
section#about-me .framer-40nk95-container {
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
  width: 170px !important;
}
.site-profile-stack {
  display: grid;
  gap: 7px;
  padding: 4px 0;
  color: var(--site-ink);
}
.site-profile-stack strong {
  font-size: 22px;
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: -.03em;
}
.site-profile-stack span {
  font-size: 13px;
  line-height: 1.35;
  color: var(--site-muted);
}
.site-tools-marquee {
  width: 100%;
  overflow: visible;
}
.site-tools-track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  padding: 0;
}
.site-tools-track span {
  flex: none;
  color: var(--site-muted);
  font-size: clamp(12px, 1vw, 15px);
  font-weight: 400;
  letter-spacing: 0;
  white-space: nowrap;
  text-align: left;
}
.site-intro-meta {
  display: grid;
  gap: 9px;
  padding: 20px 0 0;
  color: var(--site-ink);
}
.site-intro-meta__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: baseline;
  gap: 24px;
  font-size: 13px;
  line-height: 1.45;
}
.site-intro-meta__row--primary {
  grid-template-columns: minmax(0, 1fr) auto;
}
.site-intro-meta__row--education {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
.site-intro-meta strong {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.02em;
}
.site-intro-meta__row > :last-child { text-align: right; }
nav#about-me .framer-1916agb { gap: 32px !important; }
nav#about-me .framer-1tbh5hs h1 {
  font-size: clamp(76px, 6vw, 110px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.065em !important;
}
nav#about-me .site-about-bio {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px;
  align-items: center !important;
  gap: 56px !important;
  padding-left: 230px !important;
}
nav#about-me .site-about-bio .framer-8yclyk { width: 100% !important; min-width: 0 !important; }
nav#about-me .site-about-bio .framer-1wupxkp {
  width: 300px !important;
  height: 363px !important;
  max-width: none !important;
}
nav#about-me .site-about-bio .framer-1wupxkp img { object-position: center center !important; }
.site-about-bio .framer-1j5gxnl h3 {
  font-size: clamp(22px, 1.45vw, 27px) !important;
  line-height: 1.58 !important;
  letter-spacing: -.025em !important;
}
.site-about-work .framer-1jg2nyr,
.site-about-work .framer-eq0q9i {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
}
.site-about-experience,
.site-about-projects { width: 100%; color: #242424; }
.site-about-experience h2,
.site-about-projects h2 {
  margin: 0 0 36px;
  font-size: clamp(36px, 4vw, 68px);
  line-height: 1.05;
  letter-spacing: -.055em;
  font-weight: 700;
}
.site-about-experience__list,
.site-about-projects__list { border-top: 1px solid #c9c9c9; }
.site-about-experience__item {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 32px;
  padding: 30px 0 34px;
  border-bottom: 1px solid #c9c9c9;
}
.site-about-experience__item time,
.site-about-projects__item time { color: #777; font-size: 15px; line-height: 1.5; white-space: nowrap; }
.site-about-experience__body h3 {
  margin: 0;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -.025em;
}
.site-about-experience__body p { margin: 18px 0 0; max-width: 880px; font-size: 16px; line-height: 1.75; }
.site-about-experience__body p strong { font-weight: 600; }
.site-about-experience__body .site-about-experience__role { margin-top: 4px; color: #555; font-size: 17px; }
.site-about-projects__item {
  display: grid;
  grid-template-columns: 135px minmax(0, 1fr) minmax(200px, .9fr);
  align-items: baseline;
  gap: 24px;
  padding: 20px 0;
  border-bottom: 1px solid #d8d8d8;
}
.site-about-projects__item h3,
.site-about-projects__item p { margin: 0; font-size: 16px; line-height: 1.55; }
.site-about-projects__item h3 { font-weight: 600; }
.site-about-projects__item p { color: #666; }
@media (min-width: 810px) and (max-width: 1199px) {
  nav#about-me .framer-1tbh5hs { padding-left: 150px !important; }
  nav#about-me .site-about-bio {
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 32px !important;
    padding-left: 150px !important;
  }
  nav#about-me .site-about-bio .framer-1wupxkp { width: 240px !important; height: 290px !important; }
}
@media (max-width: 809px) {
  nav#about-me .framer-1tbh5hs { padding-left: 0 !important; }
  nav#about-me .framer-1tbh5hs h1 { font-size: clamp(56px, 12vw, 80px) !important; }
  nav#about-me .site-about-bio {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px !important;
    padding-left: 0 !important;
  }
  nav#about-me .site-about-bio .framer-1wupxkp {
    width: min(100%, 360px) !important;
    height: auto !important;
    aspect-ratio: 1086 / 1314;
  }
  .site-about-bio .framer-1j5gxnl h3 { font-size: 20px !important; line-height: 1.6 !important; }
  .site-about-work .framer-r4m7q,
  .site-about-work .framer-67prcl { padding-left: 0 !important; }
  .site-about-experience__item { grid-template-columns: 1fr; gap: 10px; padding: 24px 0 28px; }
  .site-about-projects__item { grid-template-columns: 1fr; gap: 3px; padding: 17px 0; }
  .site-about-projects__item h3 { margin-top: 5px; }
  section#about .framer-eg7adp { padding: 0 20px !important; }
  section#about .framer-1ubvgek {
    grid-template-columns: 1fr;
    gap: 24px !important;
  }
  section#about .framer-1ffwu5r {
    max-width: 360px;
    justify-self: center;
  }
  section#about .framer-1vavt96 {
    max-width: none !important;
    padding-top: 12px !important;
  }
  section#about .framer-1vavt96 p {
    font-size: 17px !important;
    line-height: 1.75 !important;
  }
  section#about .framer-1or2z5v h4 { font-size: 19px !important; }
  section#about-me .framer-40nk95-container { width: 100% !important; }
  .site-profile-stack { gap: 5px; }
  .site-profile-stack strong { font-size: 20px; }
  .site-tools-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 24px;
    padding: 16px 0;
  }
  .site-tools-track span { font-size: 12px; }
  .site-tools-track span { text-align: left; }
  .site-intro-meta__row { gap: 16px; }
  .site-intro-meta__row--education {
    grid-template-columns: 1fr 1fr;
  }
  .site-intro-meta__row--education span:last-child {
    grid-column: 1 / -1;
    text-align: left;
  }
}
/* Keep deleted homepage sections hidden even during Framer route transitions. */
.framer-yBiHk section#top-work > .framer-l9m6o6,
.framer-yBiHk section#featured-projects {
  display: none !important;
}
