@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lora:ital,wght@0,400..700;1,400..700&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
/* home-layout */
  :root{
    --dm-navy:#1A2E52;
    --dm-accent: #024a64;
    --dm-accent-dark:#024a64;
    --dm-accent-deep:#002545;
    --dm-accent-dark-deep:#000102;
    --dm-accent-gradient: linear-gradient(135deg, var(--dm-accent) 0%, var(--dm-accent-deep) 100%);
    --dm-accent-dark-gradient: linear-gradient(135deg, var(--dm-accent-dark) 0%, var(--dm-accent-dark-deep) 100%);
    --dm-text-primary:#0A0A0A;
    --dm-text-on-dark:#FFFFFF;
    --dm-bg:#FFFFFF;
    --dm-bg-warm:#F9F8F5;
    --dm-bg-muted:#F0EDE6;
    --dm-border:#DDD9D0;
    --dm-font-display:'Playfair Display', serif;
    --dm-font-nav:'Inter', sans-serif;
    --dm-font-body:'Inter', sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    /* font-family:var(--dm-font-body); */
    font-family: "Inter", sans-serif !important;
    color:var(--dm-text-primary);
    background:var(--dm-bg);
    -webkit-font-smoothing:antialiased;
  }
 .sticky-top{
  top: 8rem !important;
 }
 .footer-connect-link{
  text-decoration: underline;
  color: rgb(0, 200, 255);
  text-underline-offset: 3px;
 }
