.ia-page{
  --blue:#4B9CD3;
  --blue2:#2f7fac;
  --ink:#132235;
  --muted:#263b50;
  --line:#dce8f2;
  --soft:#f8fbfe;
  --white:#ffffff;
  --deep:#102b42;
  --black:#0b1118;
  font-family:"Segoe UI",Roboto,Arial,sans-serif;
  color:#132235;
  background:#ffffff;
  line-height:1.62;
  font-weight:400;
}

.ia-page *{
  box-sizing:border-box;
}

.ia-wrap{
  max-width:1120px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------- Menu ---------- */

.ia-menu{
  background:#ffffff;
  border-bottom:1px solid var(--line);
  margin:0 !important;
}

.ia-menu-inner{
  max-width:1120px;
  margin:0 auto;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}

.ia-menu-brand{
  margin-right:auto;
  font-size:20px;
  line-height:1;
  letter-spacing:-.02em;
  color:#143f93;
  text-decoration:none;
  font-weight:600;
  white-space:nowrap;
}

.ia-menu-brand span{
  color:var(--blue);
  font-weight:600;
}

.ia-menu-links{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  font-size:14px;
  line-height:1;
  white-space:nowrap;
}

.ia-menu-links a{
  color:#102235;
  text-decoration:none;
  font-weight:400;
}

.ia-menu-links a:hover,
.ia-menu-links .ia-menu-active{
  color:#2f7fac;
}

/* ---------- Hero ---------- */

.ia-hero{
  background:#ffffff;
  padding:34px 0 36px !important;
  margin:0 !important;
  border-bottom:1px solid var(--line);
}

.ia-hero .ia-wrap{
  padding-top:0 !important;
  margin-top:0 !important;
}

.ia-hero-table{
  width:100%;
  border-collapse:collapse;
  margin:0 !important;
}

.ia-hero-table tbody,
.ia-hero-table tr,
.ia-hero-table td{
  margin-top:0 !important;
}

.ia-hero-left,
.ia-hero-right{
  vertical-align:top;
}

.ia-hero-left{
  width:58%;
  padding:0 44px 0 0;
}

.ia-hero-right{
  width:42%;
  padding:0;
}

.ia-eyebrow{
  margin:0 0 12px;
  color:#2f7fac;
  font-size:12.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:400;
}

.ia-hero h1{
  margin:0 0 18px;
  max-width:760px;
  color:#132235;
  font-size:38px;
  line-height:1.17;
  letter-spacing:-.02em;
  font-weight:400;
}

.ia-hero h1 span{
  color:#2f7fac;
  font-weight:400;
}

.ia-lead{
  margin:0 0 16px;
  max-width:800px;
  color:#1f3347;
  font-size:19px;
  line-height:1.55;
  font-weight:400;
}

.ia-kicker{
  margin:0 0 14px;
  max-width:860px;
  color:#263b50;
  font-size:16.5px;
  line-height:1.62;
  font-weight:400;
}

/* ---------- Buttons ---------- */

.ia-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.ia-btn{
  display:inline-block;
  padding:11px 17px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#ffffff;
  color:#132235;
  text-decoration:none;
  font-size:14px;
  line-height:1;
  font-weight:400;
}

.ia-btn-primary{
  background:#4B9CD3;
  border-color:#4B9CD3;
  color:#ffffff;
}

.ia-btn:hover{
  border-color:#4B9CD3;
  color:#2f7fac;
}

.ia-btn-primary:hover{
  color:#ffffff;
  background:#2f7fac;
  border-color:#2f7fac;
}

/* ---------- Video / Media Cards ---------- */

.ia-video-card{
  background:#ffffff;
  border:1px solid rgba(75,156,211,.34);
  border-top:2px solid rgba(75,156,211,.62);
  border-radius:24px;
  padding:22px;
  box-shadow:0 12px 34px rgba(19,34,53,.05);
}

.ia-video-box{
  width:100%;
  overflow:hidden;
  border-radius:18px;
  background:#0b1118;
  border:1px solid var(--line);
  margin-bottom:18px;
}

.ia-video-box video{
  display:block;
  width:100%;
  height:auto;
  background:#0b1118;
}

.ia-video-label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(75,156,211,.28);
  color:#2f7fac;
  background:#f8fbfe;
  font-size:12px;
  line-height:1;
  font-weight:400;
  margin-bottom:12px;
}

