@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap");
/* Shared layout and visual system */
:root{--ink:#183135;--muted:#566b6e;--teal:#14766e;--paper:#fff;--wash:#f3f6f4;--line:#dce5e1;--nav:#132b2f}
html{scroll-padding-top:90px}body.site-refresh{padding-top:76px;background:var(--paper);color:var(--ink);font-family:"Nunito","Arial Rounded MT Bold",system-ui,sans-serif;-webkit-font-smoothing:antialiased}.site-refresh p,.site-refresh ul,.site-refresh ol{font-family:inherit;line-height:1.8;color:var(--muted)}.site-refresh h1,.site-refresh h2,.site-refresh h3,.site-refresh h4{color:var(--ink);line-height:1.2;letter-spacing:-.025em}.site-refresh h2{font-size:clamp(28px,3vw,38px);font-weight:650;margin:0 0 22px}.site-refresh p{font-size:17px}.site-refresh .container{width:calc(100% - 64px);max-width:1160px}.site-refresh a{color:var(--teal)}.site-refresh a:focus-visible,.site-refresh button:focus-visible{outline:3px solid #57c9b6;outline-offset:5px}.site-refresh img{max-width:100%}
.site-refresh #menu,.site-refresh #menu.on,.site-refresh #menu.navbar-default{background:var(--nav)!important;border:0;padding:13px 0!important;min-height:76px;box-shadow:0 1px 0 #ffffff12;transition:none}.site-refresh .container2{width:calc(100% - 64px);max-width:1320px}.site-refresh #menu a.navbar-brand{color:#fff!important;font-size:24px;font-weight:750;letter-spacing:-.6px}.brand-dot{color:#6dd7b7}.site-refresh #menu .navbar-nav>li{padding-bottom:0}.site-refresh #menu .navbar-nav>li>a{font-size:13px;letter-spacing:.025em;text-transform:none;font-weight:550;color:#eef4f3;padding:15px 17px}.site-refresh #menu .navbar-nav>li>a:hover{color:#8be1c8;background:#ffffff09}.site-refresh .navbar-toggle{border:1px solid #ffffff60;border-radius:7px}.site-refresh .navbar-toggle .icon-bar{background:#fff}.site-refresh .navbar-collapse{border-color:#ffffff20}
.site-refresh header[name="home"]{height:auto;min-height:0;background-size:cover;background-position:center}.site-refresh header[name="home"] .intro-text{padding:0;height:clamp(340px,43.9vw,750px)}.site-refresh header .buttonbadge{bottom:28px;display:flex;align-items:center;justify-content:center;gap:16px}.site-refresh header .buttonbadge img{padding:0;height:48px;width:auto;filter:drop-shadow(0 2px 6px #0002)}
.site-refresh [id^="team-section"],.site-refresh #about-section{padding:88px 0 76px;background:white;display:flow-root}.site-refresh .section-title{padding-bottom:30px}.site-refresh .section-title h2{margin-bottom:0}.site-refresh hr{background:var(--teal);height:3px;width:44px;margin:23px auto 0;border-radius:4px}.site-refresh p.bio{padding:0;max-width:800px;margin:0 auto 24px;text-align:left}.site-refresh .bulleted{max-width:800px;margin:0 auto 30px;padding-left:24px}.site-refresh #badgecontainer{margin:0 auto 24px}.site-refresh #badgecontainer img{margin:0 auto}.site-refresh .screenshots{padding-top:38px}.site-refresh .screenshots .portfolio-item{padding:10px}.site-refresh .screenshots img{border-radius:14px;box-shadow:0 10px 36px #12313613}.site-refresh #works-section:has(>.catalog-section){padding:0;background:white}.site-refresh .catalog-section{padding:88px 0;background:var(--wash)}.site-refresh #games-section{background:#fff}.site-refresh .catalog-section .section-title{text-align:left;padding-bottom:36px}.site-refresh .catalog-section hr{margin-left:0}.site-refresh .catalog-grid{gap:28px}.site-refresh .catalog-card{border-radius:14px;box-shadow:0 5px 15px #16353406;border-color:var(--line);color:var(--ink);height:100%}.site-refresh .catalog-card>div{padding:25px 26px 28px}.site-refresh .catalog-card h3{font-size:23px;font-weight:650}.site-refresh .catalog-card p{font-size:16px}.site-refresh .catalog-card:hover{box-shadow:0 12px 28px #16353412}.site-refresh .catalog-card img{aspect-ratio:16/10}
.section-kicker{font-size:12px!important;text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:var(--teal)!important;margin-bottom:16px}.studio-intro{padding:85px 0;background:#fff}.studio-intro h2{font-size:clamp(40px,5.2vw,68px);font-weight:700;line-height:1.05;margin:0 0 26px;letter-spacing:-.05em}.studio-intro p:not(.section-kicker){max-width:610px;font-size:19px}.studio-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px}.studio-links a{font-weight:650;border-bottom:1px solid var(--line);padding-bottom:7px}.studio-links span{margin-left:18px}
.site-refresh #contact-section{padding:84px 0;background:var(--wash);display:flow-root}.site-refresh #contact-section form{max-width:780px;padding:12px 0 0;margin:auto}.site-refresh #contact-section .form-control{border:1px solid #cedbd5;border-radius:8px;padding:13px 16px;height:auto;font:inherit;background:white}.site-refresh #contact-section .form-control:focus{border-color:var(--teal);box-shadow:0 0 0 3px #14766e15}.site-refresh #contact-section textarea{min-height:150px}.site-refresh #contact-section .btn{background:var(--teal);border:0;border-radius:8px;color:#fff;padding:15px 28px}.site-refresh #social-section{padding:28px 0;border-top:1px solid var(--line)}.site-refresh #footer{background:var(--nav);padding:23px 0}.site-refresh #footer p{color:#d2ddda;margin:0;font-size:13px}.site-refresh .piano-hero{padding:40px 0 56px}.site-refresh .piano-hero h1{color:#fff}.site-refresh .piano-hero p{color:#d7e5e2}.site-refresh .piano-hero a{color:#cdf887}.site-refresh .piano-copy{padding:80px 0}.site-refresh .piano-copy h2{margin-bottom:24px}.site-refresh .piano-copy> .container>p{max-width:850px}.site-refresh .piano-shots{margin:42px 0 64px}.site-refresh .piano-pro{margin-top:80px;padding-top:60px}.site-refresh .piano-pro-gallery h3{font-size:22px}.site-refresh .piano-pro-gallery p{font-size:16px}
@media(max-width:991px){.site-refresh .container,.site-refresh .container2{width:calc(100% - 40px)}.site-refresh #menu .navbar-nav>li>a{padding-left:11px;padding-right:11px}.site-refresh [id^="team-section"],.site-refresh #about-section,.site-refresh .catalog-section{padding:64px 0}.site-refresh header[name="home"] .intro-text{height:clamp(320px,50vw,500px)}}
@media(max-width:767px){body.site-refresh{padding-top:70px}.site-refresh #menu,.site-refresh #menu.on{min-height:70px;padding:10px 0!important}.site-refresh .container,.site-refresh .container2{width:calc(100% - 36px)}.site-refresh #menu .navbar-brand{padding-left:0}.site-refresh .navbar-toggle{margin-right:0}.site-refresh .navbar-collapse{margin:10px -18px -10px;padding:8px 18px 14px;background:var(--nav)}.site-refresh #menu .navbar-nav>li>a{padding:13px 16px}.site-refresh header[name="home"] .intro-text{height:390px}.site-refresh header .buttonbadge{bottom:20px}.site-refresh header .buttonbadge img{height:42px}.site-refresh [id^="team-section"],.site-refresh .catalog-section,.site-refresh #about-section,.site-refresh #contact-section{padding:52px 0}.site-refresh .section-title{padding-bottom:28px}.site-refresh p.bio{padding:0}.studio-intro{padding:52px 0}.site-refresh .screenshots .portfolio-item{padding:0}.site-refresh .screenshots img{border-radius:8px}.site-refresh .piano-hero{padding-top:24px}.site-refresh .piano-copy{padding:52px 0}.site-refresh .piano-pro{margin-top:60px;padding-top:42px}.site-refresh .piano-shots{gap:16px;margin:30px 0 48px}}@media(prefers-reduced-motion:reduce){.site-refresh *{scroll-behavior:auto!important;transition:none!important}}

/* Rounded typography and a tighter title/description pair. */
.site-refresh h1,.site-refresh h2,.site-refresh h3,.site-refresh h4,.site-refresh input,.site-refresh textarea,.site-refresh button{font-family:inherit}
.site-refresh .catalog-card h3{margin:0 0 4px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.site-refresh .catalog-card p{margin:0;line-height:1.45}
.site-refresh .catalog-card>div{padding:20px 24px 22px}

/* Softer headings and scroll-responsive navigation. */
.site-refresh h1,.site-refresh h2,.site-refresh h3,.site-refresh h4{color:#596164}
.site-refresh .piano-hero h1{color:#fff}
.site-refresh #menu,.site-refresh #menu.on,.site-refresh #menu.navbar-default{transition:padding .25s ease,min-height .25s ease,box-shadow .25s ease}
.site-refresh #menu a.navbar-brand{transition:font-size .25s ease}
.site-refresh #menu.on,.site-refresh #menu.navbar-default.on{min-height:56px;padding:3px 0!important;box-shadow:0 3px 16px #10282c20}
.site-refresh #menu.on a.navbar-brand{font-size:21px}
@media(max-width:767px){.site-refresh #menu.on,.site-refresh #menu.navbar-default.on{min-height:56px;padding:3px 0!important}.site-refresh #menu.on .navbar-collapse{margin-bottom:-3px}}
@media(prefers-reduced-motion:reduce){.site-refresh #menu,.site-refresh #menu a.navbar-brand{transition:none!important}}

.site-refresh .catalog-status{display:inline-block;margin:3px 0 8px;padding:3px 9px;border-radius:20px;background:#e7f1eb;color:#436b59;font-size:12px;font-weight:800;line-height:1.4}

/* Cover the reserved header space immediately while its controls expand. */
.site-refresh #menu::before{content:"";position:absolute;top:0;left:0;right:0;height:76px;background:var(--nav);z-index:-1;pointer-events:none}
.site-refresh #menu.on::before{height:56px}
@media(max-width:767px){.site-refresh #menu::before{height:70px}.site-refresh #menu.on::before{height:56px}}

/* Expand early on upward scrolling; finish immediately on a jump to the top. */
.site-refresh #menu:not(.on){transition-duration:.14s}
.site-refresh #menu.nav-at-top,.site-refresh #menu.nav-at-top a.navbar-brand{transition:none!important}

.site-refresh .piano-launch-links{align-items:center}.site-refresh .piano-launch-links .piano-store-badge{display:block;width:auto;height:48px;border-radius:0}

/* Featured app on the homepage */
.site-refresh .home-piano-hero{background:#03161e;padding:clamp(32px,5.5vw,80px) 0}
.home-piano-layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(28px,6vw,90px)}
.home-piano-copy{min-width:0}
.site-refresh .home-piano-copy h1{color:#fff;font-weight:800;font-size:clamp(40px,5.7vw,76px);line-height:1.02;letter-spacing:-.045em;margin:0 0 22px}
.site-refresh .home-piano-copy p{color:#d7e5e2;font-size:clamp(17px,1.7vw,21px);max-width:34em}
.site-refresh .home-piano-copy .home-piano-kicker{font-size:13px;letter-spacing:.15em;font-weight:800;text-transform:uppercase;color:#cdf887;margin-bottom:16px}
.home-piano-layout img{display:block;width:100%;height:auto;border-radius:20px;border:1px solid #ffffff18}
.site-refresh .home-piano-cta{display:inline-flex;align-items:center;gap:16px;background:#cdf887;color:#19301d;padding:12px 21px;border-radius:10px;font-weight:800;margin-top:8px}
.site-refresh .home-piano-cta:hover{background:#e1ffb2;color:#19301d}
@media(max-width:767px){.home-piano-layout{grid-template-columns:1fr;gap:30px}.home-piano-layout img{max-width:480px;border-radius:14px}}

/* Live text and icons beside the banner artwork. */
.site-refresh .piano-live-hero {
  background: #03171e;
  padding: clamp(30px, 5vw, 70px) 0;
}
.piano-live-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 60px);
}
.site-refresh .piano-live-copy h1 {
  font-size: clamp(39px, 6vw, 78px);
  line-height: 1;
  font-weight: 800;
  margin: 0 0 24px;
}
.piano-live-copy h1 span { display: block; }
.site-refresh .piano-live-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 26px 0;
  padding: 0;
  color: #edf8f6;
}
.piano-live-features li {
  text-align: center;
  padding: 0 8px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
}
.piano-live-features li + li { border-left: 1px solid #ffffff33; }
.piano-live-features .fa {
  display: block;
  margin-bottom: 9px;
  color: #53e9f3;
  font-size: 27px;
}
.piano-live-features li:nth-child(2) .fa { color: #59f1bb; }
.piano-live-features li:nth-child(3) .fa { color: #cdf887; }
.site-refresh .piano-live-art {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: right center;
  border-radius: 20px;
}
.site-refresh .piano-live-status {
  margin: 14px 0 0;
  color: #b8cdce;
  font-size: 14px;
}
@media (max-width: 767px) {
  .piano-live-layout { grid-template-columns: 1fr; }
  .site-refresh .piano-live-art { max-width: 480px; justify-self: center; }
}

/* Match the Android app typography on its product page. */
body.site-refresh.visual-piano-page {
  font-family: "Roboto", system-ui, sans-serif;
}
