/* =========================================================
   Arvon — Luxury Real Estate
   ========================================================= */

:root {
    --color-bg: #ffffff;
    --color-text: #0f0f0f;
    --color-muted: #6b6b6b;
    --color-line: #e7e5e1;
    --color-dark: #131313;
    --color-dark-2: #1c1c1c;
    --color-light: #f5f3ee;
    --color-accent: #c8102e;
    --color-accent-2: #6e6e6e;

    --font-serif: "Cormorant Garamond", "Times New Roman", serif;
    --font-sans:  "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

    --radius: 999px;
    --radius-md: 14px;

    --shadow-card: 0 12px 40px rgba(15, 15, 15, .12);

    --container: 1240px;
    --gutter: 24px;

    --header-h: 84px;
}

/* ------- Reset ------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.55;
    color: var(--color-text);
    background: var(--color-bg);
    -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: transparent; color: inherit; }
ul { list-style: none; padding: 0; margin: 0; }
h1, h2, h3, h4 { margin: 0; font-family: var(--font-serif); font-weight: 500; letter-spacing: -.01em; }

.container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--gutter);
}

/* ------- Buttons ------- */
.btn {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    padding: 12px 22px;
    border-radius: var(--radius);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    transition: transform .25s ease, background .25s ease, color .25s ease;
    white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--color-dark); color: #fff; }
.btn-primary:hover { background: #000; }
.btn-light { background: rgba(255,255,255,.92); color: var(--color-dark); backdrop-filter: blur(6px); }
.btn-light:hover { background: #fff; }
.btn-dark { background: var(--color-dark); color: #fff; padding: 14px 28px; }

/* =========================================================
   Header
   ========================================================= */
.site-header {
    position: absolute;
    inset: 0 0 auto 0;
    z-index: 50;
    height: var(--header-h);
    color: #fff;
}
.header-inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
}
.brand-logo {
    height: 26px;
    width: auto;
    object-fit: contain;
    /* light/transparent header üzerinde beyaz versiyon olarak göster */
    filter: brightness(0) invert(1);
    transition: filter .25s ease;
}
.brand-logo--invert,
.site-footer .brand-logo {
    height: 30px;
    filter: brightness(0) invert(1);
}
body.is-light .site-header .brand-logo {
    filter: none;
}

.brand--light { color: #fff; }

/* Nav */
.primary-nav > ul {
    display: flex;
    gap: 28px;
    align-items: center;
}
.primary-nav a {
    position: relative;
    font-size: 14px;
    font-weight: 400;
    padding: 8px 0;
    transition: color .2s ease;
}
.primary-nav a:hover,
.primary-nav a.active { color: #fff; }
.primary-nav a.active::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 1px;
    background: currentColor;
    opacity: .6;
}
.primary-nav .caret { font-size: 10px; opacity: .7; margin-left: 4px; }

/* Submenu */
.has-sub { position: relative; }
.sub-menu {
    position: absolute;
    top: 100%;
    left: -16px;
    min-width: 200px;
    background: #fff;
    color: var(--color-dark);
    border-radius: var(--radius-md);
    padding: 10px;
    box-shadow: var(--shadow-card);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.sub-menu li a {
    display: block;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13px;
}
.sub-menu li a:hover { background: var(--color-light); }
.has-sub:hover .sub-menu,
.has-sub:focus-within .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Header actions */
.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}
.theme-toggle {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.25);
    transition: background .2s ease;
}
.theme-toggle:hover { background: rgba(255,255,255,.12); }
.theme-toggle svg { width: 16px; height: 16px; }

.nav-toggle {
    display: none;
    width: 40px;
    height: 40px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    align-items: center;
}
.nav-toggle span {
    width: 22px;
    height: 1.5px;
    background: #fff;
    transition: transform .25s ease, opacity .25s ease;
}

/* =========================================================
   Hero / Slider
   ========================================================= */
.hero {
    position: relative;
    min-height: 100vh;
    color: #fff;
    overflow: hidden;
    padding-top: var(--header-h);
}

.hero-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.2s ease;
    overflow: hidden;
}
.hero-slide.is-active { opacity: 1; }

/* Video slide — video tag tam ekran cover */
.hero-slide-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    pointer-events: none;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.1) 30%, rgba(0,0,0,.55) 100%);
}

.hero-content {
    position: relative;
    z-index: 2;
    height: calc(100vh - var(--header-h));
    display: grid;
    grid-template-rows: 1fr auto auto;
    padding-bottom: 32px;
}

.hero-title {
    font-size: clamp(80px, 16vw, 240px);
    font-weight: 500;
    letter-spacing: .02em;
    line-height: .9;
    text-align: center;
    align-self: center;
    color: rgba(255,255,255,.92);
    margin: 0;
    text-shadow: 0 6px 40px rgba(0,0,0,.25);
}

.hero-meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 28px;
}
.hero-caption {
    max-width: 380px;
    font-size: 14px;
    line-height: 1.5;
}
.hero-caption p { margin: 8px 0 0; }
.hero-badge {
    display: inline-block;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.3);
    padding: 4px 10px;
    border-radius: var(--radius);
    font-size: 11px;
    letter-spacing: .18em;
}

/* Search bar */
.hero-search {
    background: rgba(255,255,255,.95);
    color: var(--color-dark);
    border-radius: var(--radius);
    padding: 8px 8px 8px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    box-shadow: var(--shadow-card);
    backdrop-filter: blur(12px);
}
.hero-search-tabs {
    display: flex;
    gap: 4px;
    flex: 1;
    flex-wrap: wrap;
}
.hero-search .tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: var(--radius);
    font-size: 13px;
    color: var(--color-muted);
    transition: background .2s ease, color .2s ease;
}
.hero-search .tab.is-active {
    background: var(--color-light);
    color: var(--color-dark);
}
.hero-search .tab-icon {
    color: var(--color-accent);
    font-size: 14px;
}

