.btsb-marquee,
.btsb-areas,
.btsb-sector-cards {
    font-family: Roboto, Arial, sans-serif;
}

.btsb-sector-cards {
    padding: clamp(50px, 7vw, 88px) clamp(20px, 4vw, 48px);
    background: var(--btsb-sector-cards-background);
}

.btsb-sector-cards__inner {
    width: min(100%, 1240px);
    margin: 0 auto;
}

.btsb-sector-cards__header {
    max-width: 900px;
    margin: 0 auto clamp(32px, 5vw, 58px);
    text-align: center;
}

.btsb-sector-cards__kicker {
    margin: 0 0 9px;
    color: var(--btsb-sector-cards-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.btsb-sector-cards h2 {
    margin: 0;
    color: #1d1d1b;
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif;
    font-size: clamp(35px, 4.2vw, 55px);
    font-weight: 500;
    line-height: 1;
}

.btsb-sector-cards__intro {
    margin: 20px 0 0;
    color: #60758e;
    font-size: clamp(18px, 2.1vw, 24px);
    line-height: 1.45;
}

.btsb-sector-cards__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.btsb-sector-card {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(330px, 36vw, 475px);
    overflow: hidden;
    border-radius: clamp(22px, 2.5vw, 34px);
    background: #143552;
    color: #fff;
    isolation: isolate;
}

.btsb-sector-card__image,
.btsb-sector-card__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.btsb-sector-card__image {
    z-index: -2;
    object-fit: cover;
}

.btsb-sector-card__overlay {
    z-index: -1;
    background: linear-gradient(180deg, rgba(7, 20, 35, .05) 18%, rgba(7, 20, 35, .88) 100%);
}

.btsb-sector-card__number {
    position: absolute;
    top: clamp(23px, 3vw, 39px);
    right: clamp(25px, 3.5vw, 45px);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .12em;
}

.btsb-sector-card__content {
    width: min(760px, 100%);
    padding: clamp(28px, 4.6vw, 58px);
}

.btsb-sector-card h3 {
    margin: 0 0 14px;
    color: #fff;
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif;
    font-size: clamp(30px, 3.7vw, 47px);
    font-weight: 500;
    line-height: 1;
}

.btsb-sector-card__content p {
    margin: 0;
    font-size: clamp(16px, 1.75vw, 19px);
    line-height: 1.52;
}

.btsb-sector-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 23px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,.72);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    text-decoration: none;
}

.btsb-sector-card__link:hover,
.btsb-sector-card__link:focus-visible {
    color: #fff;
    border-color: #fff;
}

.btsb-marquee {
    overflow: hidden;
    padding: 34px 0;
    background: var(--btsb-marquee-background);
}

.btsb-marquee__title,
.btsb-areas__title {
    width: min(100% - 64px, 1240px);
    margin: 0 auto 20px;
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif;
    font-weight: 500;
    line-height: 1.18;
}

