/* Programa Médicos Beta — light Kyon Med design system */
.beta{background:var(--bg);color:var(--text)}
.beta a:not(.btn){color:inherit}
.beta a:not(.btn):hover{color:var(--primary-700)}
.bwrap{max-width:1200px;margin:0 auto;padding:0 32px}
.bnarrow{max-width:800px}

/* nav — KyonMed floating glass header (styles come from kyonmed.css).
   The beta header carries the same six links plus login + CTA, which needs
   ~1190px; collapse the nav earlier so the CTA is never pushed off-screen. */
@media (max-width:400px){
  .beta .topbar__cta .btn{font-size:13px;padding:10px 14px}
  .beta .topbar__cta .btn svg{display:none}
}
.beta .topbar__login{display:inline-flex}
@media (max-width:1190px){
  .beta .topbar__nav{display:none !important}
  .beta .topbar__login{display:inline-flex !important}
  .beta .topbar__cta .btn--primary{display:none !important}
  .beta .topbar__pill{gap:12px;padding:8px 8px 8px 18px}
}

.beta-badge{display:block;width:auto;height:38px;margin:0 auto}
/* hero — centred stack with the product shot below */
.bhero{padding:150px 0 0;overflow:hidden;background:#fff}
.bhero__inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.bhero__title{margin:22px 0 0;max-width:none;width:100%;font-size:clamp(34px,4.6vw,62px);font-weight:700;line-height:1.06;letter-spacing:-0.03em;color:var(--primary-900);text-wrap:balance}
.bhero__sub{margin:22px 0 0;font-size:19px;line-height:1.6;color:var(--text-muted);max-width:640px;text-wrap:pretty}
.bhero__cta{margin-top:0}
.bhero__actions{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px}
.hbadge{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border:1px solid var(--primary-100);border-radius:999px;background:var(--primary-50);font-size:14.5px;font-weight:600;color:var(--primary-700);white-space:nowrap;animation:hbadgePulse 2.6s ease-in-out infinite}
.hbadge svg{width:17px;height:17px;flex:0 0 auto;animation:hbadgeSpin 6s linear infinite;transform-origin:50% 50%}
@keyframes hbadgePulse{0%,100%{box-shadow:0 0 0 0 rgba(47,84,224,.22)}55%{box-shadow:0 0 0 9px rgba(47,84,224,0)}}
@keyframes hbadgeSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.hbadge,.hbadge svg{animation:none}}
.bseals{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.bseals li{font-size:13px;font-weight:600;color:var(--text-strong);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 15px;box-shadow:var(--shadow-sm)}
.bseals--stack{margin-top:26px}
.bhero__shot{margin:-64px 0 0;max-width:none;padding:0;overflow:hidden}
/* perspective shot bleeding off the right edge, cropped at the fold (ref layout) */
.bhero__shot-img{display:block;width:min(1760px,112%);max-width:none;height:auto;margin:0 -18% -8% auto}

/* result panel */
.panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}
.panel__bar{display:flex;align-items:center;gap:10px;padding:16px 22px;border-bottom:1px solid var(--border-soft);font-size:14.5px;font-weight:600;color:var(--text-strong)}
.panel__dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px var(--success-bg)}
.panel__body{padding:24px 22px 22px}
.panel__case{margin:0;font-size:15px;line-height:1.6;color:var(--text-muted)}
.hyps{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:15px}
.hyp__row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:15px;color:var(--text-strong)}
.hyp__row b{font-variant-numeric:tabular-nums;font-weight:700;color:var(--primary-700)}
.hyp__bar{margin-top:7px;height:7px;border-radius:999px;background:var(--primary-50);overflow:hidden}
.hyp__bar i{display:block;height:100%;border-radius:999px;background:var(--grad-hero)}
.hyps li:nth-child(2) .hyp__bar i,.hyps li:nth-child(3) .hyp__bar i{background:var(--primary-200)}
.hyps li:nth-child(2) .hyp__row b,.hyps li:nth-child(3) .hyp__row b{color:var(--text-muted)}
.panel__meta{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-soft);display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;font-size:14px;color:var(--text-muted)}
.cids{display:flex;gap:8px}
.cid{font-size:12.5px;font-weight:600;color:var(--primary-700);background:var(--primary-50);border:1px solid var(--primary-100);border-radius:8px;padding:5px 10px}
.panel__note{margin:16px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-faint);font-style:italic}