.ia-video-card h2,
.ia-video-card h3,
.ia-video-card h4{
  margin:0 0 10px;
  color:#132235;
  font-size:18px;
  line-height:1.32;
  letter-spacing:-.005em;
  font-weight:400;
}

.ia-video-card p{
  margin:0;
  color:#263b50;
  font-size:15px;
  line-height:1.62;
  font-weight:400;
}

/* ---------- Sections ---------- */

.ia-section{
  padding:34px 0;
}

.ia-soft{
  background:#f8fbfe;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

/*
  Typography rule:
  Only .ia-hero h1 should look like the major page headline.
  All section headings after the hero stay calm and compact.
*/

.ia-section h1,
.ia-section h2{
  margin:0 0 12px;
  max-width:860px;
  color:#132235;
  font-size:22px;
  line-height:1.35;
  letter-spacing:-.005em;
  font-weight:400;
}

.ia-section h3,
.ia-section h4{
  margin:0 0 8px;
  color:#132235;
  font-size:17px;
  line-height:1.35;
  letter-spacing:0;
  font-weight:400;
}

.ia-section-title{
  margin:0 0 12px;
  max-width:860px;
  color:#132235;
  font-size:22px;
  line-height:1.35;
  letter-spacing:-.005em;
  font-weight:400;
}

.ia-card-title{
  margin:0 0 8px;
  color:#132235;
  font-size:17px;
  line-height:1.35;
  letter-spacing:0;
  font-weight:400;
}

.ia-section p{
  color:#263b50;
  font-weight:400;
}

.ia-section-intro{
  margin:0 0 22px;
  max-width:900px;
  color:#263b50;
  font-size:15.5px;
  line-height:1.62;
  font-weight:400;
}

/* ---------- Grids ---------- */

.ia-grid{
  display:grid;
  gap:18px;
}

.ia-two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.ia-three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.ia-four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.ia-five{
  grid-template-columns:repeat(5,minmax(0,1fr));
}

/* ---------- Cards ---------- */

.ia-card{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
}

.ia-card p{
  margin:0;
  color:#263b50;
  font-size:15px;
  line-height:1.62;
  font-weight:400;
}

.ia-card .ia-actions{
  margin-top:18px;
}

.ia-card-icon,
.ia-icon-box,
.ia-step-number{
  width:40px;
  height:40px;
  border-radius:13px;
  background:#eef7fd;
  border:1px solid rgba(75,156,211,.28);
  color:#2f7fac;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  line-height:1;
  font-weight:400;
  margin-bottom:14px;
}

/* ---------- Story Cards ---------- */

.ia-story-card{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
}

.ia-story-card h2,
.ia-story-card h3,
.ia-story-card h4,
.ia-story-card .ia-card-title{
  margin:0 0 6px;
  color:#132235;
  font-size:16.5px;
  line-height:1.32;
  letter-spacing:0;
  font-weight:400;
}

.ia-story-card p{
  margin:0;
  color:#263b50;
  font-size:14.25px;
  line-height:1.55;
}

/* ---------- Panels / Story Lines ---------- */

.ia-panel{
  background:#ffffff;
  border:1px solid var(--line);
  border-top:2px solid rgba(75,156,211,.48);
  border-radius:24px;
  padding:26px;
}

.ia-story-line{
  margin-top:22px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(75,156,211,.3);
  background:#eef7fd;
  color:#132235;
  font-size:16.5px;
  line-height:1.5;
  font-weight:400;
}

.ia-different{
  background:#ffffff;
  border:1px solid var(--line);
  border-top:2px solid rgba(75,156,211,.45);
  border-radius:24px;
  padding:26px;
}

.ia-different-line{
  margin:22px 0;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(75,156,211,.3);
  background:#eef7fd;
  color:#1f3347;
  font-size:16.5px;
  line-height:1.55;
  font-weight:400;
}

/* ---------- Path Lists ---------- */

.ia-path-list,
.ia-pathway-list{
  display:grid;
  gap:10px;
  margin-top:22px;
}

.ia-path-item,
.ia-pathway-item{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  padding:14px 0;
  border-top:1px solid var(--line);
}

.ia-pathway-number{
  width:40px;
  height:40px;
  border-radius:13px;
  background:#eef7fd;
  border:1px solid rgba(75,156,211,.28);
  color:#2f7fac;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  line-height:1;
  font-weight:400;
}

.ia-path-item h2,
.ia-path-item h3,
.ia-path-item h4,
.ia-pathway-item h2,
.ia-pathway-item h3,
.ia-pathway-item h4,
.ia-simple-item h2,
.ia-simple-item h3,
.ia-simple-item h4{
  margin:0 0 6px;
  color:#132235;
  font-size:17px;
  line-height:1.35;
  letter-spacing:0;
  font-weight:400;
}

.ia-path-item p,
.ia-pathway-item p,
.ia-simple-item p{
  margin:0;
  color:#263b50;
  font-size:15px;
  line-height:1.62;
  font-weight:400;
}

.ia-simple-list{
  display:grid;
  gap:14px;
  margin-top:22px;
}

.ia-simple-item{
  padding-top:14px;
  border-top:1px solid var(--line);
}

/* ---------- Product Cards ---------- */

.ia-product-list{
  display:grid;
  gap:14px;
}

.ia-product-card{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
}

.ia-product-meta{
  margin:0 0 8px;
  color:#2f7fac;
  font-size:12px;
  letter-spacing:.07em;
  text-transform:uppercase;
  font-weight:400;
}

.ia-product-card h2,
.ia-product-card h3,
.ia-product-card h4,
.ia-product-card .ia-card-title{
  margin:0 0 8px;
  color:#132235;
  font-size:17px;
  line-height:1.35;
  letter-spacing:0;
  font-weight:400;
}

.ia-product-card p{
  margin:0;
  color:#263b50;
  font-size:15px;
  line-height:1.62;
  font-weight:400;
}

/* ---------- Live / Progress Blocks ---------- */

.ia-live-box{
  border:1px solid var(--line);
  border-top:2px solid rgba(75,156,211,.55);
  background:#ffffff;
  border-radius:22px;
  padding:24px;
}

.ia-live-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}

