/* Hero feature strip icons */
    .outcome-icon { width:36px;height:36px;flex-shrink:0; }
    .hero-strip {
      margin-top:28px;
      padding-top:20px;
      border-top:1px solid var(--color-border-on-dark);
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:0;
    }
    .strip-item {
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:0 14px;
    }
    .strip-item + .strip-item { border-left:1px solid rgba(232,225,212,.18); }
    .strip-item h4 { margin:0 0 3px;font-size:.82rem;line-height:1.3;font-weight:700;color:var(--color-text-on-dark); }
    .strip-item p  { margin:0;font-size:.72rem;line-height:1.45;color:var(--color-text-on-dark-muted); }
    .strip-icon-wrap {
      width:42px;
      height:42px;
      border-radius:50%;
      flex-shrink:0;
      background:color-mix(in srgb, var(--color-surface-dark) 82%, #2a5a4d 18%);
      border:1px solid rgba(201,166,86,.34);
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .strip-icon-wrap img {
      width:24px;
      height:24px;
      object-fit:contain;
      display:block;
      background:transparent;
      filter: drop-shadow(0 0 0.35px rgba(226, 168, 49, .95)) drop-shadow(0 0 0.35px rgba(226, 168, 49, .9));
    }
    .hero-side-badge {
      margin-top:auto;
      padding:18px 20px;
      border-radius:var(--radius-lg);
      background:color-mix(in srgb,var(--color-surface-dark) 70%,transparent);
      border:1px solid var(--color-border-on-dark);
      display:flex;align-items:flex-start;gap:14px;
    }
    .hero-side-badge p { margin:0;font-size:.9rem;color:var(--color-text-on-dark-soft); }
    .hero-side-badge strong { display:block;margin-bottom:4px; }
    /* Meet Dre dark panel */
    .dre-banner {
      padding:30px 34px;
      border-radius:var(--radius-xl);
      background:var(--gradient-hero);
      border:1px solid var(--color-border);
      color:var(--color-text-on-dark);
      display:grid;
      grid-template-columns:minmax(0, 1.15fr) auto;
      gap:24px;
      align-items:center;
    }
    .dre-avatar {
      width:230px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex-shrink:0;
    }
    .dentistry-section-card {
      padding:40px 0 0;
      background:transparent;
      border:none;
      box-shadow:none;
    }
    .dentistry-title {
      margin:0 auto 28px;
      max-width:24ch;
      text-align:center;
      font-family: Inter, ui-sans-serif, system-ui, sans-serif;
      font-size:clamp(1.85rem,3vw,2.65rem);
      font-weight:700;
      line-height:1.15;
      letter-spacing:-0.02em;
      color:#18362f;
    }
    .dentistry-grid {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:22px;
    }
    .dentistry-card {
      padding:34px 34px 30px;
      border-radius:28px;
      min-height:252px;
      background:rgba(255,255,255,.46);
      border:1px solid rgba(199,191,174,.42);
      box-shadow:0 10px 30px rgba(47,36,16,.05), inset 0 1px 0 rgba(255,255,255,.4);
    }
    .dentistry-card-head {
      display:grid;
      grid-template-columns:64px 1fr;
      gap:16px;
      align-items:center;
      margin-bottom:18px;
    }
    .dentistry-icon-badge {
      width:56px;
      height:56px;
      display:flex;
      align-items:center;
      justify-content:center;
      border-radius:50%;
      background:#5da79c;
      box-shadow:0 10px 24px rgba(38,96,86,.16);
    }
    .dentistry-icon-badge svg {
      width:26px;
      height:26px;
      display:block;
      stroke:#ffffff;
    }
    .dentistry-card h3 {
      margin:0;
      font-family: Inter, ui-sans-serif, system-ui, sans-serif;
      font-size:clamp(1.15rem,1.8vw,1.45rem);
      font-weight:700;
      line-height:1.22;
      letter-spacing:-0.02em;
      color:#20342d;
    }
    .dentistry-card p {
      margin:0;
      color:#5a695f;
      font-size:clamp(1rem,1.35vw,1.05rem);
      line-height:1.58;
    }
    /* Clinical documentation */
    .documentation-section {
      padding-top: 28px;
    }
    .documentation-card {
      background:
        radial-gradient(circle at 12% 18%, rgba(93,167,156,.16), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.56), rgba(248,244,236,.72));
      border: 1px solid rgba(199,191,174,.46);
      box-shadow: 0 16px 42px rgba(47,36,16,.06), inset 0 1px 0 rgba(255,255,255,.45);
    }
    .documentation-header {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 34px;
      align-items: end;
      margin-bottom: 28px;
    }
    .documentation-header h2 {
      margin: 0;
      max-width: 13ch;
      font-size: clamp(1.8rem, 3vw, 2.55rem);
      line-height: 1.08;
      letter-spacing: -.03em;
      color: #18362f;
    }
    .documentation-header p {
      margin: 0;
      color: #51645d;
      font-size: 1rem;
      line-height: 1.7;
      max-width: 64ch;
    }
    .documentation-flow-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-bottom: 18px;
    }
    .documentation-route {
      position: relative;
      padding: 22px;
      border-radius: 22px;
      background: rgba(255,255,255,.58);
      border: 1px solid rgba(24,54,47,.12);
      box-shadow: 0 10px 26px rgba(47,36,16,.04);
      min-height: 224px;
    }
    .documentation-route::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 4px;
      border-radius: 22px 22px 0 0;
      background: linear-gradient(90deg, #5da79c, #c9a656);
      opacity: .86;
    }
    .documentation-route-label {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 34px;
      height: 34px;
      border-radius: 50%;
      margin-bottom: 16px;
      background: #5da79c;
      color: #fff;
      font-weight: 800;
      font-size: .9rem;
      box-shadow: 0 10px 22px rgba(38,96,86,.14);
    }
    .documentation-route h3 {
      margin: 0 0 10px;
      font-size: 1.04rem;
      line-height: 1.25;
      color: #20342d;
    }
    .documentation-route p {
      margin: 0;
      color: #5a695f;
      font-size: .92rem;
      line-height: 1.6;
    }
    .documentation-governance {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 8px;
      padding: 16px;
      border-radius: 20px;
      background: rgba(19,56,47,.92);
      color: var(--color-text-on-dark);
      border: 1px solid rgba(255,255,255,.10);
    }
    .documentation-step {
      padding: 12px 10px;
      border-radius: 14px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.09);
      text-align: center;
    }
    .documentation-step strong {
      display: block;
      margin-bottom: 4px;
      font-size: .74rem;
      letter-spacing: .04em;
      text-transform: uppercase;
      color: rgba(247,244,238,.78);
    }
    .documentation-step span {
      display: block;
      font-size: .82rem;
      line-height: 1.35;
      color: rgba(247,244,238,.94);
    }
    .documentation-note {
      margin: 16px 0 0;
      padding: 14px 16px;
      border-left: 3px solid #5da79c;
      border-radius: 14px;
      background: rgba(93,167,156,.10);
      color: #405951;
      font-size: .92rem;
      line-height: 1.6;
    }
    /* Unified use cases */
    .usecase-section {
      padding-top: 20px;
    }
    .usecase-card {
      background: rgba(19,56,47,.94);
      border: 1px solid rgba(255,255,255,.10);
      color: var(--color-text-on-dark);
      box-shadow: var(--shadow-dark);
      overflow: hidden;
      position: relative;
    }
    .usecase-card::before {
      content: "";
      position: absolute;
      inset: auto -140px -160px auto;
      width: 360px;
      height: 360px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(93,167,156,.18), transparent 68%);
      pointer-events: none;
    }
    .usecase-header {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 34px;
      align-items: end;
      margin-bottom: 28px;
    }
    .usecase-header h2 {
      margin: 0;
      max-width: 13ch;
      font-size: clamp(1.8rem, 3vw, 2.55rem);
      line-height: 1.08;
      letter-spacing: -.03em;
      color: var(--color-text-on-dark);
    }
    .usecase-header p {
      margin: 0;
      color: var(--color-text-on-dark-soft);
      font-size: 1rem;
      line-height: 1.7;
      max-width: 66ch;
    }
    .usecase-domain-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 20px;
    }
    .usecase-domain {
      padding: 16px 14px;
      border-radius: 18px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.10);
      min-height: 148px;
    }
    .usecase-domain strong {
      display: block;
      margin-bottom: 8px;
      color: var(--color-text-on-dark);
      font-size: .96rem;
      line-height: 1.25;
    }
    .usecase-domain span {
      display: block;
      color: var(--color-text-on-dark-muted);
      font-size: .8rem;
      line-height: 1.5;
    }
    .usecase-layer-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }
    .usecase-layer {
      padding: 18px;
      border-radius: 18px;
      background: rgba(248,244,236,.94);
      border: 1px solid rgba(255,255,255,.14);
      color: #20342d;
    }
    .usecase-layer small {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      margin-bottom: 12px;
      background: #5da79c;
      color: #fff;
      font-weight: 800;
      font-size: .78rem;
    }
    .usecase-layer h3 {
      margin: 0 0 8px;
      color: #20342d;
      font-size: .98rem;
      line-height: 1.25;
    }
    .usecase-layer p {
      margin: 0;
      color: #5a695f;
      font-size: .84rem;
      line-height: 1.55;
    }
    /* Principles row */
    .principles-row {
      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
      margin-top:20px;
    }
    .principle { display:flex;align-items:flex-start;gap:10px; }
    .principle-icon-badge,
    .principle-callout-icon {
      display:flex;
      align-items:center;
      justify-content:center;
      flex-shrink:0;
      border-radius:50%;
      background:#5da79c;
      box-shadow:0 10px 24px rgba(38,96,86,.16);
    }
    .principle-icon-badge {
      width:44px;
      height:44px;
    }
    .principle-callout-icon {
      width:42px;
      height:42px;
    }
    .principle-icon-badge svg {
      width:22px;
      height:22px;
      display:block;
      stroke:#ffffff;
    }
    .principle-callout-icon svg {
      width:20px;
      height:20px;
      display:block;
      stroke:#ffffff;
    }
    .principle > div { min-width:0; }
    .principle h4 { margin:0 0 4px;font-size:.86rem;font-weight:700;line-height:1.25; }
    .principle p  { margin:0;font-size:.78rem;line-height:1.45;color:var(--color-text-soft); }
    /* Platform row */
    .platform-pillars {
      display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-card-gap);
      margin-top:24px;
    }
    .hero-card-shell {
      display:grid;
      grid-template-columns:1.1fr 0.9fr;
      border-radius:var(--radius-xl);
      overflow:hidden;
      box-shadow:var(--shadow-medium);
      min-height:520px;
    }
    .hero-media-pane {
      position:relative;
      overflow:hidden;
      min-height:320px;
    }
    .meet-dre-grid {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:24px;
      align-items:stretch;
    }
    .platform-grid {
      display:grid;
      grid-template-columns:2fr 3fr;
      gap:40px;
      align-items:center;
    }
    .platform-pillars--split {
      grid-template-columns:repeat(4,1fr);
      gap:0;
      margin-top:0;
    }
    .footer-row {
      display:flex;
      justify-content:space-between;
      align-items:center;
      flex-wrap:wrap;
      gap:16px;
    }
    .pillar { text-align:center; }
    .pillar-icon-wrap {
      width:52px;height:52px;border-radius:50%;
      background:color-mix(in srgb,var(--color-accent) 14%,transparent);
      border:1px solid var(--color-border-on-dark);
      display:flex;align-items:center;justify-content:center;
      margin:0 auto 12px;
    }
    .platform-icon-chip {
      width:56px;
      height:56px;
      border-radius:50%;
      background:#5da79c;
      display:flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 10px 24px rgba(38,96,86,.16);
      margin:0 auto 12px;
    }
    .platform-icon-chip svg {
      width:26px;
      height:26px;
      display:block;
      stroke:#ffffff;
    }
    .pillar h4 { margin:0 0 4px;font-size:.88rem;font-weight:700;color:var(--color-text-on-dark); }
    .pillar p  { margin:0;font-size:.82rem;color:var(--color-text-on-dark-muted); }
    /* Active nav */
    .nav-links a.active { color:var(--color-text); font-weight:600; border-bottom:2px solid var(--color-accent-strong); padding-bottom:2px; }
    /* Image mosaic placeholders */
    .hero-img-mosaic {
      display:grid;grid-template-rows:1fr 1fr;gap:12px;height:100%;min-height:320px;
    }
    .dental-img {
      border-radius:var(--radius-lg);overflow:hidden;position:relative;
    }
    .dental-img-top {
      background:linear-gradient(135deg,#c8d5ce 0%,#e0ddd6 100%);
      min-height:180px;
      display:flex;align-items:center;justify-content:center;
    }
    .dental-img-bottom {
      background:linear-gradient(135deg,#d5cdc4 0%,#bfbbb4 100%);
      min-height:120px;
      display:flex;align-items:center;justify-content:center;
    }
    .img-caption {
      position:absolute;bottom:14px;left:14px;right:14px;
      background:rgba(255,255,255,.9);border-radius:var(--radius-md);
      padding:12px 14px;display:flex;align-items:center;gap:10px;
    }
    .img-caption p { margin:0;font-size:.82rem; color:#173634; }
    .img-caption strong { display:block; }
    .homepage-logo {
      height: 110px;
      width: auto;
      display: block;
    }
    .homepage-hero-lead {
      max-width: 58ch;
      text-align: justify;
      text-align-last: left;
      text-justify: inter-word;
      hyphens: none;
      word-break: normal;
      overflow-wrap: normal;
    }
    .homepage-dentistry-section {
      padding-top: 16px;
    }
    .homepage-dentistry-kicker {
      font-size: 0.92rem;
    }
    @media(min-width:721px){
      .homepage-nav {
        justify-content: flex-start;
      }
      .homepage-nav .nav-links {
        margin-left: 36px;
      }
    }
    @media(max-width:1100px){
      .dre-banner{grid-template-columns:1fr;}
      .hero-card-shell{grid-template-columns:1fr;min-height:auto;}
      .meet-dre-grid,.platform-grid{grid-template-columns:1fr;}
      .dentistry-grid{grid-template-columns:1fr;}
      .documentation-header{grid-template-columns:1fr;gap:14px;}
      .documentation-flow-grid{grid-template-columns:1fr;}
      .documentation-governance{grid-template-columns:repeat(2,1fr);}
      .usecase-header{grid-template-columns:1fr;gap:14px;}
      .usecase-domain-grid{grid-template-columns:repeat(2,1fr);}
      .usecase-layer-grid{grid-template-columns:1fr 1fr;}
      .platform-pillars{grid-template-columns:repeat(2,1fr);}
      .platform-pillars--split{grid-template-columns:repeat(2,1fr)!important;gap:14px;}
      .platform-pillars--split .pillar{border-right:none!important;border-bottom:none!important;border-radius:var(--radius-md);background:rgba(255,255,255,.26);}
      .principles-row{grid-template-columns:1fr;}
      .hero-strip{grid-template-columns:1fr;}
      .hero-media-pane{min-height:420px;}
    }
    @media(max-width:720px){
      .homepage-nav{
        flex-wrap:wrap;
        justify-content:center;
        align-items:center;
        gap:10px 14px;
        padding:14px 0 16px;
      }
      .homepage-nav .brand{
        width:100%;
        justify-content:flex-start;
        align-items:center;
      }
      .homepage-nav .nav-links{
        width:100%;
        justify-content:center;
        align-items:center;
        gap:8px 14px;
        font-size:.88rem;
        line-height:1.15;
      }
      .homepage-nav .nav-links a{
        padding:4px 0;
        white-space:nowrap;
      }
      .homepage-nav .nav-links a.active{
        padding-bottom:5px;
      }
      .homepage-logo{
        height:80px;
        max-width:375px;
      }
      .hero-card-shell{border-radius:20px;}
      .hero-panel{padding:28px 22px;}
      .button-row > a{width:auto;min-width:0;}
      .strip-item{padding:0;}
      .strip-item + .strip-item{border-left:none;border-top:1px solid rgba(232,225,212,.18);padding-top:14px;}
      .hero-media-pane{min-height:300px;}
      .dentistry-card{padding:24px 22px;min-height:auto;}
      .dentistry-card-head{grid-template-columns:52px 1fr;gap:12px;}
      .dentistry-icon-badge{width:50px;height:50px;}
      .dentistry-icon-badge svg{width:22px;height:22px;}
      .documentation-card{padding:24px 18px;}
      .documentation-governance{grid-template-columns:1fr;}
      .usecase-card{padding:24px 18px;}
      .usecase-domain-grid,.usecase-layer-grid{grid-template-columns:1fr;}
      .dre-banner{padding:24px 22px;}
      .dre-avatar{width:100%;height:auto;justify-content:flex-start;}
      .dre-avatar img{width:140px!important;}
      .platform-grid{gap:24px;}
      .platform-pillars--split{grid-template-columns:1fr!important;}
      .footer-row{justify-content:center;text-align:center;}
    }
    @media(max-width:420px){
      .homepage-nav{
        gap:8px 10px;
        padding:12px 0 14px;
      }
      .homepage-logo{
        height:70px;
        max-width:325px;
      }
      .homepage-nav .nav-links{
        gap:7px 10px;
        font-size:.78rem;
      }
    }
