:root {
    --bg-primary: #F8FAFC;
    --bg-secondary: #F1F5F9;
    --bg-surface: #FFFFFF;
    --bg-surface-alt: #F4EDE4;
    --bg-accent-tint: #FAF4EE;
    --text-primary-light: #2B1E16;
    --text-secondary-light: #645549;
    --text-muted-light: #8C7B6E;
    --primary-main: #5C3D2E;
    --primary-hover: #442C21;
    --primary-active: #321F16;
    --primary-tint: #EFE8E1;
    --secondary-main: #846A5B;
    --secondary-hover: #6E5446;
    --secondary-active: #574236;
    --secondary-tint: #F6F1ED;
    --accent-main: #E05A2B;
    --accent-hover: #C8491C;
    --accent-active: #AB3A11;
    --accent-soft: #FDEEE8;
    --border-subtle: #E7DFD5;
    --border-medium: #D6C7B8;
    --border-strong: #5C3D2E;
    --border-accent: #E05A2B;
}

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'STIX Two Text', serif;
    background-color: var(--bg-primary);
    color: var(--text-primary-light);
    margin: 0;
    padding: 0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.text-muted {
    color: #8C7B6E !important;
}

/* ===== header ===== */
#variantpath-site-header {
    font-family: 'STIX Two Text', serif;
}

#variantpath-site-header .js-dropdown-menu {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

#variantpath-site-header .js-mobile-menu-drawer {
    transition: all 0.3s ease-in-out;
}

#variantpath-site-header .rotate-180 {
    transform: rotate(180deg);
}

/* ===== hero ===== */
.variantpath-hero-block {
    font-family: 'STIX Two Text', Georgia, serif;
    min-height: 480px;
}

.variantpath-hero-block video {
    pointer-events: none;
}

.variantpath-hero-block .variantpath-hero-btn-primary:hover svg {
    transform: translateX(3px);
}

.variantpath-hero-block .variantpath-hero-btn-secondary:hover {
    border-color: rgba(255, 255, 255, 0.6);
}

/* ===== materials_grid ===== */
.materials-grid-section {
    font-family: 'STIX Two Text', serif;
}

.materials-grid-section .js-article-card {
    min-width: 0;
}

.materials-grid-section .active-filter {
    background-color: #5C3D2E;
    color: #FFFFFF;
    border-color: #5C3D2E;
}

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

/* ===== featured_case ===== */
.featured-case-section .js-tab-btn.active-tab {
    background-color: #5C3D2E;
    color: #FFFFFF;
    box-shadow: 0 2px 6px rgba(92, 61, 46, 0.25);
}

.featured-case-section .js-tab-btn:not(.active-tab):hover {
    color: #5C3D2E;
}

/* ===== industry_mistakes ===== */
body {}

/* ===== collaboration_formats ===== */
.collaboration-formats-section .format-card {
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.collaboration-formats-section .format-card:hover {
    transform: translateY(-3px);
}

.collaboration-formats-section input::placeholder,
.collaboration-formats-section textarea::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

@media (max-width: 767px) {
    .collaboration-formats-section .format-card {
        transform: none !important;
    }
}

/* ===== support_sla ===== */
.support-sla-section .js-sla-tab-btn {
    cursor: pointer;
    outline: none;
}

.support-sla-section .js-sla-tab-btn:focus-visible {
    outline: 2px solid #E05A2B;
    outline-offset: 2px;
}

.support-sla-section .js-sla-tab-btn.active-sla-pill {
    background-color: #5C3D2E;
    color: #FFFFFF;
    border-color: #5C3D2E;
}

.support-sla-section .break-all {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* ===== press_mentions ===== */
.press-mentions-section blockquote {
    font-style: italic;
    overflow-wrap: anywhere;
}

.press-mentions-section h2,
.press-mentions-section h3 {
    overflow-wrap: anywhere;
    hyphens: auto;
}

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

/* ===== key_metrics ===== */
.metrics-section {
    font-family: 'STIX Two Text', serif;
}

.metrics-section .metrics-card {
    min-height: 240px;
}

.metrics-section .js-domain-btn:focus {
    outline: 2px solid #E05A2B;
    outline-offset: 2px;
}

/* ===== footer ===== */
.variantpath-footer {
    font-family: 'STIX Two Text', serif;
}

.variantpath-footer .variantpath-footer-input::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

.variantpath-footer .variantpath-footer-input:-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-input::-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-link:focus,
.variantpath-footer .variantpath-footer-contact-link:focus,
.variantpath-footer .variantpath-footer-wa:focus {
    outline: 2px solid #E05A2B;
    outline-offset: 2px;
}

#variantpath-site-header {
    font-family: 'STIX Two Text', serif;
}

#variantpath-site-header .js-dropdown-menu {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

#variantpath-site-header .js-mobile-menu-drawer {
    transition: all 0.3s ease-in-out;
}

