/* Armoires Sénécal / Jupiter X + Elementor + Raven + Jet. Presentation only. */
body.asf-modern-design {
    --asf-ivory: #f6f3ed;
    --asf-paper: #fdfcf9;
    --asf-white: #fff;
    --asf-ink: #292824;
    --asf-text: #56534d;
    --asf-stone: #e7e1d7;
    --asf-taupe: #756655;
    --asf-hover: #554c40;
    --asf-red: #a3423c;
    --asf-red-rgb: 163, 66, 60;
    --asf-brand-soft: #f4e7e3;
    --asf-line: #d5cec2;
    --asf-radius: 20px;
    --asf-button-radius: calc(var(--asf-radius) * .6);
    --asf-shadow: 0 8px 30px rgba(41, 40, 36, .06);
    --asf-photo-shadow: 0 10px 28px rgba(var(--asf-red-rgb), .12), 0 3px 8px rgba(41, 40, 36, .05);
    --asf-photo-shadow-hover: 0 14px 34px rgba(var(--asf-red-rgb), .17), 0 4px 12px rgba(41, 40, 36, .06);
    --e-global-color-primary: var(--asf-ink) !important;
    --e-global-color-secondary: var(--asf-ink) !important;
    --e-global-color-text: var(--asf-text) !important;
    --e-global-color-accent: var(--asf-white) !important;
    --e-global-color-1185d6c: var(--asf-ivory) !important;
    color: var(--asf-text);
    background-color: var(--asf-paper) !important;
    font-family: "Poppins", "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
body.asf-modern-design.asf-no-red-accent {
    --asf-red: var(--asf-taupe);
    --asf-red-rgb: 117, 102, 85;
    --asf-brand-soft: #eee9e2;
}
body.asf-modern-design #jupiterx-main { background-color: var(--asf-paper); }
body.asf-modern-design :where(.jupiterx-main, .jupiterx-footer) a {
    color: var(--asf-ink);
    text-underline-offset: .2em;
}
body.asf-modern-design :where(.elementor-widget-text-editor, .raven-post-excerpt) {
    color: var(--asf-text) !important;
    line-height: 1.75;
}
body.asf-modern-design :where(.elementor-widget-text-editor p, .raven-post-excerpt p) { line-height: 1.75; }
body.asf-modern-design .elementor-widget-text-editor a:not([class*="button"]),
body.asf-modern-design .raven-post-excerpt a {
    color: var(--asf-ink) !important;
    text-decoration: underline;
    text-decoration-color: var(--asf-line);
    text-decoration-thickness: 1px;
    transition: color .18s ease, text-decoration-color .18s ease;
}
body.asf-modern-design .elementor-widget-text-editor a:hover {
    color: var(--asf-hover) !important;
    text-decoration-color: var(--asf-taupe);
}
body.asf-modern-design :is(h1, h2, h3, h4, h5, h6, .raven-heading-title, .elementor-heading-title) {
    color: var(--asf-ink) !important;
    text-transform: none !important;
    letter-spacing: -.025em;
}
body.asf-modern-design :is(.raven-heading, .elementor-heading-title) { line-height: 1.2 !important; }
body.asf-modern-design .elementor-icon-list-icon :is(i, svg) { color: var(--asf-taupe) !important; fill: var(--asf-taupe); }
body.asf-modern-design .elementor-widget-divider {
    --divider-color: var(--asf-taupe) !important;
    --divider-border-width: 2px !important;
}
body.asf-modern-design .elementor-divider-separator { border-color: var(--asf-line) !important; }
body.asf-modern-design .asf-legacy-red-text { color: var(--asf-ink) !important; }
body.asf-modern-design .asf-legacy-red-border { border-color: var(--asf-line) !important; }
body.asf-modern-design .asf-legacy-red-surface { background-color: var(--asf-stone) !important; }
body.asf-modern-design .asf-legacy-red-surface :is(h1,h2,h3,h4,h5,h6,p,span,a,li) { color: var(--asf-ink) !important; }

/* Consistent controls. Preserve Raven/Elementor handlers, icons and form state. */
body.asf-modern-design :is(a.raven-button, a.elementor-button, a.jet-button__instance, .raven-submit-button, .elementor-button[type="submit"], .wpcf7-submit, .wpforms-submit) {
    background-color: var(--asf-taupe) !important;
    background-image: none !important;
    color: var(--asf-white) !important;
    border: 1px solid var(--asf-taupe) !important;
    border-radius: var(--asf-button-radius) !important;
    padding: 15px 24px !important;
    min-height: 48px;
    max-width: 100%;
    font-family: inherit !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    letter-spacing: .015em !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    box-shadow: 0 3px 10px rgba(117,102,85,.12);
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
body.asf-modern-design :is(.raven-button-content, .raven-button-text, .button-text-container, .raven-button-texts-wrapper, .button-text, .raven-submit-button-text, .elementor-button-content-wrapper, .elementor-button-text) {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    text-transform: none !important;
    white-space: normal !important;
}
body.asf-modern-design :is(a.raven-button, a.elementor-button, a.jet-button__instance, .raven-submit-button, .elementor-button[type="submit"], .wpcf7-submit, .wpforms-submit):hover {
    background-color: var(--asf-red) !important;
    border-color: var(--asf-red) !important;
    color: var(--asf-white) !important;
    box-shadow: 0 5px 16px rgba(var(--asf-red-rgb), .18);
}
body.asf-modern-design .raven-button-overlay { background-color: transparent !important; background-image: none !important; }
body.asf-modern-design :is(button, input[type="submit"]):disabled { opacity: .55; cursor: not-allowed; }
body.asf-modern-design :is(a, button, input, textarea, select, [tabindex]):focus-visible {
    outline: 3px solid var(--asf-taupe) !important;
    outline-offset: 4px !important;
}
body.asf-modern-design :is(a.raven-button, a.elementor-button, button):focus-visible {
    box-shadow: 0 0 0 3px var(--asf-paper) !important;
}

/* Header and both the normal and sticky Raven navigation templates. */
body.asf-modern-design .jupiterx-header { background-color: var(--asf-paper); }
body.asf-modern-design .jupiterx-header :is(.elementor-element-4584000, .elementor-element-d3c714a, .elementor-element-32eebf6) {
    background-color: var(--asf-paper) !important;
    border-bottom: 1px solid rgba(41,40,36,.08);
    margin-bottom: 0 !important;
}
body.asf-modern-design .jupiterx-header .elementor-element-bfad561 { background-color: var(--asf-ink) !important; }
body.asf-modern-design .jupiterx-header .elementor-element-bfad561 :is(.elementor-widget-text-editor, p, a, span, i) {
    color: var(--asf-paper) !important;
    text-decoration: none !important;
}
body.asf-modern-design .raven-nav-menu :is(a.raven-menu-item, a.raven-submenu-item) {
    color: var(--asf-ink) !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;
    transition: color .18s ease, background-color .18s ease;
}
body.asf-modern-design .raven-nav-menu-main .raven-nav-menu > li > a.raven-menu-item:hover,
body.asf-modern-design .raven-nav-menu-main .raven-nav-menu > li > a.raven-menu-item-active {
    color: var(--asf-ink) !important;
    border-bottom-color: var(--asf-red) !important;
}
body.asf-modern-design :is(.raven-nav-menu-main, .raven-nav-menu-mobile) .raven-submenu {
    background-color: var(--asf-paper) !important;
    border: 1px solid var(--asf-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--asf-shadow) !important;
    padding: 8px !important;
}
body.asf-modern-design .raven-submenu .raven-menu-item { border-radius: 7px; }
body.asf-modern-design .raven-submenu .raven-menu-item:hover { background-color: var(--asf-ivory) !important; color: var(--asf-ink) !important; }
body.asf-modern-design .raven-nav-menu-mobile { background-color: var(--asf-paper) !important; border-color: var(--asf-line) !important; }
body.asf-modern-design .raven-nav-menu-mobile .raven-nav-menu li { border-color: var(--asf-line) !important; }
body.asf-modern-design .raven-nav-menu-mobile .raven-menu-item:hover,
body.asf-modern-design .raven-nav-menu-mobile .raven-menu-item-active { background-color: var(--asf-ivory) !important; }
body.asf-modern-design .raven-nav-menu-toggle { color: var(--asf-ink) !important; border-radius: 10px; }
body.asf-modern-design .jupiterx-footer .raven-menu-item { border-bottom-color: transparent !important; }

/* All forms retain their field names, validation and submission handlers. */
body.asf-modern-design :is(.raven-form .raven-field, .elementor-form .elementor-field, .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .wpcf7 textarea, .wpcf7 select) {
    background-color: var(--asf-paper) !important;
    color: var(--asf-ink) !important;
    border: 1px solid var(--asf-line) !important;
    border-radius: 10px !important;
    padding: 13px 15px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    min-height: 50px;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}
body.asf-modern-design :is(.raven-field, .elementor-field, .wpcf7 input, .wpcf7 textarea)::placeholder { color: #716c63 !important; opacity: 1; }
body.asf-modern-design :is(.raven-field, .elementor-field, .wpcf7 input, .wpcf7 textarea):focus {
    border-color: var(--asf-taupe) !important;
    box-shadow: 0 0 0 3px rgba(117,102,85,.12) !important;
}
body.asf-modern-design :is(.raven-form, .elementor-form) textarea { min-height: 145px; resize: vertical; }
body.asf-modern-design .raven-field-group { margin-bottom: 12px !important; }
body.asf-modern-design :is(.raven-field[aria-invalid="true"], .raven-form .raven-field-invalid, .elementor-field[aria-invalid="true"], .wpcf7-not-valid) { border-color: #a3423c !important; }
body.asf-modern-design :is(.raven-form .raven-error, .raven-form .raven-form-error, .wpcf7-not-valid-tip, .elementor-error) { color: #a3423c !important; }

/* Blogs and editorial cards. */
body.asf-modern-design .raven-post { background-color: var(--asf-white) !important; border-color: var(--asf-line) !important; }
body.asf-modern-design .raven-post-title-link { color: var(--asf-ink) !important; text-decoration: none !important; }
body.asf-modern-design .raven-post-title-link:hover { color: var(--asf-hover) !important; }
body.asf-modern-design .raven-post-button {
    color: var(--asf-ink) !important;
    background-color: var(--asf-ivory) !important;
    border: 1px solid var(--asf-line) !important;
    border-radius: 9px !important;
    padding: 13px 24px !important;
    width: auto !important;
    min-width: 164px;
    max-width: 100%;
    height: auto !important;
    min-height: 52px;
    margin: 0 !important;
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-family: "Poppins", "Roboto", system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    text-transform: none !important;
}
body.asf-modern-design .raven-post-button-text {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    flex-shrink: 0;
    color: inherit !important;
    font: inherit !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}
body.asf-modern-design .raven-post-button:hover {
    background-color: var(--asf-brand-soft) !important;
    border-color: var(--asf-red) !important;
    color: var(--asf-red) !important;
    box-shadow: 0 4px 14px rgba(var(--asf-red-rgb), .12);
}
body.asf-modern-design :is(.raven-post-meta, .raven-post-meta a) { color: var(--asf-taupe) !important; }
body.asf-modern-design :is(.raven-pagination .page-numbers, .raven-posts-pagination a) { border-radius: 8px; color: var(--asf-ink) !important; }
body.asf-modern-design .raven-pagination .page-numbers.current { background-color: var(--asf-taupe) !important; color: var(--asf-white) !important; }

/* Warm, quiet footer. Original contact details and logo are preserved. */
body.asf-modern-design .jupiterx-footer { background-color: var(--asf-ivory) !important; }
body.asf-modern-design .jupiterx-footer :is(.elementor-element-0af2b4f, .elementor-element-3923f69) {
    background-color: var(--asf-ivory) !important;
    border-color: var(--asf-line) !important;
}
body.asf-modern-design .jupiterx-footer :is(.elementor-widget-text-editor, p, a, strong) { color: var(--asf-text) !important; }
body.asf-modern-design .jupiterx-footer .elementor-social-icon { background-color: transparent !important; }
body.asf-modern-design .jupiterx-footer .elementor-social-icon i { color: var(--asf-ink) !important; }
body.asf-modern-design .jupiterx-header .elementor-element-bfad561 .elementor-social-icon i { color: var(--asf-paper) !important; }
body.asf-modern-design .jupiterx-scroll-top {
    background-color: var(--asf-taupe) !important;
    color: var(--asf-white) !important;
    border: 1px solid var(--asf-taupe) !important;
    border-radius: 12px !important;
    box-shadow: var(--asf-shadow);
}
body.asf-modern-design .jupiterx-scroll-top:hover { background-color: var(--asf-red) !important; border-color: var(--asf-red) !important; }

/* Cookie buttons receive the palette without changing the consent choices. */
body.asf-modern-design :is(#moove_gdpr_cookie_info_bar, #moove_gdpr_cookie_modal) .mgbutton {
    background-color: var(--asf-taupe) !important;
    color: var(--asf-white) !important;
    border: 1px solid var(--asf-taupe) !important;
    border-radius: 9px !important;
    min-height: 44px;
}
body.asf-modern-design :is(#moove_gdpr_cookie_info_bar, #moove_gdpr_cookie_modal) .mgbutton:hover { background-color: var(--asf-red) !important; border-color: var(--asf-red) !important; }
body.asf-modern-design :is(#moove_gdpr_cookie_info_bar, #moove_gdpr_cookie_modal) :is(.moove-gdpr-infobar-settings-btn, .moove-gdpr-modal-reject-all) {
    background-color: var(--asf-white) !important;
    color: var(--asf-ink) !important;
    border-color: var(--asf-line) !important;
}
body.asf-modern-design :is(#moove_gdpr_cookie_info_bar, #moove_gdpr_cookie_modal) .change-settings-button { color: var(--asf-ink) !important; }
body.asf-modern-design #moove_gdpr_cookie_modal .moove-gdpr-modal-title { color: var(--asf-ink) !important; }

/* Shapes and spacing can be disabled independently in Appearance > Design Sénécal. */
body.asf-modern-shapes #jupiterx-main .elementor-widget-raven-image .raven-image,
body.asf-modern-shapes #jupiterx-main .elementor-widget-image img,
body.asf-modern-shapes #jupiterx-main .elementor-widget-raven-image img,
body.asf-modern-shapes #jupiterx-main .elementor-image-gallery .gallery-item img,
body.asf-modern-shapes #jupiterx-main .jet-images-layout__image {
    border-radius: var(--asf-radius) !important;
}
body.asf-modern-shapes .raven-post {
    border: 1px solid var(--asf-line) !important;
    border-radius: var(--asf-radius) !important;
    overflow: hidden;
    box-shadow: var(--asf-shadow);
    height: 100%;
}
body.asf-modern-shapes .raven-post-content { padding: 24px !important; }
body.asf-modern-shapes .raven-post-title { line-height: 1.3 !important; }
body.asf-modern-shapes .raven-post-image-wrap { margin: 0 !important; }
body.asf-modern-shapes .raven-post-image { border-radius: 0 !important; }
body.asf-modern-shapes .raven-post-image img { border-radius: 0 !important; }
body.asf-modern-shapes .elementor-widget-raven-form > .elementor-widget-container,
body.asf-modern-shapes .elementor-widget-form > .elementor-widget-container {
    background-color: var(--asf-white) !important;
    border: 1px solid var(--asf-line) !important;
    border-radius: calc(var(--asf-radius) + 4px) !important;
    box-shadow: var(--asf-shadow);
    padding: clamp(20px, 3vw, 36px) !important;
}
body.asf-modern-shapes .elementor-widget-google_maps iframe,
body.asf-modern-shapes .elementor-widget-jet-map iframe { border-radius: var(--asf-radius); }
body.asf-modern-shapes :is(.asf-project-card, .asf-photo-card) {
    border-radius: var(--asf-radius) !important;
    box-shadow: var(--asf-shadow);
    transition: box-shadow .2s ease;
}
body.asf-modern-shapes .asf-project-card {
    background-color: var(--asf-white) !important;
    border: 1px solid var(--asf-line) !important;
    overflow: hidden;
    padding: 14px !important;
    margin: 10px !important;
    align-content: flex-start;
}
body.asf-modern-shapes .asf-project-card .elementor-widget-image img { aspect-ratio: 3/2; object-fit: cover; width: 100%; }
body.asf-modern-shapes .asf-project-card .elementor-widget-text-editor { padding: 4px 8px 8px; font-size: 15px; }
body.asf-modern-shapes :is(.asf-project-card, .asf-photo-card):hover { box-shadow: 0 12px 30px rgba(41,40,36,.10); }
body.asf-modern-design .asf-photo-card :is(.raven-heading-title, .elementor-heading-title) { color: var(--asf-white) !important; }
body.asf-modern-design .asf-photo-card a.raven-button {
    background-color: rgba(253,252,249,.96) !important;
    color: var(--asf-ink) !important;
    border-color: rgba(255,255,255,.75) !important;
    box-shadow: none;
}
body.asf-modern-design .asf-photo-card a.raven-button:hover {
    background-color: var(--asf-brand-soft) !important;
    border-color: var(--asf-red) !important;
    color: var(--asf-red) !important;
}

/* The original FR and EN homepages share these Elementor element IDs. */
body.asf-modern-shapes .elementor-element-7987256 {
    padding: 20px 24px 0 !important;
    background-color: var(--asf-paper) !important;
}
body.asf-modern-shapes .elementor-element-f254052 > .elementor-widget-container,
body.asf-modern-shapes .elementor-element-f254052 .slider-pro,
body.asf-modern-shapes .elementor-element-f254052 .sp-mask {
    border-radius: calc(var(--asf-radius) + 6px) !important;
    overflow: hidden;
}
body.asf-modern-design .elementor-element-f254052 :is(.jet-slider,.asf-static-hero) .jet-slider__title {
    color: var(--asf-ink) !important;
    font-family: "Marcellus", Georgia, serif !important;
    text-transform: none !important;
    font-size: clamp(28px, 2.8vw, 36px) !important;
    line-height: 1.23 !important;
    letter-spacing: -.025em !important;
    text-shadow: none !important;
    text-align: left !important;
    padding: 0 0 12px !important;
}
body.asf-modern-design .elementor-element-f254052 :is(.jet-slider,.asf-static-hero) .jet-slider__subtitle {
    color: var(--asf-text) !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    letter-spacing: .01em !important;
    font-weight: 400 !important;
    text-shadow: none !important;
    text-align: left !important;
    padding: 0 !important;
}
body.asf-modern-design .elementor-element-f254052 {
    --asf-hero-height: clamp(580px, 72vh, 740px);
}
/* Reserve the final homepage width before Elementor's delayed stretch script runs. */
body.asf-home-stable #jupiterx-main > .jupiterx-main-content > :is(.container,.container-fluid) {
    max-width: none !important;
    width: 100% !important;
    padding-inline: 0 !important;
}
body.asf-home-stable #jupiterx-main > .jupiterx-main-content > :is(.container,.container-fluid) > .row { margin-inline: 0 !important; }
body.asf-home-stable #jupiterx-primary { padding-inline: 0 !important; }
body.asf-home-stable #jupiterx-main .elementor-top-section {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
}
/* The single photo is visible from the server HTML, without SliderPro initialization. */
body.asf-modern-design .elementor-element-f254052 .asf-static-hero {
    display: block;
    position: relative;
    width: 100%;
    height: var(--asf-hero-height);
    min-height: var(--asf-hero-height);
    overflow: hidden;
    border-radius: calc(var(--asf-radius) + 6px);
    opacity: 1 !important;
    visibility: visible !important;
}
body.asf-modern-design .elementor-element-f254052 :is(.asf-hero-frame,.asf-hero-slides,.asf-hero-slide) {
    display: block !important;
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
body.asf-modern-design .elementor-element-f254052 .asf-hero-image {
    display: block;
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover;
    object-position: center 52%;
    opacity: 1 !important;
    visibility: visible !important;
    transition: none !important;
}
body.asf-modern-design .elementor-element-f254052 .asf-static-hero .jet-slider__content {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
body.asf-modern-shapes .elementor-element-f254052 :is(.slider-pro,.sp-slides-container,.sp-mask,.jet-slider__item,.sp-image-container) {
    height: var(--asf-hero-height) !important;
    min-height: 0 !important;
}
body.asf-modern-shapes .elementor-element-f254052 .sp-image {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    position: absolute !important;
    inset: 0 !important;
    object-fit: cover;
    object-position: center 52%;
}
body.asf-modern-design .elementor-element-f254052 .jet-slider__content {
    z-index: 2 !important;
    align-items: stretch !important;
    height: 100% !important;
}
body.asf-modern-design .elementor-element-f254052 .jet-slider__content-item {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: flex-end !important;
    padding: clamp(24px, 4vw, 52px) !important;
    box-sizing: border-box;
}
body.asf-modern-design .elementor-element-f254052 .jet-slider__content-inner {
    width: 560px !important;
    max-width: 100% !important;
    padding: 26px 28px !important;
    margin: 0 !important;
    background-color: rgba(253,252,249,.97) !important;
    border: 1px solid rgba(255,255,255,.9);
    border-left: 3px solid var(--asf-red);
    border-radius: var(--asf-radius);
    box-shadow: 0 8px 28px rgba(41,40,36,.08);
    align-items: flex-start !important;
    text-align: left !important;
}
body.asf-modern-design .elementor-element-f254052 .jet-slider__item::before { background: transparent !important; }
body.asf-modern-design .elementor-element-f254052 .jet-slider__item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,rgba(24,23,20,0),rgba(24,23,20,.08));
    pointer-events: none;
    z-index: 1;
}
body.asf-modern-design .elementor-element-f254052 .jet-slider__button-wrapper { text-align: left !important; }
body.asf-modern-design .elementor-element-f254052 .jet-slider__button { margin-top: 18px !important; padding-inline: 24px !important; }
body.asf-modern-shapes .elementor-element-71f6d50 { margin: 0 !important; padding: 52px 24px 28px !important; }
body.asf-modern-shapes .elementor-element-eb82f20 { margin: 0 !important; padding: 0 24px 44px !important; }
body.asf-modern-shapes .elementor-element-4c3ceb7 { margin: 0 !important; padding: 48px 24px !important; }
body.asf-modern-shapes .elementor-element-aa9f49c { margin: 0 !important; padding: 24px 24px 36px !important; }
body.asf-modern-shapes .elementor-element-667e601 { margin: 0 !important; padding: 24px 24px 32px !important; }
body.asf-modern-shapes .elementor-element-24edf4b { margin: 0 !important; padding: 24px 24px 48px !important; }
body.asf-modern-shapes .elementor-element-c3e8d5d { margin: 0 !important; padding: 48px 24px !important; }
body.asf-modern-shapes #jupiterx-main :is(.elementor-element-71f6d50,.elementor-element-eb82f20,.elementor-element-4c3ceb7,.elementor-element-aa9f49c,.elementor-element-667e601,.elementor-element-24edf4b,.elementor-element-c3e8d5d) > .elementor-container {
    max-width: 1320px !important;
    width: 100%;
    margin-inline: auto;
}
body.asf-modern-shapes #jupiterx-main :is(.elementor-element-9f4a264,.elementor-element-882d327,.elementor-element-d11417e) > .elementor-widget-container { margin: 0 !important; }
body.asf-modern-shapes #jupiterx-main :is(.elementor-element-9f4a264,.elementor-element-882d327,.elementor-element-d11417e) .raven-image { display: block; width: 100% !important; }
body.asf-modern-shapes .elementor-element-4c3ceb7 .raven-image img { height: clamp(360px,36vw,500px) !important; width: 100% !important; object-fit: cover; }
body.asf-modern-shapes .elementor-element-667e601 .raven-image img { height: clamp(360px,40vw,540px) !important; width: 100% !important; object-fit: cover; }
body.asf-modern-shapes .elementor-element-63c55fb > .elementor-container { flex-wrap: wrap; justify-content: center; }
body.asf-modern-shapes .elementor-element-63c55fb > .elementor-container > .elementor-column { width: 33.3333% !important; min-height: 360px; }
body.asf-modern-shapes .elementor-element-63c55fb > .elementor-container > .elementor-column > .elementor-widget-wrap {
    border-radius: var(--asf-radius) !important;
    overflow: hidden;
    padding: 28px !important;
    margin: 10px !important;
}
body.asf-modern-shapes .elementor-element-63c55fb .elementor-background-overlay { border-radius: inherit; }
body.asf-modern-design .elementor-element-63c55fb .raven-heading-title { color: var(--asf-white) !important; font-size: 26px !important; line-height: 1.18 !important; }
body.asf-modern-design .elementor-element-63c55fb .raven-button {
    background-color: var(--asf-paper) !important;
    color: var(--asf-ink) !important;
    border-color: transparent !important;
}
body.asf-modern-design .elementor-element-63c55fb .raven-button:hover {
    background-color: var(--asf-brand-soft) !important;
    border-color: var(--asf-red) !important;
    color: var(--asf-red) !important;
}
body.asf-modern-design .elementor-element-c3e8d5d { background-color: var(--asf-ivory) !important; }

/* Existing subpage photo headers and overlapping title panels, FR and EN. */
body.asf-modern-shapes #jupiterx-main :is(.elementor-element-155a550,.elementor-element-ef68b54) {
    border-radius: calc(var(--asf-radius) + 6px) !important;
    margin: 20px 24px 0 !important;
    width: calc(100% - 48px) !important;
    left: 0 !important;
    overflow: hidden;
}
body.asf-modern-shapes #jupiterx-main :is(.elementor-element-5520c2e,.elementor-element-998da54) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    background-color: var(--asf-paper) !important;
    border-radius: calc(var(--asf-radius) + 4px) !important;
    border: 1px solid rgba(213,206,194,.7);
    padding: 40px 36px !important;
    box-shadow: var(--asf-shadow);
}
body.asf-modern-shapes #jupiterx-main :is(.elementor-element-5520c2e,.elementor-element-998da54) { padding-inline: 24px !important; }

/* A readable hierarchy; use fonts already present on the site. */
body.asf-modern-design #jupiterx-main :is(.elementor-widget-text-editor,.elementor-icon-list-text,.raven-post-excerpt) {
    font-family: "Poppins", "Roboto", system-ui, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    font-weight: 400;
    letter-spacing: normal;
}
body.asf-modern-design #jupiterx-main .elementor-widget-text-editor p {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    line-height: 1.75 !important;
}
body.asf-modern-design #jupiterx-main .elementor-widget-text-editor p:last-child { margin-bottom: 0 !important; }
body.asf-modern-design #jupiterx-main .elementor-col-100 > .elementor-widget-wrap > .elementor-widget-text-editor > .elementor-widget-container {
    max-width: 78ch;
    margin-inline: auto;
}
body.asf-modern-design #jupiterx-main :is(.raven-heading-h1,.raven-heading-h2) .raven-heading-title {
    font-size: clamp(27px,2.8vw,38px) !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
}
body.asf-modern-design #jupiterx-main :is(.raven-heading-h3,.raven-heading-h4,.raven-heading-h5,.raven-heading-h6) .raven-heading-title {
    font-family: "Poppins", "Roboto", system-ui, sans-serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    letter-spacing: -.015em !important;
}
body.asf-modern-design #jupiterx-main .elementor-widget-icon-list .elementor-icon-list-item {
    align-items: flex-start !important;
    padding-bottom: 12px !important;
    line-height: 1.7 !important;
}
body.asf-modern-design #jupiterx-main .elementor-icon-list-icon { flex-shrink: 0; padding-top: 4px; }
body.asf-modern-design #jupiterx-main .elementor-widget-divider .elementor-divider { padding-top: 12px !important; padding-bottom: 18px !important; }
body.asf-modern-design #jupiterx-main .elementor-divider-separator {
    height: 2px;
    border: none !important;
    background: linear-gradient(90deg,var(--asf-red) 0 20%,var(--asf-line) 20% 100%);
}
/* The image-card titles keep their established on-photo treatment. */
body.asf-modern-design #jupiterx-main .elementor-element-63c55fb .raven-heading-title {
    font-family: "Poppins", "Roboto", system-ui, sans-serif !important;
    font-size: 25px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

