.sab-svc {
    --sab-svc-bg: #f4efe6;
    --sab-svc-primary: #0e3a31;
    --sab-svc-secondary: #1c4332;
    --sab-svc-accent: #b98d47;
    --sab-svc-card-bg: #ffffff;
    --sab-svc-text: #18362f;
    --sab-svc-muted: #587067;
    --sab-svc-white: #ffffff;
    --sab-svc-border: rgba(14,58,49,0.12);
    --sab-svc-btn-text: #18362f;
    --sab-svc-btn-bg: #f0c879;
    --sab-svc-btn-bg-hover: #d7a94b;
    --sab-svc-icon-box: 40px;
    --sab-svc-icon-size: 18px;
    color: var(--sab-svc-text);
    background: var(--sab-svc-bg);
    position: relative;
    overflow: hidden;
}
.sab-svc *, .sab-svc *::before, .sab-svc *::after { box-sizing: border-box; }
.sab-svc img { max-width: 100%; display: block; }
.sab-svc a { text-decoration: none; }
.sab-svc p, .sab-svc h1, .sab-svc h2, .sab-svc h3, .sab-svc h4, .sab-svc ul { margin: 0; }
.sab-svc ul { padding: 0; list-style: none; }
.sab-svc-shell {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 0 0 18px;
    position: relative;
    z-index: 1;
}

.sab-svc-full-bleed {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.elementor-widget-sab_premium_v3_services_page,
.elementor-widget-sab_premium_v3_services_page .elementor-widget-container {
    width: 100%;
}
.sab-svc-full-bleed .sab-svc-shell {
    width: 100%;
}
.sab-svc-container {
    width: min(100%, 1220px);
    max-width: 1220px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}
.sab-svc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--sab-svc-accent);
}
.sab-svc-section-heading,
.sab-svc-card-heading,
.sab-svc-hero-heading {
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: inherit;
}
.sab-svc-hero-heading {
    font-size: clamp(32px, 5vw, 56px);
    line-height: 0.98;
    color: var(--sab-svc-white);
    display: grid;
    gap: 6px;
}
.sab-svc-hero-highlight {
    display: inline-block;
    color: var(--sab-svc-accent);
    font-style: italic;
    font-weight: 500;
}
.sab-svc-section-heading {
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1.05;
    color: var(--sab-svc-primary);
}
.sab-svc-card-heading {
    font-size: clamp(22px, 2.2vw, 32px);
    line-height: 1.05;
    color: var(--sab-svc-primary);
}
.sab-svc p,
.sab-svc li,
.sab-svc .sab-svc-tech-label {
    font-family: "Inter", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.72;
    color: var(--sab-svc-muted);
}
.sab-svc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 18px;
    background: var(--sab-svc-btn-bg);
    color: var(--sab-svc-btn-text);
    border-radius: 999px;
    font-family: "Inter", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 16px 28px rgba(0,0,0,0.08);
    transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.sab-svc-btn:hover,
