/* ScottB.ca foundation components */
.scottb-breadcrumbs {
    margin: 0;
    padding: 0 0 12px;
}
.scottb-breadcrumbs .breadcrumb {
    margin: 0;
    padding: 0;
    background: transparent;
    font-size: 0.9rem;
}
.scottb-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
    content: "/";
}
@media (max-width: 767px) {
    .scottb-breadcrumbs {
        padding-bottom: 8px;
    }
    .scottb-breadcrumbs .breadcrumb {
        font-size: 0.82rem;
    }
}


/* Navigation foundation: outcome-oriented primary paths */
.header-area .main-nav .nav-parent {
    position: relative;
}

.header-area .main-nav .nav-parent > .nav-toggle {
    display: none;
}

.header-area .main-nav .nav-submenu {
    display: none;
    position: absolute;
    top: 40px;
    left: 0;
    min-width: 245px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #eeedec;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    z-index: 1000;
}

.header-area .main-nav .nav-parent:hover > .nav-submenu,
.header-area .main-nav .nav-parent:focus-within > .nav-submenu {
    display: block;
}

.header-area .main-nav .nav-submenu li {
    width: 100%;
    padding: 0;
    margin: 0;
}

.header-area .main-nav .nav-submenu li a {
    height: auto;
    min-height: 40px;
    line-height: 1.35;
    padding: 10px 16px;
    text-transform: none;
    letter-spacing: 0.2px;
    white-space: normal;
}

.header-area .main-nav .nav-submenu li a:hover {
    background: #f18523;
    color: #fff;
}

@media (max-width: 991px) {
    .header-area .main-nav .nav-parent {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }

    .header-area .main-nav .nav-parent > a {
        width: calc(100% - 48px);
        text-align: left;
    }

    .header-area .main-nav .nav-parent > .nav-toggle {
        display: block;
        width: 48px;
        border: 0;
        border-left: 1px solid #ddd;
        background: #eeedec;
        color: #03697f;
        font-size: 20px;
        cursor: pointer;
    }

    .header-area .main-nav .nav-parent > .nav-toggle[aria-expanded="true"] {
        background: #f18523;
        color: #fff;
    }

    .header-area .main-nav .nav-parent > .nav-submenu {
        position: static;
        width: 100%;
        min-width: 0;
        padding: 0;
        box-shadow: none;
        background: #e6e5e4;
    }

    .header-area .main-nav .nav-parent.is-open > .nav-submenu {
        display: block;
    }

    .header-area .main-nav .nav-submenu li a {
        padding: 11px 24px 11px 28px;
        background: #e6e5e4;
        color: #03697f;
        font-size: 12px;
    }

    .header-area .main-nav .nav-submenu li a:hover {
        background: #f18523;
        color: #fff;
    }
}


/* Navigation 0.2B: mobile submenu state and accessibility */
.header-area .main-nav .nav-toggle {
    font-family: inherit;
    line-height: 1;
}
.header-area .main-nav .nav-toggle:focus {
    outline: 2px solid #03697f;
    outline-offset: -2px;
}
@media (max-width: 991px) {
    .header-area .main-nav .nav-parent:not(.is-open) > .nav-submenu {
        display: none !important;
    }
    .header-area .main-nav .nav-parent.is-open > .nav-submenu {
        display: block !important;
    }
}


/* Information architecture 0.2C: hierarchical breadcrumbs */
.scottb-breadcrumbs .breadcrumb-item a {
    color: #03697f;
    text-decoration: none;
}
.scottb-breadcrumbs .breadcrumb-item a:hover,
.scottb-breadcrumbs .breadcrumb-item a:focus {
    text-decoration: underline;
}
.scottb-breadcrumbs .breadcrumb-item.active {
    color: #555;
}


/* Contextual navigation / cross-audience bridge */
.scottb-context {
    margin: 3rem 0 0;
    padding: 1rem 0 2.5rem;
}
.scottb-context-inner {
    max-width: 980px;
    margin: 0 auto;
}
.scottb-context-box {
    position: relative;
    padding: 2rem 2.25rem;
    background: #f5f4f3;
    border: 1px solid rgba(3,105,127,.14);
    border-left: 4px solid #03697f;
    border-radius: 3px;
    box-shadow: 0 4px 18px rgba(0,0,0,.035);
}
.scottb-context-kicker {
    display: block;
    margin-bottom: .5rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .72;
}
.scottb-context h2 {
    margin: 0 0 .8rem;
}
.scottb-context p {
    max-width: 850px;
    margin-bottom: 1.25rem;
}
.scottb-context-links {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
}
.scottb-context-link {
    font-weight: 600;
}
@media (max-width: 767px) {
    .scottb-context {
        padding: .75rem 0 2rem;
    }
    .scottb-context-box {
        padding: 1.5rem 1.25rem;
    }
    .scottb-context-links {
        flex-direction: column;
        gap: .65rem;
    }
}


