:root{
  --dg-shell-wine:#a31b2a;
  --dg-shell-cream:#eee6cf;
  --dg-shell-gray:#585857;
  --dg-shell-line:#d9d2c1;
  --dg-mobile-nav-height:68px;
}

/* Shared DARTGuardian brand treatment */
.dg-brand-slot{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  color:var(--dg-shell-gray);
  text-align:center;
}
.dg-brand-slot .dg-brand-logo{
  display:block;
  width:160px;
  height:140px;
  max-width:100%;
  object-fit:cover;
  object-position:center top;
}
.dg-brand-slot .dg-brand-tagline{
  display:block;
  color:#737373;
  font-size:12px;
  font-weight:600;
  letter-spacing:0;
}
header .dg-brand-slot{
  flex:0 0 auto;
  min-width:116px;
  padding:2px 5px;
  border-radius:10px;
  background:#fff;
}
header .dg-brand-slot .dg-brand-logo{
  width:116px;
  height:102px;
}
.dg-standalone-brand{
  display:flex;
  align-items:center;
  min-height:132px;
  padding:8px 24px;
  border-bottom:1px solid var(--dg-shell-line);
  background:#fff;
}
.dg-standalone-brand .dg-brand-logo{
  width:140px;
  height:122px;
  object-fit:cover;
  object-position:center top;
}
.dg-mobile-header{display:none;}
img{max-width:100%;}

