/* =========================================================
   ALGORIXSTUDIOS — SERVICES PAGE
   This file styles ONLY /services/.
   Home remains untouched.
   ========================================================= */

/* ---------------------------------------------------------
   ASTRA / WORDPRESS PAGE RESET FOR SERVICES
   --------------------------------------------------------- */

body.has-algorix-services-page .entry-header,
body.has-algorix-services-page .entry-title,
body.has-algorix-services-page .page-title,
body.has-algorix-services-page .ast-single-post-order {
    display: none !important;
}

body.has-algorix-services-page #content,
body.has-algorix-services-page #content > .ast-container,
body.has-algorix-services-page #primary,
body.has-algorix-services-page #main,
body.has-algorix-services-page article.page,
body.has-algorix-services-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.has-algorix-services-page #content > .ast-container {
    display: block !important;
}

body.has-algorix-services-page .entry-content > .ax-services-page {
    margin: 0 !important;
}

.ax-services-page {
    width: 100%;
    max-width: none;
    overflow: clip;
    color: var(--ink);
    background: #fff;
}

/* ---------------------------------------------------------
   SERVICES HERO
   --------------------------------------------------------- */

.ax-services-page .ax-inner-hero {
    position: relative;
    width: 100%;
    min-height: clamp(680px, 82vh, 820px);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 78% 24%, rgba(91, 178, 198, .32), transparent 31%),
        linear-gradient(102deg, #123f50 0%, #194d5d 53%, #2f7888 100%);

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 620' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H908C966 0 1000 68 1000 166C1000 365 925 526 800 565C642 613 476 571 310 559C190 551 96 559 0 579Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 620' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H908C966 0 1000 68 1000 166C1000 365 925 526 800 565C642 613 476 571 310 559C190 551 96 559 0 579Z'/%3E%3C/svg%3E");

    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.ax-services-page .ax-inner-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .13;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 44px 44px;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.65) 58%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.65) 58%, transparent 100%);
}

.ax-services-page .ax-inner-hero__inner {
    position: relative;
    z-index: 2;
    min-height: inherit;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    align-items: center;
    gap: clamp(48px, 7vw, 96px);
    padding-top: clamp(126px, 11vw, 156px);
    padding-bottom: clamp(132px, 11vw, 165px);
}

.ax-services-page .ax-inner-hero__copy {
    max-width: 700px;
}

.ax-services-page .ax-inner-hero .ax-eyebrow {
    margin-bottom: 16px;
    color: #9ed9e5;
}

.ax-services-page .ax-inner-hero__title {
    max-width: 720px;
    margin: 0 0 24px;
    color: #fff !important;
    font-family: "Rajdhani","Exo 2",Inter,system-ui,sans-serif;
    font-size: clamp(3rem, 5.4vw, 5.35rem);
    font-weight: 800;
    line-height: .94;
    letter-spacing: -.045em;
}

.ax-services-page .ax-inner-hero__body {
    max-width: 650px;
    margin: 0 0 31px;
    color: #d7e9ed !important;
    font-size: clamp(1rem, 1.25vw, 1.12rem);
    line-height: 1.75;
}

.ax-services-page .ax-inner-hero .ax-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ax-services-page .ax-inner-hero .ax-button {
    min-width: 154px;
}

/* ---------------------------------------------------------
   HERO ORBIT
   --------------------------------------------------------- */

.ax-services-orbit {
    position: relative;
    width: min(420px, 76vw);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    margin-inline: auto;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(255,255,255,.12) 0 12%, transparent 13%),
        radial-gradient(circle, rgba(74,143,163,.25) 0 35%, transparent 36%),
        radial-gradient(circle, rgba(255,255,255,.055) 0 58%, transparent 59%);
    filter: drop-shadow(0 28px 46px rgba(3, 25, 34, .25));
}

.ax-services-orbit::before {
    content: "";
    position: absolute;
    inset: 7%;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
}