/* Semantic page context marker: machine-readable metadata without visual impact. */
.scottb-page-context { display: none; }

/* Related-topic navigation: lightweight internal-link layer */
.scottb-related-topics { margin: 2rem 0 0; }
.scottb-related-topics__inner {
    padding: 1.35rem 1.5rem;
    border-top: 1px solid rgba(3,105,127,.18);
    border-bottom: 1px solid rgba(3,105,127,.18);
}
.scottb-related-topics__label {
    margin: 0 0 .25rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .72;
}
.scottb-related-topics h2 { margin: 0 0 .9rem; font-size: 1.25rem; }
.scottb-related-topics__links {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.25rem;
}
.scottb-related-topics__links a { font-weight: 600; }
@media (max-width: 575px) {
    .scottb-related-topics__inner { padding: 1.1rem 1rem; }
    .scottb-related-topics__links { display: grid; gap: .65rem; }
}

/* Technology Library introduction */
.scottb-library-intro {
    max-width: 850px;
    margin: 0 auto 2rem;
    padding: 1.5rem 0 .5rem;
}
.scottb-library-intro h1 {
    margin-top: .2rem;
}
.scottb-library-intro p {
    max-width: 760px;
    line-height: 1.7;
}

/* Canonical page back navigation */
.scottb-back {
    margin: 0 0 1.25rem;
}
.scottb-back__button {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border: 0;
    border-radius: 3px;
    padding: .65rem 1rem;
    background: #f18523;
    color: #fff;
    font: inherit;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}
.scottb-back__button:hover,
.scottb-back__button:focus-visible {
    background: #00a3c5;
    color: #fff;
}
.scottb-back__button:focus-visible {
    outline: 2px solid #003b4a;
    outline-offset: 2px;
}
.scottb-back__button span {
    font-size: 1.05em;
}
@media (max-width: 575px) {
    .scottb-back__button {
        padding: .6rem .9rem;
    }
}