/* Slider dots */
.hero-dots {
    position: absolute;
    top: 14vh;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 3;
}
.hero-dots .dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,.4);
    transition: background .2s ease, transform .2s ease;
}
.hero-dots .dot.is-active {
    background: #fff;
    transform: scale(1.25);
}

/* =========================================================
   Page Hero (alt sayfalar için kompakt hero)
   ========================================================= */
.page-hero {
    position: relative;
    height: 60vh;
    min-height: 420px;
    color: #fff;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}
.page-hero::before {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.4) 50%, rgba(0,0,0,.55) 100%);
}
.page-hero-inner {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    padding-top: var(--header-h);
}
.page-hero-title {
    font-family: var(--font-serif);
    font-size: clamp(40px, 6.5vw, 84px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: .01em;
    color: #fff;
}
.page-hero-crumbs {
    margin-top: 18px;
    font-size: 12px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255,255,255,.75);
}
.page-hero-crumbs a { color: inherit; opacity: .8; }
.page-hero-crumbs a:hover { color: #fff; opacity: 1; }
.page-hero-crumbs .sep { margin: 0 10px; opacity: .5; }

/* =========================================================
   Generic section helpers
   ========================================================= */
.section { padding: 110px 0; position: relative; }
.section-dark { background: var(--color-dark); color: #d6d6d6; }
.section-dark .lede { color: #c4c4c4; }

.kicker {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--color-muted);
    margin-bottom: 18px;
}
.kicker--light { color: rgba(255,255,255,.6); }

.section-title {
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.05;
    letter-spacing: -.015em;
    margin-bottom: 28px;
}
.section-title--light { color: #fff; }

.lede {
    font-size: 15px;
    line-height: 1.65;
    color: var(--color-muted);
    max-width: 460px;
}

.btn-outline-light {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255,255,255,.35);
}
.btn-outline-light:hover { background: rgba(255,255,255,.08); }

.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    font-size: 14px;
    color: var(--color-dark);
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
    transition: gap .25s ease;
}
.link-arrow:hover { gap: .7em; }

.visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* =========================================================
   About
   ========================================================= */
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 80px;
    align-items: center;
}
.about-media img {
    width: 100%;
    border-radius: var(--radius-md);
    aspect-ratio: 4 / 5;
    object-fit: cover;
}
.about-stats {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 48px;
    margin: 36px 0;
    border-top: 1px solid var(--color-line);
    border-bottom: 1px solid var(--color-line);
    padding: 28px 0;
}
.stat-value {
    font-family: var(--font-serif);
    font-size: 44px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-dark);
}
.stat-label {
    font-size: 11px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--color-muted);
    margin-top: 8px;
}
.about-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 32px;
}
.about-thumb {
    width: 180px;
    height: 110px;
    object-fit: cover;
    border-radius: var(--radius-md);
}

/* =========================================================
   Locations
   ========================================================= */
.locations-head,
.process-head,
.insights-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
    margin-bottom: 56px;
}
.locations-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.location-card {
    display: block;
    color: #fff;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: #222;
    position: relative;
    transition: transform .35s ease;
}
.location-card:hover { transform: translateY(-4px); }
.location-media {
    aspect-ratio: 4 / 5;
    overflow: hidden;
}
.location-media img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .8s ease;
}
.location-card:hover .location-media img { transform: scale(1.05); }
.location-meta {
    position: absolute;
    inset: auto 0 0 0;
    padding: 24px;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.7) 100%);
}
.location-region {
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    opacity: .8;
}
.location-name {
    font-family: var(--font-serif);
    font-size: 24px;
    font-weight: 500;
    margin-top: 6px;
}

/* =========================================================
   Features (Why us)
   ========================================================= */
.features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
.features-lede {
    color: var(--color-muted);
    max-width: 460px;
    margin-bottom: 36px;
}
.features-items {
    display: grid;
    gap: 28px;
}
.feature {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 18px;
    padding-top: 24px;
    border-top: 1px solid var(--color-line);
}
.feature:first-child { border-top: 0; padding-top: 0; }
.feature-icon {
    width: 44px; height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-light);
    color: var(--color-accent);
    font-size: 16px;
}
.feature-title {
    font-size: 18px;
    margin-bottom: 6px;
}
.feature-text {
    color: var(--color-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}
.features-media {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
}
.features-media img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}
.features-pin {
    position: absolute;
    top: 50%; left: 60%;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255,80,80,.85);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    box-shadow: 0 0 0 8px rgba(255,80,80,.2);
}

/* =========================================================
   Process (timeline)
   ========================================================= */
.process-rating { max-width: 420px; }
.process-rating .stars {
    color: var(--color-accent);
    letter-spacing: .15em;
    font-size: 14px;
    margin-bottom: 14px;
}
.process-rating p {
    color: #c4c4c4;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}
.process-media {
    border-radius: var(--radius-md);
    overflow: hidden;
    margin-bottom: 56px;
}
.process-media img {
    width: 100%;
    height: 360px;
    object-fit: cover;
}
.timeline {
    list-style: none;
    counter-reset: step;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding: 0;
    position: relative;
}
.timeline::before {
    content: "";
    position: absolute;
    top: 18px; left: 12.5%; right: 12.5%;
    height: 1px;
    background: rgba(255,255,255,.15);
}
.timeline-step {
    text-align: center;
    padding: 0 16px;
    position: relative;
}
.timeline-node {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--color-dark);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-family: var(--font-sans);
    font-weight: 500;
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
}
.timeline-title {
    font-size: 18px;
    color: #fff;
    margin-bottom: 8px;
}
.timeline-text {
    color: #b8b8b8;
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

/* =========================================================
   Testimonials
   ========================================================= */
.testimonials-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 80px;
    align-items: center;
    margin-bottom: 80px;
}
.testimonial-card {
    margin: 0;
    background: #fff;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    padding: 28px;
    box-shadow: var(--shadow-card);
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 24px;
    align-items: center;
}
.testimonial-image {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    border-radius: var(--radius-md);
}
.testimonial-card blockquote {
    margin: 0;
    font-family: var(--font-serif);
    font-size: 17px;
    line-height: 1.5;
    color: var(--color-dark);
}
.testimonial-card figcaption {
    margin-top: 16px;
    font-size: 13px;
}
.testimonial-card figcaption strong { display: block; color: var(--color-dark); }
.testimonial-card figcaption span { color: var(--color-muted); }