.ia-live-title{
  margin:0;
  color:#132235;
  font-size:20px;
  line-height:1.32;
  letter-spacing:-.005em;
  font-weight:400;
}

.ia-live-subtitle{
  margin:8px 0 0;
  color:#263b50;
  font-size:15px;
  line-height:1.6;
  font-weight:400;
}

.ia-live-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(75,156,211,.28);
  color:#2f7fac;
  background:#f8fbfe;
  font-size:12px;
  line-height:1;
  font-weight:400;
  white-space:nowrap;
}

.ia-live-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#4B9CD3;
  box-shadow:0 0 0 rgba(75,156,211,.45);
  animation:iaPulse 1.8s infinite;
}

@keyframes iaPulse{
  0%{box-shadow:0 0 0 0 rgba(75,156,211,.38);}
  70%{box-shadow:0 0 0 9px rgba(75,156,211,0);}
  100%{box-shadow:0 0 0 0 rgba(75,156,211,0);}
}

.ia-live-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.ia-live-stat{
  border-top:1px solid var(--line);
  padding-top:18px;
  min-height:86px;
}

.ia-live-number{
  display:block;
  margin-bottom:8px;
  color:#102b42;
  font-size:32px;
  line-height:1;
  letter-spacing:-.035em;
  font-weight:400;
}

.ia-live-label{
  display:block;
  color:#263b50;
  font-size:13px;
  line-height:1.4;
  font-weight:400;
}