/* Technology Reference Library topic navigation */
.scottb-library-topics {
    margin: 1rem 0 2.5rem;
    padding: 1.5rem;
    background: rgba(255,255,255,.55);
    border: 1px solid rgba(3,105,127,.14);
}
.scottb-library-topics h2,
.scottb-library-posts h2 {
    margin: 0 0 1.15rem;
    font-size: 1.45rem;
}
.scottb-library-topic-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
}
.scottb-library-topic-grid a {
    display: block;
    padding: .85rem 1rem;
    border-left: 3px solid #00a3c5;
    background: rgba(255,255,255,.72);
    font-weight: 600;
    transition: transform .15s ease, box-shadow .15s ease;
}
.scottb-library-topic-grid a:hover,
.scottb-library-topic-grid a:focus {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.scottb-library-posts {
    margin-top: 2rem;
}
@media (max-width: 991px) {
    .scottb-library-topic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575px) {
    .scottb-library-topics {
        padding: 1rem;
    }
    .scottb-library-topic-grid {
        grid-template-columns: 1fr;
    }
}

/* 0.3H - Technology Reference Library responsive presentation */
.scottb-library-topics,
.scottb-library-posts {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}
.scottb-library-topic-grid {
    align-items: stretch;
}
.scottb-library-topic-grid a {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.scottb-library-topic-grid a::after {
    content: "›";
    flex: 0 0 auto;
    font-size: 1.5rem;
    line-height: 1;
}
.scottb-library-posts .blog-item,
.scottb-library-posts article {
    max-width: 900px;
}
@media (max-width: 767px) {
    /* Prevent the theme's large global headings from overlapping this page. */
    .scottb-library-topics h2,
    .scottb-library-posts h2 {
        font-size: clamp(1.65rem, 6vw, 2.15rem);
        line-height: 1.16;
        word-break: normal;
        overflow-wrap: normal;
    }
    .scottb-library-topics {
        margin-top: .75rem;
        padding: 1rem;
    }
    .scottb-library-topic-grid {
        grid-template-columns: 1fr;
        gap: .55rem;
    }
    .scottb-library-topic-grid a {
        min-height: 72px;
        padding: .8rem .85rem;
        line-height: 1.25;
    }
    .scottb-library-posts {
        margin-top: 1.5rem;
    }
    .scottb-library-posts h2 {
        margin-bottom: .8rem;
    }
}
@media (min-width: 768px) {
    .scottb-library-topic-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* 0.3I - Page shell and responsive heading system */

/*
 * The legacy theme header is absolutely positioned. The page shell restores
 * normal document flow so breadcrumbs can never sit underneath the header.
 */
.scottb-page-shell {
    padding-top: 100px;
}

.scottb-page-shell .scottb-breadcrumbs {
    position: relative;
    z-index: 1;
    padding-top: 10px;
    padding-bottom: 12px;
}

/*
 * Use a predictable responsive type scale for content headings. This is
 * intentionally scoped to ScottB content so the original theme's hero
 * components can be modernized independently later.
 */
.scottb-content h1 {
    font-size: clamp(2.15rem, 4vw, 3.5rem);
    line-height: 1.12;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow-wrap: normal;
    word-break: normal;
}

.scottb-content h2 {
    font-size: clamp(1.65rem, 2.8vw, 2.45rem);
    line-height: 1.18;
    margin-top: 1.5rem;
    margin-bottom: .8rem;
}

.scottb-content h3 {
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.25;
}

.scottb-library-page h1 {
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
}

.scottb-library-page .scottb-library-intro {
    padding-top: .5rem;
}

/* Keep the library's section headings tighter than general content. */
.scottb-library-page .scottb-library-topics h2,
.scottb-library-page .scottb-library-posts h2 {
    margin-top: 0;
}

@media (max-width: 991px) {
    .scottb-page-shell {
        padding-top: 80px;
    }

    .scottb-page-shell .scottb-breadcrumbs {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .scottb-content h1 {
        font-size: clamp(2rem, 7vw, 2.75rem);
        line-height: 1.14;
    }

    .scottb-content h2 {
        font-size: clamp(1.5rem, 5.5vw, 2.1rem);
    }
}

@media (max-width: 575px) {
    .scottb-content h1 {
        font-size: clamp(1.85rem, 8vw, 2.35rem);
        line-height: 1.16;
    }

    .scottb-content h2 {
        font-size: clamp(1.4rem, 6.2vw, 1.85rem);
        line-height: 1.2;
    }

    .scottb-content h3 {
        font-size: 1.3rem;
    }
}

/* 0.3J - Scope the legacy sticky-header behavior to the site header only.
   Content headers (such as the Reference Library introduction) must remain
   in normal document flow. */
.scottb-library-intro.background-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    height: auto !important;
    box-shadow: none !important;
    z-index: auto !important;
}

/* 0.3K - Reference article and category presentation */
.scottb-blog-post,
.scottb-blog-category {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 15px 2rem;
}
.scottb-blog-post__header,
.scottb-blog-category__header {
    max-width: 900px;
    margin: 0 auto 2rem;
}
.scottb-blog-post__header h1,
.scottb-blog-category__header h1 {
    margin-top: 0;
    line-height: 1.12;
    text-wrap: balance;
}
.scottb-blog-post__date {
    margin: .5rem 0 1rem;
    font-size: .9rem;
    opacity: .7;
}
.scottb-blog-post__summary {
    font-size: 1.15rem;
    line-height: 1.65;
    max-width: 800px;
}
.scottb-blog-post__content,
.scottb-blog-category__posts {
    max-width: 900px;
    margin: 0 auto;
}
.scottb-blog-component {
    font-size: 1.05rem;
    line-height: 1.72;
}
.scottb-blog-component__image {
    margin: 0 0 1.5rem;
}
.scottb-blog-component__image img {
    width: 100%;
    height: auto;
    display: block;
}
.scottb-blog-component__categories {
    margin-bottom: 1.5rem;
    font-size: .9rem;
    font-weight: 600;
}
.scottb-blog-component__categories a {
    text-decoration: none;
}
.scottb-blog-component__body h2 {
    margin-top: 2rem;
    line-height: 1.2;
}
.scottb-blog-component__body h3 {
    margin-top: 1.5rem;
    line-height: 1.25;
}
.scottb-blog-component__body img {
    max-width: 100%;
    height: auto;
}
.scottb-blog-component__body table {
    width: 100%;
    margin: 1.5rem 0;
    border-collapse: collapse;
}
.scottb-blog-component__body th,
.scottb-blog-component__body td {
    padding: .65rem;
    border: 1px solid rgba(0,0,0,.12);
    vertical-align: top;
}
@media (max-width: 575px) {
    .scottb-blog-post,
    .scottb-blog-category {
        padding-left: 12px;
        padding-right: 12px;
    }
    .scottb-blog-component {
        font-size: 1rem;
        line-height: 1.65;
    }
}

/* 0.3L - Reference article metadata */
.scottb-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.5rem;
    margin-top: 1rem;
    padding: .8rem 0;
    border-top: 1px solid rgba(3,105,127,.14);
    border-bottom: 1px solid rgba(3,105,127,.14);
    font-size: .9rem;
}
.scottb-article-meta__item {
    display: flex;
    gap: .4rem;
    align-items: baseline;
}
.scottb-article-meta__label {
    font-weight: 700;
    opacity: .72;
}
@media (max-width: 575px) {
    .scottb-article-meta {
        display: grid;
        gap: .45rem;
    }
}

/* 0.3M - Article related guidance */
.scottb-article-related {
    max-width: 820px;
    margin: 2.25rem auto 0;
}
.scottb-article-related__inner {
    padding: 1.35rem 1.5rem;
    border: 1px solid rgba(3,105,127,.14);
    background: rgba(255,255,255,.55);
}
.scottb-article-related h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.35rem, 2.5vw, 1.8rem);
}
.scottb-article-related__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem .9rem;
}
.scottb-article-related__links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem .85rem;
    border-left: 3px solid #00a3c5;
    background: rgba(255,255,255,.72);
    font-weight: 600;
}
@media (max-width: 575px) {
    .scottb-article-related__links {
        grid-template-columns: 1fr;
    }
    .scottb-article-related__inner {
        padding: 1.1rem 1rem;
    }
}