.brand-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 32px 0;
    border-top: 1px solid var(--color-line);
}
.brand-logo-text {
    font-family: var(--font-serif);
    font-size: 18px;
    color: var(--color-muted);
    opacity: .7;
    letter-spacing: .04em;
}

/* =========================================================
   Newsletter
   ========================================================= */
.newsletter {
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 140px 0;
    position: relative;
    overflow: hidden;
}
.newsletter-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.55) 100%);
}
.newsletter-inner {
    position: relative;
    max-width: 720px;
}
.newsletter-form {
    display: flex;
    gap: 8px;
    background: rgba(255,255,255,.95);
    border-radius: var(--radius);
    padding: 8px;
    margin-top: 32px;
    backdrop-filter: blur(10px);
    box-shadow: var(--shadow-card);
}
.newsletter-form input {
    flex: 1;
    border: 0;
    background: transparent;
    padding: 14px 18px;
    font: inherit;
    font-size: 14px;
    color: var(--color-dark);
    outline: 0;
}

/* =========================================================
   Insights
   ========================================================= */
.insights-meta {
    max-width: 380px;
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 18px;
    align-items: flex-end;
}
.insights-meta p {
    color: var(--color-muted);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}
.insights-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.article-card {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.article-media {
    overflow: hidden;
    border-radius: var(--radius-md);
    aspect-ratio: 4 / 3;
    display: block;
}
.article-media img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .8s ease;
}
.article-card:hover .article-media img { transform: scale(1.05); }
.article-meta {
    display: flex;
    gap: 14px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: var(--color-muted);
}
.article-cat::before { content: "•"; margin-right: 14px; opacity: .5; }
.article-title {
    font-size: 22px;
    line-height: 1.25;
}
.article-title a { color: var(--color-dark); transition: color .2s ease; }
.article-title a:hover { color: var(--color-accent); }

/* =========================================================
   Intro 2-col (about, services intro)
   ========================================================= */
.intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
    margin-bottom: 80px;
}
.intro-left .kicker { display: inline-block; }
.intro-thumb {
    width: 220px;
    height: 140px;
    object-fit: cover;
    border-radius: var(--radius-md);
    margin-top: 24px;
}
.intro-right p {
    color: var(--color-muted);
    line-height: 1.7;
    margin-bottom: 14px;
}

/* =========================================================
   Image break
   ========================================================= */
.section-imagebreak { padding: 0; }
.imagebreak-img {
    width: 100%;
    aspect-ratio: 21 / 9;
    object-fit: cover;
    border-radius: var(--radius-md);
}

/* =========================================================
   Big serif duo (Konfor + Estetik)
   ========================================================= */
.bigserif-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 48px;
    align-items: center;
    text-align: center;
}
.bigserif-item .kicker { display: block; margin-bottom: 12px; }
.bigserif-text {
    font-family: var(--font-serif);
    font-size: clamp(48px, 7vw, 92px);
    font-weight: 500;
    line-height: 1;
    margin: 0;
    letter-spacing: -.01em;
}
.bigserif-divider {
    font-family: var(--font-serif);
    font-size: clamp(48px, 7vw, 92px);
    font-weight: 300;
    color: var(--color-accent);
    line-height: 1;
}

/* =========================================================
   Team grid
   ========================================================= */
.team-head {
    text-align: center;
    margin-bottom: 56px;
}
.team-head .kicker { display: inline-block; }
.team-head .lede { margin-left: auto; margin-right: auto; }
.team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.team-card {
    margin: 0;
    text-align: center;
}
.team-card img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: var(--radius-md);
    margin-bottom: 16px;
    transition: transform .5s ease;
}
.team-card:hover img { transform: translateY(-4px); }
.team-card h3 {
    font-size: 16px;
    font-family: var(--font-sans);
    font-weight: 500;
    margin-bottom: 4px;
}
.team-card span {
    font-size: 12px;
    color: var(--color-muted);
    letter-spacing: .08em;
}

/* =========================================================
   Services grid
   ========================================================= */
.service-head {
    text-align: center;
    margin-bottom: 56px;
}
.service-head .kicker { display: inline-block; }
/* ===== PREMIUM HİZMET KARTLARI ===== */
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 80px;
}
.service-card {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    min-height: 440px;
    border-radius: 4px;
    overflow: hidden;
    background-color: var(--color-dark);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
    transition: transform .5s cubic-bezier(.16,.62,.27,.99);
}
.service-card::before {
    /* Görseli scale eden iç katman */
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    transition: transform .8s cubic-bezier(.16,.62,.27,.99);
    z-index: -2;
}
.service-card-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.85) 100%),
        radial-gradient(circle at top right, rgba(200,16,46,.18), transparent 55%);
    transition: background .35s ease;
}
.service-card:hover { transform: translateY(-4px); }
.service-card:hover .service-card-overlay {
    background:
        linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.45) 35%, rgba(0,0,0,.92) 100%),
        radial-gradient(circle at top right, rgba(200,16,46,.3), transparent 60%);
}

/* Sayı + ikon — üst köşeler */
.service-card-num {
    position: absolute;
    top: 22px;
    left: 28px;
    font-family: var(--font-serif);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .26em;
    color: rgba(255,255,255,.7);
    z-index: 1;
}
.service-card-num::before {
    content: "—";
    margin-right: 8px;
    color: var(--color-accent);
}
.service-card-icon {
    position: absolute;
    top: 18px;
    right: 22px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    z-index: 1;
    transition: background .3s ease, border-color .3s ease, transform .35s ease;
}
.service-card:hover .service-card-icon {
    background: var(--color-accent);
    border-color: var(--color-accent);
    transform: rotate(45deg) scale(1.05);
}

