/* DVS Expert pathway styles.
   Embedded @font-face/base64 data removed; uses the theme's Proxima Nova files. */

/* =========================================================
     FONTS (mirrors mid-career field guide)
     ========================================================= */





  /* =========================================================
     DESIGN TOKENS (mirrors mid-career field guide)
     ========================================================= */
  :root{
    --ink:#111;
    --ink-2:#444;
    --line:#333;
    --line-soft:#bbb;
    --paper:#ffffff;
    --paper-2:#f6f5f1;
    --grid:#ececec;

    /* DVS brand palette */
    --dvs-purple:#B85CB8;
    --dvs-teal:#3DBFB8;
    --dvs-amber:#E8A825;
    --dvs-navy:#1B3A6B;
    --dvs-coral:#C04A2A;
    --dvs-green:#3A7D3A;

    /* Pink-orange palette for Speaking section */
    --pink:#D17BCC;
    --orange:#F15A24;

    --gray-dk:#444;
    --gray-md:#767676;
    --gray-lt:#aaa;
    --gray-border:#d8d8d8;
    --gray-line:#e0e0e0;
    --lbl-amber:#C8960C;

    --pn:'Proxima Nova','Helvetica Neue',Arial,sans-serif;
    --mono:'Courier New','SF Mono',ui-monospace,monospace;
    --serif:Georgia,'Times New Roman',serif;
    --sans:'Proxima Nova','Helvetica Neue',Arial,sans-serif;
  }
  *{box-sizing:border-box}
  html,body{
    margin:0;padding:0;
    background:var(--paper);color:var(--ink);
    font-family:var(--sans);scroll-behavior:smooth;overflow-x:hidden
  }
  body{overflow-x:hidden}

  /* =========================================================
     STICKY PROGRESS RAIL
     ========================================================= */
  .progress-rail{
    position:fixed;left:24px;top:50%;transform:translateY(-50%);
    z-index:900;display:flex;flex-direction:column;gap:14px
  }
  .progress-dot{
    width:10px;height:10px;border:1.5px solid var(--dvs-teal);background:transparent;
    border-radius:50%;display:block;transition:background .2s,border-color .25s;
    position:relative;text-decoration:none
  }
  .progress-dot.active{background:var(--dvs-teal)}
  .progress-dot::after{
    content:attr(data-label);position:absolute;left:22px;top:-6px;
    font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
    white-space:nowrap;opacity:0;transition:opacity .2s;color:var(--dvs-teal);background:var(--paper);padding:4px 6px
  }
  .progress-dot:hover::after{opacity:1}
  /* When the speaking section is in view, the rail switches to purple */
  .progress-rail.purple-mode .progress-dot{border-color:var(--pink)}
  .progress-rail.purple-mode .progress-dot.active{background:var(--pink)}
  .progress-rail.purple-mode .progress-dot::after{color:var(--pink)}

  /* =========================================================
     COVER / HERO — text left, image right (mirrors mid-career)
     ========================================================= */
  .cover{
    min-height:100vh;position:relative;
    width:100vw;left:50%;margin-left:-50vw;
    margin-top:0;
    padding:64px max(100px,8vw);
    display:grid;grid-template-rows:auto auto;align-content:center;gap:32px;
    background:
      linear-gradient(var(--grid) 1px,transparent 1px) 0 0/40px 40px,
      linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/40px 40px,
      var(--paper);
  }
  .cover-meta{
    display:flex;justify-content:flex-end;align-items:center;
    font-family:var(--mono);font-size:13px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink-2);
    position:absolute;
    top:48px;
    right:max(100px,8vw);
  }
  /* Cover body — vertical flow containing the top row + text-bottom */
  .cover-body{min-width:0}

  /* Top row: h1 left, image right — both bottoms aligned */
  .cover-top{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:48px;
    align-items:end;
    min-width:0
  }
  .cover-title-col{min-width:0}
  .cover-title-col h1{
    font-family:var(--pn);
    font-size:clamp(44px,6.4vw,96px);
    line-height:.95;
    letter-spacing:-.01em;
    font-weight:700;
    text-transform:uppercase;
    color:var(--dvs-navy);
    margin:0;
    height:3.8em;
    min-height:3.8em;
  }
  /* Typewriter blinking cursor */
  #typed-title::after{
    content:'|';
    color:var(--dvs-navy);
    margin-left:6px;
    animation:caret 1s steps(1) infinite;
    font-weight:300
  }
  @keyframes caret{0%,49%{opacity:1}50%,100%{opacity:0}}

  /* Subhead + deck sit below the top row */
  .cover-text-bottom{max-width:520px;margin-top:24px}
  .cover-text-bottom .subhead{
    font-family:var(--pn);font-weight:600;font-size:18px;
    color:var(--dvs-teal);max-width:520px;line-height:1.4;margin:0 0 24px;
    letter-spacing:.01em;text-transform:uppercase
  }
  .cover-text-bottom .deck{
    font-family:var(--pn);font-size:15px;color:var(--ink-2);
    max-width:520px;line-height:1.7;border-top:1px solid var(--ink);
    padding-top:16px;margin:8px 0 0;font-weight:400
  }

  /* HERO FIGURE — same height as the h1, bottom-aligned to FIELD. */
  .hero-figure{
    position:relative;
    height:calc(3.8 * clamp(44px, 6.4vw, 96px));
    overflow:hidden;
    width:100%;align-self:end
  }
  .hero-img{
    position:absolute;
    bottom:16px; right:0;
    height:100%; width:auto;
    max-width:none;
  }

  /* =========================================================
     SECTION SHELL — matches mid-career (no max-width constraint)
     ========================================================= */
  .section{
    padding:0px 64px 48px;position:relative
  }
  .section:last-of-type{padding-bottom:48px}

  /* Gradient section title */
  .section-title{
    font-family:var(--pn);
    font-size:clamp(40px,5.2vw,72px);
    line-height:1.05;
    letter-spacing:-.01em;
    font-weight:700;
    text-transform:uppercase;
    text-align:left;
    margin:0 0 32px;
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
    display:inline-block;
    max-width:100%;
  }
  .section.speaking .section-title{white-space:normal}
  .section.mentorship .section-title{
    background-image:linear-gradient(90deg,var(--dvs-teal) 0%,var(--dvs-navy) 100%);
  }
  .section.speaking .section-title{
    background-image:linear-gradient(90deg,var(--pink) 0%,var(--orange) 100%);
  }

  .section-intro{
    font-family:var(--pn);font-size:16px;font-weight:400;
    color:var(--gray-dk);line-height:1.75;margin:0 0 48px;
    max-width:820px
  }

  /* =========================================================
     OPPORTUNITY CARDS (accordion)
     ========================================================= */
  .subtoggle{
    border-top:1px solid var(--gray-line);
    margin:0;padding:0
  }
  .subtoggle:last-of-type{border-bottom:1px solid var(--gray-line)}
  .subtoggle summary{
    list-style:none;cursor:pointer;
    padding:24px 0;
    display:flex;justify-content:space-between;align-items:center;gap:16px;
    user-select:none
  }
  .subtoggle summary::-webkit-details-marker{display:none}
  .subtoggle .st-label{
    font-family:var(--pn);font-size:18px;font-weight:700;
    letter-spacing:.05em;line-height:1.3;color:var(--gray-md);
    text-transform:uppercase;
    flex:1
  }
  .subtoggle .st-caret{
    font-family:var(--pn);font-size:20px;color:var(--gray-md);
    transition:transform .25s ease;flex-shrink:0
  }
  .subtoggle[open] .st-caret{transform:rotate(180deg)}
  .subtoggle .st-body{
    padding:8px 0 40px;
    font-family:var(--pn);font-size:16px;line-height:1.7;
    color:var(--gray-dk);
    max-width:820px
  }
  .st-body p{margin:0 0 18px}
  .st-body p.what-it-means{
    font-size:16px;color:var(--gray-dk);line-height:1.7;
    padding-left:0;margin-top:4px;margin-bottom:32px
  }
  .st-body p.what-it-means strong{
    font-family:var(--pn);font-weight:700;color:var(--ink);
    display:block;margin-bottom:6px;
    font-size:14px;letter-spacing:.1em;text-transform:uppercase
  }
  .section.mentorship .st-body p.what-it-means strong{color:var(--dvs-teal)}
  .section.speaking   .st-body p.what-it-means strong{color:var(--pink)}

  .st-body .eligibility{
    font-size:16px;font-weight:400;color:var(--gray-md);line-height:1.7;
    margin:12px 0 32px;font-style:italic
  }

  /* Benefits / Criteria columns */
  .bc-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:32px;
    margin:0 0 32px
  }
  .bc-block h4{
    font-family:var(--pn);font-size:13px;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;
    color:var(--ink);margin:0 0 14px;
    padding-bottom:8px;border-bottom:2px solid var(--ink)
  }
  .section.mentorship .bc-block.benefits h4{color:var(--dvs-teal);border-bottom-color:var(--dvs-teal)}
  .section.mentorship .bc-block.criteria h4{color:var(--dvs-navy);border-bottom-color:var(--dvs-navy)}
  .section.speaking   .bc-block.benefits h4{color:var(--pink);border-bottom-color:var(--pink)}
  .section.speaking   .bc-block.criteria h4{color:var(--orange);border-bottom-color:var(--orange)}

  .bc-block ul{
    list-style:none;padding:0;margin:0
  }
  .bc-block li{
    font-family:var(--pn);font-size:15px;line-height:1.6;
    color:var(--gray-dk);padding:10px 0 10px 24px;
    position:relative;border-bottom:1px solid var(--gray-line)
  }
  .bc-block li:last-child{border-bottom:none}
  .bc-block li::before{
    content:'';position:absolute;left:0;top:18px;
    width:12px;height:2px;background:var(--gray-md)
  }
  .section.mentorship .bc-block.benefits li::before{background:var(--dvs-teal)}
  .section.mentorship .bc-block.criteria li::before{background:var(--dvs-navy)}
  .section.speaking   .bc-block.benefits li::before{background:var(--pink)}
  .section.speaking   .bc-block.criteria li::before{background:var(--orange)}

  /* Primary CTA button */
  .cta-button{
    display:inline-flex;align-items:center;gap:10px;
    font-family:var(--pn);font-size:16px;font-weight:700;
    letter-spacing:.08em;text-transform:uppercase;
    padding:14px 26px;border-radius:2px;
    text-decoration:none;margin-top:0;
    transition:transform .15s,box-shadow .15s;
    background:var(--dvs-teal);color:#fff;
    border:2px solid var(--dvs-teal)
  }
  .cta-button .arrow{font-size:18px;line-height:1}
  .section.mentorship .cta-button:hover{
    transform:translate(-2px,-2px);
    box-shadow:4px 4px 0 var(--dvs-navy)
  }
  .section.speaking .cta-button{
    background:var(--pink);border-color:var(--pink)
  }
  .section.speaking .cta-button:hover{
    transform:translate(-2px,-2px);
    box-shadow:4px 4px 0 var(--orange)
  }

  /* =========================================================
     MOBILE
     ========================================================= */
  @media (max-width:780px){
    .cover{padding:32px 24px;margin-top:0}
    .cover-top{grid-template-columns:1fr;gap:24px;align-items:start}
    .cover-title-col h1{height:auto;min-height:0}
    .hero-figure{height:280px !important}
    .cover-text-bottom{margin-top:16px}
    .section{padding:64px 24px 48px}
    .progress-rail{display:none}
    .bc-grid{grid-template-columns:1fr;gap:20px}
    .section-title{font-size:clamp(32px,8vw,52px)}
    .subtoggle summary{flex-wrap:wrap}
  }

  /* =========================================================
     WordPress isolation — prevents theme styles bleeding in
     ========================================================= */
  #dvs-senior-root{
    all:initial;display:block;font-family:var(--sans);
    background:#ffffff !important;color:var(--ink);
    width:100%;box-sizing:border-box
  }
  #dvs-senior-root *{box-sizing:border-box}
  #dvs-senior-root a[target="_blank"]::after,
  #dvs-senior-root a::after,
  #dvs-senior-root a::before{
    display:none !important;content:none !important;
    background:none !important;width:0 !important;height:0 !important
  }