/* 0.3O - Article related guidance cards */
.scottb-article-related {
    max-width: 900px;
    margin: 2.5rem auto 0;
}
.scottb-article-related__inner {
    padding: 1.5rem;
    border: 1px solid rgba(3,105,127,.14);
    background: rgba(255,255,255,.55);
}
.scottb-article-related h2 {
    margin: 0 0 1.15rem;
    font-size: clamp(1.35rem, 2.5vw, 1.8rem);
}
.scottb-article-related__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}
.scottb-article-related__card {
    display: flex;
    flex-direction: column;
    min-height: 165px;
    padding: 1rem;
    border-left: 3px solid #00a3c5;
    background: rgba(255,255,255,.78);
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease;
}
.scottb-article-related__card:hover,
.scottb-article-related__card:focus {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.scottb-article-related__card-title {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.25;
}
.scottb-article-related__card-text {
    margin-top: .55rem;
    line-height: 1.45;
    font-size: .92rem;
    opacity: .82;
}
.scottb-article-related__card-action {
    margin-top: auto;
    padding-top: .9rem;
    font-weight: 700;
}
.scottb-article-related__education {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(3,105,127,.12);
    font-size: .92rem;
}
.scottb-article-related__education a {
    font-weight: 700;
    white-space: nowrap;
}
@media (max-width: 767px) {
    .scottb-article-related__grid {
        grid-template-columns: 1fr;
    }
    .scottb-article-related__card {
        min-height: 0;
    }
    .scottb-article-related__education {
        display: grid;
        gap: .55rem;
    }
    .scottb-article-related__education a {
        white-space: normal;
    }
}

/* 0.3Q - Related article card refinements */
.scottb-article-related__card-text {
    max-width: 32ch;
}

/* 0.3R - Technology Reference category presentation */
.scottb-blog-category {
    max-width: 1100px;
    margin: 0 auto;
}
.scottb-blog-category__header {
    max-width: 900px;
    margin: 0 auto 2rem;
}
.scottb-blog-category__header h1 {
    margin-top: 0;
}
.scottb-blog-category__header p:not(.scottb-related-topics__label) {
    max-width: 760px;
    line-height: 1.65;
}
.scottb-blog-category__posts {
    margin-top: 1.5rem;
}
.scottb-blog-category__footer {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(3,105,127,.14);
}
.scottb-blog-category__footer a {
    font-weight: 700;
}

/* 0.3S - Reference Library guidance block */
.scottb-library-howto {
    max-width: 1120px;
    margin: 0 auto 2rem;
    padding: 1.15rem 1.35rem;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 1.5rem;
    align-items: center;
    border-left: 4px solid #00a3c5;
    background: rgba(255,255,255,.55);
}
.scottb-library-howto h2 {
    margin: 0;
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
    line-height: 1.2;
}
.scottb-library-howto p:last-child {
    margin: 0;
    line-height: 1.6;
}
.scottb-library-howto a {
    font-weight: 700;
}
@media (max-width: 767px) {
    .scottb-library-howto {
        grid-template-columns: 1fr;
        gap: .65rem;
        padding: 1rem;
    }
}

/* 0.3T - Ask Scott / Get Connected CTA */
.scottb-ask-scott {
    max-width: 900px;
    margin: 2rem auto;
    padding: 1.25rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.25rem;
    border-left: 4px solid #f18523;
    background: rgba(255,255,255,.6);
}
.scottb-ask-scott h2 {
    margin: 0 0 .35rem;
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
}
.scottb-ask-scott p {
    margin: 0;
    line-height: 1.55;
}
.scottb-ask-scott__link {
    flex: 0 0 auto;
    font-weight: 700;
    white-space: nowrap;
}
@media (max-width: 575px) {
    .scottb-ask-scott {
        display: grid;
        gap: .75rem;
        padding: 1rem;
    }
    .scottb-ask-scott__link {
        white-space: normal;
    }
}

/* 0.3U - Article Ask Scott CTA refinements */
.scottb-ask-scott__content {
    min-width: 0;
}
.scottb-ask-scott__content p:last-child {
    max-width: 62ch;
}

/* 0.3V - Article intent / summary treatment */
.scottb-article-intent {
    margin: 1.25rem 0 0;
    padding: .95rem 1.1rem;
    border-left: 3px solid #00a3c5;
    background: rgba(255,255,255,.55);
}
.scottb-article-intent p:last-child {
    margin-bottom: 0;
    max-width: 75ch;
    line-height: 1.55;
}

/* 0.3W - Article table of contents */
.scottb-article-toc {
    margin: 0 0 1.5rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(3,105,127,.14);
    background: rgba(255,255,255,.55);
}
.scottb-article-toc__list {
    margin: .5rem 0 0;
    padding-left: 1.25rem;
}
.scottb-article-toc__list li {
    margin: .35rem 0;
}
.scottb-article-toc__list a {
    font-weight: 600;
}
@media (max-width: 575px) {
    .scottb-article-toc {
        padding: .85rem 1rem;
    }
}

/* 0.3Y - Reference article semantic refinements and FAQ foundation */
.scottb-blog-post__type {
    margin-bottom: .35rem;
}
.scottb-faq {
    max-width: 900px;
    margin: 2.5rem auto;
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(3,105,127,.14);
    background: rgba(255,255,255,.55);
}
.scottb-faq h2 {
    margin-top: 0;
}
.scottb-faq__item {
    border-top: 1px solid rgba(3,105,127,.12);
    padding: .8rem 0;
}
.scottb-faq__item:last-child {
    border-bottom: 1px solid rgba(3,105,127,.12);
}
.scottb-faq__item summary {
    cursor: pointer;
    font-weight: 700;
}
.scottb-faq__answer {
    padding: .75rem 0 .15rem 1rem;
    line-height: 1.6;
}

/* 0.4B - Subtle Business/Home audience bridge */
.scottb-audience-bridge {
    max-width: 1000px;
    margin: 2.5rem auto;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    border-left: 4px solid #f18523;
    background: rgba(255,255,255,.58);
}
.scottb-audience-bridge h2 {
    margin: 0 0 .4rem;
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    line-height: 1.2;
}
.scottb-audience-bridge p:last-child {
    margin: 0;
    max-width: 68ch;
    line-height: 1.55;
}
.scottb-audience-bridge > a {
    flex: 0 0 auto;
    font-weight: 700;
    white-space: nowrap;
}
@media (max-width: 767px) {
    .scottb-audience-bridge {
        display: grid;
        gap: .75rem;
        padding: 1rem;
    }
    .scottb-audience-bridge > a {
        white-space: normal;
    }
}

/* 0.4C - Audience hub opening hierarchy */
.scottb-audience-intro {
    max-width: 720px;
    margin: .85rem auto 0;
    line-height: 1.55;
}
@media (max-width: 767px) {
    .scottb-audience-intro {
        max-width: 100%;
        line-height: 1.5;
    }
}

/* 0.4D - Audience hub service-area navigation */
.scottb-audience-explore {
    max-width: 1120px;
    margin: 2rem auto 2.5rem;
}
.scottb-audience-explore h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.5rem, 2.8vw, 2.15rem);
}
.scottb-audience-explore__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}
.scottb-audience-explore__grid a {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-height: 120px;
    padding: 1rem 1.1rem;
    border-left: 3px solid #00a3c5;
    background: rgba(255,255,255,.58);
    text-decoration: none;
}
.scottb-audience-explore__grid a:hover,
.scottb-audience-explore__grid a:focus {
    box-shadow: 0 4px 14px rgba(0,0,0,.07);
}
.scottb-audience-explore__grid strong {
    font-size: 1.05rem;
}
.scottb-audience-explore__grid span {
    line-height: 1.45;
    font-size: .92rem;
    opacity: .82;
}
@media (max-width: 767px) {
    .scottb-audience-explore__grid {
        grid-template-columns: 1fr;
    }
}

