/* ============================================
   AEGIS CONSULTING
   Responsive Stylesheet
   Breakpoints: 1200px, 1024px, 768px, 480px, 375px
   ============================================ */

/* ============================================
   1200px — Large Desktop
   ============================================ */
@media (max-width: 1200px) {
    :root {
        --section-spacing: 100px;
    }

    .container {
        padding: 0 32px;
    }

    .header-inner {
        padding: 0 32px;
    }

    .hero-grid {
        gap: 56px;
    }

    .founder-grid {
        grid-template-columns: 360px 1fr;
        gap: 56px;
    }

    .contact-grid {
        gap: 48px;
    }

    .attorney-layout {
        gap: 56px;
    }

    .timeline::before {
        left: 100px;
    }

    .timeline-item {
        grid-template-columns: 100px 1fr;
        gap: 36px;
    }

    .timeline-item::before {
        left: 96px;
    }
}

/* ============================================
   1024px — Small Desktop / Tablet Landscape
   ============================================ */
@media (max-width: 1024px) {
    :root {
        --section-spacing: 88px;
    }

    .main-nav {
        gap: 24px;
    }

    .main-nav ul {
        gap: 24px;
    }

    .header-cta .btn {
        padding: 11px 18px;
        font-size: 10px;
    }

    .hero {
        padding-top: 160px;
        padding-bottom: 80px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 64px;
        max-width: 820px;
    }

    .hero-content {
        max-width: 100%;
    }

    .evidence-card-wrap {
        position: relative;
        top: 0;
        max-width: 520px;
        margin: 0 auto;
    }

    .hero-credentials {
        gap: 32px;
        max-width: 100%;
    }

    .credential-value {
        font-size: 24px;
    }

    .standard-grid {
        gap: 24px;
    }

    .standard-card {
        padding: 44px 36px;
    }

    .standard-card-number {
        font-size: 96px;
    }

    .criteria-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .selfcheck {
        position: relative;
        top: 0;
        max-width: 480px;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .founder-grid {
        grid-template-columns: 320px 1fr;
        gap: 48px;
    }

    .founder-meta {
        grid-template-columns: 1fr;
    }

    .meta-block {
        padding: 24px 0;
        border-right: none !important;
        border-bottom: 1px solid var(--border-light);
    }

    .meta-block:last-child {
        border-bottom: none;
    }

    .attorney-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .attorney-side {
        padding: 44px 36px;
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
    }

    .footer-brand-col {
        grid-column: 1 / -1;
    }
}

/* ============================================
   768px — Tablet
   ============================================ */
@media (max-width: 768px) {
    :root {
        --section-spacing: 72px;
        --section-spacing-lg: 96px;
    }

    body {
        font-size: 15px;
    }

    .container {
        padding: 0 24px;
    }

    .header-inner {
        padding: 0 24px;
        height: 72px;
    }

    .site-header.scrolled .header-inner {
        height: 64px;
    }

    .main-nav,
    .header-cta {
        display: none;
    }

    .hamburger {
        display: flex;
    }

    .logo-title {
        font-size: 18px;
    }

    .logo-icon {
        width: 32px;
        height: 38px;
    }

    .logo-subtitle {
        font-size: 9px;
        letter-spacing: 0.15em;
    }

    .hero {
        padding-top: 140px;
        padding-bottom: 64px;
    }

    .hero-heading {
        font-size: clamp(40px, 9vw, 64px);
        margin-bottom: 28px;
    }

    .hero-desc {
        font-size: 16px;
        margin-bottom: 36px;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-bottom: 56px;
    }

    .hero-buttons .btn {
        width: 100%;
        padding: 15px 24px;
    }

    .hero-credentials {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-top: 32px;
    }

    .credential-item {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
    }

    .credential-value {
        font-size: 22px;
    }

    .section-heading {
        margin-bottom: 20px;
    }

    .section-intro {
        font-size: 16px;
        margin-bottom: 48px;
    }

    .evidence-card {
        box-shadow:
            0 1px 2px rgba(23, 32, 29, 0.04),
            0 12px 40px -16px rgba(23, 32, 29, 0.12);
    }

    .evidence-header {
        padding: 22px 24px 18px;
    }

    .evidence-header-text h3 {
        font-size: 19px;
    }

    .evidence-row {
        grid-template-columns: 48px 1fr auto;
        padding: 12px 24px;
        gap: 10px;
    }

    .evidence-title {
        font-size: 12px;
        padding-right: 8px;
    }

    .evidence-status {
        font-size: 8px;
        padding: 3px 8px;
    }

    .evidence-footer {
        padding: 14px 24px 20px;
    }

    .standard-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 48px;
    }

    .standard-card {
        padding: 40px 28px;
    }

    .standard-card-number {
        font-size: 80px;
        right: 24px;
    }

    .standard-card-title {
        font-size: 26px;
    }

    .criteria-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .criterion-inner {
        padding: 20px;
    }

    .services-grid {
        margin-top: 48px;
    }

    .service-card {
        padding: 32px 24px 28px;
    }

    .service-title {
        font-size: 22px;
    }

    .timeline {
        margin-top: 48px;
    }

    .timeline::before {
        left: 20px;
    }

    .timeline-item {
        grid-template-columns: 60px 1fr;
        gap: 20px;
        padding: 32px 0;
    }

    .timeline-item::before {
        left: 16px;
        top: 40px;
    }

    .timeline-number {
        font-size: 32px;
        padding-top: 24px;
    }

    .timeline-content h3 {
        font-size: 22px;
        padding-top: 28px;
    }

    .timeline-content p {
        font-size: 14px;
    }

    .founder-grid {
        grid-template-columns: 1fr;
        gap: 48px;
        margin-top: 48px;
    }

    .founder-portrait {
        position: relative;
        top: 0;
        max-width: 380px;
        margin: 0 auto;
        width: 100%;
    }

    .founder-initials {
        font-size: 72px;
    }

    .founder-content h2 {
        font-size: clamp(36px, 8vw, 52px);
    }

    .founder-role {
        margin-bottom: 28px;
    }

    .founder-meta {
        margin-top: 40px;
    }

    .attorney-layout {
        margin-top: 48px;
    }

    .attorney-feature {
        padding: 22px 0;
    }

    .feature-text {
        font-size: 14px;
    }

    .attorney-side-quote {
        font-size: 22px;
    }

    .faq-list {
        margin-top: 48px;
    }

    .faq-question {
        padding: 24px 0;
        gap: 20px;
    }

    .faq-question-text {
        font-size: 18px;
    }

    .contact-grid {
        margin-top: 48px;
    }

    .contact-info-block {
        padding: 36px 28px;
    }

    .contact-form-wrap {
        padding: 36px 28px;
    }

    .form-row-double {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .contact-direct {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
        padding-bottom: 40px;
    }

    .site-footer {
        padding: 60px 0 32px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .page-header {
        padding-top: 140px;
        padding-bottom: 64px;
    }

    .page-title {
        font-size: clamp(40px, 10vw, 56px);
    }

    .page-desc {
        font-size: 16px;
    }

    .disclaimer-section {
        padding: 48px 0;
    }

    .disclaimer-text {
        font-size: 13px;
    }
}

/* ============================================
   480px — Large Mobile
   ============================================ */
@media (max-width: 480px) {
    :root {
        --section-spacing: 60px;
        --section-spacing-lg: 80px;
    }

    .container {
        padding: 0 20px;
    }

    .header-inner {
        padding: 0 20px;
        height: 68px;
    }

    .site-header.scrolled .header-inner {
        height: 60px;
    }

    .logo-title {
        font-size: 16px;
    }

    .logo-icon {
        width: 28px;
        height: 34px;
    }

    .logo-subtitle {
        font-size: 8px;
    }

    .mobile-nav {
        padding: 100px 24px 24px;
        max-width: 100%;
    }

    .mobile-nav a {
        font-size: 24px;
        padding: 16px 0;
    }

    .hero {
        padding-top: 124px;
        padding-bottom: 56px;
    }

    .hero-eyebrow {
        font-size: 10px;
        margin-bottom: 24px;
        letter-spacing: 0.14em;
    }

    .hero-heading {
        font-size: clamp(36px, 11vw, 48px);
    }

    .hero-desc {
        font-size: 15px;
        line-height: 1.7;
    }

    .hero-buttons .btn {
        padding: 14px 20px;
        font-size: 11px;
    }

    .eyebrow {
        font-size: 10px;
        letter-spacing: 0.14em;
        margin-bottom: 18px;
    }

    .section-heading {
        font-size: clamp(28px, 8vw, 40px);
    }

    .section-intro {
        font-size: 15px;
        margin-bottom: 40px;
    }

    .evidence-tabs {
        top: 18px;
        right: -8px;
        gap: 4px;
    }

    .evidence-tab {
        width: 8px;
        height: 28px;
    }

    .evidence-tab:nth-child(2) { height: 22px; }
    .evidence-tab:nth-child(3) { height: 34px; }
    .evidence-tab:nth-child(4) { height: 26px; }
    .evidence-tab:nth-child(5) { height: 32px; }

    .evidence-header {
        padding: 18px 18px 14px;
    }

    .evidence-header-text h3 {
        font-size: 16px;
    }

    .evidence-header-text p {
        font-size: 9px;
    }

    .evidence-header-badge {
        font-size: 8px;
        padding: 4px 8px;
    }

    .evidence-row {
        grid-template-columns: 40px 1fr;
        grid-template-rows: auto auto;
        padding: 10px 18px;
        row-gap: 4px;
    }

    .evidence-ex {
        font-size: 10px;
    }

    .evidence-title {
        grid-column: 2;
        grid-row: 1;
        font-size: 12px;
    }

    .evidence-status {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
        font-size: 7px;
        padding: 2px 7px;
    }

    .evidence-footer {
        padding: 12px 18px 16px;
    }

    .evidence-footer-note {
        font-size: 10px;
    }

    .hero-credentials {
        gap: 20px;
    }

    .credential-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .credential-value {
        font-size: 20px;
    }

    .credential-label {
        font-size: 11px;
    }

    .standard-grid {
        margin-top: 36px;
        gap: 16px;
    }

    .standard-card {
        padding: 32px 22px;
    }

    .standard-card-number {
        font-size: 64px;
        top: 14px;
        right: 18px;
    }

    .standard-card-step {
        font-size: 10px;
        margin-bottom: 12px;
    }

    .standard-card-title {
        font-size: 22px;
        margin-bottom: 14px;
    }

    .standard-card-desc {
        font-size: 14px;
    }

    .selfcheck {
        padding: 28px 22px;
    }

    .selfcheck-label {
        margin-bottom: 16px;
    }

    .selfcheck-current {
        font-size: 52px;
    }

    .selfcheck-total {
        font-size: 22px;
    }

    .selfcheck-progress {
        margin-bottom: 22px;
    }

    .selfcheck-note {
        font-size: 11px;
        padding-top: 18px;
    }

    .criterion-inner {
        padding: 18px 16px;
        gap: 14px;
    }

    .criterion-number {
        font-size: 13px;
        min-width: 22px;
    }

    .criterion-checkbox {
        width: 18px;
        height: 18px;
        min-width: 18px;
    }

    .criterion-title {
        font-size: 13px;
    }

    .criterion-desc {
        font-size: 12px;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 36px;
    }

    .service-card {
        padding: 28px 22px 24px;
    }

    .service-number {
        margin-bottom: 16px;
    }

    .service-title {
        font-size: 20px;
    }

    .timeline {
        margin-top: 36px;
    }

    .timeline::before {
        left: 12px;
    }

    .timeline-item {
        grid-template-columns: 44px 1fr;
        gap: 16px;
        padding: 24px 0;
    }

    .timeline-item::before {
        left: 8px;
        top: 32px;
        width: 7px;
        height: 7px;
    }

    .timeline-number {
        font-size: 24px;
        padding-top: 20px;
    }

    .timeline-content h3 {
        font-size: 20px;
        padding-top: 22px;
        margin-bottom: 8px;
    }

    .founder-grid {
        margin-top: 36px;
        gap: 36px;
    }

    .founder-content h2 {
        margin-bottom: 6px;
    }

    .founder-role {
        font-size: 11px;
        margin-bottom: 24px;
    }

    .founder-bio p {
        font-size: 15px;
        margin-bottom: 16px;
    }

    .founder-meta {
        margin-top: 32px;
    }

    .meta-block {
        padding: 20px 0;
    }

    .meta-label {
        font-size: 9px;
        margin-bottom: 10px;
    }

    .meta-content {
        font-size: 15px;
    }

    .meta-content .meta-sub {
        font-size: 12px;
    }

    .attorney-layout {
        margin-top: 36px;
        gap: 36px;
    }

    .attorney-feature {
        padding: 18px 0;
        gap: 16px;
    }

    .attorney-side {
        padding: 36px 26px;
    }

    .attorney-side-quote {
        font-size: 19px;
        margin-bottom: 24px;
    }

    .attorney-side-divider {
        margin-bottom: 22px;
    }

    .faq-list {
        margin-top: 36px;
    }

    .faq-question {
        padding: 20px 0;
        gap: 16px;
    }

    .faq-question-text {
        font-size: 16px;
        padding-right: 8px;
    }

    .faq-toggle {
        width: 28px;
        height: 28px;
        min-width: 28px;
    }

    .faq-answer-inner {
        padding-bottom: 24px;
    }

    .faq-answer-inner p {
        font-size: 14px;
    }

    .contact-grid {
        margin-top: 36px;
        gap: 32px;
    }

    .contact-info-block {
        padding: 28px 22px;
    }

    .contact-form-wrap {
        padding: 28px 22px;
    }

    .form-row {
        margin-bottom: 20px;
    }

    .form-input,
    .form-textarea,
    .form-select {
        padding: 12px 14px;
        font-size: 13px;
    }

    .file-input-label {
        padding: 14px;
        font-size: 12px;
    }

    .form-checkbox-row {
        margin-bottom: 24px;
    }

    .checkbox-label {
        font-size: 12px;
    }

    .helpful-list li {
        font-size: 13px;
        padding: 12px 0;
    }

    .contact-direct {
        margin-top: 32px;
        padding-top: 28px;
        gap: 20px;
    }

    .btn {
        padding: 14px 22px;
        font-size: 11px;
    }

    .page-header {
        padding-top: 124px;
        padding-bottom: 52px;
    }

    .site-footer {
        padding: 48px 0 28px;
    }

    .footer-grid {
        gap: 32px;
        padding-bottom: 32px;
    }

    .footer-heading {
        margin-bottom: 18px;
    }

    .footer-nav ul {
        gap: 12px;
    }

    .footer-nav a {
        font-size: 13px;
    }

    .footer-contact-list {
        gap: 14px;
    }

    .footer-brand-desc {
        font-size: 13px;
    }

    .footer-copyright {
        font-size: 11px;
    }

    .footer-legal {
        gap: 20px;
    }

    .footer-legal a {
        font-size: 11px;
    }

    .disclaimer-section {
        padding: 40px 0;
    }

    .disclaimer-inner {
        padding: 0 20px;
    }

    .disclaimer-label {
        margin-bottom: 14px;
    }

    .disclaimer-text {
        font-size: 12px;
    }
}

/* ============================================
   375px — Small Mobile
   ============================================ */
@media (max-width: 375px) {
    :root {
        --section-spacing: 52px;
    }

    .container {
        padding: 0 18px;
    }

    .header-inner {
        padding: 0 18px;
    }

    .hero {
        padding-top: 116px;
    }

    .hero-heading {
        font-size: 36px;
    }

    .hero-desc {
        font-size: 14px;
    }

    .section-heading {
        font-size: 28px;
    }

    .section-intro {
        font-size: 14px;
        margin-bottom: 32px;
    }

    .hero-buttons .btn {
        font-size: 10px;
        padding: 13px 18px;
        letter-spacing: 0.1em;
    }

    .standard-card {
        padding: 28px 20px;
    }

    .standard-card-number {
        font-size: 56px;
    }

    .standard-card-title {
        font-size: 20px;
    }

    .standard-card-desc {
        font-size: 13px;
    }

    .evidence-header {
        padding: 16px 16px 12px;
    }

    .evidence-row {
        padding: 10px 16px;
    }

    .evidence-footer {
        padding: 10px 16px 14px;
    }

    .criterion-inner {
        padding: 16px 14px;
        gap: 12px;
    }

    .criterion-title {
        font-size: 12px;
    }

    .service-card {
        padding: 24px 20px 22px;
    }

    .service-title {
        font-size: 18px;
    }

    .service-desc {
        font-size: 13px;
    }

    .attorney-side {
        padding: 32px 22px;
    }

    .attorney-side-quote {
        font-size: 17px;
    }

    .contact-info-block,
    .contact-form-wrap {
        padding: 24px 20px;
    }

    .btn {
        padding: 13px 20px;
        font-size: 10px;
    }

    .page-title {
        font-size: 36px;
    }

    .page-desc {
        font-size: 14px;
    }

    .faq-question-text {
        font-size: 15px;
    }

    .timeline-content h3 {
        font-size: 18px;
    }

    .timeline-content p {
        font-size: 13px;
    }
}

/* ============================================
   Orientation: Landscape Mobile
   ============================================ */
@media (max-width: 850px) and (orientation: landscape) {
    .hero {
        padding-top: 130px;
    }

    .hero-heading {
        font-size: clamp(36px, 7vw, 52px);
    }

    .hero-grid {
        gap: 48px;
    }

    .evidence-card-wrap {
        max-width: 440px;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mobile-nav {
        max-width: 360px;
        padding-top: 100px;
    }
}