/* Hide the default WordPress/theme header on pathway pages */
body.page-id-7377 .section-title {
  display: none !important;
}

/* =========================================================
   EXPERT HERO — Gutenberg-safe layout
   ========================================================= */

#dvs-senior-root .cover {
  position: relative;
}

/* Edition label at the upper right */
#dvs-senior-root .cover-meta {
  display: block !important;
  position: absolute !important;
  top: 48px !important;
  right: max(100px, 8vw) !important;
  width: auto !important;
  z-index: 2;
}

#dvs-senior-root .cover-meta > .wp-block-group__inner-container {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

#dvs-senior-root .cover-meta span {
  font-family: var(--mono);
  font-size: 13px !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-2);
  white-space: nowrap;
}

/* Cover-body remains the vertical wrapper around the top row
   and the copy below it. */
#dvs-senior-root .cover-body > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Do not make both the outer Group and its inner wrapper grids */
#dvs-senior-root .cover-top:has(> .wp-block-group__inner-container) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

/* Headline left, image right */
#dvs-senior-root .cover-top > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) !important;
  grid-template-areas: "title image" !important;
  column-gap: 48px !important;
  row-gap: 0 !important;
  align-items: end !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Fallback without Gutenberg wrapper */
#dvs-senior-root .cover-top:not(:has(> .wp-block-group__inner-container)) {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) !important;
  grid-template-areas: "title image" !important;
  column-gap: 48px !important;
  align-items: end !important;
}

