/*
 * Executive design bridge
 * -----------------------
 * Internal routes retain their functional Bootstrap/commerce rules, while
 * this final layer makes the homepage design system authoritative everywhere.
 */

body.executive-inner {
    --br-ink: var(--ink);
    --br-ink-soft: var(--muted);
    --br-paper: var(--paper-2);
    --br-white: var(--paper);
    --br-blue: var(--brand);
    --br-cyan: var(--brand-soft);
    --br-violet: #b97900;
    --br-line: var(--line);
    --br-radius: 0;
    --br-shadow: 0 22px 54px rgba(27, 28, 29, .1);
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
}

body.executive-inner #main-content {
    min-height: 52vh;
    background: var(--paper);
}

body.executive-inner .journey-dock,
body.executive-inner .floating-advisor {
    display: none;
}

body.executive-inner .container {
    width: min(calc(100% - 46px), var(--max));
    max-width: var(--max);
    margin-inline: auto;
    padding-inline: 0;
}

body.executive-inner h1,
body.executive-inner h2,
body.executive-inner h3,
body.executive-inner h4,
body.executive-inner h5,
body.executive-inner h6 {
    color: var(--ink);
    font-family: var(--serif);
    font-weight: 400;
    letter-spacing: -.035em;
}

body.executive-inner p,
body.executive-inner li {
    color: var(--muted);
}

body.executive-inner a {
    color: inherit;
}

/* Breadcrumbs become a quiet executive context bar instead of a storefront strip. */
body.executive-inner .ec-breadcrumb {
    margin: 0;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
    background: var(--paper-2);
}

body.executive-inner .ec_breadcrumb_inner {
    align-items: center;
}

body.executive-inner .ec-breadcrumb-title {
    margin: 0;
    color: var(--ink);
    font-family: var(--serif);
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 400;
}

body.executive-inner .ec-breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 16px;
    margin: 0;
    color: var(--muted);
    font-size: 11px;
}

body.executive-inner .ec-breadcrumb-item + .ec-breadcrumb-item::before {
    color: #a3a09a;
}

/* Pages and services use the same editorial hero language as the homepage. */
body.executive-inner .br-page-hero,
body.executive-inner .br-services-hero,
body.executive-inner .br-service-detail__hero {
    position: relative;
    overflow: hidden;
    padding: clamp(72px, 9vw, 128px) 0 clamp(58px, 7vw, 92px);
    border-bottom: 1px solid var(--line);
    background:
        radial-gradient(circle at 82% 24%, rgba(255, 171, 10, .22), transparent 23rem),
        var(--paper-2);
    color: var(--ink);
}

body.executive-inner .br-page-hero::after,
body.executive-inner .br-services-hero::after,
body.executive-inner .br-service-detail__hero::after {
    content: "";
    position: absolute;
    width: min(42vw, 560px);
    aspect-ratio: 1;
    inset-inline-end: -13%;
    inset-block-start: -62%;
    border: 1px solid rgba(27, 28, 29, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 52px rgba(255, 171, 10, .035), 0 0 0 104px rgba(27, 28, 29, .025);
}

body.executive-inner .br-page-hero__inner,
body.executive-inner .br-services-hero__inner,
body.executive-inner .br-service-detail__hero .container {
    position: relative;
    z-index: 1;
    max-width: 980px;
}

body.executive-inner .br-kicker,
body.executive-inner .br-service-detail__hero .br-kicker {
    color: #9b6200;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
}

body.executive-inner .br-kicker::before {
    background: var(--brand);
}

body.executive-inner .br-page-hero h1,
body.executive-inner .br-services-hero h1,
body.executive-inner .br-service-detail__hero h1 {
    max-width: 980px;
    margin: 20px 0 22px;
    color: var(--ink);
    font-family: var(--serif);
    font-size: clamp(52px, 7vw, 92px);
    font-weight: 400;
    line-height: .94;
    letter-spacing: -.055em;
}

body.executive-inner .br-page-hero p,
body.executive-inner .br-services-hero p,
body.executive-inner .br-service-detail__hero p {
    max-width: 760px;
    color: #5f6062;
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.7;
}

body.executive-inner .br-page-content,
body.executive-inner .br-services-list,
body.executive-inner .br-service-detail__body {
    padding: clamp(58px, 8vw, 104px) 0;
}

/* Store landing pages need the same clear editorial hierarchy as service pages. */
body.executive-inner .shop-page-intro {
    margin-bottom: clamp(32px, 5vw, 64px);
    padding: clamp(48px, 7vw, 88px) 0 clamp(34px, 5vw, 58px);
    border-bottom: 1px solid var(--line);
}

body.executive-inner .shop-page-eyebrow {
    margin: 0 0 16px;
    color: #9b6200;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.executive-inner .shop-page-intro h1 {
    max-width: 980px;
    margin: 0 0 18px;
    font-size: clamp(46px, 6.5vw, 84px);
    line-height: .98;
    letter-spacing: -.055em;
}

body.executive-inner .shop-page-intro > p:last-child {
    max-width: 790px;
    margin: 0;
    color: #5f6062;
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.7;
}

body.executive-inner .blog-page-intro {
    margin-bottom: clamp(36px, 6vw, 72px);
    padding: clamp(52px, 8vw, 96px) 0 clamp(36px, 5vw, 60px);
    border-bottom: 1px solid var(--line);
}

body.executive-inner .blog-page-eyebrow {
    margin: 0 0 16px;
    color: #9b6200;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.executive-inner .blog-page-intro h1 {
    margin: 0 0 18px;
    font-size: clamp(48px, 7vw, 88px);
    line-height: .96;
    letter-spacing: -.055em;
}

body.executive-inner .blog-page-intro > p:last-child {
    max-width: 790px;
    margin: 0;
    color: #5f6062;
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.7;
}

body.executive-inner .br-page-content__inner,
body.executive-inner .br-service-detail__content {
    max-width: 980px;
}

body.executive-inner .br-page-content__inner h2,
body.executive-inner .br-service-detail__content h2 {
    margin: 1.6em 0 .55em;
    font-size: clamp(36px, 4vw, 54px);
}

body.executive-inner .br-page-content__inner h3,
body.executive-inner .br-service-detail__content h3 {
    margin: 1.45em 0 .5em;
    font-size: clamp(27px, 3vw, 38px);
}

body.executive-inner .br-page-content__inner p,
body.executive-inner .br-page-content__inner li,
body.executive-inner .br-service-detail__content p,
body.executive-inner .br-service-detail__content li {
    color: #5f6062;
    font-size: 17px;
    line-height: 1.82;
}

body.executive-inner .br-page-content__inner a,
body.executive-inner .br-service-detail__content a {
    color: #8a610d;
    text-decoration-color: var(--brand);
}

/* Cards follow the square, ruled, outcome-led homepage components. */
body.executive-inner .br-service-grid {
    gap: 12px;
}

body.executive-inner .br-service-card {
    min-height: 290px;
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

body.executive-inner .br-service-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 171, 10, .8);
    box-shadow: var(--br-shadow);
}

