@import url('/vendor/fontawesome/css/all.min.css');

/* ============================================================
   Bosphorus — blocks.css
   Luxury editorial serif. Playfair Display + DM Sans.
   Deep Bosphorus navy #0f2138, antique gold #b8923f.
   Ultra-sharp corners (0/2/4 px). Generous whitespace.
   Hairline rules, no glow gradients, high-end print feel.
   ============================================================ */

:root {
    /* ── Bosphorus semantic helpers (--bosphorus-* namespace) ── */
    --bosphorus-ink:          #0f2138;
    --bosphorus-ink-soft:     #454b52;
    --bosphorus-ink-faint:    color-mix(in srgb, #0f2138 30%, transparent);
    --bosphorus-amber:        #b8923f;
    --bosphorus-amber-pale:   #f5edd6;
    --bosphorus-amber-faint:  color-mix(in srgb, #b8923f 12%, transparent);
    --bosphorus-stone-100:    #f5efe3;
    --bosphorus-stone-200:    #ece3d2;
    --bosphorus-stone-300:    #ddd2bd;
    --bosphorus-stone-400:    #c9bda4;
    --bosphorus-stone-700:    #454b52;
    --bosphorus-stone-800:    #1b3251;
    --bosphorus-dark-bg:      #0f2138;
    --bosphorus-dark-card:    #1b3251;
    --bosphorus-dark-border:  #2a466b;
    --bosphorus-hairline:     color-mix(in srgb, #0f2138 16%, transparent);
    --bosphorus-hairline-dark:color-mix(in srgb, #f4eede 14%, transparent);
    --bosphorus-rule:         1px solid var(--bosphorus-hairline);
    --bosphorus-rule-dark:    1px solid var(--bosphorus-hairline-dark);
    --bosphorus-rule-amber:   1px solid color-mix(in srgb, #b8923f 40%, transparent);
    --bosphorus-radius-card:  var(--radius-lg, 4px);
    --bosphorus-radius-btn:   var(--radius-md, 2px);
    --bosphorus-gap-grid:     1.75rem;
    --bosphorus-transition:   200ms ease;
    --bosphorus-serif-italic: italic var(--font-heading, 'Playfair Display', serif);
}

/* ── Global base ─────────────────────────────────────────── */
body {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: var(--text-body, 1.0625rem);
    line-height: var(--leading-body, 1.7);
    color: var(--color-on-background, #1c1917);
    background: var(--color-background, #fafaf9);
}

/* ── Section ─────────────────────────────────────────────── */
.block-section {
    padding-block: clamp(3rem, 7vw, 5.5rem);
}

.block-section--bg-default {
    background: var(--color-background, #fafaf9);
}

.block-section--bg-muted {
    background: var(--color-surface-alt, #e7e5e4);
}

.block-section--bg-dark {
    background: var(--color-dark, #1c1917);
    color: var(--color-on-dark, #fafaf9);
}

.block-section--bg-bordered {
    border-block: var(--bosphorus-rule);
}

/* Section decorations — sparse, non-tiling, Meridian restraint */
.block-section--decoration-dots::after,
.block-section--decoration-dots-large::after,
.block-section--decoration-grid::after,
.block-section--decoration-hex-grid::after,
.block-section--decoration-stripes::after,
.block-section--decoration-triangles::after,
.block-section--decoration-plus-marks::after,
.block-section--decoration-rays::after,
.block-section--decoration-ray-fan::after,
.block-section--decoration-circles::after,
.block-section--decoration-blob::after,
.block-section--decoration-glow::after,
.block-section--decoration-mesh::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.04;
    background: radial-gradient(ellipse 50% 60% at 90% 20%,
        var(--color-accent, #b45309), transparent 70%);
}

.block-section { position: relative; }

/* ── Hero ────────────────────────────────────────────────── */
.block-hero {
    padding-block: clamp(5rem, 10vw, 9rem);
    background: var(--color-background, #fafaf9);
    border-block-end: var(--bosphorus-rule);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.block-hero--layout-centered,
.block-hero--layout-default {
    align-items: center;
    text-align: center;
}

.block-hero--layout-split,
.block-hero--layout-asymmetric {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.block-hero--layout-asymmetric {
    grid-template-columns: 3fr 2fr;
}

/* Gradient / image variants */
.block-hero--gradient-primary {
    background: var(--color-primary, #1c1917);
    color: var(--color-on-dark, #fafaf9);
    border-block-end: none;
}

.block-hero--gradient-dark,
.block-hero--variant-dark {
    background: var(--color-primary-dark, #0c0a09);
    color: var(--color-on-dark, #fafaf9);
    border-block-end: none;
}

.block-hero--variant-muted {
    background: var(--color-surface, #f5f5f4);
}

.block-hero--image {
    background-size: cover;
    background-position: center;
    position: relative;
}

.block-hero--image::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(28,25,23,.72) 0%, rgba(28,25,23,.28) 100%);
    pointer-events: none;
}

.block-hero--image .block-hero__inner {
    position: relative;
    z-index: 1;
}

.block-hero__inner {
    width: 100%;
    max-width: 72rem;
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 5vw, 3rem);
}

.block-hero__eyebrow {
    display: block;
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 0.8rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-m, 12px);
}

.block-hero__eyebrow::before { content: "— "; }

.block-hero__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(2.5rem, 5.5vw, 4rem);
    font-weight: 700;
    font-style: italic;
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin-block-end: var(--space-m, 12px);
}

.block-hero__subheadline {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: clamp(1.05rem, 1.8vw, 1.2rem);
    line-height: 1.75;
    color: var(--bosphorus-ink-soft);
    max-width: 50ch;
    margin-block-end: 0;
}

.block-hero--gradient-primary .block-hero__subheadline,
.block-hero--gradient-dark .block-hero__subheadline,
.block-hero--variant-dark .block-hero__subheadline,
.block-hero--image .block-hero__subheadline {
    color: var(--color-on-dark-muted, #a8a29e);
}

.block-hero__ctas {
    display: flex;
    gap: var(--space-l, 16px);
    margin-block-start: var(--space-xl, 24px);
    flex-wrap: wrap;
    align-items: center;
}

.block-hero--layout-centered .block-hero__ctas,
.block-hero--layout-default .block-hero__ctas {
    justify-content: center;
}

.block-hero__cta--primary {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    padding: 0.65rem 1.5rem;
    background: var(--color-accent, #b45309);
    color: var(--color-on-accent, #fff);
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-weight: 600;
    font-style: italic;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    border-radius: var(--bosphorus-radius-btn);
    text-decoration: none;
    border: 1px solid var(--color-accent, #b45309);
    transition: background var(--bosphorus-transition), color var(--bosphorus-transition);
}

.block-hero__cta--primary:hover {
    background: color-mix(in srgb, var(--color-accent, #b45309) 85%, black);
}

.block-hero__cta--secondary {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    padding: 0.65rem 1.5rem;
    background: transparent;
    color: inherit;
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-weight: 500;
    font-style: italic;
    font-size: 0.95rem;
    border-radius: var(--bosphorus-radius-btn);
    text-decoration: none;
    border: 1px solid currentColor;
    transition: background var(--bosphorus-transition);
}

.block-hero__cta--secondary:hover {
    background: var(--bosphorus-amber-faint);
}

.block-hero__media-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.block-hero__media {
    width: 100%;
    height: auto;
    border-radius: var(--bosphorus-radius-card);
    display: block;
}

/* ── Service Card Grid ───────────────────────────────────── */
.block-scg { }

.block-scg__header {
    margin-block-end: 2.5rem;
    max-width: 600px;
}

.block-scg--layout-centered .block-scg__header,
.block-scg--layout-default .block-scg__header {
    margin-inline: auto;
    text-align: center;
}

.block-scg__eyebrow {
    display: block;
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
}

.block-scg__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.6rem, 2.8vw, 2.1rem);
    font-style: italic;
    line-height: 1.25;
    margin: 0;
    color: var(--color-on-background, #1c1917);
}

.block-scg__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--bosphorus-gap-grid);
}

.block-scg--layout-grid-2 .block-scg__grid { grid-template-columns: repeat(2, 1fr); }
.block-scg--layout-grid-3 .block-scg__grid { grid-template-columns: repeat(3, 1fr); }
.block-scg--layout-grid-4 .block-scg__grid { grid-template-columns: repeat(4, 1fr); }

.block-scg--layout-feature-row .block-scg__grid {
    grid-template-columns: 1fr;
    gap: 0;
}

.block-scg__card {
    padding-block: var(--space-xl, 24px);
    border-block-start: var(--bosphorus-rule);
    background: transparent;
    display: flex;
    flex-direction: column;
    gap: var(--space-s, 8px);
    transition: border-color var(--bosphorus-transition);
}

.block-scg__card:hover {
    border-block-start-color: var(--color-accent, #b45309);
}

.block-scg__card--has-cover { padding-block-start: 0; border: none; }

.block-scg__cover {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    border-radius: var(--bosphorus-radius-card);
    margin-block-end: var(--space-m, 12px);
}

.block-scg__icon {
    width: 2rem;
    height: 2rem;
    color: var(--color-accent, #b45309);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.block-scg__card-title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: 1.1rem;
    font-style: italic;
    color: var(--color-on-background, #1c1917);
    margin: 0;
    line-height: 1.3;
}

.block-scg__card-body {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 0.9rem;
    line-height: 1.65;
    color: var(--bosphorus-ink-soft);
    margin: 0;
    flex: 1;
}

.block-scg__card-cta {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 0.88rem;
    font-style: italic;
    color: var(--color-accent, #b45309);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    margin-block-start: auto;
    padding-block-start: var(--space-s, 8px);
    display: inline-block;
    text-decoration-color: color-mix(in srgb, var(--color-accent, #b45309) 50%, transparent);
    transition: text-decoration-color var(--bosphorus-transition);
}

.block-scg__card-cta:hover {
    text-decoration-color: var(--color-accent, #b45309);
}

/* feature-row first card highlight */
.block-scg--layout-feature-row .block-scg__card:first-child {
    border-inline-start: 2px solid var(--color-accent, #b45309);
    padding-inline-start: var(--space-l, 16px);
    border-block-start: none;
    margin-block-end: var(--space-m, 12px);
}

/* ── Service List ────────────────────────────────────────── */
.block-scl-wrap { }

.block-scl {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--bosphorus-gap-grid);
}

.block-scl--cols-2 { grid-template-columns: repeat(2, 1fr); }
.block-scl--cols-3 { grid-template-columns: repeat(3, 1fr); }

.block-scl__header {
    margin-block-end: 2rem;
}

.block-scl__header-text { }

.block-scl__eyebrow {
    display: block;
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
}

.block-scl__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-style: italic;
    margin: 0 0 var(--space-s, 8px);
}

.block-scl__blurb {
    font-size: 0.95rem;
    color: var(--bosphorus-ink-soft);
    line-height: 1.65;
}

.block-scl__item {
    padding-block: var(--space-l, 16px);
    border-block-start: var(--bosphorus-rule);
    display: flex;
    gap: var(--space-m, 12px);
    align-items: flex-start;
}

.block-scl__item--has-image { align-items: center; }

.block-scl__image {
    width: 3.5rem;
    height: 3.5rem;
    object-fit: cover;
    border-radius: var(--bosphorus-radius-card);
    flex-shrink: 0;
}

.block-scl__icon {
    color: var(--color-accent, #b45309);
    font-size: 1.2rem;
    width: 1.5rem;
    flex-shrink: 0;
    margin-block-start: 0.15em;
}

.block-scl__title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: 1.05rem;
    font-style: italic;
    color: var(--color-on-background, #1c1917);
    margin: 0 0 var(--space-xs, 4px);
}

.block-scl__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.block-scl__link:hover .block-scl__title {
    color: var(--color-accent, #b45309);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.block-scl__view-all {
    display: inline-block;
    margin-block-start: 2rem;
    color: var(--color-accent, #b45309);
    font-style: italic;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: 0.9rem;
}

/* ── Value Props Grid ────────────────────────────────────── */
.block-vpg { }

.block-vpg-wrap { }

.block-vpg__header {
    margin-block-end: 2.5rem;
    max-width: 600px;
}

.block-vpg__eyebrow {
    display: block;
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
}

.block-vpg__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.5rem, 2.5vw, 2.1rem);
    font-style: italic;
    margin: 0;
}

/* layouts */
.block-vpg--layout-default .block-vpg__pillars,
.block-vpg--layout-iconless .block-vpg__pillars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--bosphorus-gap-grid);
}

.block-vpg--layout-horizontal .block-vpg__pillars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--bosphorus-gap-grid);
}

.block-vpg--layout-numbered .block-vpg__pillars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--bosphorus-gap-grid);
    counter-reset: vpg-item;
}

.block-vpg--layout-trust-strip .block-vpg__pillars {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xl, 24px);
    justify-content: center;
    align-items: center;
}

.block-vpg__pillar {
    display: flex;
    flex-direction: column;
    gap: var(--space-s, 8px);
    padding-block: var(--space-l, 16px);
    border-block-start: var(--bosphorus-rule);
}

.block-vpg--layout-horizontal .block-vpg__pillar {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--space-m, 12px);
}

.block-vpg--layout-numbered .block-vpg__pillar::before {
    counter-increment: vpg-item;
    content: "0" counter(vpg-item);
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: 2rem;
    font-style: italic;
    color: var(--color-accent, #b45309);
    opacity: 0.5;
    line-height: 1;
}

.block-vpg__icon {
    color: var(--color-accent, #b45309);
    font-size: 1.3rem;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.block-vpg__title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: 1.05rem;
    font-style: italic;
    color: var(--color-on-background, #1c1917);
    margin: 0;
}

.block-vpg__description {
    font-size: 0.9rem;
    color: var(--bosphorus-ink-soft);
    line-height: 1.65;
    margin: 0;
}

/* ── Stats ───────────────────────────────────────────────── */
.block-stats { }

.block-stats__eyebrow {
    display: block;
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
    text-align: center;
}

.block-stats__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.4rem, 2.2vw, 1.875rem);
    font-style: italic;
    text-align: center;
    margin: 0 0 var(--space-s, 8px);
}

.block-stats__intro {
    text-align: center;
    color: var(--bosphorus-ink-soft);
    max-width: 55ch;
    margin-inline: auto;
    margin-block-end: 2rem;
}

.block-stats__items {
    display: grid;
    gap: var(--bosphorus-gap-grid);
}

.block-stats--layout-grid-3 .block-stats__items { grid-template-columns: repeat(3, 1fr); }
.block-stats--layout-grid-4 .block-stats__items { grid-template-columns: repeat(4, 1fr); }
.block-stats--layout-grid-6 .block-stats__items { grid-template-columns: repeat(6, 1fr); }

.block-stats__item {
    padding: var(--space-l, 16px);
    border-block-start: var(--bosphorus-rule);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs, 4px);
}

.block-stats__icon {
    color: var(--color-accent, #b45309);
    font-size: 1.2rem;
    margin-block-end: var(--space-xs, 4px);
}

.block-stats__value {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    font-style: italic;
    color: var(--color-on-background, #1c1917);
    line-height: 1.1;
    font-weight: 700;
}

.block-stats__suffix {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: 1.2rem;
    color: var(--color-accent, #b45309);
    font-style: italic;
}

.block-stats__label {
    font-size: 0.85rem;
    color: var(--bosphorus-ink-soft);
    letter-spacing: 0.04em;
}

/* ── Testimonials ────────────────────────────────────────── */
.block-testimonials { }

.block-testimonials__eyebrow {
    display: block;
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
    text-align: center;
}

.block-testimonials__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-style: italic;
    text-align: center;
    margin: 0 0 var(--space-s, 8px);
}

.block-testimonials__intro {
    text-align: center;
    color: var(--bosphorus-ink-soft);
    max-width: 55ch;
    margin-inline: auto;
    margin-block-end: 2rem;
}

.block-testimonials__items {
    display: grid;
    gap: var(--bosphorus-gap-grid);
}

.block-testimonials--layout-grid-2 .block-testimonials__items { grid-template-columns: repeat(2, 1fr); }
.block-testimonials--layout-grid-3 .block-testimonials__items { grid-template-columns: repeat(3, 1fr); }

.block-testimonials__item {
    padding: var(--space-xl, 24px);
    border: var(--bosphorus-rule);
    border-block-start: 2px solid var(--color-accent, #b45309);
    background: var(--color-surface, #f5f5f4);
    display: flex;
    flex-direction: column;
    gap: var(--space-m, 12px);
}

.block-testimonials__quote {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-style: italic;
    font-size: 1.05rem;
    line-height: 1.65;
    color: var(--color-on-background, #1c1917);
    flex: 1;
}

.block-testimonials__quote::before { content: "\201C"; color: var(--color-accent, #b45309); }
.block-testimonials__quote::after  { content: "\201D"; color: var(--color-accent, #b45309); }

.block-testimonials__author {
    display: flex;
    align-items: center;
    gap: var(--space-m, 12px);
    padding-block-start: var(--space-m, 12px);
    border-block-start: var(--bosphorus-rule);
}

.block-testimonials__avatar {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--radius-full, 9999px);
    object-fit: cover;
    flex-shrink: 0;
}

.block-testimonials__author-meta { display: flex; flex-direction: column; gap: 1px; }

.block-testimonials__author-name {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-on-background, #1c1917);
}

.block-testimonials__author-role {
    font-size: 0.8rem;
    color: var(--bosphorus-ink-soft);
}

/* ── FAQ ─────────────────────────────────────────────────── */
.block-faq { }

.block-faq__eyebrow {
    display: block;
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
}

.block-faq__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-style: italic;
    margin: 0 0 var(--space-s, 8px);
}

.block-faq__intro {
    color: var(--bosphorus-ink-soft);
    max-width: 60ch;
    margin-block-end: 2rem;
}

.block-faq--layout-two-column .block-faq__items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 3rem;
}

.block-faq__item {
    padding-block: var(--space-l, 16px);
    border-block-start: var(--bosphorus-rule);
}

.block-faq__question {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: 1rem;
    font-style: italic;
    font-weight: 600;
    color: var(--color-on-background, #1c1917);
    margin: 0 0 var(--space-s, 8px);
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-m, 12px);
}

.block-faq__question::after {
    content: '+';
    color: var(--color-accent, #b45309);
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 1.2rem;
    font-style: normal;
    flex-shrink: 0;
    line-height: 1;
}

.block-faq__answer {
    font-size: 0.95rem;
    color: var(--bosphorus-ink-soft);
    line-height: 1.7;
    margin: 0;
}

/* ── Recent Posts ────────────────────────────────────────── */
.block-rp { }

.block-rp__header {
    margin-block-end: 2.5rem;
    max-width: 600px;
}

.block-rp__eyebrow {
    display: block;
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
}

.block-rp__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-style: italic;
    margin: 0;
}

.block-rp__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--bosphorus-gap-grid);
}

.block-rp__card {
    display: flex;
    flex-direction: column;
    border-block-start: 2px solid var(--bosphorus-hairline);
    padding-block-start: var(--space-l, 16px);
    transition: border-color var(--bosphorus-transition);
}

.block-rp__card:hover { border-block-start-color: var(--color-accent, #b45309); }

.block-rp__card-link {
    display: flex;
    flex-direction: column;
    gap: var(--space-s, 8px);
    color: inherit;
    text-decoration: none;
    flex: 1;
}

.block-rp__card-title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: 1.05rem;
    font-style: italic;
    line-height: 1.35;
    margin: 0;
    color: var(--color-on-background, #1c1917);
    transition: color var(--bosphorus-transition);
}

.block-rp__card-link:hover .block-rp__card-title { color: var(--color-accent, #b45309); }

.block-rp__card-meta {
    display: flex;
    gap: var(--space-m, 12px);
    font-size: 0.78rem;
    color: var(--bosphorus-ink-soft);
}

.block-rp__card-date,
.block-rp__card-reading-time { font-size: 0.78rem; color: var(--bosphorus-ink-soft); }

.block-rp__card-excerpt {
    font-size: 0.9rem;
    color: var(--bosphorus-ink-soft);
    line-height: 1.65;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.block-rp__footer {
    display: flex;
    justify-content: center;
    padding-block-start: 2rem;
}

.block-rp__view-all {
    font-style: italic;
    color: var(--color-accent, #b45309);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: 0.9rem;
}

/* ── CTA Block ───────────────────────────────────────────── */
.block-cta {
    padding-block: clamp(3rem, 7vw, 5.5rem);
}

.block-cta__inner {
    max-width: 720px;
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 5vw, 3rem);
    text-align: center;
}

.block-cta--layout-inline-banner .block-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    text-align: start;
    max-width: 900px;
}

.block-cta--layout-split-image .block-cta__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    text-align: start;
    max-width: 1000px;
}

.block-cta__eyebrow {
    display: block;
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
}

.block-cta__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.6rem, 3vw, 2.5rem);
    font-style: italic;
    line-height: 1.2;
    margin: 0 0 var(--space-s, 8px);
}

.block-cta__subheadline {
    font-size: clamp(0.95rem, 1.6vw, 1.1rem);
    color: var(--bosphorus-ink-soft);
    margin: 0 0 1.5rem;
    line-height: 1.65;
}

.block-cta--variant-dark .block-cta__subheadline,
.block-cta--dark .block-cta__subheadline {
    color: var(--color-on-dark-muted, #a8a29e);
}

.block-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    padding: 0.65rem 1.5rem;
    background: var(--color-accent, #b45309);
    color: #fff;
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-style: italic;
    font-weight: 600;
    font-size: 0.95rem;
    border-radius: var(--bosphorus-radius-btn);
    text-decoration: none;
    border: 1px solid var(--color-accent, #b45309);
    transition: background var(--bosphorus-transition);
}

.block-cta__btn:hover {
    background: color-mix(in srgb, var(--color-accent, #b45309) 85%, black);
}

/* Variant overrides */
.block-cta--variant-dark,
.block-cta--dark {
    background: var(--color-dark, #1c1917);
    color: var(--color-on-dark, #fafaf9);
}

.block-cta--variant-dark .block-cta__btn,
.block-cta--dark .block-cta__btn {
    background: var(--color-accent, #b45309);
    color: #fff;
    border-color: var(--color-accent, #b45309);
}

.block-cta--primary,
.block-cta--variant-primary {
    background: var(--color-accent, #b45309);
    color: #fff;
}

.block-cta--primary .block-cta__eyebrow,
.block-cta--variant-primary .block-cta__eyebrow {
    color: var(--bosphorus-amber-pale);
}

.block-cta--primary .block-cta__btn,
.block-cta--variant-primary .block-cta__btn {
    background: #fff;
    color: var(--color-accent, #b45309);
    border-color: #fff;
}

.block-cta--subtle,
.block-cta--variant-subtle {
    background: var(--color-surface, #f5f5f4);
}

/* ── Contact Form ────────────────────────────────────────── */
.block-cf { }

.block-cf--page .block-cf__card {
    max-width: 680px;
    margin-inline: auto;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: var(--bosphorus-rule);
    background: var(--color-surface, #f5f5f4);
}

.block-cf__card-heading { margin-block-end: 1.5rem; }

.block-cf__eyebrow {
    display: block;
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
}

.block-cf__headline {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.4rem, 2.5vw, 1.875rem);
    font-style: italic;
    margin: 0 0 var(--space-s, 8px);
}

.block-cf__intro {
    color: var(--bosphorus-ink-soft);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
}

.block-cf__form {
    display: grid;
    gap: var(--space-l, 16px);
    margin-block-start: 1.5rem;
}

.block-cf__field {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs, 4px);
}

.block-cf__field--error .block-cf__input,
.block-cf__field--error .block-cf__textarea,
.block-cf__field--error .block-cf__select {
    border-color: #c00;
}

.block-cf__field--consent { flex-direction: row; align-items: flex-start; gap: var(--space-s, 8px); }

.block-cf__label {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--color-on-background, #1c1917);
}

.block-cf__optional {
    font-size: 0.78rem;
    color: var(--bosphorus-ink-soft);
    font-weight: 400;
    margin-inline-start: 0.3em;
}

.block-cf__input,
.block-cf__textarea,
.block-cf__select {
    padding: 0.6rem 0.875rem;
    border: 1px solid var(--color-border, #d6d3d1);
    border-radius: var(--bosphorus-radius-btn);
    font: inherit;
    font-size: 0.95rem;
    background: var(--color-background, #fafaf9);
    color: var(--color-on-background, #1c1917);
    transition: border-color var(--bosphorus-transition);
    width: 100%;
}

.block-cf__input:focus,
.block-cf__textarea:focus,
.block-cf__select:focus {
    outline: none;
    border-color: var(--color-accent, #b45309);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent);
}

.block-cf__textarea { min-height: 8rem; resize: vertical; }

.block-cf__consent {
    font-size: 0.85rem;
    color: var(--bosphorus-ink-soft);
    line-height: 1.55;
}

.block-cf__error {
    font-size: 0.82rem;
    color: #c00;
    margin-block-start: 2px;
}

.block-cf__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4em;
    padding: 0.65rem 1.75rem;
    background: var(--color-accent, #b45309);
    color: #fff;
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-style: italic;
    font-weight: 600;
    font-size: 0.95rem;
    border: 1px solid var(--color-accent, #b45309);
    border-radius: var(--bosphorus-radius-btn);
    cursor: pointer;
    transition: background var(--bosphorus-transition);
}

.block-cf__submit:hover { background: color-mix(in srgb, var(--color-accent, #b45309) 85%, black); }
.block-cf__submit--full { width: 100%; }

.block-cf__success {
    padding: var(--space-l, 16px);
    background: var(--bosphorus-amber-faint);
    border-inline-start: 3px solid var(--color-accent, #b45309);
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--color-on-background, #1c1917);
}

.block-cf__info-card {
    margin-block-start: 2rem;
    padding: var(--space-xl, 24px);
    border: var(--bosphorus-rule);
    background: var(--color-surface, #f5f5f4);
    display: flex;
    flex-direction: column;
    gap: var(--space-m, 12px);
}

.block-cf__info-row {
    display: flex;
    gap: var(--space-m, 12px);
    align-items: flex-start;
}

.block-cf__info-icon {
    color: var(--color-accent, #b45309);
    font-size: 1rem;
    width: 1.2rem;
    flex-shrink: 0;
    margin-block-start: 0.15em;
}

.block-cf__info-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--bosphorus-ink-soft);
    display: block;
    margin-block-end: 1px;
}

.block-cf__info-value {
    font-size: 0.9rem;
    color: var(--color-on-background, #1c1917);
}

/* ── Contact Info ────────────────────────────────────────── */
.block-ci { }

.block-ci__heading {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    font-style: italic;
    margin: 0 0 1.25rem;
}

.block-ci__line {
    display: flex;
    gap: var(--space-m, 12px);
    align-items: flex-start;
    padding-block: var(--space-m, 12px);
    border-block-start: var(--bosphorus-rule);
    font-size: 0.95rem;
}

.block-ci__line--phone::before  { content: '\f095'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: var(--color-accent, #b45309); }
.block-ci__line--email::before  { content: '\f0e0'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: var(--color-accent, #b45309); }
.block-ci__line--address::before{ content: '\f3c5'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: var(--color-accent, #b45309); }

.block-ci__address {
    font-style: normal;
    font-size: 0.9rem;
    color: var(--bosphorus-ink-soft);
    line-height: 1.65;
}

.block-ci__social {
    display: flex;
    gap: var(--space-m, 12px);
    flex-wrap: wrap;
    margin-block-start: var(--space-l, 16px);
}

.block-ci__social-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid var(--bosphorus-hairline);
    color: var(--bosphorus-ink-soft);
    text-decoration: none;
    border-radius: var(--bosphorus-radius-btn);
    font-size: 0.9rem;
    transition: color var(--bosphorus-transition), border-color var(--bosphorus-transition);
}

.block-ci__social-item a:hover {
    color: var(--color-accent, #b45309);
    border-color: var(--color-accent, #b45309);
}

/* ── Footer Columns ──────────────────────────────────────── */
.block-fc { }

.block-fc__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--bosphorus-gap-grid);
    padding-block: var(--space-xl, 24px);
    border-block-start: var(--bosphorus-rule);
}

.block-fc__col { display: flex; flex-direction: column; gap: var(--space-m, 12px); }

.block-fc__title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: 0.9rem;
    font-style: italic;
    font-weight: 600;
    color: var(--color-on-background, #1c1917);
    letter-spacing: 0.04em;
}

.block-section--bg-dark .block-fc__title,
.block-fc--dark .block-fc__title {
    color: var(--color-on-dark, #fafaf9);
}

.block-fc__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-s, 8px);
}

.block-fc__item { }

.block-fc__link {
    font-size: 0.88rem;
    color: var(--bosphorus-ink-soft);
    text-decoration: none;
    transition: color var(--bosphorus-transition);
}

.block-fc__link:hover { color: var(--color-accent, #b45309); }

.block-section--bg-dark .block-fc__link,
.block-fc--dark .block-fc__link {
    color: var(--color-on-dark-muted, #a8a29e);
}

.block-section--bg-dark .block-fc__link:hover,
.block-fc--dark .block-fc__link:hover {
    color: var(--color-on-dark, #fafaf9);
}

/* ── Breadcrumb ──────────────────────────────────────────── */
.block-breadcrumb {
    padding-block: var(--space-m, 12px);
    border-block-end: var(--bosphorus-rule);
    font-size: 0.82rem;
}

.block-breadcrumb--center .block-breadcrumb__inner { text-align: center; }

.block-breadcrumb__inner {
    max-width: 72rem;
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 5vw, 3rem);
}

.block-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.block-breadcrumb__item { display: flex; align-items: center; }

.block-breadcrumb__item a {
    color: var(--bosphorus-ink-soft);
    text-decoration: none;
    transition: color var(--bosphorus-transition);
}

.block-breadcrumb__item a:hover { color: var(--color-accent, #b45309); }

.block-breadcrumb__sep {
    margin-inline: 0.4em;
    color: var(--bosphorus-stone-400);
}

.block-breadcrumb__current {
    color: var(--color-on-background, #1c1917);
    font-style: italic;
}

/* ── Data Table ──────────────────────────────────────────── */
.block-data-table { }

.block-data-table__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.block-data-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    font-family: var(--font-body, 'DM Sans', sans-serif);
}

.block-data-table thead th,
.block-data-table__th-label {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-style: italic;
    font-weight: 600;
    font-size: 0.88rem;
    color: var(--color-on-background, #1c1917);
    text-align: start;
    padding: var(--space-m, 12px) var(--space-l, 16px);
    border-block-end: 2px solid var(--color-accent, #b45309);
    white-space: nowrap;
    background: var(--color-surface, #f5f5f4);
}

.block-data-table__sort-indicator {
    display: inline-block;
    margin-inline-start: 0.3em;
    color: var(--color-accent, #b45309);
    font-style: normal;
}

.block-data-table td {
    padding: var(--space-m, 12px) var(--space-l, 16px);
    border-block-end: var(--bosphorus-rule);
    vertical-align: top;
    color: var(--color-on-background, #1c1917);
}

.block-data-table--striped tbody tr:nth-child(even) td {
    background: var(--color-surface, #f5f5f4);
}

.block-data-table--compact td,
.block-data-table--compact th {
    padding: var(--space-s, 8px) var(--space-m, 12px);
}

.block-data-table__caption-text {
    font-size: 0.82rem;
    color: var(--bosphorus-ink-soft);
    text-align: start;
    padding-block-end: var(--space-m, 12px);
    font-style: italic;
}

.block-data-table__download {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-size: 0.82rem;
    font-style: italic;
    color: var(--color-accent, #b45309);
    text-decoration: underline;
    text-underline-offset: 3px;
    padding-block: var(--space-s, 8px);
}

/* ── Button ──────────────────────────────────────────────── */
.block-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4em;
    padding: 0.65rem 1.5rem;
    background: var(--color-accent, #b45309);
    color: #fff;
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-style: italic;
    font-weight: 600;
    font-size: 0.95rem;
    border-radius: var(--bosphorus-radius-btn);
    text-decoration: none;
    border: 1px solid var(--color-accent, #b45309);
    cursor: pointer;
    transition: background var(--bosphorus-transition), color var(--bosphorus-transition);
}

.block-button:hover { background: color-mix(in srgb, var(--color-accent, #b45309) 85%, black); }

.block-button.is-style-outline {
    background: transparent;
    color: var(--color-accent, #b45309);
    border-color: var(--color-accent, #b45309);
}

.block-button.is-style-outline:hover {
    background: var(--bosphorus-amber-faint);
}

.block-button.is-style-ghost {
    background: transparent;
    color: var(--color-on-background, #1c1917);
    border-color: transparent;
}

.block-button.is-style-ghost:hover {
    background: var(--bosphorus-hairline);
}

.block-button.is-style-link {
    background: transparent;
    color: var(--color-accent, #b45309);
    border-color: transparent;
    padding-inline: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ── Social Nav ──────────────────────────────────────────── */
.block-sn { }
.block-sn--stacked .block-sn__list { flex-direction: column; }

.block-sn__list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-m, 12px);
    list-style: none;
    margin: 0;
    padding: 0;
}

.block-sn__item { }

.block-sn__link {
    display: flex;
    align-items: center;
    gap: 0.4em;
    font-size: 0.88rem;
    color: var(--bosphorus-ink-soft);
    text-decoration: none;
    transition: color var(--bosphorus-transition);
}

.block-sn__link:hover { color: var(--color-accent, #b45309); }

/* ── Share ───────────────────────────────────────────────── */
.block-share { margin-block: var(--space-xl, 24px); }

.block-share__heading {
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.1em;
    color: var(--bosphorus-ink-soft);
    margin-block-end: var(--space-m, 12px);
    font-family: var(--font-body, 'DM Sans', sans-serif);
}

.block-share__links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-m, 12px);
}

.block-share__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    font-size: 0.82rem;
    font-style: italic;
    padding: 0.35rem 0.75rem;
    border: var(--bosphorus-rule);
    border-radius: var(--bosphorus-radius-btn);
    color: var(--bosphorus-ink-soft);
    text-decoration: none;
    transition: color var(--bosphorus-transition), border-color var(--bosphorus-transition);
}

.block-share__link:hover {
    color: var(--color-accent, #b45309);
    border-color: var(--color-accent, #b45309);
}

.block-share__link--x:hover         { color: #000; border-color: #000; }
.block-share__link--facebook:hover  { color: #1877f2; border-color: #1877f2; }
.block-share__link--linkedin:hover  { color: #0a66c2; border-color: #0a66c2; }
.block-share__link--whatsapp:hover  { color: #25d366; border-color: #25d366; }
.block-share__link--email:hover     { color: var(--color-accent, #b45309); border-color: var(--color-accent, #b45309); }

/* ── Link Card ───────────────────────────────────────────── */
.block-link {
    border: var(--bosphorus-rule);
    border-inline-start: 3px solid var(--color-accent, #b45309);
    background: var(--color-surface, #f5f5f4);
    display: flex;
    gap: var(--space-l, 16px);
    padding: var(--space-l, 16px);
    text-decoration: none;
    color: inherit;
    transition: background var(--bosphorus-transition);
}

.block-link:hover { background: var(--color-surface-alt, #e7e5e4); }

.block-link__body { flex: 1; min-width: 0; }

.block-link__title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-style: italic;
    font-size: 1rem;
    color: var(--color-on-background, #1c1917);
    margin: 0 0 var(--space-xs, 4px);
}

.block-link__description {
    font-size: 0.88rem;
    color: var(--bosphorus-ink-soft);
    line-height: 1.55;
    margin: 0 0 var(--space-s, 8px);
}

.block-link__url,
.block-link__site-name {
    font-size: 0.78rem;
    color: var(--bosphorus-stone-400);
    font-style: italic;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.block-link__thumbnail {
    width: 5rem;
    height: 5rem;
    object-fit: cover;
    flex-shrink: 0;
    border-radius: var(--bosphorus-radius-btn);
}

/* ── Media-text ──────────────────────────────────────────── */
.block-media-text {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xxl, 32px);
    align-items: center;
}

.block-media-text__media img,
.block-media-text__media video {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--bosphorus-radius-card);
}

.block-media-text__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-m, 12px);
}

/* ── Prose / Post body ───────────────────────────────────── */
.post-body,
.prose,
.markdown-content {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: var(--text-body, 1.0625rem);
    line-height: var(--leading-body, 1.7);
    color: var(--color-on-background, #1c1917);
    max-width: 68ch;
}

/* Headings */
.post-body h1, .prose h1, .markdown-content h1 {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: var(--text-h1, 3rem);
    font-weight: var(--weight-h1, 700);
    font-style: italic;
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin: 2.5rem 0 0.75rem;
    color: var(--color-on-background, #1c1917);
}

.post-body h2, .prose h2, .markdown-content h2 {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: var(--text-h2, 2.25rem);
    font-weight: var(--weight-h2, 700);
    font-style: italic;
    line-height: 1.2;
    margin: 2.25rem 0 0.65rem;
    padding-block-end: 0.4rem;
    border-block-end: var(--bosphorus-rule);
    color: var(--color-on-background, #1c1917);
}

.post-body h3, .prose h3, .markdown-content h3 {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: var(--text-h3, 1.625rem);
    font-weight: var(--weight-h3, 600);
    font-style: italic;
    line-height: 1.25;
    margin: 2rem 0 0.5rem;
    color: var(--color-on-background, #1c1917);
}

.post-body h4, .prose h4, .markdown-content h4 {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: var(--text-h4, 1.25rem);
    font-weight: var(--weight-h4, 600);
    font-style: italic;
    line-height: 1.3;
    margin: 1.75rem 0 0.4rem;
}

.post-body h5, .prose h5, .markdown-content h5 {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: var(--text-h5, 1.125rem);
    font-weight: var(--weight-h5, 600);
    font-style: italic;
    margin: 1.5rem 0 0.35rem;
}

.post-body h6, .prose h6, .markdown-content h6 {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: var(--text-h6, 1rem);
    font-weight: var(--weight-h6, 600);
    font-style: italic;
    color: var(--bosphorus-ink-soft);
    margin: 1.25rem 0 0.3rem;
}

/* Paragraphs */
.post-body p, .prose p, .markdown-content p { margin: 0 0 1.2rem; }

/* Links */
.post-body a, .prose a, .markdown-content a {
    color: var(--color-accent, #b45309);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    text-decoration-color: color-mix(in srgb, var(--color-accent, #b45309) 50%, transparent);
    transition: text-decoration-color var(--bosphorus-transition);
}

.post-body a:hover, .prose a:hover, .markdown-content a:hover {
    text-decoration-color: var(--color-accent, #b45309);
}

/* Lists — restore Preflight-stripped markers */
.post-body ul, .prose ul, .markdown-content ul {
    list-style: disc;
    padding-inline-start: 1.6rem;
    margin: 0 0 1.2rem;
}

.post-body ol, .prose ol, .markdown-content ol {
    list-style: decimal;
    padding-inline-start: 1.6rem;
    margin: 0 0 1.2rem;
}

.post-body li, .prose li, .markdown-content li {
    margin-block-end: 0.35rem;
    line-height: 1.7;
}

.post-body li::marker, .prose li::marker, .markdown-content li::marker {
    color: var(--color-accent, #b45309);
}

/* Blockquote */
.post-body blockquote, .prose blockquote, .markdown-content blockquote {
    margin: 1.75rem 0;
    padding: var(--space-l, 16px) var(--space-xl, 24px);
    border-inline-start: 3px solid var(--color-accent, #b45309);
    background: var(--color-surface, #f5f5f4);
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-style: italic;
    font-size: 1.1rem;
    line-height: 1.65;
    color: var(--color-on-background, #1c1917);
}

.post-body blockquote p:last-child, .prose blockquote p:last-child,
.markdown-content blockquote p:last-child { margin-bottom: 0; }

/* Code blocks — dark, monospace, light text */
.post-body pre, .prose pre, .markdown-content pre {
    background: var(--bosphorus-dark-bg);
    color: var(--color-on-dark, #f4eede);
    padding: var(--space-l, 16px) var(--space-xl, 24px);
    border-radius: var(--bosphorus-radius-card);
    overflow-x: auto;
    font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.88rem;
    line-height: 1.6;
    margin: 1.5rem 0;
}

.post-body code, .prose code, .markdown-content code {
    font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.875em;
    background: var(--bosphorus-stone-200);
    color: var(--color-on-background, #1c1917);
    padding: 0.15em 0.4em;
    border-radius: var(--radius-sm, 0px);
}

.post-body pre code, .prose pre code, .markdown-content pre code {
    background: transparent;
    color: inherit;
    padding: 0;
    font-size: 1em;
}

/* Tables */
.post-body table, .prose table, .markdown-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    margin: 1.5rem 0;
    overflow-x: auto;
    display: block;
}

.post-body thead th, .prose thead th, .markdown-content thead th {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-style: italic;
    font-weight: 600;
    text-align: start;
    padding: var(--space-m, 12px) var(--space-l, 16px);
    border-block-end: 2px solid var(--color-accent, #b45309);
    background: var(--color-surface, #f5f5f4);
    white-space: nowrap;
}

.post-body td, .prose td, .markdown-content td {
    padding: var(--space-m, 12px) var(--space-l, 16px);
    border-block-end: var(--bosphorus-rule);
    vertical-align: top;
}

.post-body tbody tr:nth-child(even) td,
.prose tbody tr:nth-child(even) td,
.markdown-content tbody tr:nth-child(even) td {
    background: var(--color-surface, #f5f5f4);
}

/* Inline images */
.post-body img, .prose img, .markdown-content img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: var(--bosphorus-radius-card);
    margin: 1.5rem 0;
}

/* Float bump-out treatment */
.post-body .img-bump-left,
.prose .img-bump-left,
.markdown-content .img-bump-left {
    float: inline-start;
    margin-inline-end: 1.75rem;
    margin-block-end: 1rem;
    max-width: 45%;
}

.post-body .img-bump-right,
.prose .img-bump-right,
.markdown-content .img-bump-right {
    float: inline-end;
    margin-inline-start: 1.75rem;
    margin-block-end: 1rem;
    max-width: 45%;
}

/* Horizontal rule */
.post-body hr, .prose hr, .markdown-content hr {
    border: none;
    border-block-start: var(--bosphorus-rule-amber);
    margin: 2.5rem 0;
}

/* ── Article TOC ─────────────────────────────────────────── */
.article-toc,
.block-toc {
    background: var(--color-surface, #f5f5f4);
    border: var(--bosphorus-rule);
    border-inline-start: 3px solid var(--color-accent, #b45309);
    padding: var(--space-l, 16px) var(--space-xl, 24px);
    margin: 2rem 0;
    font-size: 0.9rem;
}

.article-toc__title,
.block-toc__title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-style: italic;
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 var(--space-m, 12px);
    color: var(--color-on-background, #1c1917);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-variant: small-caps;
    font-style: normal;
}

.article-toc__list,
.block-toc__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-s, 8px);
}

.article-toc__item,
.block-toc__item {
    padding-inline-start: 0;
}

.article-toc__item--h3,
.block-toc__item--h3 {
    padding-inline-start: 1.2rem;
}

.article-toc__item a,
.block-toc__item a {
    color: var(--bosphorus-ink-soft);
    text-decoration: none;
    font-style: italic;
    transition: color var(--bosphorus-transition);
}

.article-toc__item a:hover,
.block-toc__item a:hover {
    color: var(--color-accent, #b45309);
}

/* ── Prev/Next Nav ───────────────────────────────────────── */
.prev-next-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--bosphorus-gap-grid);
    margin-block: var(--space-xxl, 32px);
    border-block-start: var(--bosphorus-rule);
    padding-block-start: var(--space-xl, 24px);
}

.prev-next-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs, 4px);
    text-decoration: none;
    color: inherit;
    padding: var(--space-l, 16px);
    border: var(--bosphorus-rule);
    transition: border-color var(--bosphorus-transition);
}

.prev-next-card:hover { border-color: var(--color-accent, #b45309); }

.prev-next-card__label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--bosphorus-ink-soft);
}

.prev-next-card__title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-style: italic;
    font-size: 1rem;
    line-height: 1.35;
    color: var(--color-on-background, #1c1917);
    transition: color var(--bosphorus-transition);
}

.prev-next-card:hover .prev-next-card__title { color: var(--color-accent, #b45309); }
.prev-next-card:last-child { text-align: end; }

/* ── Related Posts ───────────────────────────────────────── */
.block-related { margin-block: var(--space-xxl, 32px); }

.block-related__title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-size: clamp(1.25rem, 2vw, 1.6rem);
    font-style: italic;
    margin: 0 0 1.5rem;
    padding-block-end: 0.5rem;
    border-block-end: var(--bosphorus-rule);
}

.block-related__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--bosphorus-gap-grid);
}

.block-related__card {
    border-block-start: 2px solid var(--bosphorus-hairline);
    padding-block-start: var(--space-l, 16px);
    display: flex;
    flex-direction: column;
    gap: var(--space-s, 8px);
    transition: border-color var(--bosphorus-transition);
}

.block-related__card:hover { border-block-start-color: var(--color-accent, #b45309); }

.block-related__card a {
    text-decoration: none;
    color: inherit;
}

.block-related__card-title {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-style: italic;
    font-size: 1rem;
    line-height: 1.35;
    color: var(--color-on-background, #1c1917);
    transition: color var(--bosphorus-transition);
}

.block-related__card a:hover .block-related__card-title { color: var(--color-accent, #b45309); }

/* ── Founder Card ────────────────────────────────────────── */
.founder-card {
    display: flex;
    gap: var(--space-xl, 24px);
    padding: var(--space-xl, 24px);
    border: var(--bosphorus-rule);
    border-block-start: 3px solid var(--color-accent, #b45309);
    background: var(--color-surface, #f5f5f4);
    align-items: flex-start;
    margin-block: var(--space-xxl, 32px);
}

.founder-card-photo {
    width: 5rem;
    height: 5rem;
    border-radius: var(--radius-full, 9999px);
    object-fit: cover;
    flex-shrink: 0;
}

.founder-card > div { flex: 1; min-width: 0; }

.founder-card-name {
    font-family: var(--font-heading, 'Playfair Display', serif);
    font-style: italic;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--color-on-background, #1c1917);
    margin: 0 0 var(--space-xs, 4px);
}

.founder-card-title {
    font-size: 0.82rem;
    color: var(--bosphorus-ink-soft);
    margin: 0 0 var(--space-m, 12px);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ── Columns / Gallery / Embed ───────────────────────────── */
.wp-block-columns,
.block-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--bosphorus-gap-grid);
    margin: 1.5rem 0;
}

.wp-block-gallery,
.block-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: var(--space-m, 12px);
    margin: 1.5rem 0;
}

.wp-block-gallery img,
.block-gallery img {
    width: 100%;
    height: 12rem;
    object-fit: cover;
    display: block;
    border-radius: var(--bosphorus-radius-card);
}

.wp-block-embed,
.block-embed {
    margin: 1.5rem 0;
}

.wp-block-embed iframe,
.block-embed iframe {
    width: 100%;
    aspect-ratio: 16/9;
    border: none;
    display: block;
}

/* ── Responsive breakpoints ──────────────────────────────── */
@media (max-width: 1024px) {
    .block-scg--layout-grid-4 .block-scg__grid { grid-template-columns: repeat(2, 1fr); }
    .block-stats--layout-grid-6 .block-stats__items { grid-template-columns: repeat(3, 1fr); }
    .block-hero--layout-split,
    .block-hero--layout-asymmetric { grid-template-columns: 1fr; }
    .block-cta--layout-split-image .block-cta__inner { grid-template-columns: 1fr; }
    .block-media-text { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .block-scg--layout-grid-2 .block-scg__grid,
    .block-scg--layout-grid-3 .block-scg__grid,
    .block-scg--layout-grid-4 .block-scg__grid { grid-template-columns: 1fr; }

    .block-scl { grid-template-columns: 1fr; }
    .block-scl--cols-2,
    .block-scl--cols-3 { grid-template-columns: 1fr; }

    .block-stats--layout-grid-3 .block-stats__items,
    .block-stats--layout-grid-4 .block-stats__items,
    .block-stats--layout-grid-6 .block-stats__items { grid-template-columns: repeat(2, 1fr); }

    .block-testimonials--layout-grid-2 .block-testimonials__items,
    .block-testimonials--layout-grid-3 .block-testimonials__items { grid-template-columns: 1fr; }

    .block-faq--layout-two-column .block-faq__items { grid-template-columns: 1fr; }

    .prev-next-nav { grid-template-columns: 1fr; }
    .prev-next-card:last-child { text-align: start; }

    .founder-card { flex-direction: column; }

    .block-cta--layout-inline-banner .block-cta__inner {
        flex-direction: column;
        text-align: center;
    }

    .block-hero__headline { font-size: clamp(2rem, 8vw, 2.75rem); }
    .block-hero__ctas { flex-direction: column; align-items: flex-start; }
    .block-hero--layout-centered .block-hero__ctas,
    .block-hero--layout-default .block-hero__ctas { align-items: center; }

    .block-data-table table { font-size: 0.82rem; }

    .wp-block-columns, .block-columns { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .block-stats--layout-grid-3 .block-stats__items,
    .block-stats--layout-grid-4 .block-stats__items,
    .block-stats--layout-grid-6 .block-stats__items { grid-template-columns: 1fr; }

    .block-rp__grid { grid-template-columns: 1fr; }

    .block-section { padding-block: clamp(2rem, 6vw, 3.5rem); }
    .block-hero { padding-block: clamp(3rem, 8vw, 6rem); }

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

/* ── Dark section overrides (color corrections) ──────────── */
.block-section--bg-dark .block-scg__card-title,
.block-section--bg-dark .block-rp__card-title,
.block-section--bg-dark .block-vpg__title,
.block-section--bg-dark .block-stats__value {
    color: var(--color-on-dark, #fafaf9);
}

.block-section--bg-dark .block-scg__card-body,
.block-section--bg-dark .block-rp__card-excerpt,
.block-section--bg-dark .block-vpg__description,
.block-section--bg-dark .block-stats__label {
    color: var(--color-on-dark-muted, #a8a29e);
}

.block-section--bg-dark .block-scg__card {
    border-block-start-color: var(--bosphorus-dark-border);
}

.block-section--bg-dark .block-scg__card:hover {
    border-block-start-color: var(--color-accent, #b45309);
}

.block-section--bg-dark .block-testimonials__item {
    background: var(--bosphorus-dark-card);
    border-color: var(--bosphorus-dark-border);
}

.block-section--bg-dark .block-testimonials__author {
    border-block-start-color: var(--bosphorus-dark-border);
}

.block-section--bg-dark .block-cf__input,
.block-section--bg-dark .block-cf__textarea,
.block-section--bg-dark .block-cf__select {
    background: var(--bosphorus-dark-card);
    border-color: var(--bosphorus-dark-border);
    color: var(--color-on-dark, #fafaf9);
}

/* ── Eyebrow shared utility ──────────────────────────────── */
.eyebrow,
[class$="__eyebrow"] {
    display: block;
    font-size: 0.78rem;
    font-variant: small-caps;
    letter-spacing: 0.12em;
    color: var(--color-accent, #b45309);
    margin-block-end: var(--space-s, 8px);
}







/* ── Site topbar (thin utility/contact bar above the header) ─────────────────
   Settings-driven partial (_topbar). Token-driven so it adopts the active
   theme's palette. One slim row; secondary items collapse on small screens. */
.site-topbar {
    background: var(--color-dark-alt, var(--color-dark, #0e1729));
    color: var(--color-on-dark, #ffffff);
    font-size: 0.8rem;
    border-block-end: 1px solid color-mix(in srgb, var(--color-on-dark, #ffffff) 12%, transparent);
}
.site-topbar__inner {
    max-width: 80rem;
    margin-inline: auto;
    padding-inline: 1.5rem;
    min-block-size: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.site-topbar__group {
    display: flex;
    align-items: center;
    gap: 1.35rem;
    min-width: 0;
}
.site-topbar__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1;
    font-weight: 500;
    transition: color 0.15s ease;
}
a.site-topbar__item:hover {
    color: var(--color-accent, var(--color-primary, #ff6b35));
    text-decoration: none;
}
.site-topbar__item i {
    color: var(--color-accent, var(--color-primary, #ff6b35));
    font-size: 0.85em;
}
.site-topbar__item--muted {
    color: color-mix(in srgb, var(--color-on-dark, #ffffff) 68%, transparent);
}
.site-topbar__item span {
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 860px) {
    .site-topbar__item--hide-sm {
        display: none;
    }
    .site-topbar__inner {
        min-block-size: 2.2rem;
        padding-inline: 1rem;
        gap: 0.75rem;
    }
    .site-topbar__group {
        gap: 1rem;
    }
}
@media (max-width: 480px) {
    .site-topbar__group--end {
        display: none;
    }
}

/* ── Property gallery (editorial mosaic, no JS lightbox/scroller) ─────────────
   Lead tile spans 2×2; remaining tiles fill a dense 4-col grid. Each tile links
   to the full-resolution image (opens in a new tab) — no modal dialog. */
.property-gallery {
    margin-block: clamp(1.5rem, 4vw, 2.5rem);
}
.property-gallery__heading {
    font-family: var(--font-heading, inherit);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 1rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--color-on-surface, var(--color-text, #1a202c));
}
.property-gallery__heading::before {
    content: "";
    inline-size: 1.75rem;
    block-size: 2px;
    background: var(--color-accent, var(--color-primary, #ff6b35));
    flex-shrink: 0;
}
.property-gallery__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: clamp(86px, 11vw, 142px);
    grid-auto-flow: dense;
    gap: 0.65rem;
}
.property-gallery__item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--radius-md, 8px);
    background: var(--color-surface-alt, rgba(0, 0, 0, 0.05));
    grid-column: span 1;
    grid-row: span 1;
}
.property-gallery__item--lead {
    grid-column: span 2;
    grid-row: span 2;
}
.property-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}
.property-gallery__item:hover img,
.property-gallery__item:focus-visible img {
    transform: scale(1.05);
}
.property-gallery__item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.3), transparent 45%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.property-gallery__item:hover::after,
.property-gallery__item:focus-visible::after {
    opacity: 1;
}
.property-gallery__item:focus-visible {
    outline: 2px solid var(--color-accent, #ff6b35);
    outline-offset: 2px;
}
.property-gallery__more {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--color-dark, #0e1729) 55%, transparent);
    color: #ffffff;
    font-family: var(--font-heading, inherit);
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
@media (max-width: 700px) {
    .property-gallery__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: clamp(96px, 30vw, 150px);
    }
    .property-gallery__item--lead {
        grid-column: span 2;
        grid-row: span 1;
    }
}

/* ══════════════════════════════════════════════════════════════
   Estate fixes — value-prop icons + contact info layout
   ══════════════════════════════════════════════════════════════ */

/* Value-prop icons are inline <svg> inside a flex container; without an explicit
   size + flex-shrink:0 the svg collapses to ~2px. Size it properly. */
.block-vpg__icon {
    width: 2.75rem;
    height: 2.75rem;
}
.block-vpg__icon svg {
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
}

/* Contact block: center the inner column to match the form card, and lay the
   info cards out as a proper 2-up grid instead of tiny floating boxes. */
.block-cf__page-inner {
    max-width: 680px;
    margin-inline: auto;
}
.block-cf__info-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-m, 12px);
    margin-block-end: 1.5rem;
    align-items: stretch;
}
.block-cf__info-card {
    width: 100%;
    flex-direction: row;
    align-items: flex-start;
    gap: var(--space-m, 12px);
    margin-block-start: 0;
}

/* Section headers (service-card-grid + value-prop-grid) are centered on EVERY
   layout — bosphorus only centered the 'centered'/'default' variants, leaving
   grid-2/3/4 section titles (e.g. home "Bölgeler", "Öne Çıkan İlanlar")
   left-aligned. */
.block-scg__header,
.block-vpg__header {
    margin-inline: auto;
    text-align: center;
}