.ia-live-note{
  margin:22px 0 16px;
  padding-top:16px;
  border-top:1px solid var(--line);
  color:#263b50;
  font-size:13px;
  line-height:1.55;
  font-weight:400;
}

.ia-live-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.ia-live-button{
  display:inline-block;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#ffffff;
  color:#132235;
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
  font-size:13px;
  line-height:1;
  font-weight:400;
}

.ia-live-button-primary{
  color:#ffffff;
  border-color:#4B9CD3;
  background:#4B9CD3;
}

.ia-live-status{
  margin-top:14px;
  color:#263b50;
  font-size:12px;
  line-height:1.45;
  font-weight:400;
}

/* ---------- Final CTA ---------- */

.ia-final{
  padding:42px 0;
  background:#0b1118;
  color:#ffffff;
}

.ia-final-panel{
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  padding:30px;
  background:#0b1118;
}

.ia-final .ia-eyebrow{
  color:#ffffff;
  opacity:.72;
}

.ia-final-panel h1,
.ia-final-panel h2,
.ia-final-panel h3,
.ia-final-panel h4,
.ia-final-panel .ia-section-title{
  margin:0 0 14px;
  color:#ffffff;
  font-size:22px;
  line-height:1.28;
  letter-spacing:-.005em;
  font-weight:400;
}

.ia-final-panel p{
  max-width:840px;
  margin:0 0 18px;
  color:rgba(255,255,255,.82);
  font-size:16px;
  line-height:1.6;
  font-weight:400;
}

.ia-final .ia-btn{
  border-color:rgba(255,255,255,.28);
  background:transparent;
  color:#ffffff;
}

.ia-final .ia-btn-primary{
  background:#4B9CD3;
  border-color:#4B9CD3;
  color:#ffffff;
}

.ia-final .ia-btn:hover{
  border-color:#ffffff;
  color:#ffffff;
}

/* ---------- Safe readability override for DNN themes ---------- */

.ia-page p,
.ia-page .ia-lead,
.ia-page .ia-kicker,
.ia-page .ia-section-intro,
.ia-page .ia-story-line,
.ia-page .ia-card p,
.ia-page .ia-story-card p,
.ia-page .ia-product-card p,
.ia-page .ia-simple-item p,
.ia-page .ia-path-item p,
.ia-page .ia-pathway-item p,
.ia-page .ia-final-panel p,
.ia-page .ia-live-subtitle,
.ia-page .ia-live-note,
.ia-page .ia-live-status,
.ia-page .ia-live-label,
.ia-page .ia-video-card p{
  color:#263b50 !important;
  font-weight:400 !important;
}

.ia-page .ia-lead,
.ia-page .ia-story-line,
.ia-page .ia-different-line{
  color:#1f3347 !important;
  font-weight:400 !important;
}

.ia-page h1,
.ia-page h2,
.ia-page h3,
.ia-page h4,
.ia-page .ia-section-title,
.ia-page .ia-card-title,
.ia-page .ia-live-title{
  color:#132235 !important;
}

.ia-page .ia-hero h1{
  font-size:38px !important;
  line-height:1.17 !important;
  letter-spacing:-.02em !important;
  font-weight:400 !important;
}

.ia-page .ia-section h1,
.ia-page .ia-section h2,
.ia-page .ia-section-title{
  font-size:22px !important;
  line-height:1.35 !important;
  letter-spacing:-.005em !important;
  font-weight:400 !important;
}

.ia-page .ia-section h3,
.ia-page .ia-section h4,
.ia-page .ia-card-title,
.ia-page .ia-product-card h2,
.ia-page .ia-product-card h3,
.ia-page .ia-product-card h4,
.ia-page .ia-story-card h2,
.ia-page .ia-story-card h3,
.ia-page .ia-story-card h4,
.ia-page .ia-path-item h2,
.ia-page .ia-path-item h3,
.ia-page .ia-path-item h4,
.ia-page .ia-pathway-item h2,
.ia-page .ia-pathway-item h3,
.ia-page .ia-pathway-item h4,
.ia-page .ia-simple-item h2,
.ia-page .ia-simple-item h3,
.ia-page .ia-simple-item h4{
  font-size:17px !important;
  line-height:1.35 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
}

