/* =========================================================
   SITE-WIDE RESPONSIVE READABILITY
   Loaded last so all page templates share the same legible,
   screen-aware type scale and layout safeguards.
   ========================================================= */

:root {
    --fluid-copy: clamp(.9375rem, .25vw + .89rem, 1.0625rem);
    --fluid-small: clamp(.8125rem, .15vw + .79rem, .9375rem);
    --fluid-h1: clamp(1.8rem, 3.2vw, 3.25rem);
    --fluid-h2: clamp(1.35rem, 1.8vw, 2.1rem);
    --fluid-h3: clamp(1rem, .65vw, 1.2rem);
    --page-gutter: clamp(1rem, 3vw, 2rem);
}

html {
    font-size: 100%;
}

body {
    min-width: 320px;
    overflow-x: clip;
    font-size: var(--fluid-copy);
    line-height: 1.65;
    text-rendering: optimizeLegibility;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

img {
    height: auto;
}

.container {
    padding-inline: var(--page-gutter);
}

/* Headings remain prominent without overflowing on narrow screens. */
h1 {
    font-size: var(--fluid-h1) !important;
    line-height: 1.08 !important;
}

h2 {
    font-size: var(--fluid-h2) !important;
    line-height: 1.18 !important;
}

h3 {
    font-size: var(--fluid-h3) !important;
    line-height: 1.3 !important;
}

h4,
h5,
h6 {
    font-size: clamp(.9rem, .45vw + .82rem, 1rem) !important;
    line-height: 1.35 !important;
}

/* The main body content is intentionally larger than interface metadata. */
p:not(.eyebrow),
li,
label,
input,
select,
textarea,
.form-control,
.form-select {
    font-size: var(--fluid-copy) !important;
}

small,
.eyebrow,
.nav-link,
.footer-bottom,
.footer-bottom-links,
.footer-bottom-links a {
    font-size: var(--fluid-small) !important;
}

.btn,
.home-service-card a,
.feature-card a,
.story-card a {
    min-height: 44px;
    font-size: var(--fluid-small) !important;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.feature-card,
.service-tile,
.story-card,
.scenario-card,
.process-card,
.info-card,
.outcome-box,
.case-metric,
.case-outcome,
.architecture-grid > article,
.home-service-card,
.partner-logo-item {
    padding: clamp(1.15rem, 2vw, 1.8rem);
}

.feature-card p,
.service-tile p,
.story-card p,
.scenario-card p,
.process-card p,
.home-service-card p,
.detail-band p,
.success-preview-content > p,
.about-founder-description,
.about-company-description {
    line-height: 1.65 !important;
}

/* Retail case study: a dedicated readable editorial scale. */
.case-hero .hero-copy,
.case-study-details p,
.case-study-details li,
.case-study-details small,
.effort-card p,
.outcomes-section p,
.footer-cta-text p {
    font-size: clamp(.95rem, .25vw + .9rem, 1.0625rem) !important;
    line-height: 1.65 !important;
}

.case-study-details .info-card,
.effort-card,
.outcomes-section .outcome-box {
    padding: clamp(1.25rem, 2.5vw, 2rem);
}

.case-study-details .info-card h2,
.effort-card h2,
.outcomes-section h2,
.footer-cta-text h2 {
    font-size: clamp(1.35rem, 1.8vw, 2.1rem) !important;
}

.case-study-details .info-card li {
    margin-bottom: .55rem;
}

.case-study-details .fact-grid small,
.case-study-details .fact-grid b,
.metric-grid small,
.metric-grid strong,
.outcomes-section .outcome-box h5 {
    font-size: var(--fluid-small) !important;
    line-height: 1.45 !important;
}

.case-study-details .fact-grid b,
.metric-grid strong {
    font-size: clamp(1.1rem, 1vw, 1.35rem) !important;
}

/* Keep the featured dashboard compact on desktop and fully readable on phones. */
.identity-dashboard small,
.identity-dashboard .dashboard-title,
.identity-dashboard .dashboard-metrics b,
.identity-dashboard .dashboard-charts b,
.identity-dashboard .recent-activity,
.identity-dashboard .recent-activity div,
.identity-dashboard .provisioning-chart ul,
.identity-dashboard .donut span {
    font-size: 8px !important;
}

.identity-dashboard .dashboard-title {
    font-size: 10px !important;
}

.identity-dashboard .dashboard-metrics b {
    font-size: 12px !important;
}

.identity-dashboard .dashboard-charts b,
.identity-dashboard .recent-activity {
    font-size: 7px !important;
}

.identity-dashboard .recent-activity div,
.identity-dashboard .provisioning-chart ul,
.identity-dashboard .provisioning-chart li,
.identity-dashboard .donut span {
    font-size: 6px !important;
}

.identity-dashboard .provisioning-chart ul {
    white-space: nowrap;
}

/* Prevent long labels, diagrams, and cards from forcing horizontal scrolling. */
.row > *,
.architecture-grid > *,
.partner-list > *,
.process-grid > *,
.outcome-grid > *,
.success-preview > *,
.split-panels > * {
    min-width: 0;
}

@media (max-width: 991px) {
    .site-header .navbar {
        min-height: 70px;
    }

    .hero-actions,
    .trust-list {
        gap: 12px;
    }

    .home-dashboard,
    .security-visual,
    .about-hero-visual {
        max-width: 680px;
        margin-inline: auto;
    }

    .success-preview,
    .agentic-service,
    .about-intro-grid,
    .split-panels {
        grid-template-columns: 1fr;
    }

    .success-preview-image,
    .success-preview-image img {
        min-height: 260px;
    }
}

@media (max-width: 767px) {
    .section,
    .home-services,
    .home-success-story,
    .home-outcomes {
        padding-block: clamp(3.25rem, 10vw, 4.5rem);
    }

    .navbar-collapse {
        margin-top: 8px;
    }

    .nav-link {
        padding-block: .8rem !important;
    }

    .hero-actions,
    .hero-actions .btn {
        width: 100%;
    }

    .hero-actions .btn {
        min-height: 48px;
    }

    .process-grid,
    .outcome-grid,
    .architecture-grid,
    .about-value-grid,
    .leadership-grid,
    .metric-grid,
    .deliverable-grid {
        grid-template-columns: 1fr !important;
    }

    .home-service-card,
    .feature-card,
    .story-card,
    .scenario-card,
    .process-card {
        min-height: 0;
    }

    .success-preview-content {
        padding: 1.5rem;
    }

    .success-preview-metrics,
    .dashboard-stats,
    .dashboard-bottom {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .arch-columns::before,
    .arch-columns::after {
        display: none;
    }

    .site-footer {
        padding-top: 2.5rem;
    }

    .case-study-details .fact-grid,
    .case-study-details .metric-grid {
        grid-template-columns: 1fr !important;
    }

    .identity-dashboard {
        grid-template-columns: 36px minmax(0, 1fr);
        max-width: 100%;
        min-height: 0;
        border-width: 4px;
    }

    .identity-dashboard .dashboard-sidebar {
        gap: 22px;
        padding-top: 18px;
        font-size: 13px;
    }

    .identity-dashboard .dashboard-content {
        padding: 14px;
    }

    .identity-dashboard .dashboard-title {
        font-size: 13px !important;
    }

    .identity-dashboard .dashboard-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .identity-dashboard .dashboard-metrics span {
        padding: 10px;
    }

    .identity-dashboard .dashboard-metrics small {
        overflow: visible;
        font-size: 11px !important;
        line-height: 1.25;
        white-space: normal;
    }

    .identity-dashboard .dashboard-metrics b {
        font-size: 17px !important;
    }

    .identity-dashboard .dashboard-charts {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 10px;
    }

    .identity-dashboard .dashboard-charts > div,
    .identity-dashboard .recent-activity {
        padding: 10px;
    }

    .identity-dashboard .dashboard-charts b,
    .identity-dashboard .recent-activity > b {
        font-size: 11px !important;
    }

    .identity-dashboard .line-chart svg {
        height: 105px;
    }

    .identity-dashboard .line-chart text {
        font-size: 9px;
    }

    .identity-dashboard .donut {
        width: 72px;
        height: 72px;
    }

    .identity-dashboard .donut::before {
        width: 48px;
        height: 48px;
    }

    .identity-dashboard .donut span {
        top: 46px;
        left: 25px;
        font-size: 9px !important;
    }

    .identity-dashboard .provisioning-chart ul {
        top: 32px;
        right: 18px;
        font-size: 11px !important;
        line-height: 1.9;
    }

    .identity-dashboard .provisioning-chart li {
        font-size: 11px !important;
    }

    .identity-dashboard .provisioning-chart li i {
        width: 7px;
        height: 7px;
        margin-right: 5px;
    }

    .identity-dashboard .recent-activity {
        display: none;
    }

    .footer-bottom,
    .footer-bottom-links {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 420px) {
    .dashboard-stats,
    .dashboard-bottom,
    .success-preview-metrics {
        grid-template-columns: 1fr;
    }

    .site-header .logo-link img {
        width: 34px;
        height: 34px;
    }

    .atikes-brand-name {
        font-size: .95rem;
    }
}
