:root {
  --ink: #183b56;
  --muted: #616b73;
  --teal: #2d86c8;
  --teal-dark: #183b56;
  --mint: #a5cce7;
  --mint-soft: #edf6fc;
  --coral: #2d86c8;
  --coral-dark: #236da6;
  --cream: #f5f8fa;
  --line: #dce6ee;
  --white: #ffffff;
  --shadow: 0 28px 80px rgba(29, 68, 98, 0.15);
}

/* Scoped to the public layout so Bootstrap-based authorized pages stay untouched. */
html { scroll-behavior: smooth; overflow-x: clip; -webkit-text-size-adjust: 100%; }
body.cj-public { margin: 0; display: flex; flex-direction: column; min-height: 100vh; color: var(--ink); background: #fbfcf9; font-family: "DM Sans", sans-serif; font-size: 16px; overflow-x: clip; }
body.cj-public main { flex: 1 0 auto; }
.brand, .primary-nav a, .text-link, .button, .play-link, .inline-link, .footer-links a, .footer-bottom a, .quiet-link { color: inherit; text-decoration: none; }
.menu-toggle, .feature-tab, .side-icon, .patient-row button, .data-card button, .topbar-tools span { font-family: inherit; }
.section-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.page-glow { position: absolute; pointer-events: none; border-radius: 50%; filter: blur(2px); z-index: -1; }
.page-glow--one { width: 680px; height: 680px; right: -270px; top: 100px; background: radial-gradient(circle, rgba(45, 134, 200, .22), transparent 68%); }
.page-glow--two { width: 520px; height: 520px; left: -310px; top: 430px; background: radial-gradient(circle, rgba(29, 29, 27, .06), transparent 70%); }

.site-header { width: min(1300px, calc(100% - 40px)); margin: 16px auto 0; height: 74px; padding: 0 14px 0 22px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border: 1px solid rgba(20, 67, 64, .09); border-radius: 18px; background: rgba(255,255,255,.84); box-shadow: 0 8px 35px rgba(13, 55, 52, .06); backdrop-filter: blur(18px); position: relative; z-index: 50; }
.brand { display: inline-flex; align-items: center; width: max-content; }
.brand-logo { display: block; width: 170px; height: auto; }
.brand-mark { width: 31px; height: 31px; display: inline-grid; place-items: center; position: relative; transform: rotate(-8deg); }
.brand-mark i { position: absolute; width: 11px; height: 26px; border-radius: 6px; background: var(--teal); }
.brand-mark i:nth-child(2) { transform: rotate(60deg); background: #148a80; }
.brand-mark i:nth-child(3) { transform: rotate(120deg); background: var(--coral); mix-blend-mode: multiply; }
.primary-nav { display: flex; align-items: center; gap: 6px; padding: 6px; border: 1px solid #edf0ed; background: #f8f9f6; border-radius: 13px; }
.primary-nav a { padding: 10px 15px; border-radius: 9px; font-size: 14px; font-weight: 600; color: #3f5251; transition: .2s ease; }
.primary-nav a:hover { color: var(--teal); background: white; box-shadow: 0 4px 14px rgba(17,58,55,.07); }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 22px; }
.text-link { font-weight: 600; font-size: 14px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 54px; padding: 0 24px; border-radius: 14px; font-weight: 700; font-size: 15px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 20px; line-height: 1; }
.button--small { min-height: 46px; padding-inline: 19px; border-radius: 11px; font-size: 14px; }
.button--dark { color: white; background: var(--teal-dark); box-shadow: 0 8px 18px rgba(7,61,59,.17); }
.button--dark:hover { background: var(--teal); }
.button--coral { color: white; background: var(--coral); box-shadow: 0 12px 30px rgba(45,134,200,.25); }
.button--coral:hover { background: var(--coral-dark); box-shadow: 0 15px 35px rgba(45,134,200,.32); }
.menu-toggle { display: none; }

.hero { min-height: 745px; padding: 95px 0 74px; display: grid; grid-template-columns: .91fr 1.09fr; align-items: center; gap: 55px; }
.eyebrow { width: max-content; max-width: 100%; display: flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid #d8e6de; border-radius: 99px; color: var(--teal); background: rgba(255,255,255,.7); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.05px; }
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 5px rgba(45,134,200,.13); }
.hero h1 { margin: 25px 0 22px; font: 800 clamp(64px, 6vw, 91px)/.93 "Manrope", sans-serif; letter-spacing: -5.4px; }
.hero h1 span { color: var(--teal); }
.hero-lede { max-width: 535px; margin: 0; color: var(--muted); font-size: 18px; line-height: 1.65; }
.hero-actions { margin-top: 32px; display: flex; align-items: center; gap: 28px; }
.play-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 14px; }
.play-icon { display: grid; place-items: center; width: 35px; height: 35px; padding-left: 2px; border: 1px solid #d4dfda; border-radius: 50%; color: var(--teal); font-size: 10px; background: white; }
.hero-proof { margin-top: 44px; display: flex; align-items: center; gap: 14px; }
.avatar-stack { display: flex; padding-left: 9px; }
.avatar-stack span { width: 34px; height: 34px; margin-left: -9px; display: grid; place-items: center; border: 2px solid white; border-radius: 50%; color: white; background: #183b56; font-size: 9px; font-weight: 700; }
.avatar-stack span:nth-child(2) { background: #2d86c8; }.avatar-stack span:nth-child(3) { background: #5b6770; }.avatar-stack span:nth-child(4) { color: #236da6; background: #c9e1f2; }
.hero-proof > div:last-child { display: flex; flex-direction: column; }.hero-proof strong { font-size: 14px; }.hero-proof small { margin-top: 2px; color: #7a8786; }

.hero-product { min-width: 0; position: relative; padding: 34px 0; }
.hero-flow { position: absolute; z-index: 3; inset: -6px -34px; width: calc(100% + 68px); height: calc(100% + 12px); pointer-events: none; overflow: visible; }
.hero-flow path { fill: none; stroke: rgba(45, 134, 200, .24); stroke-width: 1.5; stroke-dasharray: 5 9; animation: routeDash 12s linear infinite; }
.hero-flow path:nth-of-type(2) { stroke: rgba(29, 29, 27, .16); animation-direction: reverse; animation-duration: 15s; }
.route-particle--mint { fill: #86bee6; }.route-particle--coral { fill: var(--coral); }.route-particle--white { fill: #fff; stroke: var(--teal); stroke-width: 1; }
.product-window { height: 525px; display: flex; overflow: hidden; border: 8px solid rgba(255,255,255,.78); outline: 1px solid rgba(27,88,83,.1); border-radius: 27px; background: #f7faf8; box-shadow: var(--shadow); transform: perspective(1200px) rotateY(-2deg) rotateX(1deg); position: relative; z-index: 2; animation: dashboardHover 6s ease-in-out infinite; }
.product-sidebar { width: 61px; flex: none; padding: 18px 10px; display: flex; flex-direction: column; align-items: center; gap: 15px; color: white; background: var(--teal-dark); }
.mini-brand { width: 39px; height: 31px; margin-bottom: 18px; display: grid; place-items: center; border-radius: 7px; background: #fff; }
.mini-brand-logo { display: block; width: 34px; height: auto; }
.side-icon { width: 35px; height: 35px; display: grid; place-items: center; border: 0; border-radius: 10px; color: #a9c5c2; background: transparent; cursor: pointer; }.side-icon.active { color: var(--teal-dark); background: var(--mint); }.side-spacer { flex: 1; }.side-icon.avatar { border-radius: 50%; color: var(--teal-dark); background: #f2c2a6; font-size: 9px; font-weight: 800; }
.product-main { min-width: 0; flex: 1; padding: 25px 25px 22px; }
.product-topbar { display: flex; justify-content: space-between; align-items: center; }.product-topbar > div:first-child { display: flex; flex-direction: column; gap: 3px; }.product-topbar small, .workflow-card small { color: #889593; font-size: 8px; letter-spacing: .8px; }.product-topbar strong { font: 700 19px "Manrope"; }.topbar-tools { display: flex; align-items: center; gap: 14px; color: #78908d; }.mini-avatar { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--teal); font-size: 8px; }
.metric-row { margin-top: 21px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.metric-row article { min-width: 0; padding: 13px; display: grid; grid-template-columns: 29px 1fr; grid-template-rows: auto auto auto; border: 1px solid #e1e9e5; border-radius: 13px; background: white; }.metric-icon { grid-row: 1 / span 2; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; font-size: 10px; }.metric-icon.mint { color: var(--teal); background: #dff5e9; }.metric-icon.peach { color: #c7604f; background: #ffebe6; }.metric-icon.blue { color: #456a92; background: #e7f0f8; }.metric-row small { align-self: center; color: #82908e; font-size: 7.5px; white-space: nowrap; }.metric-row strong { grid-column: 1 / -1; margin-top: 10px; font: 700 22px "Manrope"; }.metric-row em { grid-column: 1 / -1; color: #36a277; font-size: 7px; font-style: normal; }
.workflow-card, .activity-card { margin-top: 13px; border: 1px solid #e0e9e5; border-radius: 14px; background: white; }.workflow-card { padding: 14px 16px 17px; }.card-head { display: flex; justify-content: space-between; }.card-head > div { display: flex; flex-direction: column; gap: 3px; }.card-head strong { font-size: 12px; }.live-pill { height: 21px; padding: 0 8px; display: flex; align-items: center; gap: 5px; border-radius: 99px; color: #16705f; background: #e4f6ec; font-size: 7px; font-weight: 700; }.live-pill i { width: 5px; height: 5px; border-radius: 50%; background: #24a87f; }
.workflow-line { margin-top: 17px; display: flex; align-items: flex-start; }.workflow-node { width: 65px; display: flex; flex-direction: column; align-items: center; gap: 5px; }.workflow-node span { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #dae5e0; border-radius: 50%; color: #93a19e; font-size: 7px; font-weight: 800; background: #f7f9f8; }.workflow-node.complete span { border-color: var(--teal); color: white; background: var(--teal); }.workflow-node.current span { border: 2px solid #fff; outline: 2px solid var(--coral); color: white; background: var(--coral); animation: aiPulse 1.8s ease-out infinite; }.workflow-node small { max-width: 68px; font-size: 6px; letter-spacing: 0; text-align: center; text-transform: none; }.workflow-line > i { flex: 1; height: 1px; margin-top: 12px; background: #dce6e2; position: relative; overflow: hidden; }.workflow-line > i:after { content:""; position:absolute; top:0; bottom:0; width:40%; background:linear-gradient(90deg,transparent,var(--coral),transparent); animation:lineSignal 2.4s linear infinite; }
.activity-card { padding: 14px 16px 8px; }.activity-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; font-size: 10px; }.activity-head span { color: var(--teal); font-size: 7px; font-weight: 700; }.patient-row { display: grid; grid-template-columns: 29px minmax(75px,1.2fr) auto minmax(75px,1fr) 22px; gap: 8px; align-items: center; padding: 9px 0; border-top: 1px solid #edf1ef; }.patient-avatar { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: #7a483d; background: #f8d6c6; font-size: 7px; font-weight: 800; }.patient-avatar--blue { color: #3f5f78; background: #d9e9f2; }.patient-row > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }.patient-row strong { overflow: hidden; font-size: 8px; white-space: nowrap; text-overflow: ellipsis; }.patient-row small { overflow: hidden; color: #8a9694; font-size: 6.5px; white-space: nowrap; text-overflow: ellipsis; }.tag { padding: 4px 6px; border-radius: 4px; color: #367565; background: #e5f4ee; font-size: 6px; font-weight: 700; }.tag--urgent { color: #bd5747; background: #fff0ec; }.patient-row button { width: 21px; height: 21px; border: 1px solid #e3e9e6; border-radius: 6px; color: var(--teal); background: white; font-size: 9px; }.row-status { padding-left: 8px; border-left: 1px solid #edf1ef; }
.orbit { position: absolute; border: 1px solid rgba(45,134,200,.15); border-radius: 50%; }.orbit--one { width: 620px; height: 620px; left: -30px; top: -10px; }.orbit--two { width: 500px; height: 500px; right: -50px; top: 62px; border-color: rgba(29,29,27,.09); }
.float-card { position: absolute; z-index: 4; display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid rgba(13,77,71,.09); border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: 0 16px 45px rgba(20,67,64,.14); backdrop-filter: blur(10px); }.float-card--left { left: -34px; bottom: 58px; animation:floatCard 4.2s ease-in-out infinite; }.float-card--right { right: -25px; top: 70px; animation:floatCard 4.8s -1.6s ease-in-out infinite reverse; }.float-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: var(--teal); background: var(--mint); }.float-card div { display: flex; flex-direction: column; gap: 2px; }.float-card small { color: #84918f; font-size: 7px; }.float-card strong { font-size: 8px; }.check { color: #28a47b; font-weight: 800; }.ring { width: 38px; height: 38px; align-items: center; justify-content: center; border: 4px solid #d8f0e5; border-top-color: var(--coral); border-radius: 50%; animation:spin 3s linear infinite; }.ring strong { font-size: 9px; }

.trust-strip { padding: 28px 0 54px; border-top: 1px solid #e5ebe7; }.trust-strip p { margin: 0 0 25px; text-align: center; color: #80908e; font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }.logo-cloud { display: flex; justify-content: space-between; align-items: center; gap: 25px; color: #80908d; }.logo-cloud span { display: flex; align-items: center; gap: 7px; font: 700 13px "Manrope"; letter-spacing: -.2px; }.logo-glyph { color: #98aaa6; font-size: 20px; font-style: normal; }

.platform-section { padding: 112px 0; background: var(--cream); }.section-intro { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; }.kicker { display: block; margin-bottom: 14px; color: var(--coral-dark); font-size: 11px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; }.section-intro h2, .results-header h2, .security-copy h2, .cta-section h2 { margin: 0; font: 700 clamp(42px, 5vw, 65px)/1.05 "Manrope"; letter-spacing: -3.2px; }.section-intro p { margin: 0 0 4px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.platform-grid { margin-top: 65px; display: grid; grid-template-columns: .8fr 1.2fr; overflow: hidden; border: 1px solid #dfe6e1; border-radius: 22px; background: white; box-shadow: 0 25px 65px rgba(18,65,61,.08); }.feature-tabs { padding: 14px; display: flex; flex-direction: column; gap: 6px; border-right: 1px solid #e3e9e5; background: #f3f5f1; }.feature-tab { min-height: 91px; padding: 17px 16px; display: grid; grid-template-columns: 30px 1fr 20px; align-items: center; gap: 10px; border: 0; border-radius: 13px; color: #49605d; background: transparent; text-align: left; cursor: pointer; transition: .25s ease; }.feature-tab > span { align-self: start; padding-top: 3px; color: #97a5a2; font-size: 10px; font-weight: 700; }.feature-tab div { display: flex; flex-direction: column; gap: 6px; }.feature-tab strong { color: var(--ink); font: 700 15px "Manrope"; }.feature-tab small { font-size: 11px; line-height: 1.4; }.feature-tab i { opacity: 0; color: var(--coral); font-style: normal; transition: .2s ease; }.feature-tab:hover { background: rgba(255,255,255,.55); }.feature-tab.active { background: white; box-shadow: 0 7px 25px rgba(13,62,58,.08); }.feature-tab.active > span, .feature-tab.active i { opacity: 1; color: var(--coral); }
.feature-stage { min-height: 555px; padding: 45px 45px 34px; background: linear-gradient(145deg,#fff 0%,#f8fbf8 100%); }.stage-topline { display: flex; justify-content: space-between; align-items: center; color: var(--teal); font-size: 9px; font-weight: 800; letter-spacing: 1.2px; }.secure-pill { padding: 7px 9px; border-radius: 99px; color: #33766c; background: #e5f4ee; font-size: 8px; letter-spacing: .2px; }.feature-stage h3 { max-width: 480px; margin: 18px 0 12px; font: 700 31px/1.15 "Manrope"; letter-spacing: -1.4px; }.feature-stage > p { max-width: 570px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }.document-demo { min-height: 290px; margin-top: 27px; padding: 27px; display: grid; grid-template-columns: .82fr 70px 1.1fr; align-items: center; border-radius: 16px; background: #e9f1ec; position: relative; overflow: hidden; }.document-demo:after { content:""; position:absolute; width:230px; height:230px; right:-100px; top:-120px; border:35px solid rgba(255,255,255,.34); border-radius:50%; }.paper { height: 225px; padding: 20px; border-radius: 7px; background: white; box-shadow: 0 12px 25px rgba(23,67,62,.1); transform: rotate(-2deg); position: relative; overflow: hidden; }.paper-head { display: flex; align-items: center; gap: 9px; padding-bottom: 13px; border-bottom: 1px solid #e7edeb; }.paper-head > div { display: flex; flex-direction: column; }.paper-head strong { font-size: 9px; }.paper-head small { color: #84928f; font-size: 6px; }.paper-logo { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--teal); font: 700 10px "Manrope"; }.paper-lines { display: flex; flex-direction: column; gap: 12px; padding-top: 18px; }.paper-lines i { height: 5px; border-radius: 5px; background: #e8eeeb; }.paper-lines i:nth-child(1),.paper-lines i:nth-child(4) { width: 65%; }.paper-lines i:nth-child(3) { width: 82%; }.scan-line { position: absolute; left: 0; right: 0; top: 45%; height: 2px; background: var(--coral); box-shadow: 0 0 17px 4px rgba(255,115,94,.25); animation: scan 3s ease-in-out infinite; }.ai-bridge { justify-self: center; display: flex; flex-direction: column; align-items: center; gap: 7px; color: var(--teal); }.ai-bridge span { width: 39px; height: 39px; display: grid; place-items: center; border: 5px solid #eaf2ed; outline: 1px solid #cdded5; border-radius: 50%; background: var(--mint); font-size: 15px; }.ai-bridge small { font-size: 7px; font-weight: 700; }.data-card { padding: 17px; border: 1px solid #dce6e1; border-radius: 10px; background: white; box-shadow: 0 12px 28px rgba(23,67,62,.09); position: relative; z-index: 2; }.data-head { display: flex; justify-content: space-between; padding-bottom: 11px; border-bottom: 1px solid #e9eeec; font-size: 8px; font-weight: 700; }.data-head em { color: #2b9975; font-size: 6px; font-style: normal; }.data-card dl { margin: 7px 0 13px; }.data-card dl div { padding: 7px 0; display: grid; grid-template-columns: .8fr 1.2fr; border-bottom: 1px solid #f0f3f1; font-size: 7px; }.data-card dt { color: #889592; }.data-card dd { margin: 0; font-weight: 600; }.data-card dd b { padding: 3px 5px; border-radius: 3px; color: #ba594b; background: #fff0ec; font-size: 6px; }.data-card button { width: 100%; height: 30px; padding: 0 10px; display: flex; justify-content: space-between; align-items: center; border: 0; border-radius: 6px; color: white; background: var(--teal); font-size: 7px; font-weight: 700; }

.results-section { padding: 115px 0 125px; }.results-header { display: flex; justify-content: space-between; align-items: end; }.results-header:after { content: "Автоматизований шлях документа від лабораторії до лікаря."; max-width: 300px; padding-bottom: 8px; color: var(--muted); font-size: 16px; line-height: 1.5; }.results-grid { margin-top: 58px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.stat-card { min-height: 370px; padding: 34px; overflow: hidden; border: 1px solid #dee7e2; border-radius: 19px; background: #f4f7f3; position: relative; }.stat-card > strong { font: 700 62px "Manrope"; letter-spacing: -4px; }.stat-card > strong.stat-word { display:block; font-size:clamp(39px,4vw,54px); line-height:1; letter-spacing:-2.5px; }.stat-card > p { margin: 12px 0; font: 700 19px "Manrope"; }.stat-card > small { display: block; max-width: 255px; color: var(--muted); font-size: 13px; line-height: 1.55; }.stat-card--dark { color: white; border-color: var(--teal-dark); background: var(--teal-dark); }.stat-card--dark > small { color: #c1d4e1; }.stat-card--coral { color: white; border-color: var(--teal); background: var(--teal); }.stat-card--coral > small { color: #dcecf8; }.mini-bars { position: absolute; left: 34px; right: 34px; bottom: 34px; height: 102px; display: flex; align-items: end; gap: 9px; }.mini-bars i { flex:1; height: 23%; border-radius: 5px 5px 2px 2px; background: #4f5559; }.mini-bars i:nth-child(2){height:35%}.mini-bars i:nth-child(3){height:46%}.mini-bars i:nth-child(4){height:60%}.mini-bars i:nth-child(5){height:77%;background:#6daedb}.mini-bars i:nth-child(6){height:100%;background:var(--mint)}
.speed-track { position: absolute; left: 34px; right: 34px; bottom: 45px; height: 70px; border-top: 1px dashed #cbd8d2; border-bottom: 1px dashed #cbd8d2; }.speed-track:before,.speed-track span { content:""; position:absolute; left:0; top:14px; width:40%; height:9px; border-radius:10px; background:#cbd8d2; }.speed-track span { top:44px; width:87%; background:var(--teal); }.speed-track i { position:absolute; right:0; top:9px; color:#8a9895; font-size:7px; font-style:normal; }.speed-track i:last-child { top:39px; color:var(--teal); font-weight:700; }.pulse-orb { position:absolute; right:-30px; bottom:-55px; width:230px; height:230px; display:grid; place-items:center; border:1px solid rgba(102,44,34,.15); border-radius:50%; color:#63372f; font-size:46px; box-shadow: inset 0 0 0 35px rgba(255,255,255,.09), inset 0 0 0 68px rgba(255,255,255,.08); animation: float 4s ease-in-out infinite; }

.testimonial-section { padding: 105px 0; color: white; background: var(--teal); }.testimonial-wrap { position: relative; display: grid; grid-template-columns: 90px 1fr .45fr; column-gap: 35px; align-items: start; }.quote-mark { font: 700 76px/1 "Manrope",sans-serif; color: #d7eaf7; }.testimonial-wrap blockquote { max-width: 720px; margin: 5px 0 40px; font: 500 clamp(28px,3.4vw,43px)/1.3 "Manrope"; letter-spacing: -1.5px; }.quote-author { grid-column: 2; display: flex; align-items: center; gap: 12px; }.quote-author > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: var(--teal-dark); background: #d7eaf7; font-size: 15px; font-weight: 800; }.quote-author div { display:flex; flex-direction:column; gap:3px; }.quote-author strong { font-size:13px; }.quote-author small { color:#d2e5f2; font-size:11px; }.quote-metrics { grid-column:3; grid-row:1 / span 2; align-self:stretch; padding-left:38px; display:flex; flex-direction:column; justify-content:center; gap:34px; border-left:1px solid rgba(255,255,255,.22); }.quote-metrics div { display:flex; flex-direction:column; gap:4px; }.quote-metrics strong { font:700 35px "Manrope"; }.quote-metrics small { color:#d2e5f2; font-size:10px; }

.security-section { padding: 115px 0; display: grid; grid-template-columns: .78fr 1.22fr; gap: 90px; align-items: center; }.security-copy p { max-width: 480px; margin: 23px 0; color: var(--muted); font-size: 16px; line-height: 1.65; }.inline-link { display:inline-flex; gap:18px; color:var(--teal); font-weight:700; font-size:14px; border-bottom:1px solid #a9c9bf; padding-bottom:5px; }.security-badges { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.security-badges article { min-height:240px; padding:23px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid #dbe5df; border-radius:15px; background:#f6f8f4; }.security-badges span { width:74px; height:74px; display:grid; place-items:center; border:1px solid #cfe0d8; border-radius:50%; color:var(--teal); font:800 15px/1.1 "Manrope"; text-align:center; box-shadow:inset 0 0 0 7px white; }.security-badges article:nth-child(2) span { color:var(--coral-dark); }.security-badges article:nth-child(3) span:after { content:"bit"; font-size:7px; margin-left:2px; }.security-badges strong { font:700 14px/1.4 "Manrope"; }

.cta-section { min-height:365px; padding:64px 70px; display:grid; grid-template-columns:150px 1fr auto; align-items:center; gap:45px; overflow:hidden; border-radius:24px; color:white; background:var(--teal-dark); position:relative; }.kicker--light { color:var(--mint); }.cta-section h2 { font-size:56px; }.cta-section p { margin:15px 0 0; color:#b2c9c6; }.button--light { color:var(--teal-dark); background:white; box-shadow:0 14px 35px rgba(0,0,0,.13); }.cta-art { width:135px; height:135px; display:grid; place-items:center; position:relative; }.cta-art > span { width:62px; height:62px; display:grid; place-items:center; border-radius:50%; color:var(--teal-dark); background:var(--mint); font-size:27px; position:relative; z-index:2; }.cta-ring { position:absolute; inset:0; border:1px solid rgba(188,235,213,.3); border-radius:50%; box-shadow:inset 0 0 0 24px rgba(188,235,213,.04); animation:spin 12s linear infinite; }.cta-ring:after { content:""; position:absolute; top:8px; left:23px; width:10px; height:10px; border-radius:50%; background:var(--coral); }

.site-footer { margin-top:90px; color:white; background:#183b56; }.footer-main { padding:75px 0 60px; display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }.brand--light { padding:10px 14px; border-radius:10px; background:#fff; }.brand--light .brand-logo { width:180px; }.footer-brand p { max-width:250px; margin:20px 0 25px; color:#b8cada; line-height:1.5; }.status-pill { width:max-content; padding:8px 11px; display:flex; align-items:center; gap:7px; border:1px solid #43627a; border-radius:99px; color:#c7d6e2; font-size:9px; }.status-pill i { width:6px; height:6px; border-radius:50%; background:#71b8e9; box-shadow:0 0 0 4px rgba(113,184,233,.14); }.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }.footer-links > div { display:flex; flex-direction:column; gap:13px; }.footer-links strong { margin-bottom:7px; color:#edf5fa; font-size:11px; text-transform:uppercase; letter-spacing:1px; }.footer-links a { color:#b4c7d5; font-size:13px; transition:.2s; }.footer-links a:hover { color:white; }.footer-bottom { padding:22px 0 30px; display:flex; justify-content:space-between; border-top:1px solid #426078; color:#a9bece; font-size:10px; }.footer-bottom div { display:flex; gap:25px; }

/* Brand palette refinements derived from the supplied CureJet logo. */
.security-badges article:nth-child(3) span:after { content:none; }
.metric-icon.mint, .metric-icon.peach, .metric-icon.blue { color:#236da6; background:#e5f2fb; }
.metric-row em, .data-head em, .check { color:#2d86c8; }
.live-pill, .tag, .secure-pill { color:#236da6; background:#e5f2fb; }
.live-pill i { background:#2d86c8; }
.tag--urgent, .data-card dd b { color:#183b56; background:#dcecf8; }
.patient-avatar { color:#183b56; background:#c9e1f2; }
.feature-stage { background:linear-gradient(145deg,#fff 0%,#f2f8fc 100%); }
.document-demo { background:#e8f1f7; }
.scan-line { box-shadow:0 0 17px 4px rgba(45,134,200,.24); }
.stat-card--coral { color:#fff; border-color:#2d86c8; background:#2d86c8; }
.stat-card--coral > small { color:#dcecf8; }
.mini-bars i { background:#4f5559; }.mini-bars i:nth-child(5){background:#6daedb}.mini-bars i:nth-child(6){background:#a5cce7}

.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }.reveal--delay { transition-delay:.13s; }.reveal.visible { opacity:1; transform:none; }
.hero .reveal { opacity:1; transform:none; }
@keyframes scan { 0%,100%{top:25%;opacity:.2}50%{top:82%;opacity:1} }
@keyframes float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)} }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes routeDash { to{stroke-dashoffset:-140} }
@keyframes dashboardHover { 0%,100%{transform:perspective(1200px) rotateY(-2deg) rotateX(1deg) translateY(0)}50%{transform:perspective(1200px) rotateY(-1deg) rotateX(.5deg) translateY(-7px)} }
@keyframes floatCard { 0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)} }
@keyframes aiPulse { 0%{box-shadow:0 0 0 0 rgba(45,134,200,.45)}70%{box-shadow:0 0 0 8px rgba(45,134,200,0)}100%{box-shadow:0 0 0 0 rgba(45,134,200,0)} }
@keyframes lineSignal { from{left:-45%}to{left:105%} }

@media (max-width: 1050px) {
  .site-header { grid-template-columns:1fr auto; }.primary-nav { display:none; }.header-actions { grid-column:2; grid-row:1; margin-right:56px; }.menu-toggle { display:flex; position:absolute; right:17px; width:40px; height:40px; border:0; border-radius:10px; background:#eef3ef; flex-direction:column; justify-content:center; gap:6px; padding:0 11px; }.menu-toggle span { height:2px; background:var(--teal-dark); }.site-header.nav-open .primary-nav { position:absolute; top:82px; left:0; right:0; display:flex; flex-direction:column; align-items:stretch; padding:10px; background:white; box-shadow:0 18px 40px rgba(13,55,52,.12); }.hero { grid-template-columns:1fr; padding-top:70px; }.hero-copy { max-width:720px; text-align:center; margin-inline:auto; }.eyebrow,.hero-actions,.hero-proof { margin-left:auto; margin-right:auto; justify-content:center; }.hero-product { width:min(760px,100%); margin-inline:auto; }.platform-grid { grid-template-columns:1fr; }.feature-tabs { display:grid; grid-template-columns:repeat(2,1fr); border-right:0; border-bottom:1px solid var(--line); }.security-section { grid-template-columns:1fr; }.testimonial-wrap { grid-template-columns:70px 1fr; }.quote-metrics { grid-column:2; grid-row:auto; margin-top:35px; padding:30px 0 0; flex-direction:row; border-left:0; border-top:1px solid rgba(255,255,255,.18); justify-content:flex-start; gap:70px; }.cta-section { grid-template-columns:110px 1fr; }.cta-section .button { grid-column:2; width:max-content; }.footer-main { gap:50px; }
}

@media (max-width: 720px) {
  .page-glow--one { width:280px; height:280px; right:auto; left:calc(100% - 280px); }.page-glow--two { width:240px; height:240px; left:-120px; }
  .section-shell { width:min(100% - 30px,1180px); }.site-header { width:calc(100% - 20px); margin-top:10px; height:64px; padding-left:15px; }.brand-logo { width:132px; }.header-actions .text-link { display:none; }.header-actions { margin-right:47px; }.button--small { min-height:40px; padding-inline:13px; font-size:12px; }.button--small span { display:none; }.menu-toggle { right:10px; }
  .hero { min-height:0; padding:63px 0 40px; gap:40px; }.eyebrow { width:100%; justify-content:center; padding-inline:8px; font-size:9.5px; line-height:1.25; letter-spacing:.65px; text-align:center; }.hero h1 { font-size:clamp(49px,14vw,62px); letter-spacing:-3.3px; }.hero-lede { font-size:16px; }.hero-actions { flex-direction:column; gap:20px; }.hero-proof { margin-top:34px; }.product-window { height:410px; border-width:5px; border-radius:19px; }.product-sidebar { width:45px; padding:12px 5px; }.side-icon { width:30px;height:30px;}.product-main { padding:17px 12px; }.metric-row article:nth-child(3) { display:none; }.metric-row { grid-template-columns:repeat(2,1fr); }.patient-row { grid-template-columns:27px 1fr auto 20px; }.row-status { display:none!important; }.float-card--left { left:-7px; bottom:10px; }.float-card--right { right:-6px; top:62px; }.orbit { display:none; }
  .trust-strip { padding-bottom:35px; }.logo-cloud { flex-wrap:wrap; justify-content:center; }.logo-cloud span { font-size:10px; }
  .platform-section,.results-section,.security-section { padding:75px 0; }.section-intro { grid-template-columns:1fr; gap:20px; }.section-intro h2,.results-header h2,.security-copy h2 { font-size:43px; letter-spacing:-2.4px; }.feature-tabs { grid-template-columns:1fr; }.feature-tab { min-height:73px; }.feature-stage { padding:32px 18px 24px; }.feature-stage h3 { font-size:27px; }.document-demo { padding:18px; grid-template-columns:1fr; }.paper { display:none; }.ai-bridge { margin-bottom:12px; }.data-card { width:100%; }.results-header { display:block; }.results-header:after { display:block; margin-top:20px; }.results-grid { grid-template-columns:1fr; }.stat-card { min-height:330px; }
  .testimonial-section { padding:75px 0; }.testimonial-wrap { grid-template-columns:1fr; }.quote-mark { height:65px; }.testimonial-wrap blockquote,.quote-author,.quote-metrics { grid-column:1; }.testimonial-wrap blockquote { font-size:27px; }.quote-metrics { gap:35px; }
  .security-section { gap:45px; }.security-badges { grid-template-columns:1fr; }.security-badges article { min-height:155px; }.cta-section { width:calc(100% - 30px); min-height:0; padding:45px 25px; grid-template-columns:1fr; text-align:center; }.cta-art { margin:auto; }.cta-section h2 { font-size:43px; }.cta-section .button { grid-column:1; width:100%; }.site-footer { margin-top:65px; }.footer-main { grid-template-columns:1fr; }.footer-links { gap:18px; }.footer-bottom { gap:20px; flex-direction:column; }
}

/* iPhone 14 Pro Max and similarly sized portrait screens (414–480 px). */
@media (min-width: 414px) and (max-width: 480px) and (min-height: 840px) {
  .hero { padding-top: 66px; padding-bottom: 48px; }
  .hero-copy { max-width: 390px; }
  .hero h1 { font-size: 60px; line-height: .98; }
  .hero-product { margin-inline: -2px; padding: 30px 0; }
  .product-window { height: 440px; }
  .float-card--left { left: 0; bottom: 14px; }
  .float-card--right { right: 0; top: 66px; }
  .feature-stage { padding: 34px 22px 30px; }
}

@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-flow{display:none}.product-window,.float-card,.workflow-node.current span,.workflow-line>i:after,.scan-line,.pulse-orb,.cta-ring,.ring{animation:none} }

/* ==========================================================================
   Application components rendered inside the public layout.
   ========================================================================== */

.header-actions .user-menu { display: flex; align-items: center; gap: 14px; }
.header-actions .user-menu .navbar-nav { flex-direction: row; align-items: center; gap: 10px; margin: 0; }
.header-actions .user-menu .nav-link { color: var(--ink); font-size: 14px; font-weight: 600; }
.primary-nav a.active { color: var(--teal); background: white; }

/* Interior page header (laboratories, legal documents, errors). */
.page-hero { padding: 62px 0 44px; }
.page-hero .kicker { margin-bottom: 12px; }
.page-hero h1 { margin: 0; font: 700 clamp(36px, 4.4vw, 56px)/1.06 "Manrope", sans-serif; letter-spacing: -2.6px; }
.page-hero p { max-width: 640px; margin: 18px 0 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.page-hero--center { text-align: center; }
.page-hero--center p { margin-inline: auto; }

.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; color: #8593a0; font-size: 13px; }
.crumbs a { color: var(--teal); font-weight: 600; text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }
.crumbs li + li::before { content: "/"; margin-right: 8px; color: #b7c4ce; }

.public-body { padding-bottom: 90px; }
.panel { padding: 34px 38px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 22px 60px rgba(18, 65, 61, .07); }
.panel + .panel { margin-top: 20px; }
.panel h2 { margin: 0 0 16px; font: 700 26px/1.2 "Manrope", sans-serif; letter-spacing: -1.1px; }
.panel h3 { margin: 0 0 12px; font: 700 18px/1.3 "Manrope", sans-serif; }

/* Long-form text: legal documents and static copy blocks. */
.prose { color: #3d4c58; font-size: 16px; line-height: 1.75; }
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 { margin: 2rem 0 .85rem; color: var(--ink); font-family: "Manrope", sans-serif; font-weight: 700; letter-spacing: -.6px; }
.prose h1 { font-size: 30px; }
.prose h2 { font-size: 25px; }
.prose h3 { font-size: 21px; }
.prose h4 { font-size: 18px; }
.prose h5, .prose h6 { font-size: 16px; }
.prose p { margin: 0 0 1rem; }
.prose ul, .prose ol { margin: 0 0 1rem; padding-left: 1.5rem; }
.prose li { margin-bottom: .5rem; }
.prose a { color: var(--teal); text-decoration: underline; text-underline-offset: 2px; }
.prose a:hover { color: var(--coral-dark); }
.prose strong { color: var(--ink); font-weight: 700; }
.prose table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.prose th, .prose td { padding: .7rem .85rem; border: 1px solid var(--line); text-align: left; }
.prose th { background: var(--mint-soft); font-weight: 700; }
.prose blockquote { margin: 0 0 1rem; padding: 1rem 1.25rem; border-left: 4px solid var(--teal); border-radius: 0 10px 10px 0; background: var(--mint-soft); font-style: italic; }
.doc-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.doc-meta span { padding: 7px 12px; border: 1px solid var(--line); border-radius: 99px; color: #6b7a86; background: white; font-size: 12px; font-weight: 600; }

/* Generic card grids used by content sections. */
.info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 16px; }
.info-grid--tight { grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); }
.info-card { display: flex; flex-direction: column; gap: 10px; padding: 26px; border: 1px solid var(--line); border-radius: 17px; background: white; transition: transform .2s ease, box-shadow .2s ease; }
.info-card:hover { transform: translateY(-3px); box-shadow: 0 18px 45px rgba(18, 65, 61, .09); }
.info-card > span:not(.card-arrow) { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: var(--teal); background: var(--mint-soft); font: 800 13px "Manrope", sans-serif; }
.info-card h3 { margin: 0; font: 700 17px/1.3 "Manrope", sans-serif; }
.info-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.info-card ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.card-link { color: inherit; text-decoration: none; }
.card-link .info-card { height: 100%; }
.card-arrow { margin-top: auto; color: var(--teal); font-size: 13px; font-weight: 700; text-decoration: none; }
.card-arrow:hover { color: var(--coral-dark); }

.content-section { padding: 88px 0; }
.content-section--cream { background: var(--cream); }
.content-section > .section-shell > h2, .content-head h2 { margin: 0; font: 700 clamp(34px, 4vw, 50px)/1.08 "Manrope", sans-serif; letter-spacing: -2.4px; }
.content-head { max-width: 720px; margin-bottom: 40px; }
.content-head--center { margin-inline: auto; text-align: center; }
.content-head p { margin: 18px 0 0; color: var(--muted); font-size: 16px; line-height: 1.7; }

/* Notice blocks: TempData messages and inline hints. */
.notice { display: flex; gap: 12px; align-items: flex-start; padding: 16px 20px; border: 1px solid var(--line); border-radius: 14px; background: white; color: #3d4c58; font-size: 14px; line-height: 1.6; }
.notice + .notice { margin-top: 10px; }
.notice strong { color: var(--ink); }
.notice a { color: var(--teal); text-decoration: underline; }
.notice--info { border-color: #bcdcf3; background: var(--mint-soft); }
.notice--success { border-color: #b6e2cd; background: #eaf7f1; }
.notice--error { border-color: #f0c4bb; background: #fdefec; }
.notice-bar { padding-top: 18px; }

/* FAQ built on native disclosure elements so it needs no framework JS. */
.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-item { border: 1px solid var(--line); border-radius: 15px; background: white; overflow: hidden; }
.faq-item[open] { border-color: #bcdcf3; box-shadow: 0 16px 40px rgba(18, 65, 61, .07); }
.faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 20px 24px; cursor: pointer; color: var(--ink); font: 700 16px/1.4 "Manrope", sans-serif; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; flex: none; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--teal); background: var(--mint-soft); font-size: 17px; transition: transform .2s ease; }
.faq-item[open] summary::after { content: "−"; transform: rotate(180deg); }
.faq-item .faq-answer { padding: 0 24px 22px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.faq-item .faq-answer a { color: var(--teal); text-decoration: underline; }

/* Contact / demo request form. */
.contact-section { padding: 96px 0; background: var(--cream); }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: start; }
.contact-copy h2 { margin: 0; font: 700 clamp(36px, 4.2vw, 52px)/1.06 "Manrope", sans-serif; letter-spacing: -2.6px; }
.contact-copy p { margin: 20px 0 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.contact-copy p a { color: var(--teal); text-decoration: underline; }
.contact-points { margin: 30px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; list-style: none; }
.contact-points li { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; }
.contact-points i { flex: none; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: var(--teal); background: var(--mint-soft); font-size: 12px; font-style: normal; }
.contact-card { padding: 34px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: var(--shadow); }
.contact-status { min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 28px 12px; text-align: center; animation: contactStatusIn .35s ease-out; }
.contact-status h3 { margin: 8px 0 0; font: 700 28px/1.2 "Manrope", sans-serif; letter-spacing: -0.8px; }
.contact-status p { margin: 0; max-width: 360px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.contact-status__spinner { width: 48px; height: 48px; border: 4px solid #d7e8f4; border-top-color: var(--teal); border-radius: 50%; animation: spin .8s linear infinite; }
.contact-status__mark { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; color: #1f8a5b; background: #eaf7f1; font-size: 34px; font-weight: 700; line-height: 1; }
@keyframes contactStatusIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.field { margin-bottom: 18px; }
.field label { display: block; margin-bottom: 7px; color: var(--ink); font-size: 13px; font-weight: 700; }
.field input, .field select, .field textarea { width: 100%; min-height: 50px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: #fbfdfe; font-family: inherit; font-size: 15px; transition: border-color .2s ease, box-shadow .2s ease; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--teal); background: white; box-shadow: 0 0 0 4px rgba(45, 134, 200, .12); outline: none; }
.field .field-error { display: block; margin-top: 6px; color: #c0503f; font-size: 12.5px; font-weight: 600; }
.form-error-summary { margin-bottom: 18px; color: #c0503f; font-size: 13px; font-weight: 600; }
.form-error-summary:empty { display: none; }
.form-error-summary.validation-summary-errors { padding: 14px 16px; border: 1px solid #f0c4bb; border-radius: 12px; background: #fdefec; }
.form-error-summary ul { margin: 0; padding-left: 18px; }
.form-note { margin: 16px 0 0; color: #8593a0; font-size: 12.5px; line-height: 1.6; }
.form-note a { color: var(--teal); text-decoration: underline; }
.button--block { width: 100%; }
.button[disabled] { opacity: .6; cursor: not-allowed; transform: none; }
.button .spinner { display: none; width: 18px; height: 18px; border: 3px solid rgba(255, 255, 255, .35); border-top-color: white; border-radius: 50%; animation: spin 1s linear infinite; }
.button.loading .btn-text { display: none; }
.button.loading .spinner { display: inline-block; }

/* Authentication and account entry pages. */
.auth-shell { width: min(520px, calc(100% - 32px)); margin: 54px auto 90px; }
.auth-head { margin-bottom: 26px; text-align: center; }
.auth-head .kicker { margin-bottom: 12px; }
.auth-head h1 { margin: 0; font: 700 clamp(30px, 3.6vw, 42px)/1.1 "Manrope", sans-serif; letter-spacing: -1.8px; }
.auth-head p { max-width: 440px; margin: 14px auto 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
.auth-card { padding: 34px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: var(--shadow); }
.auth-card > :first-child { margin-top: 0; }
.auth-card h2 { margin: 0 0 8px; font: 700 21px/1.3 "Manrope", sans-serif; }
.auth-card > p { margin: 0 0 22px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.auth-identity { display: flex; align-items: center; gap: 11px; margin-bottom: 22px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--cream); font-size: 14px; font-weight: 600; }
.auth-identity span { flex: none; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: var(--teal); background: var(--mint-soft); font-size: 12px; }
.auth-note { margin: 0 0 22px; padding: 14px 16px; border: 1px solid #bcdcf3; border-radius: 12px; background: var(--mint-soft); color: #2a4a63; font-size: 13.5px; line-height: 1.6; }
.auth-note a { color: var(--teal); text-decoration: underline; }

.auth-providers { display: grid; gap: 10px; }
.auth-providers--row { grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); }
.provider-button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 16px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: white; font-family: inherit; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.provider-button:hover { border-color: #b9d7ee; box-shadow: 0 10px 24px rgba(18, 65, 61, .08); transform: translateY(-1px); }
.provider-button svg { flex: none; width: 20px; height: 20px; }

.auth-divider { display: flex; align-items: center; gap: 14px; margin: 26px 0; color: #93a2ae; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }

.field-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 7px; }
.field-head label { margin: 0; }
.field-head a { color: var(--teal); font-size: 12.5px; font-weight: 600; text-decoration: none; }
.field-head a:hover { text-decoration: underline; }
.check-line { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 20px; color: #3d4c58; font-size: 13.5px; line-height: 1.55; }
.check-line input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--teal); }
.check-line label { margin: 0; font-size: inherit; font-weight: 500; }
.check-line a { color: var(--teal); text-decoration: underline; }
.turnstile-slot { display: flex; justify-content: center; margin: 20px 0; }

.auth-shell > .notice { margin-top: 20px; }
.auth-card .button + .button { margin-top: 10px; }
.auth-card > .notice { margin-bottom: 20px; }
.auth-links { margin-top: 24px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: #8593a0; font-size: 13px; text-align: center; }
.auth-links a { color: var(--teal); font-weight: 600; text-decoration: none; }
.auth-links a:hover { text-decoration: underline; }
.auth-links a.auth-link-quiet { color: #8593a0; font-weight: 500; }
.auth-fineprint { margin: 22px 0 0; color: #8593a0; font-size: 12.5px; line-height: 1.6; text-align: center; }
.auth-fineprint a { color: var(--teal); text-decoration: underline; }
.button--ghost { border: 1px solid var(--line); color: var(--ink); background: white; }
.button--ghost:hover { border-color: #b9d7ee; }

/* Bridge for Bootstrap markup that still renders inside the public layout. */
body.cj-public .btn { border-radius: 12px; font-weight: 600; }
body.cj-public .btn-primary { border-color: var(--teal); background: var(--teal); }
body.cj-public .btn-primary:hover { border-color: var(--coral-dark); background: var(--coral-dark); }
body.cj-public .dropdown-menu { border-color: var(--line); border-radius: 14px; box-shadow: 0 18px 45px rgba(18, 65, 61, .12); }
body.cj-public .alert { border-radius: 14px; font-size: 14px; line-height: 1.6; }
body.cj-public .alert-success { border-color: #b6e2cd; background: #eaf7f1; color: #2c5f47; }
body.cj-public .alert-danger { border-color: #f0c4bb; background: #fdefec; color: #a03e2e; }
body.cj-public .alert-info { border-color: #bcdcf3; background: var(--mint-soft); color: #2a4a63; }

@media (max-width: 1050px) {
  .contact-grid { grid-template-columns: 1fr; gap: 34px; }
}

@media (max-width: 720px) {
  .page-hero { padding: 40px 0 30px; }
  .content-section, .contact-section { padding: 60px 0; }
  .panel { padding: 24px 20px; }
  .auth-shell { margin: 32px auto 60px; }
  .auth-card { padding: 26px 20px; }
  .contact-card { padding: 24px 20px; }
  .public-body { padding-bottom: 60px; }
}