/* Small presenter menu shared by every static prototype page */
.dg-prototype-pages{
  position:fixed;
  z-index:2000;
  top:8px;
  right:10px;
  color:var(--dg-shell-gray);
  font:700 12px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.dg-prototype-pages summary{
  display:block;
  padding:7px 10px;
  border:1px solid var(--dg-shell-line);
  border-radius:999px;
  background:#fff;
  box-shadow:0 3px 12px rgba(45,39,31,.12);
  color:var(--dg-shell-wine);
  cursor:pointer;
  list-style:none;
}
.dg-prototype-pages summary::-webkit-details-marker{display:none;}
.dg-prototype-pages summary:after{content:" ▾";}
.dg-prototype-pages[open] summary:after{content:" ▴";}
.dg-prototype-pages nav{
  display:grid;
  width:230px;
  max-height:calc(100vh - 58px);
  margin-top:6px;
  padding:7px;
  overflow-y:auto;
  border:1px solid var(--dg-shell-line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 30px rgba(45,39,31,.18);
}
.dg-prototype-pages a{
  padding:8px 9px;
  border-radius:8px;
  color:#5d5d5a;
  text-decoration:none;
}
.dg-prototype-pages a:hover,.dg-prototype-pages a:focus-visible{background:#f7f3e8;color:var(--dg-shell-wine);}
.dg-prototype-pages a.active{background:#fff0f1;color:var(--dg-shell-wine);font-weight:900;}

/* Shared desktop information architecture */
.dg-shared-side{
  position:fixed;
  z-index:80;
  top:0;
  bottom:0;
  left:0;
  width:275px;
  padding:27px 18px;
  overflow-y:auto;
  border-right:1px solid var(--dg-shell-line);
  background:#fff;
}
.side:has(.dg-standard-nav),aside:has(.dg-standard-nav),.dg-shared-side{overflow-y:auto;}
.dg-sidebar-context{
  margin:22px 10px 18px;
  padding:12px 13px;
  border-radius:12px;
  background:#f7efe1;
  color:#727174;
  font-size:12px;
  line-height:1.4;
}
.dg-sidebar-context strong{display:block;color:var(--dg-shell-wine);font-size:14px;}
.dg-standard-nav{display:grid;gap:3px;margin-top:8px;padding-bottom:18px;}
.dg-standard-nav a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:10px 12px;
  border-radius:10px;
  color:#555;
  font:750 14px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  text-decoration:none;
}
.dg-standard-nav a:hover,.dg-standard-nav a:focus-visible{background:#f7f3e8;color:var(--dg-shell-wine);}
.dg-standard-nav a.active{
  background:var(--dg-shell-wine);
  color:#fff;
}
.dg-nav-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.58;}
.dg-nav-group{display:grid;gap:1px;}
.dg-nav-group.active-parent>.dg-nav-parent{color:var(--dg-shell-wine);font-weight:900;}
.dg-nav-children{display:grid;gap:1px;margin:-2px 0 4px;padding-left:28px;}
.dg-nav-children a{min-height:34px;padding:7px 9px;font-size:12.5px;font-weight:600;}
.dg-nav-children a.active{background:#fff0f1;color:var(--dg-shell-wine);font-weight:850;}
.dg-nav-section-label{margin:13px 12px 4px;color:#777;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;}

@media(min-width:951px){
  body.dg-has-injected-side{padding-left:275px;}
  body.dg-has-injected-side>.dg-mobile-header{display:none!important;}
  body.dg-has-injected-side header{border-bottom:1px solid var(--dg-shell-line);background:#fff!important;color:var(--dg-shell-gray)!important;}
  body.dg-has-injected-side header .dg-brand-slot{display:none!important;}
}

/* Shared phone footer, modeled on the Practice & Backup Plan prototype */
.dg-mobilebar{display:none!important;}

@media(max-width:950px){
  html{scroll-padding-bottom:calc(var(--dg-mobile-nav-height) + 18px);}
  body{padding-bottom:calc(var(--dg-mobile-nav-height) + env(safe-area-inset-bottom,0px));}
  .dg-shared-side{display:none;}
  .dg-prototype-pages{top:7px;right:8px;}
  .dg-prototype-pages nav{width:min(230px,calc(100vw - 20px));}
  .dg-mobile-header{
    position:sticky;
    z-index:45;
    top:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-height:92px;
    padding:4px 14px;
    border-bottom:1px solid var(--dg-shell-line);
    background:#fff;
  }
  .dg-mobile-header .dg-brand-logo{
    display:block;
    width:98px;
    height:86px;
    object-fit:cover;
    object-position:center top;
  }
  .dg-mobilebar{
    position:fixed!important;
    z-index:1000!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    min-height:var(--dg-mobile-nav-height);
    padding:7px 4px max(7px,env(safe-area-inset-bottom,0px))!important;
    border-top:1px solid var(--dg-shell-line)!important;
    background:#fff!important;
    box-shadow:0 -5px 20px rgba(60,48,32,.10);
  }
  .dg-mobilebar a,.dg-mobilebar button{
    display:grid!important;
    place-items:center;
    min-width:0;
    min-height:48px;
    margin:0!important;
    padding:6px 4px!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#666!important;
    font:800 11px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
    text-align:center!important;
    text-decoration:none!important;
    white-space:normal;
  }
  .dg-mobilebar a.active,.dg-mobilebar button.active{
    background:#fff5e0!important;
    color:var(--dg-shell-wine)!important;
  }
  .actions{
    bottom:calc(var(--dg-mobile-nav-height) + env(safe-area-inset-bottom,0px))!important;
  }
  main,.main,.proto-main{
    min-width:0;
    padding-bottom:calc(var(--dg-mobile-nav-height) + 88px)!important;
  }
  .matrix-wrap,.table-wrap,[class*="table-wrap"]{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  input,select,textarea,button{max-width:100%;}
  input,select,textarea{font-size:16px!important;}
  .bubble,.beori-bubble{
    max-width:calc(100vw - 28px)!important;
  }
  .dg-standalone-brand{
    min-height:100px;
    padding:5px 14px;
  }
  .dg-standalone-brand .dg-brand-logo{
    width:112px;
    height:98px;
  }
  header .dg-brand-slot{
    min-width:94px;
  }
  header .dg-brand-slot .dg-brand-logo{
    width:94px;
    height:83px;
  }
}

@media(max-width:430px){
  .dg-mobilebar a,.dg-mobilebar button{font-size:10.5px!important;}
  .topbar{gap:10px;}
  h1{overflow-wrap:anywhere;}
}