/* 0.4E - Service content heading hierarchy */
.scottb-content h3 {
    margin-top: 1.35rem;
    margin-bottom: .55rem;
}

/* 0.4F - Preserve the visual appearance of former H4 headings.
   The semantic level is now H3, but these headings retain the theme's
   established H4 typography so the hierarchy change is not a visual redesign. */
.scottb-content h3.scottb-former-h4 {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 1.35rem;
    margin-bottom: .55rem;
}
@media (max-width: 767px) {
    .scottb-content h3.scottb-former-h4 {
        font-size: 1.5rem;
    }
}

/* 0.4M - Service-page contextual internal links */
.scottb-service-next-steps {
    max-width: 1000px;
    margin: 2.5rem auto;
}
.scottb-service-next-steps h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.45rem, 2.7vw, 2rem);
}
.scottb-service-next-steps__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}
.scottb-service-next-steps__grid a {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-height: 120px;
    padding: 1rem;
    border-left: 3px solid #00a3c5;
    background: rgba(255,255,255,.58);
    text-decoration: none;
}
.scottb-service-next-steps__grid strong {
    font-size: 1.03rem;
}
.scottb-service-next-steps__grid span {
    font-size: .92rem;
    line-height: 1.45;
    opacity: .82;
}
@media (max-width: 767px) {
    .scottb-service-next-steps__grid {
        grid-template-columns: 1fr;
    }
}

