/* ==========================================================================
   Responsive — tüm @media kuralları (geniş → dar)
   ========================================================================== */

/* ---- 1100px ve altı ---- */
@media (max-width: 1100px) {
    .nav-menu {
        gap: 1.4rem;
    }

    .pillar {
        grid-template-columns: 1.5fr 3.5fr 5fr;
    }

    .pillar-tool {
        display: none;
    }

    .eras {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 2.5rem;
    }

    .steps {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 3rem;
    }

    .steps::before {
        display: none;
    }

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

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

    .method-item:nth-child(3) {
        padding-inline-start: 0;
        border-inline-start: none;
    }
}

/* ---- 992px ve altı (tablet) ---- */
@media (max-width: 992px) {
    .hamburger {
        display: flex;
    }

    .nav-menu {
        position: fixed;
        top: var(--navbar-height);
        inset-inline-start: 0;
        inset-inline-end: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 1rem var(--gutter) 2rem;
        max-height: calc(100dvh - var(--navbar-height));
        overflow-y: auto;
        background: var(--paper);
        border-bottom: 1px solid var(--rule);
        transform: translateY(-110%);
        visibility: hidden;
        transition: transform 0.5s var(--ease-out), visibility 0s linear 0.5s;
    }

    .nav-menu.active {
        transform: none;
        visibility: visible;
        transition: transform 0.5s var(--ease-out), visibility 0s;
    }

    .nav-menu li {
        border-bottom: 1px solid var(--rule);
    }

    .nav-menu a {
        display: block;
        padding: 1rem 0;
        font-family: var(--font-display);
        font-size: 1.6rem;
        font-weight: 400;
    }

    .nav-menu a::after {
        display: none;
    }

    .nav-menu li:last-child {
        border-bottom: none;
        padding-top: 1.2rem;
    }

    .nav-menu .nav-cta {
        display: inline-flex;
        font-family: var(--font-body);
        font-size: 1rem;
        padding: 0.8rem 1.2rem;
    }

    .section-head,
    .page-header .header-content {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .section-label {
        padding-top: 0;
    }

    .page-header .crumb {
        padding-bottom: 0;
    }

    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-globe {
        margin: -2rem calc(var(--gutter) * -1) 0;
        max-width: 640px;
        justify-self: center;
    }

    .hero-globe figcaption {
        margin-inline-end: var(--gutter);
    }

    .ledger {
        grid-template-columns: 1fr 1fr;
    }

    .ledger > div:nth-child(3) {
        padding-inline-start: 0;
        border-inline-start: none;
    }

    .ledger > div:nth-child(n + 3) {
        border-top: 1px solid var(--rule);
    }

    .rihla-grid {
        grid-template-columns: 1fr;
    }

    .rihla-ar {
        text-align: center;
        white-space: normal;
    }

    .manifesto {
        grid-template-columns: 1fr 1fr;
    }

    .manifesto p:first-child {
        grid-column: 1 / -1;
    }

    .manifesto p:nth-child(2) {
        grid-column: 1;
    }

    .manifesto .link-arrow {
        grid-column: 2;
        align-self: end;
    }

    .record-wrap,
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .record,
    .record-text,
    .contact-intro,
    .contact-form {
        grid-column: 1;
    }

    .record {
        max-width: 560px;
    }

    .regions {
        grid-template-columns: 1fr;
    }

    .invite {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .invite-actions {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }

    .story {
        grid-template-columns: 1fr;
    }

    .story-label,
    .story-text,
    .story-aside {
        grid-column: 1;
    }

    .story-aside {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 2rem;
    }

    .pilot-section {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .principles {
        grid-template-columns: 1fr 1fr;
    }

    .principle:not(:nth-child(3n + 1)) {
        padding-inline-start: 0;
        border-inline-start: none;
    }

    .principle:nth-child(even) {
        padding-inline-start: 2rem;
        border-inline-start: 1px solid var(--rule-strong);
    }

    .closing {
        grid-template-columns: 1fr;
    }

    .atlas-panel {
        width: 310px;
    }

    .time-ah {
        font-size: 1.4rem;
    }

    .footer-content {
        grid-template-columns: 1fr 1fr;
    }

    .footer-content .footer-section:first-child {
        grid-column: 1 / -1;
    }
}

/* ---- 768px ve altı (mobil) ---- */
@media (max-width: 768px) {
    :root {
        --navbar-height: 64px;
    }

    .brand-mark {
        width: 32px;
        height: 32px;
    }

    .brand-name {
        font-size: 1.3rem;
    }

    .navbar .brand-tagline {
        display: none;
    }

    .hero-title {
        font-size: clamp(2.8rem, 12vw, 4rem);
    }

    .hero-lead {
        font-size: 1.05rem;
    }

    .hero-globe figcaption {
        align-items: center;
        text-align: center;
        margin: 0.5rem 0 0;
    }

    /* Küre küçülünce etiketler okunur kalsın: büyüt, ikincilleri gizle */
    .globe-labels text {
        font-size: 25px;
        stroke-width: 6px;
    }

    .globe-labels text.is-minor {
        display: none;
    }

    .manifesto {
        grid-template-columns: 1fr;
    }

    .manifesto p:nth-child(2),
    .manifesto .link-arrow {
        grid-column: 1;
    }

    .pillar {
        grid-template-columns: 3.5rem 1fr;
        row-gap: 0.6rem;
    }

    .pillar p {
        grid-column: 2;
    }

    .pillar:hover {
        padding-inline: 0;
    }

    .record {
        transform: none;
        padding: 1.6rem 1.4rem 1.4rem;
    }

    .record-fields > div {
        grid-template-columns: 1fr;
        gap: 0.1rem;
    }

    .region {
        grid-template-columns: 2.2rem 1fr;
    }

    .region .flag {
        grid-column: 2;
    }

    .chrono {
        display: none;
    }

    .eras,
    .steps {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .step {
        display: grid;
        grid-template-columns: 4.5rem 1fr;
        column-gap: 1.2rem;
        align-items: start;
    }

    .step-num {
        width: 4.5rem;
        height: 4.5rem;
        font-size: 2.1rem;
        margin: 0;
        grid-row: span 3;
    }

    .step-now {
        position: static;
        padding: 0;
        margin-bottom: 0.3rem;
    }

    .article-card {
        grid-template-columns: 1fr;
        gap: 0.4rem;
    }

    .article-card:hover {
        padding-inline: 0;
    }

    .article-go {
        display: none;
    }

    .story-aside,
    .pilot-team,
    .pilot-methods,
    .mv-grid,
    .principles,
    .team-grid,
    .atlas-next {
        grid-template-columns: 1fr;
    }

    .mv-card + .mv-card {
        border-inline-start: none;
        padding-inline-start: 0;
        border-top: 1px solid var(--rule-strong);
        margin-top: 2rem;
    }

    .principle:nth-child(even) {
        padding-inline-start: 0;
        border-inline-start: none;
    }

    .pilot-head {
        grid-template-columns: 1fr;
    }

    .article-meta-info {
        flex-direction: column;
        gap: 0.4rem;
    }

    .article-navigation {
        flex-direction: column;
    }

    .article-navigation .btn {
        width: 100%;
    }

    /* Atlas: harita tam ekran, panel üstte açılır, cetvel altta */
    .atlas-stage {
        --pad: 10px;
        --time-h: 196px;
        min-height: 560px;
    }

    .atlas-panel {
        width: auto;
        inset-inline-end: var(--pad);
    }

    .atlas-panel h1 {
        font-size: 1.45rem;
    }

    /* Yakınlaştırma ve kaynak bilgisi kapalı panelin altına insin */
    .atlas-map .leaflet-top {
        top: 94px;
    }

    .atlas-map .leaflet-control-zoom {
        margin-top: 0;
    }

    .atlas-time {
        padding: 0.65rem 0.8rem 0.45rem;
    }

    .time-head {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .time-ah {
        font-size: 1.25rem;
    }

    .time-controls {
        flex-wrap: nowrap;
    }

    .time-sizes {
        overflow-x: auto;
        scrollbar-width: none;
        flex: 1;
        min-width: 0;
    }

    .time-sizes .chip {
        white-space: nowrap;
    }

    .time-dhahabi span {
        display: none;
    }

    .time-tick:nth-child(odd):not(.is-start) {
        display: none;
    }

    .method-grid {
        grid-template-columns: 1fr;
    }

    .method-item,
    .method-item + .method-item {
        padding-inline-start: 0;
        border-inline-start: none;
    }

    .footer-content {
        grid-template-columns: 1fr;
    }
}

/* ---- 480px ve altı ---- */
@media (max-width: 480px) {
    .ledger {
        grid-template-columns: 1fr;
    }

    .ledger > div,
    .ledger > div + div {
        padding: 1.1rem 0;
        border-inline-start: none;
    }

    .ledger > div + div {
        border-top: 1px solid var(--rule);
    }

    .hero-actions {
        gap: 1.4rem;
    }

    .btn {
        min-height: 48px;
    }

    .invite {
        padding: 1.6rem;
    }
}

/* ---- Yazdırma: makale ve sayfalar temiz çıktı versin ---- */
@media print {
    @page {
        margin: 2cm 2.2cm;
    }

    body {
        background: #fff;
        color: #000;
        font-size: 11pt;
    }

    body::before,
    .navbar,
    .footer,
    .skip-link,
    .scroll-progress,
    .hamburger,
    .breadcrumb,
    .article-navigation,
    .hero-globe,
    .invite-section,
    .contact-form,
    .atlas-stage {
        display: none !important;
    }

    .js [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
    }

    .section,
    .article-content,
    .page-header {
        padding: 0 0 1.5rem;
    }

    .section-sunk {
        background: none;
    }

    h1, h2, h3 {
        color: #000;
        break-after: avoid;
    }

    p, li, blockquote {
        orphans: 3;
        widows: 3;
    }

    .article-body {
        font-size: 11pt;
        color: #000;
    }

    .article-body a[href^="http"]::after {
        content: ' (' attr(href) ')';
        font-family: var(--font-mono);
        font-size: 8pt;
        color: #555;
    }

    .frame {
        box-shadow: none;
        outline: none;
    }
}