/* home-page */
.dm-hero{
      background: var(--dm-bg-warm);
}
  .dm-hero-title{
    font-family: var(--dm-font-display);
    font-weight: 400;
    font-size: 60px;
    line-height: 1.18;
    color: var(--dm-navy);
    animation: dm-fade-up .8s ease both;
  }
  .dm-hero-subtitle{
    font-family: "Lora", serif;
    font-style: italic;
    font-weight: 500;
    font-size: 23px;
    line-height: 1.55;
    color: var(--dm-accent-dark);
  }
  .dm-divider span{width:70px;height:1px;background:var(--dm-border);}
  .dm-divider i{width:5px;height:5px;border-radius:50%;background:var(--dm-border);display:inline-block;}
  .dm-hero-question{
    font-family: var(--dm-font-nav);
    font-weight: 600;
    font-size: 18px;
    color: var(--dm-navy);
    letter-spacing: 0.4px;
  }
  .dm-watch{ cursor:pointer; animation:dm-fade-up .8s ease .55s both; }

  .dm-play-circle{
    position:relative;
    width:56px;height:56px;border-radius:50%;
    background:var(--dm-navy);
    flex-shrink:0;
    transition:transform .2s ease;
  }
  .dm-watch:hover .dm-play-circle{background:var(--dm-accent-gradient); transform:scale(1.06);}
  .dm-watch:hover .dm-watch-label{border-bottom:1px solid var(--dm-accent);}
  .dm-watch .dm-play-circle::before,
  .dm-watch .dm-play-circle::after{
    content:"";
    position:absolute;
    inset:-9px;
    border-radius:50%;
    border:2px solid var(--dm-accent);
    opacity:0;
    animation:dm-ring-pulse 2.6s ease-out infinite;
    pointer-events:none;
  }
  .dm-watch .dm-play-circle::after{animation-delay:1.3s;}
  @keyframes dm-ring-pulse{
    0%{transform:scale(.78); opacity:.6;}
    70%{transform:scale(1.45); opacity:0;}
    100%{opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){
    .dm-watch .dm-play-circle::before,.dm-watch .dm-play-circle::after{animation:none !important; display:none;}
  }
  .dm-watch-label{
    font-family: var(--dm-font-nav);
    font-weight:700;
    font-size:16px;
    color:var(--dm-navy);
    border-bottom:1px solid var(--dm-border);
    padding-bottom:14px;
  }

  .dm-eyebrow{
    font-family: var(--dm-font-nav);
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    color:var(--dm-accent-dark);
    text-transform:uppercase;
  }
  .dm-section-title{
    font-family: "Lora", serif;
    font-weight:400;
    font-size:34px;
    color:var(--dm-navy);
  }

  .dm-tag{
    font-family: var(--dm-font-nav);
    font-size:10.5px;
    font-weight:700;
    letter-spacing:1px;
    color:var(--dm-navy);
    background:var(--dm-bg-muted);
    border:1px solid var(--dm-border);
    border-radius:4px;
  }
  .dm-offer-media .dm-tag-corner{
    position:absolute; top:14px; left:14px; z-index:3;
    background:#fff; color:var(--dm-accent-dark);
    box-shadow:0 2px 8px rgba(26,46,82,0.08);
  }

  .dm-offer-title{
    font-family: "Lora", serif;
    font-weight:500;
    font-size:28px;
    color:var(--dm-navy);
    letter-spacing:0.3px;
  }
  .dm-offer-desc{font-size:15.5px;line-height:1.75;margin:0;}
  .dm-offer-dash{width:28px;height:2px;background:var(--dm-accent-dark);}

  .dm-offer-media{
    position:relative;
    box-shadow: rgba(0, 0, 0, 0.087) 0px 1px 4px;
    border-radius:10px;
    /* height:24rem; */
    height: 30rem;
    overflow:hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.6rem;
  }
  .dm-offer-media .gif{ object-fit:cover; }

  .dm-why-bar{width:28px;height:3px;background:var(--dm-accent-dark);}
  .box-title{
    font-family: "Lora", serif;
    font-weight:600;
    font-size:20px;
    color:var(--dm-navy);
    letter-spacing:0.5px;
    margin-bottom: 1rem;
  }
  .box-text{font-size:14.5px;line-height:1.75;color:var(--dm-text-primary);margin:0;}

  .dm-cta{background:var(--dm-bg-warm);}
  .cta{
    padding: 4rem 2rem;
  }
  .dm-cta h2{
    font-family: "Lora", serif;
    font-weight:400;
    font-size:38px;
    color:var(--dm-navy);
  }
  .dm-cta-note{font-size:12.5px;max-width:520px;line-height:1.6;}

  /* ---------- Partner marquee: one-time scroll-in, stops centered ---------- */
  .dm-marquee{
    /* background-image: radial-gradient(circle, rgba(6, 170, 235, 0.07) 0%, var(--dm-bg-warm) 65%); */
    background: #F6F7F3;
    overflow:hidden;
    position:relative;
  }
  .dm-marquee-mask{
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  }
  .dm-marquee-track{
    width:max-content;
    transform:translateX(70vw);
  }
  .dm-marquee.dm-marquee-play .dm-marquee-track{
    animation:dm-marquee-scroll 3.2s linear forwards;
  }
  @keyframes dm-marquee-scroll{
    from{transform:translateX(70vw);}
    to{transform:translateX(0);}
  }
  .linear-line{
    position:absolute; top:2px; left:0; right:0; height:0.7px;
    background: linear-gradient(90deg, transparent, var(--dm-accent) 30%, var(--dm-accent) 70%, transparent);
  }
  .dm-marquee-logo{ font-family: "Lora", serif; font-weight:600; font-size:23px; letter-spacing:0.2px; color: #00355D; }
  .dm-marquee-logo:hover{
    color: #800000;
  }
  .dm-marquee-logo .strong{color:var(--dm-navy);}
  .dm-marquee-dot{width:6px;height:6px;border-radius:50%;background:var(--dm-accent);flex-shrink:0;}
  /* .dm-marquee-tagline{ font-family: var(--dm-font-nav); font-size:15px; font-weight:400; color:#39415a; } */
    .dm-marquee-tagline{ font-family: 'Source Serif 4', serif; font-size: 1.4rem; font-weight:400; color:#00355D; }
  @media (prefers-reduced-motion: reduce){
    .dm-marquee-track{animation:none !important; transform:translateX(0) !important;}
  }
  @media(max-width:600px){
    .dm-marquee-logo{font-size:19px;}
    .dm-marquee-tagline{font-size:13px;}
    .dm-marquee-track{flex-wrap:wrap;}
  }

  @keyframes dm-fade-up{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }

  /* document solutions */
    .ds-hero{background:var(--dm-bg-warm); padding:90px 0 70px;}
  .ds-hero-title{
    font-family:"Lora", serif;
    font-weight:400;
    font-size:44px;
    line-height:1.25;
    color:var(--dm-navy);
    max-width:820px;
  }
  .ds-highlight-list{max-width:680px;}
  .ds-highlight-row{font-size:16px;color:var(--dm-text-primary);padding:16px 0;}
  .ds-highlight-divider{
    width:90px;height:1px;
    background:linear-gradient(90deg, transparent, var(--dm-accent), transparent);
  }

  /* ---------- Key features ---------- */
  .ds-sticky-label{top:110px;}
  .ds-features-dash{width:24px;height:2px;background:var(--dm-navy);}
  .ds-features-dash.ds-features-dash-accent{background:var(--dm-accent);}
  .ds-feature-row{border-top:1px solid var(--dm-border);}
  .ds-feature-icon{width:22px;height:22px;color:var(--dm-accent);flex-shrink:0;margin-top:4px;}
  .ds-feature-title{font-family:"Lora", serif;font-weight:500;font-size:20px;color:var(--dm-navy);}
  .ds-feature-desc{font-size:15px;line-height:1.7;color:var(--dm-text-primary);}

  /* ---------- Dark navy 4-col strip ---------- */
  .ds-pairs-dark{background:var(--dm-navy);}
  .ds-pair-col{border-right:1px solid rgba(255,255,255,0.12);}
  .ds-pair-icon{width:22px;height:22px;color:var(--dm-accent);}
  .ds-pair-title{font-family:"Lora", serif;font-weight:500;font-size:19px;color:white;}
  .ds-pair-desc{font-size:14px;line-height:1.75;color:#fff;opacity:90%;}

  /* ---------- Checkerboard 2x2 ---------- */
  .ds-checker-grid{border-top:2px solid var(--dm-navy);}
  .ds-checker-cell{padding:56px 20px;min-height:300px;}
  .ds-checker-title{font-family:"Lora", serif;font-weight:500;font-size:23px;color:var(--dm-navy);}
  .ds-checker-desc{font-size:15px;line-height:1.75;color:var(--dm-text-primary);}
  .ds-checker-media img,.ds-checker-media video{object-fit:cover;}
  .ds-media-fallback{color:#9aa3b5;font-family:var(--dm-font-nav);font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;}
  .ds-play-circle-outline{
    width:44px;height:44px;border-radius:50%;
    border:1.5px solid #c9cdd6;
    color:#9aa3b5;
  }

  /* ---------- State-specific solutions ---------- */
  .ds-states-v2{background:var(--dm-bg-warm);}
  .ds-states-label{top:110px;}
  .ds-states-title{font-family:"Lora", serif;font-weight:400;font-size:30px;line-height:1.3;color:var(--dm-navy);}
  .ds-state-row-v2{border-bottom:1px solid var(--dm-border);}
  .ds-state-name-v2{font-family:"Lora", serif;font-weight:600;font-size:16px;color:var(--dm-navy);}
  .ds-state-desc-v2{font-size:14.5px;line-height:1.7;color:var(--dm-text-primary);}

  /* ---------- Recording Fee / Calculations ---------- */
  .ds-calc-title{font-family:"Lora", serif;font-weight:400;font-size:38px;line-height:1.25;color:var(--dm-navy);}
  .ds-calc-desc{font-size:15.5px;line-height:1.75;color:var(--dm-text-primary);max-width:440px;}

  /* ---------- Shared mobile breakpoint (merged) ---------- */
  @media(max-width:900px){
    .dm-hero-title{font-size:38px;}
    .dm-hero-subtitle{font-size:19px;}
    .dm-nav{display:none;}
    .ds-hero-title{font-size:30px;}
    .ds-sticky-label,.ds-states-label{position:static;top:auto;}
  }

  /* who we serve */
  .ds-checker-media{
    height: 30rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .ds-checker-media img, .ds-checker-media video{
    height: 100%;
    width: auto !important;
    /* box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; */
  }
  .ds-checker-media-width img{
   height: auto;
   width: 100% !important;
  }
  @media(max-width:1201px){
      .ds-checker-media img, .ds-checker-media video{
   height: auto;
   width: 100% !important;
  }
  .ds-checker-media{
    height: auto !important;
  }
  }

  /* ---------- Who We Serve: personas ---------- */
  .ds-persona-block{padding:40px 0;border-top:1px solid var(--dm-border);}
  .ds-persona-icon-box{
    width:44px;height:44px;border-radius:10px;
    background:var(--dm-bg-muted);
    color:var(--dm-navy);flex-shrink:0;
  }
  .ds-persona-icon-box svg{width:30px;height:30px;}
  .ds-persona-title{font-family:"Lora", serif;font-weight:500;font-size:24px;color:var(--dm-navy);}
  .ds-persona-list{gap:15px;}
  .ds-persona-item{font-size:15.5px;line-height:1.6;color:var(--dm-text-primary);}
  .ds-persona-dash{width:10px;height:1.6px;background:var(--dm-accent);flex-shrink:0;transform:translateY(-4px);}

  /* ---------- Checkerboard feature blocks ---------- */
  .ds-feature-icon-box{
    width:38px;height:38px;border-radius:8px;
    border:1px solid var(--dm-border);background:#fff;
    color:var(--dm-accent);flex-shrink:0;
  }
  .ds-feature-icon-box svg{width:18px;height:18px;}
  .ds-feature-dash-sm{width:24px;height:2px;background:var(--dm-accent);margin:14px 0;}
  .ds-checker-desc-narrow{max-width:420px;}
  .ds-checker-accent-bar{
    position:absolute;left:0;right:0;bottom:0;
    height:3px;background:var(--dm-accent);z-index:3;
  }

  /* ---------- Outcome bento grid ---------- */
  .ds-outcome{background:var(--dm-bg-warm);}
  .ds-outcome-title{
    font-family:"Lora", serif;
    font-weight:400;
    font-size:32px;
    line-height:1.3;
    color:var(--dm-navy);
    max-width:760px;
  }
  .ds-outcome-row{display:grid;gap:14px;}
  /* .ds-outcome-card{
    border:1px solid var(--dm-border);
    border-radius:10px;
    padding:26px;
    background:#fff;
    min-height:170px;
  }
  .ds-outcome-card.dark{background:var(--dm-navy);border-color:var(--dm-navy);color:#fff;} */

.ds-outcome-row{
  display:grid;
  gap:14px;
  align-items:stretch;   /* NEW — force both grid cells in the row to match height */
}
.ds-outcome-card{
  border:1px solid var(--dm-border);
  border-radius:10px;
  padding:26px;
  background:#fff;
  min-height:280px;
  height:100%;   /* NEW — actually fill the stretched grid cell, not just its own content */
  box-sizing:border-box;
}
.ds-outcome-card.dark{background:var(--dm-navy);border-color:var(--dm-navy);color:#fff;}

  .ds-outcome-num{
    font-family:var(--dm-font-nav);
    font-size:12px;
    font-weight:700;
    color:var(--dm-accent);
  }
  .ds-outcome-card.dark .ds-outcome-num{color:#7fd4ef;}
  .ds-outcome-dash{width:20px;height:2px;background:var(--dm-accent);margin:14px 0 10px;}
  .ds-outcome-copy{
    font-family:"Lora", serif;
    font-weight:400;
    font-size:17px;
    margin:0;
    color:var(--dm-navy);
  }
  .ds-outcome-card.dark .ds-outcome-copy{color:#fff;}
/* ---------- Flip cards (04–08) ---------- */
.ds-flip-card{
  perspective:1200px;
  min-height:26rem;
  height:100%; 
}
.ds-flip-inner{
  position:relative;
  width:100%;
  height:100%;
  min-height:280px;
  transition:transform .6s cubic-bezier(.4,.2,.2,1);
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
  -moz-transform-style:preserve-3d;
  will-change:transform;
}
.ds-flip-card:hover .ds-flip-inner{transform:rotateY(180deg);}
.ds-flip-front,.ds-flip-back{
  position:absolute;inset:0;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  -moz-backface-visibility:hidden;
  transform:translateZ(0);
  border-radius:10px;
  border:1px solid var(--dm-border);
  overflow:hidden;
  box-sizing:border-box;
}
.ds-flip-front{background:linear-gradient(transparent,rgba(232, 232, 232, 0.459));padding:26px;position:relative;}
.ds-flip-card.dark .ds-flip-front{background:var(--dm-navy);border-color:var(--dm-navy);color:#fff;}
.ds-flip-back{transform:rotateY(180deg) translateZ(0);}
.ds-flip-back img{position:absolute;inset:0;width:100%;object-fit:cover;z-index:1;padding: 1.6rem;}
.ds-flip-back::after{content:"";position:absolute;inset:0;z-index:2;}
.ds-flip-back-label{
  position:absolute;left:20px;bottom:16px;z-index:3;
  color:#fff;font-family:"Lora", serif;font-size:15px;font-weight:500;
  display:none;
}

/* NEW: faded background image on the front face, matching the back-face image at 50% */
.ds-flip-front-bg{
  position:absolute;inset:0;
  width:100%;
  object-fit:cover;
  opacity:0.3;
  z-index:0;
}
.ds-flip-front > .ds-outcome-num,
.ds-flip-front > .ds-outcome-copy{
  position:relative;
  z-index:1;
}

@media(max-width:900px){
  .ds-flip-inner{transition:none;}
  .ds-flip-card:hover .ds-flip-inner{transform:none;}
  .ds-outcome-row{grid-template-columns:1fr !important;}
}

  /* policy pages */
    .sc-hero-desc{
    font-size:16px;
    line-height:1.75;
    color:var(--dm-text-primary);
    max-width:760px;
  }

  /* Equal-height left/right rows via CSS Grid */
  .sc-grid{ display:block; }
  @media(min-width:768px){
    .sc-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
    }
  }

  .sc-grid .sc-item{
    position:relative;
    padding-top:1.5rem;
    padding-bottom:1.5rem;
  }

  /* Gradient divider line (replaces solid border-top) */
  .sc-grid .sc-item::before{
    content:"";
    position:absolute;
    top:2px;
    left:0;
    right:0;
    height:0.7px;
    background:linear-gradient(
      90deg, transparent, var(--dm-accent) 50%, var(--dm-accent) 50%, transparent);
  }
  .sc-grid .sc-item.sc-first::before{
    content:none;
  }

  @media(min-width:768px){
    .sc-grid .sc-left{ padding-right:3rem; }
    .sc-grid .sc-right{
      padding-left:3rem;
      border-left:2px solid var(--dm-border);
    }
  }

  .sc-item-icon{
    width:20px;height:20px;
    color:var(--dm-accent);
    flex-shrink:0;
  }
  .sc-item-icon svg{width:20px;height:20px;}
  .sc-item-title{
    font-family:"Lora", serif;
    font-weight:500;
    font-size:18px;
    color:var(--dm-navy);
  }
  .sc-item-dash{width:24px;height:2px;background:var(--dm-accent);margin:10px 0 16px;}
  .th-icon-box{
    width:40px;height:40px;border-radius:10px;
    background:var(--dm-bg-muted);
    border:1px solid var(--dm-border);
    color:var(--dm-accent);flex-shrink:0;
  }
  .th-icon-box svg{width:18px;height:18px;}