/* sections */
.bsection{padding:88px 0}
.bsection--tint{background:var(--primary-50)}
.bsection--plain{background:#fff}
.bsection--dark{background:var(--primary-900);color:#E6EAF7}
.bsection__title{font-size:clamp(28px,3.3vw,40px);font-weight:700;line-height:1.14;letter-spacing:-0.024em;color:var(--primary-900);margin:0;text-wrap:balance}
.bsection__title--wide{max-width:900px}
.bsection__title--onDark{color:#fff}
.blead{margin:20px 0 0;font-size:18px;line-height:1.65;color:var(--text-muted);text-wrap:pretty}
.blead--strong{color:var(--text-strong);font-weight:500}

/* demo */
.bdemo{margin-top:46px}
.bdemo__shot{margin:0}
.chart{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}
.chart__head{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border-soft)}
.chart__tab{font-size:13.5px;font-weight:500;color:var(--text-muted);padding:7px 13px;border-radius:9px}
.chart__tab.is-on{background:var(--primary-50);color:var(--primary-700);font-weight:600}
.chart__btn{margin-left:auto;font-size:13.5px;font-weight:600;color:#fff;background:var(--primary-600);padding:9px 17px;border-radius:999px}
.chart__grid{display:grid;grid-template-columns:1fr 1fr}
.chart__col{padding:26px 24px}
.chart__col--out{background:#FAFBFF;border-left:1px solid var(--border-soft)}
.chart__lbl{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}
.chart__lbl+.chart__txt+.chart__lbl,.mini+.chart__lbl{margin-top:22px}
.chart__txt{margin:0;font-size:14.5px;line-height:1.6;color:var(--text-muted)}
.mini{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.mini li{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;color:var(--text-strong);background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;padding:11px 13px}
.mini li b{font-variant-numeric:tabular-nums;color:var(--primary-700)}
.mini li:first-child{border-color:var(--primary-200);background:var(--primary-50)}
.bdemo__cap{margin:20px 0 0;font-size:15px;color:var(--text-muted);text-align:center}

/* 4 steps */
.steps4{list-style:none;margin:46px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
.steps4 li{background:var(--bg);padding:30px 26px 32px}
.steps4__n{display:block;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--primary-600)}
.steps4 b{display:block;margin:14px 0 10px;font-size:18px;font-weight:700;color:var(--text-strong);letter-spacing:-0.01em}
.steps4 p{margin:0;font-size:15px;line-height:1.6;color:var(--text-muted)}
.bclose{margin:40px auto 0;max-width:760px;font-size:19px;line-height:1.6;color:var(--primary-900);font-weight:500;text-align:center;text-wrap:balance}

/* demo — left-aligned head + bleeding carousel with floating arrows */
.demo{padding-top:56px;padding-bottom:64px}
.demo__head{max-width:1200px}
.demo__eyebrow{margin:0;font-size:16px;font-weight:600;color:var(--primary-600)}
.demo__title{margin:14px 0 0;max-width:900px;font-size:clamp(32px,4vw,50px);font-weight:700;line-height:1.08;letter-spacing:-0.028em;color:var(--text-strong);text-wrap:balance}
.demo__sub{margin:20px 0 0;font-size:18px;line-height:1.62;color:var(--text-muted);max-width:620px;text-wrap:pretty}
.demo__stage{--dcard-w:clamp(320px,64vw,860px);position:relative;margin-top:44px}
.demo__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:56px;height:56px;border-radius:50%;border:1px solid #C7CBD3;background:var(--surface);color:#151e3a;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-card);transition:background .15s,transform .15s}
.demo__arrow:hover{background:var(--primary-50);transform:translateY(-50%) scale(1.05)}
.demo__arrow svg{width:21px;height:21px}
.demo__arrow--prev{left:calc(50% - var(--dcard-w) / 2 - 40px)}
.demo__arrow--next{left:calc(50% + var(--dcard-w) / 2 - 16px);right:auto}
.demo__rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 22px;scrollbar-width:none}
.demo__rail::-webkit-scrollbar{display:none}
.demo__rail::before,.demo__rail::after{content:"";flex:0 0 calc((100% - var(--dcard-w)) / 2)}
.dcard{flex:0 0 var(--dcard-w);scroll-snap-align:center;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:54px 40px;display:grid;grid-template-columns:1fr 1.12fr;gap:30px;align-items:center}
.dcard__copy{min-width:0}
.dcard__media{min-width:0;align-self:stretch;display:flex}
.dcard__media image-slot{flex:1;min-height:270px;border-radius:14px;overflow:hidden}
.dcard__img{flex:1;width:100%;min-height:270px;max-height:320px;object-fit:cover;object-position:left center;border-radius:14px;clip-path:inset(0 4% 0 0 round 14px)}
.dcard__media .dmock{flex:1;align-self:center}
.dcard__n{display:inline-flex;align-items:center;border:1.5px solid var(--primary-600);border-radius:999px;padding:5px 14px;font-size:15px;font-weight:600;letter-spacing:0.04em;color:var(--primary-600);font-variant-numeric:tabular-nums}
.dcard__title{margin:12px 0 8px;font-size:19px;font-weight:600;letter-spacing:-0.01em;line-height:1.25;color:#071838}
.dcard__txt{margin:0;font-size:18px;line-height:1.6;color:#5b6066}
.dmock{background:#FAFBFF;border:1px solid var(--border-soft);border-radius:14px;overflow:hidden}
.dmock__bar{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--border-soft);background:var(--surface);font-size:13px;font-weight:600;color:var(--text-strong)}
.dmock__tab{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;color:var(--text-muted);padding:5px 10px;border-radius:8px}
.dmock__tab svg{width:14px;height:14px;flex:0 0 auto}
.dmock__tab.is-on{background:var(--primary-50);color:var(--primary-700);font-weight:600}
.dmock__dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px var(--success-bg)}
.dmock__pulse{width:8px;height:8px;border-radius:50%;background:var(--primary-600);animation:dpulse 1.4s ease-in-out infinite}
@keyframes dpulse{0%,100%{box-shadow:0 0 0 0 rgba(47,84,224,.45)}50%{box-shadow:0 0 0 6px rgba(47,84,224,0)}}
.dmock__body{padding:16px 15px 17px}
.dmock__lbl{margin:0 0 9px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}
.dmock__txt{margin:12px 0 0;font-size:13.5px;line-height:1.6;color:var(--text-muted)}
.dmock__foot{margin:14px 0 0;font-size:12.5px;color:var(--text-faint)}
.dmock__rec{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border-soft);border-radius:11px;padding:9px 12px}
.dmock__mic{width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:var(--primary-600);color:#fff;display:grid;place-items:center}
.dmock__mic svg{width:15px;height:15px}
.dmock__wave{flex:1;display:flex;align-items:center;gap:3px;height:20px}
.dmock__wave i{flex:1;background:var(--primary-200);border-radius:999px;animation:dwave 1.1s ease-in-out infinite}
.dmock__wave i:nth-child(odd){animation-delay:.18s}
.dmock__wave i:nth-child(3n){animation-delay:.36s}
@keyframes dwave{0%,100%{height:26%}50%{height:100%}}
.dmock__time{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-faint)}
.dmock__chips{margin-top:13px;display:flex;flex-wrap:wrap;gap:7px}
.dmock__chips span{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--primary-700);background:var(--primary-50);border:1px solid var(--primary-100);border-radius:999px;padding:5px 11px}
.dmock__chips svg{width:13px;height:13px;flex:0 0 auto}
.dmock__chips span:last-child{background:var(--primary-600);border-color:var(--primary-600);color:#fff}
.dsigns{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.dsigns li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--text-strong)}
.dsigns svg{width:15px;height:15px;flex:0 0 auto;color:var(--primary-600)}
.dhyp{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.dhyp__row{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--text-strong)}
.dhyp__row b{font-variant-numeric:tabular-nums;color:var(--primary-700)}
.dhyp__bar{margin-top:6px;height:6px;border-radius:999px;background:var(--primary-50);overflow:hidden}
.dhyp__bar i{display:block;height:100%;border-radius:999px;background:var(--grad-hero)}
.dhyp li:nth-child(2) .dhyp__bar i{background:var(--primary-200)}
.dhyp li:nth-child(2) .dhyp__row b{color:var(--text-muted)}
.dhyp__vote{margin-top:9px;display:flex;gap:8px}
.dhyp__vote span{width:30px;height:30px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-faint);display:grid;place-items:center}
.dhyp__vote span.is-up{border-color:var(--primary-200);background:var(--primary-50);color:var(--primary-600)}
.dhyp__vote svg{width:15px;height:15px}
.dnote{margin-top:16px;display:flex;gap:11px;background:var(--primary-50);border:1px solid var(--primary-100);border-radius:12px;padding:13px 14px}
.dnote svg{width:18px;height:18px;flex:0 0 auto;color:var(--primary-600);margin-top:1px}
.dnote p{margin:0;font-size:13px;line-height:1.55;color:var(--text-muted)}
.dnote b{color:var(--primary-900);font-weight:600}

/* section headings unified with the neural section (67px / 600 / -1.3px, subs 18px) */
.beta .bhero__title,.beta .demo__title,.beta .more__title,.beta .bsection__title{font-size:67px;font-weight:600;line-height:0.98;letter-spacing:-1.3px;color:#071838;text-wrap:balance}
.beta .bhero__title{max-width:none;width:100%;text-wrap:balance;font-size:min(63px,(min(100vw,1200px) - 64px) / 18.2);line-height:1.16}
.beta .bhero__sub{font-size:20px}
.beta .bhero__sub,.beta .demo__sub,.beta .blead{font-size:18px;line-height:1.6;color:#5b6066}
.beta .demo__sub{max-width:760px}
.beta .bhero__sub{max-width:900px}
.beta .faq-sec .bsection__title{font-size:50px;font-weight:600;line-height:1.14;letter-spacing:-0.024em;color:var(--primary-900)}
.beta .faq-sec .blead{font-size:18px;line-height:1.65;color:var(--text-muted)}
@media (max-width:900px){
  .beta .bhero__title,.beta .demo__title,.beta .more__title,.beta .bsection__title{font-size:45px;line-height:1.02}
  .beta .bhero__title{font-size:min(45px,(100vw - 64px) / 18.2);line-height:1.14}
  .beta .faq-sec .bsection__title{font-size:40px}
  .final__title{font-size:min(44px,calc(5.4vw + 4px))}
}
@media (max-width:640px){
  /* section titles match the neural section's mobile size (45px) */
  .beta .more__title,.beta .bsection__title{font-size:45px!important;line-height:1.16!important}
  .beta .final__title{font-size:49px!important;line-height:1.16!important}
  /* hero + demo titles are line-count constrained, so they scale to fit */
  .beta .bhero__title{font-size:clamp(30px,8.2vw,40px)!important;line-height:1.16!important;max-width:none;width:100%;margin-top:10px}
  .beta .bhero__title br{display:inline}
  .beta .bhero__sub{font-size:19px}
  .beta .faq-sec .bsection__title{font-size:32px}
  .beta .final__title{font-size:clamp(32px,calc(7.8vw + 4px),42px)!important;line-height:1.16!important}
}

.beta .neural{padding-bottom:40px}
/* other features — pill cloud */
.more-sec{padding-top:40px}
.more{text-align:center}
.more__eyebrow{margin:0;font-size:16px;font-weight:600;color:var(--primary-600)}
.more__title{margin:12px 0 0;font-size:clamp(30px,3.6vw,44px);font-weight:700;letter-spacing:-0.026em;color:var(--text-strong)}
.more__pills{margin:44px auto 0;max-width:1040px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.pill{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border:1px solid #C7CBD3;border-radius:999px;background:var(--surface);font-size:16.5px;font-weight:500;color:var(--text-strong);white-space:nowrap}
.pill svg{width:18px;height:18px;flex:0 0 auto;color:var(--text-muted)}

/* what you get */
.bgive{display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:start}
.bgive__head .btn{margin-top:28px}
.bgive__media{align-self:stretch;min-height:420px;display:flex}
.bgive__media image-slot{flex:1;min-height:420px;border-radius:18px;overflow:hidden}
.bgive__img{flex:1;width:100%;min-height:420px;object-fit:cover;border-radius:18px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{position:relative;padding:16px 18px 16px 50px;background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;font-size:16px;color:var(--text-strong);box-shadow:var(--shadow-sm)}
.checks li::before{content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:19px;height:19px;border-radius:50%;background:var(--primary-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F54E0' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5 9.5 17.5 19.5 7'/%3E%3C/svg%3E") center/12px no-repeat}

/* compliance */
.compliance{margin-top:44px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.compliance article{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px 24px 26px}
.compliance b{display:block;font-size:17px;color:#fff;margin-bottom:8px}
.compliance p{margin:0;font-size:15px;line-height:1.6;color:#C6CFEA}

/* faq */
.faq{margin-top:34px;border-top:1px solid var(--border)}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;font-size:17.5px;font-weight:600;color:var(--text-strong)}
.faq summary::-webkit-details-marker{display:none}
.faq__ico{position:relative;width:20px;height:20px;flex:0 0 auto}
.faq__ico::before,.faq__ico::after{content:"";position:absolute;left:50%;top:50%;background:var(--primary-600);border-radius:2px;transform:translate(-50%,-50%)}
.faq__ico::before{width:14px;height:2px}
.faq__ico::after{width:2px;height:14px;transition:transform .2s}
.faq details[open] .faq__ico::after{transform:translate(-50%,-50%) scaleY(0)}
.faq p{margin:0 0 24px;font-size:16px;line-height:1.65;color:var(--text-muted);max-width:660px}

/* form */
.bform{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.bform__micro{margin:16px 0 0;font-size:15px;color:var(--text-faint)}
.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:30px 28px 32px;display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:14.5px;font-weight:600;color:var(--text-strong)}
.field .opt{font-weight:500;color:var(--text-faint)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select{font:inherit;font-size:16px;color:var(--text-strong);background:#F7F8FC;border:1.5px solid var(--border);border-radius:12px;padding:13px 14px;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(47,84,224,.14)}
.field--split{display:grid;grid-template-columns:1fr 110px;gap:14px}
.field--split>div{display:flex;flex-direction:column;gap:7px}
.field__hint{margin:-6px 0 0;font-size:13px;color:var(--text-faint)}
.radios{border:0;margin:0;padding:0;gap:10px}
.radios legend{padding:0;font-size:14.5px;font-weight:600;color:var(--text-strong)}
.radios{display:flex;flex-direction:column}
.radios>label{display:inline-flex;align-items:center;gap:9px;font-size:15.5px;color:var(--text);cursor:pointer}
.radios{flex-direction:column}
.radios .row{display:flex;gap:18px}
.radios input{accent-color:var(--primary-600);width:17px;height:17px}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--text-muted)}
.consent input{margin-top:2px;accent-color:var(--primary-600);width:17px;height:17px;flex:0 0 auto}
.consent a{color:var(--primary-700);text-decoration:underline}
.bform__submit{width:100%;margin-top:4px;justify-content:center}

/* final CTA — dark card on white, product shot bleeding right */
.final{background:#fff}
.final__card{position:relative;overflow:hidden;border-radius:32px;background:#03050c;color:#fff;display:grid;grid-template-columns:1.22fr .78fr;align-items:center;min-height:520px}
.final__card::after{content:"";position:absolute;left:0;bottom:0;width:82%;height:88%;pointer-events:none;z-index:0;background:radial-gradient(72% 86% at 42% 104%,rgba(0,100,255,.46),transparent 72%)}
.final__copy{position:relative;z-index:1;padding:64px 36px 64px 64px}
.final__badge{margin:0 0 28px;height:32px}
.final__title{margin:0;font-size:49px;font-weight:600;line-height:1.16;letter-spacing:-0.026em;color:#fff;text-wrap:balance}
.final__lead{margin:20px 0 0;font-size:17px;line-height:1.6;color:#7c84a2;max-width:none;text-wrap:pretty}
.final__cta{margin-top:34px;background:#fff;color:#151e3a;border:0;padding:15px 26px;border-radius:999px;font-size:16px;font-weight:600}
.final__cta:hover{background:#E9EDF7;color:#151e3a;box-shadow:none}
.beta .btn--primary:hover,.beta .bhero__cta:hover,.beta .bform__submit:hover,.beta .topbar__cta .btn--primary:hover{background:#151e3a;color:#fff}
.beta .topbar__cta .btn--primary:hover svg{stroke:#fff;color:#fff}
.final__shot{position:relative;z-index:1;align-self:stretch;display:flex;align-items:flex-end;justify-content:flex-end;padding:56px 0 0 0;overflow:hidden}
.final__shot image-slot{flex:1;margin-right:-80px;min-height:420px;border-radius:12px 0 0 0;overflow:hidden}
.final__img{display:block;width:100%;max-width:420px;height:auto;margin:0 -2px -2px 0;border-radius:14px 0 0 0}

/* signup modal */
.bmodal__close{position:absolute;top:14px;right:14px;z-index:4;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 2px 10px rgba(3,5,12,.16);color:#3d434d;display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}
.bmodal__close:hover{background:#fff;color:#071838}
.bmodal__close svg{width:16px;height:16px;flex:0 0 auto}
.bmodal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px}
.bmodal[hidden]{display:none}
.bmodal__scrim{position:absolute;inset:0;background:rgba(7,24,56,.55);backdrop-filter:blur(3px);animation:bmodalFade .18s ease}
.bmodal__panel{position:relative;width:100%;max-width:720px;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:bmodalIn .22s cubic-bezier(.2,.8,.3,1)}
.bmodal__x{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s;z-index:2}
.bmodal__x:hover{background:var(--primary-50);color:var(--primary-700)}
.bmodal__x svg{width:18px;height:18px}
.bmodal__form{padding:22px 26px 24px;display:flex;flex-direction:column;gap:10px}
.bmodal__head{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.bmodal__logo{height:24px;width:auto;margin-bottom:8px}
.bmodal__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.bmodal__full{grid-column:1 / -1}
.bmodal__grid .field label,.bmodal__grid .radios legend{font-size:13.5px;margin-bottom:5px}
.bmodal__grid input[type=text],.bmodal__grid input[type=email],.bmodal__grid input[type=tel],.bmodal__grid select{padding:10px 12px;font-size:15px}
.bmodal__grid .radios{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px}
.bmodal__grid .radios legend{flex:0 0 auto;margin-bottom:0}
.bmodal__grid .consent{font-size:12.5px;line-height:1.45}
.bmodal__grid .bform__submit{margin-top:2px;padding:13px 24px}
.bmodal__form[hidden]{display:none}
.bmodal__title{margin:0;font-size:22px;font-weight:700;letter-spacing:-0.02em;color:var(--primary-900)}
.bmodal__sub{margin:5px 0 0;font-size:14.5px;color:var(--text-muted)}
.bmodal .thanks{border:0;box-shadow:none;border-radius:var(--radius-lg)}
@keyframes bmodalFade{from{opacity:0}to{opacity:1}}
@keyframes bmodalIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

/* thanks */
.thanks{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px 32px;text-align:center}
.thanks__ico{width:52px;height:52px;margin:0 auto 18px;border-radius:50%;background:var(--success-bg);color:#15803D;display:grid;place-items:center}
.thanks__ico svg{width:26px;height:26px}
.thanks h3{font-size:24px;color:var(--primary-900);margin:0 0 10px}
.thanks p{margin:0 0 22px;font-size:16px;line-height:1.6;color:var(--text-muted)}

/* footer — KyonMed footer (styles come from kyonmed.css) */

@media (max-width:980px){
  .demo__stage{--dcard-w:min(82vw,560px)}
  .demo__arrow--prev{left:calc(50% - var(--dcard-w) / 2 - 36px)}
  .demo__arrow--next{left:calc(50% + var(--dcard-w) / 2 - 12px);right:auto}
  .final__card{grid-template-columns:1fr;min-height:0}
  .final__copy{padding:48px 32px 40px}
  .final__shot{padding:0 0 0 32px}
  .final__shot image-slot{min-height:320px;margin-right:-40px}
  .final__img{max-width:340px}
  .bgive,.bform{grid-template-columns:1fr;gap:40px}
  .dcard{grid-template-columns:1fr;gap:24px}
  .demo__rail{--dcard-w:min(82vw,560px)}
  .demo__arrow{width:48px;height:48px}
  .steps4{grid-template-columns:repeat(2,1fr)}
  .compliance{grid-template-columns:1fr}
  .chart__grid{grid-template-columns:1fr}
  .chart__col--out{border-left:0;border-top:1px solid var(--border-soft)}
}
/* mobile-only line break in the neural quote */
.mb-quote{display:none}
@media (max-width:640px){
  .bwrap{padding:0 20px}
  .bnav__tag{display:none}
  .bnav__cta{padding:10px 16px;font-size:14px}
  .bhero{padding:104px 0 0}
  .bhero__sub{font-size:17px}
  .bhero{padding:104px 0 0;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-start;background:#fff}
  .bhero__shot{margin-top:12px;padding:0 20px 40px}
  /* mobile hero: text block, then CTA, then the product shot below (ref layout) */
  .bhero__shot-img{width:100%;margin:0;height:auto;border-radius:12px;border:1px solid var(--border-soft);box-shadow:0 10px 34px rgba(7,24,56,.12)}
  .bhero__inner{align-items:flex-start;text-align:left}
  .beta-badge,.final__badge{margin:0 0 8px;height:23px!important;width:auto!important}
  .final__badge{margin-bottom:22px}
  .bhero__sub br{display:none}
  .bhero__actions{flex-direction:column;align-items:stretch;gap:14px;width:100%}
  .bhero__cta{width:100%;justify-content:center}
  .bhero__actions .hbadge{align-self:flex-start}
  .bsection{padding:56px 0}
  .steps4{grid-template-columns:1fr}
  .bclose{font-size:17.5px;text-align:left}
  .demo{padding-bottom:28px}
  .demo__rail{padding-bottom:16px}
  .demo__stage{margin-top:28px}
  .demo__arrow{width:40px;height:40px;top:50%;bottom:auto;transform:translateY(-50%)}
  .demo__arrow:hover{transform:translateY(-50%) scale(1.05)}
  .demo__arrow--prev{left:calc(50% - var(--dcard-w) / 2 - 20px);right:auto}
  .demo__arrow--next{left:calc(50% + var(--dcard-w) / 2 - 20px);right:auto}
  .demo__stage{--dcard-w:min(88vw,420px)}
  .demo__rail{--dcard-w:min(88vw,420px)}
  .dcard{grid-template-columns:1fr;gap:18px;padding:26px 22px}
  /* O rail esticava todo card ate a altura do mais alto e, como as linhas do
     grid sao auto, a sobra caia entre a imagem e o "PASSO N" (~111px de vazio).
     Encostando os cards no topo a sobra vai para o fim do card. */
  .demo__rail{align-items:flex-start}
  .dcard{align-content:start}
  .dcard__media{order:1;align-self:start}
  .dcard__copy{order:2;align-self:start}
  .dcard__media image-slot{min-height:200px}
  .card{padding:24px 20px 26px}
  .more__pills{gap:6px;margin-top:26px}
  /* Chips um pouco menores: com 13.5px/12px so cabia 1 por linha em 390px. */
  .pill{font-size:13px;padding:8px 10px;gap:6px}
  .pill svg{width:15px;height:15px}
  .bgive__media,.bgive__media image-slot,.bgive__img{min-height:300px}
  /* Beta Testers: image above the copy, centred head */
  .bgive{display:flex;flex-direction:column}
  .bsection:has(.bgive){padding-top:8px!important;padding-bottom:32px!important}
  .bgive__media{order:1;margin-bottom:12px}
  .bgive__head{order:2;text-align:center;margin-top:-16px}
  .faq-sec .bsection__title{font-size:clamp(30px,8.2vw,40px)!important;line-height:1.16!important}
  .bgive__head .bsection__title{text-align:center;font-size:clamp(30px,8.2vw,40px)!important;line-height:1.16!important;margin-top:0}
  .bgive__media{order:1;margin-top:14px;margin-bottom:10px}
  .bgive__head .blead{font-size:18px;text-align:center}
  .bgive__head .blead br{display:none}
  .bgive__head .btn{width:100%}
  .bgive__img{height:auto!important;width:100%!important;min-height:0;object-fit:cover;aspect-ratio:4/3}
  /* "E tem muito mais": tidier pill cloud */
  .more-sec{padding-top:20px}
  .more__pills{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:26px}
  .pill{flex:0 1 auto;font-size:13px;padding:8px 10px;gap:6px}
  .pill svg{width:15px;height:15px}
  /* demo head: wider, centred, 2-line title */
  .demo__head{max-width:none;text-align:center}
  .demo__eyebrow,.demo__sub{text-align:center}
  .beta .neural{padding-top:32px!important}
  .beta .neural__title{font-size:clamp(30px,8.2vw,40px)!important;line-height:1.16!important}
  .demo__title{text-align:center;text-wrap:balance;font-size:clamp(30px,8.2vw,40px)!important;line-height:1.16!important}
  .demo__title br{display:inline}
  .demo__sub{font-size:19px!important;margin-left:auto;margin-right:auto}
  .demo__eyebrow{font-size:16px!important}
  .mb-quote{display:inline}
  .bmodal{padding:12px}
  .bmodal__panel{max-height:calc(100dvh - 24px);overflow-y:auto}
  /* O formulario pedia 870px de altura contra ~736px de viewport: sobrava
     rolagem justo em cima do botao de enviar. Tudo abaixo aperta o passo
     vertical (nao o horizontal) para o CTA caber na primeira tela. */
  .bmodal__form{padding:18px 18px 20px}
  .bmodal__grid{grid-template-columns:1fr;row-gap:4px}
  .bmodal__title{font-size:22px;font-weight:600;line-height:1.15}
  .bmodal__sub{margin-top:3px;font-size:13.5px;line-height:1.35}
  .bmodal__logo{height:21px;margin-bottom:5px}
  .bmodal__grid .field{margin-bottom:6px}
  .bmodal__grid .field > label{font-size:12.5px;margin-bottom:3px}
  .bmodal__grid input,
  .bmodal__grid select,
  .bmodal__grid textarea{padding:9px 12px;font-size:15px}
  .bmodal__grid .radios{margin-bottom:2px;font-size:13.5px}
  .bmodal__grid .consent{font-size:12.5px;line-height:1.35}
  /* Em telas mais baixas (<=700px de viewport) ainda sobra rolagem: o botao
     fica grudado no rodape do painel para o CTA nunca sair da primeira tela. */
  .bmodal__grid .bform__submit{
    margin-top:4px;padding:12px 24px;
    position:sticky;bottom:0;z-index:2;
    box-shadow:0 -10px 14px 12px #fff;
  }
  .final{padding-top:20px}
  .final__card{grid-template-columns:1fr;min-height:0;border-radius:20px}
  .final__card::after{background:radial-gradient(72% 86% at 18% 104%,rgba(0,100,255,.46),transparent 72%)}
  .final__copy{padding:36px 24px 32px}
  .final__shot{padding:0 0 0 24px}
  .final__shot image-slot{min-height:260px;margin-right:-24px}
  .final__img{max-width:100%}
  .bfoot__links{margin-left:0;width:100%;flex-wrap:wrap;gap:14px}
}
