/* Dentavra Pro landing only. No workspace or other public views are restyled. */
#proView { padding-bottom: 72px; }
#proView :is(h1,h2,h3,p,li,dd) { overflow-wrap: break-word; }
#proView h1 { font-size: clamp(36px,3.4vw,50px); line-height: 1.1; }
#proView h2 { font-size: clamp(30px,3vw,42px); line-height: 1.16; }
#proView h3 { font-size: 22px; line-height: 1.3; }
#proView p { color: var(--muted); line-height: 1.75; }
#proView .pro-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.12fr); align-items: center; gap: 40px; padding: 40px; background: #f0f5ef; }
#proView .pro-hero-copy,#proView .pro-hero-product { min-width: 0; }
#proView .pro-hero h1 { margin-block: 20px 24px; }
#proView .pro-lead { max-width: 560px; font-size: 16px; }
#proView .pro-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
#proView :is(.pro-actions,.pro-final) a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 18px; text-decoration: none; }
#proView .pro-actions a { font-size: 13px; }
#proView .pro-markers { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 0; margin: 24px 0 0; list-style: none; color: #35594a; font-size: 12px; }
#proView .pro-markers li::before { content: "✓"; margin-right: 6px; }
#proView .pro-hero-product { position: relative; padding: 0 18px 18px; border: 1px solid #d1e1d5; border-radius: 24px; background: linear-gradient(145deg,#e0eddf,#edf4e9); }
#proView .pro-scene { position: relative; height: 190px; overflow: hidden; }
#proView .pro-scene canvas { display: block; width: 100%; height: 100%; }
#proView .pro-scene-fallback { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); justify-items: center; align-items: center; }
#proView .pro-scene-fallback .pro-object { width: 112px; height: 112px; }
#proView .pro-webgl-ready .pro-scene-fallback { visibility: hidden; }
#proView .pro-journey { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 14px; list-style: none; padding: 0; margin: 18px 0 0; color: #345c4c; font-size: 11px; font-weight: 650; }
#proView .pro-journey li + li::before { content: "→"; margin-right: 12px; color: #7e9e88; }
#proView .pro-section { margin-top: 80px; scroll-margin-top: 104px; }
#proView .pro-section-head { max-width: 790px; margin-bottom: 30px; }
#proView .pro-section-head h2 { margin-block: 14px 18px; }
#proView .pro-section-head p { margin: 0; font-size: 16px; }
#proView .pro-workflow { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
#proView .pro-workflow::before { content: ""; position: absolute; top: 22px; left: 22px; right: 22px; height: 1px; background: #c2d5c7; }
#proView .pro-workflow-step { position: relative; min-width: 0; }
#proView .pro-step-number { position: relative; display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 22px; border: 1px solid #c2d5c7; border-radius: 50%; background: var(--bg); color: #365a49; font-size: 12px; font-weight: 700; }
#proView .pro-workflow h3 { margin: 0 0 12px; font-size: 18px; }
#proView .pro-workflow p { margin: 0; font-size: 14px; }
#proView .pro-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 1fr; gap: 20px; }
#proView .pro-feature { display: flex; flex-direction: column; min-width: 0; padding: 28px; border: 1px solid #d7e4d9; border-radius: 22px; background: #fff; }
#proView .pro-object { display: block; flex: 0 0 auto; width: 90px; height: 90px; }
#proView .pro-object img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .35s cubic-bezier(.2,.65,.3,1); }
#proView .pro-feature:hover .pro-object img,#proView .benefit-grid article:hover .pro-object img { transform: translateY(-3px) rotate(-4deg); }
#proView .pro-feature h3 { margin: 20px 0 14px; }
#proView .pro-feature p { margin: 0 0 24px; font-size: 14px; }
#proView .pro-feature-benefit { margin-top: auto; padding-top: 18px; border-top: 1px solid #e1eae2; color: #345c4c; font-size: 13px; font-weight: 600; line-height: 1.7; }
#proView .pro-browser { min-width: 0; margin: 0; overflow: hidden; border: 1px solid #d6e1d7; border-radius: 16px; background: #151c20; box-shadow: 0 16px 36px #16352d0e; }
#proView .pro-browser-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; min-height: 42px; padding: 10px 14px; background: #f8faf7; color: #466252; font-size: 11px; line-height: 1.5; }
#proView .pro-window-dots { display: inline-flex; gap: 4px; margin-right: 2px; }
#proView .pro-window-dots i { width: 6px; height: 6px; border-radius: 50%; background: #bbcdc1; }
#proView .pro-demo-tag { margin-left: auto; padding: 3px 7px; border-radius: 5px; background: #e8ede4; color: #536848; font-size: 10px; }
#proView .pro-browser > a { display: block; }
#proView .pro-browser img { display: block; width: 100%; height: auto; object-fit: contain; }
#proView .pro-browser figcaption { padding: 10px 14px; background: #f8faf7; color: #5b6d60; font-size: 11px; line-height: 1.6; }
#proView .pro-patient360 { padding: 40px; border: 1px solid #d6e3d6; border-radius: 24px; background: #edf3eb; }
#proView .pro-filter-categories { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 0; }
#proView .pro-filter-categories > div { padding: 20px; border: 1px solid #d7e3d6; border-radius: 14px; background: #fbfcfa; }
#proView .pro-filter-categories dt { color: #234c38; font-size: 14px; font-weight: 700; line-height: 1.5; }
#proView .pro-filter-categories dd { margin: 10px 0 0; color: #627168; font-size: 13px; line-height: 1.7; }
#proView .pro-filter-note { margin-block: 24px; font-size: 14px; }
#proView .pro-data-notes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 22px; }
#proView .pro-data-notes p { margin: 0; font-size: 12px; }
#proView .pro-data-notes strong { color: #385748; }
#proView .pro-callback { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); align-items: center; gap: 40px; margin-top: 40px; padding-top: 40px; border-top: 1px solid #cedecc; }
#proView .pro-callback > div { min-width: 0; }
#proView .pro-callback h3 { margin-block: 16px 20px; font-size: 29px; }
#proView .pro-callback p { margin: 18px 0 0; font-size: 13px; }
#proView .pro-callback-steps { padding-left: 22px; color: #426452; line-height: 1.8; font-size: 14px; }
#proView .pro-screens details { margin-bottom: 14px; overflow: hidden; border: 1px solid #d6e2d6; border-radius: 18px; background: #fff; }
#proView .pro-screens summary { padding: 22px 26px; font-size: 18px; font-weight: 650; }
#proView .pro-screens details > div { padding: 0 26px 26px; }
#proView summary { cursor: pointer; color: #294d39; line-height: 1.5; }
#proView .pro-role-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
#proView .pro-role-grid article { padding: 24px; border: 1px solid #d8e4da; border-radius: 18px; background: #fff; }
#proView .pro-role-grid h3 { margin: 0 0 14px; font-size: 19px; }
#proView .pro-role-grid p { margin: 0; font-size: 14px; }
#proView .pro-trust { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 24px; padding: 0; list-style: none; color: #365f47; font-size: 13px; }
#proView .pro-trust li::before { content: "✓"; margin-right: 8px; }
#proView .pro-fine-print { font-size: 12px; }
#proView .pro-form-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); align-items: start; gap: 32px; margin: 0; padding: 0; }
#proView .pro-form-context { min-width: 0; }
#proView .benefit-grid { display: grid; gap: 16px; }
#proView .benefit-grid article { padding: 24px; border: 1px solid #bcd3bf; border-radius: 18px; background: #fff; }
#proView .pro-benefit-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
#proView .pro-benefit-top > span { font-size: 12px; font-weight: 700; color: #496d57; }
#proView .pro-benefit-top .pro-object { width: 60px; height: 60px; }
#proView .benefit-grid h3 { margin: 0 0 12px; font-size: 21px; }
#proView .benefit-grid p { margin: 0; font-size: 14px; }
#proView .pro-marketplace { margin-top: 32px; padding: 24px; border: 1px solid #d4e2d3; border-radius: 18px; background: #edf3eb; }
#proView .pro-marketplace h3 { margin: 16px 0; }
#proView .pro-marketplace > p { font-size: 13px; }
#proView .pro-plans { display: block; margin: 18px 0 0; }
#proView .pro-plans article { padding: 22px; }
#proView .pro-plans h3 { font-size: 20px; }
#proView .pro-plans p,#proView .pro-plans li { font-size: 13px; }
#proView .pro-plans ul { margin: 0; }
#proView .pro-plans small { color: #556d5c; line-height: 1.7; }
#proView .pro-demo-form { position: sticky; top: 94px; padding: 32px; scroll-margin-top: 100px; }
#proView .pro-demo-form h2 { margin-block: 16px 20px; font-size: 34px; }
#proView .pro-demo-form > div > p { font-size: 14px; }
#proView .pro-demo-form .form-grid { gap: 18px; }
#proView .pro-demo-form .form-grid .wide { grid-column: 1 / -1; }
#proView .pro-demo-form .field { min-width: 0; font-size: 12px; }
#proView .pro-demo-form input,#proView .pro-demo-form textarea { min-width: 0; width: 100%; font-size: 16px; }
#proView .pro-form-extra { margin: 22px 0; padding-block: 16px; border-block: 1px solid #dde6dd; }
#proView .pro-form-extra summary { min-height: 32px; font-size: 13px; font-weight: 600; }
#proView .pro-form-extra .form-grid { margin-top: 18px; }
#proView .pro-demo-form .full { width: 100%; }
#proView .pro-faq details { border-bottom: 1px solid #d6e1d4; }
#proView .pro-faq summary { min-height: 56px; padding-block: 22px; font-weight: 650; font-size: 16px; }
#proView .pro-faq details > p { max-width: 900px; margin: 0 0 24px; font-size: 14px; }
#proView .pro-final { margin-top: 64px; padding: 44px; border: 1px solid #d2e3d1; border-radius: 24px; background: #e7f0e3; text-align: center; }
#proView .pro-final h2 { margin-block: 16px 24px; }
#proView .pro-preview-dialog { width: min(94vw,1400px); max-width: none; max-height: 92vh; max-height: 92dvh; padding: 20px; overflow: auto; border: 1px solid #ccddce; border-radius: 18px; background: var(--bg); }
#proView .pro-preview-dialog header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
#proView .pro-preview-dialog h2 { margin: 0; font-size: 22px; }
#proView .pro-preview-dialog img { display: block; width: 100%; height: auto; border-radius: 10px; }
#proView .pro-preview-dialog p { margin: 14px 0 0; font-size: 12px; }
#proView :is(a,button,summary,input,textarea):focus-visible { outline: 2px solid #4b8061; outline-offset: 4px; }
/* Same scroll-direction gate as the site, with the landing's own rhythm. */
@keyframes pro-section-in { from { opacity: 0; transform: translate3d(0,20px,0); } to { opacity: 1; transform: none; } }
@keyframes pro-item-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
#proView .premium-entered { animation: pro-section-in .65s cubic-bezier(.4,0,.2,1) both !important; }
#proView .premium-entered :is(.pro-workflow-step,.pro-feature,.pro-role-grid article) { animation: pro-item-in .6s cubic-bezier(.4,0,.2,1) both; }
#proView .premium-entered :is(.pro-workflow-step,.pro-feature,.pro-role-grid article):nth-child(2) { animation-delay: .08s; }
#proView .premium-entered :is(.pro-workflow-step,.pro-feature,.pro-role-grid article):nth-child(3) { animation-delay: .16s; }
#proView .premium-entered :is(.pro-workflow-step,.pro-feature,.pro-role-grid article):nth-child(4) { animation-delay: .24s; }
#proView .premium-entered :is(.pro-workflow-step,.pro-feature,.pro-role-grid article):nth-child(5) { animation-delay: .32s; }
#proView .premium-entered :is(.pro-workflow-step,.pro-feature,.pro-role-grid article):nth-child(6) { animation-delay: .4s; }
@media (max-width:1100px) {
  #proView .pro-hero { gap: 24px; padding: 28px; }
  #proView .pro-filter-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #proView .pro-feature { padding: 24px; }
  #proView .pro-workflow { gap: 16px; }
  #proView .pro-demo-form { position: static; }
}
@media (max-width:900px) {
  #proView .pro-hero { grid-template-columns: minmax(0,1fr); }
  #proView .pro-hero-product { max-width: 700px; width: 100%; margin-inline: auto; }
  #proView .pro-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #proView .pro-role-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #proView .pro-form-layout { grid-template-columns: minmax(0,1fr); }
  #proView .pro-form-context { display: contents; }
  #proView .pro-marketplace { grid-row: 3; margin-top: 0; }
  #proView .pro-callback { grid-template-columns: minmax(0,1fr); gap: 24px; }
  #proView .pro-workflow { grid-template-columns: minmax(0,1fr); gap: 22px; }
  #proView .pro-workflow::before { top: 22px; bottom: 22px; left: 22px; right: auto; width: 1px; height: auto; }
  #proView .pro-workflow-step { padding-left: 66px; }
  #proView .pro-step-number { position: absolute; top: 0; left: 0; }
}
@media (max-width:600px) {
  #proView { padding-bottom: 40px; }
  #proView .pro-hero { padding: 24px 20px; border-radius: 18px; }
  #proView .pro-hero h1 { font-size: clamp(32px,8vw,40px); }
  #proView .pro-actions { flex-direction: column; }
  #proView .pro-actions a { width: 100%; }
  #proView .pro-hero-product { padding-inline: 10px; }
  #proView .pro-scene { height: 146px; }
  #proView .pro-scene-fallback { gap: 0; }
  #proView .pro-scene-fallback .pro-object { width: 80px; height: 80px; }
  #proView .pro-section { margin-top: 48px; }
  #proView .pro-feature-grid,#proView .pro-role-grid,#proView .pro-filter-categories,#proView .pro-data-notes { grid-template-columns: minmax(0,1fr); }
  #proView .pro-feature-grid { grid-auto-rows: auto; }
  #proView .pro-patient360 { padding: 24px 18px; border-radius: 18px; }
  #proView .pro-demo-form { padding: 24px 20px; }
  #proView .pro-demo-form .form-grid { grid-template-columns: minmax(0,1fr); }
  #proView .pro-demo-form h2 { font-size: 29px; }
  #proView .pro-browser-bar { gap: 6px; padding-inline: 10px; }
  #proView .pro-demo-tag { margin-left: 0; }
  #proView .pro-screens summary { padding: 20px; font-size: 16px; }
  #proView .pro-screens details > div { padding: 0 14px 14px; }
  #proView .pro-final { padding: 28px 20px; }
  #proView .pro-preview-dialog { padding: 14px; }
}
@media (prefers-reduced-motion:reduce) {
  #proView .premium-entered,#proView .premium-entered :is(.pro-workflow-step,.pro-feature,.pro-role-grid article) { animation: none !important; }
  #proView .premium-animating { will-change: auto; }
  #proView .pro-object img,#proView .pro-actions a,#proView .pro-final a { transition: none !important; }
  #proView .pro-feature:hover .pro-object img,#proView .benefit-grid article:hover .pro-object img { transform: none; }
}
