/* Typography and image-text readability only. No layout declarations. */
:root{--sans:"Instrument Sans", -apple-system, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--serif:"Newsreader", Georgia, "Times New Roman", "Songti SC", serif}
body{font-family:"Instrument Sans", -apple-system, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;font-weight:400}
button,input,select,textarea{font-family:"Instrument Sans", -apple-system, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif}
h1,h2,h3{font-family:"Newsreader", Georgia, "Times New Roman", "Songti SC", serif!important;font-weight:500!important;font-optical-sizing:auto}
h3,h2.eyebrow,.timeline-year-heading h3{font-weight:600!important}
b,strong{font-weight:600}
.hero-shade,.project-video .shade,.salotto .shade{background:linear-gradient(90deg,rgba(3,17,20,.72) 0%,rgba(3,17,20,.35) 55%,rgba(3,17,20,.1) 100%),linear-gradient(0deg,rgba(3,17,20,.78) 0%,transparent 60%)!important}
.hero-media::after{background:linear-gradient(90deg,rgba(3,17,20,.72) 0%,rgba(3,17,20,.35) 55%,rgba(3,17,20,.1) 100%),linear-gradient(0deg,rgba(3,17,20,.78) 0%,transparent 60%)!important}
.entity:has(>img)::after,.history-gallery figure::after{background:linear-gradient(90deg,rgba(3,17,20,.72) 0%,rgba(3,17,20,.35) 55%,rgba(3,17,20,.1) 100%),linear-gradient(0deg,rgba(3,17,20,.78) 0%,transparent 60%)!important}
:is(.hero.video-shell .hero-copy,.hero:has(.hero-media video) .hero-copy,.project-copy,.salotto-copy,.entity:has(>img) .entity-copy),:is(.hero.video-shell .hero-copy,.hero:has(.hero-media video) .hero-copy,.project-copy,.salotto-copy,.entity:has(>img) .entity-copy) *{color:#fff!important;opacity:1}
:is(.hero.video-shell .hero-copy,.hero:has(.hero-media video) .hero-copy,.project-copy,.salotto-copy,.entity:has(>img) .entity-copy) p,.hero:has(.hero-media video) h1 span{font-weight:500!important}
:is(.hero.video-shell .hero-copy,.hero:has(.hero-media video) .hero-copy,.project-copy,.salotto-copy,.entity:has(>img) .entity-copy) :is(.kicker,.eyebrow,.hero-signature,.date-line,.hero-bottom,.entity-copy>span){font-weight:600!important}
.hero-caption,.entity-note,.project-rendering .caption,.silk-rendering .caption,.choice-media .caption,.objects figcaption,.today-gallery figcaption,.definition-media figcaption,.origin-media figcaption,.method-image figcaption,.legal-media figcaption,.principle-media figcaption,.experience-visual figcaption,.history-gallery figcaption,.exhibition-card .card-caption{background:rgba(4,26,31,.88)!important;color:#fff!important;opacity:1;font-weight:600!important}
.film-label,.sound-toggle,.video-sound,.entity-note,.hero-document figcaption{color:#fff!important;opacity:1;font-weight:600!important}
@media(max-width:650px){.hero-shade,.project-video .shade,.salotto .shade,.hero-media::after{background:linear-gradient(90deg,rgba(3,17,20,.66) 0%,rgba(3,17,20,.32) 65%,rgba(3,17,20,.18) 100%),linear-gradient(0deg,rgba(3,17,20,.84) 0%,rgba(3,17,20,.2) 80%)!important}}
/* Keep the existing mobile label anchor; wrap its text clear of the audio control. */
@media(max-width:650px){.film-label{max-inline-size:46%;line-height:1.4;letter-spacing:.06em;text-align:right}}