.btsb-marquee__title {
    color: var(--btsb-marquee-title-color, #1d1d1b);
    font-size: clamp(23px, 2.4vw, var(--btsb-marquee-title-size, 34px));
}

.btsb-areas__title {
    color: #1d1d1b;
    font-size: clamp(23px, 2.4vw, 32px);
}

.btsb-areas__title {
    color: var(--btsb-areas-title);
}

.btsb-marquee__track {
    overflow: hidden;
    white-space: nowrap;
}

.btsb-marquee__track > div {
    display: inline-flex;
    width: max-content;
    animation: btsb-marquee var(--btsb-marquee-speed) linear infinite;
}

.btsb-marquee__track span {
    display: inline-flex;
    align-items: center;
    margin-right: 24px;
    color: var(--btsb-marquee-text);
    font-size: clamp(17px, 1.9vw, 23px);
    font-weight: 500;
}

.btsb-marquee__track span::after {
    width: 7px;
    height: 7px;
    margin-left: 24px;
    border-radius: 50%;
    background: var(--btsb-marquee-separator);
    content: "";
}

.btsb-marquee:hover .btsb-marquee__track > div {
    animation-play-state: paused;
}

/* Healthcare: title on the soft sector background; only the scrolling words sit in the white band. */
.btsb-marquee--healthcare {
    padding: clamp(28px, 3vw, 42px) 0 clamp(50px, 6vw, 76px);
    background: linear-gradient(145deg, #eef6fb 0%, #f6f8f3 100%);
}

.btsb-marquee--healthcare .btsb-marquee__title {
    width: min(calc(100% - 64px), 1160px);
    margin: 0 auto clamp(22px, 2.5vw, 30px);
    color: var(--btsb-marquee-title-color, #1d1d1b);
    font-size: clamp(27px, 2.6vw, var(--btsb-marquee-title-size, 34px));
    font-weight: 500;
    line-height: 1.18;
}

.btsb-marquee--healthcare .btsb-marquee__track {
    padding: 18px 0;
    border-top: 1px solid rgba(33, 116, 183, .24);
    border-bottom: 1px solid rgba(33, 116, 183, .24);
    background: #fff;
}

.btsb-marquee--healthcare .btsb-marquee__track span {
    margin-right: 24px;
    font-size: clamp(15px, 1.25vw, 18px);
    font-weight: 500;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.btsb-marquee--healthcare .btsb-marquee__track span::after {
    width: 8px;
    height: 8px;
    margin-left: 24px;
    background: var(--btsb-healthcare-separator, #ac1f53) !important;
}

@keyframes btsb-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.btsb-areas {
    padding: 38px clamp(24px, 5vw, 72px);
    background: var(--btsb-areas-background);
    color: var(--btsb-areas-text);
}

.btsb-areas__title {
    width: min(100%, 1240px);
}

.btsb-areas__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: min(100%, 1240px);
    margin: 0 auto 22px;
}

.btsb-areas__tab {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 15px;
    border: 1px solid color-mix(in srgb, var(--btsb-areas-accent) 22%, transparent);
    border-radius: 999px;
    background: var(--btsb-areas-tab-background);
    color: var(--btsb-areas-tab-text);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.btsb-areas__tab:hover,
.btsb-areas__tab:focus-visible,
.btsb-areas__tab[aria-selected="true"] {
    border-color: var(--btsb-areas-accent);
    background: var(--btsb-areas-accent);
    color: var(--btsb-areas-active-tab-text);
}

.btsb-areas__tab:hover { transform: translateY(-1px); }

.btsb-areas__tab-number { opacity: .7; font-size: 11px; }

.btsb-areas__panels { width: min(100%, 1240px); margin: 0 auto; }

.btsb-area {
    padding: clamp(28px, 4vw, 46px);
    border-radius: 18px;
    background: var(--btsb-areas-card);
    box-shadow: 0 14px 38px rgba(22, 53, 82, .10);
}

.btsb-area[hidden] { display: none; }

.btsb-area__kicker {
    margin: 0 0 10px;
    color: var(--btsb-areas-card-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.btsb-area h4 {
    margin: 0 0 12px;
    color: var(--btsb-areas-panel-title);
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif;
    font-size: clamp(28px, 3.5vw, 43px);
    font-weight: 500;
    line-height: 1.04;
}

.btsb-area__topics {
    margin: 0;
    color: var(--btsb-areas-panel-text);
    font-size: 17px;
    line-height: 1.65;
}

.btsb-area__example {
    margin-top: 25px;
    padding: 18px 20px;
    border-left: 4px solid var(--btsb-areas-card-accent);
    background: #f5f7fb;
    color: #53677c;
    line-height: 1.65;
}

.btsb-area__example-area-title {
    display: block;
    margin-bottom: 6px;
    color: var(--btsb-areas-accent);
}

.btsb-area__example-area-title--uppercase { text-transform: uppercase; }

.btsb-area__example-title {
    color: #263746;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 8px;
}

/* Compatibility with existing pages where the case title was written in the editor. */
.btsb-area__example p strong {
    color: #263746;
    font-weight: 700;
}

.btsb-area__example p:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
    .btsb-sector-cards { padding: 46px 20px; }
    .btsb-sector-cards__list { grid-template-columns: 1fr; }
    .btsb-sector-card { min-height: 430px; }
    .btsb-sector-card__content { padding: 28px; }
    .btsb-marquee { padding: 28px 0; }
    .btsb-marquee__title { width: calc(100% - 48px); }
    .btsb-marquee__track span { margin-right: 16px; }
    .btsb-marquee__track span::after { margin-left: 16px; }
    .btsb-areas { padding: 30px 24px; }
    .btsb-areas__tab { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .btsb-marquee__track > div { animation: none; }
}

/* Editorial sector layout: matches the structure used on the original Sectors page. */
.btsb-sector-cards {
    padding: 0 0 clamp(90px, 10vw, 160px);
}

.btsb-sector-cards__inner {
    width: 100%;
}

.btsb-sector-cards__header {
    width: min(calc(100% - 72px), 1440px);
    max-width: none;
    margin: 0 auto;
    padding: clamp(78px, 8vw, 92px) 0 clamp(56px, 6vw, 72px);
}

.btsb-sector-cards__kicker {
    margin-bottom: 12px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
}

.btsb-sector-cards h2 {
    max-width: 820px;
    margin: 0 auto;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1.03;
}

.btsb-sector-cards__intro {
    max-width: 720px;
    margin: 22px auto 0;
    color: #5d6f83;
    font-size: clamp(18px, 1.8vw, 24px);
    line-height: 1.6;
}

.btsb-sector-cards__list {
    width: min(calc(100% - 72px), 1440px);
    margin: 0 auto;
    gap: 18px;
}

.btsb-sector-card {
    min-height: clamp(430px, 38vw, 600px);
    border-radius: 30px;
    box-shadow: 0 24px 60px rgba(20, 46, 75, .14);
    transition: transform .35s ease, box-shadow .35s ease;
}

.btsb-sector-card__image { z-index: 0; }
.btsb-sector-card__overlay { z-index: 1; }

.btsb-sector-card::after {
    position: absolute;
    inset: 18px;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 22px;
    content: "";
    pointer-events: none;
}

.btsb-sector-card:hover,
.btsb-sector-card:focus-within {
    transform: translateY(-8px);
    box-shadow: 0 32px 76px rgba(20, 46, 75, .23);
}

.btsb-sector-card__number {
    top: 36px;
    right: 38px;
    z-index: 3;
    font-size: 13px;
    letter-spacing: .16em;
}

.btsb-sector-card__content {
    z-index: 3;
    padding: clamp(25px, 3.5vw, 50px);
}

.btsb-sector-card h3 {
    margin-bottom: 15px;
    font-size: clamp(24px, 2.2vw, 31px);
    line-height: 1.08;
}

.btsb-sector-card__content p {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.55;
    opacity: .86;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.btsb-sector-card__link {
    margin-top: 0;
    padding-bottom: 7px;
    border-bottom-color: rgba(255, 255, 255, .55);
    font-size: 13px;
    letter-spacing: .06em;
}

.btsb-sector-lead {
    padding: clamp(80px, 10vw, 150px) max(18px, calc((100vw - 1160px) / 2)) 0;
}

.btsb-sector-lead--healthcare {
    padding-bottom: clamp(52px, 5vw, 64px);
    background: linear-gradient(145deg, #eef6fb 0%, #f6f8f3 100%);
}
.btsb-sector-lead--consumer {
    padding-bottom: clamp(74px, 9vw, 128px);
    background: linear-gradient(120deg, #ffffff 0%, #f4f5f6 100%);
}
.btsb-sector-lead--b2b { background: #2174b7; }

.btsb-sector-lead__inner {
    display: grid;
    width: min(100%, 1160px);
    margin: 0 auto;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    align-items: center;
    gap: clamp(40px, 7vw, 110px);
}

.btsb-sector-lead--image-right .btsb-sector-lead__media { order: 2; }
.btsb-sector-lead--image-right .btsb-sector-lead__copy { order: 1; }

.btsb-sector-lead__media {
    position: relative;
    min-height: clamp(420px, 43vw, 650px);
}

.btsb-sector-lead--healthcare .btsb-sector-lead__media { z-index: 1; }

.btsb-sector-lead__media > img:first-child {
    width: 100%;
    height: 100%;
    min-height: inherit;
    border-radius: 34px;
    object-fit: cover;
    box-shadow: 0 28px 70px rgba(18, 48, 76, .16);
}

.btsb-sector-lead__accent {
    position: absolute;
    right: -42px;
    bottom: -52px;
    width: clamp(180px, 19vw, 300px);
    aspect-ratio: 1;
    border: 10px solid rgba(255, 255, 255, .94);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 20px 50px rgba(18, 48, 76, .16);
    z-index: 2;
}

.btsb-sector-lead__eyebrow {
    margin: 0 0 13px;
    color: var(--btsb-lead-eyebrow, #ac1f53);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.btsb-sector-lead__copy h2 {
    margin: 0 0 27px;
    color: var(--btsb-lead-title, #1d1d1b);
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1.03;
}

.btsb-sector-lead__copy > p:last-child {
    margin: 0;
    color: var(--btsb-lead-text, #53677c);
    font-size: clamp(18px, 1.65vw, 23px);
    line-height: 1.65;
}

.btsb-sector-lead--b2b .btsb-sector-lead__eyebrow { color: var(--btsb-lead-eyebrow, #ebb15b); }
.btsb-sector-lead--b2b .btsb-sector-lead__copy h2 { color: var(--btsb-lead-title, #fff); }
.btsb-sector-lead--b2b .btsb-sector-lead__copy > p:last-child { color: var(--btsb-lead-text, #fff); }
.btsb-sector-lead--b2b .btsb-sector-lead__copy > p:last-child { opacity: .82; }

.btsb-areas__body {
    width: min(100%, 1240px);
    margin: 0 auto;
}

.btsb-areas__body > .btsb-areas__nav,
.btsb-areas__body > .btsb-areas__panels {
    width: 100%;
}

.btsb-areas--split {
    padding: clamp(56px, 7vw, 96px) max(18px, calc((100vw - 1160px) / 2)) clamp(80px, 10vw, 150px);
}

/* These themes make the second, editable explorer continue the same sector language. */
.btsb-areas--theme-healthcare { background: linear-gradient(145deg, #f6f8f3 0%, #fff9ef 100%); }
.btsb-areas--theme-consumer { background: #fff; }
.btsb-areas--theme-b2b { background: #2174b7; }

.btsb-areas--theme-b2b .btsb-areas__title { color: #fff; }
.btsb-areas--theme-b2b .btsb-area { border-color: rgba(255, 255, 255, .2); }

.btsb-areas--split .btsb-areas__title {
    width: min(100%, 1160px);
    margin: 0 auto 30px;
}

.btsb-areas--split .btsb-areas__body {
    display: grid;
    width: min(100%, 1160px);
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: clamp(26px, 5vw, 72px);
}

.btsb-areas--split .btsb-areas__nav {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin: 0;
}

.btsb-areas--split .btsb-areas__tab {
    display: grid;
    width: 100%;
    min-height: 0;
    grid-template-columns: 38px 1fr;
    align-items: center;
    padding: 17px 18px;
    border: 0;
    border-radius: 15px;
    background: color-mix(in srgb, var(--btsb-areas-tab-background) 58%, transparent);
    color: var(--btsb-areas-tab-text);
    font-family: "Roboto Condensed", Roboto, Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
    transition: background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.btsb-areas--split .btsb-areas__tab:hover,
.btsb-areas--split .btsb-areas__tab:focus-visible,
.btsb-areas--split .btsb-areas__tab[aria-selected="true"] {
    border-color: transparent;
    background: var(--btsb-areas-accent);
    color: var(--btsb-areas-active-tab-text);
    box-shadow: 0 13px 30px rgba(33, 116, 183, .22);
    transform: translateX(6px);
}

.btsb-areas--split .btsb-areas__tab-number {
    font-size: 10px;
    letter-spacing: .12em;
    opacity: .58;
}

.btsb-areas--split .btsb-areas__panels { margin: 0; }

.btsb-areas--split .btsb-area {
    min-height: 100%;
    padding: clamp(32px, 5vw, 70px);
    border: 1px solid rgba(33, 116, 183, .13);
    border-radius: 30px;
    background: color-mix(in srgb, var(--btsb-areas-card) 90%, transparent);
    box-shadow: 0 25px 70px rgba(21, 55, 87, .1);
}

.btsb-areas--split .btsb-area h4 {
    margin-bottom: 22px;
    font-size: clamp(30px, 3.2vw, 44px);
    letter-spacing: -.045em;
    line-height: 1;
}

.btsb-areas--split .btsb-area__topics {
    margin-bottom: 30px;
    font-size: clamp(17px, 1.45vw, 21px);
    line-height: 1.6;
}

.btsb-areas--split .btsb-area__example {
    padding: 24px 27px;
    border-radius: 0 17px 17px 0;
}

.btsb-areas--blue .btsb-areas__tab {
    background: color-mix(in srgb, var(--btsb-areas-tab-background) 8%, transparent);
    color: var(--btsb-areas-tab-text);
}

.btsb-areas--blue .btsb-areas__tab:hover,
.btsb-areas--blue .btsb-areas__tab:focus-visible,
.btsb-areas--blue .btsb-areas__tab[aria-selected="true"] {
    background: var(--btsb-areas-accent);
}

/* Apply this class to one WPBakery row when a Healthcare lead, marquee and
   explorer must read as one continuous sector section. */
.bt-sector-healthcare {
    overflow: visible;
    background: linear-gradient(145deg, #eef6fb 0%, #f6f8f3 100%);
}

.bt-sector-healthcare .btsb-sector-lead--healthcare,
.bt-sector-healthcare .btsb-marquee--healthcare,
.bt-sector-healthcare .btsb-areas--theme-healthcare {
    background: transparent;
}

.bt-sector-healthcare .btsb-sector-lead,
.bt-sector-healthcare .btsb-areas--split {
    padding-left: 0;
    padding-right: 0;
}

.bt-sector-healthcare .btsb-sector-lead__inner,
.bt-sector-healthcare .btsb-marquee--healthcare .btsb-marquee__title,
.bt-sector-healthcare .btsb-areas--split .btsb-areas__title,
.bt-sector-healthcare .btsb-areas--split .btsb-areas__body {
    width: min(calc(100% - 72px), 1440px);
}

/* One row can hold the editable Consumer introduction and its follow-up areas
   while keeping the same open editorial grid as the original page. */
.bt-sector-consumer {
    overflow: visible;
    background: linear-gradient(120deg, #ffffff 0%, #f4f5f6 100%);
}

.bt-sector-consumer .btsb-sector-lead--consumer,
.bt-sector-consumer .btsb-areas--theme-consumer {
    background: transparent;
}

.bt-sector-consumer .btsb-sector-lead,
.bt-sector-consumer .btsb-areas--split {
    padding-left: 0;
    padding-right: 0;
}

.bt-sector-consumer .btsb-sector-lead__inner,
.bt-sector-consumer .btsb-areas--split .btsb-areas__title,
.bt-sector-consumer .btsb-areas--split .btsb-areas__body {
    width: min(calc(100% - 72px), 1440px);
}

/* Backend editor: make the project-card container controls unmistakable.
   This is loaded only with this plugin and does not affect the public page. */
.wp-admin .wpb_bt_sector_areas > .vc_controls {
    visibility: visible !important;
    opacity: 1 !important;
}

.wp-admin .wpb_bt_sector_areas .vc_container_for_children {
    min-height: 44px;
    margin-top: 10px;
}

@media (max-width: 950px) {
    .btsb-sector-cards__header,
    .btsb-sector-cards__list { width: min(calc(100% - 48px), 720px); }
    .btsb-sector-cards__list { grid-template-columns: 1fr; }
    .btsb-sector-card { min-height: 380px; }
    .btsb-sector-lead__inner { grid-template-columns: 1fr; }
    .btsb-sector-lead--image-right .btsb-sector-lead__media,
    .btsb-sector-lead--image-right .btsb-sector-lead__copy { order: initial; }
    .btsb-areas--split .btsb-areas__body { grid-template-columns: 1fr; }
    .btsb-areas--split .btsb-areas__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .btsb-areas--split .btsb-areas__tab:hover,
    .btsb-areas--split .btsb-areas__tab:focus-visible,
    .btsb-areas--split .btsb-areas__tab[aria-selected="true"] { transform: translateY(-3px); }
}

@media (max-width: 600px) {
    .btsb-sector-cards { padding-bottom: 70px; }
    .btsb-sector-cards__header,
    .btsb-sector-cards__list { width: calc(100% - 28px); }
    .btsb-sector-cards__header { padding: 58px 0 48px; }
    .btsb-sector-card { min-height: 330px; border-radius: 24px; }
    .btsb-sector-card__content p { -webkit-line-clamp: 3; }
    .btsb-sector-lead { padding: 70px 18px 0; }
    .btsb-sector-lead__media { min-height: 340px; }
    .btsb-sector-lead__media > img:first-child { border-radius: 25px; }
    .btsb-sector-lead__accent { right: -12px; bottom: -25px; width: 150px; border-width: 7px; }
    .btsb-areas--split { padding: 56px 18px 70px; }
    .btsb-areas--split .btsb-area { min-height: 0; padding: 28px 23px; border-radius: 23px; }
    .btsb-areas--split .btsb-areas__nav { grid-template-columns: 1fr; }
}