/* The nine original benefits are grouped below a balanced photo / introduction. */
body.asf-modern-shapes .asf-benefits-layout > .elementor-container { align-items: center; }
body.asf-modern-shapes .asf-benefits-layout > .elementor-container > .elementor-element-56d2ea2 { width: 45% !important; }
body.asf-modern-shapes .asf-benefits-layout > .elementor-container > .elementor-element-756ab97 { width: 55% !important; }
body.asf-modern-shapes .asf-benefits-layout .elementor-element-56d2ea2 > .elementor-widget-wrap { padding: 0 24px 0 0 !important; }
body.asf-modern-shapes .asf-benefits-layout .elementor-element-756ab97 > .elementor-widget-wrap { padding: 24px 32px !important; align-content: center; }
body.asf-modern-shapes #jupiterx-main .asf-benefits-layout .elementor-element-7020dbd .raven-heading-title {
    font-size: clamp(26px,2.6vw,34px) !important;
    line-height: 1.3 !important;
}
body.asf-modern-shapes .asf-benefits-layout .asf-benefits-intro {
    color: var(--asf-text) !important;
    font-family: "Poppins", "Roboto", system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.75;
    max-width: 58ch;
    margin: 18px 0 0;
}
body.asf-modern-shapes .asf-benefits-layout .elementor-element-9f4a264 .raven-image img {
    width: 100% !important;
    height: clamp(420px, 38vw, 500px) !important;
    display: block;
    object-fit: cover;
    object-position: center 46%;
}
body.asf-modern-shapes .asf-benefits-layout > .elementor-widget-icon-list {
    width: 100%;
    max-width: 1320px;
    margin: 24px auto 0 !important;
}
body.asf-modern-shapes .asf-benefits-layout > .elementor-widget-icon-list > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
body.asf-modern-shapes .asf-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
}
body.asf-modern-shapes .asf-benefit-card {
    background-color: var(--asf-white);
    border: 1px solid var(--asf-line);
    border-radius: var(--asf-radius);
    padding: 26px;
}
body.asf-modern-shapes .asf-benefit-card h4 {
    color: var(--asf-ink) !important;
    font-family: "Poppins", "Roboto", system-ui, sans-serif !important;
    font-size: 19px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    letter-spacing: -.01em !important;
    margin: 0 0 20px !important;
}
body.asf-modern-shapes .asf-benefit-list { margin: 0 !important; padding: 0 !important; list-style: none; }
body.asf-modern-shapes #jupiterx-main .asf-benefit-card .elementor-icon-list-item {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding: 0 0 16px !important;
}
body.asf-modern-shapes #jupiterx-main .asf-benefit-card .elementor-icon-list-item:last-child { padding-bottom: 0 !important; }
body.asf-modern-shapes #jupiterx-main .asf-benefit-card .elementor-icon-list-text { font-size: 15px !important; line-height: 1.7 !important; }
body.asf-modern-shapes .asf-benefit-card .elementor-icon-list-text a { color: var(--asf-ink) !important; text-decoration: underline; text-decoration-color: var(--asf-line); }