/* İçerik altta */
.service-card-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 28px 32px 30px;
    z-index: 1;
}
.service-card-kicker {
    display: inline-block;
    font-size: 10.5px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: rgba(255,255,255,.55);
    margin-bottom: 12px;
    font-weight: 500;
}
.service-card-title {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(24px, 2.4vw, 30px);
    line-height: 1.05;
    margin: 0 0 10px;
    letter-spacing: -.01em;
    color: #fff;
    transition: transform .35s cubic-bezier(.16,.62,.27,.99);
}
.service-card-summary {
    font-size: 13.5px;
    line-height: 1.55;
    color: rgba(255,255,255,.78);
    margin: 0 0 18px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .4s cubic-bezier(.16,.62,.27,.99), opacity .25s ease;
}
.service-card:hover .service-card-title { transform: translateY(-4px); }
.service-card:hover .service-card-summary {
    max-height: 110px;
    opacity: 1;
}
.service-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: #fff;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(255,255,255,.3);
    transition: border-color .25s ease, color .25s ease;
}
.service-card:hover .service-card-cta {
    border-bottom-color: var(--color-accent);
    color: #fff;
}
.service-card-cta .cta-arrow {
    transition: transform .25s cubic-bezier(.16,.62,.27,.99);
}
.service-card:hover .service-card-cta .cta-arrow {
    transform: translateX(6px);
    color: var(--color-accent);
}

/* Geri uyumluluk — eski class isimleri (varsa) hala çalışsın */
.service-icon, .service-title, .service-text, .service-link { display: none; }

/* ============================================================
   SCROLL REVEAL — soldan/sağdan/aşağıdan yüklenme animasyonu
   ============================================================ */
.reveal-left,
.reveal-right,
.reveal-up {
    opacity: 0;
    transition:
        opacity .9s cubic-bezier(.16,.62,.27,.99),
        transform 1s cubic-bezier(.16,.62,.27,.99);
    will-change: transform, opacity;
}
.reveal-left  { transform: translate3d(-70px, 0, 0); }
.reveal-right { transform: translate3d( 70px, 0, 0); }
.reveal-up    { transform: translate3d(0, 50px, 0); }

.reveal-left.is-visible,
.reveal-right.is-visible,
.reveal-up.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Kademeli gecikmeler (numbered grid için) */
.reveal-up.delay-1 { transition-delay: .08s; }
.reveal-up.delay-2 { transition-delay: .18s; }
.reveal-up.delay-3 { transition-delay: .28s; }
.reveal-up.delay-4 { transition-delay: .38s; }

/* Reduced motion tercih edenler için kapat */
@media (prefers-reduced-motion: reduce) {
    .reveal-left,
    .reveal-right,
    .reveal-up {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ============================================================
   HİZMETLER SAYFASI — yeni body (Seafarer benzeri lüks layout)
   ============================================================ */

/* Page hero — ortalanmış varyant */
.page-hero--center .page-hero-inner {
    text-align: center;
    align-items: center;
    justify-content: center;
}
.page-hero--center .page-hero-crumbs { justify-content: center; }
.page-hero-kicker {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: rgba(255,255,255,.7);
    margin-bottom: 14px;
    font-weight: 500;
}
.page-hero--center .page-hero-title {
    font-size: clamp(36px, 5vw, 62px);
    letter-spacing: .04em;
    font-weight: 400;
}

/* Brand strip — krem zeminli orta bölüm */
.section-brand-strip {
    background: var(--color-light);
    padding: 64px 0;
}
.brand-strip--centered {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 48px;
    opacity: .75;
}
.brand-strip--centered .brand-logo-text {
    font-family: var(--font-serif);
    font-size: 18px;
    letter-spacing: .14em;
    color: var(--color-text);
    font-weight: 500;
    transition: opacity .25s ease, color .25s ease;
}
.brand-strip--centered .brand-logo-text:hover {
    color: var(--color-accent);
}

/* ===== Split sections (sol-sağ 2 kolon) ===== */
.section-split {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
}
.section-split:nth-of-type(odd) { background: #fff; }
.section-split:nth-of-type(even) { background: var(--color-light); }
.split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
}
/* Reverse: text sağa, media sola — order property ile (RTL trick yerine) */
.split-grid--reverse > .split-media { order: 1; }
.split-grid--reverse > .split-text  { order: 2; }

.split-text {
    position: relative;
    padding: 30px 0;
    z-index: 2;
}
/* Arka plan decorative yazı (DISCOVER / EXPLORE) — kullanıcı isteğiyle kapatıldı */
.split-text[data-bg-word]::before { content: none; }

.split-text .kicker {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 18px;
    font-weight: 500;
}
.split-title {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(32px, 4.2vw, 52px);
    line-height: 1.05;
    margin: 0 0 22px;
    letter-spacing: -.005em;
    color: var(--color-text);
}
.split-lede {
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-muted);
    margin: 0 0 28px;
    max-width: 480px;
}
.split-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.split-bullets li {
    position: relative;
    padding-left: 26px;
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--color-text);
}
.split-bullets li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 14px;
    height: 1px;
    background: var(--color-accent);
}

.split-media {
    position: relative;
}
.split-media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
}
/* Bleed varyant — kart sol/sağ ucundan taşar */
.split-media--bleed img {
    border-radius: 0 4px 4px 0;
}