#dvs-senior-root .cover-title-col {
  grid-area: title !important;
  min-width: 0;
}

#dvs-senior-root .hero-figure {
  grid-area: image !important;
  min-width: 0;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  align-self: end !important;
  overflow: hidden;
}

/* Gutenberg places hero-img on the figure */
#dvs-senior-root figure.hero-img {
  position: relative !important;
  width: 100% !important;
  height: calc(3.8 * clamp(44px, 6.4vw, 96px)) !important;
  margin: 0 !important;
  overflow: hidden;
}

#dvs-senior-root figure.hero-img img {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: right bottom !important;
}

/* Copy remains below the headline, aligned to the left column */
#dvs-senior-root .cover-text-bottom {
  width: calc((100% - 48px) * 0.5238) !important;
  max-width: 520px !important;
  margin-top: 24px !important;
}

/* Tablet/mobile */
@media (max-width: 900px) {
  #dvs-senior-root .cover {
    padding: 64px 3.5rem 40px !important;
  }

  #dvs-senior-root .cover-meta {
    right: 3.5rem !important;
  }

  #dvs-senior-root .cover-top > .wp-block-group__inner-container,
  #dvs-senior-root .cover-top:not(:has(> .wp-block-group__inner-container)) {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "image" !important;
    row-gap: 32px !important;
    align-items: start !important;
  }

  #dvs-senior-root .cover-title-col h1 {
    height: auto !important;
    min-height: 0 !important;
  }

  #dvs-senior-root figure.hero-img {
    height: 300px !important;
    max-width: 600px !important;
  }

  #dvs-senior-root figure.hero-img img {
    object-position: left bottom !important;
  }

  #dvs-senior-root .cover-text-bottom {
    width: 100% !important;
    max-width: 520px !important;
    margin-top: 24px !important;
  }
}

