/* Portföy Bodrum — lüks villa: kum rengi zemin, Cormorant serif başlıklar, Ege mavisi + terakota, geniş boşluklar, dergi düzeni */
:root {
    --ink: #1c2a30; --text: #4c5559; --muted: #857f75;
    --bg: #faf6ef; --bg-alt: #f2eadd; --line: #e4d9c7; --card: #fffdf9;
    --r: 0px; --r-sm: 0px; --r-lg: 0px; --btn-r: 0px;
    --shadow: 0 12px 34px rgba(28, 42, 48, .06); --shadow-lg: 0 26px 60px rgba(28, 42, 48, .14);
    --head: 'Cormorant Garamond', Georgia, serif; --body: 'Jost', system-ui, sans-serif; --head-w: 600; --header: 84px;
    --terra: #c7773f; --aegean: #1d4a5c;
}
body { font-weight: 400; letter-spacing: .005em; }
h1 { font-size: clamp(3rem, 7vw, 6.2rem); line-height: .98; font-weight: 500; letter-spacing: -.01em; }
h2, .h2 { font-size: clamp(2.2rem, 3.6vw, 3.2rem); font-weight: 500; line-height: 1.08; }
h3 { font-weight: 600; }
.kicker { font-family: var(--body); font-weight: 500; font-size: .74rem; letter-spacing: .28em; text-transform: uppercase; color: var(--terra); }
.btn { font-family: var(--body); font-weight: 500; letter-spacing: .08em; text-transform: uppercase; font-size: .82rem; padding-left: 28px; padding-right: 28px; }
.btn-accent, .btn-accent:hover { color: #fff; }
.btn-soft { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.btn-soft:hover { background: var(--ink); color: #fff; }
.btn-outline { border-color: var(--ink); color: var(--ink); }
.btn-outline:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.sec-head h2 { margin-bottom: 10px; }

/* Menü */
.site-header { background: rgba(250, 246, 239, .96); border-bottom: 1px solid var(--line); }
.brand-mark { background: transparent; color: var(--terra); border: 1px solid var(--terra); border-radius: 50%; }
.brand-text strong { font-family: var(--head); font-weight: 600; font-size: 1.9rem; letter-spacing: .02em; line-height: 1; }
.brand-text small { font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.nav-list > li > a { font-size: .76rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.nav-list > li > a.on { color: var(--terra); background: none; }
.phone-chip { font-weight: 500; letter-spacing: .04em; }
.phone-chip .ic { color: var(--terra); }

/* Hero */
.pf-hero { position: relative; min-height: min(calc(100vh - var(--header)), 900px); min-height: min(calc(100svh - var(--header)), 900px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; }
.pf-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pf-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16, 30, 36, .15) 0%, rgba(16, 30, 36, .05) 35%, rgba(16, 30, 36, .72) 100%); }
.pf-hero-in { position: relative; z-index: 1; padding-top: 120px; padding-bottom: 90px; }
.pf-eyebrow { display: block; margin-bottom: 18px; font-size: .78rem; letter-spacing: .3em; text-transform: uppercase; }
.pf-hero h1 { color: #fff; max-width: 820px; }
.pf-hero p { max-width: 520px; margin: 20px 0 0; font-size: 1.12rem; color: rgba(255, 255, 255, .88); }
.pf-search { display: flex; flex-wrap: wrap; align-items: stretch; margin-top: 36px; max-width: 640px; background: rgba(250, 246, 239, .96); }
.pf-search label { flex: 1 1 180px; display: flex; flex-direction: column; padding: 12px 20px; border-right: 1px solid var(--line); }
.pf-search span { font-size: .66rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.pf-search select { border: 0; background: transparent; font: inherit; font-size: 1rem; font-weight: 500; color: var(--ink); padding: 2px 0; outline: 0; }
.pf-search .btn { flex: 0 0 auto; min-height: 64px; }
.pf-scroll { position: absolute; z-index: 1; right: 40px; bottom: 40px; width: 1px; height: 70px; background: rgba(255, 255, 255, .4); }
.pf-scroll span { display: block; width: 1px; height: 24px; background: #fff; animation: pf-drop 2.2s ease-in-out infinite; }
@keyframes pf-drop { 0% { transform: translateY(0); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(46px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pf-scroll span { animation: none; } }

/* Editoryal giriş */
.pf-intro-in { max-width: 900px; text-align: center; }
.pf-quote { margin: 18px 0 44px; font-family: var(--head); font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.3; color: var(--ink); }
.pf-quote em { color: var(--aegean); }
.pf-intro-nums { display: flex; justify-content: center; gap: 0; border-top: 1px solid var(--line); }
.pf-intro-nums div { flex: 1; padding: 26px 10px 0; }
.pf-intro-nums div + div { border-left: 1px solid var(--line); }
.pf-intro-nums b { display: block; font-family: var(--head); font-size: 3rem; font-weight: 500; line-height: 1; color: var(--terra); }
.pf-intro-nums span { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }

/* Koylar */
.pf-bay-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.pf-bay { position: relative; display: block; aspect-ratio: 3 / 4.2; overflow: hidden; color: #fff; }
.pf-bay img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s; }
.pf-bay::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(16, 30, 36, .8)); }
.pf-bay:hover img { transform: scale(1.06); }
.pf-bay:hover { color: #fff; }
.pf-bay-txt { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 22px; }
.pf-bay-txt b { display: block; font-family: var(--head); font-size: 2rem; font-weight: 500; line-height: 1; }
.pf-bay-txt small { display: block; margin: 8px 0 12px; font-size: .88rem; color: rgba(255, 255, 255, .82); }
.pf-bay-txt em { font-style: normal; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; border-bottom: 1px solid var(--terra); padding-bottom: 3px; }

/* Koleksiyon kartları */
.card { background: transparent; border: 0; box-shadow: none; }
.card:hover { box-shadow: none; }
.item-card .c-media { aspect-ratio: 4 / 3; }
.item-card .c-media img { transition: transform 1.2s; }
.item-card:hover .c-media img { transform: scale(1.04); }
.item-card .c-body { padding: 22px 0 0; }
.c-badge { background: rgba(250, 246, 239, .95); color: var(--ink); border-radius: 0; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; font-size: .66rem; }
.c-cat { color: var(--terra); letter-spacing: .24em; font-weight: 500; font-size: .7rem; }
.c-body h3 { font-size: 1.75rem; font-weight: 500; line-height: 1.15; }
.c-loc { font-size: .9rem; }
.c-loc .ic { color: var(--terra); }
.c-attrs { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 12px 0; gap: 26px; }
.c-attrs small { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; }
.c-attrs b { font-weight: 500; }
.c-foot { border-top: 0; }
.c-foot .c-price { font-family: var(--head); font-size: 1.7rem; font-weight: 600; color: var(--aegean); }
.c-more { color: var(--ink); font-weight: 500; letter-spacing: .12em; text-transform: uppercase; font-size: .74rem; }
.pf-collection .item-grid { column-gap: 48px; row-gap: 64px; align-items: start; }
@media (min-width: 961px) { .pf-collection .item-grid .item-card:nth-child(even) { margin-top: 90px; } }
.team-card .c-media { aspect-ratio: 4 / 5; }
.team-card .c-body { padding: 20px 0 0; }
.team-card h3 { font-size: 1.6rem; font-weight: 500; }
.c-role { color: var(--terra); font-weight: 500; letter-spacing: .06em; }
.quote-card { background: var(--card); border: 1px solid var(--line); padding: 34px; }
.quote-card p { font-family: var(--head); font-size: 1.3rem; line-height: 1.45; color: var(--ink); }
.quote-card .q-ic { color: var(--terra); }
.q-stars { color: var(--terra); }
.post-card .c-body { padding: 20px 0 0; }
.post-card h3 { font-size: 1.5rem; font-weight: 500; }

/* Özel gösterim */
.pf-private { position: relative; padding: 120px 0; overflow: hidden; }
.pf-private > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pf-private-box { position: relative; max-width: 520px; padding: 50px 48px; background: var(--bg); }
.pf-private-box h2 { margin: 12px 0 14px; }
.pf-private-box ul { list-style: none; margin: 22px 0 30px; padding: 0; display: grid; gap: 10px; }
.pf-private-box li { display: flex; align-items: center; gap: 10px; }
.pf-private-box li .ic { color: var(--terra); }

/* Satış bandı, SSS, hakkımızda */
.pf-sell { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pf-sell-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 44px; padding-bottom: 44px; }
.pf-sell p { margin: 0; font-family: var(--head); font-size: clamp(1.6rem, 2.8vw, 2.3rem); color: var(--ink); line-height: 1.2; }
.pf-sell .kicker { display: block; margin-bottom: 8px; }
.about-media img { box-shadow: none; }
.about-badge { background: var(--aegean); border-radius: 0; }
.about-badge strong { font-family: var(--head); font-weight: 500; }
.tick-list li > span { background: transparent; color: var(--terra); border: 1px solid var(--terra); }
.faq { border-radius: 0; background: transparent; border-width: 0 0 1px; }
.faq summary { font-family: var(--head); font-size: 1.3rem; font-weight: 600; }
.faq summary i { background: transparent; border: 1px solid var(--line); }
.faq[open] summary i { background: var(--terra); border-color: var(--terra); }
.form-card { border-radius: 0; background: var(--card); border: 1px solid var(--line); box-shadow: none; }
.field input, .field select, .field textarea { border-radius: 0; background: #fff; }
.steps li { border-radius: 0; }

/* İç sayfalar */
.page-hero { background: var(--bg-alt); }
.page-hero h1 { font-size: clamp(2.6rem, 5vw, 4.4rem); }
.crumbs { letter-spacing: .08em; }
.crumbs [aria-current] { color: var(--terra); }
.ph-deco { color: rgba(199, 119, 63, .1); }
.filter-panel { border-radius: 0; background: var(--card); }
.spec-box { border-radius: 0; background: var(--card); border: 1px solid var(--line); }
.spec-price strong { font-family: var(--head); font-weight: 600; font-size: 2.2rem; color: var(--aegean); }
.agent-card, .side-call { border-radius: 0; }
.side-call { background: var(--aegean); }
.cta-band { background: var(--aegean); }
.cta-band.has-img::before { background: linear-gradient(90deg, rgba(16, 30, 36, .88), rgba(16, 30, 36, .35)); }
.site-footer { background: #13252c; }
.site-footer .brand-mark { color: var(--terra); }

@media (max-width: 1440px) {
    .phone-chip { display: none; }
}
@media (max-width: 960px) {
    .pf-bay-grid { grid-template-columns: 1fr 1fr; }
    .pf-private { padding: 70px 0; }
    .pf-private-box { padding: 36px 28px; }
    .pf-sell-in { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
    .pf-hero-in { padding-top: 80px; padding-bottom: 56px; }
    .pf-search label { border-right: 0; border-bottom: 1px solid var(--line); }
    .pf-search .btn { flex: 1 1 100%; min-height: 54px; }
    .pf-scroll { display: none; }
    .pf-intro-nums b { font-size: 2.2rem; }
    .pf-intro-nums span { font-size: .66rem; letter-spacing: .08em; }
    .pf-bay-grid { gap: 10px; }
    .pf-bay-txt { left: 14px; right: 14px; bottom: 14px; }
    .pf-bay-txt b { font-size: 1.5rem; }
    .pf-bay-txt small { display: none; }
    .c-body h3 { font-size: 1.5rem; }
    .c-attrs { gap: 16px; }
    .quote-card { padding: 26px 22px; }
}
