/* site palette */
html:root {
    --bg: #F6F8F9;
    --surface: #FFFFFF;
    --surface-alt: #F3EDE8;
    --text: #131C23;
    --text-muted: #5A6872;
    --border: #D8DFE4;
    --primary: #F58C2B;
    --primary-hover: #EC770B;
    --on-primary: #111111;
    --primary-text: #A85508;
    --accent: #1C587B;
    --on-accent: #FFFFFF;
    --accent-text: #1C587B;
    --dark-band: #182C3F;
    --on-dark: #FFFFFF;
    --on-dark-muted: #B6BEC3;
    --brand-btn-bg: #111111;
    --brand-btn-text: #F58C2B;
    --section-alt-bg: #F3EDE8;
    --dark-band-bg: #182C3F;
    --brand-band-bg: #F58C2B;
    --hero-bg: #182C3F;
}

/* /site palette */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: 'Merriweather Sans', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    margin: 0;
    padding: 0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.text-muted {
    color: var(--text-muted) !important;
}

.wkp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.04em;
    padding: 14px 28px;
    border-radius: 0px;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease-in-out;
    box-shadow: none;
}

.wkp-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

.wkp-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--surface-alt);
    color: var(--primary-text);
    font-weight: 600;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 0px;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease-in-out;
    box-shadow: none;
}

.wkp-btn-alt:hover {
    background-color: #E9DFD8;
    color: #8C4606;
}

.wkp-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 0px;
    box-shadow: none;
    padding: 24px;
    display: flex;
    flex-direction: column;
    transition: border-color 0.25s ease-in-out;
}

.wkp-card:hover {
    border-color: var(--primary);
}

.wkp-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 0px;
    border: 1px solid var(--border);
    overflow: hidden;
    flex-shrink: 0;
}

.wkp-media img,
.wkp-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wkp-eyebrow {
    display: block;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--primary-text);
    margin-bottom: 12px;
}

.wkp-title {
    font-size: 32px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--text);
    margin: 0 0 16px 0;
}

@media (min-width: 768px) {
    .wkp-title {
        font-size: 36px;
    }

    .wkp-card {
        padding: 32px;
    }
}

.wkp-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 0px;
    background-color: var(--surface-alt);
    color: var(--primary-text);
    border: 1px solid var(--border);
}

.wkp-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 0px;
    background-color: var(--surface-alt);
    color: var(--primary);
    font-size: 26px;
    flex-shrink: 0;
}

.wkp-section {
    background-color: var(--bg);
    padding-top: 48px;
    padding-bottom: 48px;
}

.wkp-section-alt {
    background-color: var(--section-alt-bg, var(--surface-alt));
    padding-top: 48px;
    padding-bottom: 48px;
}

.wkp-section-dark {
    background-color: var(--dark-band-bg, var(--dark-band));
    color: var(--on-dark);
    padding-top: 48px;
    padding-bottom: 48px;
}

.wkp-section-brand {
    background-color: var(--brand-band-bg, var(--primary));
    color: var(--on-primary);
    padding-top: 48px;
    padding-bottom: 48px;
}

@media (min-width: 768px) {

    .wkp-section,
    .wkp-section-alt,
    .wkp-section-dark,
    .wkp-section-brand {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.wkp-section-dark,
.wkp-on-dark {
    color: var(--on-dark);
}

.wkp-section-dark h1,
.wkp-section-dark h2,
.wkp-section-dark h3,
.wkp-section-dark h4,
.wkp-section-dark .wkp-title,
.wkp-on-dark h1,
.wkp-on-dark h2,
.wkp-on-dark h3,
.wkp-on-dark h4,
.wkp-on-dark .wkp-title {
    color: var(--on-dark);
}

.wkp-section-dark p,
.wkp-section-dark .text-muted,
.wkp-on-dark p,
.wkp-on-dark .text-muted {
    color: var(--on-dark-muted) !important;
}

.wkp-section-dark .wkp-eyebrow,
.wkp-on-dark .wkp-eyebrow {
    color: var(--primary);
}

.wkp-section-dark .wkp-btn-alt,
.wkp-on-dark .wkp-btn-alt {
    background-color: transparent;
    border: 1px solid var(--on-dark);
    color: var(--on-dark);
}

.wkp-section-dark .wkp-btn-alt:hover,
.wkp-on-dark .wkp-btn-alt:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--on-dark);
}

