@font-face {
    font-family:Roboto;
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url(../fonts/roboto-400.ttf) format('truetype')
}
@font-face {
    font-family:Roboto;
    font-style:normal;
    font-weight:500;
    font-display:swap;
    src:url(../fonts/roboto-500.ttf) format('truetype')
}
@font-face {
    font-family:Roboto;
    font-style:normal;
    font-weight:600;
    font-display:swap;
    src:url(../fonts/roboto-600.ttf) format('truetype')
}
@font-face {
    font-family:Roboto;
    font-style:normal;
    font-weight:700;
    font-display:swap;
    src:url(../fonts/roboto-700.ttf) format('truetype')
}
:root {
    --color-primary:#5d1b44;
    --color-secondary:#7c316a;
    --color-accent:#dd8828;
    --color-text:#333;
    --color-paper:#fff;
    --color-cream:#fff1e7;
    --color-line:#e7dce3;
    --content-width:1140px;
    --radius:24px
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:130px
}
body {
    margin:0;
    font-family:Roboto,Arial,sans-serif;
    font-size:16px;
    line-height:1.65;
    color:var(--color-text);
    background:var(--color-paper)
}
img {
    display:block;
    max-width:100%;
    height:auto
}
a {
    color:var(--color-primary);
    text-underline-offset:4px
}
button,input,select,textarea {
    font:inherit
}
button,a,input,textarea,select,summary {
    -webkit-tap-highlight-color:transparent
}
:focus-visible {
    outline:3px solid var(--color-accent);
    outline-offset:5px
}
button,summary {
    cursor:pointer
}
h1,h2,h3,h4,h5,h6 {
    margin:0 0 .65em;
    font-weight:500;
    line-height:1.25;
    color:inherit
}
h1 {
    font-size:44px;
    letter-spacing:-.6px
}
h2 {
    font-size:32px
}
h3 {
    font-size:24px
}
h4 {
    font-size:20px
}
p {
    margin:0 0 1em
}
p:last-child {
    margin-bottom:0
}
ul,ol {
    padding-left:1.4em
}
figure {
    margin:0
}
address {
    font-style:normal
}
hr {
    border:0;
    border-top:1px solid var(--color-line);
    margin:12px 0
}
table {
    border-collapse:collapse;
    max-width:100%;
    font-size:15px
}
td,th {
    border:1px solid var(--color-line);
    padding:10px 14px;
    text-align:left
}
blockquote {
    border-left:3px solid var(--color-accent);
    margin:20px 0;
    padding:10px 24px;
    font-style:italic
}
[hidden] {
    display:none!important
}
.shell {
    width:min(var(--content-width),calc(100% - 48px));
    margin-inline:auto
}
.skip-link {
    position:fixed;
    top:8px;
    left:8px;
    background:#fff;
    padding:10px 16px;
    z-index:1000;
    transform:translateY(-150%)
}
.skip-link:focus {
    transform:none
}
.topbar {
    background:var(--color-primary);
    color:#fff;
    font-size:13px
}
.topbar .shell {
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding-block:8px
}
.topbar a {
    color:#fff;
    text-decoration:none
}
.site-header {
    background:#fff;
    position:sticky;
    top:0;
    z-index:100;
    border-bottom:1px solid #eee9ed
}
.header-inner {
    display:flex;
    align-items:center;
    gap:24px;
    min-height:98px
}
.brand {
    flex-shrink:0
}
.brand img {
    width:175px
}
.header-inner nav {
    margin-left:auto
}
.nav-list {
    list-style:none;
    display:flex;
    align-items:center;
    gap:23px;
    margin:0;
    padding:0;
    font-size:15px;
    font-weight:500
}
.nav-list>li>a,.nav-group summary {
    text-decoration:none;
    color:var(--color-secondary);
    white-space:nowrap;
    padding:20px 0
}
.nav-group {
    position:relative
}
.nav-group summary {
    list-style:none
}
.nav-group summary::-webkit-details-marker {
    display:none
}
.nav-group summary:after {
    content:'⌄';
    padding-left:7px
}
.nav-group details[open] summary:after {
    content:'⌃'
}
.nav-group ul {
    position:absolute;
    left:-18px;
    top:58px;
    min-width:240px;
    max-width:300px;
    background:#fff;
    box-shadow:0 8px 30px #34142b1f;
    border-bottom:2px solid var(--color-secondary);
    list-style:none;
    padding:10px 0;
    line-height:1.45
}
.nav-group ul a {
    display:block;
    color:var(--color-secondary);
    padding:12px 20px;
    text-decoration:none
}
.nav-group a:hover,.nav-group a:focus-visible {
    background:#f8f3f6
}
.nav-list>li>a:hover {
    color:var(--color-primary);
    text-decoration:underline
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--color-primary);
    padding:12px 28px;
    border-radius:var(--radius);
    background:var(--color-primary);
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:500;
    line-height:1.4;
    min-height:44px;
    transition:background .15s,color .15s
}
.button:hover {
    background:var(--color-secondary);
    border-color:var(--color-secondary);
    color:#fff
}
.button-outline {
    background:transparent;
    border:2px solid #fff;
    color:#fff
}
.button-outline:hover {
    background:#fff;
    color:var(--color-primary);
    border-color:#fff
}
.button-light {
    background:#fff;
    color:var(--color-primary)
}
.header-contact {
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1px;
    white-space:nowrap;
    padding:12px 20px
}
.nav-toggle {
    display:none
}
.button-row {
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    margin:25px 0
}
.text-link {
    font-weight:500;
    text-decoration:none
}
.text-link:hover {
    text-decoration:underline
}
.section {
    padding:34px 0;
    background-repeat:no-repeat
}
.section-inner {
    width:min(var(--content-width),calc(100% - 48px));
    margin-inline:auto;
    display:flex;
    gap:24px;
    align-items:stretch
}
.column {
    flex:var(--column,100) 1 0;
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:20px;
    background-repeat:no-repeat
}
.inner-section {
    padding:12px 0
}
.inner-section>.section-inner {
    width:100%
}
.content-group {
    display:flex;
    flex-direction:column;
    gap:20px
}
.widget {
    min-width:0
}
.widget-heading {
    font-size:32px;
    line-height:1.25;
    font-weight:500;
    color:var(--heading-color,var(--color-primary))
}
.widget-heading:has(h1) {
    font-size:42px
}
.widget-heading:has(h3) {
    font-size:24px
}
.widget-heading:has(h4),.widget-heading:has(h5) {
    font-size:20px
}
.widget-heading>* {
    margin-bottom:0
}
.widget-text-editor {
    overflow-wrap:anywhere
}
.widget-text-editor p+div,.widget-text-editor div+p {
    margin-top:1em
}
.widget-image img {
    margin-inline:auto
}
.widget-image a {
    display:block
}
.widget-button {
    margin-block:5px
}
.image-gallery {
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center
}
.image-gallery figure {
    flex:1 1 200px;
    max-width:48%
}
.image-gallery img {
    width:100%;
    object-fit:contain
}
.image-gallery:has(figure:nth-child(4)) figure {
    flex:1 1 110px;
    max-width:160px
}
.image-gallery:has(figure:nth-child(4)) img {
    max-height:115px
}
.image-feature {
    display:flex;
    align-items:center;
    gap:28px;
    margin-bottom:15px
}
.image-feature .box-picture {
    flex:0 0 34%
}
.image-feature .box-picture img {
    width:100%;
    max-height:340px;
    object-fit:cover
}
.image-feature .box-copy {
    flex:1
}
.box-copy h3 {
    color:var(--heading-color,var(--color-primary));
    font-weight:600
}
.box-copy a {
    color:inherit;
    text-decoration:none
}
.icon-feature .box-copy h3 {
    font-size:20px
}
.icon-feature a:hover {
    text-decoration:underline
}
.disclosure {
    border-bottom:1px solid var(--color-line);
    padding:15px 0
}
.disclosure summary {
    font-size:19px;
    font-weight:500;
    color:var(--color-primary)
}
.disclosure>div {
    padding:15px 0 4px
}
.video-link {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    min-height:180px;
    padding:30px;
    background:var(--color-primary);
    color:#fff;
    text-align:center;
    text-decoration:none
}
.video-link span {
    font-size:32px
}
.map-locations {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin-top:15px
}
.map-locations>div {
    border:1px solid var(--color-line);
    padding:12px 18px;
    font-size:13px;
    min-width:145px
}
.map-locations>div>div:first-child {
    font-weight:600;
    color:var(--color-primary)
}
.home .section:has(.home-hero) {
    padding:0
}
.home .section:has(.home-hero)>.section-inner {
    width:100%;
    max-width:none
}
.home .section:has(.home-hero)>.section-inner>.column {
    padding:0
}
.home-hero {
    min-height:660px;
    background-size:cover;
    background-position:center 56%;
    display:flex;
    align-items:center;
    color:#fff
}
.hero-content {
    width:min(var(--content-width),calc(100% - 64px));
    margin-inline:auto;
    padding:70px 0
}
.hero-logo {
    width:250px;
    margin:0 0 27px
}
.hero-content h1 {
    font-size:50px;
    line-height:1.18;
    font-weight:700;
    max-width:600px;
    margin-bottom:22px;
    color:#fff
}
.hero-content p {
    font-size:27px;
    line-height:1.3;
    font-weight:400;
    margin-bottom:35px
}
.hero-content .button {
    text-transform:uppercase;
    letter-spacing:1px;
    font-size:12px;
    padding-inline:36px
}
.page-heading {
    padding:45px 0 0;
    color:var(--color-primary)
}
.reading-column {
    width:min(840px,calc(100% - 48px));
    margin-inline:auto
}
.form-help {
    font-size:13px;
    line-height:1.5;
    color:#666
}
.contact-form {
    display:flex;
    flex-direction:column;
    gap:16px;
    color:var(--color-text)
}
.field-pair {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}
.contact-form label {
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:13px;
    font-weight:500
}
.contact-form input,.contact-form select,.contact-form textarea {
    width:100%;
    padding:12px 16px;
    border:1px solid #d6cbd2;
    border-radius:18px;
    background:#fff;
    color:#333;
    font-size:15px;
    min-width:0
}
.contact-form textarea {
    resize:vertical
}
.contact-form .button {
    align-self:flex-start
}
.form-status {
    font-size:13px
}
.article-heading {
    background:#f8f4f7;
    padding:50px 0 38px;
    color:var(--color-primary)
}
.article-heading .breadcrumb {
    font-size:14px;
    text-decoration:none;
    display:inline-block;
    margin-bottom:30px
}
.eyebrow {
    font-size:12px;
    letter-spacing:1px;
    text-transform:uppercase;
    font-weight:600;
    color:var(--color-secondary)
}
.article-heading h1 {
    font-size:40px;
    line-height:1.2;
    letter-spacing:-.4px
}
.article-heading time {
    color:#695e65;
    font-size:14px
}
.article-cover {
    width:min(1080px,calc(100% - 48px));
    margin:36px auto 18px
}
.article-cover img {
    width:100%;
    max-height:500px;
    object-fit:cover;
    object-position:center
}
.article-body {
    padding-bottom:30px
}
.article-body>.section {
    padding:24px 0
}
.article-body .section-inner {
    max-width:900px
}
.article-body .widget-heading {
    font-size:25px
}
.article-body .widget-text-editor {
    font-size:17px;
    line-height:1.8
}
.article-body .column {
    gap:20px
}
.article-body .widget-image {
    margin:15px 0
}
.article-body .widget-image img {
    max-height:850px;
    object-fit:contain
}
.article-end {
    background:var(--color-cream);
    padding:50px 0
}
.article-end h2 {
    color:var(--color-primary)
}
.article-tools {
    margin:10px 0 35px
}
.article-search {
    display:block;
    max-width:400px;
    font-size:14px;
    font-weight:500;
    margin-bottom:22px
}
.article-search input {
    display:block;
    width:100%;
    border:1px solid #d9cad4;
    border-radius:24px;
    padding:12px 18px;
    margin-top:7px
}
.category-filters {
    display:flex;
    flex-wrap:wrap;
    gap:10px
}
.category-filters button {
    border:1px solid #d9cad4;
    border-radius:30px;
    background:#fff;
    color:var(--color-primary);
    padding:8px 16px;
    font-size:13px
}
.category-filters button[aria-pressed=true] {
    background:var(--color-primary);
    color:#fff;
    border-color:var(--color-primary)
}
.article-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:30px 24px
}
.article-card {
    border:1px solid var(--color-line);
    background:#fff;
    display:flex;
    flex-direction:column;
    min-width:0
}
.card-image {
    display:block;
    aspect-ratio:1.68;
    background:#f6eff3;
    overflow:hidden
}
.card-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s
}
.card-image:hover img {
    transform:scale(1.03)
}
.card-copy {
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:12px;
    flex:1
}
.card-copy h3 {
    font-size:21px;
    font-weight:500;
    line-height:1.35;
    margin:0
}
.card-copy h3 a {
    color:var(--color-primary);
    text-decoration:none
}
.card-copy p {
    font-size:14px;
    margin:0;
    line-height:1.6
}
.card-copy p.eyebrow {
    font-size:10px;
    line-height:1.5
}
.card-copy .text-link {
    margin-top:auto;
    font-size:13px
}
.related-grid {
    margin:20px 0
}
.related-grid .article-card {
    display:grid;
    grid-template-columns:32% 1fr
}
.related-grid .card-image {
    height:100%;
    aspect-ratio:auto
}
.related-grid .card-copy {
    padding:20px
}
.related-grid .card-copy>p:not(.eyebrow) {
    display:none
}
.site-footer {
    background:var(--color-primary);
    color:#fff;
    margin-top:50px;
    padding:60px 0 24px;
    font-size:14px
}
.site-footer a {
    color:#fff
}
.footer-grid {
    display:grid;
    grid-template-columns:1.15fr 1fr .8fr;
    gap:55px;
    padding-bottom:48px
}
.footer-logo {
    width:210px;
    margin-bottom:22px
}
.site-footer h2 {
    font-size:16px;
    font-weight:600;
    margin-bottom:15px
}
.site-footer address {
    line-height:1.8
}
.footer-bottom {
    border-top:1px solid #ffffff40;
    display:flex;
    justify-content:space-between;
    gap:25px;
    padding-top:22px;
    font-size:11px
}
.footer-bottom>div {
    display:flex;
    gap:24px;
    flex-wrap:wrap
}
.footer-bottom a {
    text-decoration:none
}
.footer-bottom a:hover {
    text-decoration:underline
}
@media(min-width:1025px) {
    .hide-desktop {
        display:none!important
    }
}
@media(min-width:768px) and (max-width:1024px) {
    .hide-tablet {
        display:none!important
    }
    .header-inner {
        gap:15px
    }
    .nav-list {
        gap:12px;
        font-size:13px
    }
    .brand img {
        width:145px
    }
    .header-contact {
        padding:10px 13px;
        font-size:10px
    }
    .article-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .section-inner {
        gap:20px
    }
    .column {
        padding-inline:15px
    }
    .home-hero {
        min-height:600px
    }
}
@media(max-width:767px) {
    .hide-mobile {
        display:none!important
    }
    html {
        scroll-padding-top:85px
    }
    .shell,.section-inner,.reading-column {
        width:calc(100% - 36px)
    }
    body {
        font-size:16px
    }
    .topbar .shell {
        justify-content:center;
        font-size:11px
    }
    .topbar .shell>span {
        display:none
    }
    .header-inner {
        min-height:76px;
        flex-wrap:wrap;
        justify-content:space-between;
        gap:0
    }
    .brand img {
        width:145px
    }
    .header-contact {
        display:none
    }
    .nav-toggle {
        display:flex;
        align-items:center;
        gap:12px;
        border:0;
        background:transparent;
        color:var(--color-primary);
        font-size:15px;
        padding:15px 0
    }
    .nav-toggle span {
        font-size:22px
    }
    .header-inner nav {
        display:none;
        width:100%;
        margin:0;
        padding-bottom:16px
    }
    .header-inner nav.is-open {
        display:block
    }
    .nav-list {
        display:block;
        font-size:16px
    }
    .nav-list>li>a,.nav-group summary {
        display:block;
        padding:12px 0
    }
    .nav-group ul {
        position:static;
        box-shadow:none;
        max-width:none;
        width:100%;
        border:0;
        min-width:0;
        margin:0;
        background:#fbf7fa
    }
    .nav-group ul a {
        padding:10px 15px;
        font-size:14px
    }
    .section {
        padding:24px 0
    }
    .section-inner {
        flex-direction:column;
        gap:26px
    }
    .column {
        width:100%;
        flex:auto;
        padding:15px 0;
        gap:18px;
        background-position:center
    }
    .column:has(>.contact-form) {
        padding-inline:0
    }
    .inner-section {
        padding:8px 0
    }
    .inner-section>.section-inner {
        width:100%
    }
    .widget-heading {
        font-size:28px;
        line-height:1.3
    }
    .widget-heading:has(h3) {
        font-size:23px
    }
    .widget-heading:has(h4),.widget-heading:has(h5) {
        font-size:20px
    }
    .widget-text-editor {
        font-size:16px;
        line-height:1.7
    }
    .widget-image img {
        max-height:600px;
        object-fit:contain
    }
    .home-hero {
        min-height:560px;
        background-position:58% center
    }
    .hero-content {
        padding:50px 0;
        width:calc(100% - 48px)
    }
    .hero-logo {
        width:210px;
        margin-bottom:30px
    }
    .hero-content h1 {
        font-size:38px;
        line-height:1.14;
        max-width:360px
    }
    .hero-content p {
        font-size:22px;
        line-height:1.4
    }
    .home .section:has(.home-hero) {
        padding:0
    }
    .home .section:has(.home-hero) .column {
        padding:0
    }
    .image-feature {
        flex-direction:column;
        align-items:stretch;
        gap:18px
    }
    .image-feature .box-picture {
        flex:auto
    }
    .image-feature .box-picture img {
        max-height:280px
    }
    .image-gallery {
        gap:18px
    }
    .image-gallery figure {
        max-width:100%;
        flex-basis:100%
    }
    .image-gallery:has(figure:nth-child(4)) figure {
        max-width:44%;
        flex-basis:120px
    }
    .field-pair {
        grid-template-columns:1fr
    }
    .page-heading {
        padding-top:30px
    }
    .page-heading h1 {
        font-size:34px
    }
    .article-heading {
        padding:32px 0
    }
    .article-heading h1 {
        font-size:32px
    }
    .article-heading .breadcrumb {
        margin-bottom:20px
    }
    .article-cover {
        width:calc(100% - 36px);
        margin:25px auto 10px
    }
    .article-body .widget-heading {
        font-size:24px
    }
    .article-body .widget-text-editor {
        font-size:16px
    }
    .article-grid {
        grid-template-columns:1fr;
        gap:24px
    }
    .article-tools {
        margin-bottom:25px
    }
    .category-filters {
        gap:8px
    }
    .category-filters button {
        font-size:12px;
        padding:8px 12px
    }
    .related-grid .article-card {
        display:flex
    }
    .related-grid .card-image {
        aspect-ratio:1.8
    }
    .article-end {
        padding:35px 0
    }
    .article-end h2 {
        font-size:28px
    }
    .site-footer {
        padding-top:40px
    }
    .footer-grid {
        grid-template-columns:1fr;
        gap:30px;
        padding-bottom:32px
    }
    .footer-bottom {
        flex-direction:column;
        gap:18px
    }
    .footer-bottom>div {
        flex-direction:column;
        gap:12px
    }
    .map-locations>div {
        min-width:0;
        width:calc(50% - 6px)
    }
    table {
        display:block;
        overflow-x:auto
    }
    h1 {
        font-size:34px
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*::before,*::after {
        transition:none!important;
        animation:none!important
    }
}
@media print {
    .topbar,.site-header,.site-footer,.contact-form,.article-tools {
        display:none
    }
    body {
        font-size:11pt
    }
    .section-inner,.reading-column {
        width:100%;
        max-width:none
    }
    .article-heading {
        background:none;
        padding:10px 0
    }
    .article-cover {
        max-width:500px
    }
    .section {
        padding:12px 0
    }
    a {
        color:inherit
    }
    .article-body img {
        max-height:500px;
        break-inside:avoid
    }
}
/* Readability refinements for shared contact panels. */
.tone-dark {
    color:#fff;
    --heading-color:#fff
}
.tone-dark a:not(.button) {
    color:inherit
}
.contact-form label {
    display:block
}
.contact-form label>input,.contact-form label>textarea,.contact-form label>select {
    display:block;
    margin-top:6px
}
.byline {
    font-size:14px;
    color:#695e65
}
@media(max-width:767px) {
    .column.tone-dark {
        padding:28px
    }
    .article-body .widget-text-editor {
        text-align:left
    }
}

/* Company information for the DGC Global operating structure. */
.operator-card {
    background:var(--color-cream, #fff1e7);
    border-top:4px solid var(--color-primary);
    padding:32px;
    border-radius:8px;
    overflow-wrap:anywhere;
}
.operator-card h2 { margin-top:0; }
.operator-card h3 { font-size:18px; margin:24px 0 8px; }
.operator-card address { line-height:1.8; }
@media (max-width:767px) { .operator-card { padding:24px; } }

/* Source layout model: outer column widths and inner column padding are separate. */
.section, .inner-section, .article-body > .section { padding:0; position:relative; }
.section-inner { width:100%; max-width:1140px; display:flex; flex-wrap:nowrap; flex-direction:row; gap:0; align-items:stretch; }
.inner-section > .section-inner { width:100%; }
.column { flex:none; display:flex; flex-direction:row; justify-content:normal; align-items:stretch; gap:0; padding:0; margin:0; min-width:0; }
.column-content { display:flex; flex:1 1 auto; flex-flow:row wrap; align-content:flex-start; align-items:flex-start; min-width:0; max-width:100%; padding:10px; --widget-spacing:20px; }
.column-content > .widget { width:100%; max-width:100%; min-width:0; position:relative; }
.column-content > .widget:not(:last-child) { margin-bottom:var(--widget-spacing); }
.column-content > .inner-section { width:100%; }
.content-group { gap:0; }
.widget-heading, .widget-theme-post-title { font-weight:500; line-height:1.2; }
.widget-heading > *, .widget-theme-post-title > * { font:inherit; letter-spacing:inherit; color:inherit; margin:0; }
.widget-theme-post-title { font-size:42px; }
.widget-image { text-align:center; }
.widget-image img, .widget-bdt-image-magnifier img, .widget-theme-post-featured-image img { display:inline-block; height:auto; max-width:100%; max-height:none; object-fit:initial; margin:0; vertical-align:middle; }
.widget-image a { display:inline-block; }
.widget-text-editor p:last-child, .box-description p:last-child { margin-bottom:0; }
.widget-button { margin-block:0; }
.widget-divider hr { margin:0; border:0; border-top:1px solid currentColor; }
.widget-divider { padding-block:15px; }
.widget-image-box, .widget-call-to-action { margin:0; gap:0; }
.widget-image-box .box-picture, .widget-call-to-action .box-picture { flex:none; min-width:0; }
.widget-image-box .box-copy, .widget-call-to-action .box-copy { min-width:0; }
.widget-image-box .box-picture img { width:100%; height:auto; max-height:none; object-fit:initial; }
.widget-image-box .box-copy h3, .widget-call-to-action .box-copy h3 { margin-top:0; }
.widget-call-to-action { display:flex; flex-direction:column; align-items:stretch; }
.widget-call-to-action .box-picture { position:relative; width:100%; overflow:hidden; }
.widget-call-to-action .box-picture img { width:100%; height:100%; object-fit:cover; max-height:none; }
.widget-call-to-action .box-copy { flex:1; padding:35px; }
.widget-call-to-action .box-copy .button { margin-top:20px; }
.widget-call-to-action:has(.box-picture):is([class]) { min-width:0; }
.article-body .section-inner { max-width:1140px; }
.article-body .column { gap:0; }
.article-body .widget-image { margin:0; }
.article-body .widget-image img { max-height:none; }
.widget-theme-post-content > .section > .section-inner { max-width:100%; }
.widget-theme-post-content, .widget-theme-post-excerpt { font-size:16px; line-height:25px; }
.source-post-info, .source-share { font-size:14px; }
.source-post-navigation { display:flex; gap:30px; justify-content:space-between; }
.source-post-navigation a { width:50%; }
.source-post-navigation a:last-child { text-align:right; }
.source-image-caption { margin-top:8px; font-size:14px; }
.source-gallery { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - (var(--slides) - 1) * 20px) / var(--slides)); gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; }
.source-gallery figure { margin:0; min-width:0; scroll-snap-align:start; display:flex; align-items:center; justify-content:center; }
.source-gallery img { width:auto; max-width:100%; height:auto; }
.source-article-gallery { --slides:3; }
.gallery-controls { display:flex; justify-content:center; gap:12px; margin-top:12px; }
.gallery-controls button { padding:6px 12px; border:1px solid var(--color-line); background:#fff; color:var(--color-primary); border-radius:4px; cursor:pointer; }
.home .section:has(.home-hero) > .section-inner > .column > .column-content { padding:0; }
.widget-slider_revolution, .home-hero { width:100%; }
.topbar { background:#fff; color:var(--color-primary); }
.topbar a { color:var(--color-primary); }
.topbar .shell { font-size:14px; }
.nav-list { font-size:16px; }
.nav-list > li > a, .nav-group summary { padding-block:36px; }
.header-contact { font-size:12px; font-weight:400; letter-spacing:1.4px; border-radius:100px; }
.brand img { width:175px; height:66px; object-fit:contain; }
.site-footer { margin-top:0; }
.footer-grid { grid-template-columns:2fr 1fr; }
.footer-logo { width:49.515%; max-width:100%; }
.footer-grid h2 { font-size:16px; }
.footer-policy-links { display:flex; flex-direction:column; gap:16px; margin-top:30px; }
.footer-policy-links a { font-size:14px; font-weight:600; text-decoration:none; }
@media (max-width:1024px) {
  .source-article-gallery { --slides:2; }
  .section-inner { flex-wrap:wrap; gap:0; }
  .column { padding:0; }
  .nav-list { font-size:13px; }
  .header-contact { display:none; }
}
@media (max-width:767px) {
  .source-article-gallery { --slides:1; }
  .section, .inner-section, .article-body > .section { padding:0; }
  .section-inner { width:100%; flex-direction:row; gap:0; }
  .column, .column.tone-dark { width:100%; flex:0 0 100%; padding:0; gap:0; }
  .column-content { padding:10px; }
  .widget-image img, .article-body .widget-image img { max-height:none; }
  .widget-heading { font-size:32px; line-height:1.2; }
  .widget-text-editor, .article-body .widget-text-editor { font-size:16px; line-height:1.65; }
  .widget-image-box { flex-direction:column; }
  .widget-image-box .box-picture { flex:none; }
  .widget-image-box .box-picture img { max-height:none; }
  .widget-theme-post-title { overflow-wrap:anywhere; }
  .source-post-navigation { flex-wrap:wrap; }
  .source-post-navigation a { width:100%; }
  .brand img { width:109px; height:60px; }
  .header-inner { padding-block:20px; }
  .nav-list > li > a, .nav-group summary { padding-block:12px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-logo { width:184px; margin-inline:auto; }
  .footer-grid > div:first-child { text-align:center; }
}
