/* Low-specificity brand fallbacks; Elementor local/global styles take precedence. */
:where(.elementor.elementor){--vw-heading: Migra; --vw-body: Diatype;}
:where(.elementor.elementor .e-button-base){background-color: transparent; padding: 0px; border: 0px; border-radius: 0px; color: inherit; font-family: Diatype, Arial, sans-serif;}
:where(.elementor.elementor :is(h1, h2, h3, h4, h5, h6)){font-family: Migra, Georgia, serif; font-weight: 400; color: var(--ink); display: block;}
:where(.elementor.elementor :is(p, span, a)){font-family: Diatype, Arial, sans-serif;}
:where(.elementor.elementor .e-div-block-base){display: block; width: auto; background: transparent; border: 0px;}
:where(.elementor.elementor .e-image-base){width: 100%; height: 100%; object-fit: cover;}
:where(:root){color-scheme: light; --bg: #e0dee1; --ink: #202123; --muted: #535357; --surface: #d5d3d6; --raised: #e9e7ea; --line: #aaa8ad; --strong-line: #78777b; --shadow: rgba(30,30,35,.17); --gutter: clamp(22px,4.3vw,84px); --serif: Migra,Georgia,serif; --sans: Diatype,Arial,sans-serif;}
:where(:root[data-theme="dark"]){color-scheme: dark; --bg: #242527; --ink: #e0dee1; --muted: #b5b3b8; --surface: #2f3033; --raised: #37383b; --line: #55565b; --strong-line: #8b8a91; --shadow: rgba(0,0,0,.32);}
:where(.elementor.elementor *){box-sizing: border-box;}
:where(html){scroll-behavior: smooth; scroll-padding-top: 30px;}
:where(body){background: var(--bg); color: var(--ink); font: 16px/1.55 var(--sans); margin: 0px;}
:where(.elementor.elementor ::selection){background: var(--ink); color: var(--bg);}
:where(.elementor.elementor a){color: inherit; text-decoration: none;}
:where(.elementor.elementor button, .elementor.elementor input, .elementor.elementor textarea, .elementor.elementor select){font: inherit; color: inherit;}
:where(.elementor.elementor button){cursor: pointer;}
:where(.elementor.elementor h1, .elementor.elementor h2, .elementor.elementor h3, .elementor.elementor p){margin: 0px;}
:where(.elementor.elementor h1, .elementor.elementor h2){font-family: var(--serif); font-weight: 200; letter-spacing: -0.045em; line-height: 1.04;}
:where(.elementor.elementor h1){font-size: clamp(60px, 7.8vw, 124px);}
:where(.elementor.elementor h2){font-size: clamp(40px, 4.5vw, 70px);}
:where(.elementor.elementor h3){font-weight: 400;}
:where(.elementor.elementor em){font-weight: 200;}
:where(.elementor.elementor a, .elementor.elementor button, .elementor.elementor summary){touch-action: manipulation;}
:where(.elementor.elementor a:focus-visible, .elementor.elementor button:focus-visible, .elementor.elementor summary:focus-visible){outline: 2px solid var(--ink); outline-offset: 5px;}
:where(.elementor.elementor input:focus-visible, .elementor.elementor select:focus-visible, .elementor.elementor textarea:focus-visible){outline: 2px solid var(--ink); outline-offset: 3px;}
:where(.elementor.elementor svg){display: block;}
:where(.elementor.elementor .skip){position: absolute; top: -100px; left: 15px; padding: 12px 20px; background: var(--ink); color: var(--bg); z-index: 100;}
:where(.elementor.elementor .skip:focus){top: 10px;}
:where(.elementor.elementor .header){height: 106px; padding: 0 var(--gutter); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 35px; border-bottom: 1px solid var(--line); position: relative; z-index: 5;}
:where(.elementor.elementor .logo){font-family: var(--serif); font-weight: 800; font-size: 38px; letter-spacing: -0.06em; width: fit-content; line-height: 1;}
:where(.elementor.elementor .logo span){font-family: var(--sans); font-size: 14px; margin-left: 5px; vertical-align: top; display: inline-block; padding-top: 4px;}
:where(.elementor.elementor .header nav){display: flex; gap: 35px; font-size: 13px;}
:where(.elementor.elementor .header nav a){position: relative; padding: 12px 0px;}
:where(.elementor.elementor .header nav a[aria-current="page"]::after){content: ""; position: absolute; bottom: 5px; left: 0px; width: 100%; height: 1px; background: var(--ink);}
:where(.elementor.elementor .header nav a:hover){color: var(--muted);}
:where(.elementor.elementor .header-tools){display: flex; align-items: center; gap: 28px; justify-self: end;}
:where(.elementor.elementor .theme-switch){display: flex; border: 1px solid var(--line); border-radius: 50px; padding: 3px; gap: 2px;}
:where(.elementor.elementor .theme-switch button){border: 0px; background: transparent; border-radius: 50%; width: 31px; height: 31px; display: grid; place-items: center; font-size: 21px; padding: 0px; line-height: 1;}
:where(.elementor.elementor .theme-switch button[aria-pressed="true"]){background: var(--ink); color: var(--bg);}
:where(.elementor.elementor .sun){font-size: 24px;}
:where(.elementor.elementor .header-contact){font-size: 13px; white-space: nowrap;}
:where(.elementor.elementor .header-contact span){margin-left: 22px;}
:where(.elementor.elementor .menu-toggle){display: none;}
:where(.elementor.elementor :is(.eyebrow, .vw-eyebrow)){text-transform: uppercase; font-size: 10px; letter-spacing: 0.1em; line-height: 1.6; display: block;}
:where(.elementor.elementor :is(.home-hero, .vw-home-hero)){padding: 24px var(--gutter) 0;}
:where(.elementor.elementor :is(.hero-topline, .vw-hero-topline)){display: flex; justify-content: space-between; font-size: 11px; color: var(--muted);}
:where(.elementor.elementor :is(.tiny-status, .vw-tiny-status)){display: flex; align-items: center; gap: 8px;}
:where(.elementor.elementor :is(.tiny-status, .vw-tiny-status) i){display: inline-block; width: 5px; height: 5px; background: var(--muted); border-radius: 50%;}
:where(.elementor.elementor :is(.hero-layout, .vw-hero-layout)){display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 40px; padding: 65px 0px 66px; min-height: 650px;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) :is(.eyebrow, .vw-eyebrow)){margin-bottom: 25px;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) h1){font-size: clamp(72px, 8.5vw, 140px); line-height: 0.98; letter-spacing: -0.055em;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) h1 em){display: inline-block;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) p){font-size: 15px; line-height: 1.65; margin-top: 28px;}
:where(.elementor.elementor :is(.pill-link, .vw-pill-link)){display: inline-flex; border: 1px solid var(--strong-line); border-radius: 40px; gap: 36px; align-items: center; padding: 13px 21px; font-size: 12px; margin-top: 26px; transition: background 0.2s, color 0.2s;}
:where(.elementor.elementor :is(.pill-link, .vw-pill-link):hover){background: var(--ink); color: var(--bg);}
:where(.elementor.elementor :is(.pill-link, .vw-pill-link) span){font-size: 19px; line-height: 1;}
:where(.elementor.elementor .sculpture){position: relative; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; isolation: isolate; margin-right: 8px;}
:where(.elementor.elementor .sculpture-surface){position: relative; background: var(--raised); border: 1px solid var(--strong-line); width: 83%; aspect-ratio: 1.03 / 1; border-radius: 8px; box-shadow: 18px 22px 0 var(--surface),19px 23px 0 var(--strong-line),35px 45px 55px var(--shadow); transform: rotate(-9deg); display: flex; flex-direction: column; z-index: 1; transition: transform 0.6s;}
:where(.elementor.elementor .sculpture:hover .sculpture-surface){transform: rotate(-5deg) translateY(-5px);}
:where(.elementor.elementor .surface-top, .elementor.elementor .surface-bottom){display: flex; justify-content: space-between; align-items: center; padding: 15px 18px; font-size: 10px;}
:where(.elementor.elementor .surface-top){border-bottom: 1px solid var(--line);}
:where(.elementor.elementor .surface-bottom){margin-top: auto; border-top: 1px solid var(--line); font-size: 8px;}
:where(.elementor.elementor .sculpture-v){font-family: var(--serif); font-size: clamp(120px, 18vw, 300px); line-height: 1; text-align: center; position: relative; margin-top: 5%;}
:where(.elementor.elementor .sculpture-v > span){position: absolute; font-family: var(--sans); font-weight: 400; font-size: 0.16em; top: 20%; margin-left: 2px;}
:where(.elementor.elementor .orbit){position: absolute; width: 112%; height: 43%; border: 1px solid var(--strong-line); border-radius: 50%; transform: rotate(-37deg); z-index: 0; opacity: 0.65;}
:where(.elementor.elementor .orbit-two){width: 90%; height: 108%; transform: rotate(-37deg); opacity: 0.3;}
:where(.elementor.elementor .sculpture-caption){position: absolute; bottom: -7px; font-size: 10px; color: var(--muted); right: 5%;}
:where(.elementor.elementor .star){position: absolute; font-size: 47px; line-height: 1; z-index: 2;}
:where(.elementor.elementor .star-one){right: -8px; top: 6%;}
:where(.elementor.elementor .star-two){left: 0px; bottom: 7%; font-size: 30px;}
:where(.elementor.elementor :is(.hero-bottom, .vw-hero-bottom)){display: flex; justify-content: space-between; gap: 20px; font-size: 10px; padding: 21px 0px; border-top: 1px solid var(--line); color: var(--muted);}
:where(.elementor.elementor :is(.hero-bottom, .vw-hero-bottom) i){font-style: normal; padding: 0px 12px;}
:where(.elementor.elementor :is(.home-intro, .vw-home-intro)){padding: 78px var(--gutter) 60px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1.2fr 1fr; gap: 12%; align-items: center;}
:where(.elementor.elementor :is(.home-intro, .vw-home-intro) :is(.eyebrow, .vw-eyebrow)){margin-bottom: 23px;}
:where(.elementor.elementor :is(.home-intro, .vw-home-intro) > div > p){font-size: 17px; line-height: 1.6; max-width: 450px;}
:where(.elementor.elementor :is(.under-link, .vw-under-link)){display: inline-block; font-size: 12px; border-bottom: 1px solid var(--strong-line); padding-bottom: 6px; margin-top: 24px;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview)){display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 var(--gutter) 80px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a){padding: 30px 30px 37px 0px; position: relative;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a:not(:first-child)){padding-left: 30px; border-left: 1px solid var(--line);}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) h3){font-family: var(--serif); font-size: 35px; letter-spacing: -0.035em; margin-top: 22px;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) p){font-size: 13px; color: var(--muted); margin-top: 14px;}
:where(.elementor.elementor :is(.card-arrow, .vw-card-arrow)){position: absolute; bottom: 25px; right: 22px; font-size: 22px; transition: transform 0.2s;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a:hover :is(.card-arrow, .vw-card-arrow)){transform: translate(3px, -3px);}
:where(.elementor.elementor .footer){padding: 35px var(--gutter) 25px; background: var(--surface);}
:where(.elementor.elementor .footer-line){display: flex; justify-content: space-between; align-items: start; gap: 30px; font-size: 12px;}
:where(.elementor.elementor .footer-line p){color: var(--muted);}
:where(.elementor.elementor .footer-line > a:last-child){border-bottom: 1px solid var(--strong-line); padding-bottom: 4px;}
:where(.elementor.elementor .footer-logo){font-family: var(--serif); font-weight: 800; letter-spacing: -0.07em; font-size: clamp(100px, 20vw, 335px); line-height: 1.1; padding: 45px 0px 30px; display: flex; justify-content: space-between; align-items: center;}
:where(.elementor.elementor .footer-logo span){font-family: var(--sans); font-weight: 400; font-size: 0.55em; letter-spacing: 0px;}
:where(.elementor.elementor .footer-bottom){display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 10px; color: var(--muted);}
:where(.elementor.elementor .footer-bottom a){text-decoration: underline; text-underline-offset: 3px;}
:where(.elementor.elementor :is(.page-heading, .vw-page-heading)){padding: 32px var(--gutter) 55px;}
:where(.elementor.elementor :is(.breadcrumb, .vw-breadcrumb)){display: flex; gap: 13px; font-size: 10px; color: var(--muted); margin-bottom: 70px;}
:where(.elementor.elementor :is(.breadcrumb, .vw-breadcrumb) a){text-decoration: underline; text-underline-offset: 4px;}
:where(.elementor.elementor :is(.heading-row, .vw-heading-row)){display: flex; justify-content: space-between; align-items: end; gap: 50px;}
:where(.elementor.elementor :is(.heading-row, .vw-heading-row) > p){font-size: 16px; max-width: 285px; margin-bottom: 12px;}
:where(.elementor.elementor :is(.jump-links, .vw-jump-links)){display: flex; gap: 40px; flex-wrap: wrap; border-top: 1px solid var(--line); margin-top: 50px; padding-top: 20px; font-size: 11px; color: var(--muted);}
:where(.elementor.elementor :is(.service-detail, .vw-service-detail)){display: grid; grid-template-columns: 1fr 1fr; gap: 12%; padding: 80px var(--gutter); border-top: 1px solid var(--line); scroll-margin-top: 0px;}
:where(.elementor.elementor :is(.service-intro, .vw-service-intro) > :is(.eyebrow, .vw-eyebrow)){margin-bottom: 26px;}
:where(.elementor.elementor :is(.service-intro, .vw-service-intro) > p){font-size: 16px; max-width: 430px; margin-top: 25px; color: var(--muted);}
:where(.elementor.elementor :is(.offer-list, .vw-offer-list)){list-style: none; margin: 0px; padding: 0px;}
:where(.elementor.elementor :is(.offer-list, .vw-offer-list) > :is(li, .vw-vw-tag-li)){border-bottom: 1px solid var(--line); padding: 0px 0px 23px; margin-bottom: 25px;}
:where(.elementor.elementor :is(.offer-list, .vw-offer-list) h3){font-size: 21px; letter-spacing: -0.03em;}
:where(.elementor.elementor :is(.offer-list, .vw-offer-list) p){font-size: 14px; color: var(--muted); margin-top: 10px;}
:where(.elementor.elementor :is(.scope-note, .vw-scope-note)){font-size: 12px; color: var(--muted); padding-top: 7px;}
:where(.elementor.elementor :is(.scope-note, .vw-scope-note) > span){color: var(--ink); display: block; margin-bottom: 10px;}
:where(.elementor.elementor :is(.alternate, .vw-alternate)){background: var(--surface);}
:where(.elementor.elementor :is(.faq-section, .vw-faq-section)){border-top: 1px solid var(--line); padding: 80px var(--gutter); display: grid; grid-template-columns: 1fr 1fr; gap: 12%;}
:where(.elementor.elementor :is(.faq-section, .vw-faq-section) h2){margin-top: 25px;}
:where(.elementor.elementor :is(.faq-list, .vw-faq-list)){border-top: 1px solid var(--line);}
:where(.elementor.elementor details){border-bottom: 1px solid var(--line);}
:where(.elementor.elementor summary){cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 25px; padding: 23px 0px; font-size: 15px;}
:where(.elementor.elementor summary::-webkit-details-marker){display: none;}
:where(.elementor.elementor summary > span){font-size: 22px; line-height: 1; transition: transform 0.2s;}
:where(.elementor.elementor details[open] summary > span){transform: rotate(45deg);}
:where(.elementor.elementor details p){color: var(--muted); font-size: 14px; padding: 0px 30px 25px 0px;}
:where(.elementor.elementor :is(.page-cta, .vw-page-cta)){padding: 55px var(--gutter) 65px; border-top: 1px solid var(--line);}
:where(.elementor.elementor :is(.page-cta, .vw-page-cta) > a){display: flex; align-items: center; gap: 16px; font-family: var(--serif); font-weight: 200; font-size: clamp(36px, 6vw, 90px); line-height: 1.2; letter-spacing: -0.04em; margin-top: 20px;}
:where(.elementor.elementor :is(.page-cta, .vw-page-cta) > a > span){font-family: var(--sans); margin-left: auto; font-size: 0.7em;}
:where(.elementor.elementor :is(.about-story, .vw-about-story)){padding: 35px var(--gutter) 85px; display: grid; grid-template-columns: 1fr 1fr; gap: 12%; align-items: center;}
:where(.elementor.elementor .monogram){background: var(--surface); aspect-ratio: 1 / 1; display: grid; place-items: center; position: relative; isolation: isolate; overflow: hidden; border: 1px solid var(--line);}
:where(.elementor.elementor .monogram > span:first-child){font-family: var(--serif); font-size: clamp(180px, 29vw, 450px); line-height: 1; z-index: 1;}
:where(.elementor.elementor .monogram-orbit){position: absolute; width: 110%; height: 40%; border: 1px solid var(--strong-line); border-radius: 50%; transform: rotate(-35deg);}
:where(.elementor.elementor .monogram-caption){font-size: 11px; position: absolute; left: 25px; bottom: 25px;}
:where(.elementor.elementor :is(.story-copy, .vw-story-copy) h2){margin: 25px 0px;}
:where(.elementor.elementor :is(.story-copy, .vw-story-copy) p){margin-bottom: 20px; color: var(--muted); font-size: 15px;}
:where(.elementor.elementor :is(.story-copy, .vw-story-copy) :is(.lead, .vw-lead)){font-size: 22px; line-height: 1.4; color: var(--ink);}
:where(.elementor.elementor :is(.values, .vw-values)){padding: 65px var(--gutter) 75px; background: var(--surface);}
:where(.elementor.elementor :is(.section-top, .vw-section-top)){display: flex; align-items: center; justify-content: space-between; gap: 30px;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid)){display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; margin-top: 55px;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) > div){border-top: 1px solid var(--line); padding-top: 20px;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) h3){font-family: var(--serif); font-size: 32px; line-height: 1.15; letter-spacing: -0.035em; margin: 24px 0px 18px;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) p){font-size: 14px; color: var(--muted); max-width: 310px;}
:where(.elementor.elementor :is(.process-section, .vw-process-section)){padding: 80px var(--gutter);}
:where(.elementor.elementor :is(.process-section, .vw-process-section) h2){margin-top: 25px;}
:where(.elementor.elementor :is(.process-list, .vw-process-list)){list-style: none; padding: 0px; margin: 45px 0px 0px;}
:where(.elementor.elementor :is(.process-list, .vw-process-list) :is(li, .vw-vw-tag-li)){display: grid; grid-template-columns: 70px 1fr 1fr; align-items: start; gap: 20px; padding: 25px 0px; border-top: 1px solid var(--line);}
:where(.elementor.elementor :is(.process-list, .vw-process-list) :is(li, .vw-vw-tag-li) > span){font-size: 11px;}
:where(.elementor.elementor :is(.process-list, .vw-process-list) h3){font-family: var(--serif); font-size: 32px; line-height: 1.2;}
:where(.elementor.elementor :is(.process-list, .vw-process-list) p){font-size: 14px; color: var(--muted); max-width: 440px;}
:where(.elementor.elementor :is(.contact-grid, .vw-contact-grid)){padding: 25px var(--gutter) 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 12%;}
:where(.elementor.elementor :is(.contact-aside, .vw-contact-aside) h2){margin: 25px 0px;}
:where(.elementor.elementor :is(.contact-aside, .vw-contact-aside) > p){font-size: 16px; color: var(--muted); max-width: 340px;}
:where(.elementor.elementor :is(.contact-email, .vw-contact-email)){display: inline-block; font-size: 25px; letter-spacing: -0.03em; margin-top: 28px; border-bottom: 1px solid var(--strong-line);}
:where(.elementor.elementor :is(.contact-tip, .vw-contact-tip)){margin-top: 65px;}
:where(.elementor.elementor :is(.contact-tip, .vw-contact-tip) :is(ul, .vw-vw-tag-ul)){list-style: none; padding: 0px; margin: 20px 0px 0px; color: var(--muted); font-size: 13px;}
:where(.elementor.elementor :is(.contact-tip, .vw-contact-tip) :is(li, .vw-vw-tag-li)){margin: 10px 0px;}
:where(.elementor.elementor :is(.contact-tip, .vw-contact-tip) :is(li, .vw-vw-tag-li)::before){content: "—"; margin-right: 12px;}
:where(.elementor.elementor :is(.field-row, .vw-field-row)){display: grid; grid-template-columns: 1fr 1fr; gap: 25px;}
:where(.elementor.elementor :is(.field, .vw-field)){margin-bottom: 28px;}
:where(.elementor.elementor label){display: block; font-size: 12px; margin-bottom: 6px;}
:where(.elementor.elementor label span){font-size: 10px; color: var(--muted);}
:where(.elementor.elementor input, .elementor.elementor textarea, .elementor.elementor select){width: 100%; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-radius: 0px; border-bottom: 1px solid var(--strong-line); background: transparent; padding: 12px 0px; outline-offset: 3px; font-size: 16px;}
:where(.elementor.elementor textarea){resize: vertical; min-height: 105px;}
:where(.elementor.elementor input::placeholder, .elementor.elementor textarea::placeholder){color: var(--muted); opacity: 1;}
:where(.elementor.elementor select option){background: var(--bg); color: var(--ink);}
:where(.elementor.elementor :is(.form-note, .vw-form-note)){font-size: 11px; line-height: 1.6; color: var(--muted); margin-bottom: 22px;}
:where(.elementor.elementor :is(.send-button, .vw-send-button)){border: 1px solid var(--ink); background: var(--ink); color: var(--bg); width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; font-size: 13px; transition: background 0.2s, color 0.2s;}
:where(.elementor.elementor :is(.send-button, .vw-send-button):hover){background: transparent; color: var(--ink);}
:where(.elementor.elementor :is(.send-button, .vw-send-button) span){font-size: 23px; line-height: 1;}
:where(.elementor.elementor #form-result){margin-top: 22px; font-size: 13px;}
:where(.elementor.elementor #form-result p){margin-bottom: 12px;}
:where(.elementor.elementor #form-result a, .elementor.elementor :is(.copy-button, .vw-copy-button)){text-decoration: underline; text-underline-offset: 3px;}
:where(.elementor.elementor :is(.copy-button, .vw-copy-button)){background: transparent; border: 0px; padding: 0px;}
:where(.elementor.elementor :is(.prose, .vw-prose)){max-width: 800px; padding: 0 var(--gutter) 90px; box-sizing: content-box;}
:where(.elementor.elementor :is(.prose, .vw-prose) h2){font-family: var(--sans); font-size: 24px; letter-spacing: -0.02em; margin: 35px 0px 16px;}
:where(.elementor.elementor :is(.prose, .vw-prose) p){color: var(--muted); margin-bottom: 18px;}
:where(.elementor.elementor :is(.prose, .vw-prose) a){text-decoration: underline;}
:where(.elementor.elementor :is(.prose, .vw-prose) code){font-size: 14px; overflow-wrap: anywhere;}
:where(.elementor.elementor :is(.home-hero, .vw-home-hero)){overflow: clip;}
@media (min-width: 1700px){:where(body){max-width: 2100px; margin: auto;}
:where(.elementor.elementor :is(.hero-layout, .vw-hero-layout)){min-height: 760px;}
:where(.elementor.elementor .sculpture){max-width: 650px;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) h1){font-size: 150px;}}
@media (max-width: 1100px){:where(.elementor.elementor .header){gap: 20px; grid-template-columns: 1fr auto auto;}
:where(.elementor.elementor .header nav){gap: 23px;}
:where(.elementor.elementor .header-tools){gap: 20px;}
:where(.elementor.elementor .header-contact){display: none;}
:where(.elementor.elementor :is(.hero-layout, .vw-hero-layout)){gap: 20px; min-height: 590px;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) h1){font-size: 9vw;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) :is(.eyebrow, .vw-eyebrow)){font-size: 9px;}
:where(.elementor.elementor .surface-top, .elementor.elementor .surface-bottom){padding: 12px;}
:where(.elementor.elementor .sculpture-caption){bottom: -22px;}
:where(.elementor.elementor :is(.hero-bottom, .vw-hero-bottom) > span:nth-child(2)){font-size: 9px;}
:where(.elementor.elementor :is(.hero-bottom, .vw-hero-bottom) i){padding: 0px 6px;}
:where(.elementor.elementor :is(.home-intro, .vw-home-intro), .elementor.elementor :is(.service-detail, .vw-service-detail), .elementor.elementor :is(.faq-section, .vw-faq-section), .elementor.elementor :is(.about-story, .vw-about-story), .elementor.elementor :is(.contact-grid, .vw-contact-grid)){gap: 7%;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) h3){font-size: 29px;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a:not(:first-child)){padding-left: 20px;}
:where(.elementor.elementor :is(.heading-row, .vw-heading-row)){gap: 30px;}
:where(.elementor.elementor :is(.heading-row, .vw-heading-row) > p){max-width: 240px; font-size: 14px;}
:where(.elementor.elementor :is(.field-row, .vw-field-row)){grid-template-columns: 1fr; gap: 0px;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid)){gap: 25px;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) h3){font-size: 29px;}}
@media (max-width: 700px){:where(.elementor.elementor .header){height: 82px; display: flex; justify-content: space-between; gap: 20px;}
:where(.elementor.elementor .logo){font-size: 33px;}
:where(.elementor.elementor .logo span){font-size: 12px;}
:where(.elementor.elementor .header-tools){margin-left: auto;}
:where(.elementor.elementor .theme-switch button){width: 29px; height: 29px;}
:where(.elementor.elementor .menu-toggle){display: flex; align-items: center; gap: 14px; font-size: 12px; padding: 8px 0px; background: none; border: 0px; order: 3;}
:where(.elementor.elementor .menu-toggle > span){font-size: 22px; line-height: 1;}
:where(.elementor.elementor .header nav){display: none; position: absolute; top: 81px; left: 0px; right: 0px; flex-direction: column; gap: 10px; padding: 20px var(--gutter); background: var(--bg); border-bottom: 1px solid var(--strong-line);}
:where(.elementor.elementor .header nav.is-open){display: flex;}
:where(.elementor.elementor .header nav a){font-size: 18px; display: block; width: fit-content;}
:where(.elementor.elementor :is(.home-hero, .vw-home-hero)){padding-top: 20px;}
:where(.elementor.elementor :is(.hero-topline, .vw-hero-topline)){font-size: 10px;}
:where(.elementor.elementor :is(.tiny-status, .vw-tiny-status)){display: none;}
:where(.elementor.elementor :is(.hero-layout, .vw-hero-layout)){grid-template-columns: 1fr; padding: 48px 0px 37px; gap: 30px; min-height: 0px;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) :is(.eyebrow, .vw-eyebrow)){font-size: 9px; margin-bottom: 25px;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) h1){font-size: clamp(66px, 15.5vw, 103px); line-height: 0.98;}
:where(.elementor.elementor :is(.hero-copy, .vw-hero-copy) p){font-size: 14px; margin-top: 25px;}
:where(.elementor.elementor :is(.pill-link, .vw-pill-link)){font-size: 12px; padding: 12px 18px; gap: 30px;}
:where(.elementor.elementor .sculpture){width: 78%; max-width: 380px; justify-self: center; margin: 20px 0px 30px;}
:where(.elementor.elementor .sculpture-v){font-size: clamp(140px, 42vw, 230px);}
:where(.elementor.elementor .sculpture-surface){box-shadow: 12px 15px 0 var(--surface),13px 16px 0 var(--strong-line),25px 30px 35px var(--shadow);}
:where(.elementor.elementor .surface-top, .elementor.elementor .surface-bottom){font-size: 8px; padding: 9px 12px;}
:where(.elementor.elementor .surface-bottom){font-size: 6px;}
:where(.elementor.elementor .star-one){font-size: 36px;}
:where(.elementor.elementor .star-two){font-size: 22px;}
:where(.elementor.elementor .sculpture-caption){font-size: 9px; bottom: -20px;}
:where(.elementor.elementor :is(.hero-bottom, .vw-hero-bottom)){font-size: 9px; padding: 18px 0px;}
:where(.elementor.elementor :is(.hero-bottom, .vw-hero-bottom) > span:nth-child(2)){display: none;}
:where(.elementor.elementor :is(.home-intro, .vw-home-intro)){padding: 50px var(--gutter) 35px; grid-template-columns: 1fr; gap: 25px;}
:where(.elementor.elementor :is(.home-intro, .vw-home-intro) h2){font-size: clamp(36px, 8.5vw, 54px);}
:where(.elementor.elementor :is(.home-intro, .vw-home-intro) > div > p){font-size: 15px;}
:where(.elementor.elementor :is(.home-intro, .vw-home-intro) :is(.eyebrow, .vw-eyebrow)){font-size: 9px; margin-bottom: 20px;}
:where(.elementor.elementor :is(.under-link, .vw-under-link)){margin-top: 20px;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview)){grid-template-columns: 1fr; margin-bottom: 50px;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a, .elementor.elementor :is(.service-preview, .vw-service-preview) > a:not(:first-child)){padding: 27px 0px; border-left: 0px;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a:not(:first-child)){border-top: 1px solid var(--line);}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) h3){font-size: 34px; margin-top: 16px;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) p){margin-top: 10px;}
:where(.elementor.elementor :is(.card-arrow, .vw-card-arrow)){right: 5px; bottom: 32px;}
:where(.elementor.elementor .footer){padding-top: 28px;}
:where(.elementor.elementor .footer-line){font-size: 11px; flex-wrap: wrap; gap: 22px;}
:where(.elementor.elementor .footer-line > p){display: none;}
:where(.elementor.elementor .footer-line > a:last-child){font-size: 10px;}
:where(.elementor.elementor .footer-logo){font-size: 21vw; padding: 32px 0px 25px;}
:where(.elementor.elementor .footer-bottom){font-size: 9px; gap: 12px;}
:where(.elementor.elementor .footer-bottom > span:nth-child(2)){display: none;}
:where(.elementor.elementor :is(.page-heading, .vw-page-heading)){padding-top: 25px; padding-bottom: 35px;}
:where(.elementor.elementor :is(.breadcrumb, .vw-breadcrumb)){margin-bottom: 48px; font-size: 10px;}
:where(.elementor.elementor :is(.heading-row, .vw-heading-row)){display: block;}
:where(.elementor.elementor :is(.page-heading, .vw-page-heading) h1){font-size: clamp(48px, 11vw, 76px); line-height: 1.04;}
:where(.elementor.elementor :is(.heading-row, .vw-heading-row) > p){max-width: 100%; font-size: 15px; margin: 25px 0px 0px;}
:where(.elementor.elementor :is(.jump-links, .vw-jump-links)){margin-top: 35px; gap: 17px; font-size: 10px; flex-direction: column; padding-top: 20px;}
:where(.elementor.elementor :is(.service-detail, .vw-service-detail)){grid-template-columns: 1fr; gap: 35px; padding: 45px var(--gutter);}
:where(.elementor.elementor h2){font-size: clamp(40px, 9vw, 58px);}
:where(.elementor.elementor :is(.service-intro, .vw-service-intro) > p){font-size: 15px;}
:where(.elementor.elementor :is(.service-intro, .vw-service-intro) > :is(.eyebrow, .vw-eyebrow)){margin-bottom: 20px;}
:where(.elementor.elementor :is(.offer-list, .vw-offer-list) h3){font-size: 20px;}
:where(.elementor.elementor :is(.offer-list, .vw-offer-list) > :is(li, .vw-vw-tag-li)){margin-bottom: 20px; padding-bottom: 20px;}
:where(.elementor.elementor :is(.faq-section, .vw-faq-section)){grid-template-columns: 1fr; gap: 30px; padding: 45px var(--gutter);}
:where(.elementor.elementor :is(.faq-section, .vw-faq-section) h2){margin-top: 20px;}
:where(.elementor.elementor :is(.page-cta, .vw-page-cta)){padding: 35px var(--gutter) 40px;}
:where(.elementor.elementor :is(.page-cta, .vw-page-cta) > a){font-size: clamp(28px, 6.8vw, 46px); gap: 8px;}
:where(.elementor.elementor :is(.page-cta, .vw-page-cta) :is(.eyebrow, .vw-eyebrow)){font-size: 9px;}
:where(.elementor.elementor :is(.about-story, .vw-about-story)){grid-template-columns: 1fr; gap: 35px; padding: 0 var(--gutter) 50px;}
:where(.elementor.elementor .monogram){max-width: 450px;}
:where(.elementor.elementor .monogram > span:first-child){font-size: 66vw;}
:where(.elementor.elementor .monogram-caption){font-size: 10px; left: 20px; bottom: 20px;}
:where(.elementor.elementor :is(.story-copy, .vw-story-copy) h2){margin: 20px 0px;}
:where(.elementor.elementor :is(.story-copy, .vw-story-copy) :is(.lead, .vw-lead)){font-size: 21px;}
:where(.elementor.elementor :is(.values, .vw-values)){padding: 45px var(--gutter);}
:where(.elementor.elementor :is(.section-top, .vw-section-top)){display: block;}
:where(.elementor.elementor :is(.section-top, .vw-section-top) h2){margin-top: 20px;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid)){grid-template-columns: 1fr; gap: 30px; margin-top: 30px;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) h3){font-size: 31px; margin: 18px 0px 12px;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) h3 br){display: none;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) p){max-width: 100%;}
:where(.elementor.elementor :is(.process-section, .vw-process-section)){padding: 45px var(--gutter);}
:where(.elementor.elementor :is(.process-list, .vw-process-list)){margin-top: 30px;}
:where(.elementor.elementor :is(.process-list, .vw-process-list) :is(li, .vw-vw-tag-li)){grid-template-columns: 35px 1fr; gap: 12px; padding: 23px 0px;}
:where(.elementor.elementor :is(.process-list, .vw-process-list) p){grid-column: 2;}
:where(.elementor.elementor :is(.process-list, .vw-process-list) h3){font-size: 28px;}
:where(.elementor.elementor :is(.contact-grid, .vw-contact-grid)){grid-template-columns: 1fr; gap: 40px; padding: 5px var(--gutter) 50px;}
:where(.elementor.elementor :is(.contact-aside, .vw-contact-aside) h2){font-size: 43px; margin: 20px 0px;}
:where(.elementor.elementor :is(.contact-aside, .vw-contact-aside) > p){font-size: 15px;}
:where(.elementor.elementor :is(.contact-email, .vw-contact-email)){font-size: 24px; margin-top: 20px;}
:where(.elementor.elementor :is(.contact-tip, .vw-contact-tip)){margin-top: 30px;}
:where(.elementor.elementor :is(.contact-tip, .vw-contact-tip) :is(ul, .vw-vw-tag-ul)){font-size: 13px;}
:where(.elementor.elementor :is(.field-row, .vw-field-row)){grid-template-columns: 1fr 1fr; gap: 20px;}
:where(.elementor.elementor :is(.field, .vw-field)){margin-bottom: 24px;}
:where(.elementor.elementor :is(.prose, .vw-prose)){padding-bottom: 45px;}
:where(.elementor.elementor :is(.prose, .vw-prose) h2){font-size: 22px;}}
@media (prefers-reduced-motion: reduce){:where(html){scroll-behavior: auto;}
:where(.elementor.elementor *, .elementor.elementor ::before, .elementor.elementor ::after){transition: none !important; animation: auto ease 0s 1 normal none running none !important;}}
:where(.elementor.elementor :is(.photo-space, .vw-photo-space)){margin: 0px; min-width: 0px;}
:where(.elementor.elementor :is(.photo-frame, .vw-photo-frame)){position: relative; background: var(--surface); border: 1px solid var(--line); overflow: hidden;}
:where(.elementor.elementor :is(.photo-frame, .vw-photo-frame) img){display: block; width: 100%; height: 100%; object-fit: cover;}
:where(.elementor.elementor :is(.photo-label, .vw-photo-label)){position: absolute; left: 18px; bottom: 15px; font-size: 9px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--muted); background: var(--bg); padding: 5px 9px; max-width: calc(100% - 36px);}
:where(.elementor.elementor :is(.photo-space, .vw-photo-space) :is(figcaption, .vw-vw-tag-figcaption)){display: flex; justify-content: space-between; align-items: start; gap: 16px; font-size: 11px; padding-top: 13px; line-height: 1.5;}
:where(.elementor.elementor :is(.photo-space, .vw-photo-space) :is(figcaption, .vw-vw-tag-figcaption) > span:last-child){font-size: 10px; color: var(--muted); max-width: 55%; text-align: right;}
:where(.elementor.elementor :is(.hero-photo, .vw-hero-photo)){width: 89%; justify-self: end; transform: rotate(-3deg); margin: 8px 10px 0px 0px;}
:where(.elementor.elementor :is(.hero-photo, .vw-hero-photo) :is(.photo-frame, .vw-photo-frame)){aspect-ratio: 4 / 5;}
:where(.elementor.elementor :is(.hero-photo, .vw-hero-photo) :is(figcaption, .vw-vw-tag-figcaption)){transform: rotate(3deg); padding-top: 22px;}
:where(.elementor.elementor :is(.wide-photo, .vw-wide-photo)){margin: 0 var(--gutter) 65px;}
:where(.elementor.elementor :is(.wide-photo, .vw-wide-photo) :is(.photo-frame, .vw-photo-frame)){aspect-ratio: 16 / 7;}
:where(.elementor.elementor :is(.portrait-photo, .vw-portrait-photo) :is(.photo-frame, .vw-photo-frame)){aspect-ratio: 4 / 5;}
:where(.elementor.elementor :is(.service-photo, .vw-service-photo)){margin-top: 35px; max-width: 430px;}
:where(.elementor.elementor :is(.service-photo, .vw-service-photo) :is(.photo-frame, .vw-photo-frame)){aspect-ratio: 16 / 10;}
@media (max-width: 700px){:where(.elementor.elementor :is(.hero-photo, .vw-hero-photo)){justify-self: center; width: 90%; max-width: 390px; margin: 5px 0px 15px;}
:where(.elementor.elementor :is(.hero-photo, .vw-hero-photo) :is(figcaption, .vw-vw-tag-figcaption)){font-size: 10px;}
:where(.elementor.elementor :is(.hero-photo, .vw-hero-photo) :is(figcaption, .vw-vw-tag-figcaption) > span:last-child){font-size: 9px;}
:where(.elementor.elementor :is(.wide-photo, .vw-wide-photo)){margin-bottom: 40px;}
:where(.elementor.elementor :is(.wide-photo, .vw-wide-photo) :is(.photo-frame, .vw-photo-frame)){aspect-ratio: 4 / 3;}
:where(.elementor.elementor :is(.wide-photo, .vw-wide-photo) :is(figcaption, .vw-vw-tag-figcaption)){display: block;}
:where(.elementor.elementor :is(.wide-photo, .vw-wide-photo) :is(figcaption, .vw-vw-tag-figcaption) > span){display: block;}
:where(.elementor.elementor :is(.wide-photo, .vw-wide-photo) :is(figcaption, .vw-vw-tag-figcaption) > span:last-child){text-align: left; max-width: 100%; margin-top: 5px;}
:where(.elementor.elementor :is(.portrait-photo, .vw-portrait-photo)){max-width: 450px;}
:where(.elementor.elementor :is(.photo-label, .vw-photo-label)){font-size: 8px; left: 12px; bottom: 12px;}
:where(.elementor.elementor :is(.service-photo, .vw-service-photo)){margin-top: 28px;}
:where(.elementor.elementor :is(.service-photo, .vw-service-photo) :is(.photo-frame, .vw-photo-frame)){aspect-ratio: 16 / 10;}}
:where(.elementor.elementor .vosweb-photo-control){display: inline-block; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; margin-top: 10px;}
:where(.elementor.elementor .wp-block-html){margin: 0px;}
:where(.elementor.elementor .wordpress-content){min-height: 45vh;}
:where(.elementor.elementor .wordpress-content > h1, .elementor.elementor .wordpress-content > h2, .elementor.elementor .wordpress-content > p, .elementor.elementor .wordpress-content > .wp-block-group){margin-left: var(--gutter); margin-right: var(--gutter);}
:where(.elementor.elementor .wordpress-content > h1){margin-top: 55px; margin-bottom: 35px;}
:where(.elementor.elementor .wordpress-content > p){max-width: 800px; margin-bottom: 20px;}
:where(.elementor.elementor .wordpress-content img){max-width: 100%; height: auto;}
:where(.elementor.elementor :is(.photo-frame, .vw-photo-frame) img){height: 100%; object-fit: cover;}
:where(.elementor.elementor .entry-content){max-width: 850px; margin: 0 var(--gutter) 65px;}
:where(.elementor.elementor .entry-content p){margin: 0px 0px 20px;}
:where(.elementor.elementor .entry-content a){text-decoration: underline;}
:where(.elementor.elementor .entry-content h2, .elementor.elementor .entry-content h3){margin: 35px 0px 20px;}
:where(.elementor.elementor .entry-content :is(ul, .vw-vw-tag-ul), .elementor.elementor .entry-content :is(ol, .vw-vw-tag-ol)){padding-left: 24px;}
:where(.elementor.elementor .entry-content img){max-width: 100%; height: auto;}
:where(.elementor.elementor .blog-list){padding: 30px var(--gutter) 70px;}
:where(.elementor.elementor .blog-list article){padding: 30px 0px; border-top: 1px solid var(--line);}
:where(.elementor.elementor .blog-list h2){font-size: 36px;}
:where(.elementor.elementor .blog-list p){margin-top: 15px; color: var(--muted);}
:where(.elementor.elementor .admin-bar .header){scroll-margin-top: 32px;}
:where(:root){--water-ink: #205651; --water-blue: #345478; --water-ochre: #755018; --water-rose: #80473f;}
:where(:root[data-theme="dark"]){--water-ink: #9bd2c8; --water-blue: #a8c5ee; --water-ochre: #e2bb7c; --water-rose: #e6b1a5;}
:where(.elementor.elementor :is(.hero-photo, .vw-hero-photo) :is(.photo-frame, .vw-photo-frame), .elementor.elementor :is(.portrait-photo, .vw-portrait-photo) :is(.photo-frame, .vw-photo-frame), .elementor.elementor :is(.service-photo, .vw-service-photo) :is(.photo-frame, .vw-photo-frame), .elementor.elementor :is(.wide-photo, .vw-wide-photo) :is(.photo-frame, .vw-photo-frame)){background-image: url("https://vosweb.net/wp-content/themes/vosweb-grey/assets/watercolour.svg"); background-size: cover; background-position: center center;}
:where(.elementor.elementor :is(.hero-photo, .vw-hero-photo) :is(.photo-frame, .vw-photo-frame)){background-size: 145% 112%; background-position: 48% 45%;}
:where(.elementor.elementor :is(.wide-photo, .vw-wide-photo) :is(.photo-frame, .vw-photo-frame)){background-size: 100% auto; background-position: 50% 52%;}
:where(.elementor.elementor :is(.portrait-photo, .vw-portrait-photo) :is(.photo-frame, .vw-photo-frame)){background-size: 150% 110%; background-position: center center;}
:where(.elementor.elementor :is(.service-photo, .vw-service-photo) :is(.photo-frame, .vw-photo-frame)){background-size: 125% auto;}
:where(.elementor.elementor #care :is(.service-photo, .vw-service-photo) :is(.photo-frame, .vw-photo-frame)){background-position: 18% 80%; background-size: 180% auto;}
:where(.elementor.elementor #automation :is(.service-photo, .vw-service-photo) :is(.photo-frame, .vw-photo-frame)){background-position: 85% 20%; background-size: 175% auto;}
:where(.elementor.elementor :is(.photo-label, .vw-photo-label)){border-left: 2px solid var(--water-ink);}
:where(.elementor.elementor :is(.home-hero, .vw-home-hero) :is(.hero-copy, .vw-hero-copy) h1 em, .elementor.elementor :is(.page-heading, .vw-page-heading) h1 em, .elementor.elementor :is(.home-intro, .vw-home-intro) h2 em, .elementor.elementor :is(.story-copy, .vw-story-copy) h2 em, .elementor.elementor :is(.service-intro, .vw-service-intro) h2 em, .elementor.elementor :is(.page-cta, .vw-page-cta) em){color: var(--water-ink); position: relative; isolation: isolate;}
:where(.elementor.elementor :is(.home-hero, .vw-home-hero) :is(.hero-copy, .vw-hero-copy) h1 em::after, .elementor.elementor :is(.page-heading, .vw-page-heading) h1 em::after, .elementor.elementor :is(.page-cta, .vw-page-cta) em::after){content: ""; position: absolute; left: -3%; right: -4%; height: 0.15em; bottom: -0.025em; background-image: url("https://vosweb.net/wp-content/themes/vosweb-grey/assets/watercolour.svg"); background-size: 115% 650%; background-position: 48% 66%; z-index: -1; opacity: 0.65; border-radius: 44% 25% 39% 52%;}
:where(.elementor.elementor :is(.pill-link, .vw-pill-link)){border-color: var(--water-ink); color: var(--water-ink);}
:where(.elementor.elementor :is(.pill-link, .vw-pill-link):hover){background: var(--water-ink); border-color: var(--water-ink); color: var(--bg);}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a){isolation: isolate; overflow: hidden;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a::before, .elementor.elementor :is(.values-grid, .vw-values-grid) > div::before){content: ""; width: 95px; height: 34px; background: url("https://vosweb.net/wp-content/themes/vosweb-grey/assets/watercolour.svg") 10% 30% / 230% auto; position: absolute; top: 14px; right: 15px; opacity: 0.8; transform: rotate(-9deg); pointer-events: none;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a:nth-child(2)::before){background-position: 45% 75%; transform: rotate(9deg);}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a:nth-child(3)::before){background-position: 90% 35%; transform: rotate(-4deg);}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a:nth-child(1) :is(.eyebrow, .vw-eyebrow), .elementor.elementor :is(.process-list, .vw-process-list) :is(li, .vw-vw-tag-li):nth-child(1) > span){color: var(--water-ink);}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a:nth-child(2) :is(.eyebrow, .vw-eyebrow), .elementor.elementor :is(.process-list, .vw-process-list) :is(li, .vw-vw-tag-li):nth-child(2) > span){color: var(--water-ochre);}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a:nth-child(3) :is(.eyebrow, .vw-eyebrow), .elementor.elementor :is(.process-list, .vw-process-list) :is(li, .vw-vw-tag-li):nth-child(3) > span){color: var(--water-blue);}
:where(.elementor.elementor :is(.card-arrow, .vw-card-arrow), .elementor.elementor :is(.under-link, .vw-under-link), .elementor.elementor :is(.contact-email, .vw-contact-email)){color: var(--water-ink);}
:where(.elementor.elementor :is(.under-link, .vw-under-link), .elementor.elementor :is(.contact-email, .vw-contact-email)){border-color: var(--water-ink);}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) > div){position: relative; isolation: isolate;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) > div:nth-child(2)::before){background-position: 45% 75%;}
:where(.elementor.elementor :is(.values-grid, .vw-values-grid) > div:nth-child(3)::before){background-position: 85% 35%;}
:where(.elementor.elementor .footer){position: relative; isolation: isolate; overflow: hidden;}
:where(.elementor.elementor .footer::before){content: ""; position: absolute; inset: 0px 0px 0px 50%; background: url("https://vosweb.net/wp-content/themes/vosweb-grey/assets/watercolour.svg") center center / 100% 180% no-repeat; opacity: 0.12; z-index: -1; pointer-events: none;}
:where(:root[data-theme="dark"] :is(.photo-frame, .vw-photo-frame)){background-color: rgb(53, 60, 62);}
:where(:root[data-theme="dark"] .footer::before){opacity: 0.13;}
:where(:root[data-theme="dark"] :is(.pill-link, .vw-pill-link):hover){color: rgb(32, 33, 35);}
@media (max-width: 700px){:where(.elementor.elementor :is(.hero-photo, .vw-hero-photo) :is(.photo-frame, .vw-photo-frame)){background-size: 145% 112%;}
:where(.elementor.elementor :is(.wide-photo, .vw-wide-photo) :is(.photo-frame, .vw-photo-frame)){background-size: 145% auto;}
:where(.elementor.elementor :is(.service-preview, .vw-service-preview) > a::before){top: 20px; width: 80px;}
:where(.elementor.elementor .footer::before){left: 25%; background-size: 145% 160%;}}