.elementor-widget-container.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-container .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-container.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-container:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-container.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-19 .elementor-element.elementor-element-aa22d09{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-html.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-html .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-html.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-html:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-html.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-19 .elementor-element.elementor-element-5bb0ee2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-widget-heading.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-heading .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-heading .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-heading.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-heading:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-heading.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-heading .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-text-editor .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-text-editor .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-text-editor.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-text-editor:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-text-editor.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-19 .elementor-element.elementor-element-c83bcfd{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19 .elementor-element.elementor-element-b497e99{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-elementskit-contact-form7.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-elementskit-contact-form7 .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-elementskit-contact-form7 .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-elementskit-contact-form7.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-elementskit-contact-form7:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-elementskit-contact-form7.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-elementskit-contact-form7 .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form label{color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form label span{color:#777777;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form select{width:100%;height:50px;color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form textarea{width:100%;height:176px;margin-bottom:20px;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form .ekit-form-input, .elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form select, .elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form input{margin-bottom:20px;}.elementor-19 .elementor-element.elementor-element-0060b55 .wpcf7-form textarea{color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-wid-con .ekit-form form textarea{color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"])::-webkit-input-placeholder{font-size:14px;color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"])::-moz-placeholder{font-size:14px;color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):-ms-input-placeholder{font-size:14px;color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):-moz-placeholder{font-size:14px;color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form textarea::-webkit-input-placeholder{font-size:14px;color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form textarea::-moz-placeholder{font-size:14px;color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form textarea:-ms-input-placeholder{font-size:14px;color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form textarea:-moz-placeholder{font-size:14px;color:#000000;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form > p{text-align:left;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form input[type="submit"]{color:#ffffff;}.elementor-19 .elementor-element.elementor-element-0060b55 .ekit-form form input[type="submit"]:hover{color:#ffffff;}.elementor-19 .elementor-element.elementor-element-d7bf433{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19 .elementor-element.elementor-element-973f080{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-icon .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-icon.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-icon:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-icon.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-icon .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-19 .elementor-element.elementor-element-6f07474 .elementor-icon-wrapper{text-align:center;}.elementor-19 .elementor-element.elementor-element-adef9cc{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19 .elementor-element.elementor-element-a8613e8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19 .elementor-element.elementor-element-3bd1f53 .elementor-icon-wrapper{text-align:center;}.elementor-19 .elementor-element.elementor-element-c9126aa{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19 .elementor-element.elementor-element-cb556c5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19 .elementor-element.elementor-element-3624e26 .elementor-icon-wrapper{text-align:center;}.elementor-19 .elementor-element.elementor-element-38dd7f2{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19 .elementor-element.elementor-element-a163940{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19 .elementor-element.elementor-element-37b54d2 .elementor-icon-wrapper{text-align:center;}.elementor-19 .elementor-element.elementor-element-7593984{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px){.elementor-19 .elementor-element.elementor-element-5bb0ee2{--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}}@media(max-width:767px){.elementor-19 .elementor-element.elementor-element-5bb0ee2{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for html, class: .elementor-element-df778e3 */@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap");

.ls-spa-page {
    --ls-bg: oklch(0.13 0.005 60) !important;
    --ls-surface: oklch(0.17 0.008 60) !important;
    --ls-surface-strong: oklch(0.09 0.004 60) !important;
    --ls-text: oklch(0.96 0.01 80) !important;
    --ls-text-soft: oklch(0.74 0.02 75) !important;
    --ls-gold: oklch(0.82 0.14 88) !important;
    --ls-gold-soft: oklch(0.82 0.14 85 / 30%) !important;
    --ls-gold-line: oklch(0.82 0.14 88) !important;
    --ls-gold-gradient: linear-gradient(135deg, oklch(0.88 0.13 88), oklch(0.72 0.16 78)) !important;
    --ls-gold-text: linear-gradient(135deg, oklch(0.92 0.10 90), oklch(0.78 0.16 80) 50%, oklch(0.62 0.14 70)) !important;
    --ls-radius-lg: 24px !important;
    --ls-radius-md: 18px !important;
    --ls-radius-sm: 12px !important;
    font-family: "Roboto", system-ui, sans-serif !important;
    color: var(--ls-text) !important;
    background:
        radial-gradient(circle at top, oklch(0.22 0.04 75 / 0.28), transparent 35%),
        linear-gradient(180deg, oklch(0.12 0.005 60), oklch(0.09 0.004 60)) !important;
    overflow: hidden !important;
}

.ls-spa-page,
.ls-spa-page *,
.ls-spa-page *::before,
.ls-spa-page *::after {
    box-sizing: border-box !important;
}

.ls-spa-page img {
    display: block !important;
    max-width: 100% !important;
}

.ls-spa-page a {
    color: inherit !important;
    text-decoration: none !important;
}

.ls-spa-page p,
.ls-spa-page h1,
.ls-spa-page h2,
.ls-spa-page h3 {
    margin: 0 !important;
}

.ls-container {
    width: min(100%, 1180px) !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.ls-hero,
.ls-about,
.ls-services,
.ls-why,
.ls-gallery,
.ls-cta,
.ls-footer {
    position: relative !important;
}

.ls-hero {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.ls-hero__media,
.ls-cta__panel {
    position: absolute !important;
    inset: 0 !important;
}

.ls-hero__image,
.ls-cta__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.ls-cta__image {
    position: absolute !important;
    inset: 0 !important;
}

.ls-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg,
            oklch(0.08 0.003 60 / 0.92) 0%,
            oklch(0.08 0.003 60 / 0.82) 50%,
            oklch(0.08 0.003 60 / 0.97) 100%) !important;
}

.ls-hero__content {
    position: relative !important;
    z-index: 1 !important;
    min-height: 100vh !important;
    padding-top: 120px !important;
    padding-bottom: 120px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.ls-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 18px !important;
    margin-bottom: 30px !important;
    border: 1px solid var(--ls-gold-line) !important;
    border-radius: 999px !important;
    color: var(--ls-gold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.28em !important;
    font-size: 11px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
    background: oklch(0.13 0.005 60 / 0.45) !important;
    backdrop-filter: blur(12px) !important;
}

.ls-section-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 18px !important;
    margin-bottom: 30px !important;
    color: var(--ls-gold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.28em !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.ls-about-section-tag {
    gap: 10px !important;
    color: var(--ls-gold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.28em !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.ls-eyebrow__icon {
    flex-shrink: 0 !important;
    color: var(--ls-gold) !important;
}

.ls-hero__title,
.ls-section-title {
    margin-top: 22px !important;
    font-size: clamp(34px, 5vw, 64px) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

.ls-hero__title span,
.ls-section-title span {
    display: block !important;
    margin-top: 10px !important;
    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

.ls-hero__text,
.ls-section-copy,
.ls-section-lead,
.ls-footer__text {
    color: oklch(0.88 0.01 80 / 0.80) !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
}

.ls-hero__text {
    max-width: 760px !important;
    margin-top: 22px !important;
}

.ls-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 14px !important;
    margin-top: 34px !important;
}

.ls-actions--center {
    margin-top: 40px !important;
}

.ls-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 28px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    transition:
        transform 0.22s ease,
        opacity 0.22s ease,
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease,
        filter 0.22s ease !important;
}

.ls-button:hover {
    transform: translateY(-3px) scale(1.01) !important;
    box-shadow: 0 18px 40px -22px oklch(0.82 0.14 85 / 72%) !important;
    filter: saturate(1.05) brightness(1.03) !important;
}

.ls-button--solid:hover {
    background: linear-gradient(135deg, oklch(0.92 0.14 88), oklch(0.76 0.17 78)) !important;
    color: oklch(0.08 0.005 60) !important;
}

.ls-button--ghost:hover {
    border-color: oklch(0.88 0.13 88) !important;
    background: oklch(0.82 0.14 85 / 0.08) !important;
}

.ls-button--solid {
    background: var(--ls-gold-gradient) !important;
    color: rgb(18, 17, 16) !important;
    box-shadow: 0 16px 40px -16px oklch(0.82 0.14 85 / 65%) !important;
}

.ls-button--ghost {
    border: 1px solid var(--ls-gold) !important;
    color: var(--ls-gold) !important;
    background: transparent !important;
}

.ls-about,
.ls-services,
.ls-why,
.ls-gallery,
.ls-cta,
.ls-footer {
    padding: 96px 0 !important;
}

.ls-about {
    background: linear-gradient(180deg, oklch(0.10 0.006 60) 0%, oklch(0.07 0.005 60) 100%) !important;
}

.ls-about__grid {
    display: grid !important;
    gap: 42px !important;
    align-items: center !important;
}

.ls-about__visual {
    position: relative !important;
}

.ls-about__image {
    width: 100% !important;
    border-radius: var(--ls-radius-lg) !important;
    border: 1px solid var(--ls-gold-line) !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
}

.ls-about__badge {
    position: absolute !important;
    right: 18px !important;
    bottom: -18px !important;
    display: none !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 18px 22px !important;
    border-radius: var(--ls-radius-sm) !important;
    border: 1px solid var(--ls-gold-line) !important;
    background: oklch(0.17 0.008 60 / 0.96) !important;
    box-shadow: 0 20px 45px -24px oklch(0 0 0 / 0.65) !important;
}

.ls-about__badge strong {
    font-size: 34px !important;
    line-height: 1 !important;
    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

.ls-about__badge span {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.22em !important;
    color: var(--ls-text-soft) !important;
}

.ls-section-head {
    margin: 0 auto 44px !important;
}

.ls-section-head--center {
    max-width: 760px !important;
    text-align: center !important;
}

.ls-section-title {
    font-size: clamp(30px, 4vw, 48px) !important;
}

.ls-section-lead {
    margin-top: 16px !important;
}

.ls-cards-grid {
    display: grid !important;
    gap: 18px !important;
}

.ls-services {
    background: linear-gradient(180deg, oklch(0.17 0.008 60 / 0.55), oklch(0.13 0.005 60 / 0.10)) !important;
}

.ls-card {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid var(--ls-gold-line) !important;
    border-radius: var(--ls-radius-lg) !important;
    background: oklch(0.17 0.008 60 / 0.96) !important;
    padding: 28px !important;
    box-shadow: 0 12px 30px -26px oklch(0 0 0 / 0.85) !important;
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease !important;
}

.ls-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, oklch(0.88 0.13 88 / 0.08), transparent 45%, transparent 65%, oklch(0.72 0.16 78 / 0.08)) !important;
    opacity: 0 !important;
    transition: opacity 0.22s ease !important;
    pointer-events: none !important;
}

.ls-card>* {
    position: relative !important;
    z-index: 1 !important;
}

.ls-card:hover {
    transform: translateY(-6px) !important;
    border-color: oklch(0.88 0.13 88 / 55%) !important;
    box-shadow: 0 22px 50px -26px oklch(0.82 0.14 85 / 56%) !important;
    background: oklch(0.19 0.01 60 / 0.98) !important;
}

.ls-card:hover::after {
    opacity: 1 !important;
}

.ls-card__mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
    border: 1px solid var(--ls-gold-line) !important;
    background: oklch(0.11 0.005 60) !important;
    color: var(--ls-gold) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    margin-bottom: 18px !important;
}

.ls-card__title {
    margin-top: 20px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.ls-card__text {
    margin-top: 10px !important;
    color: oklch(0.88 0.01 80 / 0.74) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

.ls-why__grid {
    grid-template-columns: 1fr !important;
}

.ls-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.ls-gallery__item {
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: var(--ls-radius-lg) !important;
    border: 3px solid var(--ls-gold-line) !important;
    aspect-ratio: 1 / 1 !important;
    background: oklch(0.17 0.008 60) !important;
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease !important;
}

.ls-gallery__item:hover {
    transform: translateY(-4px) !important;
    border-color: oklch(0.88 0.13 88 / 55%) !important;
    box-shadow: 0 18px 36px -24px oklch(0.82 0.14 85 / 52%) !important;
}

.ls-gallery__item img {
    transition: transform 0.35s ease, filter 0.35s ease !important;
}

.ls-gallery__item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.ls-gallery__item:hover img {
    transform: scale(1.04) !important;
    filter: saturate(1.03) contrast(1.02) !important;
}

.ls-cta__panel {
    position: relative !important;
    min-height: 320px !important;
    margin-bottom: 40px !important;
    overflow: hidden !important;
    border-radius: 32px !important;
    border: 2px solid var(--ls-gold-line) !important;
}

.ls-cta__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, oklch(0.13 0.005 60 / 0.90), oklch(0.13 0.005 60 / 0.68) 50%, oklch(0.13 0.005 60 / 0.90)) !important;
}

.ls-cta__content {
    position: relative !important;
    z-index: 1 !important;
    min-height: 320px !important;
    padding: 48px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.ls-cta__title {
    max-width: 640px !important;
    font-size: clamp(22px, 2.6vw, 32px) !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    color: var(--ls-text) !important;
}

.ls-cta__title span {
    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

.ls-cta__text {
    margin-top: 14px !important;
    max-width: 460px !important;
    color: oklch(0.88 0.01 80 / 0.80) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.ls-cta__title,
.ls-cta__text {
    position: relative !important;
    z-index: 1 !important;
}

.ls-cta__content .ls-premium-btn {
    margin-top: 32px !important;
}

@media (min-width: 768px) {
    .ls-cta__title {
        white-space: nowrap !important;
    }
}

.ls-footer {
    background: var(--ls-surface-strong) !important;
    border-top: 1px solid var(--ls-gold-line) !important;
    padding-bottom: 28px !important;
}

.ls-footer__grid {
    display: grid !important;
    gap: 28px !important;
}

.ls-footer__logo {
    width: 144px !important;
    height: 144px !important;
    object-fit: contain !important;
}

.ls-footer__text {
    margin-top: 16px !important;
    max-width: 420px !important;
}

.ls-footer__title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--ls-gold) !important;
    text-transform: none !important;
    letter-spacing: 0.02em !important;
}

.ls-footer__list {
    margin: 16px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: grid !important;
    gap: 10px !important;
}

.ls-footer__list a {
    color: oklch(0.90 0.01 80 / 0.82) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    transition: color 0.2s ease !important;
}

.ls-footer__list a:hover {
    color: var(--ls-gold) !important;
}

.ls-footer__bottom {
    margin-top: 28px !important;
    border-top: 1px solid var(--ls-gold-line) !important;
    padding-top: 18px !important;
    text-align: center !important;
    color: oklch(0.86 0.01 80 / 0.58) !important;
    font-size: 12px !important;
}

@media (min-width: 768px) {
    .ls-about__grid {
        grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
    }

    .ls-about__badge {
        display: flex !important;
    }

    .ls-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ls-why__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ls-gallery__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ls-footer__grid {
        grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 0.9fr)) !important;
    }

    .ls-cta__content {
        padding: 64px 48px !important;
    }
}

@media (min-width: 1024px) {
    .ls-services__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ls-why__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

.ls-premium-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;

    min-height: 54px !important;
    padding: 0 30px !important;

    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 999px !important;

    background-image: linear-gradient(135deg,
            #fbd26b 0%,
            #f2c654 20%,
            #ebb43d 48%,
            #e3a41a 72%,
            #c8870e 90%,
            #9d6507 100%) !important;

    color: #121110 !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;

    box-shadow:
        0 14px 42px -12px rgba(227, 164, 26, 0.60),
        inset 0 1px 0 rgba(255, 255, 255, .35),
        inset 0 -1px 0 rgba(0, 0, 0, .12) !important;

    transition:
        transform .28s ease,
        filter .28s ease,
        box-shadow .28s ease,
        background-image .28s ease !important;
}

.ls-premium-btn__text {
    position: relative !important;
    z-index: 2 !important;
}

.ls-premium-btn__shine {
    position: absolute !important;
    top: 0 !important;
    left: -120% !important;
    width: 60% !important;
    height: 100% !important;

    background: linear-gradient(100deg,
            transparent 0%,
            rgba(255, 255, 255, .15) 35%,
            rgba(255, 255, 255, .65) 50%,
            rgba(255, 255, 255, .15) 65%,
            transparent 100%) !important;

    transform: skewX(-25deg) !important;
    transition: left .8s ease !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.ls-premium-btn:hover {
    transform: translateY(-3px) scale(1.02) !important;

    background-image: linear-gradient(135deg,
            #ffe08b 0%,
            #f6cf62 20%,
            #efbe45 48%,
            #e7ab22 72%,
            #cf8e10 90%,
            #a96d08 100%) !important;

    box-shadow:
        0 22px 54px -14px rgba(227, 164, 26, .75),
        inset 0 1px 0 rgba(255, 255, 255, .45),
        inset 0 -1px 0 rgba(0, 0, 0, .08) !important;

    filter: brightness(1.03) saturate(1.08) !important;
}

.ls-premium-btn:hover .ls-premium-btn__shine {
    left: 150% !important;
}

.ls-premium-btn:active {
    transform: translateY(-1px) scale(.99) !important;
}

.ls-premium-btn,
.ls-premium-btn:link,
.ls-premium-btn:visited,
.ls-premium-btn:hover,
.ls-premium-btn:focus,
.ls-premium-btn:active {
    color: #121110 !important;
}

.ls-premium-btn__text {
    position: relative !important;
    z-index: 2 !important;
    color: #121110 !important;
}

.ls-button--ghost,
.ls-button--ghost:link,
.ls-button--ghost:visited,
.ls-button--ghost:hover,
.ls-button--ghost:focus,
.ls-button--ghost:active {
    border: 1px solid var(--ls-gold) !important;
    background: transparent !important;

    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

/* About section title */
.ls-about__content .ls-section-title {
    max-width: 720px !important;
    font-size: clamp(38px, 4.8vw, 58px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    margin: 18px 0 24px !important;
}

/* Remove forced line break */
.ls-about__content .ls-section-title span {
    display: inline !important;
    margin-top: 0 !important;
    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

/* Paragraph width */
.ls-about__content .ls-section-copy {
    max-width: 640px !important;
    margin-bottom: 22px !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
}/* End custom CSS */
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap");

.ls-spa-page {
    --ls-bg: oklch(0.13 0.005 60) !important;
    --ls-surface: oklch(0.17 0.008 60) !important;
    --ls-surface-strong: oklch(0.09 0.004 60) !important;
    --ls-text: oklch(0.96 0.01 80) !important;
    --ls-text-soft: oklch(0.74 0.02 75) !important;
    --ls-gold: oklch(0.82 0.14 88) !important;
    --ls-gold-soft: oklch(0.82 0.14 85 / 30%) !important;
    --ls-gold-line: oklch(0.82 0.14 88) !important;
    --ls-gold-gradient: linear-gradient(135deg, oklch(0.88 0.13 88), oklch(0.72 0.16 78)) !important;
    --ls-gold-text: linear-gradient(135deg, oklch(0.92 0.10 90), oklch(0.78 0.16 80) 50%, oklch(0.62 0.14 70)) !important;
    --ls-radius-lg: 24px !important;
    --ls-radius-md: 18px !important;
    --ls-radius-sm: 12px !important;
    font-family: "Roboto", system-ui, sans-serif !important;
    color: var(--ls-text) !important;
    background:
        radial-gradient(circle at top, oklch(0.22 0.04 75 / 0.28), transparent 35%),
        linear-gradient(180deg, oklch(0.12 0.005 60), oklch(0.09 0.004 60)) !important;
    overflow: hidden !important;
}

.ls-spa-page,
.ls-spa-page *,
.ls-spa-page *::before,
.ls-spa-page *::after {
    box-sizing: border-box !important;
}

.ls-spa-page img {
    display: block !important;
    max-width: 100% !important;
}

.ls-spa-page a {
    color: inherit !important;
    text-decoration: none !important;
}

.ls-spa-page p,
.ls-spa-page h1,
.ls-spa-page h2,
.ls-spa-page h3 {
    margin: 0 !important;
}

.ls-container {
    width: min(100%, 1180px) !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.ls-hero,
.ls-about,
.ls-services,
.ls-why,
.ls-gallery,
.ls-cta {
    position: relative !important;
}

.ls-hero {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.ls-hero__media,
.ls-cta__panel {
    position: absolute !important;
    inset: 0 !important;
}

.ls-hero__image,
.ls-cta__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.ls-cta__image {
    position: absolute !important;
    inset: 0 !important;
}

.ls-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg,
            oklch(0.08 0.003 60 / 0.92) 0%,
            oklch(0.08 0.003 60 / 0.82) 50%,
            oklch(0.08 0.003 60 / 0.97) 100%) !important;
}

.ls-hero__content {
    position: relative !important;
    z-index: 1 !important;
    min-height: 100vh !important;
    padding-top: 120px !important;
    padding-bottom: 120px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.ls-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 18px !important;
    margin-bottom: 30px !important;
    border: 1px solid var(--ls-gold-line) !important;
    border-radius: 999px !important;
    color: var(--ls-gold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.28em !important;
    font-size: 11px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
    background: oklch(0.13 0.005 60 / 0.45) !important;
    backdrop-filter: blur(12px) !important;
}

.ls-section-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 18px !important;
    margin-bottom: 30px !important;
    color: var(--ls-gold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.28em !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.ls-about-section-tag {
    gap: 10px !important;
    color: var(--ls-gold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.28em !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.ls-eyebrow__icon {
    flex-shrink: 0 !important;
    color: var(--ls-gold) !important;
}

.ls-hero__title,
.ls-section-title {
    margin-top: 22px !important;
    font-size: clamp(34px, 5vw, 64px) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

.ls-hero__title span,
.ls-section-title span {
    display: block !important;
    margin-top: 10px !important;
    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

.ls-hero__text,
.ls-section-copy,
.ls-section-lead {
    color: oklch(0.88 0.01 80 / 0.80) !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
}

.ls-hero__text {
    max-width: 760px !important;
    margin-top: 22px !important;
}

.ls-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 14px !important;
    margin-top: 34px !important;
}

.ls-actions--center {
    margin-top: 40px !important;
}

.ls-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 28px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    transition:
        transform 0.22s ease,
        opacity 0.22s ease,
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease,
        filter 0.22s ease !important;
}

.ls-button:hover {
    transform: translateY(-3px) scale(1.01) !important;
    box-shadow: 0 18px 40px -22px oklch(0.82 0.14 85 / 72%) !important;
    filter: saturate(1.05) brightness(1.03) !important;
}

.ls-button--solid:hover {
    background: linear-gradient(135deg, oklch(0.92 0.14 88), oklch(0.76 0.17 78)) !important;
    color: oklch(0.08 0.005 60) !important;
}

.ls-button--ghost:hover {
    border-color: oklch(0.88 0.13 88) !important;
    background: oklch(0.82 0.14 85 / 0.08) !important;
}

.ls-button--solid {
    background: var(--ls-gold-gradient) !important;
    color: rgb(18, 17, 16) !important;
    box-shadow: 0 16px 40px -16px oklch(0.82 0.14 85 / 65%) !important;
}

.ls-button--ghost {
    border: 1px solid var(--ls-gold) !important;
    color: var(--ls-gold) !important;
    background: transparent !important;
}

.ls-about,
.ls-services,
.ls-why,
.ls-gallery,
.ls-cta {
    padding: 96px 0 !important;
}

.ls-about {
    background: linear-gradient(180deg, oklch(0.10 0.006 60) 0%, oklch(0.07 0.005 60) 100%) !important;
}

.ls-about__grid {
    display: grid !important;
    gap: 42px !important;
    align-items: center !important;
}

.ls-about__visual {
    position: relative !important;
}

.ls-about__image {
    width: 100% !important;
    border-radius: var(--ls-radius-lg) !important;
    border: 1px solid var(--ls-gold-line) !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
}

.ls-about__badge {
    position: absolute !important;
    right: 18px !important;
    bottom: -18px !important;
    display: none !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 18px 22px !important;
    border-radius: var(--ls-radius-sm) !important;
    border: 1px solid var(--ls-gold-line) !important;
    background: oklch(0.17 0.008 60 / 0.96) !important;
    box-shadow: 0 20px 45px -24px oklch(0 0 0 / 0.65) !important;
}

.ls-about__badge strong {
    font-size: 34px !important;
    line-height: 1 !important;
    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

.ls-about__badge span {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.22em !important;
    color: var(--ls-text-soft) !important;
}

.ls-section-head {
    margin: 0 auto 44px !important;
}

.ls-section-head--center {
    max-width: 760px !important;
    text-align: center !important;
}

.ls-section-title {
    font-size: clamp(30px, 4vw, 48px) !important;
}

.ls-section-lead {
    margin-top: 16px !important;
}

.ls-cards-grid {
    display: grid !important;
    gap: 18px !important;
}

.ls-services {
    background: linear-gradient(180deg, oklch(0.17 0.008 60 / 0.55), oklch(0.13 0.005 60 / 0.10)) !important;
}

.ls-card {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid var(--ls-gold-line) !important;
    border-radius: var(--ls-radius-lg) !important;
    background: oklch(0.17 0.008 60 / 0.96) !important;
    padding: 28px !important;
    box-shadow: 0 12px 30px -26px oklch(0 0 0 / 0.85) !important;
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease,
        background 0.22s ease !important;
}

.ls-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, oklch(0.88 0.13 88 / 0.08), transparent 45%, transparent 65%, oklch(0.72 0.16 78 / 0.08)) !important;
    opacity: 0 !important;
    transition: opacity 0.22s ease !important;
    pointer-events: none !important;
}

.ls-card>* {
    position: relative !important;
    z-index: 1 !important;
}

.ls-card:hover {
    transform: translateY(-6px) !important;
    border-color: oklch(0.88 0.13 88 / 55%) !important;
    box-shadow: 0 22px 50px -26px oklch(0.82 0.14 85 / 56%) !important;
    background: oklch(0.19 0.01 60 / 0.98) !important;
}

.ls-card:hover::after {
    opacity: 1 !important;
}

.ls-card__mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
    border: 1px solid var(--ls-gold-line) !important;
    background: oklch(0.11 0.005 60) !important;
    color: var(--ls-gold) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    margin-bottom: 18px !important;
}

.ls-card__title {
    margin-top: 20px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.ls-card__text {
    margin-top: 10px !important;
    color: oklch(0.88 0.01 80 / 0.74) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

.ls-why__grid {
    grid-template-columns: 1fr !important;
}

.ls-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.ls-gallery__item {
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: var(--ls-radius-lg) !important;
    border: 3px solid var(--ls-gold-line) !important;
    aspect-ratio: 1 / 1 !important;
    background: oklch(0.17 0.008 60) !important;
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease !important;
}

.ls-gallery__item:hover {
    transform: translateY(-4px) !important;
    border-color: oklch(0.88 0.13 88 / 55%) !important;
    box-shadow: 0 18px 36px -24px oklch(0.82 0.14 85 / 52%) !important;
}

.ls-gallery__item img {
    transition: transform 0.35s ease, filter 0.35s ease !important;
}

.ls-gallery__item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.ls-gallery__item:hover img {
    transform: scale(1.04) !important;
    filter: saturate(1.03) contrast(1.02) !important;
}

.ls-cta__panel {
    position: relative !important;
    min-height: 320px !important;
    margin-bottom: 40px !important;
    overflow: hidden !important;
    border-radius: 32px !important;
    border: 2px solid var(--ls-gold-line) !important;
}

.ls-cta__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, oklch(0.13 0.005 60 / 0.90), oklch(0.13 0.005 60 / 0.68) 50%, oklch(0.13 0.005 60 / 0.90)) !important;
}

.ls-cta__content {
    position: relative !important;
    z-index: 1 !important;
    min-height: 320px !important;
    padding: 48px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.ls-cta__title {
    max-width: 640px !important;
    font-size: clamp(22px, 2.6vw, 32px) !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    color: var(--ls-text) !important;
}

.ls-cta__title span {
    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

.ls-cta__text {
    margin-top: 14px !important;
    max-width: 460px !important;
    color: oklch(0.88 0.01 80 / 0.80) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.ls-cta__title,
.ls-cta__text {
    position: relative !important;
    z-index: 1 !important;
}

.ls-cta__content .ls-premium-btn {
    margin-top: 32px !important;
}

@media (min-width: 768px) {
    .ls-cta__title {
        white-space: nowrap !important;
    }
}

@media (min-width: 768px) {
    .ls-about__grid {
        grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
    }

    .ls-about__badge {
        display: flex !important;
    }

    .ls-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ls-why__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ls-gallery__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ls-cta__content {
        padding: 64px 48px !important;
    }
}

@media (min-width: 1024px) {
    .ls-services__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ls-why__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

.ls-premium-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;

    min-height: 54px !important;
    padding: 0 30px !important;

    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 999px !important;

    background-image: linear-gradient(135deg,
            #fbd26b 0%,
            #f2c654 20%,
            #ebb43d 48%,
            #e3a41a 72%,
            #c8870e 90%,
            #9d6507 100%) !important;

    color: #121110 !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;

    box-shadow:
        0 14px 42px -12px rgba(227, 164, 26, 0.60),
        inset 0 1px 0 rgba(255, 255, 255, .35),
        inset 0 -1px 0 rgba(0, 0, 0, .12) !important;

    transition:
        transform .28s ease,
        filter .28s ease,
        box-shadow .28s ease,
        background-image .28s ease !important;
}

.ls-premium-btn__text {
    position: relative !important;
    z-index: 2 !important;
}

.ls-premium-btn__shine {
    position: absolute !important;
    top: 0 !important;
    left: -120% !important;
    width: 60% !important;
    height: 100% !important;

    background: linear-gradient(100deg,
            transparent 0%,
            rgba(255, 255, 255, .15) 35%,
            rgba(255, 255, 255, .65) 50%,
            rgba(255, 255, 255, .15) 65%,
            transparent 100%) !important;

    transform: skewX(-25deg) !important;
    transition: left .8s ease !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.ls-premium-btn:hover {
    transform: translateY(-3px) scale(1.02) !important;

    background-image: linear-gradient(135deg,
            #ffe08b 0%,
            #f6cf62 20%,
            #efbe45 48%,
            #e7ab22 72%,
            #cf8e10 90%,
            #a96d08 100%) !important;

    box-shadow:
        0 22px 54px -14px rgba(227, 164, 26, .75),
        inset 0 1px 0 rgba(255, 255, 255, .45),
        inset 0 -1px 0 rgba(0, 0, 0, .08) !important;

    filter: brightness(1.03) saturate(1.08) !important;
}

.ls-premium-btn:hover .ls-premium-btn__shine {
    left: 150% !important;
}

.ls-premium-btn:active {
    transform: translateY(-1px) scale(.99) !important;
}

.ls-premium-btn,
.ls-premium-btn:link,
.ls-premium-btn:visited,
.ls-premium-btn:hover,
.ls-premium-btn:focus,
.ls-premium-btn:active {
    color: #121110 !important;
}

.ls-premium-btn__text {
    position: relative !important;
    z-index: 2 !important;
    color: #121110 !important;
}

.ls-button--ghost,
.ls-button--ghost:link,
.ls-button--ghost:visited,
.ls-button--ghost:hover,
.ls-button--ghost:focus,
.ls-button--ghost:active {
    border: 1px solid var(--ls-gold) !important;
    background: transparent !important;

    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

/* About section title */
.ls-about__content .ls-section-title {
    max-width: 720px !important;
    font-size: clamp(38px, 4.8vw, 58px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    margin: 18px 0 24px !important;
}

/* Remove forced line break */
.ls-about__content .ls-section-title span {
    display: inline !important;
    margin-top: 0 !important;
    background-image: var(--ls-gold-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

/* Paragraph width */
.ls-about__content .ls-section-copy {
    max-width: 640px !important;
    margin-bottom: 22px !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
}




























/* Start custom CSS for container, class: .elementor-element-5bb0ee2 */@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap");

/* Section wrapper */
.elementor-element-5bb0ee2 {
    --ls-text: oklch(0.96 0.01 80) !important;
    --ls-text-soft: oklch(0.74 0.02 75) !important;
    --ls-gold: oklch(0.82 0.14 88) !important;
    --ls-gold-line: oklch(0.82 0.14 88 / 18%) !important;
    --ls-surface: oklch(0.17 0.008 60) !important;
    --ls-radius-lg: 24px !important;
    font-family: "Roboto", system-ui, sans-serif !important;
    color: var(--ls-text) !important;
    background: oklch(0.09 0.004 60) !important;
    padding-block: 112px !important;
}

.elementor-element-5bb0ee2,
.elementor-element-5bb0ee2 * {
    box-sizing: border-box !important;
}

/* "Contact" eyebrow */
.elementor-element-dbdbdd9 .elementor-heading-title {
    text-align: center !important;
    color: var(--ls-gold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.28em !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    margin: 0 0 16px !important;
}

/* Main title */
.elementor-element-546a33e .elementor-heading-title {
    text-align: center !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    color: var(--ls-text) !important;
    margin: 0 auto 16px !important;
    max-width: 640px !important;
}

/* Lead paragraph */
.elementor-element-389af6a p {
    text-align: center !important;
    max-width: 620px !important;
    margin: 0 auto 56px !important;
    color: oklch(0.88 0.01 80 / 0.80) !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
}

/* Two-column layout: form | contact info */
.elementor-element-c83bcfd {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 32px !important;
    align-items: stretch !important;
}

.elementor-element-b497e99,
.elementor-element-d7bf433 {
    flex: 1 1 360px !important;
}

/* Form card */
.elementor-element-b497e99 {
    border: 1px solid var(--ls-gold-line) !important;
    border-radius: var(--ls-radius-lg) !important;
    background: oklch(0.17 0.008 60 / 0.96) !important;
    padding: 36px !important;
}

.elementor-element-0060b55 .wpcf7-form p {
    margin: 0 0 18px !important;
}

.elementor-element-0060b55 .wpcf7-form label {
    display: block !important;
    color: var(--ls-gold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

.elementor-element-0060b55 .wpcf7-form-control {
    width: 100% !important;
    border: 1px solid var(--ls-gold-line) !important;
    border-radius: 12px !important;
    background: oklch(0.11 0.005 60) !important;
    color: var(--ls-text) !important;
    font-family: "Roboto", system-ui, sans-serif !important;
    font-size: 15px !important;
    padding: 14px 16px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.elementor-element-0060b55 textarea.wpcf7-form-control {
    resize: vertical !important;
    min-height: 120px !important;
}

.elementor-element-0060b55 .wpcf7-form-control::placeholder {
    color: var(--ls-text-soft) !important;
}

.elementor-element-0060b55 .wpcf7-form-control:focus {
    outline: none !important;
    border-color: var(--ls-gold) !important;
    box-shadow: 0 0 0 3px oklch(0.82 0.14 88 / 20%) !important;
}

.elementor-element-0060b55 input[type="submit"] {
    position: relative !important;
    overflow: hidden !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    padding: 0 30px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 999px !important;

    background-image: linear-gradient(135deg,
            #fbd26b 0%,
            #f2c654 20%,
            #ebb43d 48%,
            #e3a41a 72%,
            #c8870e 90%,
            #9d6507 100%) !important;

    color: #121110 !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    cursor: pointer !important;

    box-shadow:
        0 14px 42px -12px rgba(227, 164, 26, 0.60),
        inset 0 1px 0 rgba(255, 255, 255, .35),
        inset 0 -1px 0 rgba(0, 0, 0, .12) !important;

    transition:
        transform .28s ease,
        filter .28s ease,
        box-shadow .28s ease,
        background-image .28s ease !important;
}

.elementor-element-0060b55 input[type="submit"]::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -120% !important;
    width: 60% !important;
    height: 100% !important;

    background: linear-gradient(100deg,
            transparent 0%,
            rgba(255, 255, 255, .15) 35%,
            rgba(255, 255, 255, .65) 50%,
            rgba(255, 255, 255, .15) 65%,
            transparent 100%) !important;

    transform: skewX(-25deg) !important;
    transition: left .8s ease !important;
    pointer-events: none !important;
}

.elementor-element-0060b55 input[type="submit"]:hover {
    transform: translateY(-3px) scale(1.02) !important;

    background-image: linear-gradient(135deg,
            #ffe08b 0%,
            #f6cf62 20%,
            #efbe45 48%,
            #e7ab22 72%,
            #cf8e10 90%,
            #a96d08 100%) !important;

    box-shadow:
        0 22px 54px -14px rgba(227, 164, 26, .75),
        inset 0 1px 0 rgba(255, 255, 255, .45),
        inset 0 -1px 0 rgba(0, 0, 0, .08) !important;

    filter: brightness(1.03) saturate(1.08) !important;
}

.elementor-element-0060b55 input[type="submit"]:hover::before {
    left: 150% !important;
}

.elementor-element-0060b55 input[type="submit"]:active {
    transform: translateY(-1px) scale(.99) !important;
}

.elementor-element-0060b55 .wpcf7-spinner {
    margin-left: 10px !important;
}

/* Contact info column */
.elementor-element-d7bf433 {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.elementor-element-d7bf433 .elementor-element-973f080,
.elementor-element-d7bf433 .elementor-element-a8613e8,
.elementor-element-d7bf433 .elementor-element-cb556c5,
.elementor-element-d7bf433 .elementor-element-a163940 {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    border: 1px solid var(--ls-gold-line) !important;
    border-radius: var(--ls-radius-lg) !important;
    background: oklch(0.17 0.008 60 / 0.96) !important;
    padding: 20px 24px !important;
}

.elementor-element-6f07474 .elementor-icon-wrapper,
.elementor-element-3bd1f53 .elementor-icon-wrapper,
.elementor-element-3624e26 .elementor-icon-wrapper,
.elementor-element-37b54d2 .elementor-icon-wrapper {
    display: flex !important;
}

.elementor-element-6f07474 .elementor-icon,
.elementor-element-3bd1f53 .elementor-icon,
.elementor-element-3624e26 .elementor-icon,
.elementor-element-37b54d2 .elementor-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
    border: 1px solid var(--ls-gold-line) !important;
    background: oklch(0.11 0.005 60) !important;
    color: var(--ls-gold) !important;
}

.elementor-element-6f07474 .elementor-icon svg,
.elementor-element-3624e26 .elementor-icon svg,
.elementor-element-37b54d2 .elementor-icon svg {
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
}

.elementor-element-3bd1f53 .elementor-icon i,
.elementor-element-3624e26 .elementor-icon i,
.elementor-element-37b54d2 .elementor-icon i {
    font-size: 20px !important;
    color: currentColor !important;
}

.elementor-element-adef9cc .elementor-heading-title,
.elementor-element-c9126aa .elementor-heading-title,
.elementor-element-38dd7f2 .elementor-heading-title,
.elementor-element-7593984 .elementor-heading-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    color: var(--ls-gold) !important;
    margin: 0 0 4px !important;
}

.elementor-element-adef9cc p,
.elementor-element-c9126aa p,
.elementor-element-38dd7f2 p,
.elementor-element-7593984 p {
    font-size: 15px !important;
    margin: 0 !important;
}

.elementor-element-adef9cc a,
.elementor-element-c9126aa a,
.elementor-element-38dd7f2 a,
.elementor-element-7593984 a,
.elementor-element-adef9cc p,
.elementor-element-c9126aa p,
.elementor-element-38dd7f2 p,
.elementor-element-7593984 p {
    color: oklch(0.88 0.01 80 / 0.85) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.elementor-element-adef9cc a:hover,
.elementor-element-c9126aa a:hover,
.elementor-element-38dd7f2 a:hover,
.elementor-element-7593984 a:hover {
    color: var(--ls-gold) !important;
}

@media (max-width: 767px) {
    .elementor-element-c83bcfd {
        flex-direction: column !important;
    }
}/* End custom CSS */