.sab-svc-btn:focus {
    background: var(--sab-svc-btn-bg-hover);
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(0,0,0,0.12);
}
.sab-svc-icon {
    width: var(--sab-svc-icon-box);
    height: var(--sab-svc-icon-box);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(185,141,71,0.14);
    color: var(--sab-svc-accent);
    flex-shrink: 0;
}
.sab-svc-icon svg {
    width: var(--sab-svc-icon-size);
    height: var(--sab-svc-icon-size);
    stroke: currentColor;
    fill: none;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sab-svc-icon-large {
    --sab-svc-icon-box: 54px;
    --sab-svc-icon-size: 24px;
}
.sab-svc-hero-section { padding-top: 10px; width: 100%; }
.sab-svc-hero-card {
    position: relative;
    overflow: hidden;
    padding: 24px 26px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 20% 10%, rgba(185,141,71,0.18), transparent 32%),
        radial-gradient(circle at 82% 88%, rgba(185,141,71,0.14), transparent 30%),
        linear-gradient(140deg, #07241e 0%, var(--sab-svc-primary) 56%, #123e35 100%);
    box-shadow: 0 26px 60px rgba(6, 31, 26, 0.18);
    width: 100%;
}
.sab-svc-hero-card::before,
.sab-svc-hero-card::after,
.sab-svc-cta-card::before,
.sab-svc-cta-card::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}
.sab-svc-hero-card::before {
    width: 560px;
    height: 560px;
    left: -320px;
    top: -260px;
    border: 1px solid rgba(240,200,121,0.14);
    box-shadow: 0 0 0 32px rgba(240,200,121,0.06), 0 0 0 64px rgba(240,200,121,0.03);
}
.sab-svc-hero-card::after {
    width: 420px;
    height: 420px;
    right: -240px;
    bottom: -220px;
    border: 1px solid rgba(240,200,121,0.14);
    box-shadow: 0 0 0 28px rgba(240,200,121,0.05), 0 0 0 56px rgba(240,200,121,0.025);
}
.sab-svc-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.98fr);
    align-items: center;
    gap: 24px;
    position: relative;
    z-index: 1;
}
.sab-svc-hero-copy { max-width: 520px; }
.sab-svc-hero-copy .sab-svc-eyebrow { margin-bottom: 14px; }
.sab-svc-hero-text {
    color: rgba(255,255,255,0.82) !important;
    margin-top: 14px;
    max-width: 450px;
}
.sab-svc-hero-copy .sab-svc-btn { margin-top: 22px; }
.sab-svc-hero-media {
    min-height: 355px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.sab-svc-hero-media-inner {
    width: 100%;
    max-width: 520px;
    min-height: inherit;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 180px 180px 22px 22px / 180px 180px 22px 22px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.2);
}
.sab-svc-hero-media-inner img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
}
.sab-svc-hero-placeholder {
    min-height: inherit;
    width: 100%;
    display: grid;
    place-items: center;
    gap: 14px;
    text-align: center;
    padding: 28px;
    color: var(--sab-svc-white);
    background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.12));
}
.sab-svc-hero-placeholder strong { font-family: "Inter", Arial, sans-serif; font-size: 15px; font-weight: 700; }
.sab-svc-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.9fr);
    gap: 14px;
    align-items: start;
}
.sab-svc-intro-copy {
    padding: 10px 4px 0 4px;
}
.sab-svc-intro-copy .sab-svc-eyebrow { margin-bottom: 12px; }
.sab-svc-intro-copy .sab-svc-section-heading { margin-bottom: 14px; max-width: 640px; }
.sab-svc-intro-copy p + p { margin-top: 14px; }
.sab-svc-highlight {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border-radius: 22px;
    background: linear-gradient(180deg, #0f4137 0%, #0a2d26 100%);
    box-shadow: 0 18px 44px rgba(8,34,28,0.14);
}
.sab-svc-highlight::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at right top, rgba(240,200,121,0.15), transparent 35%);
    pointer-events: none;
}
.sab-svc-highlight .sab-svc-eyebrow { margin-bottom: 10px; }
.sab-svc-highlight .sab-svc-card-heading { color: var(--sab-svc-white); margin-bottom: 16px; font-size: clamp(20px, 2vw, 28px); }
.sab-svc-highlight-list {
    display: grid;
    gap: 12px;
}
.sab-svc-highlight-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: rgba(255,255,255,0.86);
}
.sab-svc-highlight-list li .sab-svc-icon {
    width: 32px;
    height: 32px;
    background: rgba(240,200,121,0.12);
}
.sab-svc-highlight-list li .sab-svc-icon svg {
    width: 16px;
    height: 16px;
}
.sab-svc-services-heading {
    text-align: center;
    margin-bottom: 14px;
}
.sab-svc-services-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(14,58,49,0.06);
    border: 1px solid rgba(14,58,49,0.08);
}
.sab-svc-services-pill-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--sab-svc-accent);
    box-shadow: 0 0 0 6px rgba(185,141,71,0.12);
}
.sab-svc-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.sab-svc-service-card {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border-radius: 22px;
    background: var(--sab-svc-card-bg);
    border: 1px solid var(--sab-svc-border);
    box-shadow: 0 16px 36px rgba(16, 55, 45, 0.08);
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 100%;
}
.sab-svc-service-card::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 4px;
    background: linear-gradient(90deg, var(--sab-svc-secondary), var(--sab-svc-accent));
}
.sab-svc-card-number {
    position: absolute;
    top: 12px;
    left: 12px;
    min-width: 38px;
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--sab-svc-accent);
    color: var(--sab-svc-white);
    font-family: "Inter", Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    z-index: 2;
}
.sab-svc-card-icon-wrap { padding-top: 28px; }
.sab-svc-service-card .sab-svc-card-heading { max-width: 90%; }
.sab-svc-card-list {
    display: grid;
    gap: 8px;
    margin-top: auto;
}
.sab-svc-card-list li {
    position: relative;
    padding-left: 18px;
    color: var(--sab-svc-text);
    font-size: 14px;
    line-height: 1.55;
}
.sab-svc-card-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.68em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--sab-svc-accent);
}
.sab-svc-tech-header {
    max-width: 840px;
    margin: 0 auto 18px;
    text-align: center;
}
.sab-svc-tech-header p { margin-top: 12px; }
.sab-svc-tech-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 14px;
}
.sab-svc-tech-item {
    display: grid;
    place-items: center;
    gap: 10px;
    text-align: center;
    min-height: 92px;
    padding: 22px;
    border-radius: 22px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(14,58,49,0.08);
}
.sab-svc-tech-logo {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sab-svc-tech-logo img {
    max-height: 34px;
    width: auto;
    object-fit: contain;
}
.sab-svc-tech-label {
    color: var(--sab-svc-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}
.sab-svc-cta-card {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 85% 92%, rgba(240,200,121,0.28), transparent 26%),
        radial-gradient(circle at 75% 92%, rgba(240,200,121,0.18), transparent 18%),
        linear-gradient(135deg, #092d26 0%, var(--sab-svc-primary) 62%, #123f36 100%);
    box-shadow: 0 22px 52px rgba(6,31,26,0.18);
}
.sab-svc-cta-card::before {
    width: 700px;
    height: 700px;
    right: -520px;
    bottom: -580px;
    border: 1px solid rgba(240,200,121,0.18);
    box-shadow: 0 0 0 34px rgba(240,200,121,0.07), 0 0 0 68px rgba(240,200,121,0.035), 0 0 0 102px rgba(240,200,121,0.02);
}
.sab-svc-cta-card::after {
    width: 240px;
    height: 240px;
    right: 36px;
    bottom: -130px;
    border-top: 2px solid rgba(240,200,121,0.24);
    border-left: 2px solid rgba(240,200,121,0.24);
    border-right: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    border-radius: 0;
    opacity: 0.45;
}
.sab-svc-cta-content {
    position: relative;
    z-index: 1;
    max-width: 680px;
}
.sab-svc-cta-content .sab-svc-eyebrow { margin-bottom: 12px; }
.sab-svc-cta-content .sab-svc-section-heading { color: var(--sab-svc-white); margin-bottom: 12px; }
.sab-svc-cta-content p { color: rgba(255,255,255,0.84); max-width: 580px; }
.sab-svc-cta-content .sab-svc-btn { margin-top: 20px; }
.sab-svc-reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .7s ease, transform .7s ease;
    transition-delay: var(--delay, 0ms);
}
.sab-svc.js-reveal-enabled .sab-svc-reveal {
    opacity: 0;
    transform: translateY(26px);
}
.sab-svc.js-reveal-enabled .sab-svc-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}
@media (max-width: 1199px) {
    .sab-svc-tech-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
    .sab-svc-hero-grid,
    .sab-svc-intro-grid { grid-template-columns: 1fr; }
    .sab-svc-hero-media { justify-content: stretch; }
    .sab-svc-hero-media-inner { max-width: 100%; }
    .sab-svc-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .sab-svc-shell { gap: 24px; }
    .sab-svc-container { padding-left: 16px; padding-right: 16px; }
    .sab-svc-hero-card,
    .sab-svc-highlight,
    .sab-svc-service-card,
    .sab-svc-tech-item,
    .sab-svc-cta-card { border-radius: 18px; }
    .sab-svc-hero-card { padding: 22px; }
    .sab-svc-hero-media { min-height: 260px; }
    .sab-svc-hero-media-inner { border-radius: 120px 120px 18px 18px / 120px 120px 18px 18px; }
    .sab-svc-intro-copy { padding-top: 0; }
    .sab-svc-services-grid,
    .sab-svc-tech-grid { grid-template-columns: 1fr; }
    .sab-svc-tech-item { min-height: auto; }
    .sab-svc-service-card .sab-svc-card-heading { max-width: 100%; }
    .sab-svc-card-number { min-width: 40px; }
    .sab-svc-btn { width: auto; max-width: 100%; }
}