/* ===== Skill bars (All About) ===== */
.skill-bars {
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-top: 28px;
}
.skill-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 8px;
}
.skill-label {
    font-size: 11.5px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--color-text);
    font-weight: 500;
}
.skill-pct {
    font-family: var(--font-serif);
    font-size: 15px;
    color: var(--color-muted);
    font-weight: 500;
    letter-spacing: .04em;
}
.skill-track {
    height: 2px;
    background: rgba(15,15,15,.08);
    position: relative;
    overflow: hidden;
}
.skill-fill {
    position: absolute;
    inset: 0 auto 0 0;
    background: linear-gradient(90deg, var(--color-accent) 0%, #f59e0b 100%);
    width: 0;
    animation: skillGrow 1.4s cubic-bezier(.16,.62,.27,.99) forwards;
}
@keyframes skillGrow {
    from { width: 0; }
}

/* ===== 7 HİZMET — HER BİRİ KENDİ SPLIT SECTION'I (zigzag) ===== */
.section-services-detail-head {
    padding: 90px 0 30px;
    background: #fff;
    text-align: center;
}
.services-detail-head .kicker {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 16px;
    font-weight: 500;
}
.services-detail-head .section-title {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(30px, 3.6vw, 44px);
    line-height: 1.1;
    margin: 0;
    letter-spacing: -.005em;
}

/* ===== HİZMET BÖLÜMÜ — FULL-BLEED HALF IMAGE ===== */
/* Görsel viewport kenarına kadar uzanır, metin container içinde kalır */
.section-service.section-split {
    padding: 0;
    overflow: hidden;
    min-height: 620px;
    display: flex;
}
.section-service .split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: stretch;
    max-width: 100%;
    padding: 0;
    width: 100%;
    min-height: 620px;
}

/* Görsel kolonu — kenardan kenara, tam yükseklik */
.section-service .split-media {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    transition: opacity .9s cubic-bezier(.16,.62,.27,.99),
                transform 1s cubic-bezier(.16,.62,.27,.99);
}
.section-service .split-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    aspect-ratio: auto;
    display: block;
}

/* Metin kolonu — container yarısı kadar pad, vertical center */
.section-service .split-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px 80px;
    min-height: 620px;
}

/* Normal yön: metin sol — sol padding container hizasına kadar */
.section-service .split-grid:not(.split-grid--reverse) > .split-text {
    padding-left: max(32px, calc((100vw - var(--container)) / 2 + var(--gutter)));
    padding-right: 90px;
}

/* Reverse: metin sağ — sağ padding container hizasına kadar */
.section-service .split-grid--reverse > .split-text {
    padding-left: 90px;
    padding-right: max(32px, calc((100vw - var(--container)) / 2 + var(--gutter)));
}

/* Metin tipografisi — daha büyük ve etkili */
.section-service .split-title {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(34px, 3.6vw, 48px);
    line-height: 1.05;
    margin: 0 0 22px;
    letter-spacing: -.01em;
    max-width: 480px;
}
.section-service .split-lede {
    font-size: 16px;
    line-height: 1.7;
    color: var(--color-muted);
    margin: 0 0 24px;
    max-width: 460px;
}
.section-service .split-content {
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-muted);
    margin: 0 0 26px;
    max-width: 460px;
}
.section-service .split-content p { margin: 0 0 12px; }
.section-service .split-content p:last-child { margin: 0; }

/* Kicker numara — daha belirgin */
.section-service .kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 22px;
    font-weight: 500;
}
.section-service .kicker-num {
    color: var(--color-text);
    font-family: var(--font-serif);
    font-size: 18px;
    letter-spacing: .04em;
    margin: 0;
    font-weight: 500;
    position: relative;
    padding-right: 18px;
    line-height: 1;
}
.section-service .kicker-num::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 12px;
    height: 1px;
    background: var(--color-accent);
}

/* CTA buton */
.section-service .split-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--color-text);
    border-bottom: 1px solid var(--color-text);
    padding-bottom: 4px;
    transition: color .2s ease, border-color .2s ease;
}
.section-service .split-cta:hover {
    color: var(--color-accent);
    border-color: var(--color-accent);
}
.section-service .split-cta span {
    transition: transform .2s ease;
}
.section-service .split-cta:hover span {
    transform: translateX(6px);
}

/* Mobile — single column, görsel üstte */
@media (max-width: 900px) {
    .section-service.section-split { min-height: auto; }
    .section-service .split-grid {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .section-service .split-media {
        min-height: 320px;
    }
    .section-service .split-text,
    .section-service .split-grid:not(.split-grid--reverse) > .split-text,
    .section-service .split-grid--reverse > .split-text {
        padding: 48px 24px !important;
        min-height: auto;
    }
}

/* Link arrow CTA */
.section-service .split-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--color-text);
    border-bottom: 1px solid var(--color-text);
    padding-bottom: 4px;
    transition: color .2s ease, border-color .2s ease;
}
.section-service .split-cta:hover {
    color: var(--color-accent);
    border-color: var(--color-accent);
}
.section-service .split-cta span {
    transition: transform .2s ease;
}
.section-service .split-cta:hover span {
    transform: translateX(6px);
}

@media (max-width: 720px) {
    .section-services-detail-head { padding: 56px 0 20px; }
    .section-service.section-split { padding: 44px 0; }
    .section-service .split-grid { gap: 32px; }
}

