/* Albert Sans (self-hosted, variable font) */
/* latin-ext */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/albert-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/albert-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/albert-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/albert-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/albert-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/albert-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/albert-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/albert-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Shared app + site base */
.pb-input:focus{outline:none;border-color:var(--play)!important;box-shadow:0 0 0 3px var(--play-soft)}
.pb-input::placeholder{color:var(--ink-3);opacity:1}
button:focus-visible,[role="button"]:focus-visible{outline:3px solid var(--play);outline-offset:2px}
.pb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pb-scanline{animation:pbScan 2.4s ease-in-out infinite}
@keyframes pbScan{0%{top:10%}50%{top:88%}100%{top:10%}}
@media (prefers-reduced-motion:reduce){.pb-scanline{animation:none;top:50%}}
a{color:var(--play,#3E6B5A)}a:hover{color:var(--play-ink,#1F3D32)}

/* Marketing page */
:root{--bg:#F3F4F1;--bg-2:#E8EBE7;--surface:#fff;--line:#DCE0DB;--ink:#1C2629;--ink-2:#47524F;--ink-3:#66716E;--play:#3E6B5A;--play-soft:#E2EBE6;--play-ink:#1F3D32;--amber:#A8654B;--amber-soft:#F2E4DD;--amber-ink:#5E2F1F;--danger:#A8323F}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Albert Sans",system-ui,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--play)}a:hover{color:var(--play-ink)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--play)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--play);outline-offset:2px}
.nav{position:sticky;top:0;z-index:50;background:rgba(243,244,241,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:24px;height:68px}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:19px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.logo:hover{color:var(--ink)}
.logo-mark{width:36px;height:36px;border-radius:10px;background:var(--play);display:inline-flex;align-items:center;justify-content:center}
.nav-links{display:flex;gap:4px;margin-left:auto}
.nav-links a{color:var(--ink-2);text-decoration:none;font-size:15.5px;font-weight:500;padding:10px 12px;border-radius:10px}
.nav-links a:hover{color:var(--ink);background:var(--bg-2)}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 24px;border-radius:12px;background:var(--play);color:#fff;border:none;font:inherit;font-weight:600;font-size:16px;text-decoration:none;cursor:pointer}
.btn-primary:hover{background:var(--play-ink);color:#fff}
.btn-sm{height:44px;padding:0 18px;font-size:15px}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;padding-top:72px;padding-bottom:88px}
.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.04;margin:14px 0 20px}
.lead{font-size:clamp(18px,1.6vw,20px);color:var(--ink-2);max-width:540px}
.store-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.store-btn{display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 20px 0 16px;border-radius:12px;background:var(--ink);color:#fff;text-decoration:none}
.store-btn:hover{background:#000;color:#fff}
.store-txt{display:flex;flex-direction:column;line-height:1.15}
.store-txt small{font-size:12px;opacity:.85}
.store-txt b{font-size:17px;font-weight:600}
.fine{margin-top:14px;font-size:14.5px;color:var(--ink-3)}
.hero-phone{display:flex;flex-direction:column;align-items:center;gap:14px}
.phone{--s:.72;width:calc(402px * var(--s));height:calc(874px * var(--s));flex-shrink:0}
.phone-in{width:402px;height:874px;transform:scale(var(--s));transform-origin:top left}
.phone-cap{font-size:14px;color:var(--ink-3)}
.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:96px 0}
.sec-head{max-width:640px;margin-bottom:48px}
.sec-head h2{font-size:clamp(30px,4vw,42px);line-height:1.12;margin-top:10px}
.sec-head p{margin-top:14px;font-size:18px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.step{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:24px}
.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.step-num{font-size:14px;font-weight:600;color:var(--ink-3)}
.step-ic,.why-ic{width:44px;height:44px;border-radius:10px;background:var(--play-soft);color:var(--play-ink);display:inline-flex;align-items:center;justify-content:center}
.step h3,.why-item h3{font-size:20px;line-height:1.25;margin-bottom:8px}
.step p,.why-item p{color:var(--ink-2);font-size:16px}
.split{display:grid;grid-template-columns:auto minmax(0,1fr);gap:64px;align-items:center;margin-top:88px}
.split .phone{--s:.6}
.split-copy{max-width:480px}
.split-copy h2{font-size:clamp(28px,3.4vw,36px);line-height:1.15;margin:10px 0 16px}
.split-copy p{color:var(--ink-2);font-size:18px}
.split-copy p+p{margin-top:12px}
.why{padding-top:96px;padding-bottom:96px}
.why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}
.why-item{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:18px}
.why-ic{grid-row:span 2}
.dl{background:var(--play-ink);color:#fff;padding:88px 0}
.dl .sec-head p{color:rgba(255,255,255,.85)}
.dl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:760px}
.dl-card{display:flex;align-items:center;gap:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:20px}
.qr-ph{width:132px;height:132px;flex-shrink:0;border-radius:10px;background:#fff;color:var(--ink-3);border:2px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:500}
.dl-meta{display:flex;flex-direction:column;gap:12px;min-width:0}
.dl-meta b{font-size:20px;font-weight:600}
.dl .store-btn{background:#fff;color:var(--ink)}
.dl .store-btn:hover{background:var(--bg-2);color:var(--ink)}
.contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;padding-top:88px;padding-bottom:88px}
.contact-copy h2{font-size:clamp(28px,3.4vw,36px);line-height:1.15;margin-bottom:12px}
.contact-copy p{color:var(--ink-2);font-size:18px;max-width:380px}
.form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld span{font-size:15px;font-weight:600}
.fld input,.fld textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.fld input{height:52px}
.fld textarea{resize:vertical;min-height:120px}
.fld input:focus,.fld textarea:focus{border-color:var(--play);box-shadow:0 0 0 3px var(--play-soft);outline:none}
.fld [aria-invalid="true"]{border-color:var(--danger)}
.fld em{font-style:normal;font-size:14px;color:var(--danger)}
.form-done{display:flex;gap:16px;align-items:flex-start;background:var(--play-soft);color:var(--play-ink);border-radius:14px;padding:24px}
.form-done b{font-size:18px}.form-done p{margin-top:4px}
.done-ic{width:40px;height:40px;border-radius:40px;background:var(--play);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.foot{border-top:1px solid var(--line);padding:32px 0 40px}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.foot-links{display:flex;flex-wrap:wrap;gap:4px 8px}
.foot-links a{color:var(--ink-2);font-size:15px;padding:10px 8px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.foot-links a:hover{color:var(--ink);text-decoration-color:currentColor}
.copy{margin-left:auto;font-size:14.5px;color:var(--ink-3)}
@media (max-width:900px){
.hero{grid-template-columns:minmax(0,1fr);padding-top:48px;gap:56px}
.steps{grid-template-columns:minmax(0,1fr)}
.split{grid-template-columns:minmax(0,1fr);gap:40px;justify-items:center}
.why-grid,.dl-grid,.contact{grid-template-columns:minmax(0,1fr)}
.contact{gap:32px}
.nav-links{display:none}
.nav-in .btn-sm{margin-left:auto}
.copy{margin-left:0;width:100%}
}
@media (max-width:520px){
.phone{--s:.66}.split .phone{--s:.6}
.form-row{grid-template-columns:minmax(0,1fr)}
.dl-card{flex-direction:column;align-items:flex-start}
.band,.why,.dl,.contact{padding-top:64px;padding-bottom:64px}
}

/* Static-site additions */
.ic{display:inline-block;flex-shrink:0;width:22px;height:22px}
.ic-20{width:20px;height:20px}.ic-28{width:28px;height:28px}
.logo-mark{color:#fff}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none}
.skip:focus{top:12px;color:#fff}
.phone-in:empty{background:var(--bg-2);border-radius:60px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.btn-primary[disabled]{opacity:.7;cursor:progress}
.form-err{background:#F6E2E4;color:var(--danger);border-radius:12px;padding:14px 16px;font-size:15.5px}
.form-done[hidden],.form[hidden],.form-err[hidden],.fld em[hidden]{display:none}

/* Language switcher */
.lang{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.lang a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:36px;padding:0 8px;border-radius:9px;color:var(--ink-2);text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.02em}
.lang a:hover{color:var(--ink);background:var(--bg-2)}
.lang a[aria-current="page"]{background:var(--play-soft);color:var(--play-ink)}
@media (max-width:900px){
.nav-in{gap:12px}
.nav-in .lang{margin-left:auto}
.nav-in .btn-sm{margin-left:0}
}
@media (max-width:560px){
.nav-in .btn-sm{display:none}
.logo{font-size:17px}
}

/* Placeholder ("coming soon") page */
.ph-spacer{margin-left:auto}
.nav-in .ph-spacer + .lang{margin-left:0}
.ph-body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.ph{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:48px;padding-bottom:96px}
.ph h1{font-size:clamp(38px,7vw,72px);line-height:1.05;margin-top:20px;max-width:14ch}
.ph-badge{display:inline-flex;align-items:center;height:34px;padding:0 16px;border-radius:999px;background:var(--play-soft);color:var(--play-ink);font-size:15px;font-weight:600}
