/* ===========================================
   STRIX TYPOGRAPHY — Centralized Type System
   All text styles managed from this single file.
   ===========================================

   TABLE OF CONTENTS
   01. Font Imports & Base
   02. Heading Defaults (h1–h6)
   03. Page Header Title
   04. Section Titles (Services & Pages)
   05. Section Subtitles & Badges
   06. Section Descriptions
   07. Card / Feature Titles
   08. Card / Feature Descriptions
   09. Navigation / Menu Typography
   10. List & Body Copy
   11. Responsive Adjustments
   =========================================== */

/* -----------------------------------------
   01. FONT IMPORTS & BASE
   ----------------------------------------- */
body {
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    color: #707070;
    font-weight: 400;
    line-height: 1.75;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

p {
    font-size: 16px;
    line-height: 1.75;
}

/* -----------------------------------------
   02. HEADING DEFAULTS (h1 – h6)
   ----------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Tomorrow", sans-serif; /* Standardizing on Tomorrow for all main headers */
    font-weight: 300;
    line-height: 1.15;
    color: #1e1e2e;
    margin: 0 0 1.25rem;
    letter-spacing: -0.02em;
}

h1 {
    font-size: 3.052em;
}

h2 {
    font-size: 2.441em;
}

h3 {
    font-size: 1.953em;
}

h4 {
    font-size: 1.563em;
}

h5 {
    font-size: 1.25em;
}

h6 {
    font-size: 1em;
}