@media (max-width: 600px) {
  #dvs-senior-root .cover {
    padding: 56px 1.5rem 32px !important;
  }

  #dvs-senior-root .cover-meta {
    top: 28px !important;
    right: 1.5rem !important;
  }

  #dvs-senior-root figure.hero-img {
    height: 240px !important;
  }
}

/* =========================================================
   EXPERT PAGE — BENEFITS + CRITERIA GRID
   Gutenberg-safe two-column layout
   ========================================================= */

/*
 * Gutenberg may add:
 *
 * .bc-grid
 *   └── .wp-block-group__inner-container
 *         ├── .bc-block.benefits
 *         └── .bc-block.criteria
 *
 * Keep the outer Group full width and apply the grid to
 * whichever element directly contains the two bc-blocks.
 */
#dvs-senior-root .bc-grid:has(> .wp-block-group__inner-container) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

#dvs-senior-root .bc-grid > .wp-block-group__inner-container,
#dvs-senior-root .bc-grid:not(:has(> .wp-block-group__inner-container)) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 34px !important;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Remove constrained-layout widths from each column. */
#dvs-senior-root .bc-grid .bc-block {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Gutenberg may also insert wrappers inside each column. */
#dvs-senior-root .bc-grid .bc-block > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Column headings */
#dvs-senior-root .bc-block h4,
#dvs-senior-root .bc-block .wp-block-heading {
  margin: 0 0 0.65rem !important;
  padding: 0 0 0.55rem !important;

  font-family: var(--pn) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* Benefits heading */