/* ===== 7 HİZMET LİSTESİ (eski kart grid - artık kullanılmıyor) ===== */
.section-services-list {
    background: #fff;
    padding: 100px 0;
}
.services-list-head {
    text-align: center;
    margin-bottom: 64px;
}
.services-list-head .kicker {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 16px;
    font-weight: 500;
}
.services-list-head .section-title {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(30px, 3.6vw, 44px);
    line-height: 1.1;
    margin: 0;
    letter-spacing: -.005em;
}
.services-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 18px;
}
.services-list-item {
    background: #fff;
    border: 1px solid var(--color-line);
    border-radius: 3px;
    padding: 36px 32px;
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.services-list-item:hover {
    border-color: var(--color-text);
    transform: translateY(-3px);
    box-shadow: 0 20px 40px -20px rgba(0,0,0,.12);
}
.services-list-ico {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--color-light);
    color: var(--color-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 6px;
    transition: background .3s ease, color .3s ease, transform .3s ease;
    flex-shrink: 0;
}
.services-list-item:hover .services-list-ico {
    background: var(--color-accent);
    color: #fff;
    transform: rotate(45deg);
}
.services-list-title {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2;
    margin: 0;
    letter-spacing: -.005em;
}
.services-list-text {
    font-size: 14px;
    line-height: 1.65;
    color: var(--color-muted);
    margin: 0;
    flex: 1;
}
.services-list-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: var(--color-text);
    font-weight: 500;
    padding-top: 4px;
    transition: color .2s ease;
}
.services-list-link span {
    transition: transform .2s ease;
}
.services-list-link:hover {
    color: var(--color-accent);
}
.services-list-link:hover span {
    transform: translateX(6px);
}

@media (max-width: 720px) {
    .section-services-list { padding: 64px 0; }
    .services-list { grid-template-columns: 1fr; }
    .services-list-item { padding: 32px 24px; }
}

/* ===== Numbered process grid (4 öğeli) ===== */
.section-process-numbered {
    padding: 100px 0 120px;
    background: #fff;
}
.process-numbered-head {
    text-align: center;
    margin-bottom: 64px;
}
.process-numbered-head .kicker {
    display: inline-block;
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 16px;
    font-weight: 500;
}
.process-numbered-head .section-title {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(30px, 3.6vw, 44px);
    margin: 0;
    letter-spacing: -.005em;
}
.numbered-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}
.num-item {
    position: relative;
    padding: 80px 0 40px;
}
.num-big {
    position: absolute;
    top: 0;
    left: 0;
    font-family: var(--font-serif);
    font-size: 110px;
    font-weight: 500;
    line-height: .85;
    color: rgba(15,15,15,.07);
    letter-spacing: -.02em;
    z-index: 0;
    pointer-events: none;
}
.num-kicker {
    display: block;
    position: relative;
    z-index: 1;
    font-size: 10.5px;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 12px;
    font-weight: 500;
}
.num-title {
    position: relative;
    z-index: 1;
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 12px;
    color: var(--color-text);
}
.num-text {
    position: relative;
    z-index: 1;
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--color-muted);
    margin: 0 0 22px;
}
.num-rule {
    display: block;
    width: 60px;
    height: 1px;
    background: var(--color-accent);
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
    .section-split { padding: 72px 0; }
    .split-grid { gap: 48px; }
    .split-text[data-bg-word]::before { font-size: 100px; }
    .numbered-grid { grid-template-columns: repeat(2, 1fr); gap: 50px 40px; }
}
@media (max-width: 720px) {
    .section-split { padding: 56px 0; }
    .split-grid,
    .split-grid--reverse { grid-template-columns: 1fr; direction: ltr; gap: 40px; }
    .split-grid--reverse .split-media { order: -1; }
    .split-text[data-bg-word]::before { font-size: 64px; top: -18px; left: -8px; }
    .numbered-grid { grid-template-columns: 1fr; gap: 50px; }
    .brand-strip--centered { gap: 28px; }
    .brand-strip--centered .brand-logo-text { font-size: 14px; }
}

.brand-strip-wrap { text-align: center; }
.brand-strip-caption {
    font-size: 11px;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--color-muted);
    margin-bottom: 24px;
}

/* =========================================================
   Projects grid (projelerimiz)
   ========================================================= */
.projects-head {
    text-align: center;
    margin-bottom: 56px;
}
.projects-head .kicker { display: inline-block; }
.projects-filter {
    display: inline-flex;
    gap: 6px;
    margin-top: 24px;
    padding: 6px;
    background: var(--color-light);
    border-radius: var(--radius);
}
.filter-tab {
    padding: 8px 18px;
    border-radius: var(--radius);
    font-size: 13px;
    color: var(--color-muted);
    transition: background .2s ease, color .2s ease;
}
.filter-tab.is-active {
    background: var(--color-dark);
    color: #fff;
}
.projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 80px;
}
.project-card {
    display: block;
    color: var(--color-dark);
}
.project-media {
    overflow: hidden;
    border-radius: var(--radius-md);
    aspect-ratio: 4 / 3;
    margin-bottom: 16px;
}
.project-media img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .8s ease;
}
.project-card:hover .project-media img { transform: scale(1.05); }
.project-cat {
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--color-muted);
    display: block;
    margin-bottom: 4px;
}
.project-name {
    font-family: var(--font-serif);
    font-size: 22px;
    font-weight: 500;
}

/* =========================================================
   Project detail
   ========================================================= */
.detail-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 64px;
    align-items: start;
}
.detail-text .lede { color: var(--color-muted); margin-bottom: 16px; max-width: none; }
.detail-keys {
    background: var(--color-light);
    border-radius: var(--radius-md);
    padding: 28px;
}
.detail-keys-title {
    font-family: var(--font-serif);
    font-size: 18px;
    margin-bottom: 18px;
}
.detail-keys ul { display: grid; gap: 14px; }
.detail-keys li {
    display: flex;
    justify-content: space-between;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-line);
    font-size: 13px;
}
.detail-keys li:last-child { border-bottom: 0; padding-bottom: 0; }
.key-label { color: var(--color-muted); }
.key-value { font-weight: 500; color: var(--color-dark); }

.description-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 64px;
}
.description-text p {
    color: var(--color-muted);
    line-height: 1.7;
    margin-bottom: 14px;
}
.amenities-title {
    font-family: var(--font-serif);
    font-size: 22px;
    margin-bottom: 20px;
}
.amenities-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
}
.amenities-list li {
    display: flex;
    gap: 10px;
    font-size: 14px;
    color: var(--color-text);
}
.amen-bullet {
    color: var(--color-accent);
    font-weight: 600;
}

