/* Yolanda Flecher — presentation layer. Original DM Sans / Figtree and brand palette.
   Scoped to public templates; no Elementor data or booking logic is changed. */
:root {
  --yf-pink: #e75387;
  --yf-rose: #cc749a;
  --yf-teal: #339aa1;
  --yf-space: clamp(64px, 7.5vw, 112px);
  --yf-ease: cubic-bezier(.2,.7,.2,1);
}
html { scroll-padding-top: 116px; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: #ecd6e0; color: var(--yf-ink); }
/* Elementor also puts section padding on its boxed inner wrapper. Apply it once. */
.home .elementor[data-elementor-type=wp-page] > .e-con > .e-con-inner { padding-top: 0!important; padding-bottom: 0!important; }

/* A quiet, persistent masthead; dropdowns and mobile dialogs retain their behavior. */
#masthead { position: sticky; top: -40px; z-index: 990; background: #fff; transition: box-shadow .25s; }
body.admin-bar #masthead { top: -8px; }
#masthead .header-top { min-height: 40px; background: var(--yf-soft); border-bottom: 1px solid var(--yf-line); }
#masthead .header-top .container { padding-top: 5px; padding-bottom: 5px; }
#masthead .header-top a { font-size: 13px; }
#masthead .header-main { background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(13,23,59,.06); }
#masthead .header-main { padding-block: 0!important; }
#masthead .header-main > .container { padding-top: 12px; padding-bottom: 12px; }
#masthead .site-logo img { width: 160px; max-height: 76px; object-fit: contain; }
#masthead .main-navigation .nav-menu > li > a { font-size: 15px; font-weight: 500; }
#masthead .main-navigation .nav-menu > li:not(.menu-item-has-children) > a { text-underline-offset: 7px; }
#masthead .main-navigation .nav-menu > li > a:hover { color: var(--yf-plum); }
#masthead .main-navigation .sub-menu { border: 1px solid var(--yf-line); border-radius: 16px; padding: 12px; box-shadow: 0 20px 50px rgba(13,23,59,.12); }
#masthead .main-navigation .sub-menu a { border-radius: 8px; font-size: 14px; }
/* Long desktop dropdowns must fit below the sticky masthead. Two columns keep
   the attention areas visible; short windows can scroll inside the dropdown. */
@media(min-width:1200px) {
  #masthead .header-main > .container > .nav-wrap #primary-menu > li > .sub-menu {
    max-height: calc(100vh - 180px);
    max-height: calc(100dvh - 180px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--yf-rose) var(--yf-soft);
    scroll-padding-block: 12px;
  }
  #masthead .header-main > .container > .nav-wrap #primary-menu > li:focus-within > .sub-menu {
    visibility: visible; opacity: 1; transform: translateY(0); z-index: 99998;
  }
  #masthead .header-main > .container > .nav-wrap #primary-menu > li > .sub-menu:has(> li:nth-child(9)) {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 4px 8px;
    width: min(560px,calc(100vw - 48px));
    left: auto;
    right: 0;
  }
  #masthead .header-main > .container > .nav-wrap #primary-menu > li > .sub-menu:has(> li:nth-child(9)) > li {
    padding: 0; margin: 0; border: 0; min-width: 0;
  }
  #masthead .header-main > .container > .nav-wrap #primary-menu > li > .sub-menu:has(> li:nth-child(9)) > li > a {
    display: flex; align-items: center; min-height: 48px; height: 100%;
    padding: 12px 16px; line-height: 1.5; white-space: normal;
  }
  #masthead .header-main > .container > .nav-wrap #primary-menu > li > .sub-menu:has(> li:nth-child(9)) > li > a:is(:hover,:focus-visible) {
    background: var(--yf-soft); color: var(--yf-plum-dark);
  }
}
#masthead .button-wrap .btn-readmore { min-height: 48px; padding: 13px 24px; border-radius: 100px; background: var(--yf-plum); color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .015em; }
#masthead .button-wrap .btn-readmore:hover { background: var(--yf-plum-dark); }
.yfsc-scrolled #masthead { box-shadow: 0 5px 25px rgba(13,23,59,.08); }