#dvs-senior-root .section.mentorship .bc-block.benefits h4,
#dvs-senior-root .section.mentorship .bc-block.benefits .wp-block-heading {
  color: var(--dvs-teal) !important;
  border-bottom: 2px solid var(--dvs-teal) !important;
}

/* Criteria heading */
#dvs-senior-root .section.mentorship .bc-block.criteria h4,
#dvs-senior-root .section.mentorship .bc-block.criteria .wp-block-heading {
  color: var(--dvs-navy) !important;
  border-bottom: 2px solid var(--dvs-navy) !important;
}

/* Reset WordPress list styling. */
#dvs-senior-root .bc-block ul,
#dvs-senior-root .bc-block .wp-block-list {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* List rows */
#dvs-senior-root .bc-block li {
  position: relative !important;
  margin: 0 !important;
  padding: 10px 0 10px 24px !important;

  color: var(--gray-dk) !important;
  font-family: var(--pn) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;

  border-bottom: 1px solid var(--gray-line) !important;
}

#dvs-senior-root .bc-block li:last-child {
  border-bottom: 0 !important;
}

/* Small horizontal markers */
#dvs-senior-root .bc-block li::before {
  position: absolute !important;
  top: 20px !important;
  left: 0 !important;

  display: block !important;
  width: 12px !important;
  height: 2px !important;

  content: "" !important;
  background: var(--gray-md) !important;
}

/* Mentor Benefits marker */
#dvs-senior-root
  .section.mentorship
  .bc-block.benefits
  li::before {
  background: var(--dvs-teal) !important;
}

/* Mentor Criteria marker */
#dvs-senior-root
  .section.mentorship
  .bc-block.criteria
  li::before {
  background: var(--dvs-navy) !important;
}

/* The CTA should sit below both columns, not inside one column. */
#dvs-senior-root .bc-grid + .cta-button,
#dvs-senior-root .bc-grid + p.cta-button {
  margin-top: 28px !important;
}

/* Gutenberg converted the link into a Paragraph containing an anchor. */
#dvs-senior-root p.cta-button {
  display: block !important;
  width: fit-content !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#dvs-senior-root p.cta-button > a.cta-button {
  display: inline-flex !important;
}

/* Tablet and mobile */
@media (max-width: 780px) {
  #dvs-senior-root .bc-grid > .wp-block-group__inner-container,
  #dvs-senior-root .bc-grid:not(:has(> .wp-block-group__inner-container)) {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* =========================================================
   EXPERT IN DATA VIZ — FULL-VIEWPORT HERO FIX
   Append after every existing rule in dvs-expert.css
   ========================================================= */

/*
 * The Expert hero intentionally extends beyond the theme's
 * centered .container. Every WordPress wrapper around it must
 * allow that overflow to remain visible.
 */
body.page-id-7377 #site-content,
body.page-id-7377 .site-content,
body.page-id-7377 #site-content > .section,
body.page-id-7377 #site-content > .section > .container,
body.page-id-7377 #site-content article,
body.page-id-7377 #site-content article#page-7377,
body.page-id-7377 #site-content article#page-7377.flow,
body.page-id-7377 .entry-content,
body.page-id-7377 .post-content,
body.page-id-7377 #dvs-senior-root {
  overflow: visible !important;
}

/*
 * Suppress the horizontal scrollbar created by the full-width
 * hero without clipping it inside the WordPress container.
 */