body.executive-inner .br-service-card__icon {
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--brand-pale);
    color: #8a610d;
}

body.executive-inner .br-service-card h2,
body.executive-inner .br-service-card h3 {
    margin: 42px 0 12px;
    font-size: 28px;
}

body.executive-inner .br-service-card__arrow {
    color: #8a610d;
}

body.executive-inner .br-service-detail__cta {
    border: 1px solid var(--line);
    border-radius: 0;
    background: var(--paper-2);
}

body.executive-inner .br-button {
    min-height: 48px;
    padding: 0 19px;
    border: 1px solid var(--brand);
    border-radius: 0;
    background: var(--brand);
    color: var(--ink) !important;
    box-shadow: none;
    font-size: 12px;
    font-weight: 850;
}

/* Blog and generic cards inherit the homepage paper, line and typography. */
body.executive-inner .blog-modern-layout,
body.executive-inner .sb-blog-page {
    padding: clamp(58px, 7vw, 96px) 0;
    background: var(--paper);
}

body.executive-inner .modern-blog-card,
body.executive-inner .sb-blog-card,
body.executive-inner .singlepost,
body.executive-inner .card {
    border-color: var(--line);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

body.executive-inner .modern-blog-card:hover,
body.executive-inner .sb-blog-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 171, 10, .72);
    box-shadow: var(--br-shadow);
}

body.executive-inner .post-title,
body.executive-inner .singlepost h1 {
    font-family: var(--serif);
    font-weight: 400;
}

body.executive-inner .category-badge,
body.executive-inner .badge-primary,
body.executive-inner .bg-primary {
    background: var(--brand) !important;
    color: var(--ink) !important;
}

/* Keep functional controls recognizable while sharing executive geometry. */
body.executive-inner .form-control,
body.executive-inner .form-select,
body.executive-inner select,
body.executive-inner textarea {
    border-color: var(--line);
    border-radius: 0;
    background-color: #fff;
    color: var(--ink);
}

body.executive-inner .form-control:focus,
body.executive-inner .form-select:focus,
body.executive-inner select:focus,
body.executive-inner textarea:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(255, 171, 10, .16);
}

body.executive-inner .btn-primary,
body.executive-inner button.btn-primary,
body.executive-inner input.btn-primary {
    border-color: var(--brand);
    background: var(--brand);
    color: var(--ink);
}

body.executive-inner .pagination .page-link,
body.executive-inner .pagination a {
    border-color: var(--line);
    border-radius: 0 !important;
    color: var(--ink);
}

body.executive-inner .pagination .active .page-link,
body.executive-inner .pagination .active a {
    border-color: var(--brand);
    background: var(--brand);
    color: var(--ink);
}

/* Account workspaces keep their information architecture but use brand color. */
body.executive-inner .hero-account,
body.executive-inner .ha-security-shell,
body.executive-inner .ha-page,
body.executive-inner .ha-auth-page {
    --ha-primary: var(--brand);
    --ha-primary-dark: var(--brand-soft);
    --ha-primary-soft: var(--brand-pale);
    --ha-ink: var(--ink);
    --ha-muted: var(--muted);
    --ha-line: var(--line);
    --ha-bg: var(--paper);
}

body.executive-inner .hero-account .ha-hero,
body.executive-inner .ha-security-hero {
    border-radius: 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(255, 171, 10, .25), transparent 21rem),
        var(--ink);
}

body.executive-inner .ha-security-hero h1 { color: #fff; }
body.executive-inner .ha-security-hero p { color: #dedbd4; }

[dir="rtl"] body.executive-inner h1,
[dir="rtl"] body.executive-inner h2,
[dir="rtl"] body.executive-inner h3 {
    letter-spacing: 0;
}

@media (max-width: 760px) {
    body.executive-inner .container {
        width: min(calc(100% - 26px), var(--max));
    }

    body.executive-inner .ec-breadcrumb-list {
        justify-content: flex-start;
        margin-top: 8px;
    }

    body.executive-inner .br-page-hero,
    body.executive-inner .br-services-hero,
    body.executive-inner .br-service-detail__hero {
        padding: 64px 0 52px;
    }

    body.executive-inner .br-page-hero h1,
    body.executive-inner .br-services-hero h1,
    body.executive-inner .br-service-detail__hero h1 {
        font-size: 52px;
    }
}