.ax-services-orbit__core {
    position: relative;
    z-index: 5;
    width: 34%;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 28%;
    background: linear-gradient(145deg, #5aa0b1, #1a5060);
    box-shadow:
        inset 0 0 34px rgba(255,255,255,.14),
        0 18px 42px rgba(0,0,0,.22);
}

.ax-services-orbit__core span {
    color: #e8fbff;
    font-family: "Rajdhani",Inter,sans-serif;
    font-size: clamp(2.3rem, 4vw, 4rem);
    font-weight: 800;
}

.ax-services-orbit__ring {
    position: absolute;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 50%;
}

.ax-services-orbit__ring--1 { inset: 16%; }
.ax-services-orbit__ring--2 {
    inset: 29%;
    border-style: dashed;
    animation: ax-services-spin 18s linear infinite;
}

@keyframes ax-services-spin {
    to { transform: rotate(360deg); }
}

.ax-services-orbit__item {
    position: absolute;
    z-index: 4;
    min-width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    padding-inline: 10px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 15px;
    color: #effcff;
    background: rgba(255,255,255,.09);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    box-shadow: 0 10px 22px rgba(3,25,34,.15);
    font-size: .72rem;
    font-weight: 900;
}

.ax-services-orbit__item--web    { top: 7%; left: 44%; }
.ax-services-orbit__item--mobile { top: 45%; right: 2%; }
.ax-services-orbit__item--ai     { bottom: 6%; left: 43%; }
.ax-services-orbit__item--api    { top: 45%; left: 2%; }

/* ---------------------------------------------------------
   INTRO
   --------------------------------------------------------- */

.ax-services-intro {
    padding: clamp(96px, 9vw, 132px) 0 clamp(68px, 7vw, 96px);
    background: #fff;
}

.ax-services-intro__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .78fr);
    align-items: end;
    gap: clamp(55px, 8vw, 100px);
}

.ax-services-intro .ax-section-title {
    max-width: 650px;
    margin-bottom: 0;
    color: #102b36;
}

.ax-services-intro .ax-section-body {
    max-width: 520px;
}

/* ---------------------------------------------------------
   SERVICE CARDS
   --------------------------------------------------------- */

.ax-service-capabilities {
    padding: 34px 0 clamp(100px, 9vw, 135px);
    background: #fff;
}

.ax-service-page-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 26px;
}

.ax-service-page-card {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    padding: clamp(30px, 3vw, 40px);
    border: 1px solid rgba(27,75,90,.12);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(232,244,247,.78) 0%, #fff 46%);
    box-shadow: 0 16px 42px rgba(18,64,78,.055);
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

.ax-service-page-card::before {
    content: "";
    position: absolute;
    top: -38px;
    right: -38px;
    width: 205px;
    height: 175px;
    border-radius: 0 0 0 78%;
    background:
        radial-gradient(circle at 35% 58%, rgba(87,166,186,.24), transparent 55%),
        #dfeff3;
}

.ax-service-page-card:hover {
    transform: translateY(-6px);
    border-color: rgba(55,125,144,.27);
    box-shadow: 0 24px 56px rgba(18,64,78,.105);
}

.ax-service-page-card__top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}

.ax-service-page-card__number {
    color: rgba(27,75,90,.20);
    font-family: "Rajdhani",Inter,sans-serif;
    font-size: 2.25rem;
    font-weight: 800;
}

.ax-service-page-card__icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    color: #fff;
    background: linear-gradient(145deg, #194b5a, #398298);
    box-shadow: 0 10px 22px rgba(23,76,91,.16);
    font-size: .72rem;
    font-weight: 900;
}