.wkp-section-brand .wkp-btn {
    background-color: var(--brand-btn-bg);
    color: var(--brand-btn-text);
}

.wkp-section-brand .wkp-btn:hover {
    background-color: #000000;
    color: var(--primary-hover);
}

.wkp-section-brand .wkp-btn-alt {
    background-color: transparent;
    border: 1px solid var(--on-primary);
    color: var(--on-primary);
}

.wkp-section-brand .wkp-btn-alt:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.wkp-section-dark .wkp-card,
.wkp-on-dark .wkp-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
}

.wkp-section-dark .wkp-card h1,
.wkp-section-dark .wkp-card h2,
.wkp-section-dark .wkp-card h3,
.wkp-section-dark .wkp-card h4,
.wkp-section-dark .wkp-card .wkp-title,
.wkp-on-dark .wkp-card h1,
.wkp-on-dark .wkp-card h2,
.wkp-on-dark .wkp-card h3,
.wkp-on-dark .wkp-card h4,
.wkp-on-dark .wkp-card .wkp-title {
    color: var(--text);
}

.wkp-section-dark .wkp-card p,
.wkp-on-dark .wkp-card p {
    color: var(--text);
}

.wkp-section-dark .wkp-card .text-muted,
.wkp-on-dark .wkp-card .text-muted {
    color: var(--text-muted) !important;
}

/* ===== header ===== */
.orn-header {
    font-family: 'Merriweather Sans', sans-serif;
}

.orn-header .wkp-btn {
    border-radius: 0;
}

.orn-header .orn-logo-img {
    width: 44px;
    height: 44px;
    max-width: 44px;
    max-height: 44px;
    object-fit: contain;
    display: block;
}

@media (max-width: 767px) {
    .orn-header .orn-topbar {
        display: none;
    }
}

/* ===== hero ===== */
.hero-block {
    background-color: var(--hero-bg, #182C3F);
}

.hero-block__overlay {
    background-color: rgba(24, 44, 63, 0.88);
}

.hero-block__eyebrow {
    color: #F58C2B;
    letter-spacing: 0.15em;
}

.hero-block__title {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.hero-block__subtitle {
    overflow-wrap: anywhere;
}

.hero-block__btn-main {
    border-radius: 0px;
    min-height: 48px;
}

.hero-block__btn-alt {
    border-radius: 0px;
    min-height: 48px;
    background-color: transparent;
}

@media (max-width: 767px) {
    .hero-block {
        min-height: 460px;
    }

    .hero-block__actions {
        width: 100%;
        flex-direction: column;
    }

    .hero-block__btn-main,
    .hero-block__btn-alt {
        width: 100%;
    }
}

/* ===== architecture ===== */
#observation-architecture {
    position: relative;
    background-color: var(--bg);
}

#observation-architecture .wkp-card {
    border-radius: 0px;
    box-shadow: none;
    transition: border-color 0.25s ease-in-out;
}

#observation-architecture .wkp-card:hover {
    border-color: var(--primary);
}

#observation-architecture button.js-arch-tab {
    border-radius: 0px;
    cursor: pointer;
}

#observation-architecture .wkp-btn {
    border-radius: 0px;
    box-shadow: none;
}

