/* Choir introduction only; Aurora keeps its original styles. */
.choirs-page { --choir-green:#255b49; --choir-paper:#faf7f0; }
.choirs-page h1,.choirs-page h2,.choirs-page h3,.choirs-page p { margin-top:0; }
.choirs-page a:focus-visible { outline:3px solid #82a8ff; outline-offset:5px; }
.choirs-page section[id] { scroll-margin-top:0; }
html:has(.choirs-page) { scroll-padding-top:100px; }
.choirs-page .brand-text { display:block; }
.choirs-nav { display:flex; gap:26px; align-items:center; }
.choirs-nav a { font-size:13px; font-weight:750; color:#d3dbe5; padding:10px 0; }
.choirs-nav a:hover { color:var(--green); }
.choirs-hero { padding:38px 0 88px; background:radial-gradient(ellipse at 86% 45%,rgba(121,242,192,.07),transparent 55%); }
.choirs-back { display:inline-flex; padding:10px 0; color:#b6bfce; font-size:13px; font-weight:700; }
.choirs-back:hover { color:var(--green); }
.choirs-hero-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:center; margin-top:47px; }
.choirs-page .eyebrow { font-size:11px; font-weight:800; letter-spacing:.13em; margin-bottom:22px; }
.choirs-hero h1 { font-size:clamp(48px,5.7vw,76px); line-height:1.04; letter-spacing:-.055em; margin-bottom:25px; }
.choirs-hero h1 span { color:var(--green); }
.choirs-lead { font-size:22px; line-height:1.55; max-width:520px; color:#eee9de; }
.choirs-intro { color:var(--muted); max-width:530px; font-size:16px; }
.choirs-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.choirs-page .btn { min-height:48px; padding:13px 20px; font-size:13px; text-align:center; }
.choirs-reassurance { font-size:12px; color:#b6bfce; margin:19px 0 0; }
.choirs-rhythm { padding:32px; background:#141e24; border:1px solid #2b3c3d; border-radius:24px; box-shadow:0 24px 60px #0003; }
.choirs-kicker { font-family:var(--mono); color:#a9ccbc; font-size:10px; font-weight:700; letter-spacing:.08em; }
.choirs-page .choirs-rhythm h2 { font-size:24px; line-height:1.35; letter-spacing:-.025em; margin:22px 0 28px; }
.choirs-rhythm ol { padding:0; list-style:none; margin:0; }
.choirs-rhythm li { display:flex; gap:18px; padding:20px 0; border-top:1px solid #30403e; }
.choirs-rhythm li>span { color:#a6c8b8; font-family:var(--mono); font-size:11px; padding-top:4px; }
.choirs-rhythm strong { font-size:15px; }
.choirs-rhythm li p { font-size:13px; line-height:1.6; color:#bdc9c8; margin:5px 0 0; }
.choirs-rhythm-note { border-top:1px solid #30403e; padding-top:19px; font-size:11px; color:#a9ccbc; }
.choirs-light { background:var(--choir-paper); color:var(--ink); }
.choirs-light .eyebrow { color:var(--choir-green); }
.choirs-page h2 { font-size:clamp(32px,3.8vw,46px); line-height:1.14; letter-spacing:-.04em; }
.choirs-page h3 { font-size:20px; line-height:1.35; letter-spacing:-.02em; }
.choirs-benefits { padding:82px 0 72px; }
.choirs-section-head { max-width:640px; }
.choirs-section-head>p:last-child { color:#53615e; font-size:17px; }
.choirs-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; margin-top:42px; }
.choirs-benefit-grid article { border-top:1px solid #cdd4ca; padding-top:22px; }
.choirs-number { font-family:var(--mono); font-size:10px; letter-spacing:.07em; color:#426652; }
.choirs-benefit-grid h3 { margin:20px 0 12px; }
.choirs-benefit-grid p { color:#53615e; font-size:15px; margin-bottom:0; }
.choirs-demo { padding:78px 0 85px; border-top:1px solid #dde0d5; }
.choirs-demo-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:65px; align-items:end; margin-bottom:32px; }
.choirs-demo-heading h2 { margin-bottom:0; }
.choirs-demo-heading>p { color:#53615e; font-size:17px; margin-bottom:3px; }
.choirs-preview { display:block; border:1px solid #cbd4cd; border-radius:18px; overflow:hidden; background:#f8faf8; box-shadow:0 22px 60px #182b2112; transition:box-shadow .2s; }
.choirs-preview:hover { box-shadow:0 22px 60px #182b2126; }
.choirs-preview-bar { padding:16px 22px; display:flex; justify-content:space-between; gap:15px; font-size:12px; font-weight:750; color:#355448; border-bottom:1px solid #dce5df; }
.choirs-dot { display:inline-block; width:7px; height:7px; background:#397454; border-radius:50%; margin-right:9px; }
.choirs-preview img { display:block; width:100%; height:auto; }
.choirs-demo-details { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:40px; }
.choirs-demo-details p { color:#53615e; font-size:15px; }
.choirs-dark-button { background:#255b49; color:#fff!important; border-color:#255b49; }
.choirs-dark-button:hover { background:#194333; }
.choirs-demo-details .choirs-demo-return { font-size:12px; margin:14px 0 0; }
.choirs-demo-note { padding:25px; background:#edf0e7; border:1px solid #d4dccf; border-radius:16px; }
.choirs-demo-note h3 { font-size:18px; }
.choirs-demo-note p { font-size:13px; }
.choirs-demo-note a { font-size:13px; font-weight:750; color:#255b49; text-decoration:underline; text-underline-offset:4px; }
.choirs-private { padding:84px 0; background:#14221f; }
.choirs-private-grid { display:grid; grid-template-columns:1fr 1fr; gap:95px; }
.choirs-private .eyebrow { color:#b0d2be; }
.choirs-private p { color:#becdc5; font-size:16px; }
.choirs-private-points article { border-top:1px solid #395047; padding:20px 0 5px; }
.choirs-private-points h3 { font-size:18px; margin-bottom:9px; }
.choirs-private-points p { font-size:14px; }
.choirs-real { padding:84px 0; }
.choirs-real-grid { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:center; }
.choirs-real-image { border-radius:18px; overflow:hidden; border:1px solid #cbd4cd; background:#e3e7df; }
.choirs-real-image img { display:block; width:100%; height:auto; }
.choirs-real p:not(.eyebrow) { color:#53615e; font-size:15px; }
.choirs-text-link { display:inline-block; padding:10px 0; color:#255b49; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }
.choirs-contact { padding:75px 0 40px; }
.choirs-contact-box { max-width:760px; margin:auto; text-align:center; }
.choirs-contact-box>p:not(.eyebrow):not(.choirs-reassurance) { color:#b6bfce; max-width:590px; margin:0 auto; font-size:17px; }
.choirs-contact-box .choirs-actions { justify-content:center; }
.choirs-contact h2 { font-size:clamp(38px,4.5vw,56px); }
.choirs-bottom-back { margin-top:65px; }
.choirs-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1000px) { .choirs-hero-grid { gap:35px; } .choirs-private-grid { gap:45px; } .choirs-nav { gap:18px; } }
@media(max-width:800px) { .choirs-page .nav-inner { flex-wrap:wrap; gap:5px; padding-block:12px; } .choirs-nav { width:100%; justify-content:space-between; } .choirs-nav a { font-size:12px; } .choirs-hero-grid,.choirs-demo-heading,.choirs-demo-details,.choirs-private-grid,.choirs-real-grid { grid-template-columns:1fr; gap:30px; } .choirs-hero-grid { margin-top:30px; } .choirs-rhythm { max-width:600px; } .choirs-hero { padding:22px 0 55px; } .choirs-benefit-grid { grid-template-columns:1fr; gap:25px; } .choirs-benefits,.choirs-demo,.choirs-private,.choirs-real { padding:55px 0; } .choirs-page section[id] { scroll-margin-top:145px; } .choirs-demo-heading { gap:12px; } .choirs-preview-bar { padding:13px; font-size:10px; } .choirs-real-image { max-width:600px; } .choirs-contact { padding-top:55px; } }
@media(max-width:430px) { .choirs-page .shell { width:calc(100% - 36px); } .choirs-hero h1 { font-size:48px; } .choirs-lead { font-size:19px; } .choirs-rhythm { padding:24px; } .choirs-actions { flex-direction:column; } .choirs-preview-bar { flex-wrap:wrap; gap:5px; } .choirs-demo-note { padding:21px; } .choirs-nav { gap:8px; } }
@media(max-width:800px) { html:has(.choirs-page) { scroll-padding-top:140px; } .choirs-page section[id] { scroll-margin-top:0; } }
@media(prefers-reduced-motion:reduce) { .choirs-page { scroll-behavior:auto; } .choirs-page * { transition:none!important; } html:has(.choirs-page) { scroll-behavior:auto; } }

/* The desktop presentation stays intact; these controls belong to the phone layout. */
.choirs-mobile-demo { display:none; }
.choirs-nav[hidden] { display:none; }
.choirs-preview picture { display:block; }

@media (max-width: 800px), (max-width: 1000px) and (max-height: 500px) and (hover: none) and (pointer: coarse) {
  html:has(.choirs-page) { scroll-padding-top:var(--choirs-header-clearance,92px); }
  .choirs-page main { overflow-wrap:anywhere; }
  .choirs-page .shell { width:calc(100% - 40px); }
  .choirs-page .choirs-mobile-header .nav-inner {
    flex-wrap:wrap;
    min-height:68px;
    padding-block:10px;
    gap:0 12px;
  }
  .choirs-page .brand { gap:9px; }
  .choirs-page .brand-text strong { font-size:14px; }
  .choirs-menu-toggle:not([hidden]) {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:76px;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #4c5b65;
    border-radius:10px;
    background:transparent;
    color:var(--text);
    font-size:14px;
    font-weight:750;
    cursor:pointer;
  }
  .choirs-menu-toggle:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
  .choirs-mobile-header .choirs-nav:not([hidden]) {
    display:grid;
    width:100%;
    gap:4px;
    margin-top:10px;
    padding:8px 0 2px;
    border-top:1px solid #33414b;
    max-height:calc(100svh - 90px);
    overflow-y:auto;
  }
  .choirs-mobile-header .choirs-nav a {
    display:flex;
    align-items:center;
    min-height:48px;
    padding:12px;
    font-size:16px;
    border-radius:8px;
  }
  .choirs-mobile-header .choirs-nav a:focus-visible { outline-offset:-3px; }
  .choirs-hero { padding:16px 0 40px; }
  .choirs-back { min-height:44px; align-items:center; font-size:14px; }
  .choirs-hero-grid { grid-template-columns:minmax(0,1fr); margin-top:24px; gap:28px; }
  .choirs-demo-heading,.choirs-demo-details,.choirs-private-grid,.choirs-real-grid,.choirs-benefit-grid { grid-template-columns:minmax(0,1fr); }
  .choirs-hero-grid>*,.choirs-demo-details>*,.choirs-private-grid>*,.choirs-real-grid>*,.choirs-rhythm li>div { min-width:0; }
  .choirs-hero-grid>div:first-child { display:flex; flex-direction:column; }
  .choirs-hero-grid .eyebrow { order:1; margin-bottom:14px; font-size:11px; }
  .choirs-hero h1 { order:2; font-size:clamp(36px,9.8vw,44px); line-height:1.1; margin-bottom:18px; }
  .choirs-heading-break { display:none; }
  .choirs-lead { order:3; font-size:18px; line-height:1.55; margin-bottom:20px; }
  .choirs-hero .choirs-actions { order:4; }
  .choirs-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:0; }
  .choirs-page .btn { min-width:0; max-width:100%; min-height:48px; white-space:normal; font-size:15px; padding:13px 16px; }
  .choirs-desktop-demo { display:none; }
  .choirs-mobile-demo { display:inline-flex; }
  .choirs-hero .choirs-reassurance { order:5; margin-top:14px; }
  .choirs-reassurance { font-size:14px; line-height:1.55; }
  .choirs-intro { order:6; margin:24px 0 0; padding-top:22px; border-top:1px solid #33414b; font-size:16px; line-height:1.6; }
  .choirs-rhythm { max-width:none; padding:22px; border-radius:18px; box-shadow:none; }
  .choirs-kicker { font-size:11px; margin-bottom:0; }
  .choirs-page .choirs-rhythm h2 { font-size:21px; margin:14px 0 20px; }
  .choirs-rhythm li { padding:13px 0; gap:14px; }
  .choirs-rhythm strong { font-size:16px; }
  .choirs-rhythm li p { font-size:14px; margin-top:4px; }
  .choirs-rhythm-note { padding-top:14px; font-size:12px; }
  .choirs-benefits,.choirs-demo,.choirs-private,.choirs-real { padding:40px 0; }
  .choirs-page h2 { font-size:clamp(30px,7.8vw,36px); }
  .choirs-page .eyebrow { margin-bottom:16px; }
  .choirs-benefit-grid { gap:22px; margin-top:28px; }
  .choirs-benefit-grid article { padding-top:18px; }
  .choirs-benefit-grid h3 { margin:13px 0 10px; }
  .choirs-benefit-grid p,.choirs-demo-details p,.choirs-real p:not(.eyebrow),.choirs-private-points p { font-size:16px; line-height:1.6; }
  .choirs-number { font-size:11px; }
  .choirs-demo-heading { margin-bottom:24px; }
  .choirs-demo-heading>p { font-size:16px; }
  .choirs-preview { max-width:390px; margin-inline:auto; border-radius:14px; }
  .choirs-preview-bar { padding:12px 14px; font-size:12px; line-height:1.5; }
  .choirs-preview-bar>span { width:100%; }
  .choirs-preview img { aspect-ratio:390/844; object-fit:contain; }
  .choirs-demo-details { gap:24px; margin-top:28px; }
  .choirs-demo-details .choirs-dark-button { width:100%; }
  .choirs-demo-details .choirs-demo-return { font-size:14px; line-height:1.5; }
  .choirs-demo-note { padding:22px; }
  .choirs-demo-note p { font-size:14px; line-height:1.65; }
  .choirs-demo-note a,.choirs-text-link { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
  .choirs-private-grid,.choirs-real-grid { gap:28px; }
  .choirs-private-points article { padding:18px 0 2px; }
  .choirs-contact { padding:42px 0 24px; }
  .choirs-contact h2 { font-size:clamp(32px,8.6vw,40px); }
  .choirs-contact-box .choirs-actions { margin-top:24px; }
  .choirs-contact-box>p:not(.eyebrow):not(.choirs-reassurance) { font-size:16px; line-height:1.6; }
  .choirs-bottom-back { margin-top:32px; }
}
@media(max-width:360px) {
  .choirs-page .shell { width:calc(100% - 32px); }
  .choirs-page .brand-mark { width:36px; height:36px; }
  .choirs-page .brand-text strong { font-size:13px; }
  .choirs-menu-toggle:not([hidden]) { min-width:70px; padding-inline:10px; }
}
@media(max-width:800px) and (max-height:500px), (max-width:1000px) and (max-height:500px) and (hover:none) and (pointer:coarse) {
  .choirs-page .nav { position:relative; }
  html:has(.choirs-page) { scroll-padding-top:20px; }
  .choirs-hero .choirs-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