.strix-text-gradient {
    background: linear-gradient(135deg, #a855f7 0%, #6c3bff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* -----------------------------------------
   03. PAGE HEADER TITLE
   ----------------------------------------- */
.strix-page-header {
    font-family: 'Inter', sans-serif;
}

.strix-page-header-title {
    font-family: 'Tomorrow', sans-serif;
    font-size: 3rem;
    font-weight: 300; /* DNA style light weight */
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: #ffffff;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
    margin: 0;
}

@media (min-width: 768px) {
    .strix-page-header-title {
        font-size: 4.5rem;
    }
}

/* -----------------------------------------
   04. SECTION TITLES (Services & Pages)
   All service pages share the same title styles.
   Prefixed variants are aliased here.
   ----------------------------------------- */
.strix-section-title,
.strix-srv-title,
.strix-sym-title,
.strix-split-title,
.strix-wide-title,
.strix-minimal-title,
.w3-section-title,
.cs-section-title,
.as-section-title,
.pt-section-title,
.svo-title,
.strix-h1 {
    font-family: "Tomorrow", sans-serif !important;
    font-size: 2.8rem !important;
    font-weight: 300 !important; /* Non-bold, light technical look matching 'The DNA' */
    color: #1e1e2e;
    margin-bottom: 1.25rem;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

/* Slightly smaller variant used in feature blocks */
.strix-h2-sub {
    font-family: "Tomorrow", sans-serif;
    font-size: 2rem;
    font-weight: 300;
    margin-bottom: 1.5rem;
}

/* Larger variant for featured / hero-like sections */
.strix-sym-title {
    font-size: 3.2rem;
    margin-bottom: 1.5rem;
}

.strix-split-title {
    font-size: 3rem;
    margin-bottom: 1.5rem;
}

/* -----------------------------------------
   05. SECTION SUBTITLES & BADGES
   ----------------------------------------- */
.strix-srv-badge,
.w3-badge,
.cs-badge,
.as-badge,
.pt-badge,
.strix-badge {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.strix-subtitle,
.strix-h3-sub {
    font-family: "Montserrat", sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: #A855F7;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.strix-h3-sub {
    letter-spacing: 0.05em;
}

/* -----------------------------------------
   06. SECTION DESCRIPTIONS
   ----------------------------------------- */
.strix-section-desc,
.strix-srv-desc,
.strix-sym-desc,
.strix-split-desc,
.w3-section-desc,
.cs-section-desc,
.as-section-desc,
.pt-section-desc,
.strix-p,
.srv-lead {
    font-size: 1.15rem;
    color: #4a5568;
    line-height: 1.8;
}

.strix-section-desc,
.strix-sym-desc,
.strix-split-desc,
.w3-section-desc,
.cs-section-desc,
.as-section-desc,
.pt-section-desc {
    max-width: 700px;
}

.strix-srv-desc {
    margin-bottom: 2rem;
    max-width: none;
}

.strix-sym-desc {
    font-size: 1.2rem;
    max-width: 800px;
    margin: 0 auto 4rem auto;
}

.strix-split-desc {
    margin-bottom: 2rem;
    max-width: none;
}

/* -----------------------------------------
   07. CARD / FEATURE TITLES
   ----------------------------------------- */
.strix-card-title,
.strix-sym-feature-title,
.strix-split-feature-title,
.strix-wide-card-title,
.strix-minimal-card-title,
.w3-card-title,
.w3-glass-card-title,
.cs-card-title,
.as-card-title,
.as-process-title,
.pt-dark-card-title,
.pt-chevron-title {
    font-family: 'Tomorrow', sans-serif;
    font-weight: 300; /* DNA style light weight */
    color: #1e1e2e;
    font-size: 1.15rem;
    line-height: 1.5;
    margin: 0 0 1rem;
}

/* Titles styled from Services */
.srv-card-title,
.strix-h3,
.strix-h4 {
    font-family: 'Tomorrow', sans-serif;
    font-weight: 300; /* DNA style light weight */
    color: #1a1a2e;
    font-size: 1.5rem;
    margin: 0;
}

.strix-h4 {
    font-size: 1.25rem;
}


.pt-chevron-title {
    font-size: 1rem;
    margin-bottom: 0;
}

/* -----------------------------------------
   08. CARD / FEATURE DESCRIPTIONS
   ----------------------------------------- */
.strix-card-desc,
.w3-card-desc,
.cs-card-desc,
.as-card-desc,
.pt-dark-card-desc,
.srv-card-desc,
.strix-feature-text {
    font-size: 0.95rem;
    color: #4a5568;
    line-height: 1.7;
    margin: 0;
}

.srv-card-desc {
    color: #555;
    line-height: 1.6;
}

.strix-feature-text {
    font-size: 1rem;
    line-height: 1.6;
}

.srv-card-link {
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6c3bff;
}

.section-heading h2 span {
    font-weight: 400;
    font-size: 2rem;
}

/* -----------------------------------------
   09. NAVIGATION / MENU TYPOGRAPHY
   ----------------------------------------- */
.main-menu ul>li a {
    font-size: 14px;
    font-weight: 400;
    font-family: "Open Sans", sans-serif;
}

.main-menu ul>li .submenu>a {
    font-size: 14px;
    font-weight: 400;
}

/* -----------------------------------------
   10. LIST & BODY COPY
   ----------------------------------------- */
.strix-srv-feature-list li {
    font-size: 1rem;
    font-weight: 400;
    color: #2d3748;
}

.strix-srv-feature-list li::before {
    font-weight: 700;
    font-size: 1.2rem;
}

strong,
b {
    font-weight: 500;
    font-family: "Montserrat", sans-serif;
}

a {
    text-decoration: none !important;
    transition: all 0.3s ease-in-out;
}

small,
.text_small {
    font-size: 0.8em;
}

.strix-quote {
    font-style: italic;
    font-size: 1rem;
    color: #2d3748;
}

.strix-philosophy-num {
    font-family: "Tomorrow", sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
}

/* Hero h1 on home page */
.hero-content-left h1 {
    font-family: "Tomorrow", sans-serif;
    font-size: 27px;
    font-weight: 300;
    line-height: 60px;
}

.hero-content-left h1 span {
    font-weight: 400;
}

/* Terminal badge code tags */
.pt-chevron-title code,
.strix-card-title code {
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* Scan dashboard labels */
.pt-scan-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.35);
}

.pt-scan-value {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 0.9rem;
}

/* Terminal typography */
.pt-terminal-prompt {
    font-weight: 700;
}

/* -----------------------------------------
   11. RESPONSIVE ADJUSTMENTS
   ----------------------------------------- */
@media (max-width: 768px) {

    .strix-section-title,
    .strix-srv-title,
    .strix-sym-title,
    .strix-split-title,
    .strix-wide-title,
    .strix-minimal-title,
    .w3-section-title,
    .cs-section-title,
    .as-section-title,
    .pt-section-title {
        font-size: 2.2rem;
    }

    .strix-page-header-title {
        font-size: 2.5rem;
    }
}