/* Shared details: measured type, restrained elevation, consistent controls. */
.elementor-button { font-size: 15px!important; font-weight: 600!important; padding: 16px 26px!important; letter-spacing: .01em; text-transform: none!important; box-shadow: none!important; transition: background-color .25s, color .25s, border-color .25s, transform .25s, box-shadow .25s; }
.elementor-button:not(.elementor-button-success .elementor-button) { background-color: var(--yf-plum); color: #fff; }
.elementor-button:hover { background-color: var(--yf-plum-dark); box-shadow: 0 8px 22px rgba(135,50,88,.16)!important; transform: translateY(-3px); }
.elementor-button .elementor-button-content-wrapper { align-items: center; }
.elementor-button .elementor-button-text { line-height: 1.45; }
.elementor-widget-n-accordion .e-n-accordion-item { border-color: var(--yf-line); box-shadow: none; border-radius: 14px; transition: border-color .25s, box-shadow .25s; }
.elementor-widget-n-accordion .e-n-accordion-item:hover { border-color: var(--yf-rose); }
.elementor-widget-n-accordion .e-n-accordion-item[open] { border-color: var(--yf-rose); box-shadow: 0 8px 28px rgba(13,23,59,.05); }
.elementor-widget-n-accordion .e-n-accordion-item-title { min-height: 64px; padding: 21px 24px!important; }
.elementor-widget-n-accordion .e-n-accordion-item-title-text { font-size: 17px!important; letter-spacing: 0; text-transform: none; }
.elementor-widget-n-accordion .e-n-accordion-item-title-icon { color: var(--yf-plum); }
.elementor-widget-n-accordion .e-n-accordion-item > [role=region] { padding: 12px 24px 24px!important; }

/* Home: a full photographic opening, left-aligned like the rest of the page. */
.home .elementor .elementor-element-68473cd {
  min-height: clamp(570px, 46vw, 710px); padding-top: 100px!important; padding-bottom: 100px!important;
  background-position: center 48%!important;
  background-size: cover; isolation: isolate; overflow: hidden; box-shadow: none!important;
}
.home .elementor .elementor-element-68473cd::before {
  content: ''; position: absolute; inset: 0; opacity: 1!important; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(13,23,59,.86), rgba(13,23,59,.61) 48%, rgba(13,23,59,.18));
}
.home .elementor .elementor-element-68473cd::after {
  content: ''; position: absolute; pointer-events: none; width: 440px; height: 440px;
  right: -140px; bottom: -260px; border: 1px solid rgba(255,255,255,.32); border-radius: 50%;
  box-shadow: 0 0 0 40px rgba(255,255,255,.055), 0 0 0 80px rgba(255,255,255,.04); z-index: 0;
}
.home .elementor .elementor-element-68473cd > .e-con-inner { position: relative; z-index: 1; align-items: flex-start; justify-content: center; gap: 36px; }
.home .elementor .elementor-element-d7afd7b { width: 100%!important; max-width: 900px; text-align: left; }
.home .elementor .elementor-element-d7afd7b h1 {
  max-width: 880px; color: #fff; font-size: clamp(42px, 4.7vw, 70px)!important;
  line-height: 1.08!important; letter-spacing: -.045em; font-weight: 600!important;
  text-shadow: none; text-wrap: balance; margin: 0;
}
.yfsc-hero-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 28px!important; color: #fff; font-size: 13px; font-weight: 500; line-height: 1.5; text-transform: uppercase; letter-spacing: .18em; }
.yfsc-hero-eyebrow::before { content: ''; width: 36px; height: 2px; background: var(--yf-rose); }
.home .elementor .elementor-element-668a4fb { width: auto; flex-direction: row; justify-content: flex-start; gap: 14px; padding: 0; margin-top: 0!important; }
.home .elementor .elementor-element-668a4fb > .elementor-widget { margin: 0!important; }
.home .elementor .elementor-element-668a4fb > .elementor-widget > .elementor-widget-container { margin: 0!important; padding: 0!important; }
.home .elementor .elementor-element-68473cd .elementor-button { min-height: 56px; padding: 17px 29px!important; }
.home .elementor .elementor-element-702d0f8 .elementor-button { background: var(--yf-plum); border: 1px solid transparent; }
.home .elementor .elementor-element-702d0f8 .elementor-button:hover { background: var(--yf-plum-dark); }
.home .elementor .elementor-element-b1e9814 .elementor-button { background: transparent; border: 1px solid rgba(255,255,255,.7); color: #fff; }
.home .elementor .elementor-element-b1e9814 .elementor-button:hover { background: #fff; color: var(--yf-ink); }

/* Personal introduction: a soft portrait frame and a generous two-column rhythm. */
.home .elementor .elementor-element-9ae1838 { padding-top: var(--yf-space)!important; padding-bottom: var(--yf-space)!important; background: #fff; }
.home .elementor .elementor-element-9ae1838 > .e-con-inner { gap: clamp(32px, 5.5vw, 88px); align-items: center; }
.home .elementor .elementor-element-8311a32 { width: 54%; padding: 0; gap: 24px; }
.home .elementor .elementor-element-ef60ddc { width: 46%; padding: 24px 0 24px 24px; position: relative; }
.home .elementor .elementor-element-025ff7a,
.home .elementor .elementor-element-b767c86,
.home .elementor .elementor-element-70069a5,
.home .elementor .elementor-element-be46ca4,
.home .elementor .elementor-element-ccbf4ee { display: none!important; }
.home .elementor .elementor-element-501f98a { width: 100%; }
.home .elementor .elementor-element-501f98a h2 { font-size: clamp(30px, 2.7vw, 42px)!important; line-height: 1.17; letter-spacing: -.035em; font-weight: 600; }
.home .elementor .elementor-element-e3be8d6 { color: var(--yf-text); font-size: 17px; line-height: 1.8; }
.home .elementor .elementor-element-e3be8d6 p { margin-bottom: 20px; }
.home .elementor .elementor-element-e3be8d6 p:last-child { margin-bottom: 0; color: var(--yf-plum-dark); }
.home .elementor .elementor-element-28f449d { width: 100%; position: relative; }
.home .elementor .elementor-element-28f449d > .elementor-widget-container { margin: 0!important; overflow: hidden; border-radius: 180px 180px 24px 24px; box-shadow: 0 24px 60px rgba(13,23,59,.1); background: var(--yf-soft); }
.home .elementor .elementor-element-28f449d img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center; transform: translateY(var(--yf-portrait-y,0px)) scale(1.045); }
.home .elementor .elementor-element-ef60ddc::after { content: ''; position: absolute; inset: 0 22px 0 0; border: 1px solid var(--yf-line); border-radius: 190px 190px 30px 30px; pointer-events: none; }

/* The help section is a calm panel with simple, open icon columns. */
.home .elementor .elementor-element-7347951 { margin: 0!important; padding-top: var(--yf-space)!important; padding-bottom: 28px!important; background: var(--yf-soft); }
.home .elementor .elementor-element-7347951 > .e-con-inner { max-width: 920px; gap: 18px; }
.home .elementor .elementor-element-c77822a .elementor-heading-title { font-size: 12px!important; font-weight: 600; letter-spacing: .2em; color: var(--yf-plum-dark); }
.home .elementor .elementor-element-b48d1ca h2 { font-size: clamp(30px, 3.1vw, 46px)!important; line-height: 1.16; letter-spacing: -.035em; }
.home .elementor .elementor-element-7347951 .elementor-widget-text-editor { max-width: 810px; margin-inline: auto; font-size: 17px; line-height: 1.8; }
.home .elementor .elementor-element-4fa51f3 { max-width: none; background: var(--yf-soft); margin: 0; padding: 18px max(var(--yf-gutter),calc((100% - 1200px)/2)) var(--yf-space)!important; gap: 24px!important; }
.home .elementor .elementor-element-4fa51f3 > .e-con { padding: 24px 12px 0!important; border-top: 1px solid var(--yf-line); gap: 18px; }
.home .elementor .elementor-element-4fa51f3 img { width: 62px; height: 62px; object-fit: contain; }
.home .elementor .elementor-element-4fa51f3 .elementor-widget-text-editor { font-size: 16px; font-weight: 500; line-height: 1.55; color: var(--yf-ink); }

/* Service panels: numbered, spacious, with a clear reading order. */
.home .elementor .elementor-element-adbe410 { padding-block: var(--yf-space)!important; }
.home .elementor .elementor-element-9130d40 { align-items: flex-start; margin-bottom: 34px; }
.home .elementor .elementor-element-2a35126 { max-width: 790px; text-align: left; }
.home .elementor .elementor-element-2a35126 h2,
.home .elementor .elementor-element-1593c4d h2,
.home .elementor .elementor-element-7195404 h2,
.home .elementor .elementor-element-937cb9a h2,
.home .elementor .elementor-element-089e172 h2 { font-size: clamp(30px, 3.1vw, 46px)!important; line-height: 1.16!important; letter-spacing: -.035em; color: var(--yf-ink); }
.home .elementor .elementor-element-98c6e64 { display: none; }
.yfsc-service-grid { counter-reset: yf-service; }
.home .elementor .yfsc-service-card { position: relative; padding: 30px 26px!important; border-radius: 20px; background: #fff; border: 1px solid var(--yf-line); box-shadow: none; gap: 22px; transition: transform .35s var(--yf-ease), box-shadow .35s, border-color .35s; }
.home .yfsc-service-card::before { counter-increment: yf-service; content: counter(yf-service, decimal-leading-zero); display: block; position: static!important; inset: auto!important; width: 100%; height: auto; background: none!important; opacity: 1!important; color: var(--yf-plum); font-size: 13px; font-weight: 600; letter-spacing: .12em; padding-bottom: 22px; border-bottom: 1px solid var(--yf-line); }
.home .elementor .yfsc-service-card .elementor-heading-title { font-size: 24px!important; font-weight: 600; letter-spacing: -.025em; min-height: 62px; }
.home .elementor .yfsc-service-card .elementor-widget-text-editor { font-size: 16px; line-height: 1.75; }
.home .elementor .yfsc-service-card .elementor-button { padding: 0!important; min-height: 44px; background: transparent!important; color: var(--yf-plum-dark)!important; border: 0!important; border-radius: 0!important; text-align: left; justify-content: flex-start; font-size: 14px!important; }
.home .yfsc-service-card .elementor-button-content-wrapper::after { content: '↗'; margin-left: 10px; font-size: 20px; line-height: 1; }
.home .elementor .yfsc-service-card .elementor-button:hover { box-shadow: none!important; color: var(--yf-ink); transform: none; }
@media(hover:hover) { .home .elementor .yfsc-service-card:hover { transform: translateY(-7px); border-color: var(--yf-rose); box-shadow: 0 20px 42px rgba(13,23,59,.07); } }

/* Motives: replace the deep wave by a light, full-width section. */
.home .elementor .elementor-element-5bbbf34 { background: rgba(51,154,161,.08)!important; padding-top: var(--yf-space)!important; padding-bottom: var(--yf-space)!important; gap: 40px; }
.home .elementor .elementor-element-5bbbf34 > .e-con { width: 100%; }
.home .elementor .elementor-element-9977bfa { background: transparent!important; margin: 0!important; padding: 0!important; gap: 18px!important; }
.home .elementor .elementor-element-9977bfa::before { background: none!important; }
.home .elementor .elementor-element-9977bfa > .elementor-shape { display: none; }
.home .elementor .elementor-element-9977bfa .e-n-accordion-item-title { min-height: 72px; }
.home .elementor .elementor-element-9977bfa .e-n-accordion-item-title-text { font-size: 16px!important; font-weight: 500; }
.home .elementor .elementor-element-55f48ba { padding-block: var(--yf-space)!important; }
.home .elementor .elementor-element-7195404 { max-width: 850px; margin-inline: auto; margin-bottom: 24px; }

/* Existing blog cards: visual treatment only; article text and imagery are retained. */
.home .elementor .elementor-element-e9ac588 { padding-block: var(--yf-space)!important; background: var(--yf-soft); }
.home .elementor .elementor-element-189b05f { align-items: flex-start; gap: 22px; }
.home .elementor .elementor-element-937cb9a { text-align: left; }
.home .elementor .elementor-element-0a722ec { width: 680px!important; max-width: 100%; text-align: left; font-size: 17px; line-height: 1.8; }
.home .elementor .elementor-element-c9bfbd0 { margin-top: 24px; }
.home .elementor-element-e9ac588 :is(.meafe-post-wrapper,.meafe-post-item,.meafe-post) { border-radius: 18px; }
.home .elementor-element-e9ac588 .meafe-post-img { overflow: hidden; border-radius: 18px; }
.home .elementor-element-e9ac588 .meafe-post-img img { transition: transform .6s var(--yf-ease); }
@media(hover:hover) { .home .elementor-element-e9ac588 .meafe-post-img:hover img { transform: scale(1.045); } }

/* Location and contact: retain the real map and all original contact information. */
.home .elementor .elementor-element-97da98b { padding-top: var(--yf-space)!important; padding-bottom: 36px!important; }
.home .elementor .elementor-element-97da98b h2 { max-width: 820px; margin-inline: auto; color: var(--yf-ink)!important; }
.home .elementor .elementor-element-3d51eb7 { background: rgba(51,154,161,.08)!important; padding-block: 64px!important; }
.home .elementor .elementor-element-3d51eb7::before { background: none!important; }
.home .elementor .elementor-element-3d51eb7 > .elementor-shape { display: none; }
.home .elementor .elementor-element-3d51eb7 > .e-con-inner { gap: 48px; align-items: stretch; }
.home .elementor .elementor-element-3d51eb7 .elementor-widget-text-editor { font-size: 17px; line-height: 1.75; }
.home .elementor .elementor-element-d2dee22 { gap: 8px!important; }
.home .elementor .elementor-element-3d51eb7 h4 { font-size: 23px; letter-spacing: -.025em; }
.home .elementor .elementor-element-3d51eb7 iframe { border-radius: 22px; }
.home .elementor .elementor-element-bce90b8 iframe { height: 280px!important; }
.home .elementor .elementor-element-c5a7aef { justify-content: flex-start; gap: 20px; }
.yfsc-location-photo { margin: 0; width: 100%; border: 1px solid var(--yf-line); border-radius: 22px; overflow: hidden; background: #fff; }
.yfsc-location-photo img { display: block; width: 100%; height: 360px; object-fit: cover; object-position: center 65%; }
.yfsc-location-photo figcaption { margin: 0; padding: 16px 22px; font-size: 15px; font-weight: 500; }
.yfsc-location-photo figcaption a { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-decoration: none!important; }
.home .elementor .elementor-element-29d317a { padding-block: var(--yf-space)!important; background: #fff; }
.home .elementor .elementor-element-29d317a::before { background: none!important; }
.home .elementor .elementor-element-29d317a > .e-con-inner { gap: 64px; align-items: flex-start; }
.home .elementor .elementor-element-f8bf213 { background: var(--yf-soft)!important; border: 1px solid var(--yf-line); border-radius: 24px; padding: 38px!important; }
.home .elementor .elementor-element-f8bf213::before { background: none!important; }
.home .elementor .elementor-element-29d317a > .e-con-inner > .e-con { flex: 1 1 0!important; margin: 0!important; min-width: 0; }
.wpcf7 input:not([type=submit]):not([type=checkbox]),.wpcf7 textarea { background: #fff; border: 1px solid var(--yf-line); font-size: 16px; padding: 14px 16px; }
.wpcf7 label { color: var(--yf-text); font-size: 15px; }
.wpcf7 input[type=submit] { min-height: 52px; background: var(--yf-plum); color: #fff; font-size: 15px; font-weight: 600; }

/* Closing invitation: an integrated photograph instead of an empty outlined box. */
.home .elementor .elementor-element-f17f097 { display: none; }
.home .elementor .elementor-element-d808761 { padding-top: 0!important; padding-bottom: var(--yf-space)!important; }
.home .elementor .elementor-element-a54b242 { grid-template-columns: 1fr 1fr!important; gap: 0!important; width: 100%; border: 0!important; background: var(--yf-plum-dark); border-radius: 26px; overflow: hidden; }
.home .elementor .elementor-element-de9d002 { height: 100%; width: 100%; margin: 0!important; }
.home .elementor .elementor-element-de9d002 > .elementor-widget-container { height: 100%; margin: 0!important; }
.home .elementor .elementor-element-de9d002 img { display: block; width: 100%; height: 100%; min-height: 390px; max-height: 520px; object-fit: cover; }
.home .elementor .elementor-element-f2a6051 { padding: clamp(28px,4vw,60px)!important; align-items: flex-start; justify-content: center; text-align: left; gap: 22px; }
.home .elementor .elementor-element-f2a6051 > .elementor-widget { width: 100%!important; text-align: left!important; }
.home .elementor .elementor-element-f2a6051 .elementor-widget-button { text-align: left!important; }
.home .elementor .elementor-element-a4987f1 h2 { color: #fff!important; font-size: clamp(32px,3vw,46px)!important; line-height: 1.15; letter-spacing: -.035em; }
.home .elementor .elementor-element-eae5237 { color: #fff; font-size: 16px; line-height: 1.8; text-align: left; }
.home .elementor .elementor-element-eae5237 p { text-transform: lowercase; }
.home .elementor .elementor-element-eae5237 p::first-letter { text-transform: uppercase; }
.home .elementor .elementor-element-74ac5a7 { justify-content: flex-start; }
.home .elementor .elementor-element-3df0234 .elementor-button { background: #fff; color: var(--yf-plum-dark); }

/* Carry the same visual language through interior pages, without changing content. */
body:not(.home):not(.elementor-page-34688) .elementor[data-elementor-type=wp-page] > .e-con:first-child:has(h1) { min-height: 380px; padding-block: 76px!important; border-radius: 0 0 36px 36px; overflow: hidden; background-position: center!important; }
body:not(.home):not(.elementor-page-34688) .elementor[data-elementor-type=wp-page] > .e-con:first-child h1 { font-size: clamp(38px,4.1vw,60px)!important; line-height: 1.12; letter-spacing: -.04em; }
.page-id-15 .elementor-widget-image img,.page-id-14 .elementor-widget-image img { border-radius: 24px; }
.page-id-15 .elementor-widget-image > .elementor-widget-container { box-shadow: none!important; }
.page-id-14 .hover-effect { border-radius: 20px!important; box-shadow: none!important; }
.page-id-14 .elementor .elementor-widget-heading h2 { font-size: clamp(28px,2.7vw,40px)!important; line-height: 1.2!important; letter-spacing: -.035em; }
.page-id-14 .elementor .elementor-widget-image > .elementor-widget-container { box-shadow: none!important; }
.page-id-14 .hover-effect :is(p,.elementor-heading-title,.elementor-icon-box-title,.elementor-icon-box-description) { color: var(--yf-ink)!important; }
.page-id-18 .elementor-element-379bd75 { border-radius: 24px; box-shadow: 0 18px 50px rgba(13,23,59,.05); }
.yfsc-price-card { border-radius: 20px; padding: 28px; background: var(--yf-soft); }
.yfsc-content .yfsc-kicker { letter-spacing: .12em; font-size: 12px; }
.yfsc-editorial-page .entry-header { padding-top: 24px; }
.yfsc-editorial-page .entry-header .entry-title { letter-spacing: -.035em; line-height: 1.15; }
#colophon .footer-t { padding-top: 72px; background: var(--yf-soft); }
#colophon .footer-b { background: var(--yf-soft); }
#colophon .footer-t .menu a { transition: color .2s; }
#colophon .footer-t .menu a:hover { color: var(--yf-plum-dark); }

/* Background layers overscan the frame so parallax never exposes an empty edge. */
.elementor .yfsc-parallax-host { isolation: isolate; }
.elementor .yfsc-parallax-host > .yfsc-parallax-layer { position: absolute; inset: -80px 0; pointer-events: none; z-index: 0; background-size: cover; background-position: center; transform: translate3d(0,var(--yf-parallax-y,0px),0); will-change: transform; }
.elementor .yfsc-parallax-host > .e-con-inner { position: relative; z-index: 2!important; }
.elementor .yfsc-parallax-host::before { z-index: 1!important; }
body:not(.home) .elementor .yfsc-parallax-host::before { background: rgba(13,23,59,.25)!important; opacity: 1!important; }
.home .elementor .elementor-element-68473cd.yfsc-parallax-host::after { z-index: 1; }

/* Progressive motion: visible by default. Only JS-registered elements can animate. */
@media(prefers-reduced-motion:no-preference) {
  .yfsc-reveal.yfsc-enter { animation: yfsc-enter .75s var(--yf-ease) both; animation-delay: var(--yf-delay,0ms); }
  @keyframes yfsc-enter { from { opacity: .2; translate: 0 22px; } to { opacity: 1; translate: 0 0; } }
}

@media(min-width:1600px) { .home .elementor .elementor-element-68473cd { min-height: 720px; } }
@media(max-width:1100px) {
  #masthead .header-main > .container { padding-block: 12px; }
  #masthead .main-navigation .nav-menu > li > a { font-size: 14px; }
  .home .elementor .elementor-element-9ae1838 > .e-con-inner { gap: 36px; }
  .home .elementor .yfsc-service-card .elementor-heading-title { min-height: auto; }
}
@media(max-width:1024px) {
  #masthead { top: 0; }
  body.admin-bar #masthead { top: 32px; }
  #masthead .mobile-header { border-bottom: 1px solid var(--yf-line); background: #fff; padding-block: 0!important; }
  #masthead .mobile-header .site-logo img { width: 142px; max-height: 68px; }
  .home .elementor .elementor-element-68473cd { min-height: 570px; padding-block: 80px!important; }
  .home .elementor .elementor-element-8311a32 { width: 55%; }
  .home .elementor .elementor-element-ef60ddc { width: 45%; padding: 16px 0 16px 16px; }
  .home .elementor .elementor-element-9977bfa { gap: 12px!important; }
  .home .elementor .elementor-element-9977bfa .e-n-accordion-item-title { min-height: 64px; }
  .home .elementor .elementor-element-29d317a > .e-con-inner { gap: 30px; }
}
@media(max-width:767px) {
  :root { --yf-space: 64px; }
  html { scroll-padding-top: 92px; }
  body.admin-bar #masthead { top: 46px; }
  #masthead .mobile-header .container { padding-top: 10px; padding-bottom: 10px; }
  .home .elementor .elementor-element-68473cd { min-height: 580px; padding-block: 64px!important; background-position: 58% center!important; }
  .home .elementor .elementor-element-68473cd::before { background: linear-gradient(90deg,rgba(13,23,59,.83),rgba(13,23,59,.5)); }
  .home .elementor .elementor-element-68473cd > .e-con-inner { gap: 30px; }
  .home .elementor .elementor-element-d7afd7b h1 { font-size: clamp(38px,9.8vw,58px)!important; line-height: 1.1!important; letter-spacing: -.04em; }
  .yfsc-hero-eyebrow { font-size: 10px; letter-spacing: .15em; gap: 10px; margin-bottom: 24px!important; }
  .yfsc-hero-eyebrow::before { width: 26px; }
  .home .elementor .elementor-element-668a4fb { width: 100%; gap: 12px; flex-wrap: wrap; }
  .home .elementor .elementor-element-668a4fb > .elementor-widget { width: auto!important; }
  .home .elementor .elementor-element-68473cd .elementor-button { min-height: 52px; font-size: 13px!important; padding: 15px 20px!important; }
  .home .elementor .elementor-element-9ae1838 > .e-con-inner { flex-direction: column; gap: 40px; }
  .home .elementor .elementor-element-8311a32 { width: 100%; gap: 22px; }
  .home .elementor .elementor-element-e3be8d6 { font-size: 16px; line-height: 1.8; }
  .home .elementor .elementor-element-ef60ddc { width: min(100%,460px); margin-inline: auto; padding: 16px 0 16px 16px; }
  .home .elementor .elementor-element-28f449d > .elementor-widget-container { border-radius: 150px 150px 20px 20px; }
  .home .elementor .elementor-element-ef60ddc::after { border-radius: 160px 160px 24px 24px; }
  .home .elementor .elementor-element-7347951 .elementor-widget-text-editor { font-size: 16px; }
  .home .elementor .elementor-element-4fa51f3 { gap: 22px 16px!important; }
  .home .elementor .elementor-element-4fa51f3 > .e-con { padding-inline: 4px!important; }
  .home .elementor .elementor-element-4fa51f3 .elementor-widget-text-editor { font-size: 14px; }
  .home .elementor .elementor-element-9130d40 { margin-bottom: 20px; }
  .home .elementor .yfsc-service-card { padding: 26px!important; gap: 18px; }
  .home .yfsc-service-card::before { padding-bottom: 16px; }
  .home .elementor .elementor-element-5bbbf34 { gap: 28px; }
  .home .elementor .elementor-element-55f48ba { overflow-x: clip; }
  .home .elementor .elementor-element-7195404 { margin-bottom: 10px; }
  .home .elementor .elementor-element-3d51eb7 { padding-block: 36px!important; }
  .home .elementor .elementor-element-3d51eb7 > .e-con-inner { gap: 28px; }
  .home .elementor .elementor-element-f8bf213 { padding: 24px!important; }
  .home .elementor .elementor-element-29d317a > .e-con-inner > .e-con { flex: none!important; width: 100%!important; }
  .yfsc-location-photo img { height: 300px; }
  .home .elementor .elementor-element-29d317a > .e-con-inner { gap: 48px; }
  .home .elementor .elementor-element-a54b242 { grid-template-columns: 1fr!important; border-radius: 22px; }
  .home .elementor .elementor-element-de9d002 img { min-height: 0; height: 250px; object-position: center 35%; }
  .home .elementor .elementor-element-f2a6051 { padding: 30px 26px!important; }
  body:not(.home):not(.elementor-page-34688) .elementor[data-elementor-type=wp-page] > .e-con:first-child:has(h1) { min-height: 300px; padding-block: 60px!important; border-radius: 0 0 24px 24px; }
  #colophon .footer-t { padding-top: 48px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto!important; }
  .yfsc-reveal,.yfsc-enter { animation: none!important; opacity: 1!important; translate: none!important; }
  .elementor .animated { animation: none!important; }
  .elementor .elementor-invisible { visibility: visible!important; }
  .elementor-button,.elementor-button:hover,.home .elementor .yfsc-service-card,.home .elementor .yfsc-service-card:hover { transition: none!important; transform: none!important; }
  .home .elementor-element-e9ac588 .meafe-post-img img { transition: none; transform: none!important; }
}
