:root{--bg:#070a0f;--panel:#0f1621;--panel2:#141e2d;--text:#f5f8fc;--muted:#a8b2c2;--line:#243042;--blue:#2f8cff;--blue2:#61a9ff;--shadow:0 30px 80px rgba(0,0,0,.42)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:radial-gradient(circle at 75% -5%,#163052 0,#070a0f 35%,#070a0f 100%);background-color:var(--bg);color:var(--text);font:16px/1.58 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}main{overflow-x:clip}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue2);outline-offset:3px}.wrap{width:min(1180px,calc(100% - 42px));margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(7,10,15,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08)}nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:780;font-size:20px;letter-spacing:-.02em}.brand img{width:39px;height:39px;border-radius:10px}.links{display:flex;align-items:center;gap:22px}.links a{text-decoration:none;color:#dce3ed}.links a:hover{color:#fff}
.button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--blue2),var(--blue));padding:10px 18px;border-radius:999px;text-decoration:none!important;font-weight:750;color:white!important;box-shadow:0 10px 32px rgba(47,140,255,.25);white-space:nowrap}.nav-cta .short{display:none}
.lang{position:relative}.lang summary{list-style:none;cursor:pointer;color:#dce3ed;padding:9px 10px;border:1px solid var(--line);border-radius:12px;white-space:nowrap}.lang summary::-webkit-details-marker{display:none}.lang-menu{position:absolute;right:0;top:46px;min-width:170px;padding:8px;background:#101722;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:grid;gap:2px}.lang-menu a{padding:8px 10px;border-radius:9px}.lang-menu a:hover,.lang-menu a[aria-current="true"]{background:#1a2637;color:white}
.hero{padding:82px 0 58px;display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center}.hero h1{font-size:clamp(62px,8vw,103px);line-height:.93;letter-spacing:-.065em;margin:0 0 22px}.hero h1 span{color:var(--blue)}.hero h2{font-size:clamp(27px,3.2vw,43px);line-height:1.08;letter-spacing:-.04em;margin:0 0 14px}.hero p{color:var(--muted);font-size:20px;max-width:650px}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:26px}.micro{font-size:14px!important;margin:14px 0 0!important}.hero-shot{position:relative}.hero-shot:before{content:"";position:absolute;inset:8% -4% -8% 14%;background:#1d5ba8;filter:blur(70px);opacity:.26;z-index:-1}.shot-frame{background:#0c1119;border:1px solid rgba(255,255,255,.12);padding:10px;border-radius:24px;box-shadow:var(--shadow);overflow:hidden;transform:rotate(1deg)}.shot-frame img{display:block;width:100%;height:auto;border-radius:16px}
.section{padding:72px 0}.section-head{max-width:780px;margin-bottom:32px}.section h2,.prose h1{font-size:clamp(36px,4.3vw,54px);line-height:1.04;letter-spacing:-.045em;margin:0 0 13px}.intro{color:var(--muted);font-size:19px;margin:0}.eyebrow{color:var(--blue2);font-weight:750;font-size:15px;letter-spacing:.02em;margin:0 0 10px}
.film{margin:0}.film-frame{position:relative;border-radius:22px;overflow:hidden;background:#070a0f;box-shadow:var(--shadow);outline:1px solid rgba(255,255,255,.08)}.film video{display:block;width:100%;height:auto;aspect-ratio:16/9}.film-btn{position:absolute;right:16px;bottom:16px;appearance:none;-webkit-appearance:none;border:0;width:48px;height:48px;border-radius:999px;display:grid;place-items:center;cursor:pointer;padding:0;color:#fff;background:rgba(10,15,23,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(0,0,0,.35)}.film-btn[hidden]{display:none}.film-btn:hover{background:rgba(26,38,55,.9)}.film-btn svg{width:22px;height:22px;fill:currentColor}.film-btn .i-pause{fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round}.film .i-pause,.film.playing .i-play{display:none}.film.playing .i-pause{display:block}.film figcaption{color:var(--muted);font-size:14px;margin-top:12px}.steps-row{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:20px;counter-reset:s}.steps li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}.steps li:before{counter-increment:s;content:counter(s);width:40px;height:40px;border-radius:12px;background:#122a49;border:1px solid #315a8b;display:grid;place-items:center;font-weight:750;color:var(--blue2)}.steps h3{margin:6px 0 3px;font-size:19px;letter-spacing:-.02em}.steps p{margin:0;color:var(--muted)}.beamer-note{margin:26px 0 0;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:#c6d0dd;font-size:15px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);background:linear-gradient(145deg,var(--panel2),var(--panel));padding:27px;border-radius:20px}.card h3{font-size:21px;margin:0 0 8px;letter-spacing:-.02em}.card p{color:var(--muted);margin:0}
.gallery2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gallery2 figure{margin:0;border:1px solid var(--line);background:var(--panel);border-radius:22px;overflow:hidden}.gallery2 img{display:block;width:100%;height:auto}.gallery2 figcaption{padding:13px 16px;color:var(--muted);font-size:14px}.gallery2 .wide{grid-column:1/-1}
.faq{display:grid;gap:10px;max-width:880px}.faq details{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:0 20px}.faq summary{cursor:pointer;list-style:none;padding:17px 0;font-weight:700;font-size:18px;display:flex;justify-content:space-between;align-items:center;gap:16px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";flex:none;color:var(--blue2);font-size:24px;font-weight:500;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{margin:0 0 18px;color:var(--muted);max-width:760px}
.free{padding:44px;border:1px solid #315a8b;background:linear-gradient(145deg,#122a49,#0d1825);border-radius:26px}.free h2{margin:0 0 9px}.free p{color:#c6d0dd;max-width:820px}
.prose{max-width:880px;padding:66px 0 92px}.prose .lead{font-size:18px}.prose h2{font-size:27px;letter-spacing:-.025em;margin-top:40px;margin-bottom:8px}.prose p,.prose li{color:var(--muted)}.prose strong{color:#eef3fa}.prose a{text-underline-offset:3px}.legal-card{border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:16px}.notice{border:1px solid var(--line);background:var(--panel);padding:18px;border-radius:14px}
footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted)}footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footlinks{display:flex;gap:18px;flex-wrap:wrap}.router{max-width:680px;margin:14vh auto;padding:28px;text-align:center}.router .brand{justify-content:center}.router p{color:var(--muted)}.router p a{margin:0 6px}
.store-badge{display:inline-block;line-height:0;border-radius:9px}.store-badge img{display:block;height:52px;width:auto}.free .store-badge{margin-top:6px}.trademarks{flex-basis:100%;margin:0;font-size:12px;color:#6f7b8c}
@media(max-width:900px){.steps-row{grid-template-columns:1fr;max-width:620px}.grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr;gap:38px}.hero-shot{max-width:820px}.shot-frame{transform:none}}
@media(max-width:680px){.wrap{width:min(100% - 26px,1180px)}nav{min-height:66px}.links>a:not(.button){display:none}.links{gap:9px}.button{padding:9px 13px}.nav-cta .long{display:none}.nav-cta .short{display:inline}.hero{padding-top:52px}.hero h1{font-size:64px}.hero p{font-size:18px}.grid,.gallery2{grid-template-columns:1fr}.section{padding:55px 0}.free{padding:28px}.prose{padding-top:48px}.lang-menu{position:fixed;right:14px;top:70px}.film-frame{border-radius:14px}.film-btn{width:42px;height:42px;right:10px;bottom:10px}.faq details{padding:0 16px}.faq summary{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.film-btn{transition:none}}

/* ChoirXML: independent navigation, including small screens. */
header{position:relative}nav{flex-wrap:wrap;padding-top:15px;padding-bottom:15px}.links{flex-wrap:wrap;gap:16px}.links a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.prose h1{overflow-wrap:anywhere}.prose{min-height:65vh}.prose .eyebrow{color:var(--blue2)}.quicklinks{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.quicklinks a{border:1px solid var(--line);padding:12px 18px;border-radius:12px;background:var(--panel);text-decoration:none}.prose .app-icon{width:88px;height:88px;border-radius:21px;margin-bottom:24px}.skip{position:absolute;left:15px;top:-90px;z-index:30;background:var(--panel);padding:12px}.skip:focus{top:10px}.toc{border-left:2px solid var(--blue);padding-left:20px}.toc a{display:inline-block;margin:4px 16px 4px 0}.legal-card p{margin:0}.legal-card p+p{margin-top:14px}.prose li{margin-bottom:8px}
@media(max-width:680px){nav{gap:14px}.links{width:100%;gap:12px;font-size:14px}.links>a:not(.button){display:inline}.prose{padding-top:36px}.prose h1{font-size:40px}.lang-switch{margin-left:auto}.footlinks{gap:14px}}
.toc{display:block;min-height:0}.toc a{display:block;margin:8px 0}
