/* A small, removable presentation layer over the archived design. */
:root { --sf-navy:#092344; --sf-gold:#ad9258; --sf-ink:#24364a; --sf-paper:#f7f6f2; }
body.sf-refresh { -webkit-font-smoothing:antialiased; }
body.sf-refresh #dm#dm .sf-language-original { display:none!important; }
body.sf-refresh #dm#dm .sf-language-switcher { display:inline-flex!important; align-items:center; gap:4px; padding:3px; margin:0; background:#edf0f3; border:1px solid #c9d1da; border-radius:6px; width:max-content; max-width:100%; }
body.sf-refresh #dm#dm .sf-language-switcher a { display:flex!important; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:9px 11px!important; border:1px solid transparent; border-radius:3px; background:white; color:var(--sf-navy)!important; text-decoration:none!important; white-space:nowrap; font:600 13px/1.4 'Open Sans',sans-serif!important; }
body.sf-refresh #dm#dm .sf-language-switcher a[aria-current="true"] { background:var(--sf-navy); color:white!important; }
body.sf-refresh #dm#dm .sf-language-switcher a:not([aria-current]):hover { background:#f6edd9; border-color:var(--sf-gold); }
body.sf-refresh #dm#dm .sf-language-switcher img { display:block; flex:none; width:20px!important; height:14px!important; object-fit:cover; border-radius:1px; margin:0!important; }
body.sf-refresh #dm#dm .sf-language-header-layout { display:flex!important; align-items:center; gap:18px; }
body.sf-refresh #dm#dm .sf-language-header-layout > .dmRespCol { float:none!important; min-width:0; width:auto!important; padding:0!important; flex:1; }
body.sf-refresh #dm#dm .sf-language-header-layout > .sf-language-column { flex:none; }
body.sf-refresh #dm#dm .sf-language-bar { display:flex; justify-content:center; padding:6px 16px; border-top:1px solid #e2e6eb; background:white; }
@media (max-width:1100px) {
  body.sf-refresh #dm#dm .sf-language-header-layout { flex-wrap:wrap; justify-content:center; gap:8px; }
  body.sf-refresh #dm#dm .sf-language-header-layout > .dmRespCol:not(.sf-language-column) { flex:0 0 100%; }
}
body.sf-refresh #dm#dm .sf-practice-copy { font-family:'Open Sans',sans-serif!important; color:var(--sf-ink)!important; text-align:left!important; }
body.sf-refresh #dm#dm .sf-practice-copy p, body.sf-refresh #dm#dm .sf-practice-copy li { font-size:16px!important; font-weight:400!important; line-height:1.8!important; color:var(--sf-ink)!important; text-align:left!important; }
body.sf-refresh #dm#dm .sf-practice-copy p { margin:0 0 20px!important; }
body.sf-refresh #dm#dm .sf-practice-copy h3 { font-family:inherit!important; font-size:18px!important; font-weight:600!important; line-height:1.5!important; color:var(--sf-navy)!important; margin:26px 0 14px!important; }
body.sf-refresh #dm#dm .sf-practice-copy ul { margin:0 0 24px!important; padding:0 0 0 22px!important; list-style:disc outside!important; }
body.sf-refresh #dm#dm .sf-practice-copy li { display:list-item!important; margin:0 0 10px!important; padding-left:4px!important; }
body.sf-refresh #dm#dm .sf-practice-copy li::marker { color:#90743b; }
body.sf-refresh #dm#dm .sf-practice-copy p:last-child { margin-bottom:0!important; }
body.sf-refresh #dm#dm #stickyHeaderSpacer { height:var(--sf-header-space,146px)!important; }
#dm#dm .dmBody .sf-hero-photo { background-image:url('/assets/optimized/sofos-portrait.webp')!important; }
body.sf-refresh a:focus-visible, body.sf-refresh button:focus-visible, body.sf-refresh input:focus-visible, body.sf-refresh textarea:focus-visible, body.sf-refresh select:focus-visible { outline:3px solid #bba064!important; outline-offset:4px!important; }
#dm#dm .sf-anchor-heading { display:block; scroll-margin-top:120px; }
#dm#dm .sf-phone-link { color:inherit!important; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
#dm#dm .dmHeaderResp .sf-logo-row { padding:14px 24px!important; margin:0!important; border:0!important; }
#dm#dm .dmHeaderResp .sf-logo-row .dmRespCol { padding:0!important; }
#dm#dm .dmHeaderResp .sf-desktop-logo { width:142px!important; height:auto!important; margin:0 auto!important; padding:0!important; }
#dm#dm .dmHeaderResp .sf-nav-row { padding:8px 24px!important; border-top:1px solid #deded8!important; border-bottom:1px solid #e8e8e4!important; }
#dm#dm .unifiednav .unav-top-item { font-size:14px!important; font-weight:500!important; min-height:44px; }
#dm#dm .unifiednav .sf-nav-contact { background:var(--sf-navy)!important; color:white!important; border-radius:4px; padding:12px 20px!important; }
#dm#dm .unifiednav .sf-nav-contact .nav-item-text { color:white!important; }
#dm#dm .unifiednav .unifiednav__container_sub-nav { border-radius:4px; }
#dm#dm .dmBody a.dmButtonLink { border-radius:4px!important; min-height:48px; }
#dm#dm .dmBody a.dmButtonLink .text { font-weight:600!important; letter-spacing:.015em; }
#dm#dm #fcontainer .dmNewParagraph p, #dm#dm #fcontainer .dmNewParagraph p span, #dm#dm #fcontainer .dmNewParagraph a { font-size:14px!important; line-height:1.75!important; }
#dm#dm #fcontainer .dmNewParagraph h4 span { font-size:18px!important; }
#dm#dm #fcontainer .dmNewParagraph p { margin-bottom:8px; }

#dm#dm .sf-hero-row { background-color:var(--sf-navy)!important; }
#dm#dm .dmBody .sf-hero-copy { padding:56px clamp(28px,4vw,64px)!important; }
#dm#dm .sf-hero-copy .sf-hero-title { margin:24px 0 18px!important; padding:0!important; }
#dm#dm .sf-hero-copy .sf-hero-title h2, #dm#dm .sf-hero-copy .sf-hero-title h2 span { font-size:clamp(36px,4vw,56px)!important; line-height:1.12!important; letter-spacing:-.025em; font-weight:650!important; }
#dm#dm .sf-hero-copy .sf-hero-intro { margin:26px 0 20px!important; padding:0!important; max-width:540px!important; }
#dm#dm .sf-hero-copy .sf-hero-intro p, #dm#dm .sf-hero-copy .sf-hero-intro span { font-size:17px!important; line-height:1.8!important; text-align:left!important; font-weight:400!important; }
#dm#dm .sf-hero-copy .sf-hero-intro p:has(> span > br:only-child) { display:none; }
.sf-hero-action { text-align:left; margin:0 0 12px; }
body.sf-refresh .sf-button { font-family:'Open Sans',sans-serif!important; display:inline-flex!important; align-items:center; justify-content:space-between; gap:28px; min-height:50px; padding:14px 22px!important; border-radius:4px; text-decoration:none!important; font-size:15px!important; font-weight:600!important; line-height:1.4; }
body.sf-refresh .sf-button-gold { background:#d5bd83!important; color:#0a2442!important; border:1px solid #d5bd83; }
body.sf-refresh .sf-button-gold:hover { background:#e2cc99!important; }
#dm#dm .sf-hero-copy .sf-secondary-link { background:transparent!important; border-color:#9aabc0!important; min-height:44px; }
#dm#dm .sf-hero-copy .sf-unneeded-spacer { display:none!important; }
#dm#dm .sf-secondary-actions > .dmRespColsWrapper { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#dm#dm .sf-hero-copy .sf-secondary-actions { max-width:500px!important; padding-left:0!important; padding-right:0!important; margin-left:0!important; }
#dm#dm .sf-secondary-actions .dmRespCol { display:contents!important; }
#dm#dm .sf-secondary-actions .sf-secondary-link { width:100%!important; max-width:none!important; margin:0!important; }

#dm#dm .sf-services-row { padding:32px 0!important; }
#dm#dm .dmBody .sf-services-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; max-width:1180px!important; padding:0 24px!important; margin:0 auto!important; }
#dm#dm .sf-services-grid > .dmRespCol { display:contents!important; }
#dm#dm .sf-services-grid .sf-service-link { display:flex; align-items:center; min-height:100px; background:rgba(255,255,255,.94); border:1px solid #d9d8cf; border-radius:4px; padding:18px; color:var(--sf-ink)!important; text-decoration:none!important; transition:border-color .15s, background-color .15s; }
#dm#dm .sf-services-grid .sf-service-link:hover { border-color:#9b8049; background:white; }
#dm#dm .sf-service-link .dmNewParagraph { margin:0!important; padding:0!important; width:100%!important; }
#dm#dm .sf-service-link h4, #dm#dm .sf-service-link h4 span { font-size:17px!important; line-height:1.55!important; font-weight:600!important; font-family:'Open Sans',sans-serif!important; color:var(--sf-ink)!important; }
#dm#dm .sf-service-link h4 { margin:0!important; }
#dm#dm .sf-service-link .lawIcon { color:#90743b!important; font-size:23px!important; }
#dm#dm .sf-service-link p { display:none!important; }
#dm#dm .sf-cases-section { padding:0 24px 40px!important; }
#dm#dm .sf-cases .layout-container { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
#dm#dm .sf-cases .photogallery-row { display:contents!important; }
#dm#dm .sf-cases .photogallery-column { display:block!important; width:100%!important; padding:0!important; }
#dm#dm .sf-cases .photoGalleryThumbs { margin:0!important; width:100%!important; }
#dm#dm .sf-cases .thumbnailInnerWrapper { background:white; border:1px solid #e1e2df; border-radius:4px; overflow:hidden; }
#dm#dm .sf-cases .image-container { height:180px!important; padding:0!important; }
#dm#dm .sf-cases .image-container a { background-size:cover!important; height:100%!important; }
#dm#dm .sf-cases .caption-container { display:block!important; position:relative!important; height:auto!important; min-height:130px; padding:22px 18px!important; background:white!important; text-align:left!important; }
#dm#dm .sf-cases .caption-inner { display:block!important; }
#dm#dm .sf-cases .caption-title { font-family:'Open Sans',sans-serif!important; font-size:18px!important; font-weight:600!important; line-height:1.45!important; color:var(--sf-navy)!important; }
#dm#dm .sf-cases .caption-text, #dm#dm .sf-cases .caption-text span { font-size:14px!important; line-height:1.6!important; color:#566474!important; }
#dm#dm .sf-why .accordion-title { min-height:58px; padding:18px!important; }
#dm#dm .sf-why .title-text { font-size:17px!important; }
#dm#dm .sf-why .accordion-description p { font-size:16px!important; line-height:1.8!important; }

body.sf-refresh #dm#dm .sf-contact-card { font-family:'Open Sans',sans-serif; max-width:1120px; margin:40px auto 28px; padding:32px; background:var(--sf-navy); color:white; border-radius:4px; }
body.sf-refresh #dm#dm .sf-contact-card .sf-eyebrow { font-size:12px; font-weight:600; letter-spacing:.12em; color:#dfca98; margin:0 0 12px; }
body.sf-refresh #dm#dm .sf-contact-card h2 { color:white; font-size:30px; font-family:inherit; font-weight:600; line-height:1.3; margin:0 0 24px; }
body.sf-refresh #dm#dm .sf-contact-actions { display:flex; flex-wrap:wrap; gap:12px; }
body.sf-refresh #dm#dm .sf-contact-actions a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 18px; border:1px solid #718399; border-radius:4px; color:white!important; text-decoration:none!important; font-size:15px; font-weight:600; }
body.sf-refresh #dm#dm .sf-contact-actions a:first-child { color:var(--sf-navy)!important; background:#d5bd83; border-color:#d5bd83; }
body.sf-refresh #dm#dm .sf-contact-actions svg { width:20px; height:20px; }
body.sf-refresh #dm#dm .sf-contact-card .sf-address { font-size:14px; line-height:1.6; color:#e0e7ee; margin:20px 0 0; }
#dm#dm .sf-form-notice { font-family:'Open Sans',sans-serif; font-size:14px!important; line-height:1.65!important; color:#34475d; background:#f1f3f5; border-left:3px solid #ad9258; padding:16px!important; margin:8px 0 24px!important; text-align:left; }
body.sf-contact #dm#dm .dmform label { font-family:'Open Sans',sans-serif!important; color:#26384c!important; font-size:14px!important; font-weight:600!important; margin-bottom:8px; }
body.sf-contact #dm#dm .dmform input:not([type=hidden]):not([type=submit]), body.sf-contact #dm#dm .dmform textarea, body.sf-contact #dm#dm .dmform select { background:white!important; color:#26384c!important; border:1px solid #aab3be!important; border-radius:4px!important; padding:12px!important; font-size:16px!important; line-height:1.5!important; min-height:48px; }
body.sf-contact #dm#dm .dmform textarea { min-height:130px; }
body.sf-contact #dm#dm .dmformsubmit input { min-height:48px; border-radius:4px!important; }
#dm#dm .sf-contact-details p, #dm#dm .sf-contact-details p span, #dm#dm .sf-contact-details a { font-size:16px!important; line-height:1.75!important; }

body.sf-refresh #dm#dm .sf-consultation-intro { display:flex; align-items:center; gap:48px; max-width:1120px; margin:40px auto 28px; padding:32px; background:var(--sf-paper); border-left:4px solid var(--sf-gold); font-family:'Open Sans',sans-serif; }
body.sf-refresh #dm#dm .sf-consultation-intro > div { flex:1; min-width:0; }
body.sf-refresh #dm#dm .sf-consultation-intro .sf-eyebrow { margin:0 0 12px; color:#79612d; font-size:12px; font-weight:600; letter-spacing:.12em; }
body.sf-refresh #dm#dm .sf-consultation-intro h2 { margin:0 0 16px; color:var(--sf-navy); font-family:inherit; font-size:30px; font-weight:600; line-height:1.3; }
body.sf-refresh #dm#dm .sf-consultation-summary { margin:0; color:#465469; font-size:16px; line-height:1.75; }
body.sf-refresh #dm#dm .sf-consultation-email { flex:none; max-width:310px; gap:12px; background:var(--sf-navy); color:white!important; }
body.sf-refresh #dm#dm .sf-consultation-email:hover { background:#153b61; }
body.sf-refresh #dm#dm .sf-consultation-email svg { width:21px; height:21px; flex:none; }
body.sf-consultation-page #dm#dm .sf-consultation-columns { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:48px; padding:0 24px!important; }
body.sf-consultation-page #dm#dm .sf-consultation-columns > .dmRespCol { width:100%!important; min-width:0; padding:0!important; margin:0!important; }
body.sf-consultation-page #dm#dm .sf-consultation-columns > .sf-consultation-form { background:white; border:1px solid #e1e2df; border-top:3px solid var(--sf-gold); border-radius:4px; padding:28px!important; }
body.sf-consultation-page #dm#dm .sf-consultation-form > .dmNewParagraph { margin:0 0 16px!important; padding:0!important; }
body.sf-consultation-page #dm#dm .sf-consultation-form h4, body.sf-consultation-page #dm#dm .sf-consultation-form h4 span { font-size:23px!important; line-height:1.4!important; color:var(--sf-navy)!important; }
body.sf-consultation-page #dm#dm .sf-consultation-form .dmform { width:100%!important; padding:0!important; margin:0!important; }
body.sf-consultation-page #dm#dm .sf-consultation-context .dmNewParagraph p, body.sf-consultation-page #dm#dm .sf-consultation-context .dmNewParagraph p span { font-size:16px!important; line-height:1.8!important; text-align:left!important; }
@media (max-width:1100px) {
  body.sf-refresh #dm#dm .sf-consultation-intro { align-items:flex-start; flex-direction:column; gap:24px; margin-left:24px; margin-right:24px; }
  body.sf-consultation-page #dm#dm .sf-consultation-columns { gap:24px; }
}
@media (max-width:767px) {
  body.sf-refresh #dm#dm .sf-consultation-intro { margin:24px 20px; padding:24px; }
  body.sf-refresh #dm#dm .sf-consultation-intro h2 { font-size:25px; }
  body.sf-refresh #dm#dm .sf-consultation-email { width:100%; max-width:none; }
  body.sf-consultation-page #dm#dm .sf-consultation-columns { grid-template-columns:1fr; padding:0 20px!important; }
  body.sf-consultation-page #dm#dm .sf-consultation-columns > .sf-consultation-form { grid-row:1; padding:20px!important; }
}

body.sf-refresh .sf-quickbar { display:none; }
@media (min-width:768px) and (max-width:1100px) {
  #dm#dm .dmBody .sf-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #dm#dm .sf-cases .layout-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #dm#dm .dmBody .sf-hero-copy { padding:32px 28px!important; }
  #dm#dm .sf-secondary-actions > .dmRespColsWrapper { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  body.sf-refresh { padding-bottom:calc(70px + env(safe-area-inset-bottom))!important; }
  body.sf-refresh .sf-quickbar:not([hidden]) { position:fixed; bottom:0; left:0; right:0; z-index:99999; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--sf-navy); padding:8px 12px calc(8px + env(safe-area-inset-bottom)); box-shadow:0 -2px 12px #09234420; }
  body.sf-refresh .sf-quickbar a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:48px; color:white; font:600 12px/1.4 'Open Sans',sans-serif; text-decoration:none; border-right:1px solid #ffffff25; }
  body.sf-refresh .sf-quickbar a:last-child { border-right:0; }
  body.sf-refresh .sf-quickbar svg { width:21px; height:21px; color:#dbc58f; }
  #dm#dm #dmBackToTop { bottom:88px!important; }
  #dm#dm .unifiednav .unav-top-item { font-size:17px!important; }
  #dm#dm .unifiednav .sf-nav-contact { background:transparent!important; padding:inherit!important; }
  #dm#dm .unifiednav .unifiednav__container_sub-nav .unifiednav__item { min-height:44px; }
  #dm#dm .unifiednav .unifiednav__container_sub-nav .nav-item-text { color:#e0e5eb!important; }
  #dm#dm .dmBody .sf-portrait-row { padding:0!important; }
  #dm#dm .dmBody .sf-mobile-portrait { min-height:270px!important; height:270px!important; padding:172px 20px 16px!important; background-position:50% 30%!important; }
  #dm#dm .sf-mobile-portrait .dmNewParagraph { margin:0!important; padding:0!important; }
  #dm#dm .sf-mobile-portrait .dmNewParagraph:first-child p, #dm#dm .sf-mobile-portrait .dmNewParagraph:first-child span { font-size:36px!important; line-height:1.1!important; }
  #dm#dm .sf-mobile-portrait .dmNewParagraph:last-child p, #dm#dm .sf-mobile-portrait .dmNewParagraph:last-child span { font-size:14px!important; line-height:1.5!important; }
  #dm#dm .dmBody .sf-hero-copy { padding:28px 24px 32px!important; }
  #dm#dm .sf-hero-copy .sf-hero-title { margin:0 0 20px!important; }
  #dm#dm .sf-hero-copy .sf-hero-title h2, #dm#dm .sf-hero-copy .sf-hero-title h2 span { font-size:34px!important; text-align:left!important; }
  #dm#dm .sf-hero-copy .sf-hero-intro { margin:24px 0 20px!important; }
  #dm#dm .sf-hero-copy .sf-hero-intro p, #dm#dm .sf-hero-copy .sf-hero-intro span { font-size:16px!important; line-height:1.8!important; }
  body.sf-refresh .sf-hero-action .sf-button { width:100%; }
  #dm#dm .sf-hero-copy .sf-secondary-link { width:100%!important; max-width:none!important; margin:6px 0!important; }
  #dm#dm .sf-secondary-actions > .dmRespColsWrapper { grid-template-columns:1fr; gap:4px; }
  #dm#dm .dmBody .sf-services-grid { grid-template-columns:1fr; gap:12px; padding:0 20px!important; }
  #dm#dm .sf-services-grid .sf-service-link { min-height:72px; padding:18px; }
  #dm#dm .sf-services-row { padding:22px 0 32px!important; }
  #dm#dm .sf-cases-section { padding:0 20px 32px!important; }
  #dm#dm .sf-cases .layout-container { grid-template-columns:1fr; gap:22px; }
  #dm#dm .sf-cases .image-container { height:190px!important; }
  #dm#dm .sf-cases .caption-container { min-height:0; padding:20px!important; }
  #dm#dm .sf-cases .caption-title { font-size:19px!important; }
  #dm#dm .sf-why .title-text { font-size:16px!important; }
  body.sf-refresh #dm#dm .sf-contact-card { margin:24px 20px; padding:24px; }
  body.sf-refresh #dm#dm .sf-contact-card h2 { font-size:25px; }
  body.sf-refresh #dm#dm .sf-contact-actions { display:grid; grid-template-columns:1fr 1fr; }
  body.sf-refresh #dm#dm .sf-contact-actions a:first-child { grid-column:1 / -1; }
  #dm#dm .sf-contact-columns { padding:0 20px!important; }
  #dm#dm .sf-contact-columns > .dmRespCol { padding:0!important; }
  #dm#dm .sf-contact-columns > .dmRespCol + .dmRespCol { margin-top:32px!important; }
  #dm#dm #fcontainer .dmNewParagraph p, #dm#dm #fcontainer .dmNewParagraph p span, #dm#dm #fcontainer .dmNewParagraph a { font-size:14px!important; }
}
@media (prefers-reduced-motion:reduce) {
  body.sf-refresh .sf-service-link { transition:none!important; }
}

#dm#dm .sf-hero-copy > .dmNewParagraph:first-of-type { margin-top:0!important; padding-top:0!important; }
#dm#dm .sf-cases .caption-inner { background:transparent!important; padding:0!important; text-align:left!important; }
#dm#dm .sf-cases .caption-title, #dm#dm .sf-cases .caption-text { text-align:left!important; }
#dm#dm .sf-section-title, #dm#dm .sf-section-title span { font-family:'Open Sans',sans-serif!important; font-size:28px!important; font-weight:600!important; line-height:1.4!important; }
@media (max-width:767px) {
  #dm#dm .dmBody .sf-mobile-portrait { margin:0!important; }
  #dm#dm .dmBody .sf-portrait-row { background-position:50% 0%!important; }
  #dm#dm .sf-section-title, #dm#dm .sf-section-title span { font-size:23px!important; }
}

body.sf-refresh:has(.pswp--open) .sf-quickbar, body.sf-refresh:has(dialog[open]) .sf-quickbar { display:none!important; }