body.page-id-7377 {
  overflow-x: hidden !important;
  overflow-x: clip !important;
}

/*
 * Replace the original left:50% / margin-left:-50vw breakout
 * with a calc-based breakout that works from within a centered
 * WordPress container.
 */
body.page-id-7377 #dvs-senior-root .cover {
  position: relative !important;

  left: auto !important;
  right: auto !important;
  transform: none !important;

  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 64px;
  box-sizing: border-box !important;
}

/*
 * Gutenberg places all cover blocks inside this wrapper.
 * Do not let the theme constrain its width.
 */
body.page-id-7377
#dvs-senior-root
.cover > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

/*
 * Keep the cover body and its Gutenberg wrapper inside the
 * available viewport width.
 */
body.page-id-7377 #dvs-senior-root .cover-body,
body.page-id-7377
#dvs-senior-root
.cover-body > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* =========================================================
   DESKTOP HERO GRID
   ========================================================= */

@media (min-width: 901px) {

  /*
   * Restore the intended headline-left / image-right layout.
   * minmax(0, ...) prevents either column from forcing the
   * full grid beyond the viewport.
   */
  body.page-id-7377
  #dvs-senior-root
  .cover-top > .wp-block-group__inner-container {
    display: grid !important;

    grid-template-columns:
      minmax(0, 1.1fr)
      minmax(0, 1fr) !important;

    grid-template-areas: "title image" !important;

    column-gap: 48px !important;
    row-gap: 0 !important;
    align-items: end !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* Fallback when Gutenberg does not insert an inner wrapper. */
  body.page-id-7377
  #dvs-senior-root
  .cover-top:not(:has(> .wp-block-group__inner-container)) {
    display: grid !important;

    grid-template-columns:
      minmax(0, 1.1fr)
      minmax(0, 1fr) !important;

    grid-template-areas: "title image" !important;

    column-gap: 48px !important;
    row-gap: 0 !important;
    align-items: end !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /*
   * Prevent Gutenberg Groups from developing intrinsic widths
   * larger than their assigned grid columns.
   */
  body.page-id-7377 #dvs-senior-root .cover-title-col,
  body.page-id-7377
  #dvs-senior-root
  .cover-title-col > .wp-block-group__inner-container,
  body.page-id-7377 #dvs-senior-root .hero-figure,
  body.page-id-7377
  #dvs-senior-root
  .hero-figure > .wp-block-group__inner-container {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Keep the large title inside the left grid column. */
  body.page-id-7377
  #dvs-senior-root
  .cover-title-col h1 {
    position: relative !important;

    left: auto !important;
    right: auto !important;
    transform: none !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    text-align: left !important;
    text-indent: 0 !important;
    overflow: visible !important;
  }

  /*
   * Keep the illustration from widening or shifting the overall
   * hero grid.
   */
  body.page-id-7377 #dvs-senior-root .hero-figure {
    grid-area: image !important;
    align-self: end !important;
    overflow: hidden !important;
  }

  body.page-id-7377 #dvs-senior-root figure.hero-img {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
  }

  body.page-id-7377
  #dvs-senior-root
  figure.hero-img img {
    right: 0 !important;
    bottom: 0 !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;

    object-fit: contain !important;
    object-position: right bottom !important;
  }

  /*
   * Keep the subhead and deck aligned with the width of the
   * headline column.
   */
  body.page-id-7377
  #dvs-senior-root
  .cover-text-bottom {
    width: calc((100% - 48px) * 0.5238) !important;
    max-width: 520px !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* =========================================================
   TABLET AND MOBILE
   Preserve the existing stacked layout.
   ========================================================= */

@media (max-width: 900px) {

  body.page-id-7377
  #dvs-senior-root
  .cover-top > .wp-block-group__inner-container,
  body.page-id-7377
  #dvs-senior-root
  .cover-top:not(:has(> .wp-block-group__inner-container)) {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "image" !important;

    column-gap: 0 !important;
    row-gap: 32px !important;
    align-items: start !important;
  }

  body.page-id-7377
  #dvs-senior-root
  .cover-text-bottom {
    width: 100% !important;
    max-width: 520px !important;
  }
}