:root {
    --color-primary: #0F766E;
    --color-primary-hover: #115E59;
    --color-primary-active: #134E4A;
    --color-primary-surface: #F0FDFA;
    --color-primary-border: #CCFBF1;
    --color-secondary: #0284C7;
    --color-secondary-hover: #0369A1;
    --color-secondary-active: #075985;
    --color-secondary-surface: #F0F9FF;
    --color-secondary-border: #BAE6FD;
    --color-accent: #D97706;
    --color-accent-hover: #B45309;
    --color-accent-active: #92400E;
    --color-accent-surface: #FFFBEB;
    --color-accent-border: #FDE68A;
    --color-success: #16A34A;
    --color-warning: #EA580C;
    --color-bg-main: #F8FAFC;
    --color-bg-surface: #FFFFFF;
    --color-bg-muted: #F1F5F9;
    --color-text-primary: #0F172A;
    --color-text-secondary: #475569;
    --color-text-muted: #64748B;
    --color-border-subtle: #E2E8F0;
    --color-border-medium: #CBD5E1;
    --color-border-accent: #99F6E4;
    --font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
}

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-bg-main);
    color: var(--color-text-primary);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
}

.text-muted {
    color: #64748B !important;
}

.font-heading {
    font-family: var(--font-heading);
}

.font-body {
    font-family: var(--font-body);
}

.font-mono {
    font-family: var(--font-mono);
}

/* ===== header ===== */
.site-main-header .js-dropdown-menu {
    min-width: 18rem;
    box-shadow: 0 20px 45px -15px rgba(15, 23, 42, 0.12)
}

.site-main-header button:focus-visible,
.site-main-header a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #CCFBF1
}

/* ===== hero ===== */
.hero-trail-section .hero-bg-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
}

.hero-trail-section .hero-workflow-card {
    box-shadow: 0 20px 45px -15px rgba(15, 23, 42, 0.2);
}

/* ===== dictionary ===== */
.dictionary-block {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.dictionary-block h2,
.dictionary-block h3 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.dictionary-block .js-dict-card {
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dictionary-block .js-dict-filter.active {
    background-color: #0F766E !important;
    color: #FFFFFF !important;
    border-color: #0F766E !important;
}

/* ===== terms ===== */
.terms-policy-block .js-terms-tab-btn {
    cursor: pointer;
    border: none;
    outline: none;
}

.terms-policy-block .js-terms-tab-btn:focus-visible {
    outline: 2px solid #0F766E;
    outline-offset: 2px;
}

.terms-policy-block table td,
.terms-policy-block table th {
    vertical-align: middle;
}

.terms-policy-block .js-terms-tab-pane.hidden {
    display: none;
}

.terms-policy-block .js-terms-tab-pane.block {
    display: block;
}

/* ===== featured-case ===== */
.featured-case-block .js-accordion-btn {
    transition: background-color 0.2s ease, color 0.2s ease;
}

.featured-case-block .js-accordion-icon {
    transition: transform 0.2s ease;
}

/* ===== handbook-grid ===== */
#handbook-grid {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

#handbook-grid .handbook-card {
    box-shadow: 0 10px 30px -10px rgba(15, 118, 110, 0.08);
}

#handbook-grid .handbook-card a,
#handbook-grid .handbook-card button {
    -webkit-tap-highlight-color: transparent;
}

/* ===== cases-grid ===== */
.cases-grid-section {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.cases-grid-section h2,
.cases-grid-section h3 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    hyphens: auto;
}

.cases-grid-section .case-card {
    box-shadow: 0 10px 30px -10px rgba(15, 118, 110, 0.08);
}

/* ===== short-form ===== */
.comment-request-section .request-form-input::placeholder {
    color: #94A3B8;
    opacity: 1;
}

.comment-request-section .request-form-input:-ms-input-placeholder {
    color: #94A3B8;
}

.comment-request-section .request-form-input::-ms-input-placeholder {
    color: #94A3B8;
}

/* ===== footer ===== */
.site-footer a {
    transition: color 0.15s ease-in-out;
}

.site-footer-disclaimer {
    box-shadow: 0 4px 20px -4px rgba(15, 118, 110, 0.05);
}

.site-main-header .js-dropdown-menu {
    min-width: 18rem;
    box-shadow: 0 20px 45px -15px rgba(15, 23, 42, 0.12);
}

.site-main-header button:focus-visible,
.site-main-header a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #CCFBF1;
}

.site-footer a {
    transition: color 0.15s ease-in-out;
}

.site-footer-disclaimer {
    box-shadow: 0 4px 20px -4px rgba(15, 118, 110, 0.05);
}

.category-catalog-section .js-case-card {
    box-shadow: 0 10px 30px -10px rgba(15, 118, 110, 0.08);
}

