.ad-site-main { background: var(--ad-navy); overflow: clip; }
.ad-site-main .elementor-heading-title { color: #fff; font-family: Oxanium, Arial, sans-serif; }
.ad-site-main .elementor-widget-text-editor, .ad-site-main .elementor-widget-text-editor p { color: var(--ad-text); }
.elementor-location-header .e-con { align-items: center !important; background-color: #121212 !important; display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; }
.elementor-location-header .elementor-widget-image img { max-height: 36px; object-fit: contain; width: auto; }
.elementor-location-header .ad-elementor-menu__list { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; list-style: none; margin: 0; padding: 0; }
.elementor-location-header .ad-elementor-menu__list a { color: #fff; font-family: Manrope,Arial,sans-serif; font-weight: 700; }
.elementor-location-footer .e-con { background-color: #121212 !important; }
.ad-demo-section { background-color: var(--ad-navy); }
.ad-demo-section:nth-child(even) { background-color: var(--ad-dark-2); }
.ad-demo-section { margin: 0 !important; padding: 100px max(24px, calc((100vw - 1240px) / 2)) !important; }
.ad-home-hero { min-height: 700px; padding: 0 !important; position: relative; }.ad-home-hero > .elementor-element { width: 100%; }.ad-home-hero__content { bottom: 0; left: 50%; max-width: 1240px; padding: 80px 24px !important; position: absolute; transform: translateX(-50%); width: 100%; z-index: 3; }.ad-home-hero__content .elementor-heading-title { font-size: clamp(42px,7vw,82px); line-height: .98; max-width: 800px; text-transform: uppercase; }.ad-home-hero__content .elementor-heading-title span,.ad-eyebrow { color: var(--ad-primary); }.ad-eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ad-home-about { align-items: center; display: grid !important; gap: 80px; grid-template-columns: 1fr 1fr; }.ad-home-about__media { display: grid !important; gap: 22px; grid-template-columns: 1fr 1fr; }.ad-home-about__media img { border-radius: 10px; height: 100%; object-fit: cover; }.ad-home-about__media > .elementor-element:last-child { margin-top: 48px; }.ad-home-about h2,.ad-home-services h2,.ad-home-before h2,.ad-home-why h2,.ad-home-projects h2,.ad-home-faq h2,.ad-home-instagram h2 { font-size: clamp(34px,4vw,56px); }
.ad-home-about__media,.ad-home-about__copy,.ad-home-before__copy { padding: 0 !important; }
.ad-home-stats { display: grid !important; grid-template-columns: repeat(4,1fr); text-align: center; }.ad-home-stats h3 { color: var(--ad-primary) !important; font-size: 42px; margin: 0; }.ad-home-stats .elementor-widget-text-editor { margin-bottom: 20px; }
.ad-home-banner { background: #121212 url('../images/none') center/cover; padding-bottom: 80px !important; padding-top: 80px !important; }.ad-home-banner img { margin: auto; max-width: 900px; }
.ad-home-services,.ad-home-projects,.ad-home-instagram { text-align: center; }.ad-home-services > .elementor-widget-text-editor:not(:last-child),.ad-home-services > .elementor-widget-heading { margin-inline: auto; max-width: 620px; }.ad-home-services .ad-service-grid { margin-top: 44px; text-align: left; }
.ad-home-before { align-items: center; display: grid !important; gap: 64px; grid-template-columns: 1fr 1fr; }.ad-home-cta { align-items:center; background: var(--ad-primary) !important; display:flex !important; flex-direction:row !important; justify-content:space-between; padding-bottom:42px !important; padding-top:42px !important; }.ad-home-cta h3 { color:#fff !important; font-size:34px; margin:0; }.ad-home-cta .elementor-button { background:transparent; border:1px solid #fff; border-radius:0; }
.ad-home-why { text-align:center; }.ad-why-grid { display:grid; gap:18px; grid-template-columns:repeat(4,1fr); margin-top:40px; text-align:left; }.ad-why-grid > div { background:#222; border-radius:10px; padding:32px; }.ad-why-grid h4 { color:#fff; font-family:Oxanium,Arial,sans-serif; font-size:21px; }
.ad-home-projects .ad-project-filter,.ad-home-faq > .elementor-widget-text-editor:last-child { margin:36px auto 0; max-width:1000px; text-align:left; }.ad-home-faq { display:grid !important; grid-template-columns: .8fr 1.2fr; gap:40px; }.ad-home-faq > .elementor-widget-text-editor:last-child { border-top:1px solid rgba(255,255,255,.2); }.ad-home-faq > .elementor-widget-text-editor:last-child p { border-bottom:1px solid rgba(255,255,255,.2); padding:18px 0; }.ad-home-instagram .elementor-image-gallery { margin-top:32px; }.ad-home-instagram .gallery { display:grid; grid-template-columns:repeat(8,1fr); }.ad-home-instagram .gallery-item { margin:0 !important; max-width:none !important; width:auto !important; }.ad-home-instagram .gallery-icon img { border:0 !important; height:140px; object-fit:cover; width:100%; }
.ad-demo-section.ad-demo-header { background-color: rgba(18,18,18,.92); border-bottom: 1px solid rgba(255,255,255,.1); min-height: 86px; position: relative; z-index: 20; }
.ad-demo-header.elementor-element, .ad-demo-header.e-con { align-items: center !important; display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; }
.ad-demo-header > .elementor-element { flex: 0 1 auto !important; width: auto !important; }
.ad-demo-header .elementor-widget-image img { max-height: 36px; object-fit: contain; width: auto; }
.ad-elementor-menu__list { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; list-style: none; margin: 0; padding: 0; }
.ad-elementor-menu__list a { color: #fff; font-family: Manrope, Arial, sans-serif; font-size: 14px; font-weight: 700; transition: color .2s ease; }
.ad-elementor-menu__list a:hover, .ad-elementor-menu__list .current-menu-item > a { color: var(--ad-primary); }
.ad-booking-form { display: grid; gap: 16px; max-width: 720px; }
.ad-booking-form label { color: #fff; display: grid; font-weight: 700; gap: 6px; }
.ad-booking-form input, .ad-booking-form select, .ad-booking-form textarea { background: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 3px; color: #161616; font: inherit; min-height: 44px; padding: 10px 12px; width: 100%; }
.ad-booking-form button { background: var(--ad-primary); border: 0; border-radius: 3px; color: #fff; cursor: pointer; font: inherit; font-weight: 800; min-height: 48px; padding: 10px 18px; transition: background .2s ease, transform .2s ease; }
.ad-booking-form button:hover { background: #ff1532; transform: translateY(-2px); }
.ad-booking-form button:disabled { cursor: wait; opacity: .7; }
.ad-booking-message[hidden] { display: none; }
.ad-booking-message { margin: 0; padding: 12px; border-radius: 6px; }
.ad-booking-message--success { background: #e5f6eb; color: #135c2f; }
.ad-booking-message--error { background: #fdecec; color: #8d1f1f; }
.ad-service-grid { display: grid; gap: 24px; grid-template-columns: repeat(var(--ad-columns, 3), minmax(0, 1fr)); }
.ad-service-card { background: var(--ad-dark-3); border: 1px solid rgba(255,255,255,.09); border-radius: 0; overflow: hidden; padding: 0 0 22px; transition: transform .25s ease, border-color .25s ease; }
.ad-service-card:hover { border-color: var(--ad-primary); transform: translateY(-7px); }
.ad-service-card img { aspect-ratio: 1.3; margin-bottom: 20px; object-fit: cover; width: 100%; }
.ad-service-card h3, .ad-service-card div { margin-left: 22px; margin-right: 22px; }.ad-service-card h3 { color: #fff; margin-bottom: 8px; }
.ad-reveal, .ad-site-main > .elementor > .elementor-element { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }.ad-reveal.is-visible, .ad-site-main > .elementor > .elementor-element.is-visible { opacity: 1; transform: none; }
@media (max-width: 767px) { .ad-service-grid { grid-template-columns: 1fr; }.ad-demo-header.elementor-element, .ad-demo-header.e-con { min-height: 64px; }.ad-elementor-menu__list { gap: 10px; }.ad-elementor-menu__list a { font-size: 12px; } }
@media (max-width: 767px) { .ad-demo-section { padding:64px 20px !important; }.ad-home-hero { min-height:540px; }.ad-home-hero__content { padding:48px 20px !important; }.ad-home-about,.ad-home-before,.ad-home-faq { display:block !important; }.ad-home-about__copy { margin-top:40px; }.ad-home-stats { grid-template-columns:repeat(2,1fr); }.ad-home-cta { align-items:flex-start; flex-direction:column !important; gap:22px; }.ad-why-grid { grid-template-columns:1fr; }.ad-home-instagram .gallery { grid-template-columns:repeat(4,1fr); } }
