
.container{ max-width:1180px; margin:0 auto; padding:0 24px; }

.eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:12.48px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:#e8623d; margin-bottom:10px; }
.accent-bar{ width:56px; height:4px; border-radius:4px; background:linear-gradient(90deg,#f2a33d,#e8623d,#c04a6c,#5c4fd6,#2f5fdb); background-size:200% 100%; margin-top:14px; animation:shimmer 3.5s linear infinite; }
@keyframes shimmer{ 0%{ background-position:0% 0; } 100%{ background-position:200% 0; } }




/* buttons */
.btn{ position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:13px 24px; border-radius:10px; font-size:14.72px; font-weight:700;
    border:1.5px solid transparent; cursor:pointer; transition:transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s cubic-bezier(.22,.61,.36,1); }
.btn::after{ content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
    transform:translateX(-120%); transition:transform .6s cubic-bezier(.22,.61,.36,1); }
.btn:hover::after{ transform:translateX(120%); }
.btn--orange{ background:#e8623d; color:#fff; box-shadow:0 10px 24px -10px rgba(232,98,61,.55); }
.btn--orange:hover{ background:#c9502f; transform:translateY(-2px); }
.btn--green{ background:#2f7d3c; color:#fff; box-shadow:0 10px 24px -10px rgba(47,125,60,.5); }
.btn--green:hover{ background:#24632f; transform:translateY(-2px); }
.btn--outline{ background:transparent; color:#fff; border-color:rgba(255,255,255,.35); }
.btn--outline:hover{ border-color:#fff; transform:translateY(-2px); }
/* =========================================================
   HERO — DARK ASYMMETRIC PANEL
   Reduced top spacing + wider form
   ========================================================= */

.hero {
    background: #0d0d0d;
    padding: 4px 0 24px;
    overflow: hidden;
}


/* =========================================================
   TOP GRADIENT STRIP
   ========================================================= */

.hero__strip {
    height: 4px;
    background: linear-gradient(
        90deg,
        #f2a33d,
        #e8623d,
        #c04a6c,
        #5c4fd6,
        #2f5fdb
    );
    background-size: 200% 100%;
    animation: shimmer 4s linear infinite;
    margin-bottom: 8px;
}


/* =========================================================
   HERO GRID
   ========================================================= */

.hero__grid {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;

    display: grid;
    grid-template-columns: 2fr 1.5fr;

    gap: 35px;
    align-items: center;

    position: relative;
}


/* =========================================================
   HERO INTRO
   ========================================================= */

.hero__intro {
    color: #fff;
    padding-right: 20px;
}

.hero__eyebrow {
    color: #e8623d;
    font-size: 12.8px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block;
}

.hero__title {
    color: #fff;
    margin-bottom: 12px;
    font-size: 45px;
    font-weight: 700;
}

.hero__text {
    font-size: 16px;
    color: #b9bcc2;
  
    margin-bottom: 18px;
}

.hero__text strong {
    color: #e8623d;
}


/* =========================================================
   HERO BUTTONS
   ========================================================= */

.hero__buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}




/* =========================================================
   QUOTE CARD — WIDER
   ========================================================= */

.quote-card {
    width: 100%;
    background: #fff;

    border-radius: 18px;

    box-shadow:
        0 24px 60px -20px rgba(0, 0, 0, .5);

    padding: 0;
    overflow: hidden;

    margin-left: auto;
}


/* =========================================================
   QUOTE CARD ACCENT
   ========================================================= */

.quote-card__accent {
    height: 6px;

    background: linear-gradient(
        90deg,
        #f2a33d,
        #e8623d,
        #c04a6c,
        #5c4fd6,
        #2f5fdb
    );

    background-size: 200% 100%;

    animation: shimmer 4s linear infinite;
}


/* =========================================================
   QUOTE CARD BODY
   ========================================================= */

.quote-card__body {
    padding: 24px;
}

.quote-card__header {
    margin: 0 0 6px;
    padding: 0;
}

.quote-card__header h2 {
    all: unset;

    display: block;

    font-family: 'Sora', sans-serif;
    font-weight: 700;

    font-size: 16.8px;
    line-height: 1.3;

    color: #14161a;

    text-transform: none;

    background: none;

    padding: 0;
    margin: 0;
}

.quote-card__intro {
    font-size: 15px;
    margin-bottom: 14px;
    line-height: 1.5;
    color: #555b65;
}


/* =========================================================
   FORM FIELDS
   ========================================================= */

.quote-form .field {
    margin-bottom: 10px;
}

.quote-form input,
.quote-form textarea {
    all: unset;

    box-sizing: border-box;

    width: 100%;

    padding: 10px 12px;

    border-radius: 8px;

    border: 1px solid #e7e9ee;

    font-family: inherit;
    font-size: 14.08px;
    line-height: 1.4;

    background: #fbfbfc;

    display: block;

    transition:
        border-color .2s cubic-bezier(.22, .61, .36, 1),
        box-shadow .2s cubic-bezier(.22, .61, .36, 1);
}

.quote-form input:focus,
.quote-form textarea:focus {
    outline: none;

    border-color: #e8623d;

    box-shadow:
        0 0 0 3px rgba(232, 98, 61, .14);
}


/* =========================================================
   PHONE FIELD
   ========================================================= */

.field--phone {
    display: flex;
    align-items: center;

    border: 1px solid #e7e9ee;

    border-radius: 8px;

    overflow: hidden;

    background: #fbfbfc;
}

.field--phone .field__flag {
    display: flex;
    align-items: center;

    gap: 6px;

    padding: 0 16px;

    font-size: 13.6px;

    color: #5a6270;

    border-right: 1px solid #e7e9ee;

    white-space: nowrap;
}

.field--phone .field__flag img {
    width: 16px;
}

.field--phone input {
    border: none;
    background: transparent;
}


/* =========================================================
   SUBMIT BUTTON
   ========================================================= */

.btn--submit {
    width: 100%;

    background: #e8623d;

    color: #fff;

    border: none;

    padding: 13px;

    border-radius: 8px;

    font-weight: 700;

    font-size: 15.04px;

    cursor: pointer;

    transition:
        background .25s cubic-bezier(.22, .61, .36, 1),
        transform .25s cubic-bezier(.22, .61, .36, 1);
}

.btn--submit:hover {
    background: #c9502f;

    transform: translateY(-2px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .hero {
        padding: 4px 0 20px;
    }

    .hero__strip {
        margin-bottom: 10px;
    }

    .hero__grid {
        grid-template-columns: 1fr 0.9fr;
        gap: 25px;
        padding: 0 20px;
    }

    .hero__intro {
        padding-right: 0;
    }

    .hero__text {
        max-width: 100%;
    }

    .quote-card {
        max-width: 100%;
    }

    .hero__bubble {
        right: 5px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .hero {
        padding: 4px 0 20px;
    }

    .hero__strip {
        height: 3px;
        margin-bottom: 16px;
    }

    .hero__grid {
        display: flex;
        flex-direction: column;

        gap: 28px;

        padding: 0 16px;

        align-items: stretch;
    }

    .hero__intro {
        width: 100%;
        padding-right: 0;
    }

    .hero__eyebrow {
        margin-bottom: 8px;
    }

    .hero__title {
        margin-bottom: 12px;
    }

    .hero__text {
        max-width: 100%;
        font-size: 15px;
        margin-bottom: 18px;
    }

    .hero__buttons {
        width: 100%;
        flex-direction: column;
        gap: 10px;
    }

    .hero__buttons .btn {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
        justify-content: center;
    }

    .quote-card {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }

    .quote-card__body {
        padding: 20px;
    }

    .hero__bubble {
        display: none;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .hero {
        padding: 2px 0 18px;
    }

    .hero__grid {
        padding: 0 14px;
        gap: 24px;
    }

    .quote-card__body {
        padding: 18px;
    }

    .quote-form input,
    .quote-form textarea {
        padding: 9px 11px;
    }
}

/* =========================================
   WHY SEO SECTION
========================================= */

.why-seo {
    position: relative;
    padding: 90px 20px;
    background: #ffffff;
    overflow: hidden;
}

.why-seo .container {
    position: relative;
    z-index: 2;
    width: 1150px;
    max-width: 1150px;
    margin: 0 auto;
}


/* =========================================
   HEAD
========================================= */

.why-seo__head {
    max-width: 700px;
    margin: 0 auto 24px;
    text-align: center;
}

.why-seo .eyebrow {
    display: inline-block;
    padding: 7px 15px;
    margin-bottom: 14px;
    color: #ffffff;
    background: #ff572f;
    border-radius: 30px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.why-seo__head h2 {
    margin: 0;
    color: #080808;
    font-size: 45px;
    line-height: 58px;
    font-weight: 700;
    letter-spacing: -1.8px;
}

.why-seo .accent-bar {
    width: 65px;
    height: 4px;
    margin: 18px auto 0;
    border-radius: 10px;
    background: linear-gradient(90deg, #ff572f, #147cff);
}


/* =========================================
   INTRO / FOOT PARAGRAPHS
========================================= */

.why-seo__intro {
    max-width: 850px;
    margin: 0 auto 50px;
    color: #555555;
    font-size: 16.5px;
    line-height: 28px;
    text-align: center;
}

.why-seo__intro strong {
    color: #171717;
    font-weight: 700;
}

.why-seo__foot {
    max-width: 850px;
    margin: 50px auto 0;
    color: #555555;
    font-size: 15.5px;
    line-height: 27px;
    text-align: center;
}


/* =========================================
   SPLIT LAYOUT
========================================= */

.why-seo__split {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 50px;
    align-items: center;
}


/* =========================================
   IMAGE PANEL
========================================= */

.why-seo__panel {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #f6f7f9;
    border: 1px solid #e8e8e8;
}

.why-seo__panel::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px rgba(255, 87, 47, 0.06);
    pointer-events: none;
}

.why-seo__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.why-seo__panel:hover .why-seo__image {
    transform: scale(1.04);
}


/* =========================================
   LIST
========================================= */

.why-seo__list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.why-seo__item {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    align-items: flex-start;
    padding: 20px 22px;
    background: #ffffff;
    border: 1px solid #e7e7e7;
    border-radius: 14px;
    transition:
        border-color 350ms ease,
        box-shadow 350ms ease,
        transform 350ms ease;
}

.why-seo__item:hover {
    border-color: #ff572f;
    box-shadow: 0px 14px 32px rgba(255, 87, 47, 0.09);
    transform: translateY(-3px);
}

/* =========================================
   ICON
========================================= */

.why_seo__icon {
    width: 60px;
    height: 60px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;
    border: 1px solid #e7e9ee;
    border-radius: 50%;

    flex-shrink: 0;

    transition:
        transform 350ms ease,
        border-color 350ms ease,
        box-shadow 350ms ease;
}


/* Actual icon image */
.why_seo__icon img {
    width: 32px !important;
    height: 32px !important;

    max-width: 32px !important;
    max-height: 32px !important;

    object-fit: contain;
    display: block;

    margin: 0;
}


/* Hover */
.why-seo__item:hover .why-seo__icon {
    transform: scale(1.06);
    border-color: #ff572f;

    box-shadow: 0 6px 18px rgba(255, 87, 47, 0.15);
}

/* =========================================
   TEXT
========================================= */

.why-seo__item p {
    margin: 0;
    padding-top: 4px;
    color: #4a4a4a;
    font-size: 15px;
    line-height: 25px;
}

.why-seo__item a {
    color: #147cff;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(20, 124, 255, 0.3);
    transition: border-color 300ms ease, color 300ms ease;
}

.why-seo__item a:hover {
    color: #ff572f;
    border-color: #ff572f;
}




.why-seo__item:nth-child(1) { transition-delay: 50ms; }
.why-seo__item:nth-child(2) { transition-delay: 100ms; }
.why-seo__item:nth-child(3) { transition-delay: 150ms; }
.why-seo__item:nth-child(4) { transition-delay: 200ms; }


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .why-seo {
        padding: 70px 20px;
    }

    .why-seo .container {
        width: 760px;
        max-width: 760px;
    }

    .why-seo__head h2 {
        font-size: 40px;
        line-height: 48px;
    }

    .why-seo__split {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .why-seo__panel {
        height: 320px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .why-seo {
        padding: 55px 15px;
    }

    .why-seo .container {
        width: auto;
        max-width: none;
    }

    .why-seo__head h2 {
        font-size: 30px;
        line-height: 38px;
        letter-spacing: -1px;
    }

    .why-seo .eyebrow {
        font-size: 11px;
        line-height: 15px;
        padding: 6px 13px;
    }

    .why-seo__intro,
    .why-seo__foot {
        font-size: 14.5px;
        line-height: 25px;
    }

    .why-seo__panel {
        height: 220px;
    }

    .why-seo__item {
        grid-template-columns: 42px 1fr;
        gap: 14px;
        padding: 16px 16px;
    }

    .why-seo__icon {
        width: 40px;
        height: 40px;
    }

    .why-seo__item p {
        font-size: 14px;
        line-height: 23px;
        padding-top: 2px;
    }
}


/* =========================================
   REDUCED MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {

    .why-seo__panel,
    .why-seo__image,
    .why-seo__item,
    .why-seo__icon {
        transition: none;
    }
}
/* =========================================================
   HEALTHCARE SEO SECTION — DARK BENTO / FULL WIDTH INTRO
   ========================================================= */

.healthcare-seo-section {
    padding: 40px 0;
    background: #0d0d0d;
    color: #fff;
}

/* =========================================================
   FULL WIDTH INTRO
   ========================================================= */

.hc-bento {
    display: block;
    width: 100%;
    margin-bottom: 22px;
}

.hc-intro {
    width: 100%;
    box-sizing: border-box;
    background: #171717;
    border: 1px solid #2a2a2a;
    border-radius: 18px;
    padding: 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hc-intro h2 {
    color: #fff;
    margin-bottom: 14px;
}

.hc-intro h2 span {
    color: #e8623d;
  
}

.hc-intro p {
    color: #b9bcc2;
    max-width: 100%;
    margin-bottom: 22px;
}

.hc-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}


/* =========================================================
   STAT CARD
   ========================================================= */

.hc-stat {
    background: #171717;
    border: 1px solid #2a2a2a;
    border-radius: 18px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 14px;
    position: relative;
}

.hc-stat .medical-icon {
    width: 40px;
    height: 40px;
    color: #e8623d;
}

.hc-stat strong {
    font-size: 18.4px;
    color: #fff;
}

.hc-stat .growth-chart {
    position: relative;
    width: 100%;
    height: 52px;
}

.chart-line {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 12px;
    height: 2px;
    background: linear-gradient(90deg, #2f7d3c, #e8623d);
    border-radius: 2px;
}

.chart-dot {
    position: absolute;
    bottom: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e8623d;
    box-shadow: 0 0 0 4px rgba(232, 98, 61, 0.18);
}

.chart-dot--1 {
    left: 2%;
    bottom: 22px;
}

.chart-dot--2 {
    left: 24%;
    bottom: 12px;
}

.chart-dot--3 {
    left: 46%;
    bottom: 28px;
}

.chart-dot--4 {
    left: 68%;
    bottom: 8px;
}

.chart-dot--5 {
    left: 90%;
    bottom: 34px;
}

.hc-stat .growth-number {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13.76px;
    font-weight: 700;
    color: #2f7d3c;
}


/* =========================================================
   SERVICES
   ========================================================= */

.hc-services {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}

.hc-card {
    background: #171717;
    border: 1px solid #2a2a2a;
    border-radius: 18px;
    padding: 26px 22px;
    transition:
        transform 0.3s cubic-bezier(.22, .61, .36, 1),
        border-color 0.3s cubic-bezier(.22, .61, .36, 1),
        box-shadow 0.3s cubic-bezier(.22, .61, .36, 1);
}

.hc-card:hover {
    transform: translateY(-6px);
    border-color: #e8623d;
    box-shadow: 0 20px 46px -20px rgba(232, 98, 61, 0.35);
}

.hc-card .service-number {
    font-family: 'Sora', sans-serif;
    font-size: 13.6px;
    font-weight: 800;
    color: #e8623d;
    margin-bottom: 10px;
}

.hc-card .service-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}

.hc-card .service-icon svg {
    width: 22px;
    height: 22px;
}

.service-icon--blue {
    background: rgba(47, 95, 219, 0.16);
    color: #2f5fdb;
}

.service-icon--orange {
    background: rgba(232, 98, 61, 0.16);
    color: #e8623d;
}

.service-icon--green {
    background: rgba(47, 125, 60, 0.2);
    color: #2f7d3c;
}

.hc-card h3 {
    color: #fff;
    margin-bottom: 8px;
}

.hc-card p {
    color: #b9bcc2;
    margin-bottom: 14px;
}

.service-link {
    font-size: 13.76px;
    font-weight: 700;
    color: #e8623d;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.service-link span {
    transition: transform 0.25s cubic-bezier(.22, .61, .36, 1);
}

.hc-card:hover .service-link span {
    transform: translateX(4px);
}


/* =========================================================
   TRUST SECTION
   ========================================================= */

.hc-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    flex-wrap: wrap;
    background: #171717;
    border: 1px solid #2a2a2a;
    border-radius: 18px;
    padding: 20px 28px;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.trust-item .check {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #2f7d3c;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.trust-item .check svg {
    width: 12px;
    height: 12px;
    stroke: #fff;
}

.trust-item strong {
    display: block;
    font-size: 14.4px;
    color: #fff;
}

.trust-item span {
    font-size: 12.48px;
    color: #b9bcc2;
}

.trust-divider {
    width: 1px;
    height: 30px;
    background: #2a2a2a;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .healthcare-seo-section {
        padding: 35px 0;
    }

    .hc-intro {
        padding: 30px;
    }

    .hc-services {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .hc-trust {
        gap: 20px;
        padding: 20px;
    }

    .trust-divider {
        display: none;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .healthcare-seo-section {
        padding: 30px 0;
    }

    .hc-bento {
        width: 100%;
        margin-bottom: 18px;
    }

    .hc-intro {
        padding: 24px 20px;
        border-radius: 14px;
    }

    .hc-intro h2 {
        margin-bottom: 12px;
    }

    .hc-intro p {
        max-width: 100%;
        margin-bottom: 20px;
    }

    .hc-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .hc-actions .btn {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
        justify-content: center;
    }

    .hc-services {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 18px;
    }

    .hc-card {
        padding: 22px 20px;
        border-radius: 14px;
    }

    .hc-stat {
        padding: 24px 20px;
        border-radius: 14px;
    }

    .hc-trust {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 20px;
        border-radius: 14px;
    }

    .trust-item {
        width: 100%;
    }

    .trust-divider {
        display: none;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .healthcare-seo-section {
        padding: 25px 0;
    }

    .hc-intro {
        padding: 22px 16px;
    }

    .hc-card {
        padding: 20px 16px;
    }

    .hc-stat {
        padding: 20px 16px;
    }

    .hc-trust {
        padding: 18px 16px;
    }
}

/* =========================================================
   STRATEGY — pulse-journey timeline (scoped, image icons)
   ========================================================= */
.hc-strategy{
  padding:30px 0 30px;
  background:#fff;
  overflow:hidden;
}
.hc-container{ max-width:1180px; margin:0 auto; padding:0 24px; }

/* ---------- Heading ---------- */
.hc-heading{ margin:0 auto 30px; text-align:center; }
.hc-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase;
  color:#e8623d; margin-bottom:18px;
}
.hc-eyebrow::before{ content:''; width:16px; height:2px; background:#e8623d; border-radius:2px; }
.hc-title{
  font-weight:700; font-size:45px; line-height:1.2;
  color:#14161a; margin:0 0 22px;
}
.hc-title strong{
  font-weight:700;
  background:linear-gradient(90deg, #2f5fdb, #5b7fe8);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* simple animated gradient divider, no svg */
.hc-accent-bar{
  width:64px; height:4px; margin:0 auto; border-radius:4px;
  background:linear-gradient(90deg, #2f5fdb, #e8623d, #2f7d3c);
  background-size:200% 100%;
  animation:hcBarGrow .8s ease-out .1s both, hcBarShift 3s linear infinite 1s;
}
@keyframes hcBarGrow{ from{ width:0; opacity:0; } to{ width:64px; opacity:1; } }
@keyframes hcBarShift{ 0%{ background-position:0% 0; } 100%{ background-position:200% 0; } }


/* =========================================================
   HEALTHCARE SEO TIMELINE
========================================================= */

.hc-journey {
    position: relative;
    margin-top: 56px;
}


/* =========================================================
   STAGE
========================================================= */

.hc-stage {
    position: relative;

    display: grid;
    grid-template-columns: 1fr 76px 1fr;

    align-items: center;
    column-gap: 36px;

    /*
       IMPORTANT:
       This puts every stage ABOVE the timeline.
    */
    z-index: 5;

    opacity: 0;
    transform: translateY(28px);

    transition:
        opacity .7s cubic-bezier(.22,.61,.36,1),
        transform .7s cubic-bezier(.22,.61,.36,1);
}

.hc-stage.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.hc-stage + .hc-stage {
    margin-top: 8px;
}


/* =========================================================
   CENTER SPINE COLUMN
========================================================= */

.hc-spine-col {
    position: relative;

    align-self: stretch;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 10;
}


/*
   IMPORTANT:
   Remove the old vertical line completely.
*/
.hc-spine-col::before,
.hc-spine-col::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   SINGLE BLACK TIMELINE
========================================================= */

.hc-track-fill {
    position: absolute;

    left: 50%;
    top: 0;

    width: 3px;
    height: 0;

    transform: translateX(-50%);

    background: #222222;

    border-radius: 10px;

    /*
       Timeline stays BEHIND all stages/nodes.
    */
    z-index: 1;

    pointer-events: none;

    transition:
        height .8s cubic-bezier(.22,.61,.36,1);

    box-shadow:
        0 0 4px rgba(0, 0, 0, .15);
}


/* =========================================================
   TIMELINE NODE
========================================================= */

.hc-node {
    position: relative;

    z-index: 50;

    width: 56px;
    height: 56px;

    border-radius: 50%;

    background: #ffffff !important;

    border: 3px solid #ff572f;

    display: flex;
    align-items: center;
    justify-content: center;

 
    overflow: visible;

    transform: scale(.7);

    transition:
        transform .5s cubic-bezier(.22,.61,.36,1),
        box-shadow .4s ease;

    isolation: isolate;
}


/* =========================================================
   ACTIVE NODE
========================================================= */

.hc-stage.is-visible .hc-node {
    transform: scale(1);

    border-color: #ff572f;

    box-shadow:
        0 0 0 6px rgba(255, 87, 47, .10),
        0 0 18px rgba(255, 87, 47, .20);
}


/* =========================================================
   ICON
========================================================= */

.hc-node img {
    position: relative;

    z-index: 10;

    width: 34px !important;
    height: 34px !important;

    max-width: 34px !important;
    max-height: 34px !important;

    object-fit: contain;

    display: block;

    margin: 0;

    transition: transform .35s ease;
}


/* Hover */
.hc-stage:hover .hc-node img {
    transform: scale(1.08);
}


/* =========================================================
   ORANGE PULSE
========================================================= */

.hc-node.hc-pulse::after {
    content: '';

    position: absolute;

    inset: -5px;

    border-radius: 50%;

    border: 2px solid #ff572f;

    opacity: 0;

    z-index: -1;

    animation:
        hcPulseRing 1.4s ease-out .15s 1;
}

@keyframes hcPulseRing {

    0% {
        opacity: .55;
        transform: scale(.85);
    }

    100% {
        opacity: 0;
        transform: scale(1.7);
    }

}


/* =========================================================
   CARDS
========================================================= */

.hc-card {
    position: relative;
    z-index: 6;

    background: #fff;

    border: 1px solid #e7e9ee;

    border-radius: 16px;

    padding: 24px 26px;

    transition:
        transform .35s cubic-bezier(.22,.61,.36,1),
        box-shadow .35s cubic-bezier(.22,.61,.36,1),
        border-color .35s cubic-bezier(.22,.61,.36,1);
}

.hc-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 18px 38px -22px rgba(20,22,26,.28);
}


/* Card hover colors */
.hc-stage[data-tone="blue"] .hc-card:hover {
    border-color: #2f5fdb;
}

.hc-stage[data-tone="orange"] .hc-card:hover {
    border-color: #e8623d;
}

.hc-stage[data-tone="green"] .hc-card:hover {
    border-color: #2f7d3c;
}


/* =========================================================
   CARD TYPOGRAPHY
========================================================= */

.hc-card h3 {
    font-weight: 600;

    font-size: 19px;

    color: #14161a;

    margin: 0 0 8px;

    line-height: 1.3;
}

.hc-card p {
    margin: 0;

    color: #5b6270;

    font-size: 15px;

    line-height: 1.65;
}

.hc-card p strong {
    color: #14161a;

    font-weight: 600;
}


/* =========================================================
   LEFT / RIGHT POSITIONING
========================================================= */

.hc-stage[data-side="left"] .hc-spacer {
    grid-column: 3;
}

.hc-stage[data-side="right"] .hc-card {
    grid-column: 3;

    text-align: left;
}

.hc-stage[data-side="right"] .hc-spacer {
    grid-column: 1;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .hc-strategy {
        padding: 72px 0 84px;
    }

    .hc-stage {
        grid-template-columns: 60px 1fr;

        column-gap: 20px;
    }

    .hc-spine-col {
        grid-column: 1;
    }

    /*
       Move the single timeline to the
       center of the 60px mobile column.
    */
    .hc-track-fill {
        left: 30px;
    }

    .hc-node {
        width: 46px;
        height: 46px;

        border-width: 2px;
    }

    .hc-node img {
        width: 28px !important;
        height: 28px !important;

        max-width: 28px !important;
        max-height: 28px !important;
    }

    .hc-stage[data-side="left"] .hc-card,
    .hc-stage[data-side="right"] .hc-card {
        grid-column: 2;

        text-align: left;
    }

    .hc-stage .hc-spacer {
        display: none;
    }

    .hc-stage + .hc-stage {
        margin-top: 6px;
    }

    .hc-card {
        padding: 20px 22px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 520px) {

    .hc-strategy .hc-container {
        padding: 0 18px;
    }

    .hc-eyebrow {
        font-size: 11.5px;
    }

    .hc-track-fill {
        left: 30px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .hc-strategy .hc-stage,
    .hc-strategy .hc-card,
    .hc-strategy .hc-node,
    .hc-strategy .hc-node img,
    .hc-strategy .hc-track-fill,
    .hc-strategy .hc-accent-bar {

        transition: none !important;
        animation: none !important;

        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================================
   HEALTHCARE SEO SECTION
========================================= */

.healthcare-seo-section {
    position: relative;
    padding: 30px 20px;
    background: #f7f8fa;
    overflow: hidden;
}


/* Background glow */

.healthcare-seo-section::before {
    content: "";
    position: absolute;

    width: 500px;
    height: 500px;

    top: -250px;
    left: -250px;

    background: rgba(20, 124, 255, 0.08);

    border-radius: 50%;

    filter: blur(80px);

    pointer-events: none;
}

.healthcare-seo-section::after {
    content: "";
    position: absolute;

    width: 450px;
    height: 450px;

    right: -200px;
    bottom: -250px;

    background: rgba(255, 87, 47, 0.08);

    border-radius: 50%;

    filter: blur(80px);

    pointer-events: none;
}


/* =========================================
   CONTAINER
========================================= */

.healthcare-seo-container {
    position: relative;

    width: 1200px;
    max-width: calc(100% - 40px);

    margin: 0 auto;

    z-index: 2;
}


/* =========================================
   HEADING
========================================= */

.healthcare-seo-heading {
    width: 800px;
    max-width: 100%;

    margin: 0 auto 60px;

    text-align: center;
}

.seo-label {
    display: inline-block;

    padding: 8px 18px;

    color: #ffffff;
    background: #ff572f;

    border-radius: 50px;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    box-shadow:
        0px 8px 25px rgba(255, 87, 47, 0.25);
}


.healthcare-seo-heading h2 {
 
    color: #050505;
    font-size: 45px;
    line-height: 60px;
    font-weight: 700;
    letter-spacing: -2px;
}


.seo-heading-line {
    display: block;

    width: 75px;
    height: 4px;

    margin: 0 auto;

    border-radius: 20px;

    background:
        linear-gradient(
            90deg,
            #ff572f,
            #147cff
        );
}


/* =========================================
   GRID
========================================= */

.healthcare-seo-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 28px;
}


/* =========================================
   CARD
========================================= */

.seo-card {
    position: relative;

    background: #ffffff;

    border: 1px solid #e9e9e9;

    border-radius: 24px;

    overflow: hidden;

    box-shadow:
        0px 12px 40px rgba(0, 0, 0, 0.055);

    transition:
        transform 450ms cubic-bezier(0.2, 0.8, 0.2, 1),
        box-shadow 450ms ease,
        border-color 350ms ease;
}


.seo-card:hover {
    transform: translateY(-10px);

    border-color: rgba(255, 87, 47, 0.35);

    box-shadow:
        0px 25px 65px rgba(0, 0, 0, 0.12);
}


/* =========================================
   IMAGE AREA
========================================= */

.seo-image {
    position: relative;

    width: 100%;
    height: 260px;

    overflow: hidden;

    background: #050505;
}


.seo-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 800ms cubic-bezier(0.2, 0.8, 0.2, 1),
        filter 600ms ease;
}


.seo-card:hover .seo-image img {
    transform: scale(1.07);

    filter: saturate(1.12);
}


/* =========================================
   IMAGE OVERLAY
========================================= */

.image-overlay {
    position: absolute;

    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.05) 35%,
            rgba(0, 0, 0, 0.45) 100%
        );

    opacity: 0.45;

    transition:
        opacity 400ms ease;
}


.seo-card:hover .image-overlay {
    opacity: 0.2;
}


/* =========================================
   NUMBER BADGE
========================================= */

.seo-number {
    position: absolute;

    top: 18px;
    right: 18px;

    display: grid;

    width: 50px;
    height: 50px;

    place-items: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #ff572f,
            #ff7b3d
        );

    border-radius: 14px;

    font-size: 18px;
    font-weight: 800;

    box-shadow:
        0px 8px 25px rgba(255, 87, 47, 0.3);

    z-index: 3;

    transition:
        transform 400ms ease,
        border-radius 400ms ease;
}


.seo-card:hover .seo-number {
    transform: scale(1.08) rotate(3deg);

    border-radius: 50px;
}


/* =========================================
   CONTENT
========================================= */

.seo-content {
    position: relative;

    padding: 30px 32px 32px;
}


.seo-content h3 {
    margin: 0px 0px 14px;

    color: #050505;
    font-size: 25px;
    line-height: 33px;
    font-weight: 700;
    letter-spacing: -0.5px;
}


.seo-content p {
    margin: 0px;

    color: #666666;

    font-size: 16px;
    line-height: 28px;
}


/* =========================================
   ARROW
========================================= */

.seo-arrow {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin-top: 25px;

    color: #ffffff;

    background: #ff572f;

    border-radius: 50px;

    text-decoration: none;

    box-shadow:
        0px 8px 20px rgba(255, 87, 47, 0.25);

    transition:
        width 350ms ease,
        transform 350ms ease,
        border-radius 350ms ease;
}


.seo-arrow span {
    font-size: 21px;
    line-height: 21px;

    transition:
        transform 350ms ease;
}


.seo-card:hover .seo-arrow {
    width: 58px;

    border-radius: 30px;
}


.seo-card:hover .seo-arrow span {
    transform: translateX(5px);
}



/* =========================================
   STAGGER ANIMATION
========================================= */

.seo-card:nth-child(1) {
    transition-delay: 50ms;
}

.seo-card:nth-child(2) {
    transition-delay: 120ms;
}

.seo-card:nth-child(3) {
    transition-delay: 190ms;
}

.seo-card:nth-child(4) {
    transition-delay: 260ms;
}

.seo-card:nth-child(5) {
    transition-delay: 330ms;
}

.seo-card:nth-child(6) {
    transition-delay: 400ms;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .healthcare-seo-section {
        padding: 30px 20px;
    }

    .healthcare-seo-container {
        width: auto;
    }

    .healthcare-seo-grid {
        grid-template-columns: 1fr;

        gap: 25px;
    }

    .seo-image {
        height: 300px;
    }

    .healthcare-seo-heading h2 {
        font-size: 48px;
        line-height: 54px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .healthcare-seo-section {
        padding: 20px 15px;
    }

    .healthcare-seo-container {
        width: auto;
        max-width: none;
    }

    .healthcare-seo-heading {
        width: auto;

        margin-bottom: 40px;
    }

    .healthcare-seo-heading h2 {
        font-size: 36px;
        line-height: 42px;

        letter-spacing: -1px;
    }

    .seo-label {
        padding: 7px 15px;

        font-size: 12px;

        letter-spacing: 1px;
    }

    .healthcare-seo-grid {
        gap: 20px;
    }

    .seo-card {
        border-radius: 19px;
    }

    .seo-image {
        height: 210px;
    }

    .seo-number {
        top: 14px;
        right: 14px;

        width: 45px;
        height: 45px;

        border-radius: 12px;

        font-size: 16px;
    }

    .seo-content {
        padding: 24px 22px 25px;
    }

    .seo-content h3 {
        font-size: 23px;
        line-height: 29px;
    }

    .seo-content p {
        font-size: 15px;
        line-height: 25px;
    }

    .seo-arrow {
        width: 40px;
        height: 40px;

        margin-top: 22px;
    }
}


/* =========================================
   REDUCED MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {

    .seo-card,
    .seo-image img,
    .seo-number,
    .seo-arrow,
    .seo-arrow span
    {
        transition: none;
    }

   
}

/* =========================================
   WHY INFINIX360
========================================= */

.why-infinix360 {

    position: relative;

    padding: 35px 20px;

    background: #050505;

    color: #ffffff;

    overflow: hidden;
}


/* =========================================
   BACKGROUND EFFECTS
========================================= */

.why-infinix360::before {

    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    top: -280px;
    right: -180px;

    background: rgba(255, 87, 47, 0.10);

    border-radius: 50%;

    filter: blur(90px);

    pointer-events: none;
}


.why-infinix360::after {

    content: "";

    position: absolute;

    width: 400px;
    height: 400px;

    bottom: -250px;
    left: -180px;

    background: rgba(20, 124, 255, 0.08);

    border-radius: 50%;

    filter: blur(80px);

    pointer-events: none;
}


/* =========================================
   CONTAINER
========================================= */

.why-container {

    position: relative;

    z-index: 2;

    width: 1200px;

    max-width: calc(100% - 40px);

    margin: 0 auto;
}


/* =========================================
   HEADING
========================================= */

.why-heading {

    width: 850px;

    max-width: 100%;

    margin: 0 auto 55px;

    text-align: center;
}


.why-label {

    display: inline-block;

    padding: 7px 16px;

    margin-bottom: 15px;

    color: #ffffff;

    background: #ff572f;

    border-radius: 30px;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


.why-heading h2 {

    margin: 0;
    color: #ffffff;
    font-size: 45px;
    line-height: 58px;
    font-weight: 700;
    letter-spacing: -1.8px;
}


.why-heading-line {

    width: 70px;

    height: 4px;

    margin: 20px auto 0;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #ff572f,
            #147cff
        );
}


/* =========================================
   MAIN LAYOUT
========================================= */

.why-layout {

    display: grid;

    grid-template-columns: 310px 1fr;

    gap: 35px;

    align-items: start;
}


/* =========================================
   INTRO PANEL
========================================= */

.why-intro {

    position: sticky;

    top: 30px;

    padding: 32px;

    background:
        linear-gradient(
            145deg,
            #111111,
            #080808
        );

    border: 1px solid #242424;

    border-radius: 20px;

    overflow: hidden;
}


.intro-number {

    margin-bottom: 25px;

    color: #ff572f;

    font-size: 58px;

    line-height: 58px;

    font-weight: 800;

    letter-spacing: -2px;
}


.why-intro p {

    margin: 0;

    color: #d1d1d1;

    font-size: 16px;

    line-height: 27px;
}


.why-intro strong {

    color: #ffffff;

    font-weight: 700;
}


.intro-accent {

    width: 60px;

    height: 4px;

    margin-top: 25px;

    background:
        linear-gradient(
            90deg,
            #ff572f,
            #147cff
        );

    border-radius: 10px;
}


/* =========================================
   FEATURES
========================================= */

.why-features {

    display: flex;

    flex-direction: column;

    gap: 12px;
}


/* =========================================
   FEATURE
========================================= */

.why-feature {

    position: relative;

    display: grid;

    grid-template-columns: 65px 1fr;

    gap: 22px;

    padding: 27px 30px;

    background: #ffffff;

    border: 1px solid #eeeeee;

    border-radius: 16px;

    color: #171717;

    overflow: hidden;

    transition:
        transform 400ms ease,
        box-shadow 400ms ease,
        border-color 400ms ease;
}


.why-feature::before {

    content: "";

    position: absolute;

    top: 0px;
    bottom: 0px;
    left: 0px;

    width: 4px;

    background:
        linear-gradient(
            180deg,
            #ff572f,
            #147cff
        );

    transform: scaleY(0);

    transform-origin: top;

    transition:
        transform 400ms ease;
}


.why-feature:hover {

    transform: translateX(6px);

    border-color: #dddddd;

    box-shadow:
        0px 15px 40px rgba(0, 0, 0, 0.18);
}


.why-feature:hover::before {

    transform: scaleY(1);
}


/* =========================================
   FEATURE NUMBER
========================================= */

.feature-number {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 52px;

    height: 52px;

    color: #ff572f;

    background: #fff1ed;

    border-radius: 14px;

    font-size: 16px;

    font-weight: 800;

    transition:
        background 350ms ease,
        color 350ms ease,
        transform 350ms ease;
}


.why-feature:hover .feature-number {

    color: #ffffff;

    background: #ff572f;

    transform: rotate(-5deg);
}


/* =========================================
   FEATURE CONTENT
========================================= */

.feature-content h3 {

    margin: 0 0 10px;
    color: #111111;
    font-size: 25px;
    line-height: 28px;
    font-weight: 700;
}


.feature-content p {

    margin: 0;

    color: #626262;

    font-size: 15px;

    line-height: 25px;
}


.feature-content strong {

    color: #202020;

    font-weight: 700;
}


/* =========================================
   CLOSING STATEMENT
========================================= */

.why-closing {

    display: grid;

    grid-template-columns: 52px 1fr;

    gap: 20px;

    align-items: center;

    margin-top: 20px;

    padding: 25px 30px;

    background:
        linear-gradient(
            110deg,
            #151515,
            #0b0b0b
        );

    border: 1px solid #272727;

    border-radius: 17px;
}


.closing-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 48px;

    height: 48px;

    color: #ffffff;

    background: #ff572f;

    border-radius: 50%;
}


.closing-icon span {

    font-size: 23px;

    font-weight: 800;
}


.why-closing p {

    margin: 0;

    color: #d0d0d0;

    font-size: 16px;

    line-height: 27px;
}


.why-closing strong {

    color: #ffffff;

    font-weight: 700;
}



.why-visible {

    opacity: 1;

    transform:
        translateY(0px);
}


/* =========================================
   STAGGER
========================================= */

.why-feature:nth-child(1) {
    transition-delay: 50ms;
}

.why-feature:nth-child(2) {
    transition-delay: 100ms;
}

.why-feature:nth-child(3) {
    transition-delay: 150ms;
}

.why-feature:nth-child(4) {
    transition-delay: 200ms;
}

.why-feature:nth-child(5) {
    transition-delay: 250ms;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .why-infinix360 {

        padding: 30px 20px;
    }


    .why-container {

        max-width: calc(100% - 40px);
    }


    .why-heading h2 {

        font-size: 44px;

        line-height: 50px;
    }


    .why-layout {

        grid-template-columns: 1fr;

        gap: 25px;
    }


    .why-intro {

        position: relative;

        top: auto;
    }


    .why-features {

        gap: 12px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .why-infinix360 {

        padding: 35px 15px;
    }


    .why-container {

        max-width: none;
    }


    .why-heading {

        margin-bottom: 35px;
    }


    .why-heading h2 {

        font-size: 34px;

        line-height: 40px;

        letter-spacing: -1px;
    }


    .why-label {

        font-size: 11px;

        padding: 7px 13px;
    }


    .why-intro {

        padding: 25px;

        border-radius: 16px;
    }


    .intro-number {

        font-size: 46px;

        line-height: 46px;

        margin-bottom: 18px;
    }


    .why-intro p {

        font-size: 15px;

        line-height: 25px;
    }


    .why-feature {

        grid-template-columns: 48px 1fr;

        gap: 15px;

        padding: 22px 20px;

        border-radius: 14px;
    }


    .feature-number {

        width: 44px;

        height: 44px;

        border-radius: 12px;

        font-size: 13px;
    }


    .feature-content h3 {

        font-size: 19px;

        line-height: 25px;

        margin-bottom: 8px;
    }


    .feature-content p {

        font-size: 14px;

        line-height: 23px;
    }


    .why-closing {

        grid-template-columns: 42px 1fr;

        gap: 14px;

        padding: 20px;

        border-radius: 14px;
    }


    .closing-icon {

        width: 42px;

        height: 42px;
    }


    .closing-icon span {

        font-size: 19px;
    }


    .why-closing p {

        font-size: 14px;

        line-height: 23px;
    }
}


/* =========================================
   REDUCED MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {


    .why-feature,
    .feature-number {

        transition: none;
    }
}
/* =========================================
   RELATED INDUSTRIES
========================================= */

.related-industries {
    position: relative;
    padding: 30px 20px;
    background: #f6f7f9;
    overflow: hidden;
}


/* =========================================
   CONTAINER
========================================= */

.industries-container {
    position: relative;
    z-index: 2;
    width: 1200px;
    max-width: 1200px;
    margin: 0 auto;
}


/* =========================================
   HEADING
========================================= */

.industries-heading {
    width: 800px;
    max-width: 800px;
    margin: 0 auto 50px;
    text-align: center;
}

.industries-label {
    display: inline-block;
    padding: 7px 15px;
    margin-bottom: 14px;
    color: #ffffff;
    background: #ff572f;
    border-radius: 30px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.industries-heading h2 {
    margin: 0;
    color: #080808;
    font-size: 45px;
    line-height: 58px;
    font-weight: 700;
    letter-spacing: -1.8px;
}

.industries-line {
    width: 65px;
    height: 4px;
    margin: 18px auto 0;
    border-radius: 10px;
    background: linear-gradient(90deg, #ff572f, #147cff);
}


/* =========================================
   INDUSTRY LIST — 3 per row
========================================= */

.industries-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}


/* =========================================
   FLIP CARD SHELL
========================================= */

.industry-item {
    position: relative;
    height: 330px;
    perspective: 1400px;
    border-radius: 18px;
    outline: none;
}

.industry-flip {
    position: relative;
    width: 100%;
    height: 230px;
    transform-style: preserve-3d;
    transition: transform 900ms cubic-bezier(0.4, 0.05, 0.2, 1);
}

.industry-item:hover .industry-flip,
.industry-item:focus-within .industry-flip,
.industry-item.is-flipped .industry-flip {
    transform: rotateY(180deg);
}


/* =========================================
   SHARED FACE STYLES
========================================= */

.industry-face {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    border-radius: 18px;
    overflow: hidden;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}


/* =========================================
   FRONT FACE — image + heading
========================================= */

.industry-front {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    justify-content: flex-end;
}

.industry-image {
    position: absolute;
    inset: 0;
}

.industry-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 900ms cubic-bezier(0.4, 0.05, 0.2, 1);
}

.industry-item:hover .industry-image img {
    transform: scale(1.08);
}

.industry-front::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 87, 47, 0) 40%, rgba(120, 35, 15, 0.78) 100%);
}

.industry-front h3 {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 24px 24px 22px;
    color: #ffffff;
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
}

.industry-front::before {
    content: "";
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.28);
    backdrop-filter: blur(4px);
}


/* =========================================
   BACK FACE — content
========================================= */

.industry-back {
    background: #ffffff;
    transform: rotateY(180deg);
    padding: 30px 28px;
    justify-content: center;
    border: 1px solid #ffe1d4;
    box-shadow: inset 0 0 0 1px #fff8f5;
}

.industry-back::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, #ff572f, #147cff);
}

.industry-back h3 {
    margin: 0 0 12px;
    color: #111111;
    font-size: 21px;
    line-height: 27px;
    font-weight: 700;
}

.industry-back p {
    margin: 0 0 20px;
    color: #666666;
    font-size: 14.5px;
    line-height: 24px;
}

.industry-back strong {
    color: #222222;
    font-weight: 700;
}


/* =========================================
   LINK
========================================= */

.industry-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    align-self: flex-start;
    color: #111111;
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 700;
    transition: gap 500ms ease, color 500ms ease;
}

.industry-link span {
    border-bottom: 1px solid rgba(17, 17, 17, 0.2);
    padding-bottom: 2px;
    transition: border-color 500ms ease;
}

.industry-link b {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    color: #ffffff;
    background: #ff572f;
    border-radius: 50%;
    font-size: 15px;
    font-weight: 400;
    transition: transform 500ms ease, background 500ms ease;
}

.industry-link:hover {
    gap: 14px;
    color: #ff572f;
}

.industry-link:hover span {
    border-color: #ff572f;
}

.industry-link:hover b {
    background: #147cff;
    transform: translate(2px, -2px);
}


/* =========================================
   SCROLL REVEAL
========================================= */

.industry-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 650ms ease,
        transform 650ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.industry-visible {
    opacity: 1;
    transform: translateY(0px);
}


/* =========================================
   STAGGER
========================================= */

.industry-item:nth-child(1) { transition-delay: 50ms; }
.industry-item:nth-child(2) { transition-delay: 100ms; }
.industry-item:nth-child(3) { transition-delay: 150ms; }
.industry-item:nth-child(4) { transition-delay: 200ms; }
.industry-item:nth-child(5) { transition-delay: 250ms; }
.industry-item:nth-child(6) { transition-delay: 300ms; }


/* =========================================
   TABLET — 2 per row
========================================= */

@media (max-width: 1000px) {

    .related-industries {
        padding: 70px 20px;
    }

    .industries-container {
        width: 760px;
        max-width: 760px;
    }

    .industries-heading {
        width: 700px;
        max-width: 700px;
    }

    .industries-heading h2 {
        font-size: 40px;
        line-height: 48px;
    }

    .industries-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .industry-item {
        height: 310px;
    }
}


/* =========================================
   MOBILE — 1 per row
========================================= */

@media (max-width: 600px) {

    .related-industries {
        padding: 55px 15px;
    }

    .industries-container {
        width: auto;
        max-width: none;
    }

    .industries-heading {
        width: auto;
        max-width: none;
        margin-bottom: 32px;
    }

    .industries-heading h2 {
        font-size: 30px;
        line-height: 38px;
        letter-spacing: -1px;
    }

    .industries-label {
        font-size: 11px;
        line-height: 15px;
        padding: 6px 13px;
    }

    .industries-list {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .industry-item {
        height: 280px;
    }

    .industry-front h3 {
        font-size: 19px;
        line-height: 25px;
        padding: 20px 20px 18px;
    }

    .industry-back {
        padding: 24px 22px;
    }

    .industry-back h3 {
        font-size: 18px;
        line-height: 24px;
    }

    .industry-back p {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 16px;
    }
}


/* =========================================
   REDUCED MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {

    .industry-reveal {
        opacity: 1;
        transform: translateY(0px);
        transition: none;
    }

    .industry-flip,
    .industry-image img,
    .industry-link,
    .industry-link span,
    .industry-link b {
        transition: none;
    }
}
/* =========================================
   FAQ SECTION
========================================= */

.faq-section {
    position: relative;
    margin-bottom:110px;
    padding: 30px 20px;
    background: #f6f7f9;
    overflow: hidden;
}


/* =========================================
   CONTAINER
========================================= */

.faq-container {
    position: relative;
    z-index: 2;
    width: 1000px;
    max-width: 1000px;
    margin: 0 auto;
}


/* =========================================
   FAQ HEADING
========================================= */

.faq-heading {
    width: 750px;
    max-width: 750px;
    margin: 0 auto 45px;
    text-align: center;
}

.faq-label {
    display: inline-block;
    padding: 7px 15px;
    margin-bottom: 14px;
    color: #ffffff;
    background: #ff572f;
    border-radius: 30px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.faq-heading h2 {
    margin: 0;
    color: #080808;
    font-size: 45px;
    font-weight: 700;
    line-height: 58px;
    letter-spacing: -1.8px;
}

.faq-heading-line {
    width: 65px;
    height: 4px;
    margin: 18px auto 0;
    border-radius: 10px;
    background: linear-gradient(90deg, #ff572f, #147cff);
}


/* =========================================
   FAQ LIST
========================================= */

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


/* =========================================
   FAQ ITEM
========================================= */

.faq-item {
    position: relative;
    background: #ffffff;
    border: 1px solid #e7e7e7;
    border-radius: 14px;
    overflow: hidden;
    transition:
        border-color 350ms ease,
        box-shadow 350ms ease;
}

.faq-item:hover {
    border-color: #d9d9d9;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.06);
}

.faq-item.active {
    border-color: #ff572f;
    box-shadow: 0px 12px 35px rgba(255, 87, 47, 0.08);
}


/* =========================================
   QUESTION
========================================= */

.faq-question {
    position: relative;
    display: grid;
    grid-template-columns: 50px 1fr 44px;
    gap: 18px;
    align-items: center;
    width: 100%;
    min-height: 82px;
    padding: 15px 22px;
    color: #111111;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}


/* =========================================
   NUMBER
========================================= */

.faq-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #ff572f;
    background: #fff1ed;
    border-radius: 11px;
    font-size: 13px;
    line-height: 16px;
    font-weight: 800;
    transition:
        color 350ms ease,
        background 350ms ease,
        transform 350ms ease;
}

.faq-item.active .faq-number {
    color: #ffffff;
    background: #ff572f;
    transform: scale(1.04);
}


/* =========================================
   QUESTION TEXT (h3)
========================================= */

.faq-question-text {
    margin: 0;
    color: #171717;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
    padding-right: 10px;
}

.faq-item.active .faq-question-text {
    color: #ff572f;
}


/* =========================================
   PLUS ICON
========================================= */

.faq-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: #111111;
    border-radius: 50%;
    transition:
        background 350ms ease,
        transform 350ms ease;
}

.faq-icon span {
    position: absolute;
    width: 15px;
    height: 2px;
    background: #ffffff;
    border-radius: 2px;
    transition: transform 350ms ease;
}

.faq-icon span:nth-child(2) {
    transform: rotate(90deg);
}

.faq-item.active .faq-icon {
    background: #ff572f;
    transform: rotate(180deg);
}

.faq-item.active .faq-icon span:nth-child(2) {
    transform: rotate(0deg);
}


/* =========================================
   ANSWER
========================================= */

.faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 450ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.faq-item.active .faq-answer {
    grid-template-rows: 1fr;
}

.faq-answer-inner {
    min-height: 0;
    overflow: hidden;
}

.faq-answer p {
    margin: 0;
    padding: 0px 84px 28px 90px;
    color: #656565;
    font-size: 15px;
    line-height: 26px;
}

.faq-answer strong {
    color: #202020;
    font-weight: 700;
}


/* =========================================
   CTA
========================================= */

.faq-cta {
    position: relative;
    margin-top: 18px;
    padding: 45px 55px;
    background: linear-gradient(120deg, #080808, #151515);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0px 20px 55px rgba(0, 0, 0, 0.15);
}

.faq-cta::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    width: 5px;
    background: linear-gradient(180deg, #ff572f, #147cff);
}


/* =========================================
   CTA GLOW
========================================= */

.cta-glow {
    position: absolute;
    width: 300px;
    height: 300px;
    right: -120px;
    top: -150px;
    background: rgba(255, 87, 47, 0.13);
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
}


/* =========================================
   CTA CONTENT
========================================= */

.cta-content {
    position: relative;
    z-index: 2;
    max-width: 700px;
}

.cta-label {
    display: inline-block;
    margin-bottom: 10px;
    color: #ff572f;
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.cta-content h2 {
    margin: 0 0 13px;
    color: #ffffff;
    font-size: 40px;
    line-height: 46px;
    font-weight: 800;
    letter-spacing: -1px;
}

.cta-content p {
    margin: 0;
    color: #bdbdbd;
    font-size: 16px;
    line-height: 27px;
}

.cta-content strong {
    color: #ffffff;
    font-weight: 700;
}


/* =========================================
   CTA BUTTON
========================================= */

.cta-button {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    margin-top: 25px;
    padding: 13px 15px 13px 21px;
    color: #ffffff;
    background: #ff572f;
    border-radius: 50px;
    text-decoration: none;
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
    box-shadow: 0px 10px 25px rgba(255, 87, 47, 0.25);
    transition:
        transform 350ms ease,
        background 350ms ease,
        box-shadow 350ms ease;
}

.cta-button b {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: #ff572f;
    background: #ffffff;
    border-radius: 50%;
    font-size: 17px;
    line-height: 17px;
    font-weight: 400;
    transition: transform 350ms ease;
}

.cta-button:hover {
    background: #ff6b48;
    transform: translateY(-3px);
    box-shadow: 0px 15px 35px rgba(255, 87, 47, 0.30);
    color:white;
}

.cta-button:hover b {
    transform: translate(2px, -2px);
}


/* =========================================
   SCROLL REVEAL
========================================= */

.faq-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 650ms ease,
        transform 650ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.faq-visible {
    opacity: 1;
    transform: translateY(0px);
}


/* =========================================
   STAGGER
========================================= */

.faq-item:nth-child(1) {
    transition-delay: 50ms;
}

.faq-item:nth-child(2) {
    transition-delay: 100ms;
}

.faq-item:nth-child(3) {
    transition-delay: 150ms;
}

.faq-item:nth-child(4) {
    transition-delay: 200ms;
}

.faq-item:nth-child(5) {
    transition-delay: 250ms;
}

.faq-cta {
    transition-delay: 300ms;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .faq-section {
        padding: 70px 20px;
    }

    .faq-container {
        width: 760px;
        max-width: 760px;
    }

    .faq-heading {
        width: 700px;
        max-width: 700px;
    }

    .faq-heading h2 {
        font-size: 44px;
        line-height: 50px;
    }

    .faq-cta {
        padding: 38px 40px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .faq-section {
        padding: 55px 15px;
    }

    .faq-container {
        width: auto;
        max-width: none;
    }

    .faq-heading {
        width: auto;
        max-width: none;
        margin-bottom: 32px;
    }

    .faq-heading h2 {
        font-size: 34px;
        line-height: 40px;
        letter-spacing: -1px;
    }

    .faq-label {
        padding: 6px 13px;
        font-size: 11px;
        line-height: 15px;
    }

    .faq-list {
        gap: 8px;
    }

    .faq-question {
        grid-template-columns: 40px 1fr 38px;
        gap: 12px;
        min-height: 72px;
        padding: 13px 14px;
    }

    .faq-number {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        font-size: 11px;
    }

    .faq-question-text {
        font-size: 18px;
        padding-right: 0px;
    }

    .faq-icon {
        width: 36px;
        height: 36px;
    }

    .faq-icon span {
        width: 13px;
    }

    .faq-answer p {
        padding: 0px 18px 22px 66px;
        font-size: 14px;
        line-height: 23px;
    }

    .faq-cta {
        margin-top: 12px;
        padding: 30px 24px;
        border-radius: 16px;
    }

    .faq-cta::before {
        width: 4px;
    }

    .cta-content h2 {
        font-size: 31px;
        line-height: 37px;
    }

    .cta-content p {
        font-size: 14px;
        line-height: 24px;
    }

    .cta-button {
        margin-top: 20px;
        font-size: 13px;
        line-height: 18px;
    }
}


/* =========================================
   REDUCED MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {

    .faq-reveal {
        opacity: 1;
        transform: translateY(0px);
        transition: none;
    }

    .faq-answer,
    .faq-icon,
    .faq-icon span,
    .faq-number,
    .cta-button,
    .cta-button b {
        transition: none;
    }
}


/* =========================================================
   UNIFIED SCROLL-REVEAL SYSTEM
  
   ========================================================= */

.reveal,
.reveal-why,
.industry-reveal,
.faq-reveal {
    opacity: 0;
    transform: translateY(28px) scale(0.98);
    transition:
        opacity 700ms cubic-bezier(0.22, 0.61, 0.36, 1),
        transform 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: opacity, transform;
}

.reveal.is-visible,
.reveal-why.is-visible,
.industry-reveal.is-visible,
.faq-reveal.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* =========================================================
   STAGGER — cards/items inside a revealed container animate
   in sequence instead of all at once. Works automatically for
   any direct-child list; add more :nth-child rows if a section
   has more than 8 items.
   ========================================================= */

.why-seo__item.reveal:nth-child(1),
.hc-card.reveal:nth-child(1),
.seo-card.reveal:nth-child(1),
.why-feature.reveal-why:nth-child(1),
.industry-item.industry-reveal:nth-child(1),
.faq-item.faq-reveal:nth-child(1) { transition-delay: 50ms; }

.why-seo__item.reveal:nth-child(2),
.hc-card.reveal:nth-child(2),
.seo-card.reveal:nth-child(2),
.why-feature.reveal-why:nth-child(2),
.industry-item.industry-reveal:nth-child(2),
.faq-item.faq-reveal:nth-child(2) { transition-delay: 120ms; }

.why-seo__item.reveal:nth-child(3),
.hc-card.reveal:nth-child(3),
.seo-card.reveal:nth-child(3),
.why-feature.reveal-why:nth-child(3),
.industry-item.industry-reveal:nth-child(3),
.faq-item.faq-reveal:nth-child(3) { transition-delay: 190ms; }

.why-seo__item.reveal:nth-child(4),
.hc-card.reveal:nth-child(4),
.seo-card.reveal:nth-child(4),
.why-feature.reveal-why:nth-child(4),
.industry-item.industry-reveal:nth-child(4),
.faq-item.faq-reveal:nth-child(4) { transition-delay: 260ms; }

.why-seo__item.reveal:nth-child(5),
.hc-card.reveal:nth-child(5),
.seo-card.reveal:nth-child(5),
.why-feature.reveal-why:nth-child(5),
.industry-item.industry-reveal:nth-child(5),
.faq-item.faq-reveal:nth-child(5) { transition-delay: 330ms; }

.why-seo__item.reveal:nth-child(6),
.hc-card.reveal:nth-child(6),
.seo-card.reveal:nth-child(6),
.why-feature.reveal-why:nth-child(6),
.industry-item.industry-reveal:nth-child(6),
.faq-item.faq-reveal:nth-child(6) { transition-delay: 400ms; }

/* =========================================================
   RESPONSIVE TUNING
   Smaller screens: shorter travel distance and shorter
   duration so the animation feels snappy, not sluggish,
   on mobile scroll speeds.
   ========================================================= */

@media (max-width: 900px) {
    .reveal,
    .reveal-why,
    .industry-reveal,
    .faq-reveal {
        transform: translateY(20px) scale(0.99);
        transition-duration: 550ms;
    }
}

@media (max-width: 600px) {
    .reveal,
    .reveal-why,
    .industry-reveal,
    .faq-reveal {
        transform: translateY(14px);
        transition-duration: 450ms;
    }

    /* Flatten stagger on mobile — long delay chains feel slow
       on small screens where sections are already stacked. */
    .why-seo__item.reveal,
    .hc-card.reveal,
    .seo-card.reveal,
    .why-feature.reveal-why,
    .industry-item.industry-reveal,
    .faq-item.faq-reveal {
        transition-delay: 0ms !important;
    }
}

/* =========================================================
   ACCESSIBILITY
   Users who've asked their OS/browser to reduce motion get
   content shown instantly, no animation at all.
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .reveal,
    .reveal-why,
    .industry-reveal,
    .faq-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* =========================================================
   NO-JS / JS-FAILURE SAFETY NET
   If the reveal script fails to load or errors out for any
   reason, this guarantees content is never permanently
   invisible — after 2.5s everything fades in on its own.
   This is what was silently breaking your hospitality page:
   with no fallback, a JS failure = permanently blank sections.
   ========================================================= */

.no-js .reveal,
.no-js .reveal-why,
.no-js .industry-reveal,
.no-js .faq-reveal {
    opacity: 1;
    transform: none;
}