#variantpath-site-header .rotate-180 {
    transform: rotate(180deg);
}

.variantpath-category-hero {
    font-family: 'STIX Two Text', Georgia, serif;
}

.variantpath-category-grid-block {
    font-family: 'STIX Two Text', Georgia, serif;
}

.variantpath-category-grid-block .variantpath-review-card:hover {
    transform: translateY(-4px);
}

.variantpath-sourcing-section {
    font-family: 'STIX Two Text', Georgia, serif;
}

.variantpath-sourcing-section .variantpath-form-input::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

.variantpath-sourcing-section .variantpath-form-input:-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-sourcing-section .variantpath-form-input::-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer {
    font-family: 'STIX Two Text', serif;
}

.variantpath-footer .variantpath-footer-input::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

.variantpath-footer .variantpath-footer-input:-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-input::-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-link:focus,
.variantpath-footer .variantpath-footer-contact-link:focus,
.variantpath-footer .variantpath-footer-wa:focus {
    outline: 2px solid #E05A2B;
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .variantpath-category-grid-block .js-catalog-grid {
        grid-template-columns: 1fr;
    }
}


/* ===== PAGE: solidworks-brand-support ===== */
.sw-variant-page h2,.sw-variant-page h3,.sw-variant-page h4{overflow-wrap:anywhere;}.sw-variant-page .js-leo-panel.hidden{display:none;}.sw-variant-page .js-leo-tab.active{background-color:#5C3D2E;color:#FFFFFF;}.sw-variant-page .js-leo-tab:not(.active){background-color:#FAF4EE;color:#5C3D2E;}@media (max-width:767px){.sw-variant-page .grid{grid-template-columns:1fr;}}

/* ===== PAGE: about ===== */
.about-page-wrapper button:focus-visible {
  outline: 2px solid #E05A2B;
  outline-offset: 2px;
}
.about-page-wrapper .js-pillar-btn.is-active {
  background-color: #5C3D2E;
  color: #FFFFFF;
}
.about-page-wrapper .js-pillar-btn:not(.is-active) {
  background-color: transparent;
  color: #645549;
}
.about-page-wrapper .js-pillar-btn:not(.is-active):hover {
  color: #2B1E16;
}

/* ===== PAGE: contact ===== */
.contact-section { font-family: 'STIX Two Text', serif; }
.contact-section .contact-input::placeholder { color: #8C7B6E; opacity: 1; }
.contact-section .contact-input::-webkit-input-placeholder { color: #8C7B6E; opacity: 1; }
.contact-section .contact-input::-moz-placeholder { color: #8C7B6E; opacity: 1; }
.contact-section .contact-input:-ms-input-placeholder { color: #8C7B6E; opacity: 1; }
@media (max-width: 767px) {
  .contact-section .contact-input { font-size: 14px; }
}

/* ===== PAGE: privacy ===== */
.privacy-policy-section { font-family: 'STIX Two Text', serif; overflow-wrap: anywhere; } .privacy-policy-section a { transition: all 0.2s ease-in-out; }

/* ===== PAGE: terms ===== */
.terms-content-section h2, .terms-content-section h3 { font-family: 'STIX Two Text', serif; overflow-wrap: anywhere; }
.terms-content-section p, .terms-content-section span, .terms-content-section a, .terms-content-section li { font-family: 'STIX Two Text', serif; }
.terms-content-section .js-term-clause { scroll-margin-top: 2rem; }
.terms-content-section .js-terms-nav::-webkit-scrollbar { width: 4px; }
.terms-content-section .js-terms-nav::-webkit-scrollbar-thumb { background-color: #D6C7B8; border-radius: 4px; }
.terms-content-section .js-terms-nav::-webkit-scrollbar-track { background: transparent; }
@media (max-width: 767px) {
  .terms-content-section .grid { grid-template-columns: 1fr; }
  .terms-content-section .js-term-clause { padding: 1.25rem; }
}

/* ===== PAGE: disclaimer ===== */
.vp-disclaimer-section { font-family: 'STIX Two Text', serif; overflow-wrap: anywhere; }
.vp-disclaimer-section article { scroll-margin-top: 2rem; }
.vp-disclaimer-section .js-disclaimer-link.active { color: #E05A2B; background-color: #FAF4EE; font-weight: 600; }
@media (max-width: 767px) {
  .vp-disclaimer-section article { padding: 1.25rem; }
}

.comment-card.main-comment {
    font-family: 'STIX Two Text', Georgia, serif;
    background-color: #FFFFFF;
    border: 1px solid #E7DFD5;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.comment-card.main-comment:hover {
    border-color: #D6C7B8;
    box-shadow: 0 6px 16px rgba(43, 30, 22, 0.06);
}

.comment-avatar {
    width: 44px;
    height: 44px;
    min-width: 44px;
    object-fit: cover;
    border-radius: 9999px;
    display: block;
}

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

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

.comment-card.reply-comment {
    font-family: 'STIX Two Text', Georgia, serif;
    background-color: #FAF4EE;
    border-left: 3px solid #E05A2B;
}

.reply-avatar {
    width: 36px;
    height: 36px;
    min-width: 36px;
    object-fit: cover;
    border-radius: 9999px;
    display: block;
}

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

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


/* ===== PAGE TEMPLATE: design-variant-comparisons ===== */
#variantpath-site-header {
    font-family: 'STIX Two Text', serif;
}

#variantpath-site-header .js-dropdown-menu {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

#variantpath-site-header .js-mobile-menu-drawer {
    transition: all 0.3s ease-in-out;
}

#variantpath-site-header .rotate-180 {
    transform: rotate(180deg);
}

.variantpath-hero-block {
    font-family: 'STIX Two Text', Georgia, serif;
}

.variantpath-dashboard-wrapper {
    font-family: 'STIX Two Text', serif;
}

.variantpath-dashboard-wrapper input::placeholder,
.variantpath-dashboard-wrapper textarea::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

.variantpath-dashboard-wrapper .js-liked {
    color: #E05A2B !important;
}

.variantpath-dashboard-wrapper .js-liked svg {
    fill: #E05A2B;
}

.variantpath-footer {
    font-family: 'STIX Two Text', serif;
}

.variantpath-footer .variantpath-footer-input::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

.variantpath-footer .variantpath-footer-input:-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-input::-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-link:focus,
.variantpath-footer .variantpath-footer-contact-link:focus,
.variantpath-footer .variantpath-footer-wa:focus {
    outline: 2px solid #E05A2B;
    outline-offset: 2px;
}

/* ===== PAGE TEMPLATE: product-family-design ===== */
#variantpath-site-header {
    font-family: 'STIX Two Text', serif;
}

#variantpath-site-header .js-dropdown-menu {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

#variantpath-site-header .js-mobile-menu-drawer {
    transition: all 0.3s ease-in-out;
}

#variantpath-site-header .rotate-180 {
    transform: rotate(180deg);
}

.variantpath-hero-block {
    font-family: 'STIX Two Text', Georgia, serif;
}

.variantpath-dashboard-wrapper {
    font-family: 'STIX Two Text', serif;
}

.variantpath-dashboard-wrapper input::placeholder,
.variantpath-dashboard-wrapper textarea::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

.variantpath-dashboard-wrapper .js-liked {
    color: #E05A2B !important;
}

.variantpath-dashboard-wrapper .js-liked svg {
    fill: #E05A2B;
}

.variantpath-footer {
    font-family: 'STIX Two Text', serif;
}

.variantpath-footer .variantpath-footer-input::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

.variantpath-footer .variantpath-footer-input:-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-input::-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-link:focus,
.variantpath-footer .variantpath-footer-contact-link:focus,
.variantpath-footer .variantpath-footer-wa:focus {
    outline: 2px solid #E05A2B;
    outline-offset: 2px;
}

/* ===== PAGE TEMPLATE: component-and-material-analysis ===== */
#variantpath-site-header {
    font-family: 'STIX Two Text', serif;
}