/* V7.4 visibility, full width, and premium motion fixes */
.sab-svc-full-bleed {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.elementor-widget-sab_premium_v3_services_page,
.elementor-widget-sab_premium_v3_services_page .elementor-widget-container {
    width: 100%;
}
.sab-svc-services-pill {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(14,58,49,0.14);
    box-shadow: 0 14px 28px rgba(14,58,49,0.07);
}
.sab-svc-services-pill .sab-svc-eyebrow {
    color: var(--sab-svc-primary) !important;
    text-shadow: none !important;
}
.sab-svc-card-number {
    top: 14px;
    left: 14px;
    min-width: 38px;
    height: 28px;
    border-radius: 999px;
    color: var(--sab-svc-primary);
    border: 1px solid rgba(255,255,255,0.55);
    z-index: 3;
    box-shadow: 0 10px 20px rgba(14,58,49,0.10);
}
.sab-svc-card-icon-wrap {
    padding-top: 24px;
}
.sab-svc-service-card,
.sab-svc-highlight,
.sab-svc-tech-item,
.sab-svc-cta-card,
.sab-svc-hero-card {
    transition: transform .38s cubic-bezier(.22,.61,.36,1), box-shadow .38s cubic-bezier(.22,.61,.36,1), border-color .38s ease;
    will-change: transform;
}
.sab-svc-service-card:hover,
.sab-svc-tech-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 48px rgba(16,55,45,0.13);
    border-color: rgba(185,141,71,0.34);
}
.sab-svc-highlight:hover,
.sab-svc-cta-card:hover,
.sab-svc-hero-card:hover {
    transform: translateY(-4px);
}
.sab-svc-no-animation .sab-svc-reveal,
.sab-svc:not(.js-reveal-enabled) .sab-svc-reveal {
    opacity: 1 !important;
    transform: none !important;
}
.sab-svc.js-reveal-enabled .sab-svc-reveal {
    opacity: 0;
    transform: translateY(var(--sab-svc-animation-distance, 28px)) scale(.985);
}
.sab-svc.js-reveal-enabled .sab-svc-reveal.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}
@media (max-width: 767px) {
    .sab-svc-card-number { top: 12px; left: 12px; }
    .sab-svc-card-icon-wrap { padding-top: 22px; }
}