.ia-page .ia-eyebrow,
.ia-page .ia-product-meta,
.ia-page .ia-pathway-number,
.ia-page .ia-card-icon,
.ia-page .ia-icon-box,
.ia-page .ia-step-number{
  color:#2f7fac !important;
}

.ia-page .ia-btn-primary,
.ia-page .ia-live-button-primary{
  color:#ffffff !important;
}

.ia-page .ia-final h1,
.ia-page .ia-final h2,
.ia-page .ia-final h3,
.ia-page .ia-final h4,
.ia-page .ia-final .ia-section-title,
.ia-page .ia-final-panel h1,
.ia-page .ia-final-panel h2,
.ia-page .ia-final-panel h3,
.ia-page .ia-final-panel h4{
  color:#ffffff !important;
}

.ia-page .ia-final-panel p{
  color:rgba(255,255,255,.82) !important;
}

/* ---------- DNN pane spacing cleanup ---------- */

.ContentPane .ia-page,
.DNNModuleContent .ia-page,
.Normal .ia-page,
.ia-page:first-child{
  margin-top:0 !important;
  padding-top:0 !important;
}

.ia-page .ia-menu + .ia-hero{
  margin-top:0 !important;
}

/* ---------- Responsive ---------- */

@media(max-width:1020px){
  .ia-menu-inner{
    align-items:flex-start;
  }

  .ia-menu-links{
    flex-wrap:wrap;
    gap:14px;
    line-height:1.35;
  }
}

@media(max-width:920px){
  .ia-menu-inner{
    display:block;
    padding:14px 24px;
  }

  .ia-menu-brand{
    display:block;
    margin:0 0 12px;
  }

  .ia-menu-links{
    justify-content:flex-start;
    gap:14px;
    white-space:normal;
  }

  .ia-hero-table,
  .ia-hero-table tbody,
  .ia-hero-table tr,
  .ia-hero-left,
  .ia-hero-right{
    display:block;
    width:100%;
  }

  .ia-hero-left{
    padding-right:0;
    margin-bottom:28px;
  }

  .ia-page .ia-hero h1{
    font-size:34px !important;
    line-height:1.18 !important;
    letter-spacing:-.02em !important;
    font-weight:400 !important;
  }

  .ia-page .ia-section h1,
  .ia-page .ia-section h2,
  .ia-page .ia-section-title{
    font-size:21px !important;
    line-height:1.35 !important;
    font-weight:400 !important;
  }

  .ia-two,
  .ia-three,
  .ia-four,
  .ia-five{
    grid-template-columns:1fr;
  }

  .ia-path-item,
  .ia-pathway-item{
    grid-template-columns:1fr;
    gap:8px;
  }
}

@media(max-width:560px){
  .ia-menu-inner{
    padding:13px 20px;
  }

  .ia-menu-links{
    gap:11px;
    font-size:13px;
  }

  .ia-hero{
    padding:30px 0 32px !important;
  }

  .ia-page .ia-hero h1{
    font-size:29px !important;
    line-height:1.2 !important;
    letter-spacing:-.015em !important;
    font-weight:400 !important;
  }

  .ia-lead{
    font-size:17px;
  }

  .ia-section{
    padding:34px 0;
  }

  .ia-live-grid{
    grid-template-columns:1fr;
  }

  .ia-card,
  .ia-story-card,
  .ia-product-card,
  .ia-panel,
  .ia-video-card,
  .ia-different,
  .ia-final-panel{
    padding:20px;
  }
}

/* =========================================================
   Mary Carespace / Mary Lip Lab shared visual polish
   Use in the global DNN CSS module.
   Purpose:
   - centralize Mary shared presentation
   - make mouth overlay translucent so Mary’s teeth/smile remain visible
   - preserve DNN-native, inline-module behavior
   - avoid external script dependencies
   ========================================================= */

/* ---------- Shared Mary module base safety ---------- */

.mary-carespace,
#mary-lip-lab{
  box-sizing:border-box;
}