.ax-service-page-card__eyebrow {
    position: relative;
    z-index: 2;
    margin: 0 0 11px;
    color: #2d7080;
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.ax-service-page-card h2 {
    position: relative;
    z-index: 2;
    max-width: 530px;
    margin: 0 0 15px;
    color: #102b36 !important;
    font-family: "Rajdhani","Exo 2",Inter,sans-serif;
    font-size: clamp(1.9rem, 2.5vw, 2.6rem);
    line-height: 1.02;
}

.ax-service-page-card__body {
    position: relative;
    z-index: 2;
    max-width: 560px;
    margin: 0 0 24px;
    color: #60757d !important;
    line-height: 1.7;
}

.ax-service-page-card__list {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 11px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ax-service-page-card__list li {
    position: relative;
    padding-left: 26px;
    color: #294651;
    font-size: .91rem;
    line-height: 1.45;
}

.ax-service-page-card__list li::before {
    content: "✓";
    position: absolute;
    top: .05em;
    left: 0;
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #2B6675;
    font-size: .60rem;
    font-weight: 900;
}

/* ---------------------------------------------------------
   DELIVERY / PROCESS
   --------------------------------------------------------- */

.ax-services-delivery {
    padding: clamp(100px, 9vw, 135px) 0;
    background:
        linear-gradient(180deg, #f1f7f9, #eef5f7);
}

.ax-services-delivery__layout {
    display: grid;
    grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
    align-items: start;
    gap: clamp(65px, 8vw, 110px);
}

.ax-services-delivery__copy {
    position: sticky;
    top: 118px;
}

.ax-services-delivery__copy .ax-section-title {
    max-width: 520px;
}

.ax-services-delivery__items {
    display: grid;
    gap: 16px;
}

.ax-delivery-item {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 22px;
    align-items: start;
    padding: 27px 29px;
    border: 1px solid rgba(27,75,90,.10);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(18,64,78,.04);
}

.ax-delivery-item > span {
    color: rgba(27,75,90,.22);
    font-family: "Rajdhani",Inter,sans-serif;
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1;
}

.ax-delivery-item h3 {
    margin: 0 0 7px;
    color: #102b36;
    font-size: 1.16rem;
}

.ax-delivery-item p {
    margin: 0;
    color: #60757d;
    line-height: 1.65;
}

/* ---------------------------------------------------------
   CTA
   --------------------------------------------------------- */

.ax-services-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(86px, 8vw, 112px) 0;
    color: #fff;
    background:
        radial-gradient(circle at 88% 30%, rgba(91,178,198,.25), transparent 30%),
        linear-gradient(100deg, #143f50, #2b6675);
}

.ax-services-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .11;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 44px 44px;
}

.ax-services-cta__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 44px;
}

.ax-services-cta h2 {
    max-width: 760px;
    margin: 0 0 12px;
    color: #fff !important;
    font-family: "Rajdhani","Exo 2",Inter,sans-serif;
    font-size: clamp(2.5rem, 4.4vw, 4rem);
    line-height: .98;
}

.ax-services-cta p {
    max-width: 650px;
    margin: 0;
    color: #d8eaee !important;
    line-height: 1.7;
}

.ax-services-cta .ax-button--light {
    min-width: 145px;
    color: #143f50 !important;
    background: #fff !important;
}

/* ---------------------------------------------------------
   LAPTOP
   --------------------------------------------------------- */

@media (max-width: 1100px) {
    .ax-services-page .ax-inner-hero__inner {
        grid-template-columns: minmax(0,1fr) minmax(310px,.85fr);
        gap: 48px;
    }

    .ax-service-page-card__list {
        grid-template-columns: 1fr;
    }
}

/* ---------------------------------------------------------
   TABLET / IPAD
   --------------------------------------------------------- */

@media (max-width: 920px) {
    .ax-services-page .ax-inner-hero {
        min-height: auto;

        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 900' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H948C984 0 1000 42 1000 102V744C1000 813 944 851 840 866C680 889 516 858 356 850C208 842 100 853 0 870Z'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 900' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H948C984 0 1000 42 1000 102V744C1000 813 944 851 840 866C680 889 516 858 356 850C208 842 100 853 0 870Z'/%3E%3C/svg%3E");
    }

    .ax-services-page .ax-inner-hero__inner {
        grid-template-columns: 1fr;
        gap: 34px;
        padding-top: 126px;
        padding-bottom: 138px;
    }

    .ax-services-orbit {
        width: min(350px,72vw);
    }

    .ax-services-intro__inner,
    .ax-services-delivery__layout {
        grid-template-columns: 1fr;
    }

    .ax-services-intro__inner {
        align-items: start;
        gap: 28px;
    }

    .ax-service-page-grid {
        grid-template-columns: 1fr;
    }

    .ax-services-delivery__copy {
        position: static;
    }

    .ax-services-cta__inner {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .ax-services-cta .ax-button {
        width: fit-content;
    }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 620px) {
    .ax-services-page .ax-inner-hero__inner {
        padding-top: 112px;
        padding-bottom: 122px;
    }

    .ax-services-page .ax-inner-hero__title {
        font-size: clamp(2.6rem, 12vw, 3.65rem);
    }

    .ax-services-orbit {
        width: min(285px,82vw);
    }

    .ax-services-orbit__item {
        min-width: 44px;
        height: 44px;
        font-size: .62rem;
    }

    .ax-services-intro {
        padding-top: 76px;
        padding-bottom: 54px;
    }

    .ax-service-capabilities {
        padding-top: 18px;
        padding-bottom: 88px;
    }

    .ax-service-page-card {
        min-height: 0;
        padding: 26px 22px;
        border-radius: 19px;
    }

    .ax-service-page-card__top {
        margin-bottom: 25px;
    }

    .ax-service-page-card__icon {
        width: 50px;
        height: 50px;
    }

    .ax-service-page-card__list {
        grid-template-columns: 1fr;
    }

    .ax-services-delivery {
        padding-block: 82px;
    }

    .ax-delivery-item {
        grid-template-columns: 52px 1fr;
        gap: 14px;
        padding: 22px 20px;
    }

    .ax-delivery-item > span {
        font-size: 1.7rem;
    }

    .ax-services-cta {
        padding-block: 74px;
    }

    .ax-services-cta .ax-button {
        width: 100%;
    }
}

/* ---------------------------------------------------------
   VERY SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 390px) {
    .ax-delivery-item {
        grid-template-columns: 1fr;
    }

    .ax-service-page-card__top {
        align-items: flex-start;
    }
}

/* ---------------------------------------------------------
   REDUCED MOTION
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .ax-services-orbit__ring--2 {
        animation: none;
    }
}

/* =========================================================
   FINAL SERVICES PAGE FIX
   Fixes Astra's constrained parent width and makes this
   stylesheet self-contained if shared.css is not applied.
   ========================================================= */

/* Force the WordPress/Astra content column to be full width. */
body.has-algorix-services-page #content,
body.has-algorix-services-page #content > .ast-container,
body.has-algorix-services-page .site-content,
body.has-algorix-services-page .site-content > .ast-container,
body.has-algorix-services-page #primary,
body.has-algorix-services-page .content-area,
body.has-algorix-services-page #main,
body.has-algorix-services-page .site-main,
body.has-algorix-services-page article.page,
body.has-algorix-services-page .ast-article-single,
body.has-algorix-services-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.has-algorix-services-page #secondary,
body.has-algorix-services-page .widget-area.secondary {
    display: none !important;
}

/*
 * width:100% was only filling Astra's narrower parent.
 * This breaks the Services page out to the real viewport width.
 */
body.has-algorix-services-page .ax-services-page {
    --dark: #1B4B5A;
    --teal: #2B6675;
    --accent: #4A8FA3;
    --ink: #102b36;
    --muted: #60757d;
    --surface: #eef5f7;
    --line: rgba(27,75,90,.13);

    position: relative !important;
    left: 50% !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: -50vw !important;
    margin-right: -50vw !important;

    overflow: clip;
    background: #fff;
    color: var(--ink);

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

body.has-algorix-services-page .ax-services-page *,
body.has-algorix-services-page .ax-services-page *::before,
body.has-algorix-services-page .ax-services-page *::after {
    box-sizing: border-box;
}

/* Shared container, duplicated here intentionally so Services is robust. */
body.has-algorix-services-page .ax-services-page .ax-shell {
    width: min(1180px, calc(100% - clamp(32px, 7vw, 96px))) !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
}

/* Shared typography needed by Services. */
body.has-algorix-services-page .ax-services-page .ax-eyebrow {
    margin: 0 0 14px;
    color: var(--teal);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.has-algorix-services-page .ax-services-page .ax-eyebrow--light {
    color: #a7d7e0;
}

body.has-algorix-services-page .ax-services-page .ax-section-title {
    margin: 0 0 20px;
    color: var(--ink);
    font-family: "Rajdhani","Exo 2",Inter,system-ui,sans-serif;
    font-size: clamp(2.15rem, 3.5vw, 3.65rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.03em;
}

body.has-algorix-services-page .ax-services-page .ax-section-body {
    margin: 0;
    color: var(--muted);
    font-size: clamp(1rem, 1.2vw, 1.08rem);
    line-height: 1.75;
}

/* Shared buttons needed by Services. */
body.has-algorix-services-page .ax-services-page .ax-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

body.has-algorix-services-page .ax-services-page .ax-button {
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    padding: 12px 22px;

    border: 1px solid transparent;
    border-radius: 10px;

    color: inherit !important;
    text-decoration: none !important;

    font-size: .94rem;
    font-weight: 800;
    line-height: 1;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

body.has-algorix-services-page .ax-services-page .ax-button:hover {
    transform: translateY(-2px);
}

body.has-algorix-services-page .ax-services-page .ax-button--primary {
    color: #fff !important;
    background: var(--accent) !important;
}

body.has-algorix-services-page .ax-services-page .ax-button--ghost {
    color: #fff !important;
    border-color: rgba(255,255,255,.28) !important;
    background: rgba(255,255,255,.04) !important;
}

body.has-algorix-services-page .ax-services-page .ax-button--light {
    color: var(--dark) !important;
    background: #fff !important;
}

/* Keep hero content at a professional width after breakout. */
body.has-algorix-services-page .ax-inner-hero__inner {
    width: min(1180px, calc(100% - clamp(32px, 7vw, 96px))) !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
}

body.has-algorix-services-page .ax-inner-hero__title {
    max-width: 690px !important;
}

/* Make all major bands truly full width. */
body.has-algorix-services-page .ax-inner-hero,
body.has-algorix-services-page .ax-services-intro,
body.has-algorix-services-page .ax-service-capabilities,
body.has-algorix-services-page .ax-services-delivery,
body.has-algorix-services-page .ax-services-cta {
    width: 100% !important;
    max-width: none !important;
}

/* Responsive container correction. */
@media (max-width: 920px) {
    body.has-algorix-services-page .ax-services-page .ax-shell,
    body.has-algorix-services-page .ax-inner-hero__inner {
        width: min(calc(100% - 44px), 760px) !important;
    }
}

@media (max-width: 620px) {
    body.has-algorix-services-page .ax-services-page .ax-shell,
    body.has-algorix-services-page .ax-inner-hero__inner {
        width: min(calc(100% - 30px), 560px) !important;
    }

    body.has-algorix-services-page .ax-services-page .ax-actions {
        flex-direction: column;
    }

    body.has-algorix-services-page .ax-services-page .ax-button {
        width: 100%;
    }
}
/* =========================================================
   FINAL WIDTH FIX
   Remove viewport breakout that shifts Services page
   ========================================================= */

body.has-algorix-services-page .ax-services-page {
    position: relative !important;

    left: auto !important;
    right: auto !important;

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Make Astra's actual page wrappers full width */
body.has-algorix-services-page #content,
body.has-algorix-services-page #content > .ast-container,
body.has-algorix-services-page .site-content,
body.has-algorix-services-page .site-content > .ast-container,
body.has-algorix-services-page #primary,
body.has-algorix-services-page .content-area,
body.has-algorix-services-page #main,
body.has-algorix-services-page .site-main,
body.has-algorix-services-page article.page,
body.has-algorix-services-page .ast-article-single,
body.has-algorix-services-page .entry-content {
    width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    float: none !important;
}


/* Remove Astra sidebar completely */
body.has-algorix-services-page #secondary,
body.has-algorix-services-page .secondary,
body.has-algorix-services-page .widget-area {
    display: none !important;
}


/* Keep internal content centered */
body.has-algorix-services-page .ax-services-page .ax-shell,
body.has-algorix-services-page .ax-inner-hero__inner {
    width: min(
        1180px,
        calc(100% - clamp(32px, 7vw, 96px))
    ) !important;

    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}