#variantpath-site-header .js-dropdown-menu {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

#variantpath-site-header .js-mobile-menu-drawer {
    transition: all 0.3s ease-in-out;
}

#variantpath-site-header .rotate-180 {
    transform: rotate(180deg);
}

.variantpath-hero-block {
    font-family: 'STIX Two Text', Georgia, serif;
}

.variantpath-dashboard-wrapper {
    font-family: 'STIX Two Text', serif;
}

.variantpath-dashboard-wrapper input::placeholder,
.variantpath-dashboard-wrapper textarea::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

.variantpath-dashboard-wrapper .js-liked {
    color: #E05A2B !important;
}

.variantpath-dashboard-wrapper .js-liked svg {
    fill: #E05A2B;
}

.variantpath-footer {
    font-family: 'STIX Two Text', serif;
}

.variantpath-footer .variantpath-footer-input::placeholder {
    color: #8C7B6E;
    opacity: 1;
}

.variantpath-footer .variantpath-footer-input:-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-input::-ms-input-placeholder {
    color: #8C7B6E;
}

.variantpath-footer .variantpath-footer-link:focus,
.variantpath-footer .variantpath-footer-contact-link:focus,
.variantpath-footer .variantpath-footer-wa:focus {
    outline: 2px solid #E05A2B;
    outline-offset: 2px;
}

/* 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%;
  }
}