/* A compact branded footer: small logo, two location cards and a clear link grid. */
body.asf-modern-shapes .jupiterx-footer .elementor-element-0af2b4f { padding: 36px 24px 20px !important; }
body.asf-modern-shapes .jupiterx-footer .elementor-element-0af2b4f > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0,1.45fr) minmax(0,1fr);
    gap: 44px;
    max-width: 1320px !important;
    align-items: start;
}
body.asf-modern-shapes .jupiterx-footer .elementor-element-0af2b4f > .elementor-container > .elementor-column { width: 100% !important; min-width: 0; }
body.asf-modern-shapes .jupiterx-footer .elementor-element-4358699 { margin-bottom: 18px !important; }
body.asf-modern-shapes .jupiterx-footer .elementor-element-4358699 img { width: 220px !important; max-width: 100%; height: auto; }
body.asf-modern-shapes .jupiterx-footer .elementor-element-42b5804 > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}
body.asf-modern-shapes .jupiterx-footer .elementor-element-42b5804 > .elementor-container > .elementor-column { width: 100% !important; min-width: 0; }
body.asf-modern-shapes .jupiterx-footer .elementor-element-42b5804 > .elementor-container > .elementor-column > .elementor-widget-wrap {
    background-color: var(--asf-white);
    border: 1px solid var(--asf-line);
    border-radius: 14px;
    padding: 18px !important;
}
body.asf-modern-design .jupiterx-footer .elementor-element-42b5804 p { font-size: 14px !important; line-height: 1.75 !important; margin-bottom: 0 !important; }
body.asf-modern-design .jupiterx-footer .elementor-element-42b5804 strong { color: var(--asf-ink) !important; font-weight: 600; }
body.asf-modern-design .jupiterx-footer .elementor-element-42b5804 a[href^="tel:"] { display: inline-block; margin-top: 6px; font-size: 16px; font-weight: 600; }
body.asf-modern-shapes .jupiterx-footer .elementor-element-a17fb27 { margin-top: 16px !important; margin-bottom: 0 !important; }
body.asf-modern-design .jupiterx-footer .raven-nav-menu-main > .raven-nav-menu {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px 12px;
    width: 100%;
}
body.asf-modern-design .jupiterx-footer .raven-nav-menu-main > .raven-nav-menu > li { width: auto !important; margin: 0 !important; min-width: 0; }
body.asf-modern-design .jupiterx-footer .raven-nav-menu-main > .raven-nav-menu > li > .raven-menu-item {
    font-size: 14px !important;
    line-height: 1.5 !important;
    padding: 8px 10px !important;
    min-height: 40px;
    border-radius: 8px;
    white-space: normal !important;
}
body.asf-modern-design .jupiterx-footer .raven-menu-item:hover { background-color: var(--asf-stone) !important; }
body.asf-modern-shapes .jupiterx-footer .elementor-element-3923f69 { padding: 18px 24px 24px !important; border-top: 1px solid var(--asf-line); }
body.asf-modern-shapes .jupiterx-footer .elementor-element-3923f69 > .elementor-container { max-width: 1320px !important; }
body.asf-modern-shapes .jupiterx-footer .elementor-element-4b9fe4e > .elementor-widget-wrap { align-items: center; justify-content: space-between; gap: 12px 24px; }
body.asf-modern-shapes .jupiterx-footer :is(.elementor-element-cbc00c8,.elementor-element-18da36e) { width: auto !important; max-width: 100%; margin: 0 !important; }
body.asf-modern-design .jupiterx-footer .elementor-element-cbc00c8 p { display: inline-block; margin: 0 20px 0 0 !important; font-size: 13px !important; line-height: 1.7 !important; }
body.asf-modern-design .jupiterx-footer .elementor-element-18da36e a { font-size: 13px !important; }