/* Map block + advisor card */
.map-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 32px;
    align-items: start;
}
.map-frame {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--color-light);
    border-radius: var(--radius-md);
    overflow: hidden;
    margin: 24px 0;
}
.map-frame iframe { width: 100%; height: 100%; border: 0; }

.advisor-card {
    background: var(--color-dark);
    color: #fff;
    border-radius: var(--radius-md);
    padding: 32px;
    text-align: center;
}
.advisor-photo {
    width: 84px; height: 84px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 16px;
}
.advisor-photo img { width: 100%; height: 100%; object-fit: cover; }
.advisor-card h3 {
    font-family: var(--font-serif);
    font-size: 22px;
    margin-bottom: 4px;
}
.advisor-title {
    font-size: 12px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: rgba(255,255,255,.6);
    display: block;
    margin-bottom: 16px;
}
.advisor-text {
    color: #c4c4c4;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
}
.btn-block { width: 100%; justify-content: center; }

/* =========================================================
   Reviews grid (yorumlar)
   ========================================================= */
.reviews-head { text-align: center; margin-bottom: 56px; }
.reviews-head .kicker { display: inline-block; }
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.review-card {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--radius-md);
    padding: 24px;
    margin: 0;
}
.review-stars {
    color: var(--color-accent);
    font-size: 13px;
    letter-spacing: .15em;
    margin-bottom: 14px;
}
.review-card blockquote {
    margin: 0 0 18px;
    color: #d6d6d6;
    font-size: 13px;
    line-height: 1.6;
}
.review-card figcaption {
    border-top: 1px solid rgba(255,255,255,.1);
    padding-top: 14px;
    font-size: 12px;
}
.review-card figcaption strong { display: block; color: #fff; margin-bottom: 2px; }
.review-card figcaption span { color: rgba(255,255,255,.55); }

/* =========================================================
   FAQ accordion
   ========================================================= */
.faq-head { text-align: center; margin-bottom: 48px; }
.faq-head .kicker { display: inline-block; }
.faq-list {
    max-width: 820px;
    margin: 0 auto 64px;
}
.faq-item {
    border-bottom: 1px solid var(--color-line);
    padding: 4px 0;
}
.faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 22px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-q {
    font-family: var(--font-serif);
    font-size: 18px;
    color: var(--color-dark);
}
.faq-icon {
    flex: 0 0 auto;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--color-light);
    color: var(--color-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease, background .25s ease;
    font-size: 16px;
}
.faq-item[open] .faq-icon {
    transform: rotate(45deg);
    background: var(--color-accent);
    color: #fff;
}
.faq-a {
    color: var(--color-muted);
    line-height: 1.7;
    font-size: 14px;
    padding: 0 0 22px;
    margin: 0;
    max-width: 90%;
}

/* =========================================================
   Contact form + info card
   ========================================================= */
.contact-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 48px;
    align-items: start;
}
.contact-form { display: grid; gap: 18px; margin-top: 28px; }
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.contact-form label { display: flex; flex-direction: column; gap: 6px; }
.form-full { width: 100%; }
.form-label {
    font-size: 11px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--color-muted);
}
.contact-form input,
.contact-form select,
.contact-form textarea {
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    background: #fff;
    padding: 14px 16px;
    font: inherit;
    font-size: 14px;
    color: var(--color-text);
    outline: 0;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: var(--color-dark);
    box-shadow: 0 0 0 4px rgba(200,16,46,.08);
}
.contact-form textarea { resize: vertical; min-height: 130px; }
.contact-form .btn { justify-self: flex-start; margin-top: 8px; }