.mary-carespace *,
#mary-lip-lab *{
  box-sizing:border-box;
}

/* ---------- Mary mouth overlay visual system ---------- */

/*
  The mouth overlay should suggest motion without replacing Mary’s real mouth.
  Keep the original smile and teeth visible.
*/

.mary-carespace #mary-mouth-overlay,
.mary-carespace .mary-mouth-overlay,
.mary-carespace [data-care-guide-mouth-overlay],
#mary-lip-lab #mary-mouth-overlay,
#mary-lip-lab .mouth,
#mary-lip-lab .mary-mouth-overlay,
#mary-lip-lab [data-care-guide-mouth-overlay]{
  background:
    radial-gradient(
      ellipse at center,
      rgba(95,22,48,0.08) 0%,
      rgba(95,22,48,0.18) 45%,
      rgba(95,22,48,0.10) 72%,
      rgba(95,22,48,0.02) 100%
    ) !important;
  border:1px solid rgba(95,22,48,0.14) !important;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,0.20),
    inset 0 -1px 2px rgba(40,0,18,0.10),
    0 1px 2px rgba(40,0,18,0.08) !important;
  opacity:var(--mary-mouth-visual-opacity,0.38) !important;
  mix-blend-mode:multiply;
  filter:blur(.12px);
  pointer-events:none;
}

/* Production Carespace should stay subtle. */
.mary-carespace{
  --mary-mouth-visual-opacity:.34;
  --mary-mouth-speaking-opacity:.46;
  --mary-mouth-rest-opacity:.14;
}

/* Lip Lab can be slightly more visible for calibration/testing. */
#mary-lip-lab{
  --mary-mouth-visual-opacity:.42;
  --mary-mouth-speaking-opacity:.55;
  --mary-mouth-rest-opacity:.22;
}

/* While Mary is speaking, make movement visible but not opaque. */
.mary-carespace.is-speaking #mary-mouth-overlay,
.mary-carespace.mary-speaking #mary-mouth-overlay,
.mary-carespace [data-care-guide-mouth-state]:not([data-care-guide-mouth-state="closed"]) #mary-mouth-overlay,
#mary-lip-lab.is-speaking #mary-mouth-overlay,
#mary-lip-lab.mary-speaking #mary-mouth-overlay,
#mary-lip-lab [data-care-guide-mouth-state]:not([data-care-guide-mouth-state="closed"]) #mary-mouth-overlay,
#mary-lip-lab .stage[data-care-guide-mouth-state]:not([data-care-guide-mouth-state="closed"]) .mouth{
  opacity:var(--mary-mouth-speaking-opacity,.50) !important;
}

/* Resting state: nearly invisible so Mary’s real smile remains visible. */
.mary-carespace [data-care-guide-mouth-state="closed"] #mary-mouth-overlay,
#mary-lip-lab [data-care-guide-mouth-state="closed"] #mary-mouth-overlay,
#mary-lip-lab .stage[data-care-guide-mouth-state="closed"] .mouth{
  opacity:var(--mary-mouth-rest-opacity,.16) !important;
}

/* ---------- Mary module readability helpers ---------- */

.mary-carespace .mary-response-card,
.mary-carespace .mary-response,
#mary-lip-lab .panel,
#mary-lip-lab .group,
#mary-lip-lab .diagnostics{
  border-color:#d8e7f1;
}

.mary-carespace button,
#mary-lip-lab button{
  font-family:"Segoe UI",Roboto,Arial,sans-serif;
}

/* Prevent DNN themes from making Mary diagnostic tables unreadable. */
#mary-lip-lab table,
#mary-lip-lab th,
#mary-lip-lab td{
  color:#132235;
}

#mary-lip-lab .matrix-wrap{
  scrollbar-width:thin;
}

/* ---------- Small-screen Mary cleanup ---------- */

@media(max-width:720px){
  .mary-carespace,
  #mary-lip-lab{
    max-width:100%;
  }

  .mary-carespace button,
  #mary-lip-lab button{
    min-height:36px;
  }
}


