/* Structural defaults only. :where() keeps owner block and Global Styles stronger. */
:root {
  --dl-stripe:2px; --dl-rule-gap:3px;
  --dl-rule-size:calc(var(--dl-stripe) * 2 + var(--dl-rule-gap));
  --dl-gold:var(--wp--preset--color--gold);
  --dl-paper:var(--wp--preset--color--paper);
  --dl-navy:var(--wp--preset--color--navy);
  --dl-rule:linear-gradient(to bottom,var(--dl-gold) 0 var(--dl-stripe),var(--dl-paper) var(--dl-stripe) calc(var(--dl-stripe) + var(--dl-rule-gap)),var(--dl-gold) calc(var(--dl-stripe) + var(--dl-rule-gap)) var(--dl-rule-size));
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:130px; }
:where(body) { margin:0; -webkit-font-smoothing:antialiased; }
:where(img) { max-width:100%; height:auto; }
:where(a) { text-underline-offset:.25em; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
:where(.wp-site-blocks) { padding:0; }
:where(.wp-site-blocks > *) { margin-block-start:0; }
:where(.dl-shell) { width:min(var(--wp--style--global--wide-size,1320px),calc(100% - 96px)); margin-inline:auto; }
:where(.dl-section) { padding-block:var(--wp--preset--spacing--60); }
:where(.dl-navigation) { background:var(--dl-paper); padding:0; position:relative; z-index:50; }
.dl-navigation.has-background,.dl-hero.has-background { padding:0; }
.dl-utility.has-background { padding:5px 0; }
.dl-title-area.has-background { padding:44px 0; }
.dl-footer.has-background { padding:clamp(40px,5vw,64px) 0 24px; }
.dl-brand:has(.custom-logo) .wp-block-site-title { display:none; }
:where(.dl-sticky-enabled .dl-navigation) { position:sticky; top:0; }
:where(.admin-bar.dl-sticky-enabled .dl-navigation) { top:32px; }
:where(.wp-site-blocks > header:has(.dl-navigation)) { display:contents; }
:where(.dl-header-row) { min-height:104px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
:where(.dl-brand) { flex-shrink:0; padding-right:20px; margin-right:auto; }
:where(.dl-brand .custom-logo) { object-fit:contain; }
/* Keep the logo's image box centred, independent of legacy logo padding
   and inline-image baselines. The Site Logo block still owns its width. */
.dl-brand :where(.wp-block-site-logo,.custom-logo-link) { display:block; margin:0; padding:0; line-height:0; }
.dl-brand .custom-logo { display:block; margin:0; padding:0; height:auto; }
:where(.dl-header-row .wp-block-navigation) { font-size:.875rem; gap:24px; }
:where(.dl-header-row .wp-block-navigation-item__content) { padding-block:12px; }
:where(.dl-header-row .wp-block-navigation__submenu-container) { padding:12px 20px; background:var(--dl-paper); border:1px solid var(--wp--preset--color--line); }
:where(.dl-header-row .wp-block-navigation-item__content[aria-current="page"]) { text-decoration:underline; text-decoration-color:var(--dl-gold); }
:where(.dl-utility) { padding-block:7px; }
:where(.dl-utility-row) { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; }
:where(.dl-utility-links) { display:flex; flex-wrap:wrap; gap:24px; }
:where(.dl-utility p,.dl-utility .wp-block-site-title) { margin:0; font-size:.75rem; }
.dl-utility :where(p,.wp-block-site-title) { margin:0; font-size:.75rem; line-height:24px; }
:where(.dl-title-area) { padding-block:44px; }
:where(.dl-title-area h1) { margin:0; max-width:1000px; }
:where(.dl-title-area .wp-block-site-title) { font-size:.75rem; text-transform:uppercase; letter-spacing:.15em; margin-bottom:24px; }
:where(.dl-page-rule,.is-style-dl-double) { border:0; display:block; height:var(--dl-rule-size); min-height:var(--dl-rule-size); background:var(--dl-rule); width:100%; margin:0; padding:0; }
.wp-block-separator.is-style-dl-double:not(.is-style-dots):not(.is-style-wide) { width:100%; max-width:none; height:var(--dl-rule-size); border:0; background:var(--dl-rule); margin:0; }
:where(.dl-navigation.has-sticky-divider)::after { content:""; position:absolute; left:0; right:0; bottom:calc(-1 * var(--dl-rule-size)); height:var(--dl-rule-size); background:var(--dl-rule); pointer-events:none; }
:where(.dl-content-layout) { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:56px; align-items:start; }
:where(.dl-content-layout > *) { min-width:0; }
:where(.dl-sidebar) { position:sticky; top:132px; }
:where(.dl-contact-card) { padding:30px 26px; }
:where(.dl-entry) { overflow-wrap:break-word; }
:where(.dl-entry :is(p,ul,ol)) { max-width:70ch; }
:where(.dl-entry h2) { margin-top:1.6em; }
:where(.dl-entry :is(h2,h3,h4):first-child) { margin-top:0; }
:where(.dl-entry img) { height:auto; }
:where(.dl-grid) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:28px; align-items:stretch; }
:where(.dl-card) { display:flex; flex-direction:column; min-width:0; }
:where(.dl-card-copy) { padding:24px; display:flex; flex-direction:column; flex:1; }
:where(.dl-card-copy > .wp-block-buttons:last-child) { margin-top:auto; padding-top:16px; }
:where(.dl-hero) { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); min-height:clamp(590px,calc(100svh - 175px),730px); position:relative; }
:where(.dl-hero-copy) { padding:64px 30px 38px max(48px,calc((100vw - var(--wp--style--global--wide-size,1320px))/2)); align-self:center; }
:where(.dl-hero-copy h1) { margin-top:24px; }
:where(.dl-hero-media) { position:relative; margin:0; min-width:0; }
:where(.dl-hero-media > .wp-block-image) { margin:0; position:absolute; inset:0; }
:where(.dl-hero-media img) { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
.dl-hero-media > .wp-block-image { margin:0; position:absolute; inset:0; }
.dl-hero-media .wp-block-image img { width:100%; height:100%; object-fit:cover; }
:where(.dl-hero-media)::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--dl-navy),transparent 45%); }
:where(.dl-two-col) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:start; }
.wp-block-group.dl-two-col > *,.wp-block-group.dl-grid > *,.wp-block-group.dl-footer-grid > *,.wp-block-group.dl-header-row > *,.wp-block-group.dl-utility-row > * { margin-block:0; min-width:0; }
.dl-entry :is(h2,h3,h4):first-child { margin-block-start:0; }
:where(.dl-footer-grid) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr); gap:48px; }
:where(.dl-footer) { padding-block:64px 24px; }
:where(.dl-footer p) { font-size:.875rem; }
/* Footer groups are native, owner-editable blocks. Explicit grid sizing also
   supports saved Footer parts created before these optional role classes. */
