/* Edition 03 · platinum display type. Fonts are bundled, never remotely requested. */
@font-face{
  font-family:"Oxanium";
  src:url("../fonts/oxanium-latin-wght-normal.woff2") format("woff2");
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
}
@font-face{
  font-family:"Space Grotesk";
  src:url("../fonts/space-grotesk-latin-wght-normal.woff2") format("woff2");
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
}
@font-face{
  font-family:"IBM Plex Mono";
  src:url("../fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
:root,.editor-styles-wrapper{
  --lance-display:"Oxanium","Arial Narrow",sans-serif;
  --lance-body:"Space Grotesk",Arial,sans-serif;
  --lance-code:"IBM Plex Mono",ui-monospace,monospace;
  --lance-platinum:linear-gradient(175deg,#fff 0%,#d5deeb 18%,#f7fbff 34%,#96a6bc 48%,#dfe8f4 52%,#fff 67%,#adbed3 83%,#f4f8ff 100%);
  --lance-titanium:linear-gradient(175deg,#f0f8ff 0%,#b4d5ff 24%,#e3f1ff 39%,#6b9dd8 49%,#bddfff 54%,#f7fbff 68%,#78a8df 88%,#d5eaff 100%);
}
body.premium,.editor-styles-wrapper{
  font-family:var(--lance-body);
  font-feature-settings:"ss01" 1;
}
body.premium :is(h1,h2,h3),.editor-styles-wrapper :is(h1,h2,h3){
  font-family:var(--lance-display);
  font-weight:500;
  font-feature-settings:normal;
  letter-spacing:-.025em;
  overflow-wrap:break-word;
}
.premium .hero-v2 h1{
  font-size:clamp(58px,7.1vw,98px);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.035em;
  text-transform:uppercase;
  white-space:normal;
}
.premium .page-head h1{
  font-size:clamp(46px,6.5vw,90px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.premium .game-hero h1{
  font-family:var(--lance-display);
  font-size:clamp(62px,8vw,112px);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.03;
  text-transform:uppercase;
}
.premium .manifesto>h2{
  font-size:clamp(34px,4.25vw,59px);
  line-height:1.2;
  letter-spacing:-.025em;
}
.premium .manifesto>h2>span{color:#e4f1ff}
.premium .lab-copy h3{font-size:clamp(34px,3.6vw,48px);line-height:1.12}
.premium .project-bottom h3{font-family:var(--lance-display);font-weight:500;font-size:clamp(42px,5.6vw,74px);line-height:1.08}
.premium .closing-link>span:first-child{
  font-family:var(--lance-display);
  font-size:clamp(44px,7.3vw,100px);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.035em;
}
.premium .closing-link em{font-family:inherit;font-style:normal;font-weight:600}
.premium .footer-wordmark{
  font-family:var(--lance-display);
  font-size:clamp(42px,9.8vw,146px);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.05em;
  -webkit-text-stroke:0;
}
.premium :is(.hero-v2 h1,.page-head h1,.game-hero h1,.section-heading h2,.footer-wordmark),
.premium .hero-v2 h1>span{
  color:#e3ebf7;
  -webkit-text-fill-color:currentColor;
  text-shadow:none;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .premium :is(.hero-v2 h1,.page-head h1,.game-hero h1,.section-heading h2,.footer-wordmark){
    background-image:var(--lance-platinum);
    background-size:100% 100%;
    background-repeat:no-repeat;
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
  }
  .premium .hero-v2 h1>span{
    display:inline-block;
    background-image:var(--lance-titanium);
    background-size:100% 100%;
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
  }
  .premium .page-head h1 .blue-text{
    color:#8fbfff;
    -webkit-text-fill-color:currentColor;
  }
}
.premium :is(.button,.nav-link,.menu-toggle,.portrait-play,.service-tab,.lab-selector button){
  font-family:var(--lance-body);
  font-weight:500;
  letter-spacing:-.015em;
}
.premium :is(code,pre,kbd,.eyebrow,.hero-scroll,.sculpture-coordinate,.sculpture-drag,
  .console-top,.console-top button,.console-code,.render-modes button,.sculpture-state,
  .hero-bottom,.hero-rail,.lab-kicker,.control-label,.browser-bar,.stage-caption,.workspace-bar,
  .flow-node small,.flow-output>span,.board-heading>div>span,.task-tag,.task-bottom span,
  .project-category,.footer-col strong,.footer-bottom,.command-heading button,.command-hint,
  .command-result>span:first-child,.film-time,.portrait-caption,.pill,.art-label,.art-key,
  .service-tab .num,.process-step .step-num,.workflow-top p,.workflow-step span){
  font-family:var(--lance-code);
  font-weight:400;
  font-feature-settings:normal;
}
.premium .eyebrow{color:#9bb1d2;letter-spacing:.16em}
.premium .hero-v2-lead{letter-spacing:-.02em}
/* A phone gets its own type scale. The controls below the canvas stay in flow. */
@media(max-width:800px){
  .premium .hero-v2 h1{font-size:clamp(34px,9.3vw,70px);line-height:1.07;letter-spacing:-.035em}
  .premium .page-head h1{font-size:clamp(36px,8.5vw,62px);line-height:1.1}
  .premium .game-hero h1{font-size:clamp(50px,10.5vw,84px)}
  .premium .manifesto>h2{font-size:clamp(29px,6.7vw,45px);line-height:1.22}
  .premium .closing-link>span:first-child{font-size:clamp(36px,7.6vw,58px)}
  .premium .footer-wordmark{font-size:10.4vw;letter-spacing:-.055em}
}
/* Metallic fill is decorative. System contrast settings always win. */
@media(forced-colors:active){
  .premium :is(.hero-v2 h1,.hero-v2 h1>span,.page-head h1,.game-hero h1,.section-heading h2,.footer-wordmark){
    background:none;
    color:CanvasText;
    -webkit-text-fill-color:CanvasText;
    text-shadow:none;
  }
}
@media print{
  .premium :is(.hero-v2 h1,.hero-v2 h1>span,.page-head h1,.game-hero h1,.section-heading h2,.footer-wordmark){
    background:none;
    color:#111;
    -webkit-text-fill-color:#111;
  }
}
