/* lotse: a precise, upright typographic voice and a single compass identity. */
@font-face{
  font-family:'IBM Plex Sans';
  src:url('assets/fonts/ibm-plex-sans-latin-variable.woff2') format('woff2');
  font-weight:100 700;
  font-style:normal;
  font-display:swap;
}
:root{--font-brand:'IBM Plex Sans',Arial,sans-serif}
body{font-family:var(--font-brand)}
em{font-family:inherit;font-style:normal;font-weight:inherit}
.hero h1,.section-heading h2,.open-copy h2,.modal h2{
  font-family:var(--font-brand);
  font-style:normal;
  font-weight:500;
  letter-spacing:-1.5px;
}
.hero h1{font-size:clamp(38px,4.5vw,62px);line-height:1.16;letter-spacing:-2px}
.heading-accent{font:inherit;letter-spacing:inherit;color:#657b4e}
.dark-section .heading-accent{color:var(--lime)}
.section-heading h2{font-size:clamp(35px,3.5vw,48px);line-height:1.2}
.open-copy h2{font-size:46px;line-height:1.2}
.brand>span,.map-core strong{font-family:var(--font-brand);font-weight:600}
.brand>span{font-size:35px;letter-spacing:-1.9px}
.brand>img{width:41px;height:41px;object-fit:contain}
.brand-dot{color:#73844e}
.map-core > .compass-rotor{width:82px;height:82px;margin-top:-5px;object-fit:contain}
.map-core strong{font-size:25px;letter-spacing:-1.3px;line-height:1.1;margin-top:0}
.map-core .live-badge{font-family:var(--font-brand)}
.mcp-label,.map-event strong,.map-event>div:nth-child(2)>span,.snapshot-time{font-family:var(--font-brand)}
.source-node>span:nth-child(2){font-weight:500;font-size:15px}
.hero-scroll{font-size:13px}
.open-symbol>img{width:126px;height:126px;object-fit:contain}
.footer-brand>span{font-size:46px;letter-spacing:-2.5px}
.footer-brand .footer-mark{width:49px;height:49px}
.footer-mark img{width:49px;height:49px;object-fit:contain}
.native-shell .lotse-avatar img{width:30px;height:30px}
.native-lotse-channel img{object-fit:contain;background:#f6f6f0;border-radius:4px}
@media(max-width:1100px){
  .map-core > .compass-rotor{width:68px;height:68px}
  .map-core strong{font-size:22px}
  .source-node>span:nth-child(2){font-size:13px}
}
@media(max-width:850px){
  .hero h1{font-size:46px;letter-spacing:-1.6px}
  .section-heading h2{font-size:39px}
  .open-copy h2{font-size:39px}
  .map-core > .compass-rotor{width:56px;height:56px}
  .map-core strong{font-size:19px}
  .source-node>span:nth-child(2){font-size:12px}
}
@media(max-width:650px){
  .hero h1{font-size:clamp(30px,7.9vw,44px);letter-spacing:-1.1px;line-height:1.2}
  .section-heading h2{font-size:36px;letter-spacing:-1px}
  .experience .section-heading h2{max-width:320px}
  .open-copy h2{font-size:37px;letter-spacing:-1.2px}
  .brand>img{width:35px;height:35px}
  .brand>span{font-size:31px;letter-spacing:-1.8px}
  .map-core > .compass-rotor{width:65px;height:65px;margin-top:-4px}
  .map-core strong{font-size:23px}
  .source-node>span:nth-child(2){font-size:11px}
  .hero-scroll{font-size:12px}
  .open-symbol>img{width:108px;height:108px}
  .footer-brand>span{font-size:34px;letter-spacing:-1.9px}
  .footer-brand .footer-mark,.footer-mark img{width:36px;height:36px}
}
@media(max-width:375px){
  .hero h1{font-size:29px;letter-spacing:-1.1px}
  .source-node>span:nth-child(2){font-size:10px}
  .section-heading h2{font-size:33px}
}