.category-catalog-section .js-search-input::placeholder {
    color: #64748B;
    opacity: 1;
}


/* ===== PAGE: guides-bluebeam-revu ===== */
.guide-bluebeam-section { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }
.guide-bluebeam-section h1, .guide-bluebeam-section h2, .guide-bluebeam-section h3 { font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif; }
.guide-bluebeam-section .js-tab-btn:focus-visible { outline: 2px solid #0F766E; outline-offset: 2px; }

/* ===== PAGE: contacts ===== */
.contacts-page-block .contacts-page-block__input::placeholder { color: #94A3B8; opacity: 1; }
.contacts-page-block .contacts-page-block__input::-webkit-input-placeholder { color: #94A3B8; opacity: 1; }
.contacts-page-block .contacts-page-block__input::-moz-placeholder { color: #94A3B8; opacity: 1; }
.contacts-page-block .contacts-page-block__input:-ms-input-placeholder { color: #94A3B8; opacity: 1; }
.contacts-page-block .contacts-page-block__channel-link:focus { outline: none; box-shadow: 0 0 0 4px #CCFBF1; }

/* ===== PAGE: privacy ===== */
.privacy-policy-section .js-policy-card {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.privacy-policy-section .js-policy-card:hover {
  border-color: #99F6E4;
}
.privacy-policy-section input::placeholder {
  color: #94A3B8;
  opacity: 1;
}

/* ===== PAGE: terms ===== */
.terms-content-section a{text-decoration-skip-ink:auto;}.terms-content-section .js-term-card{scroll-margin-top:2rem;}.terms-content-section .js-nav-link.active{background-color:#F0FDFA;color:#0F766E;font-weight:600;}

/* ===== PAGE: disclaimer ===== */
.disclaimer-section { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .disclaimer-section a { transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; }

.comment-card {
    position: relative;
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 1.5rem;
    box-shadow: 0 10px 30px -10px rgba(15, 118, 110, 0.08);
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

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

.comment-avatar {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    border-radius: 9999px;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #0F766E;
    color: #FFFFFF;
    font-weight: 600;
    letter-spacing: 0.025em;
}

.comment-avatar img {
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    object-fit: cover;
}

.comment-body {
    color: #475569;
    font-size: 1rem;
    line-height: 1.65;
}

.comment-action-btn {
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.comment-action-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px #CCFBF1;
}

.reply-thread {
    position: relative;
}

.reply-card {
    background-color: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 1rem;
    transition: border-color 0.2s ease-in-out;
}

.reply-card:hover {
    border-color: #BAE6FD;
}

.reply-avatar {
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    border-radius: 9999px;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #0284C7;
    color: #FFFFFF;
    font-weight: 600;
    letter-spacing: 0.025em;
}

.reply-avatar img {
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    object-fit: cover;
}

.reply-body {
    color: #475569;
    font-size: 0.875rem;
    line-height: 1.6;
}

.comment-action-btn {
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.comment-action-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px #BAE6FD;
}


/* ===== PAGE TEMPLATE: comment-handbook ===== */
.site-main-header .js-dropdown-menu {
    min-width: 18rem;
    box-shadow: 0 20px 45px -15px rgba(15, 23, 42, 0.12);
}

.site-main-header button:focus-visible,
.site-main-header a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #CCFBF1;
}

.case-detail-container .case-content-body h1,
.case-detail-container .case-content-body h2,
.case-detail-container .case-content-body h3,
.case-detail-container .case-content-body h4,
.case-detail-container .case-content-body h5 {
    color: #0F172A;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.case-detail-container .case-content-body p {
    line-height: 1.65;
}

.site-footer a {
    transition: color 0.15s ease-in-out;
}

.site-footer-disclaimer {
    box-shadow: 0 4px 20px -4px rgba(15, 118, 110, 0.05);
}

/* ===== PAGE TEMPLATE: review-cases ===== */
.site-main-header .js-dropdown-menu {
    min-width: 18rem;
    box-shadow: 0 20px 45px -15px rgba(15, 23, 42, 0.12);
}

.site-main-header button:focus-visible,
.site-main-header a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px #CCFBF1;
}

.case-detail-container .case-content-body h1,
.case-detail-container .case-content-body h2,
.case-detail-container .case-content-body h3,
.case-detail-container .case-content-body h4,
.case-detail-container .case-content-body h5 {
    color: #0F172A;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.case-detail-container .case-content-body p {
    line-height: 1.65;
}

.site-footer a {
    transition: color 0.15s ease-in-out;
}

.site-footer-disclaimer {
    box-shadow: 0 4px 20px -4px rgba(15, 118, 110, 0.05);
}