/* 0.4N - Service decision guidance */
.scottb-service-faq {
    max-width: 1000px;
    margin: 2.5rem auto;
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(3,105,127,.14);
    background: rgba(255,255,255,.55);
}
.scottb-service-faq h2 {
    margin: 0 0 .65rem;
    font-size: clamp(1.45rem, 2.7vw, 2rem);
}
.scottb-service-faq > p:not(.scottb-related-topics__label) {
    max-width: 75ch;
    line-height: 1.55;
}
.scottb-service-faq__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    margin-top: 1rem;
}
.scottb-service-faq__grid > div {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    padding: 1rem;
    background: rgba(255,255,255,.7);
}
.scottb-service-faq__grid strong {
    line-height: 1.25;
}
.scottb-service-faq__grid span {
    font-size: .92rem;
    line-height: 1.45;
    opacity: .82;
}
@media (max-width: 767px) {
    .scottb-service-faq__grid {
        grid-template-columns: 1fr;
    }
}

/* 0.4O - Independent community resource references */
.scottb-community-resources {
    max-width: 1120px;
    margin: 2.75rem auto;
    padding: 1.35rem 1.5rem;
    border: 1px solid rgba(3,105,127,.14);
    background: rgba(255,255,255,.55);
}
.scottb-community-resources h2 {
    margin: 0 0 .55rem;
    font-size: clamp(1.45rem, 2.7vw, 2rem);
}
.scottb-community-resources__intro {
    max-width: 78ch;
    margin-bottom: 1.1rem;
    line-height: 1.55;
}
.scottb-community-resources__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}
.scottb-community-resources__grid a {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    min-height: 150px;
    padding: 1rem;
    border-left: 3px solid #00a3c5;
    background: rgba(255,255,255,.7);
    text-decoration: none;
}
.scottb-community-resources__grid strong {
    font-size: 1.05rem;
}
.scottb-community-resources__grid span {
    font-size: .92rem;
    line-height: 1.45;
    opacity: .84;
}
.scottb-community-resources__grid em {
    margin-top: auto;
    padding-top: .65rem;
    font-style: normal;
    font-weight: 700;
}
@media (max-width: 767px) {
    .scottb-community-resources__grid {
        grid-template-columns: 1fr;
    }
}

/* 0.5F - About Scott evidence sections */
.scottb-about-skill-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.85rem;
    margin-top:1rem;
}
.scottb-about-skill-grid > div {
    display:flex;
    flex-direction:column;
    gap:.35rem;
    padding:1rem;
    background:rgba(255,255,255,.62);
    border-left:3px solid #03697f;
}
.scottb-about-skill-grid strong { line-height:1.25; }
.scottb-about-skill-grid span { font-size:.92rem; line-height:1.45; opacity:.84; }
.scottb-about-links { padding-left:1.25rem; }
@media (max-width:767px) {
    .scottb-about-skill-grid { grid-template-columns:1fr; }
}