/* V7.5 spacing and label refinement */
.sab-svc-services-pill {
    background: rgba(255,255,255,0.78);
    border-color: rgba(14,58,49,0.14);
    box-shadow: 0 10px 24px rgba(16,55,45,0.06);
}
.sab-svc-services-pill .sab-svc-eyebrow {
    color: var(--sab-svc-primary);
    opacity: 1;
}
.sab-svc-service-card:hover,
.sab-svc-tech-item:hover {
    transform: translateY(-6px);
}
.sab-svc-service-card,
.sab-svc-tech-item {
    transition: transform .36s cubic-bezier(.22,.61,.36,1), box-shadow .36s cubic-bezier(.22,.61,.36,1), border-color .36s ease;
}
.sab-svc-service-card:hover {
    box-shadow: 0 22px 42px rgba(16, 55, 45, 0.12);
    border-color: rgba(185,141,71,0.34);
}
.sab-svc-card-list {
    gap: 7px;
}
.sab-svc-card-list li {
    line-height: 1.45;
}
@media (max-width: 767px) {
    .sab-svc-shell {
        gap: 20px;
        padding-bottom: 14px;
    }
    .sab-svc-hero-card,
    .sab-svc-highlight,
    .sab-svc-service-card,
    .sab-svc-tech-item,
    .sab-svc-cta-card {
        padding: 20px;
    }
    .sab-svc-card-number {
        top: 10px;
        left: 10px;
    }
}


/* V7.6 service icon visibility refinement */
.sab-svc .sab-svc-icon {
    color: var(--sab-svc-accent);
}
.sab-svc .sab-svc-icon svg {
    color: currentColor;
    stroke: currentColor;
}
.sab-svc-service-card .sab-svc-icon {
    background: rgba(185,141,71,.14);
    border: 1px solid rgba(185,141,71,.24);
}


/* V7.7 Services icon visibility fix */
.sab-svc .sab-svc-icon {
    background: rgba(185, 141, 71, 0.13) !important;
    border: 1px solid rgba(185, 141, 71, 0.34) !important;
    color: var(--sab-svc-accent) !important;
    opacity: 1 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.48);
}
.sab-svc .sab-svc-icon svg {
    display: block !important;
    width: var(--sab-svc-icon-size) !important;
    height: var(--sab-svc-icon-size) !important;
    color: var(--sab-svc-accent) !important;
    opacity: 1 !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 2.05 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
.sab-svc .sab-svc-icon svg path,
.sab-svc .sab-svc-icon svg rect,
.sab-svc .sab-svc-icon svg circle,
.sab-svc .sab-svc-icon svg line,
.sab-svc .sab-svc-icon svg polyline,
.sab-svc .sab-svc-icon svg polygon {
    stroke: currentColor !important;
    fill: none !important;
    opacity: 1 !important;
}
.sab-svc-service-card .sab-svc-icon,
.sab-svc-tech-item .sab-svc-icon {
    width: var(--sab-svc-icon-box) !important;
    height: var(--sab-svc-icon-box) !important;
    color: var(--sab-svc-accent) !important;
}
.sab-svc-service-card .sab-svc-card-icon-wrap,
.sab-svc-tech-logo {
    opacity: 1 !important;
}
.sab-svc-tech-item .sab-svc-icon {
    background: rgba(185, 141, 71, 0.14) !important;
}
.sab-svc-tech-item .sab-svc-tech-label {
    color: var(--sab-svc-text) !important;
    opacity: 1 !important;
}
.sab-svc-service-card:hover .sab-svc-icon,
.sab-svc-tech-item:hover .sab-svc-icon {
    background: var(--sab-svc-accent) !important;
    color: var(--sab-svc-primary) !important;
    transform: translateY(-2px);
}
