:root {
  --ink: #123f3a;
  --ink-soft: #365752;
  --text: #233b48;
  --muted: #66777b;
  --coral: #b84f3a;
  --coral-dark: #913a2a;
  --cream: #f7f4ef;
  --mist: #e8f1ee;
  --line: #dbe6e2;
  --white: #fff;
  --shadow: 0 22px 60px rgba(18, 63, 58, .12);
  --radius: 22px;
  --container: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--white); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: calc(16px + 2px); line-height: 1.55; }
button, input, textarea, select { font-family: inherit; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--coral-dark); }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto; clip-path: none; height: auto; width: auto; margin: 0; overflow: visible; padding: 12px 16px; position: fixed; left: 16px; top: 16px; z-index: 1000; background: var(--ink); color: #fff; border-radius: 8px; }
.eyebrow { margin: 0 0 18px; color: var(--coral-dark); font-size: calc(.73rem + 2px); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.site-header { position: relative; z-index: 20; background: rgba(255, 255, 255, .95); border-bottom: 1px solid rgba(219, 230, 226, .8); }
.header-inner { display: flex; align-items: center; min-height: 76px; gap: 26px; }
.site-branding { display: flex; align-items: center; gap: 14px; margin-right: auto; }
.brand-lockup { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 48px; width: auto; }
.brand-name { font-size: calc(1.44rem + 2px); font-weight: 800; letter-spacing: -.05em; }
.brand-mark { position: relative; display: inline-grid; width: 31px; height: 34px; place-items: center; border: 4px solid var(--ink); border-radius: 45% 45% 47% 47%; transform: rotate(-2deg); }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; top: -7px; width: 11px; height: 13px; background: var(--white); border: 4px solid var(--ink); border-radius: 50%; }
.brand-mark::before { left: -4px; }
.brand-mark::after { right: -4px; }
.brand-mark span { position: absolute; bottom: -6px; left: 4px; width: 16px; height: 12px; border-radius: 0 0 48% 48%; background: var(--white); }
.brand-tagline { max-width: 150px; padding-left: 14px; color: var(--muted); border-left: 1px solid var(--line); font-size: calc(.7rem + 2px); line-height: 1.25; }
.main-navigation ul, .footer-navigation ul { display: flex; align-items: center; gap: 25px; margin: 0; padding: 0; list-style: none; }
.main-navigation a, .footer-navigation a { color: var(--text); text-decoration: none; font-size: calc(.87rem + 2px); font-weight: 600; }
.main-navigation a:hover, .footer-navigation a:hover { color: var(--coral-dark); }
.menu-toggle { display: none; border: 0; background: transparent; cursor: pointer; padding: 9px; }
.menu-toggle-line { display: block; width: 23px; height: 2px; margin: 5px 0; background: var(--ink); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 52px; padding: 13px 23px; color: #fff; background: var(--coral); border: 1px solid var(--coral); border-radius: 11px; font-size: calc(.95rem + 2px); font-weight: 750; text-decoration: none; box-shadow: 0 12px 20px rgba(201, 95, 69, .18); transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button:hover, .button:focus-visible { color: #fff; background: var(--coral-dark); transform: translateY(-2px); box-shadow: 0 15px 24px rgba(169, 71, 52, .23); }
.button-small { min-height: 43px; padding: 10px 18px; font-size: calc(.82rem + 2px); }
.button-quiet { color: var(--ink); background: transparent; border-color: var(--ink); box-shadow: none; }
.button-quiet:hover, .button-quiet:focus-visible { color: var(--ink); background: var(--mist); box-shadow: none; }
.button-light { color: var(--ink); background: #fff; border-color: #fff; box-shadow: none; }
.button-light:hover, .button-light:focus-visible { color: var(--ink); background: var(--mist); }

.hero-section { position: relative; overflow: hidden; padding: 106px 0 96px; background: var(--cream); }
.hero-section::before { content: ""; position: absolute; top: -160px; left: 35%; width: 520px; height: 520px; border-radius: 50%; background: rgba(232, 241, 238, .8); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 58px; align-items: center; }
.hero-copy h1 { max-width: 610px; margin: 0; color: var(--ink); font-size: calc(clamp(2.8rem, 5.2vw, 5.15rem) + 2px); line-height: .99; letter-spacing: -.075em; }
.hero-lead { max-width: 540px; margin: 30px 0 0; color: var(--ink-soft); font-size: calc(clamp(1.15rem, 1.8vw, 1.45rem) + 2px); line-height: 1.35; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero-proof { display: flex; gap: 0; margin-top: 48px; }
.hero-proof span { display: grid; grid-template-columns: 27px auto; grid-template-rows: auto auto; align-items: center; min-width: 130px; padding: 0 17px; color: var(--ink); border-left: 1px solid var(--line); font-size: calc(.82rem + 2px); font-weight: 700; }
.hero-proof span:first-child { padding-left: 0; border-left: 0; }
.hero-proof strong { grid-row: span 2; font-size: calc(1.35rem + 2px); font-weight: 500; }
.hero-proof small { grid-column: 2; color: var(--muted); font-size: calc(.68rem + 2px); font-weight: 500; }
.hero-visual { position: relative; min-width: 0; }
.visual-glow { position: absolute; top: -8%; right: -6%; width: 110%; height: 110%; border-radius: 50%; background: rgba(255, 255, 255, .54); filter: blur(25px); }
.product-window { position: relative; overflow: hidden; padding: 9px 9px 0; border: 1px solid rgba(18, 63, 58, .16); border-radius: 17px; background: #fbfcfb; box-shadow: var(--shadow); transform: rotate(1.6deg); }
.window-topbar { display: flex; align-items: center; gap: 5px; height: 25px; padding: 0 8px; color: var(--muted); font-size: calc(.65rem + 2px); }
.window-topbar > span { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #d5a393; }
.window-topbar > span:nth-child(2) { background: #dbd29f; }.window-topbar > span:nth-child(3) { background: #a9c8ae; }
.window-topbar em { margin-left: 8px; font-style: normal; font-weight: 700; }
.product-window img { width: 100%; border-radius: 8px 8px 0 0; }
.visual-caption { position: relative; display: flex; align-items: center; gap: 9px; margin: 25px 0 0 auto; width: max-content; max-width: 100%; color: var(--ink); font-size: calc(.78rem + 2px); font-weight: 700; }
.caption-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }

.section { padding: 118px 0; }.section-intro { background: #fff; }.section-heading { max-width: 700px; }.section-heading-wide { max-width: 820px; }.section-heading-centered { margin: 0 auto 58px; text-align: center; }.section-heading h2, .role-copy h2, .cta-panel h2 { margin: 0; color: var(--ink); font-size: calc(clamp(2.1rem, 4vw, 3.7rem) + 2px); line-height: 1.03; letter-spacing: -.06em; }.section-heading > p:last-child, .role-copy > p, .section-heading-centered > p:last-child { margin: 24px 0 0; color: var(--muted); font-size: calc(1.07rem + 2px); }
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 60px; }.capability-card { min-height: 260px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .2s ease, box-shadow .2s ease; }.capability-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }.capability-card-featured { color: #fff; background: var(--ink); border-color: var(--ink); }.capability-card-featured h3, .capability-card-featured p { color: #fff; }.capability-card h3 { margin: 25px 0 12px; color: var(--ink); font-size: calc(1.35rem + 2px); letter-spacing: -.03em; }.capability-card p { margin: 0; color: var(--muted); font-size: calc(.93rem + 2px); }.capability-card-featured p { color: rgba(255,255,255,.75); }.card-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--coral); border: 1px solid currentColor; border-radius: 50%; font-size: calc(.72rem + 2px); font-weight: 800; }.capability-card-featured .card-icon { color: #f5b09d; }.text-link { display: inline-block; margin-top: 25px; color: #f5b09d; font-size: calc(.82rem + 2px); font-weight: 700; text-decoration: none; }

.section-role { background: var(--cream); }.section-role-reverse { background: #fff; }.role-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(45px, 8vw, 120px); align-items: center; }.section-role-reverse .role-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); }.role-copy { max-width: 535px; }.check-list { display: grid; gap: 15px; margin: 30px 0 0; padding: 0; list-style: none; }.check-list li { position: relative; padding-left: 31px; color: var(--ink-soft); font-weight: 650; }.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 20px; height: 20px; color: #fff; background: var(--coral); border-radius: 50%; font-size: calc(.7rem + 2px); }.role-visual { position: relative; min-height: 370px; }.role-visual-director { display: grid; place-items: center; border-radius: 42% 55% 42% 50%; background: var(--mist); }.dashboard-card { position: absolute; border: 1px solid rgba(18,63,58,.1); border-radius: 15px; background: #fff; box-shadow: 0 15px 30px rgba(18,63,58,.11); }.dashboard-card-main { width: min(72%, 365px); min-height: 220px; padding: 26px; }.mini-label { display: block; color: var(--muted); font-size: calc(.7rem + 2px); font-weight: 700; }.dashboard-card-main strong { display: block; margin-top: 18px; color: var(--ink); font-size: calc(1.35rem + 2px); }.dashboard-bars { display: flex; align-items: end; gap: 9px; height: 95px; margin-top: 20px; }.dashboard-bars i { flex: 1; height: 45%; border-radius: 4px 4px 0 0; background: #b9d8ce; }.dashboard-bars i:nth-child(2), .dashboard-bars i:nth-child(5), .dashboard-bars i:nth-child(7) { height: 83%; background: #5eaf8a; }.dashboard-bars i:nth-child(3) { height: 60%; }.dashboard-bars i:nth-child(4) { height: 95%; background: var(--coral); }.dashboard-card-float { right: 4%; bottom: 20px; display: grid; grid-template-columns: 1fr auto; column-gap: 25px; padding: 17px 20px; }.dashboard-card-float span { grid-column: span 2; color: var(--muted); font-size: calc(.7rem + 2px); }.dashboard-card-float strong { color: var(--ink); font-size: calc(.95rem + 2px); }.dashboard-card-float b { color: var(--coral); font-size: calc(1.45rem + 2px); }
.role-pills { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 29px; }.role-pills span { padding: 8px 14px; color: var(--ink); background: var(--mist); border-radius: 50px; font-size: calc(.78rem + 2px); font-weight: 700; }.role-visual-doctor { display: grid; align-content: center; gap: 18px; padding: 42px; border-radius: 50% 34% 51% 36%; background: #eaf1ef; }.patient-card, .tooth-card { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid rgba(18,63,58,.1); border-radius: 14px; background: #fff; box-shadow: 0 14px 28px rgba(18,63,58,.08); }.patient-avatar { display: grid; flex: 0 0 43px; height: 43px; place-items: center; color: #fff; background: var(--coral); border-radius: 50%; font-size: calc(.75rem + 2px); font-weight: 800; }.patient-card div:nth-child(2) { display: grid; gap: 2px; }.patient-card span, .patient-card small { color: var(--muted); font-size: calc(.67rem + 2px); }.patient-card strong { color: var(--ink); font-size: calc(.84rem + 2px); }.patient-card em { margin-left: auto; color: var(--coral); font-size: calc(1.6rem + 2px); font-style: normal; }.tooth-card { display: block; }.teeth-row { display: flex; gap: 5px; margin-top: 17px; }.teeth-row i { display: block; width: 22px; height: 34px; border: 2px solid #a9c6bf; border-radius: 7px 7px 10px 10px; background: #f8fbfa; }.teeth-row i.active { border-color: var(--coral); background: #f5c8bb; }.teeth-row i.dark { border-color: var(--ink); background: #8cb4a9; }.tooth-line { width: 73%; height: 3px; margin-top: 24px; border-radius: 5px; background: var(--line); }

.section-process { background: var(--mist); }.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }.process-step { padding: 24px 23px; border: 1px solid rgba(18,63,58,.11); border-radius: 15px; background: rgba(255,255,255,.58); }.process-step > span { color: var(--coral); font-size: calc(.75rem + 2px); font-weight: 800; }.process-step h3 { margin: 28px 0 9px; color: var(--ink); font-size: calc(1.05rem + 2px); }.process-step p { margin: 0; color: var(--muted); font-size: calc(.85rem + 2px); }.scope-note { display: flex; gap: 30px; align-items: baseline; margin-top: 42px; padding: 22px 25px; border-left: 3px solid var(--coral); background: rgba(255,255,255,.6); }.scope-note strong { white-space: nowrap; color: var(--ink); }.scope-note p { margin: 0; color: var(--muted); font-size: calc(.88rem + 2px); }
.section-faq { background: #fff; }.faq-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1fr); gap: clamp(40px, 8vw, 120px); align-items: start; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; color: var(--ink); cursor: pointer; font-size: calc(1rem + 2px); font-weight: 750; list-style: none; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary::after { content: "+"; color: var(--coral); font-size: calc(1.4rem + 2px); line-height: 1; }.faq-list details[open] summary::after { content: "−"; }.faq-list details p { max-width: 620px; margin: -7px 35px 24px 0; color: var(--muted); font-size: calc(.91rem + 2px); }
.section-cta { padding: 80px 0; background: #fff; }.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 52px clamp(28px, 6vw, 75px); color: #fff; background: var(--ink); border-radius: 28px; }.cta-panel h2 { max-width: 650px; color: #fff; }.cta-panel p:last-child { max-width: 660px; margin: 20px 0 0; color: rgba(255,255,255,.72); }.cta-panel .eyebrow { color: #f5b09d; }.cta-actions { display: grid; flex: 0 0 auto; gap: 14px; min-width: 225px; }.cta-contact-link { color: #f5b09d; text-align: center; font-size: calc(.85rem + 2px); font-weight: 650; }
.site-footer { padding: 63px 0 25px; color: rgba(255,255,255,.7); background: #102e2b; }.footer-main { display: grid; grid-template-columns: 1.4fr .9fr .8fr; gap: 50px; padding-bottom: 50px; }.brand-lockup-footer { color: #fff; }.footer-brand p { max-width: 260px; margin: 18px 0 0; font-size: calc(.82rem + 2px); }.footer-navigation ul { display: grid; gap: 12px; align-content: start; }.footer-navigation a { color: rgba(255,255,255,.75); font-size: calc(.82rem + 2px); }.footer-contact { display: grid; align-content: start; justify-items: start; gap: 10px; }.footer-contact .eyebrow { margin: 0 0 4px; color: #f5b09d; }.footer-contact a { color: #fff; font-size: calc(.87rem + 2px); text-decoration: none; }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); font-size: calc(.72rem + 2px); }

.content-shell { padding-top: 100px; padding-bottom: 110px; min-height: 62vh; }.page-header { max-width: 800px; margin-bottom: 40px; }.page-header h1 { margin: 0; color: var(--ink); font-size: calc(clamp(2.4rem, 5vw, 4.5rem) + 2px); line-height: 1; letter-spacing: -.06em; }.archive-description { margin-top: 16px; color: var(--muted); }.post-list { display: grid; gap: 16px; }.content-card { padding: 29px; border: 1px solid var(--line); border-radius: var(--radius); }.entry-title { margin: 0; font-size: calc(1.5rem + 2px); }.entry-title a { text-decoration: none; }.posted-on { display: block; margin-top: 8px; color: var(--muted); font-size: calc(.8rem + 2px); }.entry-summary { color: var(--muted); }.empty-state { padding: 80px 0; text-align: center; }.page-content .entry-content { max-width: 780px; }.entry-content h2, .entry-content h3 { color: var(--ink); }.entry-content img { border-radius: 12px; }

@media (max-width: 1050px) { .main-navigation ul { gap: 14px; }.header-cta { display: none; }.hero-grid { gap: 35px; }.hero-copy h1 { font-size: calc(clamp(2.8rem, 5vw, 4.4rem) + 2px); }.role-grid, .section-role-reverse .role-grid { gap: 55px; } }
@media (max-width: 1050px) { .container { width: min(calc(100% - 36px), var(--container)); }.header-inner { min-height: 68px; }.brand-tagline { display: none; }.menu-toggle { display: block; }.main-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 17px 18px 24px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 16px 30px rgba(18,63,58,.08); }.main-navigation.is-open { display: block; }.main-navigation ul { display: grid; gap: 0; }.main-navigation li { border-bottom: 1px solid var(--line); }.main-navigation li:last-child { border-bottom: 0; }.main-navigation a { display: block; padding: 12px 0; }.hero-section { padding: 72px 0 70px; }.hero-grid { grid-template-columns: 1fr; }.hero-visual { margin-top: 26px; }.hero-copy h1 { max-width: 680px; }.hero-proof { margin-top: 35px; }.section { padding: 80px 0; }.capability-grid { grid-template-columns: repeat(2, 1fr); margin-top: 40px; }.role-grid, .section-role-reverse .role-grid { grid-template-columns: 1fr; gap: 42px; }.section-role-reverse .role-copy { order: 1; }.section-role-reverse .role-visual { order: 2; }.role-visual { min-height: 330px; }.process-grid { grid-template-columns: repeat(2, 1fr); }.faq-layout { grid-template-columns: 1fr; gap: 40px; }.cta-panel { align-items: flex-start; flex-direction: column; }.footer-main { grid-template-columns: 1fr 1fr; gap: 35px; }.footer-contact { grid-column: span 2; }.footer-bottom { flex-direction: column; } }
@media (max-width: 520px) { .container { width: min(calc(100% - 28px), var(--container)); }.brand-name { font-size: calc(1.25rem + 2px); }.hero-section { padding-top: 58px; }.hero-copy h1 { font-size: calc(clamp(2.6rem, 14vw, 4rem) + 2px); }.hero-lead { font-size: calc(1.1rem + 2px); }.hero-actions { display: grid; }.hero-actions .button { width: 100%; }.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); }.hero-proof span { display: block; min-width: 0; padding: 0 8px; font-size: calc(.73rem + 2px); }.hero-proof strong { display: block; margin-bottom: 5px; }.hero-proof small { display: block; font-size: calc(.61rem + 2px); }.capability-grid, .process-grid { grid-template-columns: 1fr; }.capability-card { min-height: 0; }.section-heading h2, .role-copy h2, .cta-panel h2 { font-size: calc(2.25rem + 2px); }.role-visual-doctor { padding: 27px 16px; }.teeth-row { gap: 3px; }.teeth-row i { width: 19px; }.scope-note { display: block; }.scope-note p { margin-top: 10px; }.footer-main { grid-template-columns: 1fr; }.footer-contact { grid-column: auto; }.cta-panel { padding: 36px 24px; }.cta-actions { width: 100%; }.content-shell { padding-top: 65px; } }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.button, .capability-card { transition: none; } }

@media (max-width: 1050px) { .header-inner { width: calc(100% - 36px); } }
@media (max-width: 520px) { .header-inner { width: calc(100% - 28px); } }

/* Final hero and benefits composition: keep after legacy reference rules. */
.hero-section > .hero-grid { width: min(calc(100% - 112px), 1560px); max-width: none; grid-template-columns: minmax(0,42%) minmax(0,58%); }
.hero-reference { inset: 0; }
.hero-reference img { top: -10.65%; right: 0; left: auto; width: auto; height: 156.57%; filter: contrast(1.025) saturate(1.015); }
.hero-reference::after { z-index: 1; background: linear-gradient(90deg, rgba(238,247,249,.98) 0%, rgba(238,247,249,.88) 20%, rgba(238,247,249,.38) 33%, rgba(238,247,249,0) 46%); }
.hero-copy { padding-right: 0; }
.hero-proof { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.hero-proof > span > strong { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.hero-proof > span > strong::before { content: none; }
.hero-proof > span > strong > .proof-icon { display: inline-grid; flex: 0 0 20px; width: 20px; min-width: 20px; height: 20px; padding: 0; place-items: center; color: var(--teal); background: #d6f0f1; border-radius: 50%; }
.proof-icon svg { width: 12px; height: 12px; }
.hero-proof small { margin-left: 28px; }
.play-icon svg { width: 13px; height: 13px; }
.benefits-strip > .benefits-grid { width: 100%; max-width: none; padding-right: 56px; padding-left: 56px; }
.benefit-icon svg { width: 24px; height: 24px; }
.faq-list summary { min-height: 64px; align-items: center; }
.faq-list summary:focus-visible { outline: 3px solid rgba(15,127,137,.28); outline-offset: 4px; border-radius: 4px; }
.faq-list details p { animation: dentaforce-faq-in .18s ease-out; }

@media (max-width: 1050px) {
	.hero-section > .hero-grid { width: calc(100% - 36px); max-width: none; }
	.hero-reference { inset: auto; width: 100%; }
	.hero-reference img { top: 0; right: auto; left: 50%; width: auto; height: 100%; transform: translateX(-48%); }
	.hero-reference::after { background: linear-gradient(180deg, rgba(238,247,249,0) 45%, rgba(238,247,249,.94) 88%, rgba(238,247,249,1) 100%); }
	.hero-proof > span > strong { white-space: normal; }
	.benefits-strip > .benefits-grid { width: 100%; padding-right: 18px; padding-left: 18px; }
}
@media (max-width: 520px) {
	.hero-section > .hero-grid { width: calc(100% - 28px); }
	.benefits-strip > .benefits-grid { padding-right: 14px; padding-left: 14px; }
}

/* First-screen fidelity and reusable interface icons. */
.hero-section > .hero-grid { width: min(calc(100% - 112px), 1560px); max-width: none; grid-template-columns: minmax(0,42%) minmax(0,58%); }
.hero-reference { inset: 0; }
.hero-reference img { top: -10.65%; right: 0; left: auto; width: auto; height: 156.57%; filter: contrast(1.025) saturate(1.015); }
.hero-reference::after { z-index: 1; background: linear-gradient(90deg, rgba(238,247,249,.98) 0%, rgba(238,247,249,.88) 20%, rgba(238,247,249,.38) 33%, rgba(238,247,249,0) 46%); }
.hero-copy { padding-right: 0; }
.hero-proof { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.hero-proof strong { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.hero-proof strong::before { content: none; }
.proof-icon { display: inline-grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; color: var(--teal); background: #d6f0f1; border-radius: 50%; }
.proof-icon svg { width: 12px; height: 12px; }
.hero-proof small { margin-left: 28px; }
.play-icon svg { width: 13px; height: 13px; }

.benefits-strip > .benefits-grid { width: 100%; max-width: none; padding-right: 56px; padding-left: 56px; }
.benefit-icon svg { width: 24px; height: 24px; }

.faq-list summary { min-height: 64px; align-items: center; }
.faq-list summary:focus-visible { outline: 3px solid rgba(15,127,137,.28); outline-offset: 4px; border-radius: 4px; }
.faq-list details p { animation: dentaforce-faq-in .18s ease-out; }
@keyframes dentaforce-faq-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1050px) {
	.hero-section > .hero-grid { width: calc(100% - 36px); max-width: none; }
	.hero-reference { inset: auto; width: 100%; }
	.hero-reference img { top: 0; right: auto; left: 50%; width: auto; height: 100%; transform: translateX(-48%); }
	.hero-reference::after { background: linear-gradient(180deg, rgba(238,247,249,0) 45%, rgba(238,247,249,.94) 88%, rgba(238,247,249,1) 100%); }
	.hero-proof strong { white-space: normal; }
	.benefits-strip > .benefits-grid { width: 100%; padding-right: 18px; padding-left: 18px; }
}
@media (max-width: 520px) {
	.hero-section > .hero-grid { width: calc(100% - 28px); }
	.benefits-strip > .benefits-grid { padding-right: 14px; padding-left: 14px; }
}
@media (prefers-reduced-motion: reduce) { .faq-list details p { animation: none; } }

/* Reference-led landing composition. The supplied render is clipped to the
   right-hand visual; all copy and benefits remain real server-rendered HTML. */
:root { --teal: #0f7f89; --teal-dark: #0c7882; --navy: #0c203f; --hero-bg: #eef7f9; }
.site-header { background: rgba(255,255,255,.98); border-bottom-color: #e8eef1; }
.header-inner { width: calc(100% - 112px); max-width: none; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); min-height: 64px; gap: 28px; }
.site-branding { margin-right: 0; justify-self: start; }
.brand-mark { width: 34px; height: 25px; border: 0; border-radius: 4px 100% 4px 100%; background: #50c5bf; transform: rotate(-28deg); }
.brand-mark::before, .brand-mark::after { display: none; }
.brand-mark span { bottom: 4px; left: 5px; width: 22px; height: 2px; border-radius: 0; background: rgba(255,255,255,.9); transform: rotate(42deg); }
.brand-name { color: var(--navy); font-size: calc(1.55rem + 2px); letter-spacing: -.055em; }
.brand-tagline { max-width: 175px; color: #81909b; border-left-color: #dce5e9; font-size: calc(.69rem + 2px); }
.main-navigation { justify-self: center; }
.main-navigation ul { gap: 34px; }
.main-navigation a { color: var(--navy); font-size: calc(.79rem + 2px); font-weight: 700; }
.header-cta { justify-self: end; display: inline-flex; }
.button-outline { min-height: 38px; padding: 7px 22px; color: var(--teal); background: transparent; border: 1.5px solid var(--teal); border-radius: 8px; box-shadow: none; font-size: calc(.78rem + 2px); }
.button-outline:hover, .button-outline:focus-visible { color: #fff; background: var(--teal); box-shadow: none; }

.hero-section { position: relative; min-height: 602px; padding: 0; overflow: hidden; background: var(--hero-bg); }
.hero-section::before { top: 0; left: 0; width: 58%; height: 100%; border-radius: 0; background: linear-gradient(90deg, #f5fafb 0%, #edf6f8 72%, rgba(237,246,248,0) 100%); filter: none; }
.hero-reference { position: absolute; z-index: 0; top: 0; right: 0; bottom: 0; left: 31%; overflow: hidden; }
/* 941/601 height and -64/601 top expose source y≈64–665, excluding header/benefits. */
.hero-reference img { position: absolute; top: -10.65%; left: -40%; width: auto; height: 156.57%; max-width: none; object-fit: initial; object-position: initial; }
.hero-reference::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(238,247,249,1) 0%, rgba(238,247,249,.9) 5%, rgba(238,247,249,.15) 25%, rgba(238,247,249,0) 42%); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: minmax(0,45%) minmax(0,55%); gap: 0; align-items: center; min-height: 602px; }
.hero-copy { position: relative; z-index: 2; padding: 62px 15px 34px 0; }
.hero-copy .eyebrow { margin-bottom: 26px; color: #70828f; font-size: calc(.66rem + 2px); letter-spacing: .16em; }
.hero-copy h1 { max-width: 590px; color: var(--navy); font-size: calc(clamp(3.2rem, 5.1vw, 5.15rem) + 2px); line-height: .98; letter-spacing: -.075em; }
.hero-copy h1 span { display: block; color: var(--teal); }
.hero-lead { max-width: 510px; margin: 26px 0 0; color: #5c7080; font-size: calc(clamp(1.02rem, 1.5vw, 1.3rem) + 2px); line-height: 1.4; }
.hero-actions { align-items: center; gap: 19px; margin-top: 30px; }
.button-capsule { min-height: 49px; padding: 11px 25px 11px 29px; color: #fff; background: var(--teal); border-color: var(--teal); border-radius: 999px; box-shadow: 0 9px 18px rgba(21,153,162,.18); }
.button-capsule:hover, .button-capsule:focus-visible { color: #fff; background: var(--teal-dark); border-color: var(--teal-dark); box-shadow: 0 10px 20px rgba(12,120,130,.22); }
.how-link { display: inline-flex; align-items: center; gap: 11px; color: #167d87; font-size: calc(.86rem + 2px); font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.how-link:hover, .how-link:focus-visible { color: var(--teal-dark); }
.play-icon { display: inline-grid; width: 29px; height: 29px; place-items: center; color: var(--teal); border: 1.5px solid var(--teal); border-radius: 50%; font-size: calc(.62rem + 2px); text-decoration: none; }
.hero-proof { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 19px; margin-top: 60px; }
.hero-proof span, .hero-proof span:first-child { display: block; min-width: 0; padding: 0; border-left: 0; color: var(--navy); font-size: calc(.75rem + 2px); line-height: 1.25; }
.hero-proof strong { display: block; color: var(--navy); font-size: calc(.75rem + 2px); font-weight: 800; }
.hero-proof strong::before { content: "✓"; display: inline-grid; width: 20px; height: 20px; margin-right: 8px; place-items: center; color: var(--teal); background: #d6f0f1; border-radius: 50%; font-size: calc(.68rem + 2px); }
.hero-proof small { display: block; margin: 5px 0 0 28px; color: #7d8f99; font-size: calc(.64rem + 2px); font-weight: 500; line-height: 1.35; }

.benefits-strip { position: relative; z-index: 3; background: #fff; border-bottom: 1px solid #edf1f2; }
.benefits-grid { display: grid; grid-template-columns: repeat(5,1fr); min-height: 108px; }
.benefit-item { display: flex; align-items: center; gap: 14px; padding: 16px 17px 16px 0; border-right: 1px solid #e4eaec; }
.benefit-item + .benefit-item { padding-left: 21px; }
.benefit-item:last-child { border-right: 0; }
.benefit-icon { display: inline-grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; color: var(--teal); background: #e9f7f7; border-radius: 50%; font-size: calc(1.42rem + 2px); font-weight: 600; line-height: 1; }
.benefit-item h2 { margin: 0; color: var(--navy); font-size: calc(.84rem + 2px); line-height: 1.2; letter-spacing: -.015em; }
.benefit-item p { margin: 5px 0 0; color: #87959d; font-size: calc(.67rem + 2px); line-height: 1.25; }

.section-intro { padding: 93px 0 101px; background: #f8fbfc; }
.intro-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.88fr); gap: 100px; align-items: start; }
.intro-grid .section-heading { max-width: 560px; }
.intro-grid .section-heading h2 { color: var(--navy); font-size: calc(clamp(2.5rem,4.2vw,4.15rem) + 2px); line-height: .98; }
.intro-grid .eyebrow { color: #6e8992; }
.intro-copy { padding-top: 36px; }
.intro-copy p { max-width: 470px; margin: 0; color: #637684; font-size: calc(1.08rem + 2px); line-height: 1.5; }
.intro-copy .text-link { margin-top: 27px; color: #187f89; }
.capability-grid { margin-top: 72px; }
.capability-card.capability-card-featured h3, .capability-card.capability-card-featured p { color: #fff; }

@media (max-width: 1050px) { .main-navigation ul { gap: 20px; }.hero-copy h1 { font-size: calc(clamp(3rem, 5.4vw, 4.5rem) + 2px); }.benefit-item { gap: 9px; }.benefit-item + .benefit-item { padding-left: 13px; }.benefit-icon { flex-basis: 37px; width: 37px; height: 37px; }.benefit-item h2 { font-size: calc(.75rem + 2px); } }
@media (max-width: 1050px) { .header-inner { grid-template-columns: 1fr auto; }.main-navigation { justify-self: stretch; }.header-cta { display: none; }.hero-section { min-height: 0; padding: 0; }.hero-reference { position: relative; left: auto; height: 375px; }.hero-reference::after { background: linear-gradient(90deg, rgba(238,247,249,.86) 0%, rgba(238,247,249,0) 48%); }.hero-grid { display: block; min-height: 0; }.hero-copy { margin-top: -166px; padding: 0 0 53px; }.hero-copy .eyebrow { max-width: 360px; }.hero-copy h1 { max-width: 600px; font-size: calc(clamp(2.75rem, 9vw, 4.4rem) + 2px); }.hero-proof { margin-top: 40px; }.benefits-grid { grid-template-columns: repeat(2,1fr); padding: 8px 0; }.benefit-item, .benefit-item + .benefit-item { padding: 13px 9px; border-right: 0; }.benefit-item:nth-child(odd) { border-right: 1px solid #e4eaec; }.benefit-item:last-child { grid-column: span 2; border-top: 1px solid #e4eaec; }.intro-grid { grid-template-columns: 1fr; gap: 25px; }.intro-copy { padding-top: 0; }.intro-grid .section-heading h2 { font-size: calc(clamp(2.4rem, 10vw, 3.4rem) + 2px); }.capability-grid { margin-top: 43px; } }
@media (max-width: 520px) { .header-inner { min-height: 62px; }.brand-tagline { display: none; }.brand-name { font-size: calc(1.28rem + 2px); }.hero-reference { height: 300px; }.hero-reference img { left: -63%; }.hero-copy { margin-top: -110px; }.hero-copy .eyebrow { margin-bottom: 17px; font-size: calc(.6rem + 2px); }.hero-copy h1 { font-size: calc(clamp(2.6rem, 13vw, 3.65rem) + 2px); }.hero-lead { margin-top: 21px; font-size: calc(1rem + 2px); }.hero-actions { align-items: flex-start; flex-direction: column; margin-top: 24px; }.hero-proof { gap: 10px; margin-top: 38px; }.hero-proof strong { font-size: calc(.67rem + 2px); }.hero-proof small { margin-left: 0; font-size: calc(.59rem + 2px); }.benefits-grid { grid-template-columns: 1fr; }.benefit-item, .benefit-item + .benefit-item { padding: 13px 0; border-right: 0; border-bottom: 1px solid #e4eaec; }.benefit-item:nth-child(odd) { border-right: 0; }.benefit-item:last-child { grid-column: auto; border-top: 0; border-bottom: 0; }.section-intro { padding-top: 70px; }.intro-grid { gap: 20px; }.intro-copy p { font-size: calc(1rem + 2px); } }

@media (max-width: 1050px) { .header-inner { width: calc(100% - 36px); } }
@media (max-width: 520px) { .header-inner { width: calc(100% - 28px); } }
