.elementor-kit-5{--e-global-color-primary:#141414;--e-global-color-secondary:#f4f4f4;--e-global-color-text:#898989;--e-global-color-accent:#948873;--e-global-color-white:#ffffff;--e-global-typography-primary-font-family:"Work Sans";--e-global-typography-primary-font-size:100px;--e-global-typography-primary-font-weight:200;--e-global-typography-primary-line-height:0.98em;--e-global-typography-primary-letter-spacing:-0.1px;--e-global-typography-secondary-font-family:"Work Sans";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-secondary-letter-spacing:5.4px;--e-global-typography-text-font-family:"Work Sans";--e-global-typography-text-font-size:26px;--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.31em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Work Sans";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.3em;--e-global-typography-accent-letter-spacing:2px;--e-global-typography-small-font-family:"Work Sans";--e-global-typography-small-font-size:14px;--e-global-typography-small-font-weight:400;--e-global-typography-small-line-height:1.5em;--e-global-typography-small-letter-spacing:0px;background-color:#141414;color:#948873;font-family:"Work Sans", Sans-serif;font-weight:300;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:86px;--e-global-typography-secondary-font-size:21px;--e-global-typography-text-font-size:24px;--e-global-typography-accent-font-size:14px;--e-global-typography-small-font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:72px;--e-global-typography-secondary-font-size:20px;--e-global-typography-text-font-size:22px;--e-global-typography-accent-font-size:14px;--e-global-typography-small-font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//*------------------------------------*
  #FOUNDATIONS
*------------------------------------*/
:root {
    --ds-inset: max(72px, calc((100vw - 1296px) / 2));
    --ds-gap: 16px;
    --ds-columns: 12;
    --ds-space: 192px;
}
html { scroll-behavior: smooth; }
body { margin: 0; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
a:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media (max-width: 1169px) {
    :root { --ds-inset: 32px; }
}
@media (max-width: 767px) {
    :root { --ds-inset: 20px; --ds-space: 88px; --ds-columns: 4; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}




/*------------------------------------*
  #HEADER
*------------------------------------*/
.ds-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
    padding: 24px 32px;
}
.ds-header .brand { width: 115px; }
.ds-header .brand img { display: block; }
body.elementor-editor-active .ds-header { position: relative; }




/*------------------------------------*
  #HERO
*------------------------------------*/
.ds-hero { min-height: 100svh; padding: 100px var(--ds-inset); }
.ds-hero .hero-copy { max-width: 800px; }
.ds-hero .rule { margin-top: 128px; }
.ds-hero .scroll-link { position: absolute; left: calc(50% - 26.5px); bottom: 18px; width: 53px; }
.ds-hero .scroll-link a { display: block; padding: 12px 0; }
.ds-hero .scroll-link img { display: block; }
@media (max-width: 767px) {
    .ds-hero .title .elementor-heading-title { font-size: clamp(48px, 18.46vw, 72px); line-height: 1.03; }
    .ds-hero .hero-copy { transform: translateY(20px); }
}




/*------------------------------------*
  #EXPERIENCE
*------------------------------------*/
.ds-experience { padding: 96px var(--ds-inset) 0; gap: 56px; }
.ds-experience .logo-column { width: calc((100% - 48px) / 4); }
.ds-experience .logo-column img { display: block; width: 100%; }
.ds-experience .scroll-fade { opacity: var(--ds-logo-opacity, 1); }
.ds-experience .scroll-fade img { transform: translateY(var(--ds-logo-rise, 0px)); }
@media (prefers-reduced-motion: reduce) {
    .ds-experience .scroll-fade { opacity: 1; }
    .ds-experience .scroll-fade img { transform: none; }
}
.ds-experience .offset-middle { padding-top: 156px; }
.ds-experience .offset-last { padding-top: 328px; }
@media (max-width: 1024px) {
    .ds-experience .logo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-gap); }
    .ds-experience .logo-column { display: contents; }
    .ds-experience .scroll-fade { width: 100%; }
}





/*------------------------------------*
  #CONTACT
*------------------------------------*/
.ds-contact { margin-top: var(--ds-space); padding: var(--ds-space) var(--ds-inset); }
.ds-contact .contact-content { width: calc(50% - 8px); margin-inline: auto; }
.ds-contact .intro { margin-top: 32px; }
.ds-contact .enquiry-form { margin-top: 32px; }
.ds-contact .elementor-field-label { margin-bottom: 8px; }
.ds-contact .elementor-field-textual { min-height: 64px; padding: 16px; }
.ds-contact textarea.elementor-field-textual { min-height: 240px; }
.ds-contact .elementor-field-type-submit { margin-top: 16px; }
.ds-contact .enquiry-form .elementor-button { transition-property: background-color, color; }
.ds-contact .enquiry-form .elementor-button:focus-visible { background-color: var(--e-global-color-white); color: var(--e-global-color-primary); }
@media (max-width: 1024px) {
    .ds-contact .contact-content { width: 100%; max-width: 680px; }
}




/*------------------------------------*
  #CONNECT
*------------------------------------*/
.ds-connect { padding: var(--ds-space) var(--ds-inset); }
.ds-connect .intro { margin-top: 32px; }
.ds-connect .contact-links { margin-top: 48px; }
.ds-connect .icon { width: 40px; flex-shrink: 0; }
.ds-connect .icon img { display: block; }
.ds-connect .label a:hover { text-decoration: underline; }
@media (max-width: 767px) {
    .ds-connect { padding-top: 48px; }
}




/*------------------------------------*
  #FOOTER
*------------------------------------*/
.ds-footer { padding: 32px var(--ds-inset); }




/*------------------------------------*
  #ENTRANCE ANIMATIONS
*------------------------------------*/
/* JavaScript starts these once on entry; the default content remains visible. */
.ds-reveal.is-entering {
    animation: ds-fade-in 800ms cubic-bezier(.25, .46, .45, .94) both;
}
.ds-reveal.reveal-down.is-entering {
    animation-name: ds-enter-down;
    animation-delay: 100ms;
    animation-timing-function: cubic-bezier(.455, .03, .515, .955);
}
.ds-reveal.reveal-left.is-entering { animation-name: ds-enter-left; }
@keyframes ds-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes ds-enter-down {
    from { opacity: 0; transform: translateY(-40px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes ds-enter-left {
    from { opacity: 0; transform: translateX(-40px); }
    to { opacity: 1; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
    .ds-reveal.is-entering { animation: none; }
}/* End custom CSS */