@media (max-width: 767px) {
    #observation-architecture .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== featured-case ===== */
.featured-case-block {
    position: relative;
    background-color: var(--primary, #F58C2B);
}

.featured-case-block .wkp-card {
    border-radius: 0px;
    box-shadow: none;
}

.featured-case-block .wkp-media {
    border-radius: 0px;
}

.featured-case-block .wkp-badge {
    border-radius: 0px;
}

.featured-case-block .wkp-btn {
    border-radius: 0px;
    box-shadow: none;
}

@media (max-width: 767px) {
    .featured-case-block .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== questions ===== */
.observation-questions-block .obs-card {
    border-radius: 0px;
    box-shadow: none;
}

.observation-questions-block .obs-card:hover {
    border-color: #F58C2B;
}

.observation-questions-block .obs-icon-plate {
    border-radius: 0px;
}

/* ===== stats ===== */
.wkp-stats-block {
    background-color: var(--dark-band);
}

.wkp-stats-block .wkp-stats-card {
    border-radius: 0px;
    box-shadow: none;
    transition: border-color 0.25s ease-in-out;
}

.wkp-stats-block .wkp-stats-card:hover {
    border-color: var(--primary);
}

@media (max-width: 767px) {
    .wkp-stats-block .wkp-stats-card {
        min-width: 0;
        width: 100%;
    }
}

/* ===== inside-look ===== */
.inside-look-section .inside-look-media {
    overflow: hidden;
}

.inside-look-section .inside-look-icon-box {
    border-radius: 0px;
}

.inside-look-section .wkp-btn,
.inside-look-section .wkp-btn-alt {
    border-radius: 0px;
    text-decoration: none;
}

@media (max-width: 767px) {
    .inside-look-section h2 {
        font-size: 16px;
        hyphens: auto;
    }

    .inside-look-section h3 {
        font-size: 14px;
        hyphens: auto;
    }
}

/* ===== scope ===== */
.scope-block {
    background-color: #F3EDE8;
}

.scope-block .scope-card {
    border-radius: 0;
    box-shadow: none;
    transition: border-color 0.25s ease-in-out;
}

.scope-block .scope-card:hover {
    border-color: #F58C2B;
}

@media (max-width: 767px) {
    .scope-block .scope-card {
        width: 100%;
    }
}

/* ===== methodology-grid ===== */
.methodology-grid-section .methodology-card {
    box-shadow: none;
    border-radius: 0;
}

.methodology-grid-section .methodology-card:hover {
    border-color: #F58C2B;
}

.methodology-grid-section .methodology-card-title-link {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .methodology-grid-section .methodology-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== historical-notes-grid ===== */
.notes-grid .notes-grid__card {
    transition: border-color 0.25s ease-in-out;
    height: 100%;
}

.notes-grid .notes-grid__card:hover {
    border-color: var(--primary);
}

.notes-grid .notes-grid__media-box img {
    transition: transform 0.3s ease-in-out;
}

.notes-grid .notes-grid__card:hover .notes-grid__media-box img {
    transform: scale(1.02);
}

.notes-grid .notes-grid__card-title a {
    overflow-wrap: anywhere;
}

.notes-grid .notes-grid__card-desc {
    overflow-wrap: anywhere;
}

@media (max-width:767px) {
    .notes-grid .notes-grid__card {
        margin-bottom: 1rem;
    }
}

/* ===== footer ===== */
.site-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-footer .site-footer__disclaimer-box {
    border-radius: 0;
    box-shadow: none;
}

.site-footer a {
    text-decoration: none;
}

.site-footer__link:focus-visible {
    outline: 1px solid #F58C2B;
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .site-footer__col {
        min-width: 0;
    }
}

/* ===== PAGE: about ===== */
.about-block .about-media-wrapper{border-radius:0}.about-block .about-tab-btn{border-radius:0;border-color:#D8DFE4;background-color:#FFFFFF;color:#131C23}.about-block .about-tab-btn.active{background-color:#F58C2B;border-color:#F58C2B;color:#111111}.about-block .about-tab-btn:hover:not(.active){background-color:#F3EDE8;color:#A85508}.about-block .wkp-btn{border-radius:0}

/* ===== PAGE: tc2000 ===== */
.tc2000-scenario-block .js-step-btn.active-step { background-color: var(--surface); border-color: var(--primary); border-left-width: 4px; } .tc2000-scenario-block .js-step-btn:hover { border-color: var(--primary); } @media (max-width: 767px) { .tc2000-wrapper .grid, .tc2000-scenario-block .grid { grid-template-columns: 1fr; } }

/* ===== PAGE: methodology ===== */
.methodology-archive { overflow-x: hidden; } .methodology-archive__card { border-radius: 0px; box-shadow: none; transition: border-color 0.25s ease-in-out; } .methodology-archive__card:hover { border-color: var(--primary, #F58C2B); } .methodology-archive__media { aspect-ratio: 3 / 4; } .methodology-archive__btn { border-radius: 0px; box-shadow: none; background-color: var(--primary, #F58C2B); color: var(--on-primary, #111111); transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; } .methodology-archive__btn:hover { background-color: var(--primary-hover, #EC770B); color: var(--on-primary, #111111); } @media (max-width: 767px) { .methodology-archive__divider { display: none; } }

/* ===== PAGE: historical-notes ===== */
.historical-notes-section {
  position: relative;
  overflow-wrap: anywhere;
}
.historical-notes-section .wkp-card {
  border-radius: 0px;
  box-shadow: none;
}
.historical-notes-section a {
  text-decoration-skip-ink: auto;
}
@media (max-width: 767px) {
  .historical-notes-section .wkp-card {
    width: 100%;
  }
}

/* ===== PAGE: contact ===== */
.contact-info-block .wkp-card { transition: border-color 0.25s ease-in-out; border-radius: 0; box-shadow: none; } .contact-info-block .wkp-card:hover { border-color: var(--primary, #F58C2B); } .contact-info-block .contact-link { transition: color 0.2s ease-in-out; text-decoration: none; } .contact-info-block .contact-link:hover { text-decoration: underline; } .contact-form-block .contact-input { border-radius: 0; box-shadow: none; transition: border-color 0.2s ease-in-out; } .contact-form-block .contact-input::placeholder { color: #5A6872; opacity: 0.8; } .contact-form-block .contact-input:focus { border-color: var(--primary, #F58C2B); } .contact-form-block .wkp-btn { border-radius: 0; box-shadow: none; } @media (max-width: 767px) { .contact-info-block .grid { grid-template-columns: 1fr; } .contact-form-block .grid { grid-template-columns: 1fr; } }

/* ===== PAGE: privacy ===== */
.orn-privacy-section {
  overflow-wrap: anywhere;
}
.orn-privacy-section article {
  border-radius: 0px;
}
.orn-privacy-section .orn-nav-card {
  border-radius: 0px;
}
.orn-privacy-section .orn-toc-link.is-active {
  color: var(--primary-text);
  font-weight: 700;
}
@media (max-width: 767px) {
  .orn-privacy-section aside {
    position: static;
  }
}

/* ===== PAGE: terms ===== */
.terms-page { background-color: var(--bg); color: var(--text); font-family: 'Merriweather Sans', sans-serif; }
.terms-page .terms-sidebar { position: sticky; top: 96px; background-color: var(--surface); border: 1px solid var(--border); border-radius: 0px; box-shadow: none; }
.terms-page .terms-card { border-radius: 0px; box-shadow: none; transition: border-color 0.25s ease-in-out; }
.terms-page .terms-card:hover { border-color: var(--primary); }
.terms-page .terms-toc-link { border-radius: 0px; text-decoration: none; transition: all 0.2s ease-in-out; }
.terms-page .terms-toc-link.is-active { background-color: var(--surface-alt); border-color: var(--primary); color: var(--primary-text); }
.terms-page .terms-toc-link.is-active i { color: var(--primary-text); }
@media (max-width: 767px) { .terms-page .terms-sidebar { position: static; margin-bottom: 8px; } }

/* ===== PAGE: disclaimer ===== */
.disclaimer-page {
  background-color: var(--bg);
  color: var(--text);
  font-family: 'Merriweather Sans', sans-serif;
}

.disclaimer-page .disclaimer-card {
  box-shadow: none;
  border-radius: 0px;
  transition: border-color 0.25s ease-in-out;
}

.disclaimer-page .disclaimer-card:hover {
  border-color: var(--primary);
}

.disclaimer-page .disclaimer-notice-banner {
  border-radius: 0px;
}

.disclaimer-page a {
  text-decoration: none;
}

@media (max-width: 767px) {
  .disclaimer-page .grid {
    grid-template-columns: 1fr;
  }
}

.comment-card {
    border-radius: 0px;
    box-shadow: none;
}

.comment-card:hover {
    border-color: #F58C2B;
}

.comment-avatar {
    width: 48px;
    height: 48px;
    border-radius: 0px;
    object-fit: cover;
    border: 1px solid #D8DFE4;
    flex-shrink: 0;
    background-color: #F3EDE8;
}

.comment-badge {
    border-radius: 0px;
}

.comment-action-btn {
    background: transparent;
    border: none;
    padding: 4px 6px;
    cursor: pointer;
    border-radius: 0px;
}

.comment-action-btn:focus-visible {
    outline: 2px solid #F58C2B;
    outline-offset: 1px;
}

.reply-comment {
    border-radius: 0px;
    box-shadow: none;
}

.reply-avatar {
    width: 40px;
    height: 40px;
    border-radius: 0px;
    object-fit: cover;
    border: 1px solid #D8DFE4;
    flex-shrink: 0;
    background-color: #FFFFFF;
}

.reply-badge {
    border-radius: 0px;
}

.reply-comment .comment-action-btn {
    background: transparent;
    border: none;
    padding: 3px 5px;
    cursor: pointer;
    border-radius: 0px;
}

.reply-comment .comment-action-btn:focus-visible {
    outline: 2px solid #F58C2B;
    outline-offset: 1px;
}


/* ===== PAGE TEMPLATE: methodology ===== */
.orn-header {
    font-family: 'Merriweather Sans', sans-serif;
}

.orn-header .wkp-btn {
    border-radius: 0;
}

.orn-header .orn-logo-img {
    width: 44px;
    height: 44px;
    max-width: 44px;
    max-height: 44px;
    object-fit: contain;
    display: block;
}

.hero-block {
    background-color: var(--hero-bg, #182C3F);
}

.hero-block__overlay {
    background-color: rgba(24, 44, 63, 0.94);
}

.hero-block__title {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.hero-block__subtitle {
    overflow-wrap: anywhere;
}

.orn-article-body {
    font-family: 'Merriweather Sans', sans-serif;
}

.orn-article-body__facts-grid {
    margin-top: -24px;
    position: relative;
    z-index: 20;
}

.orn-article-body__fact-tile,
.orn-article-body__main-media,
.orn-article-body__takeaways,
.orn-article-body__toc,
.orn-article-body__note,
.orn-article-body__author-box,
.orn-article-body__cta-card,
.orn-article-body .wkp-card {
    border-radius: 0;
    box-shadow: none;
}

.orn-article-body__content h2,
.orn-article-body__content p {
    overflow-wrap: anywhere;
}

.site-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-footer .site-footer__disclaimer-box {
    border-radius: 0;
    box-shadow: none;
}

.site-footer a {
    text-decoration: none;
}

.site-footer__link:focus-visible {
    outline: 1px solid #F58C2B;
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .orn-header .orn-topbar {
        display: none;
    }

    .orn-article-body__facts-grid {
        grid-template-columns: 1fr;
        margin-top: 0;
    }

    .orn-article-body__note-split {
        flex-direction: column;
    }

    .site-footer__col {
        min-width: 0;
    }
}

/* ===== PAGE TEMPLATE: historical-notes ===== */
.orn-header {
    font-family: 'Merriweather Sans', sans-serif;
}

.orn-header .wkp-btn {
    border-radius: 0;
}

.orn-header .orn-logo-img {
    width: 44px;
    height: 44px;
    max-width: 44px;
    max-height: 44px;
    object-fit: contain;
    display: block;
}

@media (max-width: 767px) {
    .orn-header .orn-topbar {
        display: none;
    }
}

.hero-block {
    background-color: var(--hero-bg, #182C3F);
}

.hero-block__overlay {
    background-color: rgba(24, 44, 63, 0.88);
}

.hero-block__eyebrow {
    color: #F58C2B;
    letter-spacing: 0.15em;
}

.hero-block__title {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.hero-block__subtitle {
    overflow-wrap: anywhere;
}

.hero-block__btn-main {
    border-radius: 0px;
    min-height: 48px;
}

.hero-block__btn-alt {
    border-radius: 0px;
    min-height: 48px;
    background-color: transparent;
}

@media (max-width: 767px) {
    .hero-block {
        min-height: 420px;
    }
}

.orn-detail-section {
    background-color: var(--bg, #F6F8F9);
}

.orn-detail-section * {
    box-sizing: border-box;
}

.orn-detail-section .orn-image-frame {
    border-radius: 0;
}

.orn-detail-section .orn-section-heading {
    overflow-wrap: anywhere;
}

.orn-detail-section .orn-article-content p {
    overflow-wrap: anywhere;
    line-height: 1.7;
}

.orn-detail-section .wkp-card {
    border-radius: 0;
}

.orn-detail-section .wkp-btn {
    border-radius: 0;
}

.orn-detail-section .wkp-badge {
    border-radius: 0;
}

@media (max-width: 767px) {
    .orn-detail-section .orn-detail-sidebar {
        position: static;
        width: 100%;
    }

    .orn-detail-section .orn-detail-main {
        width: 100%;
    }
}

.site-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-footer .site-footer__disclaimer-box {
    border-radius: 0;
    box-shadow: none;
}

.site-footer a {
    text-decoration: none;
}

.site-footer__link:focus-visible {
    outline: 1px solid #F58C2B;
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .site-footer__col {
        min-width: 0;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}