/* A faint brand-red shadow frames photographs; image colors stay natural. */
body.asf-modern-shapes #jupiterx-main .elementor-widget-raven-image .raven-image,
body.asf-modern-shapes #jupiterx-main .elementor-widget-image img,
body.asf-modern-shapes #jupiterx-main .elementor-image-gallery .gallery-item img,
body.asf-modern-shapes #jupiterx-main .jet-images-layout__image,
body.asf-modern-shapes #jupiterx-main :is(.asf-project-card,.asf-photo-card,.raven-post),
body.asf-modern-shapes #jupiterx-main .elementor-element-f254052 > .elementor-widget-container,
body.asf-modern-shapes #jupiterx-main :is(.elementor-element-155a550,.elementor-element-ef68b54) {
    box-shadow: var(--asf-photo-shadow);
}
body.asf-modern-shapes #jupiterx-main .asf-project-card .elementor-widget-image img { box-shadow: none; }
body.asf-modern-shapes #jupiterx-main :is(.asf-project-card,.asf-photo-card,.raven-post):hover { box-shadow: var(--asf-photo-shadow-hover); }

/* Give the two blog archives a wide canvas and roomy, consistent article cards. */
body.asf-blog-archive #jupiterx-main > .jupiterx-main-content > .container {
    width: 100% !important;
    max-width: 1480px !important;
    margin-inline: auto;
    padding-inline: 24px !important;
}
body.asf-blog-archive #jupiterx-main > .jupiterx-main-content > .container > .row { margin-inline: 0 !important; }
body.asf-blog-archive #jupiterx-primary { padding-inline: 0 !important; }
body.asf-modern-shapes.asf-blog-archive #jupiterx-main .elementor-element-5520c2e {
    margin: 0 !important;
    padding: 32px 0 52px !important;
    padding-inline: 0 !important;
}
body.asf-blog-archive #jupiterx-main .elementor-element-5520c2e > .elementor-container {
    width: 100%;
    max-width: none !important;
}
body.asf-modern-shapes.asf-blog-archive #jupiterx-main .elementor-element-5520c2e > .elementor-container > .elementor-column > .elementor-widget-wrap {
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none;
    padding: 0 !important;
    row-gap: 32px;
}
body.asf-blog-archive #jupiterx-main .elementor-element-5520c2e .elementor-widget-raven-heading {
    max-width: 800px;
    margin: 0 auto !important;
}
body.asf-blog-archive #jupiterx-main .elementor-element-5520c2e :is(.elementor-widget-raven-heading,.elementor-widget-raven-posts) > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}
body.asf-blog-archive #jupiterx-main .elementor-widget-raven-posts { margin: 0 !important; }
body.asf-blog-archive #jupiterx-main .raven-posts {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
body.asf-blog-archive #jupiterx-main .raven-post-item {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
body.asf-blog-archive #jupiterx-main .raven-post {
    display: flex;
    flex-direction: column;
    width: 100%;
}
body.asf-blog-archive #jupiterx-main .raven-post-image-wrap { padding: 0 !important; flex-shrink: 0; }
body.asf-blog-archive #jupiterx-main .raven-post-image {
    display: block;
    position: relative;
    aspect-ratio: 3 / 2;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden;
}
body.asf-blog-archive #jupiterx-main .raven-post-image img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
body.asf-blog-archive #jupiterx-main .raven-post-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    padding: 26px !important;
}
body.asf-blog-archive #jupiterx-main :is(.raven-post-title,.raven-post-title-link) {
    font-family: "Poppins", "Roboto", system-ui, sans-serif !important;
    font-size: clamp(21px, 1.5vw, 23px) !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
}
body.asf-blog-archive #jupiterx-main .raven-post-title { margin: 0 0 14px !important; }
body.asf-blog-archive #jupiterx-main .raven-post-excerpt { margin: 0 !important; }
body.asf-blog-archive #jupiterx-main .raven-post-read-more { margin-top: auto; padding-top: 22px; }
body.asf-blog-archive #jupiterx-main .raven-pagination { margin-top: 32px !important; }

