/* Reckoner-inspired proportions;
YingTone's own palette and content. */
:root {
  --burgundy:#351714;
  --ivory:#f9f7f4;
  --sand:#dcd2ba;
  --ink:#202020;
  --secondary:#62605c;
  --line:#d6cdbf;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --gutter:clamp(24px,5vw,80px);
  --content:1280px;
  --font:'Geist','Chiron Hei HK','PingFang HK','Noto Sans TC',sans-serif;
  color-scheme:light;
  scrollbar-color:var(--line) var(--ivory)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body {
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font:400 18px/1.75 var(--font);
  -webkit-font-smoothing:antialiased
}
html:lang(zh-Hant) {
  --font:'Chiron Hei HK','Geist','PingFang HK','Noto Sans TC','Microsoft JhengHei',sans-serif
}
::selection {
  background:var(--sand);
  color:var(--burgundy)
}
a {
  color:inherit;
  text-decoration:none;
  text-underline-offset:.3em
}
button,summary {
  font:inherit
}
button {
  cursor:pointer
}
button,a,summary {
  -webkit-tap-highlight-color:transparent
}
button:disabled {
  cursor:wait;
  opacity:.65
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:2px solid currentColor;
  outline-offset:6px
}
main:focus {
  outline:none
}
img {
  display:block;
  max-width:100%;
  height:auto
}
svg {
  display:block
}
h1,h2,h3,p,figure,ul,ol,dl,dd {
  margin:0
}
h1,h2,h3 {
  font-weight:600;
  line-height:1.3;
  text-wrap:balance
}
h1 {
  font-size:clamp(36px,4.2vw,60px)
}
h2 {
  font-size:clamp(27px,2.7vw,40px)
}
h3 {
  font-size:24px
}
p+p {
  margin-top:20px
}
ul,ol {
  padding:0;
  list-style:none
}
[hidden] {
  display:none!important
}
.wrap {
  width:min(var(--content),calc(100% - var(--gutter)*2));
  margin-inline:auto
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.skip {
  position:fixed;
  top:12px;
  left:24px;
  z-index:100;
  padding:10px 20px;
  background:var(--sand);
  color:var(--burgundy);
  transform:translateY(-180%)
}
.skip:focus {
  transform:none
}
.icon {
  width:22px;
  height:22px;
  flex:0 0 22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-height:54px;
  padding:12px 26px;
  border:1px solid var(--sand);
  border-radius:2px;
  background:var(--sand);
  color:var(--burgundy);
  font-size:16px;
  font-weight:500;
  line-height:1.4;
  white-space:nowrap;
  transition:background-color 160ms ease,color 160ms ease
}
.button-small {
  min-height:44px;
  padding:10px 20px
}
.button-outline {
  background:transparent;
  color:var(--ivory);
  border-color:var(--sand)
}
.button-dark {
  background:var(--burgundy);
  border-color:var(--burgundy);
  color:var(--ivory)
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:18px;
  color:var(--burgundy);
  border-bottom:1px solid currentColor;
  padding-bottom:5px;
  font-size:16px;
  font-weight:500;
  line-height:1.5
}
.text-link .icon {
  transition:transform 180ms var(--ease-out)
}
/* Native disclosures keep navigation usable with scripts disabled. */
.site-header {
  height:80px;
  position:relative;
  z-index:20;
  background:var(--ivory);
  border-bottom:1px solid var(--line)
}
.header-inner {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.wordmark {
  display:inline-flex;
  flex-direction:column;
  line-height:1.3;
  white-space:nowrap
}
.wordmark>span {
  font-family:'Chiron Hei HK','PingFang HK',sans-serif;
  font-size:26px;
  font-weight:600;
  letter-spacing:.12em
}
.wordmark small {
  font-family:'Geist',sans-serif;
  font-size:12px;
  letter-spacing:.015em;
  margin-top:4px
}
.desktop-nav {
  display:flex;
  align-items:center;
  gap:32px;
  font-size:16px;
  line-height:1.5
}
.desktop-nav>a:not(.button),.nav-disclosure>summary {
  padding:12px 0
}
.desktop-nav [aria-current=page] {
  text-decoration:underline;
  text-underline-offset:7px
}
.nav-disclosure>summary,.mobile-nav>summary {
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  list-style:none
}
.nav-disclosure>summary::-webkit-details-marker,.mobile-nav>summary::-webkit-details-marker {
  display:none
}
.chevron {
  width:16px;
  height:16px;
  flex-basis:16px
}
.nav-disclosure[open] .chevron {
  transform:rotate(180deg)
}
.nav-panel {
  position:absolute;
  top:80px;
  right:var(--gutter);
  width:min(780px,calc(100vw - var(--gutter)*2));
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  padding:44px;
  background:var(--ivory);
  color:var(--ink);
  border:1px solid var(--line)
}
.nav-panel-intro p {
  max-width:23ch;
  font-size:22px;
  line-height:1.6
}
.nav-panel-intro .text-link {
  margin-top:28px
}
.nav-panel-links {
  display:flex;
  flex-direction:column;
  gap:0
}
.nav-panel-links a {
  padding:15px 0;
  border-bottom:1px solid var(--line)
}
.nav-panel-links a:first-child {
  padding-top:0
}
.mobile-nav {
  display:none
}
.mobile-panel {
  position:absolute;
  top:80px;
  left:0;
  right:0;
  padding:24px var(--gutter) 32px;
  background:var(--ivory);
  color:var(--ink);
  border-bottom:1px solid var(--line);
  display:grid;
  gap:20px
}
.mobile-panel>a {
  font-size:20px
}
.mobile-panel .button {
  margin-top:8px;
  width:fit-content
}
html[data-page=home] .site-header {
  background:var(--burgundy);
  color:var(--ivory);
  border-bottom:0
}
.hero {
  background:var(--burgundy);
  color:var(--ivory);
  position:relative;
  isolation:isolate;
  overflow:hidden
}
.hero-lines {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-1;
  fill:none;
  stroke:var(--sand);
  stroke-width:1;
  opacity:.12;
  pointer-events:none
}
.hero-lines g {
  transform-box:fill-box
}
.hero-main {
  min-height:clamp(430px,59vh,690px);
  display:flex;
  align-items:center;
  padding-block:70px 95px
}
.hero h1 {
  font-size:clamp(54px,7.1vw,102px);
  font-weight:600;
  line-height:1.35;
  letter-spacing:-.02em
}
.hero h1 span {
  display:block
}
.hero-foot {
  border-top:1px solid rgb(220 210 186 / .35);
  position:relative;
  background:var(--burgundy)
}
.hero-foot-inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:60px;
  align-items:center;
  padding-block:36px
}
.hero-foot p {
  max-width:38em;
  font-size:18px;
  line-height:1.8
}
.hero-actions {
  display:flex;
  gap:14px
}
.home-roles {
  padding-block:110px 100px
}
.home-roles>h2 {
  text-align:center;
  margin-bottom:50px
}
.role-entries {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.role-entry {
  border:1px solid var(--line);
  padding:36px 32px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:310px;
  transition:border-color 160ms ease,background-color 160ms ease
}
.role-entry h3 {
  font-size:28px;
  max-width:13ch;
  line-height:1.5
}
.role-entry p {
  font-size:17px;
  line-height:1.8;
  margin-top:20px;
  margin-bottom:36px;
  max-width:26em
}
.role-entry .text-link {
  margin-top:auto
}
.home-company {
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:90px;
  padding-block:64px 90px
}
.home-company h2 {
  max-width:10em
}
.home-company>div {
  border-left:1px solid var(--line);
  padding-left:60px
}
.home-company p {
  max-width:33em
}
.home-company .text-link {
  margin-top:26px
}
.page-intro {
  padding-block:92px 72px
}
.page-intro h1 {
  max-width:17ch
}
.page-intro .lede {
  margin-top:30px;
  max-width:42em
}
.lede {
  font-size:19px;
  line-height:1.85;
  color:var(--secondary)
}
.work-intro {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:64px;
  align-items:center;
  padding-block:80px 60px
}
.work-intro h1 {
  max-width:11ch
}
.work-intro-copy .lede {
  margin-top:28px;
  max-width:30em
}
.work-intro-copy .text-link {
  margin-top:28px
}
.alliance-diagram svg {
  width:100%;
  height:auto
}
.diagram-paths {
  fill:none;
  stroke:var(--burgundy);
  stroke-width:1;
  opacity:.7
}
.diagram-labels {
  font-size:14px;
  fill:var(--secondary);
  text-anchor:middle
}
.diagram-labels text {
  paint-order:stroke;
  stroke:var(--ivory);
  stroke-width:10px;
  stroke-linejoin:round
}
.diagram-roles {
  font-size:23px;
  font-weight:500;
  fill:var(--ink);
  text-anchor:middle
}
.diagram-yingtone {
  font-size:30px;
  fill:var(--burgundy);
  font-weight:600
}
.diagram-underline {
  stroke:var(--burgundy);
  stroke-width:1
}
.mobile-connections {
  display:none
}
.flow-roles {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px;
  padding-block:42px 72px;
  border-top:1px solid var(--line)
}
.flow-roles h2 {
  font-size:22px;
  line-height:1.5;
  margin-bottom:14px
}
.flow-roles p {
  font-size:16px;
  color:var(--secondary);
  line-height:1.9
}
.service-section {
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:90px;
  padding-block:66px 80px
}
.service-section>h2 {
  max-width:10ch
}
.service-list {
  display:grid;
  gap:34px
}
.service-item h3 {
  font-size:23px;
  margin-bottom:14px
}
.service-item p {
  max-width:37em;
  color:var(--secondary)
}
.service-item p+p {
  margin-top:18px
}
.service-note {
  font-size:16px;
  color:var(--secondary);
  border-top:1px solid var(--line);
  padding-top:24px
}
.after-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:30px
}
.after-steps li {
  border-top:1px solid var(--line);
  padding-top:16px
}
.after-steps span {
  font-family:'Geist',sans-serif;
  font-size:14px;
  color:var(--burgundy)
}
.after-steps li p {
  font-size:16px;
  line-height:1.6;
  margin-top:10px;
  color:var(--ink)
}
.contact-band {
  background:var(--sand);
  margin-top:30px
}
.contact-inner {
  padding-block:54px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:60px;
  align-items:center
}
.contact-inner h2 {
  font-size:32px
}
.contact-inner p {
  margin-top:18px;
  max-width:45em;
  font-size:17px
}
.role-index {
  display:flex;
  gap:30px;
  flex-wrap:wrap;
  margin-top:36px;
  font-size:17px
}
.role-index a {
  color:var(--burgundy);
  border-bottom:1px solid var(--line);
  padding-bottom:7px
}
.partnership {
  scroll-margin-top:32px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:90px;
  padding-block:66px
}
.partnership header h2 {
  font-size:28px;
  margin-bottom:20px
}
.partnership-promise {
  font-size:24px;
  max-width:15em;
  line-height:1.6
}
.partnership header .text-link {
  margin-top:30px
}
.responsibilities {
  display:grid;
  gap:30px
}
.responsibilities dt {
  font-size:19px;
  font-weight:600;
  margin-bottom:10px
}
.responsibilities dd {
  color:var(--secondary);
  max-width:37em
}
.role-note:empty {
  display:none
}
.role-note {
  font-size:16px;
  padding-top:24px;
  border-top:1px solid var(--line);
  color:var(--secondary);
  margin-top:30px
}
.start-section {
  border-top:1px solid var(--line);
  padding-block:65px 95px
}
.start-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  margin-block:42px
}
.step-number {
  font-family:'Geist',sans-serif;
  font-size:16px;
  color:var(--burgundy)
}
.start-steps h3 {
  font-size:23px;
  margin-block:14px
}
.start-steps p {
  color:var(--secondary);
  font-size:17px
}
.start-note {
  max-width:48em;
  margin-bottom:22px
}
.about-intro h1 {
  max-width:18ch
}
.story {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:90px;
  padding-block:50px 65px;
  border-top:1px solid var(--line)
}
.story h2 {
  max-width:13ch
}
.story>div {
  max-width:38em;
  color:var(--secondary)
}
.projects {
  padding-top:70px;
  border-top:1px solid var(--line)
}
.section-intro h2 {
  margin-bottom:22px
}
.section-intro>p {
  max-width:44em;
  color:var(--secondary)
}
.project {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:90px;
  padding-block:45px 55px;
  border-bottom:1px solid var(--line)
}
.project header h3 {
  font-size:28px;
  margin-bottom:15px
}
.project header p {
  font-size:17px;
  color:var(--secondary)
}
.project header p+p {
  margin-top:12px
}
.project-media>figure>img {
  width:100%;
  height:auto;
  max-height:440px;
  object-fit:contain;
  object-position:left;
  background:transparent
}
.project figcaption {
  font-size:14px;
  color:var(--secondary);
  margin-top:10px
}
.photo-disclosure {
  margin-top:22px
}
.photo-disclosure>summary {
  cursor:pointer;
  color:var(--burgundy);
  font-size:16px
}
.photo-gallery {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:24px;
  align-items:start
}
.photo-gallery img {
  max-height:340px;
  object-fit:contain;
  object-position:left
}
.trust-section {
  padding-block:75px
}
.trust-heading {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  margin-bottom:35px
}
.pause-button,.copy-button {
  border:0;
  background:transparent;
  color:inherit;
  padding:8px 0;
  font-size:14px;
  text-decoration:underline;
  text-underline-offset:4px
}
.pause-button {
  color:var(--burgundy)
}
.trust-group h3 {
  font-size:17px;
  font-weight:400;
  color:var(--secondary);
  margin-bottom:22px
}
.trust-group+.trust-group {
  margin-top:36px
}
.name-marquee {
  overflow:hidden;
  border-block:1px solid var(--line);
  padding-block:26px
}
.name-track {
  display:flex;
  width:max-content;
  animation:partner-scroll 38s linear infinite;
  animation-play-state:paused
}
.motion-enabled .name-track {
  animation-play-state:running
}
.name-track ul {
  display:flex;
  gap:75px;
  padding-right:75px;
  flex-shrink:0;
  align-items:center
}
.name-track li {
  font-family:'Geist',sans-serif;
  font-size:33px;
  font-weight:500;
  line-height:1.5;
  white-space:nowrap
}
.name-marquee:hover .name-track,.name-marquee:focus-within .name-track,.name-marquee.is-paused .name-track {
  animation-play-state:paused
}
.retailer-names {
  display:flex;
  flex-wrap:wrap;
  gap:24px 65px
}
.retailer-names li {
  font-size:25px;
  font-weight:500
}
.creators {
  padding-block:65px 75px;
  border-top:1px solid var(--line)
}
.creator-list {
  margin-top:30px
}
.creator-row {
  display:grid;
  grid-template-columns:1fr 1.25fr auto;
  gap:44px;
  align-items:center;
  padding-block:30px;
  border-bottom:1px solid var(--line)
}
.creator-row h3 {
  font-size:22px;
  line-height:1.5
}
.creator-platform {
  font-size:14px;
  color:var(--secondary);
  margin-top:6px
}
.creator-row>p {
  font-size:17px;
  color:var(--secondary)
}
.creator-row>a {
  white-space:nowrap
}
.principles {
  padding-block:65px 75px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:90px
}
.principles-list {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:36px 42px
}
.principles-list h3 {
  font-size:20px;
  line-height:1.6;
  margin-bottom:12px
}
.principles-list p {
  font-size:16px;
  color:var(--secondary)
}
.company-facts {
  padding-block:65px 85px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:90px
}
.company-facts dl {
  display:grid;
  gap:28px
}
.company-facts dl>div {
  display:grid;
  grid-template-columns:90px 1fr;
  gap:25px
}
.company-facts dt {
  color:var(--secondary);
  font-size:16px
}
.company-facts dd {
  font-size:17px;
  overflow-wrap:anywhere
}
.company-facts a {
  text-decoration:underline
}
.site-footer {
  background:var(--burgundy);
  color:var(--ivory);
  padding-block:42px 24px
}
.footer-grid {
  display:grid;
  grid-template-columns:200px 1fr auto;
  gap:40px;
  align-items:start
}
.footer-company {
  border-left:1px solid rgb(220 210 186 / .35);
  padding-left:35px;
  font-size:14px;
  max-width:36em
}
.footer-company>a {
  display:inline-block;
  margin-top:12px;
  font-size:16px
}
.copy-button {
  display:inline-block;
  margin-left:18px;
  color:var(--sand)
}
.copy-status {
  display:block;
  min-height:1.7em;
  color:var(--sand);
  font-size:13px
}
.footer-nav {
  display:flex;
  gap:28px;
  font-size:14px;
  flex-wrap:wrap;
  justify-content:flex-end;
  max-width:410px
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgb(220 210 186 / .22);
  font-size:12px;
  color:var(--sand)
}
.footer-bottom>a {
  display:inline-flex;
  gap:12px;
  align-items:center
}
.footer-bottom .icon {
  width:16px;
  height:16px;
  flex-basis:16px
}
@keyframes partner-scroll {
  to {
    transform:translateX(-50%)
  }
}
@media(hover:hover) and (pointer:fine) {
  .text-link:hover .icon,.role-entry:hover .icon {
    transform:translateX(4px)
  }
  .button:hover {
    background:var(--ivory);
    color:var(--burgundy)
  }
  .button-dark:hover {
    background:var(--ink);
    color:var(--ivory)
  }
  .role-entry:hover {
    border-color:var(--burgundy)
  }
  .desktop-nav>a:not(.button):hover,.nav-panel a:hover,.mobile-panel>a:not(.button):hover,.footer-nav a:hover {
    text-decoration:underline
  }
}
@media(min-width:1200px) {
  html:lang(en) .hero h1 {
    font-size:clamp(64px,6.1vw,88px)
  }
}
@media(max-width:1100px) {
  .desktop-nav {
    gap:23px
  }
  .hero-foot-inner {
    grid-template-columns:1fr;
    gap:26px
  }
  .hero-foot p {
    max-width:38em
  }
  .hero-main {
    min-height:420px
  }
  .role-entry {
    padding:28px 24px
  }
  .role-entry h3 {
    font-size:24px
  }
  .work-intro,.service-section,.partnership,.story,.project,.principles,.company-facts {
    gap:45px
  }
  .footer-grid {
    grid-template-columns:170px 1fr
  }
  .footer-nav {
    grid-column:1/-1;
    justify-content:flex-start;
    max-width:none
  }
  .creator-row {
    grid-template-columns:1fr 1.3fr;
    gap:24px
  }
  .creator-row>a {
    grid-column:2;
    justify-self:start
  }
  .diagram-roles {
    font-size:21px
  }
  html:lang(en) .diagram-roles {
    font-size:18px
  }
}
@media(max-width:900px) {
  .desktop-nav {
    display:none
  }
  .mobile-nav {
    display:block
  }
  .flow-roles {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .role-entries {
    gap:16px
  }
  .role-entry {
    min-height:350px
  }
  .role-entry p {
    font-size:16px
  }
  .home-company {
    gap:45px
  }
  .home-company>div {
    padding-left:35px
  }
  .work-intro {
    grid-template-columns:1fr;
    gap:25px
  }
  .work-intro h1 {
    max-width:20ch
  }
  .work-intro-copy .lede {
    max-width:40em
  }
  .alliance-diagram {
    max-width:650px;
    width:100%;
    margin-inline:auto
  }
  .service-section>h2 {
    max-width:11ch
  }
  .partnership {
    grid-template-columns:1fr 1.4fr
  }
  .principles-list {
    grid-template-columns:1fr
  }
  .contact-inner {
    grid-template-columns:1fr;
    gap:26px
  }
  .contact-inner>.button {
    justify-self:start
  }
}
@media(max-width:640px) {
  :root {
    --gutter:22px
  }
  body {
    font-size:17px;
    line-height:1.8
  }
  .site-header {
    height:74px
  }
  .wordmark>span {
    font-size:24px
  }
  .wordmark small {
    font-size:11px
  }
  .mobile-panel {
    top:74px
  }
  .mobile-nav summary {
    font-size:16px;
    min-height:44px
  }
  .hero-main {
    min-height:390px;
    padding-block:60px 70px
  }
  .hero h1 {
    font-size:clamp(36px,8.6vw,52px);
    line-height:1.48;
    letter-spacing:-.015em
  }
  html:lang(en) .hero h1 {
    font-size:clamp(32px,7.5vw,46px);
    line-height:1.35;
    letter-spacing:-.025em
  }
  .hero-foot-inner {
    padding-block:30px 34px;
    gap:25px
  }
  .hero-foot p {
    font-size:16px;
    line-height:1.85
  }
  .hero-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    width:100%
  }
  .hero-actions .button {
    padding:12px 10px;
    min-height:50px;
    font-size:14px;
    gap:8px
  }
  html:lang(en) .hero-actions {
    grid-template-columns:1fr
  }
  html:lang(en) .hero-actions .button {
    font-size:16px
  }
  .hero-lines {
    width:160%;
    left:-30%;
    opacity:.10
  }
  .home-roles {
    padding-block:62px 55px
  }
  .home-roles>h2 {
    margin-bottom:30px;
    font-size:28px;
    text-align:left
  }
  .role-entries {
    grid-template-columns:1fr;
    gap:18px
  }
  .role-entry {
    min-height:0;
    padding:27px 25px
  }
  .role-entry h3 {
    font-size:24px;
    max-width:none
  }
  .role-entry p {
    margin-block:14px 22px
  }
  .home-company {
    grid-template-columns:1fr;
    gap:25px;
    padding-block:42px 55px
  }
  .home-company>div {
    padding-left:0;
    border-left:0
  }
  .home-company h2 {
    max-width:11ch
  }
  .home-company p {
    font-size:17px
  }
  .page-intro {
    padding-block:56px 45px
  }
  .page-intro h1 {
    max-width:14ch
  }
  .page-intro .lede {
    margin-top:24px
  }
  .lede {
    font-size:17px;
    line-height:1.9
  }
  .work-intro {
    padding-block:54px 40px;
    gap:32px
  }
  .work-intro h1 {
    max-width:12ch
  }
  .alliance-diagram svg {
    display:none
  }
  .mobile-connections {
    display:grid;
    gap:16px;
    padding-block:25px;
    border-block:1px solid var(--line);
    font-size:15px;
    color:var(--burgundy)
  }
  .flow-roles {
    gap:28px 20px;
    padding-block:35px 45px;
    border-top:0
  }
  .flow-roles h2 {
    font-size:20px
  }
  .flow-roles p {
    font-size:15px
  }
  .service-section {
    grid-template-columns:1fr;
    gap:30px;
    padding-block:42px 50px
  }
  .service-section>h2 {
    max-width:none
  }
  .service-list {
    gap:28px
  }
  .service-item h3 {
    font-size:21px
  }
  .service-item p {
    font-size:16px
  }
  .after-steps {
    grid-template-columns:1fr;
    gap:14px
  }
  .after-steps li {
    display:grid;
    grid-template-columns:30px 1fr;
    gap:15px;
    align-items:baseline
  }
  .after-steps li p {
    margin:0
  }
  .contact-band {
    margin-top:10px
  }
  .contact-inner {
    padding-block:35px;
    gap:24px
  }
  .contact-inner h2 {
    font-size:26px
  }
  .contact-inner p {
    font-size:16px
  }
  .role-index {
    gap:16px 24px;
    margin-top:28px;
    font-size:16px
  }
  .partnership {
    grid-template-columns:1fr;
    gap:30px;
    padding-block:42px
  }
  .partnership header h2 {
    font-size:26px;
    margin-bottom:16px
  }
  .partnership-promise {
    font-size:22px;
    max-width:17em
  }
  .partnership header .text-link {
    margin-top:22px
  }
  .responsibilities {
    gap:25px
  }
  .responsibilities dd {
    font-size:16px
  }
  .responsibilities dt {
    font-size:18px
  }
  .start-section {
    padding-block:45px 55px
  }
  .start-steps {
    grid-template-columns:1fr;
    gap:28px;
    margin-block:30px
  }
  .start-steps h3 {
    font-size:22px
  }
  .start-steps p,.start-note {
    font-size:16px
  }
  .story {
    grid-template-columns:1fr;
    gap:24px;
    padding-block:40px
  }
  .story h2 {
    max-width:14ch
  }
  .story p {
    font-size:16px
  }
  .projects {
    padding-top:45px
  }
  .section-intro>p {
    font-size:16px
  }
  .project {
    grid-template-columns:1fr;
    gap:25px;
    padding-block:35px 40px
  }
  .project header h3 {
    font-size:24px
  }
  .project header p {
    font-size:16px
  }
  .project-media>figure>img {
    max-height:none
  }
  .photo-gallery {
    gap:18px
  }
  .trust-section {
    padding-block:45px
  }
  .trust-heading {
    margin-bottom:25px
  }
  .pause-button {
    font-size:12px
  }
  .name-track li {
    font-size:27px
  }
  .name-track ul {
    gap:45px;
    padding-right:45px
  }
  .retailer-names {
    gap:18px 30px
  }
  .retailer-names li {
    font-size:22px
  }
  .creators {
    padding-block:42px 50px
  }
  .creator-row {
    grid-template-columns:1fr;
    gap:14px;
    padding-block:25px
  }
  .creator-row>a {
    grid-column:auto
  }
  .creator-row>p {
    font-size:16px
  }
  .principles,.company-facts {
    grid-template-columns:1fr;
    gap:30px;
    padding-block:42px 50px
  }
  .principles-list {
    gap:26px
  }
  .company-facts dl>div {
    grid-template-columns:1fr;
    gap:8px
  }
  .company-facts dd {
    font-size:16px
  }
  .site-footer {
    padding-block:35px 22px
  }
  .footer-grid {
    grid-template-columns:1fr;
    gap:26px
  }
  .footer-company {
    border:0;
    padding:0;
    font-size:14px
  }
  .footer-company>a {
    font-size:16px
  }
  .footer-nav {
    grid-column:auto;
    gap:18px 26px
  }
  .footer-bottom {
    display:grid;
    gap:14px;
    font-size:11px
  }
  .footer-bottom>a {
    font-size:12px;
    justify-self:start
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  .hero-lines g {
    transform:none!important
  }
  .name-track {
    animation:none;
    width:100%
  }
  .name-track ul {
    flex-wrap:wrap;
    gap:20px 35px;
    padding:0
  }
  .name-track ul[aria-hidden] {
    display:none
  }
  .name-track li {
    font-size:25px
  }
  .button,.text-link .icon,.role-entry {
    transition:none
  }
  .text-link:hover .icon,.role-entry:hover .icon {
    transform:none!important
  }
}
html:not(.motion-enabled) .name-track {
  width:100%;
  animation:none
}
html:not(.motion-enabled) .name-track ul {
  flex-wrap:wrap;
  gap:20px 35px;
  padding:0
}
html:not(.motion-enabled) .name-track ul[aria-hidden] {
  display:none
}
.name-marquee.is-background .name-track {
  animation-play-state:paused
}
/* Chinese line measure uses em;
Latin ch cuts Chinese words in half. */
html:lang(zh-Hant) .work-intro h1 {
  max-width:none
}
html:lang(zh-Hant) .service-section>h2 {
  max-width:none
}
html:lang(zh-Hant) .story h2 {
  max-width:12em
}
html:lang(zh-Hant) .role-entry h3 {
  max-width:none
}