.contact-card {
    background: var(--color-dark);
    color: #fff;
    border-radius: var(--radius-md);
    padding: 36px;
}
.contact-card-title {
    font-family: var(--font-serif);
    font-size: 22px;
    margin-bottom: 24px;
}
.contact-line { margin-bottom: 22px; }
.contact-line-label {
    display: block;
    font-size: 10px;
    letter-spacing: .25em;
    color: rgba(255,255,255,.5);
    margin-bottom: 6px;
}
.contact-line a, .contact-line p {
    font-size: 14px;
    color: #fff;
    margin: 0;
    line-height: 1.5;
}
.contact-line a:hover { color: var(--color-accent); }
.contact-socials {
    display: flex;
    gap: 14px;
    margin-top: 8px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.contact-socials a { font-size: 12px; letter-spacing: .1em; }
.contact-socials a:hover { color: var(--color-accent); }

.fullmap-frame {
    width: 100%;
    aspect-ratio: 21 / 9;
    background: var(--color-light);
    border-radius: var(--radius-md);
    overflow: hidden;
    margin-bottom: 56px;
}
.fullmap-frame iframe { width: 100%; height: 100%; border: 0; }

/* =========================================================
   Footer
   ========================================================= */
.site-footer {
    position: relative;
    background: var(--color-dark);
    color: #d6d6d6;
    padding: 80px 0 0;
    overflow: hidden;
    margin-top: 80px;
}
.footer-watermark {
    position: absolute;
    bottom: 80px;
    left: 0;
    right: 0;
    text-align: center;
    font-family: var(--font-serif);
    font-size: clamp(60px, 11vw, 180px);
    letter-spacing: .12em;
    color: rgba(255,255,255,.04);
    pointer-events: none;
    line-height: 1;
}
.footer-inner {
    position: relative;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 48px;
    padding-bottom: 80px;
}
.footer-lede {
    font-family: var(--font-serif);
    font-size: 22px;
    line-height: 1.3;
    color: #fff;
    margin: 28px 0 36px;
}
.footer-heading {
    font-family: var(--font-serif);
    font-size: 18px;
    color: #fff;
    margin-bottom: 20px;
}
.footer-contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    max-width: 520px;
}
.footer-label {
    display: block;
    font-size: 10px;
    letter-spacing: .2em;
    color: #8a8a8a;
    margin-bottom: 6px;
}
.footer-contact a,
.footer-contact p {
    font-size: 13px;
    color: #d6d6d6;
    margin: 0;
}
.footer-contact a:hover { color: #fff; }
.footer-socials {
    display: flex;
    gap: 14px;
    align-self: end;
}
.footer-socials a {
    font-size: 12px;
    letter-spacing: .1em;
    color: #d6d6d6;
}
.footer-socials a:hover { color: var(--color-accent); }

.footer-col-title {
    font-family: var(--font-serif);
    font-size: 18px;
    color: #fff;
    margin-bottom: 20px;
}
.footer-col ul li {
    margin-bottom: 10px;
}
.footer-col ul a {
    font-size: 13px;
    color: #c4c4c4;
}
.footer-col ul a:hover { color: #fff; }

.footer-bottom {
    position: relative;
    border-top: 1px solid rgba(255,255,255,.08);
    padding: 24px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #8a8a8a;
}
.footer-bottom p { margin: 0; }
.footer-legal { display: flex; gap: 22px; }
.footer-legal a:hover { color: #fff; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1024px) {
    .about-grid,
    .features-grid,
    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .locations-grid,
    .insights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .timeline { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
    .timeline::before { display: none; }
    .insights-meta { text-align: left; align-items: flex-start; }
    .testimonial-card { grid-template-columns: 160px 1fr; }

    .intro-grid { grid-template-columns: 1fr; gap: 40px; }
    .team-grid { grid-template-columns: repeat(2, 1fr); }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .projects-grid { grid-template-columns: repeat(2, 1fr); }
    .reviews-grid { grid-template-columns: repeat(2, 1fr); }
    .detail-grid,
    .description-grid,
    .map-grid,
    .contact-grid { grid-template-columns: 1fr; gap: 40px; }
    .amenities-list { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
    .primary-nav { display: none; }
    .nav-toggle  { display: inline-flex; }

    /* Mobile nav panel */
    .primary-nav.is-open {
        display: block;
        position: fixed;
        top: var(--header-h);
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--color-dark);
        color: #fff;
        padding: 24px 24px 48px;
        overflow-y: auto;
        z-index: 49;
        animation: navSlideDown .25s ease-out;
    }
    .primary-nav.is-open > ul {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    .primary-nav.is-open > ul > li {
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .primary-nav.is-open a {
        display: block;
        padding: 18px 4px;
        font-size: 17px;
        color: rgba(255,255,255,.92);
    }
    .primary-nav.is-open a.active::after { display: none; }
    .primary-nav.is-open .caret { float: right; opacity: .5; }
    .primary-nav.is-open .sub-menu {
        position: static;
        display: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: transparent;
        box-shadow: none;
        padding: 0;
        color: inherit;
    }
    .primary-nav.is-open .has-sub.is-expanded .sub-menu {
        display: block;
        padding: 0 0 14px 12px;
    }
    .primary-nav.is-open .has-sub > a .caret {
        transition: transform .25s ease;
        opacity: .6;
    }
    .primary-nav.is-open .has-sub.is-expanded > a .caret {
        transform: rotate(180deg);
    }
    .primary-nav.is-open .sub-menu li a {
        color: rgba(255,255,255,.65);
        padding: 10px 4px;
        font-size: 14px;
    }
    .primary-nav.is-open .sub-menu li a:hover {
        background: transparent;
        color: #fff;
    }

    /* Hamburger -> X */
    .nav-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .nav-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    /* Light theme variant for solid header pages */
    body.has-solid-header .primary-nav.is-open { background: #fff; color: var(--color-dark); }
    body.has-solid-header .primary-nav.is-open a { color: var(--color-dark); }
    body.has-solid-header .primary-nav.is-open > ul > li { border-bottom-color: rgba(0,0,0,.08); }
    body.has-solid-header .primary-nav.is-open .sub-menu li a { color: rgba(0,0,0,.6); }

    @keyframes navSlideDown {
        from { transform: translateY(-12px); opacity: 0; }
        to   { transform: translateY(0); opacity: 1; }
    }

    .footer-inner {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    .footer-brand { grid-column: 1 / -1; }
    .footer-contact { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .section { padding: 70px 0; }

    .hero-meta {
        flex-direction: column;
        align-items: flex-start;
    }
    .hero-search {
        flex-direction: column;
        align-items: stretch;
        border-radius: var(--radius-md);
        padding: 12px;
    }
    .hero-search .btn-dark { width: 100%; justify-content: center; }
    .hero-dots { top: auto; bottom: 8px; }

    .about-stats { grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .stat-value { font-size: 32px; }
    .about-cta { flex-direction: column; align-items: stretch; }
    .about-thumb { width: 100%; height: 160px; }

    .locations-head,
    .process-head,
    .insights-head { flex-direction: column; align-items: flex-start; }

    .locations-grid,
    .insights-grid { grid-template-columns: 1fr; }
    .timeline { grid-template-columns: 1fr; }

    .testimonial-card { grid-template-columns: 1fr; }
    .testimonial-image { min-height: 180px; }

    .newsletter-form { flex-direction: column; border-radius: var(--radius-md); }
    .newsletter-form .btn-dark { width: 100%; justify-content: center; }

    .brand-strip { justify-content: flex-start; }

    .footer-inner { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; gap: 12px; }

    .bigserif-grid { grid-template-columns: 1fr; }
    .team-grid { grid-template-columns: 1fr 1fr; }
    .services-grid { grid-template-columns: 1fr; }
    .projects-grid { grid-template-columns: 1fr; }
    .reviews-grid { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }
    .projects-filter { flex-wrap: wrap; }
}

/* =========================================================
   Light theme variant (when toggled)
   ========================================================= */
body.is-light .site-header { color: var(--color-dark); }
body.is-light .brand { color: var(--color-dark); }
body.is-light .theme-toggle { border-color: rgba(0,0,0,.15); }
body.is-light .nav-toggle span { background: var(--color-dark); }