/* 0.6F - Guidance content added without replacing Winter.Blog components */
.scottb-library-guidance {
    margin: 1.5rem 0 2rem;
}
.scottb-library-question-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.85rem;
    margin:1rem 0 1.25rem;
}
.scottb-library-question-grid > div {
    display:flex;
    flex-direction:column;
    gap:.4rem;
    padding:1rem;
    background:rgba(255,255,255,.62);
    border-left:3px solid #03697f;
}
.scottb-library-question-grid strong { line-height:1.3; }
.scottb-library-question-grid span { font-size:.9rem; line-height:1.45; opacity:.84; }
.scottb-library-guidance__text { max-width:900px; }
.scottb-library-modern {
    margin:2rem 0;
    max-width:1000px;
}
@media (max-width:900px) {
    .scottb-library-question-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
    .scottb-library-question-grid { grid-template-columns:1fr; }
}

/* Expanded site footer navigation */
.footer-site-directory {
    padding: 30px 0 18px;
    border-top: 1px solid rgba(255,255,255,.55);
}
.footer-site-directory,
.footer-site-directory p,
.footer-site-directory .footer-directory-intro,
.footer-site-directory .footer-directory-heading,
.footer-site-directory li,
.footer-site-directory a {
    color: #fff;
}
.footer-site-directory .footer-directory-heading {
    margin: 0 0 12px;
    font-size: 17px;
    color: #fff;
}
.footer-site-directory ul { list-style: none; padding: 0; margin: 0; }
.footer-site-directory li { margin: 0 0 7px; }
.footer-site-directory a { text-decoration: none; }
.footer-site-directory a:hover { color: #f18523; }
.footer-directory-intro {
    margin: 0 0 18px;
    max-width: 900px;
    line-height: 1.55;
}

/* Keep the legal/copyright area visually attached to the directory. */
footer .sub-footer {
    padding: 24px 0 36px;
    border-top: 0;
}
footer .sub-footer,
footer .sub-footer p,
footer .sub-footer a {
    color: #fff;
}
footer .sub-footer p { margin-bottom: 0; }
footer .sub-footer a:hover { color: #00a3c5; }
footer .foot-nav ul { margin: 0 0 14px; padding: 0; list-style: none; }
footer .foot-nav li { margin: 0; }
footer .foot-nav li:not(:last-child)::after {
    content: " | ";
    color: rgba(255,255,255,.75);
    margin: 0 7px;
}
footer .foot-nav a { color: #fff; }
footer .foot-nav a:hover { color: #00a3c5; }

@media (max-width: 991px) {
    .solutions-grid--featured, .solutions-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
    .solutions-grid--featured, .solutions-grid--compact { grid-template-columns: 1fr; }
    .solutions-platforms { padding-left: 12px; padding-right: 12px; }
    .solutions-lead { font-size: 18px; }
}


/* Solutions & Technology Platforms 1.1
   Clean brand-led catalog presentation. */
.solutions-platforms {
    max-width: 1180px;
    margin: 0 auto;
    padding: 28px 15px 70px;
    color: #2d3438;
}
.solutions-platforms .solutions-hero {
    max-width: 900px;
    margin: 0 auto 34px;
    text-align: center;
}
.solutions-platforms .solutions-eyebrow {
    margin: 0 0 9px;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #6a7479;
}
.solutions-platforms h1 {
    margin: 0 0 20px;
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.08;
}
.solutions-platforms h2 {
    margin: 0 0 13px;
    line-height: 1.2;
}
.solutions-platforms h3 {
    line-height: 1.25;
}
.solutions-lead {
    font-size: 20px;
    line-height: 1.65;
    margin-bottom: 16px;
}
.solutions-platforms p {
    line-height: 1.65;
}
.solutions-intro-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 48px;
    padding: 17px 20px;
    border-top: 1px solid #d8dddf;
    border-bottom: 1px solid #d8dddf;
    font-size: 14px;
}
.solutions-intro-bar strong {
    display: block;
    margin-bottom: 2px;
    color: #03697f;
}
.solutions-intro-bar span {
    color: #687277;
}
.solutions-intro-bar a {
    flex: 0 0 auto;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.solutions-featured-section,
.solutions-catalog-intro,
.solutions-catalog-section,
.solutions-story,
.solutions-expertise,
.solutions-disclaimer,
.solutions-cta {
    margin-top: 58px;
}
.solution-section-heading {
    max-width: 820px;
    margin-bottom: 26px;
}
.solution-section-heading--center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.solution-section-heading p {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}
.solutions-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.solution-feature-card {
    display: flex;
    flex-direction: column;
    min-height: 285px;
    padding: 0;
    border: 1px solid #dfe4e6;
    border-radius: 6px;
    background: #fff;
    color: inherit;
    text-decoration: none !important;
    overflow: hidden;
    box-shadow: 0 3px 14px rgba(0,0,0,.045);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.solution-feature-card:hover,
.solution-feature-card:focus {
    transform: translateY(-2px);
    border-color: rgba(3,105,127,.42);
    box-shadow: 0 8px 24px rgba(0,0,0,.09);
}
.solution-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 112px;
    padding: 25px 30px;
    border-bottom: 1px solid #edf0f1;
    background: #fff;
}
.solution-logo img {
    display: block;
    width: auto;
    max-width: 210px;
    max-height: 58px;
    object-fit: contain;
}
.solution-logo-text {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -.4px;
    color: #03697f;
}
.solution-feature-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 19px 21px 20px;
}
.solution-feature-copy h3 {
    margin: 0 0 8px;
    font-size: 21px;
    color: #03697f;
}
.solution-feature-copy p {
    margin: 0 0 11px;
    font-size: 14px;
    line-height: 1.55;
}
.solution-proof {
    margin-top: auto !important;
    padding-top: 8px;
    font-size: 13px !important;
}
.solution-card-link,
.solution-small-link {
    margin-top: auto;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1px;
    color: #03697f;
}
.solutions-story-card {
    max-width: 920px;
    margin: 0 auto;
    padding: 30px 34px;
    border-left: 4px solid #03697f;
    background: #f5f5f4;
}
.solutions-story-card p {
    margin-bottom: 12px;
}
.solutions-story-card p:last-child {
    margin-bottom: 0;
}
.solutions-anchor {
    position: relative;
    top: -70px;
}
.solutions-catalog-intro {
    max-width: 860px;
}
.solutions-catalog-intro--telarus {
    margin-top: 78px;
}
.solutions-list-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.solution-list-card {
    display: flex;
    flex-direction: column;
    min-height: 190px;
    padding: 18px 19px 17px;
    border: 1px solid #e1e5e6;
    border-radius: 5px;
    background: #fff;
}
.solution-list-card:hover {
    border-color: rgba(3,105,127,.32);
}
.solution-list-card--compact {
    min-height: 155px;
}
.solution-list-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}
.solution-list-top h3 {
    margin: 0;
    font-size: 17px;
}
.solution-list-top h3 a {
    color: #03697f;
    text-decoration: none;
}
.solution-list-top h3 a:hover {
    text-decoration: underline;
}
.solution-category {
    flex: 0 0 auto;
    padding: 4px 7px;
    border: 1px solid #dce2e4;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #687277;
}
.solution-list-card p {
    margin: 0 0 11px;
    font-size: 13px;
    line-height: 1.55;
    color: #505a5f;
}
.solution-small-link {
    display: inline-block;
    margin-top: auto;
    text-decoration: none;
}
.solutions-expertise {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 36px;
    align-items: center;
    padding: 30px 0;
    border-top: 1px solid #d8dddf;
    border-bottom: 1px solid #d8dddf;
}
.solutions-keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.solutions-keywords span {
    padding: 7px 10px;
    border: 1px solid #d9dfe1;
    border-radius: 3px;
    background: #fafafa;
    font-size: 12px;
    color: #03697f;
}
.solutions-disclaimer {
    padding: 24px 27px;
    border-left: 4px solid #03697f;
    background: #f5f5f4;
}
.solutions-disclaimer h2 {
    font-size: 21px;
}
.solutions-disclaimer p {
    margin-bottom: 10px;
    font-size: 13px;
}
.solutions-disclaimer p:last-child {
    margin-bottom: 0;
}
.solutions-cta {
    padding: 35px 25px 38px;
    text-align: center;
    background: #eeedec;
}
.solutions-cta h2 {
    font-size: 30px;
}
.solutions-cta p {
    max-width: 650px;
    margin: 0 auto 18px;
}
.solutions-cta .main-button {
    display: inline-block;
}

/* Responsive */
@media (max-width: 991px) {
    .solutions-feature-grid,
    .solutions-list-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .solutions-expertise {
        grid-template-columns: 1fr;
    }
    .solutions-keywords {
        justify-content: flex-start;
    }
}
@media (max-width: 700px) {
    .solutions-intro-bar {
        align-items: flex-start;
        flex-direction: column;
    }
    .solutions-intro-bar a {
        white-space: normal;
    }
}
@media (max-width: 575px) {
    .solutions-platforms {
        padding-left: 12px;
        padding-right: 12px;
    }
    .solutions-lead {
        font-size: 18px;
    }
    .solutions-feature-grid,
    .solutions-list-grid {
        grid-template-columns: 1fr;
    }
    .solution-feature-card {
        min-height: 0;
    }
    .solutions-story-card,
    .solutions-disclaimer {
        padding: 22px 20px;
    }
}