@media (max-width: 1024px) {
    body.asf-blog-archive #jupiterx-main .raven-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    body.asf-modern-shapes .asf-benefits-layout > .elementor-container > :is(.elementor-element-56d2ea2,.elementor-element-756ab97) { width: 100% !important; }
    body.asf-modern-shapes .asf-benefits-layout .elementor-element-56d2ea2 > .elementor-widget-wrap { padding: 0 !important; }
    body.asf-modern-shapes .asf-benefits-layout .elementor-element-756ab97 > .elementor-widget-wrap { padding: 24px 0 0 !important; }
    body.asf-modern-shapes .asf-benefits-layout .elementor-element-9f4a264 .raven-image img { height: clamp(360px, 50vw, 500px) !important; }
    body.asf-modern-shapes .elementor-element-63c55fb > .elementor-container > .elementor-column { width: 50% !important; }
    body.asf-modern-shapes .asf-benefits-grid { grid-template-columns: 1fr; gap: 14px; }
    body.asf-modern-shapes .asf-benefit-card { padding: 22px; }
    body.asf-modern-shapes .jupiterx-footer .elementor-element-0af2b4f > .elementor-container { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
    body.asf-blog-archive #jupiterx-main > .jupiterx-main-content > .container { padding-inline: 16px !important; }
    body.asf-modern-shapes.asf-blog-archive #jupiterx-main .elementor-element-5520c2e { padding: 24px 0 36px !important; }
    body.asf-blog-archive #jupiterx-main .raven-posts { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    body.asf-blog-archive #jupiterx-main .raven-post-content { padding: 22px !important; }
    body.asf-modern-design :is(a.raven-button, a.elementor-button, .raven-submit-button) { padding: 13px 18px !important; font-size: 14px !important; }
    body.asf-modern-design .raven-nav-menu-toggle { min-width: 44px; min-height: 44px; padding: 10px; }
    body.asf-modern-design .raven-nav-menu-mobile .raven-menu-item { min-height: 44px; }
    body.asf-modern-shapes .elementor-element-7987256 { padding: 12px 12px 0 !important; }
    body.asf-modern-design .elementor-element-f254052 { --asf-hero-height: 660px; }
    @supports (height: 1svh) {
        body.asf-modern-design .elementor-element-f254052 { --asf-hero-height: clamp(600px, 85svh, 720px); }
    }
    body.asf-modern-design .elementor-element-f254052 .jet-slider__content-item { padding: 16px !important; }
    body.asf-modern-design .elementor-element-f254052 .jet-slider__content-inner { width: 100% !important; padding: 20px !important; }
    body.asf-modern-design .elementor-element-f254052 .jet-slider__title { font-size: 27px !important; line-height: 1.25 !important; }
    body.asf-modern-design .elementor-element-f254052 .jet-slider__subtitle { font-size: 15px !important; }
    body.asf-modern-shapes .elementor-element-63c55fb > .elementor-container > .elementor-column { width: 100% !important; min-height: 330px; }
    body.asf-modern-shapes .elementor-element-63c55fb > .elementor-container > .elementor-column > .elementor-widget-wrap { margin: 8px 0 !important; }
    body.asf-modern-shapes .elementor-element-71f6d50 { padding: 36px 16px 20px !important; }
    body.asf-modern-shapes .elementor-element-eb82f20 { padding: 0 16px 28px !important; }
    body.asf-modern-shapes .elementor-element-24edf4b { padding: 24px 16px 36px !important; }
    body.asf-modern-shapes :is(.elementor-element-4c3ceb7,.elementor-element-667e601) { padding: 28px 16px !important; }
    body.asf-modern-shapes .elementor-element-aa9f49c { margin: 0 !important; padding: 20px 16px 28px !important; }
    body.asf-modern-shapes .elementor-element-c3e8d5d { padding: 36px 16px !important; }
    body.asf-modern-shapes :is(.elementor-element-4c3ceb7,.elementor-element-667e601) .raven-image img { height: auto !important; aspect-ratio: 4/3; object-fit: cover; }
    body.asf-modern-shapes #jupiterx-main :is(.elementor-element-155a550,.elementor-element-ef68b54) { margin: 12px 12px 0 !important; width: calc(100% - 24px) !important; }
    body.asf-modern-shapes #jupiterx-main :is(.elementor-element-5520c2e,.elementor-element-998da54) { padding-inline: 20px !important; }
    body.asf-modern-shapes #jupiterx-main :is(.elementor-element-5520c2e,.elementor-element-998da54) > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 28px 20px !important; }
    body.asf-modern-shapes .raven-post-content { padding: 20px !important; }
    body.asf-modern-shapes .asf-project-card { margin: 10px 0 !important; }
    body.asf-modern-shapes .asf-benefits-layout .elementor-element-9f4a264 .raven-image img { height: 320px !important; object-position: center 46%; }
    body.asf-modern-shapes #jupiterx-main .asf-benefits-layout .elementor-element-7020dbd .raven-heading-title { font-size: 27px !important; }
    body.asf-modern-shapes .asf-benefits-layout .elementor-element-756ab97 > .elementor-widget-wrap { padding: 20px 10px !important; }
    body.asf-modern-shapes .asf-benefits-layout .asf-benefits-intro { font-size: 16px; }
    body.asf-modern-shapes .asf-benefits-layout > .elementor-widget-icon-list { margin-top: 18px !important; }
    body.asf-modern-shapes .asf-benefit-card { padding: 20px; }
    body.asf-modern-shapes .jupiterx-footer .elementor-element-0af2b4f { padding: 28px 16px 18px !important; }
    body.asf-modern-shapes .jupiterx-footer .elementor-element-42b5804 > .elementor-container { grid-template-columns: 1fr; gap: 12px; }
    body.asf-modern-shapes .jupiterx-footer .elementor-element-3923f69 { padding: 18px 16px 24px !important; }
    body.asf-modern-design .jupiterx-footer .elementor-element-cbc00c8 p { display: block; margin: 0 0 8px !important; }
}
@media (prefers-reduced-motion: reduce) {
    body.asf-modern-design :is(.raven-button,.elementor-button,.raven-submit-button,.raven-menu-item,.asf-project-card,.asf-photo-card,.raven-field) { transition: none !important; }
}