.wp-block-group.dl-footer-grid { display:grid; align-items:start; column-gap:clamp(32px,5vw,72px); row-gap:36px; }
.dl-footer :where(p,.wp-block-navigation) { font-size:.9375rem; line-height:1.65; }
.dl-footer :where(p,h2,h3,h4,.wp-block-site-logo,.wp-block-template-part) { margin-block:0; }
.dl-footer :where(h2,h3,h4) { font-size:1.5rem; line-height:1.3; margin-bottom:16px; }
.dl-footer :where(a) { overflow-wrap:anywhere; }
.dl-footer :where(a:hover) { text-decoration:underline; text-decoration-color:var(--dl-gold); text-underline-offset:5px; }
.dl-footer :where(.wp-block-site-logo a,.custom-logo) { display:block; }
.dl-footer :where(.custom-logo) { height:auto; }
.dl-footer :where(.dl-footer-brand > * + *) { margin-top:20px; }
.dl-footer .wp-block-social-links { gap:12px; margin-block:20px 0; }
.dl-footer .wp-block-social-links .wp-block-social-link a { padding:0; min-width:24px; min-height:24px; display:flex; justify-content:center; align-items:center; }
.dl-footer .dl-footer-contact > * + * { margin-top:14px; }
.dl-footer :where(.dl-footer-contact .wp-block-template-part > * + *) { margin-top:8px; }
.wp-block-group.dl-footer-contact-row,
.dl-footer .dl-footer-fax { display:grid; grid-template-columns:3.5rem minmax(0,1fr); align-items:baseline; column-gap:12px; row-gap:4px; }
.dl-footer .dl-footer-contact-row > * { min-width:0; margin-block:0; }
.dl-footer-contact-row :where(.dl-footer-label),
.dl-footer .dl-footer-fax .dl-footer-label { font-size:.8125rem; color:var(--wp--preset--color--ink); }
.dl-footer .dl-footer-contact .dl-footer-fax { margin-top:14px; }
.dl-footer .wp-block-navigation :where(.wp-block-navigation__container) { gap:0; align-items:stretch; width:100%; }
.dl-footer .wp-block-navigation { font-size:.9375rem; }
.dl-footer .dl-footer-links > .wp-block-navigation { margin-top:6px; }
.dl-footer .wp-block-navigation :where(.wp-block-navigation-item) { width:100%; }
.dl-footer .wp-block-navigation :where(.wp-block-navigation-item__content) { display:block; padding-block:10px; line-height:1.6; }
.dl-footer .dl-footer-bottom { border-top:1px solid var(--wp--preset--color--line); padding-top:20px; margin-top:40px; }
.wp-block-group.dl-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:12px 32px; }
.dl-footer .dl-footer-bottom > * { margin-block:0; min-width:0; }
.dl-footer-bottom :where(p,a) { font-size:.8125rem; line-height:1.7; }
:where(.dl-post-grid) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:36px; }
:where(.dl-post-grid .wp-block-post-featured-image) { aspect-ratio:3/2; }
:where(.dl-post-grid .wp-block-post-featured-image img) { width:100%; height:100%; object-fit:cover; }
.wp-block-post-template.dl-post-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dl-post-grid > li { margin-block:0; min-width:0; }
.dl-post-grid .dl-card { height:100%; }
.dl-post-grid .wp-block-post-title { font-size:clamp(24px,2.1vw,32px); line-height:1.2; margin-block:0 20px; }
.dl-post-grid .wp-block-post-featured-image { margin:0; }
.dl-post-grid .wp-block-read-more { margin-top:auto; padding-top:20px; }
.dl-post-grid .wp-block-post-excerpt { margin:0; }
.dl-post-grid .wp-block-post-excerpt p { margin:0; }
.dl-post-grid .wp-block-post-date:empty { display:none; }
.dl-post-grid .wp-block-post-date { font-size:.75rem; letter-spacing:.04em; margin-bottom:16px; }
.dl-shell.dl-article-shell { max-width:860px; }
.dl-article-shell > .wp-block-post-date { font-size:.875rem; margin-bottom:24px; }
.dl-article-shell > .wp-block-post-featured-image { margin:0 0 36px; }
.dl-article-shell > .wp-block-post-featured-image img { display:block; width:100%; max-height:520px; object-fit:cover; }
.wp-block-group.dl-two-col { gap:clamp(28px,4vw,64px); }
.dl-entry :is(h2,h3,h4) strong { font-weight:inherit; }
:where(.is-style-dl-card) { border:1px solid var(--wp--preset--color--line); }
:where(.is-style-dl-portrait img) { width:100%; aspect-ratio:3/4; object-fit:cover; }
:where(.is-style-dl-landscape img) { width:100%; aspect-ratio:4/3; object-fit:cover; }
:where(.is-style-dl-ruled-photo img) { display:block; width:100%; }
:where(.is-style-dl-ruled-photo)::after { content:""; display:block; height:var(--dl-rule-size); background:var(--dl-rule); }
.is-style-dl-rule-top,.is-style-dl-rule-bottom { position:relative; background-clip:padding-box; }
.is-style-dl-rule-top { border-top:var(--dl-rule-size) solid transparent; }
.is-style-dl-rule-bottom { border-bottom:var(--dl-rule-size) solid transparent; }
.is-style-dl-rule-top::before,.is-style-dl-rule-bottom::after { content:""; position:absolute; left:0; right:0; height:var(--dl-rule-size); background:var(--dl-rule); }
.is-style-dl-rule-top::before { top:calc(-1 * var(--dl-rule-size)); }
.is-style-dl-rule-bottom::after { bottom:calc(-1 * var(--dl-rule-size)); }
:where(.is-style-dl-eyebrow) { display:flex; align-items:center; gap:16px; font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; }
:where(.is-style-dl-eyebrow)::before { content:""; flex:0 0 36px; height:var(--dl-rule-size); border-block:var(--dl-stripe) solid var(--dl-gold); }
:where(.is-style-dl-navy) { background:var(--dl-navy); color:var(--wp--preset--color--white); }
:where(.is-style-dl-navy h1,.is-style-dl-navy h2,.is-style-dl-navy h3,.is-style-dl-navy a) { color:inherit; }
:where(.is-style-dl-paper) { background:var(--wp--preset--color--ivory); }
/* Long owner-created labels and cards must wrap, not widen the viewport. */
:where(.wp-block-button__link) { overflow-wrap:anywhere; }
:where(.wp-block-table) { overflow:auto; }
:where(.wp-block-details summary) { cursor:pointer; padding-block:16px; }
:where(.dl-source-section) { margin-block:64px; }
:where(.dl-source-section:first-child) { margin-top:0; }
.dl-source-section .dl-source-section { margin-block:32px; }
.dl-entry .wp-block-image { margin-block:0 24px; }
.dl-entry .dl-two-col { align-items:start; }
.dl-entry .dl-two-col > * > .wp-block-image:first-child { margin-top:0; }
.dl-entry .dl-source-section > h2 { padding-bottom:20px; border-bottom:1px solid var(--wp--preset--color--line); }
.dl-fee-card { padding:30px; background:var(--wp--preset--color--ivory); }
.dl-fee-card h3 { font-size:1.8rem; margin-block:16px 24px; }
.dl-fee-card > p:first-child:not(.dl-price) { font-size:.875rem; font-weight:600; }
.dl-fee-card .dl-price { font:500 clamp(26px,2.6vw,40px)/1.2 var(--wp--preset--font-family--display); color:var(--dl-navy); margin-block:24px; }
.dl-fee-grid { gap:24px; }
.dl-office-details { padding:32px; background:var(--wp--preset--color--ivory); }
.dl-contact-layout { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
.dl-entry h1 { font-size:clamp(38px,4.4vw,64px); }
/* Optional Group style for the existing Ninja Forms plugin. No form IDs,
   field order, delivery logic, or builder-specific layout rules belong here. */
.is-style-dl-form .nf-form-content { max-width:none; padding:0; }
.is-style-dl-form .nf-form-cont { min-width:0; }
.is-style-dl-form .nf-form-content .nf-field-container { margin-bottom:24px; }
.is-style-dl-form .nf-form-content .nf-field-label label {
  color:inherit; font:inherit; font-weight:600;
}
.is-style-dl-form .nf-form-content :is(input.ninja-forms-field:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select.ninja-forms-field,textarea.ninja-forms-field) {
  box-sizing:border-box; max-width:100%; width:100%; min-height:48px; height:auto;
  padding:12px 14px; border:1px solid var(--wp--preset--color--ink);
  border-radius:0; background:var(--dl-paper); color:var(--wp--preset--color--ink);
  font-family:inherit; font-size:1rem; line-height:1.5;
}
.is-style-dl-form .nf-form-content textarea.ninja-forms-field { min-height:160px; resize:vertical; }
.is-style-dl-form .nf-form-content select.ninja-forms-field { padding-inline-end:36px; }
.is-style-dl-form .nf-form-content :is(input[type=submit],input[type=button],button.ninja-forms-field) {
  min-height:48px; max-width:100%; height:auto; padding:16px 24px;
  border:1px solid transparent; border-radius:0;
  background:var(--dl-gold); color:var(--dl-navy); font:inherit;
  font-size:1rem; font-weight:600; white-space:normal; cursor:pointer;
}
.is-style-dl-form .nf-form-content :is(input,select,textarea,button):focus-visible {
  outline:2px solid var(--dl-navy); outline-offset:3px;
}
.is-style-dl-form .nf-form-content :is(input,button):disabled { opacity:.65; cursor:wait; }
.is-style-dl-form .nf-form-content .nf-element[aria-invalid=true] { border-color:#a22424; }
.is-style-dl-form .nf-error-msg { color:#a22424; overflow-wrap:anywhere; }
/* Do not hide plugin alerts, required markers, anti-spam fields or success text. */
@media (min-width:601px) and (max-width:782px) {
  :where(.admin-bar.dl-sticky-enabled .dl-navigation) { top:46px; }
}
@media (max-width:1180px) {
  :where(.dl-header-cta) { display:none; }
  .dl-navigation .wp-block-navigation__responsive-container-open { display:flex; }
  .dl-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  :where(.dl-content-layout) { grid-template-columns:1fr; }
  :where(.dl-sidebar) { position:static; }
}
@media (max-width:900px) {
  .wp-block-group.dl-contact-layout { grid-template-columns:minmax(0,1fr); }
  .wp-block-post-template.dl-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wp-block-group.dl-two-col.is-layout-grid { grid-template-columns:minmax(0,1fr); }
  .wp-block-group.dl-grid.is-layout-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  :where(.dl-shell) { width:calc(100% - 48px); }
  :where(.dl-hero,.dl-two-col) { grid-template-columns:minmax(0,1fr); }
  :where(.dl-hero-copy) { padding:38px 24px 28px; }
  :where(.dl-hero-media) { min-height:400px; }
  :where(.dl-hero-media)::after { background:linear-gradient(180deg,var(--dl-navy),transparent 32%); }
  :where(.dl-section) { padding-block:48px; }
  :where(.dl-footer-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dl-footer-grid > :first-child { grid-column:1 / -1; }
}
@media (max-width:600px) {
  .dl-office-details { padding:24px; }
  .wp-block-post-template.dl-post-grid { grid-template-columns:minmax(0,1fr); }
  .wp-block-group.dl-grid.is-layout-grid { grid-template-columns:minmax(0,1fr); }
  :where(.dl-shell) { width:calc(100% - 40px); }
  :where(.dl-header-row) { min-height:86px; gap:20px; }
  :where(.dl-brand) { padding-right:0; max-width:55%; }
  .dl-brand .wp-block-site-logo { max-width:var(--dl-mobile-logo-max,160px); }
  :where(.dl-utility-row > .wp-block-site-title) { display:none; }
  :where(.dl-title-area) { padding-block:32px; }
  :where(.dl-title-area h1) { font-size:2.3rem; }
  :where(.dl-hero-copy) { padding-inline:20px; }
  :where(.dl-hero-copy h1) { font-size:2.75rem; }
  :where(.dl-footer-grid) { grid-template-columns:1fr; }
  .wp-block-group.dl-footer-grid { row-gap:32px; }
  .dl-footer .wp-block-navigation :where(.wp-block-navigation__container) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
  .dl-footer .dl-footer-bottom { margin-top:32px; }
  .wp-block-group.dl-footer-bottom { flex-direction:column; gap:12px; }
  :where(.dl-entry :is(p,ul,ol)) { max-width:100%; }
  :where(.admin-bar.dl-sticky-enabled .dl-navigation) { top:0; }
}
/* Block-flow spacing must not separate the sticky header from the page hero. */
.wp-site-blocks > main { margin-block-start:0; }
.dl-entry .pr-hero-media .wp-block-image { margin:0; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Editorial service sections: a quiet single gold rule separates topics.
   Double rules remain reserved for the header and major page boundaries. */
.dl-entry > .dl-source-section + .dl-source-section:not(.is-style-dl-rule-top),
.dl-entry > .is-style-dl-service-section + .is-style-dl-service-section {
  position:relative; padding-top:clamp(36px,4vw,56px);
  margin-top:clamp(40px,5vw,64px);
}
.dl-entry > .dl-source-section + .dl-source-section:not(.is-style-dl-rule-top)::before,
.dl-entry > .is-style-dl-service-section + .is-style-dl-service-section::before {
  content:""; display:block; position:absolute; top:0; left:0; right:0;
  height:1px; background:var(--dl-gold);
}
:is(.dl-source-section,.is-style-dl-service-section) :is(h2,h3,h4) { color:var(--dl-navy); text-wrap:pretty; }
:is(.dl-source-section,.is-style-dl-service-section) h2 { font-size:clamp(30px,3vw,40px); line-height:1.2; }
:is(.dl-source-section,.is-style-dl-service-section) h3 { font-size:clamp(22px,2vw,28px); line-height:1.3; }
.dl-entry .dl-source-section > h2 { padding-bottom:0; border-bottom:0; margin-bottom:32px; }
:is(.dl-source-section,.is-style-dl-service-section) .wp-block-group.dl-two-col { column-gap:clamp(28px,4vw,48px); row-gap:28px; }
.dl-source-section > .dl-two-col + .dl-two-col { margin-top:48px; padding-top:40px; border-top:1px solid var(--wp--preset--color--line); }
/* Fill the column, not a cropped frame. Keep the complete source photograph at
   its natural proportions, including biography portraits and service images.
   Explicit owner-selected Image block dimensions can override these defaults. */
:where(.dl-source-section,.is-style-dl-service-section) :where(.dl-two-col .wp-block-image) { width:100%; margin:0; }
:where(.dl-source-section,.is-style-dl-service-section) :where(.dl-two-col .wp-block-image img) {
  display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain;
}
.dl-source-section .dl-two-col .wp-block-image { margin-bottom:0; }
/* Cards are a deliberate exception to uncropped editorial photography. Their
   shared frame keeps replacement uploads and adjacent headings aligned. */
:where(.dl-source-section,.is-style-dl-service-section) .dl-grid .wp-block-image,
.wp-block-image.is-style-dl-card-image { width:100%; }
:where(.dl-source-section,.is-style-dl-service-section) .dl-grid .wp-block-image img,
.wp-block-image.is-style-dl-card-image img {
  display:block; width:100%; height:auto; aspect-ratio:5 / 4; object-fit:cover; object-position:center;
}
/* Native Details provides keyboard interaction without a plugin or JS. */
/* Smaller content callouts use quiet single rules, including legacy bands
   imported with both double-rule classes. Major boundary styles stay intact. */
.dl-source-section.is-style-dl-rule-top.is-style-dl-rule-bottom,
.wp-block-group.is-style-dl-callout {
  border-block:1px solid var(--dl-gold); padding-block:36px;
}
.dl-source-section.is-style-dl-rule-top.is-style-dl-rule-bottom::before,
.dl-source-section.is-style-dl-rule-top.is-style-dl-rule-bottom::after,
.wp-block-group.is-style-dl-callout::before,
.wp-block-group.is-style-dl-callout::after { content:none; }
:is(.dl-source-section.is-style-dl-rule-top.is-style-dl-rule-bottom,.wp-block-group.is-style-dl-callout) > :first-child { margin-top:0; }
:is(.dl-source-section.is-style-dl-rule-top.is-style-dl-rule-bottom,.wp-block-group.is-style-dl-callout) > :last-child { margin-bottom:0; }
.wp-block-details.is-style-dl-faq { border-bottom:1px solid var(--wp--preset--color--line); margin-block:0; padding:0; }
.wp-block-details.is-style-dl-faq:first-of-type { border-top:1px solid var(--wp--preset--color--line); }
.wp-block-details.is-style-dl-faq > summary {
  position:relative; list-style:none; padding:22px 48px 22px 0;
  font-family:var(--wp--preset--font-family--body); font-size:clamp(17px,1.5vw,20px);
  font-weight:600; line-height:1.5; color:var(--dl-navy); cursor:pointer;
}
.wp-block-details.is-style-dl-faq > summary::-webkit-details-marker { display:none; }
.wp-block-details.is-style-dl-faq > summary::after { content:"+"; position:absolute; right:10px; top:22px; font-size:24px; line-height:1.25; color:var(--dl-navy); }
.wp-block-details.is-style-dl-faq[open] > summary::after { content:"−"; }
.wp-block-details.is-style-dl-faq > summary:hover { color:var(--wp--preset--color--ink); text-decoration:underline; text-decoration-color:var(--dl-gold); text-underline-offset:5px; }
.wp-block-details.is-style-dl-faq[open] { padding-bottom:24px; }
.wp-block-details.is-style-dl-faq > :not(summary) { max-width:75ch; margin-top:0; margin-bottom:20px; }
.wp-block-details.is-style-dl-faq > :last-child:not(summary) { margin-bottom:0; }
@media (max-width:600px) {
  .dl-entry .dl-source-section { margin-bottom:40px; }
  .dl-source-section > .dl-two-col + .dl-two-col { margin-top:32px; padding-top:32px; }
  .wp-block-details.is-style-dl-faq > summary { padding-block:18px; }
  .wp-block-details.is-style-dl-faq > summary::after { top:18px; }
}
