:root{
  --ink:#111827;
  --muted:#667085;
  --surface:#ffffff;
  --canvas:#f5f7f7;
  --line:#e4e7ec;
  --brand:#0f8f89;
  --brand-dark:#0a6f6a;
  --brand-soft:#e8f7f5;
  --gold:#c99a4a;
  --danger:#b42318;
  --shadow:0 20px 55px rgba(15,23,42,.10);
  --shadow-sm:0 10px 28px rgba(15,23,42,.08);
  --radius:22px;
  --radius-sm:14px;
  --max:1240px;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--surface);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

img{
  display:block;
  max-width:100%;
}

a{
  text-decoration:none;
  color:inherit;
}

button,
input,
select,
textarea{
  font:inherit;
}

button{
  cursor:pointer;
}

.container{
  width:min(var(--max),calc(100% - 40px));
  margin-inline:auto;
}

.section{
  padding:88px 0;
}

.section.alt{
  background:var(--canvas);
}

.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:34px;
}

.section-head.compact{
  margin-bottom:24px;
}

.section-head h2{
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.12;
  letter-spacing:-.045em;
}

.section-head p{
  max-width:600px;
  color:var(--muted);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--brand);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.eyebrow::before{
  content:"";
  width:28px;
  height:2px;
  background:var(--brand);
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:var(--brand-soft);
  color:var(--brand-dark);
  font-size:.75rem;
  font-weight:800;
}

.badge.sale{
  background:#ecfdf3;
  color:#027a48;
}

.badge.rent{
  background:#eff8ff;
  color:#175cd3;
}

.badge.new{
  background:#fff8eb;
  color:#b54708;
}

/* Header */

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(228,231,236,.9);
}

.nav{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
}

.brand-mark{
  width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(145deg,var(--brand),#19b5ad);
  display:grid;
  place-items:center;
  color:white;
  font-weight:900;
  letter-spacing:-.06em;
  box-shadow:0 10px 24px rgba(15,143,137,.25);
}

.brand-copy strong{
  display:block;
  font-size:1.05rem;
  line-height:1;
}

.brand-copy span{
  font-size:.68rem;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:26px;
  list-style:none;
  font-size:.92rem;
  font-weight:650;
}

.nav-links a{
  position:relative;
  padding:28px 0;
}

.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:19px;
  width:0;
  height:2px;
  background:var(--brand);
  transition:.25s;
}

.nav-links a:hover::after,
.nav-links a.active::after{
  width:100%;
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.menu-btn{
  display:none;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  background:white;
  border-radius:12px;
}

/* Buttons */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid transparent;
  font-weight:800;
  transition:.2s;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-primary{
  background:var(--brand);
  color:white;
  box-shadow:0 12px 26px rgba(15,143,137,.22);
}

.btn-primary:hover{
  background:var(--brand-dark);
}

.btn-dark{
  background:var(--ink);
  color:white;
}

.btn-light{
  background:white;
  color:var(--ink);
  border-color:var(--line);
}

.btn-ghost{
  border-color:rgba(255,255,255,.35);
  color:white;
  background:rgba(255,255,255,.08);
}

.btn-sm{
  min-height:40px;
  padding:0 14px;
  font-size:.84rem;
}

.icon-btn{
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid var(--line);
  background:white;
  display:grid;
  place-items:center;
  transition:.2s;
}

.icon-btn:hover{
  border-color:var(--brand);
  color:var(--brand);
}

.icon-btn.is-favorite{
  background:var(--brand);
  color:white;
  border-color:var(--brand);
}

/* Hero */

.hero{
  position:relative;
  overflow:hidden;
  background:#0e1d25;
  color:white;
  min-height:690px;
  display:flex;
  align-items:center;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(8,18,24,.92) 0%,
      rgba(8,18,24,.72) 48%,
      rgba(8,18,24,.26) 100%
    ),
    url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2200&q=88')
    center/cover no-repeat;
}

.hero::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  right:-160px;
  top:-120px;
  box-shadow:
    0 0 0 70px rgba(255,255,255,.03),
    0 0 0 140px rgba(255,255,255,.02);
}

.hero-inner{
  position:relative;
  z-index:1;
  padding:100px 0 76px;
}

.hero-content{
  max-width:760px;
}

.hero .eyebrow{
  color:#8be1dc;
}

.hero .eyebrow::before{
  background:#8be1dc;
}

.hero h1{
  font-size:clamp(3rem,6vw,5.8rem);
  line-height:.98;
  letter-spacing:-.065em;
  max-width:760px;
  margin-bottom:24px;
}

.hero h1 span{
  color:#73d6d0;
}

.hero-lead{
  font-size:1.12rem;
  color:rgba(255,255,255,.76);
  max-width:620px;
  margin-bottom:34px;
}

.search-panel{
  background:white;
  color:var(--ink);
  padding:18px;
  border-radius:20px;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:140px 1.3fr 1fr 1fr auto;
  gap:10px;
  align-items:end;
  max-width:1100px;
  margin-top:38px;
}

.field label{
  display:block;
  font-size:.72rem;
  color:var(--muted);
  font-weight:800;
  margin:0 0 7px 3px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.field input,
.field select,
.field textarea{
  width:100%;
  height:48px;
  border:1px solid var(--line);
  border-radius:11px;
  padding:0 13px;
  background:white;
  color:var(--ink);
  outline:none;
  transition:.2s;
}

.field textarea{
  height:auto;
  min-height:120px;
  padding-top:13px;
  resize:vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 4px rgba(15,143,137,.10);
}

.hero-metrics{
  display:flex;
  gap:34px;
  margin-top:30px;
  flex-wrap:wrap;
}

.metric strong{
  font-size:1.45rem;
  display:block;
}

.metric span{
  font-size:.8rem;
  color:rgba(255,255,255,.64);
}

/* Category */

.category-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
}

.category-card{
  padding:24px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:white;
  transition:.25s;
  text-align:center;
}

.category-card:hover{
  transform:translateY(-5px);
  border-color:var(--brand);
  box-shadow:var(--shadow-sm);
}

.category-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  background:var(--brand-soft);
  color:var(--brand);
  display:grid;
  place-items:center;
  font-size:1.35rem;
  margin:0 auto 14px;
}

.category-card strong{
  display:block;
  margin-bottom:3px;
}

.category-card span{
  font-size:.78rem;
  color:var(--muted);
}

/* Listing cards */

.listing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.listing-card{
  background:white;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  transition:.25s;
  position:relative;
}

.listing-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
  border-color:transparent;
}

.listing-media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#ddd;
}

.listing-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.45s;
}

.listing-card:hover .listing-media img{
  transform:scale(1.045);
}

.listing-media .badge{
  position:absolute;
  left:14px;
  top:14px;
}

.listing-media .icon-btn{
  position:absolute;
  right:14px;
  top:14px;
}

.listing-body{
  padding:20px;
}

.listing-location{
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  font-size:.82rem;
  margin-bottom:8px;
}

.listing-title{
  font-size:1.08rem;
  line-height:1.35;
  min-height:46px;
  margin-bottom:14px;
}

.listing-meta{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  padding:14px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:#344054;
  font-size:.82rem;
}

.listing-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:15px;
  gap:10px;
}

.listing-price strong{
  font-size:1.2rem;
}

.listing-price small{
  color:var(--muted);
}

/* Split CTA */

.split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:stretch;
}

.photo-panel{
  border-radius:26px;
  overflow:hidden;
  min-height:500px;
  position:relative;
}

.photo-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.photo-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(11,29,37,.72));
}

.photo-caption{
  position:absolute;
  z-index:1;
  left:32px;
  right:32px;
  bottom:30px;
  color:white;
}

.photo-caption h3{
  font-size:2rem;
  letter-spacing:-.04em;
  margin-bottom:8px;
}

.content-panel{
  border-radius:26px;
  background:#0f252d;
  color:white;
  padding:46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.content-panel h2{
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.05;
  letter-spacing:-.05em;
  margin-bottom:18px;
}

.content-panel p{
  color:rgba(255,255,255,.72);
  margin-bottom:24px;
}

.steps{
  display:grid;
  gap:16px;
  margin:22px 0 30px;
}

.step{
  display:flex;
  gap:13px;
  align-items:flex-start;
}

.step-num{
  width:34px;
  height:34px;
  border-radius:11px;
  background:rgba(115,214,208,.15);
  color:#7ee0db;
  display:grid;
  place-items:center;
  font-weight:900;
  flex:0 0 auto;
}

.step strong{
  display:block;
  margin-bottom:2px;
}

.step span{
  font-size:.82rem;
  color:rgba(255,255,255,.60);
}

/* Trust */

.trust-grid{
  display:grid;
  grid-template-columns:1.1fr repeat(4,.65fr);
  gap:16px;
}

.trust-intro{
  background:var(--brand);
  color:white;
  border-radius:22px;
  padding:30px;
}

.trust-intro h3{
  font-size:1.6rem;
  line-height:1.15;
  margin-bottom:10px;
}

.trust-intro p{
  color:rgba(255,255,255,.75);
}

.trust-card{
  border:1px solid var(--line);
  border-radius:22px;
  padding:26px;
  background:white;
}

.trust-card strong{
  display:block;
  font-size:2rem;
  letter-spacing:-.05em;
  color:var(--brand);
}

.trust-card span{
  font-size:.82rem;
  color:var(--muted);
}

/* Page hero */

.page-hero{
  padding:86px 0 58px;
  background:linear-gradient(145deg,#0e2028,#13353d);
  color:white;
  position:relative;
  overflow:hidden;
}

.page-hero::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  right:-120px;
  top:-160px;
  box-shadow:
    0 0 0 70px rgba(255,255,255,.025),
    0 0 0 140px rgba(255,255,255,.018);
}

.page-hero .container{
  position:relative;
  z-index:1;
}

.page-hero h1{
  font-size:clamp(2.7rem,5vw,4.8rem);
  letter-spacing:-.06em;
  line-height:1;
  margin-bottom:14px;
}

.page-hero p{
  color:rgba(255,255,255,.70);
  max-width:680px;
}

.breadcrumb{
  display:flex;
  gap:8px;
  align-items:center;
  color:rgba(255,255,255,.55);
  font-size:.82rem;
  margin-bottom:22px;
}

.breadcrumb a{
  color:white;
}

/* Portfolio */

.portfolio-layout{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:24px;
  align-items:start;
}

.filter-panel{
  position:sticky;
  top:96px;
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px;
  background:white;
}

.filter-panel h3{
  margin-bottom:18px;
}

.filter-stack{
  display:grid;
  gap:15px;
}

.range-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.filter-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:5px;
}

.portfolio-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:20px;
}

.toolbar-left{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.toolbar-right{
  display:flex;
  align-items:center;
  gap:8px;
}

.segmented{
  display:flex;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:white;
}

.segmented button{
  border:0;
  background:transparent;
  border-radius:9px;
  padding:8px 11px;
  color:var(--muted);
  font-weight:800;
}

.segmented button.active{
  background:var(--ink);
  color:white;
}

.portfolio-results.list-view .listing-grid{
  grid-template-columns:1fr;
}

.portfolio-results.list-view .listing-card{
  display:grid;
  grid-template-columns:300px 1fr;
}

.portfolio-results.list-view .listing-media{
  aspect-ratio:auto;
  min-height:230px;
}

.map-shell{
  display:none;
  height:620px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--line);
}

.map-shell.active{
  display:block;
}

#portfolioMap{
  height:100%;
  width:100%;
}

.mobile-filter-btn{
  display:none;
}

/* Forms */

.form-shell{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:30px;
  align-items:start;
}

.info-card{
  background:#0f252d;
  color:white;
  border-radius:26px;
  padding:38px;
  position:sticky;
  top:100px;
}

.info-card h2{
  font-size:2.2rem;
  line-height:1.1;
  letter-spacing:-.045em;
  margin-bottom:16px;
}

.info-card p{
  color:rgba(255,255,255,.70);
}

.info-list{
  display:grid;
  gap:16px;
  margin-top:28px;
}

.info-item{
  display:flex;
  gap:12px;
}

.info-item i{
  width:38px;
  height:38px;
  border-radius:12px;
  background:rgba(255,255,255,.09);
  display:grid;
  place-items:center;
  font-style:normal;
}

.info-item strong{
  display:block;
}

.info-item span{
  font-size:.82rem;
  color:rgba(255,255,255,.58);
}

.form-card{
  border:1px solid var(--line);
  border-radius:26px;
  padding:32px;
  background:white;
  box-shadow:var(--shadow-sm);
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.field.full{
  grid-column:1/-1;
}

.form-progress{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:28px;
}

.progress-dot{
  height:8px;
  flex:1;
  border-radius:999px;
  background:#e8ecef;
}

.progress-dot.active{
  background:var(--brand);
}

.form-step{
  display:none;
}

.form-step.active{
  display:block;
}

.form-step h3{
  font-size:1.5rem;
  margin-bottom:6px;
}

.form-step>p{
  color:var(--muted);
  margin-bottom:22px;
}

.choice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.choice{
  position:relative;
}

.choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.choice label{
  display:block;
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px;
  text-align:center;
  font-weight:800;
  cursor:pointer;
  transition:.2s;
}

.choice input:checked+label{
  border-color:var(--brand);
  background:var(--brand-soft);
  color:var(--brand-dark);
}

.form-nav{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:26px;
}

.success-box{
  display:none;
  text-align:center;
  padding:44px 24px;
}

.success-box.active{
  display:block;
}

.success-icon{
  width:66px;
  height:66px;
  border-radius:50%;
  background:#ecfdf3;
  color:#027a48;
  display:grid;
  place-items:center;
  font-size:1.8rem;
  margin:0 auto 18px;
}

/* Contact */

.contact-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
}

.contact-panel{
  background:#0f252d;
  color:white;
  border-radius:26px;
  padding:38px;
}

.contact-panel h2{
  font-size:2.2rem;
  line-height:1.1;
  margin-bottom:14px;
}

.contact-panel p{
  color:rgba(255,255,255,.66);
}

.contact-links{
  display:grid;
  gap:12px;
  margin-top:26px;
}

.contact-link{
  display:flex;
  align-items:center;
  gap:13px;
  padding:15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:15px;
  transition:.2s;
}

.contact-link:hover{
  background:rgba(255,255,255,.06);
}

.contact-link i{
  width:40px;
  height:40px;
  border-radius:12px;
  background:rgba(255,255,255,.09);
  display:grid;
  place-items:center;
  font-style:normal;
}

.contact-link strong{
  display:block;
}

.contact-link span{
  font-size:.82rem;
  color:rgba(255,255,255,.56);
}

.map-card{
  margin-top:28px;
  border-radius:22px;
  overflow:hidden;
  height:360px;
  border:1px solid var(--line);
}

.map-card iframe{
  width:100%;
  height:100%;
  border:0;
}

/* Detail */

.detail-grid{
  display:grid;
  grid-template-columns:1fr 380px;
  gap:26px;
  align-items:start;
}

.gallery-main{
  border-radius:22px;
  overflow:hidden;
  aspect-ratio:16/10;
  background:#ddd;
}

.gallery-main img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:10px;
}

.gallery-thumbs button{
  border:0;
  border-radius:12px;
  overflow:hidden;
  aspect-ratio:16/10;
  opacity:.72;
}

.gallery-thumbs button.active{
  outline:3px solid var(--brand);
  opacity:1;
}

.gallery-thumbs img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.detail-card{
  position:sticky;
  top:100px;
  border:1px solid var(--line);
  border-radius:22px;
  padding:24px;
  background:white;
  box-shadow:var(--shadow-sm);
}

.detail-card h1{
  font-size:1.55rem;
  line-height:1.25;
  margin:12px 0;
}

.detail-price{
  font-size:2rem;
  font-weight:900;
  letter-spacing:-.04em;
  margin:14px 0;
}

.detail-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.detail-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:24px 0;
}

.meta-box{
  border:1px solid var(--line);
  border-radius:14px;
  padding:16px;
  text-align:center;
}

.meta-box strong{
  display:block;
  font-size:1.1rem;
}

.meta-box span{
  font-size:.76rem;
  color:var(--muted);
}

.detail-content{
  margin-top:28px;
  display:grid;
  gap:24px;
}

.content-card{
  border:1px solid var(--line);
  border-radius:20px;
  padding:26px;
}

.content-card h2{
  margin-bottom:14px;
  font-size:1.45rem;
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.feature{
  padding:12px 14px;
  border-radius:12px;
  background:var(--canvas);
  font-size:.86rem;
}

/* Footer */

.footer{
  background:#0a171d;
  color:white;
  padding:60px 0 24px;
  margin-top:0;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.4fr repeat(3,.7fr);
  gap:38px;
}

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

.footer p{
  color:rgba(255,255,255,.55);
  max-width:420px;
}

.footer h4{
  font-size:.9rem;
  margin-bottom:15px;
}

.footer ul{
  list-style:none;
  display:grid;
  gap:10px;
  color:rgba(255,255,255,.58);
  font-size:.86rem;
}

.footer a:hover{
  color:white;
}

.footer-bottom{
  margin-top:40px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.09);
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.42);
  font-size:.78rem;
}

.empty-state{
  grid-column:1/-1;
  text-align:center;
  padding:70px 20px;
  border:1px dashed var(--line);
  border-radius:20px;
  color:var(--muted);
}

.toast{
  position:fixed;
  left:50%;
  bottom:26px;
  transform:translate(-50%,30px);
  background:var(--ink);
  color:white;
  padding:12px 18px;
  border-radius:12px;
  z-index:200;
  opacity:0;
  pointer-events:none;
  transition:.25s;
}

.toast.show{
  opacity:1;
  transform:translate(-50%,0);
}

@media(max-width:1080px){
  .nav-links{
    gap:16px;
    font-size:.85rem;
  }

  .nav-actions .btn-light{
    display:none;
  }

  .search-panel{
    grid-template-columns:1fr 1fr 1fr;
  }

  .search-panel .field:first-child{
    grid-column:auto;
  }

  .search-panel .btn{
    grid-column:1/-1;
  }

  .category-grid{
    grid-template-columns:repeat(3,1fr);
  }

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

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

  .trust-intro{
    grid-column:1/-1;
  }

  .portfolio-layout{
    grid-template-columns:280px 1fr;
  }

  .detail-grid{
    grid-template-columns:1fr 340px;
  }
}

@media(max-width:820px){
  .section{
    padding:68px 0;
  }

  .container{
    width:min(var(--max),calc(100% - 28px));
  }

  .nav{
    height:70px;
  }

  .nav-links,
  .nav-actions{
    display:none;
  }

  .menu-btn{
    display:grid;
    place-items:center;
  }

  .site-header.menu-open .nav-links{
    display:flex;
    position:absolute;
    left:14px;
    right:14px;
    top:78px;
    background:white;
    border:1px solid var(--line);
    border-radius:18px;
    padding:18px;
    flex-direction:column;
    align-items:stretch;
    box-shadow:var(--shadow);
  }

  .site-header.menu-open .nav-links a{
    padding:10px;
  }

  .site-header.menu-open .nav-links a::after{
    display:none;
  }

  .hero{
    min-height:auto;
  }

  .hero-inner{
    padding:86px 0 58px;
  }

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

  .search-panel{
    grid-template-columns:1fr 1fr;
  }

  .split,
  .form-shell,
  .contact-grid,
  .detail-grid{
    grid-template-columns:1fr;
  }

  .content-panel{
    padding:32px;
  }

  .photo-panel{
    min-height:380px;
  }

  .section-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .portfolio-layout{
    grid-template-columns:1fr;
  }

  .filter-panel{
    position:fixed;
    inset:76px 12px 12px;
    z-index:120;
    display:none;
    overflow:auto;
  }

  .filter-panel.open{
    display:block;
  }

  .mobile-filter-btn{
    display:inline-flex;
  }

  .detail-card,
  .info-card{
    position:static;
  }

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

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

  .footer-grid>div:first-child{
    grid-column:1/-1;
  }
}

@media(max-width:560px){
  .brand-copy span{
    display:none;
  }

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

  .hero h1{
    font-size:2.85rem;
  }

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

  .search-panel{
    grid-template-columns:1fr;
    padding:14px;
  }

  .search-panel .btn{
    grid-column:auto;
  }

  .hero-metrics{
    gap:20px;
  }

  .metric strong{
    font-size:1.25rem;
  }

  .category-grid,
  .listing-grid,
  .trust-grid{
    grid-template-columns:1fr;
  }

  .category-card{
    text-align:left;
    display:flex;
    align-items:center;
    gap:14px;
  }

  .category-icon{
    margin:0;
  }

  .listing-grid{
    gap:18px;
  }

  .portfolio-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }

  .toolbar-right{
    width:100%;
    justify-content:space-between;
  }

  .portfolio-results.list-view .listing-card{
    display:block;
  }

  .portfolio-results.list-view .listing-media{
    min-height:0;
    aspect-ratio:16/10;
  }

  .form-grid,
  .choice-grid{
    grid-template-columns:1fr;
  }

  .form-card{
    padding:22px;
  }

  .info-card,
  .contact-panel{
    padding:28px;
  }

  .detail-actions{
    grid-template-columns:1fr;
  }

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

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

  .footer-grid>div:first-child{
    grid-column:auto;
  }
}

/* Home enhancements: map, team and consultant application */

.action-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.map-section{
  background:#fff;
}

.map-heading{
  align-items:flex-end;
}

.map-heading>div:first-child{
  max-width:720px;
}

.map-heading p{
  margin-top:12px;
}

.map-filters{
  display:flex;
  gap:8px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--canvas);
}

.map-filter{
  border:0;
  border-radius:10px;
  background:transparent;
  padding:9px 14px;
  color:var(--muted);
  font-weight:800;
  transition:.2s;
}

.map-filter:hover,
.map-filter.active{
  background:var(--ink);
  color:white;
}

.home-map-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);
  gap:18px;
  align-items:stretch;
}

.home-map-shell{
  position:relative;
  height:590px;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:var(--canvas);
}

#homeMap{
  width:100%;
  height:100%;
}

.map-fallback{
  display:none;
  position:absolute;
  inset:0;
  place-items:center;
  text-align:center;
  padding:30px;
  color:var(--muted);
  background:var(--canvas);
}

.home-map-shell.map-error .map-fallback{
  display:grid;
}

.map-list-panel{
  height:590px;
  border:1px solid var(--line);
  border-radius:24px;
  background:white;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.map-list-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:18px 18px 15px;
  border-bottom:1px solid var(--line);
}

.map-list-head a{
  color:var(--brand);
  font-size:.82rem;
  font-weight:800;
}

.map-list{
  padding:10px;
  overflow:auto;
  display:grid;
  gap:8px;
}

.map-list-item{
  width:100%;
  border:1px solid transparent;
  background:white;
  border-radius:15px;
  padding:12px;
  text-align:left;
  display:grid;
  grid-template-columns:76px 1fr;
  gap:12px;
  transition:.2s;
  color:var(--ink);
}

.map-list-item:hover,
.map-list-item.active{
  border-color:var(--brand);
  background:var(--brand-soft);
}

.map-list-item img{
  width:76px;
  height:70px;
  object-fit:cover;
  border-radius:11px;
}

.map-list-item strong{
  display:block;
  font-size:.86rem;
  line-height:1.3;
  margin:2px 0 5px;
}

.map-list-item small{
  display:block;
  color:var(--muted);
  font-size:.73rem;
  margin-bottom:4px;
}

.map-list-item b{
  color:var(--brand-dark);
  font-size:.84rem;
}

.price-marker-wrap{
  background:transparent;
  border:0;
}

.price-marker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  background:var(--ink);
  color:#fff;
  border:3px solid #fff;
  border-radius:999px;
  padding:7px 10px;
  font:800 11px/1 Inter,sans-serif;
  box-shadow:0 8px 20px rgba(15,23,42,.28);
  transform:translate(-25%,-25%);
}

.price-marker.sale{
  background:#027a48;
}

.price-marker.rent{
  background:#175cd3;
}

.leaflet-popup-content-wrapper{
  border-radius:16px;
  box-shadow:var(--shadow-sm);
}

.leaflet-popup-content{
  font-family:Inter,sans-serif;
  line-height:1.45;
  margin:15px 17px;
  min-width:210px;
}

.map-popup-title{
  display:block;
  font-size:.88rem;
  margin-bottom:6px;
}

.map-popup-meta{
  color:var(--muted);
  font-size:.76rem;
  margin-bottom:7px;
}

.map-popup-link{
  color:var(--brand);
  font-weight:800;
}

/* Team */

.team-section{
  background:linear-gradient(180deg,#fff 0%,#f8fbfb 100%);
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.team-card{
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:white;
  transition:.25s;
}

.team-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
  border-color:transparent;
}

.team-photo{
  position:relative;
  aspect-ratio:5/4;
  overflow:hidden;
  background:#e7eff0;
}

.team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.4s;
}

.team-card:hover .team-photo img{
  transform:scale(1.035);
}

.team-role-chip{
  position:absolute;
  left:14px;
  bottom:14px;
  background:rgba(10,23,29,.9);
  color:#fff;
  padding:7px 10px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:800;
  backdrop-filter:blur(8px);
}

.team-copy{
  padding:19px 20px 21px;
}

.team-copy h3{
  font-size:1.04rem;
  margin-bottom:3px;
}

.team-copy p{
  color:var(--muted);
  font-size:.82rem;
  margin-bottom:12px;
}

.team-copy a{
  display:inline-flex;
  color:var(--brand-dark);
  font-size:.82rem;
  font-weight:800;
}

/* Consultant application */

.application-section{
  position:relative;
  overflow:hidden;
}

.application-section::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  background:rgba(15,143,137,.055);
  left:-280px;
  bottom:-290px;
}

.application-layout{
  position:relative;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:30px;
  align-items:start;
}

.application-intro{
  background:#0f252d;
  color:#fff;
  border-radius:26px;
  padding:42px;
  position:sticky;
  top:100px;
}

.application-intro .eyebrow{
  color:#79ddd7;
}

.application-intro .eyebrow::before{
  background:#79ddd7;
}

.application-intro h2{
  font-size:clamp(2.1rem,4vw,3.4rem);
  line-height:1.05;
  letter-spacing:-.05em;
  margin-bottom:17px;
}

.application-intro>p{
  color:rgba(255,255,255,.68);
}

.application-benefits{
  display:grid;
  gap:17px;
  margin-top:30px;
}

.application-benefits>div{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:12px;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.1);
}

.application-benefits>div>span{
  width:36px;
  height:36px;
  border-radius:11px;
  background:rgba(121,221,215,.12);
  color:#79ddd7;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:.75rem;
}

.application-benefits p{
  color:rgba(255,255,255,.6);
  font-size:.82rem;
}

.application-benefits strong{
  color:#fff;
  font-size:.9rem;
}

.application-form{
  border:1px solid var(--line);
  border-radius:26px;
  background:white;
  padding:34px;
  box-shadow:var(--shadow-sm);
}

.form-title{
  margin-bottom:24px;
}

.form-title h3{
  font-size:1.55rem;
  margin-bottom:5px;
}

.form-title p{
  color:var(--muted);
  font-size:.9rem;
}

.btn-block{
  width:100%;
  margin-top:18px;
}

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

.consent-row{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  color:var(--muted);
  font-size:.79rem;
  line-height:1.45;
  text-transform:none!important;
  letter-spacing:0!important;
  margin:4px 0 0!important;
}

.consent-row input{
  width:18px!important;
  height:18px!important;
  min-height:0!important;
  flex:0 0 auto;
  margin-top:2px;
  accent-color:var(--brand);
  box-shadow:none!important;
}

.form-status{
  min-height:24px;
  margin-top:13px;
  text-align:center;
  font-size:.84rem;
  color:var(--muted);
}

.form-status.success{
  color:#027a48;
  font-weight:700;
}

.form-status.error{
  color:var(--danger);
  font-weight:700;
}

@media(max-width:1080px){
  .home-map-layout{
    grid-template-columns:1fr;
  }

  .home-map-shell{
    height:520px;
  }

  .map-list-panel{
    height:auto;
    max-height:430px;
  }

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

  .application-layout{
    grid-template-columns:.85fr 1.15fr;
  }
}

@media(max-width:820px){
  .map-heading{
    align-items:flex-start;
  }

  .map-filters{
    width:100%;
    overflow:auto;
  }

  .application-layout{
    grid-template-columns:1fr;
  }

  .application-intro{
    position:static;
  }

  .application-form{
    padding:26px;
  }
}

@media(max-width:560px){
  .home-map-shell{
    height:430px;
  }

  .map-list-panel{
    max-height:none;
  }

  .map-list{
    max-height:390px;
  }

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

  .team-photo{
    aspect-ratio:16/11;
  }

  .application-intro{
    padding:29px;
  }

  .application-form{
    padding:21px;
  }

  .map-list-item{
    grid-template-columns:68px 1fr;
  }

  .map-list-item img{
    width:68px;
    height:66px;
  }
}

/* Built-in map */

.simple-map{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  isolation:isolate;
  background:#dfe9e9;
  font-family:Inter,sans-serif;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}

.simple-map.is-dragging{
  cursor:grabbing;
}

.simple-map-tiles,
.simple-map-markers{
  position:absolute;
  inset:0;
}

.simple-map-tiles{
  z-index:1;
  background:#dfe9e9;
}

.simple-map-markers{
  z-index:3;
  pointer-events:none;
}

.simple-map-tile{
  position:absolute;
  width:256px;
  height:256px;
  max-width:none;
  user-select:none;
  pointer-events:none;
}

.simple-map-tile.is-error{
  opacity:0;
}

.simple-map-marker{
  position:absolute;
  z-index:4;
  transform:translate(-50%,-100%);
  border:3px solid #fff;
  border-radius:999px;
  padding:8px 11px;
  color:#fff;
  font:800 11px/1 Inter,sans-serif;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(15,23,42,.28);
  cursor:pointer;
  pointer-events:auto;
  transition:transform .18s ease,box-shadow .18s ease;
}

.simple-map-marker::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-8px;
  width:12px;
  height:12px;
  transform:translateX(-50%) rotate(45deg);
  background:inherit;
  border-right:3px solid #fff;
  border-bottom:3px solid #fff;
  border-radius:2px;
}

.simple-map-marker.sale{
  background:#027a48;
}

.simple-map-marker.rent{
  background:#175cd3;
}

.simple-map-marker:hover,
.simple-map-marker.active{
  transform:translate(-50%,-100%) scale(1.07);
  box-shadow:0 11px 25px rgba(15,23,42,.34);
}

.simple-map-controls{
  position:absolute;
  top:14px;
  right:14px;
  z-index:8;
  display:grid;
  gap:7px;
}

.simple-map-controls button{
  width:40px;
  height:40px;
  border:1px solid rgba(15,35,43,.16);
  border-radius:12px;
  background:rgba(255,255,255,.96);
  color:var(--ink);
  box-shadow:0 6px 18px rgba(15,23,42,.12);
  font-size:1.15rem;
  font-weight:900;
  cursor:pointer;
}

.simple-map-controls button:hover{
  background:var(--ink);
  color:#fff;
}

.simple-map-popup{
  position:absolute;
  z-index:10;
  width:min(290px,calc(100% - 28px));
  transform:translate(-50%,-100%);
  border:1px solid rgba(15,35,43,.12);
  border-radius:17px;
  background:#fff;
  box-shadow:0 16px 38px rgba(15,23,42,.22);
  padding:17px 40px 16px 17px;
  color:var(--ink);
}

.simple-map-popup[hidden]{
  display:none;
}

.simple-map-popup::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-8px;
  width:16px;
  height:16px;
  transform:translateX(-50%) rotate(45deg);
  background:#fff;
  border-right:1px solid rgba(15,35,43,.12);
  border-bottom:1px solid rgba(15,35,43,.12);
}

.simple-map-popup-close{
  position:absolute;
  top:8px;
  right:9px;
  width:28px;
  height:28px;
  border:0;
  border-radius:50%;
  background:var(--canvas);
  color:var(--ink);
  font-size:1.15rem;
  cursor:pointer;
}

.simple-map-popup-content{
  font-size:.82rem;
  line-height:1.5;
}

.simple-map-attribution{
  position:absolute;
  right:7px;
  bottom:6px;
  z-index:7;
  padding:3px 6px;
  border-radius:5px;
  background:rgba(255,255,255,.88);
  color:#475467;
  font-size:10px;
}

.simple-map-attribution a{
  color:#175cd3;
  text-decoration:underline;
}

#portfolioMap{
  width:100%;
  height:100%;
}

/* Team application CTA */

.team-application-cta{
  margin-top:30px;
  padding:27px 30px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#0f252d;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.team-application-cta>div{
  max-width:720px;
}

.team-application-cta .eyebrow{
  color:#79ddd7;
}

.team-application-cta .eyebrow::before{
  background:#79ddd7;
}

.team-application-cta h3{
  margin:8px 0 7px;
  font-size:clamp(1.35rem,2.2vw,2rem);
  letter-spacing:-.035em;
}

.team-application-cta p{
  color:rgba(255,255,255,.67);
  font-size:.92rem;
}

.team-application-cta .btn{
  flex:0 0 auto;
  white-space:nowrap;
}

.application-back-link{
  display:inline-flex;
  margin-top:28px;
  color:#79ddd7;
  font-weight:800;
  font-size:.84rem;
}

.career-hero .eyebrow{
  margin-top:18px;
}

@media(max-width:760px){
  .team-application-cta{
    align-items:flex-start;
    flex-direction:column;
    padding:24px;
  }

  .team-application-cta .btn{
    width:100%;
    justify-content:center;
  }

  .simple-map-popup{
    font-size:.78rem;
  }
}

/* Pagination */

.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:34px;
}

.pagination[hidden]{
  display:none!important;
}

.pagination-btn{
  min-width:42px;
  height:42px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font:800 .88rem/1 Inter,sans-serif;
  cursor:pointer;
  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

.pagination-btn:hover:not(:disabled){
  border-color:var(--brand);
  color:var(--brand);
  transform:translateY(-1px);
}

.pagination-btn.active{
  border-color:var(--brand);
  background:var(--brand);
  color:#fff;
}

.pagination-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
}

.pagination-arrow{
  font-size:1.05rem;
}

.pagination-ellipsis{
  min-width:28px;
  text-align:center;
  color:var(--muted);
  font-weight:800;
}

@media(max-width:560px){
  .pagination{
    gap:6px;
    margin-top:26px;
  }

  .pagination-btn{
    min-width:38px;
    height:38px;
    padding:0 10px;
    border-radius:10px;
  }
}

/* Admin description */

.detail-description{
  color:var(--muted);
  white-space:pre-line;
  line-height:1.8;
  overflow-wrap:anywhere;
}

/* Social media buttons */

#esgyo-social-buttons,
.floating-socials{
  position:fixed!important;
  right:20px!important;
  bottom:20px!important;
  left:auto!important;
  top:auto!important;
  z-index:99999!important;

  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:10px!important;

  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}

#esgyo-social-buttons .social-button,
.floating-socials .floating-social{
  position:relative!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  max-width:52px!important;
  max-height:52px!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#fff!important;

  box-shadow:0 6px 18px rgba(0,0,0,.25)!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}

#esgyo-social-buttons .social-button:hover,
.floating-socials .floating-social:hover{
  transform:translateY(-3px) scale(1.06)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.30)!important;
}

#esgyo-social-buttons .social-button img,
.floating-socials .floating-social img{
  display:block!important;

  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;

  margin:0!important;
  padding:0!important;

  object-fit:cover!important;
  border-radius:50%!important;
}

/*
  Eski HTML yapısında üç bağlantıda da
  class="floating-wa" kullanılmış olsa bile çalışır.
*/

a.floating-wa{
  position:fixed!important;
  right:20px!important;
  left:auto!important;
  top:auto!important;
  z-index:99999!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  max-width:52px!important;
  max-height:52px!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#fff!important;

  box-shadow:0 6px 18px rgba(0,0,0,.25)!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}

a.floating-wa:hover{
  transform:translateY(-3px) scale(1.06)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.30)!important;
}

a.floating-wa img{
  display:block!important;

  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;

  margin:0!important;
  padding:0!important;

  object-fit:cover!important;
  border-radius:50%!important;
}

/* WhatsApp en altta */

a.floating-wa[href*="wa.me"]{
  bottom:20px!important;
}

/* Facebook ortada */

a.floating-wa[href*="facebook.com"]{
  bottom:82px!important;
}

/* Instagram üstte */

a.floating-wa[href*="instagram.com"]{
  bottom:144px!important;
}

/* Eski HTML içindeki gereksiz br boşlukları */

a.floating-wa + br,
a.floating-wa + br + br{
  display:none!important;
}

@media(max-width:560px){
  #esgyo-social-buttons,
  .floating-socials{
    right:12px!important;
    bottom:12px!important;
    gap:8px!important;
  }

  #esgyo-social-buttons .social-button,
  .floating-socials .floating-social,
  a.floating-wa{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    max-width:46px!important;
    max-height:46px!important;
  }

  a.floating-wa{
    right:12px!important;
  }

  a.floating-wa[href*="wa.me"]{
    bottom:12px!important;
  }

  a.floating-wa[href*="facebook.com"]{
    bottom:66px!important;
  }

  a.floating-wa[href*="instagram.com"]{
    bottom:120px!important;
  }
}

/* =====================================================
   TÜM SAYFALAR İÇİN ORTAK HEADER VE LOGO AYARLARI
   ===================================================== */

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(228,231,236,.9);
  backdrop-filter:blur(16px);
}

.site-header .nav{
  height:86px;
  display:flex;
  align-items:center;
  gap:34px;
}

/* Logo alanı */

.site-header .brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  min-width:0;
  margin:0;
  padding:7px 0;
}

.site-header .brand-copy{
  display:block;
  line-height:0;
}

.site-header .brand-copy img{
  display:block;
  width:210px;
  max-width:none;
  height:auto;
  margin:0;
  padding:0;
}

/* Menü */

.site-header .nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  margin:0;
  padding:0;
  list-style:none;
}

.site-header .nav-links li{
  display:flex;
  align-items:center;
  margin:0;
  padding:0;
}

.site-header .nav-links a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0;
  color:var(--ink);
  font-size:.92rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

.site-header .nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  width:0;
  height:2px;
  margin:auto;
  background:var(--brand);
  transition:width .2s ease;
}

.site-header .nav-links a:hover::after,
.site-header .nav-links a.active::after{
  width:100%;
}

/* Sağdaki butonlar */

.site-header .nav-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
  flex:0 0 auto;
}

.site-header .menu-btn{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin-left:auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font-size:1.3rem;
}

/* Biraz daha küçük ekranlar */

@media(max-width:1180px){

  .site-header .nav{
    gap:24px;
  }

  .site-header .brand-copy img{
    width:180px;
  }

  .site-header .nav-links{
    gap:20px;
  }

  .site-header .nav-links a{
    font-size:.84rem;
  }
}

/* Tablet ve telefon menüsü */

@media(max-width:900px){

  .site-header .nav{
    position:relative;
    height:74px;
  }

  .site-header .brand-copy img{
    width:170px;
  }

  .site-header .nav-links,
  .site-header .nav-actions{
    display:none !important;
  }

  .site-header .menu-btn{
    display:flex;
  }

  .site-header.menu-open .nav-links{
    position:absolute;
    top:82px;
    left:0;
    right:0;
    z-index:1001;

    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:4px;

    padding:14px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow);
  }

  .site-header.menu-open .nav-links li{
    display:block;
    width:100%;
  }

  .site-header.menu-open .nav-links a{
    display:flex;
    width:100%;
    min-height:46px;
    padding:0 13px;
    border-radius:10px;
  }

  .site-header.menu-open .nav-links a:hover,
  .site-header.menu-open .nav-links a.active{
    background:var(--brand-soft);
    color:var(--brand-dark);
  }

  .site-header.menu-open .nav-links a::after{
    display:none;
  }
}

@media(max-width:560px){

  .site-header .nav{
    height:68px;
  }

  .site-header .brand-copy img{
    width:145px;
  }

  .site-header .menu-btn{
    width:42px;
    height:42px;
  }

  .site-header.menu-open .nav-links{
    top:76px;
  }
}
/* Yasal metin sayfaları */
.legal-content{max-width:900px}.legal-content .content-card{display:grid;gap:16px}.legal-content h2{margin-top:12px}.legal-content p{color:var(--muted);line-height:1.8}.legal-content a{color:var(--brand);text-decoration:underline}

/* ===== ESGYO tam sürüm ekleri ===== */
.favorite-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:var(--brand);color:#fff;font-size:.64rem;font-weight:900}
.favorites-shortcut{display:inline-flex;align-items:center;gap:6px;color:var(--brand-dark);font-size:.78rem;font-weight:850}.favorites-shortcut span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--brand-soft)}
.listing-extra-badges{position:absolute;left:14px;bottom:14px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}.listing-extra-badge{display:inline-flex;padding:6px 8px;border-radius:999px;background:rgba(17,24,39,.86);color:#fff;font-size:.64rem;font-weight:900;backdrop-filter:blur(6px)}.listing-extra-badge.new{background:#b54708}.listing-extra-badge.reduced{background:#b42318}
.detail-hero{padding:58px 0 44px}.detail-hero h1{font-size:clamp(2rem,4vw,3.6rem)}.gallery-main{position:relative}.gallery-main.is-clickable{cursor:zoom-in}.gallery-hint{position:absolute;right:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(10,23,29,.78);color:#fff;font-size:.68rem;font-weight:800}.detail-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-listing-no{font-size:.72rem;color:var(--muted);font-weight:800}.detail-card hr{border:0;border-top:1px solid var(--line);margin:22px 0}.detail-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.advisor-mini{display:grid;grid-template-columns:70px 1fr;gap:13px;align-items:center}.advisor-mini img{width:70px;height:82px;border-radius:14px;object-fit:cover;background:#edf2f2}.advisor-mini strong{display:block}.advisor-mini p{margin:3px 0;color:var(--muted);font-size:.78rem}.advisor-mini a{color:var(--brand);font-size:.76rem;font-weight:750;overflow-wrap:anywhere}
.listing-inquiry-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:start}.listing-inquiry-card>div>p{color:var(--muted)}.listing-inquiry-card .btn{margin-top:12px}
.gallery-lightbox{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;background:rgba(2,8,12,.94);padding:54px 70px}.gallery-lightbox[hidden]{display:none}.gallery-lightbox img{max-width:min(1500px,100%);max-height:calc(100vh - 100px);object-fit:contain}.gallery-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.13);color:#fff;display:grid;place-items:center;border-radius:50%;backdrop-filter:blur(7px)}.lightbox-close{right:22px;top:20px;width:46px;height:46px;font-size:1.65rem}.lightbox-prev,.lightbox-next{top:50%;width:48px;height:64px;transform:translateY(-50%);font-size:2rem}.lightbox-prev{left:18px}.lightbox-next{right:18px}.gallery-lightbox>span{position:absolute;bottom:18px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:.75rem}.lightbox-open{overflow:hidden}
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:99998;display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(880px,calc(100% - 36px));margin:auto;padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#0f252d;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.25)}.cookie-banner strong{display:block;margin-bottom:3px}.cookie-banner p{margin:0;color:rgba(255,255,255,.68);font-size:.78rem}.cookie-banner a{color:#79ddd7;text-decoration:underline}
.legal-layout{display:grid;grid-template-columns:250px 1fr;gap:34px;align-items:start}.legal-nav{position:sticky;top:108px;display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff}.legal-nav strong{margin-bottom:7px}.legal-nav a{padding:10px 11px;border-radius:10px;color:var(--muted);font-size:.78rem;font-weight:800}.legal-nav a:hover,.legal-nav a.active{background:var(--brand-soft);color:var(--brand-dark)}.legal-content{max-width:none}.legal-content h2{font-size:1.35rem;margin:30px 0 8px}.legal-content h2:first-of-type{margin-top:0}.legal-content p{color:var(--muted);line-height:1.85}.legal-note{padding:15px;border-left:4px solid #b54708;border-radius:10px;background:#fff8eb;color:#7a2e0e!important}.not-found{min-height:70vh;display:grid;place-items:center;text-align:center}.not-found span{display:block;color:var(--brand);font-size:clamp(5rem,16vw,11rem);font-weight:900;line-height:.8;letter-spacing:-.08em}.not-found h1{font-size:clamp(2rem,5vw,4rem);margin:24px 0 10px}.not-found p{color:var(--muted);margin-bottom:24px}.not-found .action-row{justify-content:center}
.footer .brand-copy img{width:210px;height:auto}.footer-grid{grid-template-columns:1.4fr repeat(3,.75fr)}
@media(max-width:1180px){.site-header .nav-links{gap:16px}.site-header .nav-links a{font-size:.78rem}.site-header .brand-copy img{width:165px}.site-header .nav{gap:18px}.site-header .nav-actions .btn-light{display:none}}
@media(max-width:900px){.listing-inquiry-card{grid-template-columns:1fr}.legal-layout{grid-template-columns:1fr}.legal-nav{position:static}.detail-secondary-actions{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cookie-banner{align-items:stretch;flex-direction:column}.cookie-banner .btn{width:100%}.gallery-lightbox{padding:54px 10px}.gallery-hint{font-size:.6rem}.detail-secondary-actions{grid-template-columns:1fr}.advisor-mini{grid-template-columns:60px 1fr}.advisor-mini img{width:60px;height:72px}.footer-grid{grid-template-columns:1fr}.listing-extra-badges{bottom:10px}.legal-content h2{font-size:1.18rem}}

/* Sabit başlık altında bölüm bağlantılarının doğru konuma gelmesi */
html{
  scroll-padding-top:112px;
}

section[id],
[id].anchor-target{
  scroll-margin-top:112px;
}

@media(max-width:760px){
  html{
    scroll-padding-top:92px;
  }

  section[id],
  [id].anchor-target{
    scroll-margin-top:92px;
  }
}

/* ===== Ana sayfa premium video / fotoğraf vitrini ===== */
.home-showcase-section{
  background:linear-gradient(180deg,#f3f7f6 0%,#edf4f3 100%);
}
.home-showcase-shell{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);
  min-height:680px;
  overflow:hidden;
  border-radius:34px;
  background:#0b2b34;
  box-shadow:0 34px 90px rgba(8,38,47,.17);
}
.home-showcase-media{
  position:relative;
  min-height:680px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 15%,rgba(29,176,166,.22),transparent 34%),
    linear-gradient(145deg,#123d48,#071a21);
  isolation:isolate;
}
.home-showcase-media video,
.home-showcase-gallery,
.home-showcase-gallery img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.home-showcase-media video,
.home-showcase-gallery img{
  object-fit:cover;
  object-position:var(--showcase-object-position,center center);
}
.home-showcase-media video[hidden],
.home-showcase-gallery[hidden]{
  display:none!important;
}
.home-showcase-gallery img{
  opacity:0;
  transform:scale(1.035);
  transition:opacity .9s ease,transform 7s ease;
}
.home-showcase-gallery img.active{
  opacity:1;
  transform:scale(1);
}
.home-showcase-media-shade{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(4,22,28,.06) 18%,rgba(4,22,28,.23) 54%,rgba(4,22,28,.9) 100%),
    linear-gradient(90deg,rgba(4,22,28,.08),transparent 58%);
}
.home-showcase-media-copy{
  position:absolute;
  z-index:4;
  left:clamp(24px,4.5vw,58px);
  right:clamp(24px,4.5vw,58px);
  bottom:clamp(30px,5vw,60px);
  color:#fff;
}
.home-showcase-media-mark{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(7,31,38,.28);
  backdrop-filter:blur(10px);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.16em;
}
.home-showcase-media-copy h3{
  max-width:650px;
  margin:18px 0 9px;
  font-size:clamp(1.8rem,3.2vw,3.4rem);
  line-height:1.02;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.home-showcase-media-copy p{
  max-width:590px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:clamp(.92rem,1.25vw,1.08rem);
  line-height:1.65;
}
.home-showcase-dots{
  position:absolute;
  z-index:5;
  top:24px;
  left:24px;
  display:flex;
  gap:7px;
}
.home-showcase-dots button{
  width:24px;
  height:4px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.42);
  transition:.25s ease;
}
.home-showcase-dots button.active{
  width:46px;
  background:#fff;
}
.home-showcase-sound{
  position:absolute;
  z-index:6;
  top:22px;
  right:22px;
  min-height:38px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:rgba(5,25,31,.48);
  color:#fff;
  backdrop-filter:blur(12px);
  font-size:.72rem;
  font-weight:850;
}
.home-showcase-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(38px,5vw,76px);
  color:#fff;
}
.home-showcase-content .eyebrow{
  color:#43d3c9;
}
.home-showcase-content h2{
  margin:15px 0 18px;
  font-size:clamp(2.15rem,4vw,4.2rem);
  line-height:.98;
  letter-spacing:-.06em;
  text-wrap:balance;
}
.home-showcase-lead{
  margin:0;
  color:rgba(255,255,255,.73);
  font-size:1rem;
  line-height:1.72;
}
.home-showcase-steps{
  display:grid;
  gap:10px;
  margin:30px 0;
}
.home-showcase-step{
  display:grid;
  grid-template-columns:45px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.11);
}
.home-showcase-step:last-child{
  border-bottom:1px solid rgba(255,255,255,.11);
}
.home-showcase-step>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:rgba(47,194,183,.16);
  color:#5de0d6;
  font-size:.72rem;
  font-weight:900;
}
.home-showcase-step strong{
  display:block;
  margin:1px 0 5px;
  font-size:.94rem;
}
.home-showcase-step p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:.78rem;
  line-height:1.55;
}
.home-showcase-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.btn-showcase-ghost{
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#fff;
}
.btn-showcase-ghost:hover{
  border-color:rgba(255,255,255,.55);
  background:rgba(255,255,255,.12);
}
@media(max-width:1050px){
  .home-showcase-shell{
    grid-template-columns:1fr;
  }
  .home-showcase-media{
    min-height:560px;
  }
  .home-showcase-content{
    padding:48px;
  }
}
@media(max-width:680px){
  .home-showcase-section{
    padding-top:52px;
    padding-bottom:52px;
  }
  .home-showcase-shell{
    min-height:0;
    border-radius:24px;
  }
  .home-showcase-media{
    min-height:470px;
  }
  .home-showcase-media-copy{
    left:22px;
    right:22px;
    bottom:26px;
  }
  .home-showcase-media-copy h3{
    font-size:2rem;
  }
  .home-showcase-content{
    padding:34px 24px 38px;
  }
  .home-showcase-content h2{
    font-size:2.35rem;
  }
  .home-showcase-actions{
    display:grid;
  }
  .home-showcase-actions .btn{
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .home-showcase-gallery img{
    transition:none;
    transform:none;
  }
}


/* ESGYO V14 - vitrin videosu ekran uyumu */
.home-showcase-shell{display:block;min-height:0;overflow:hidden;background:#071a21}
.home-showcase-media{width:100%;min-height:0;aspect-ratio:16/9;background:#050708}
.home-showcase-media video{width:100%;height:100%;object-fit:contain!important;object-position:center!important;background:#050708;transform:translateZ(0);backface-visibility:hidden}
.home-showcase-gallery,.home-showcase-gallery img{width:100%;height:100%}
.home-showcase-gallery img{object-fit:contain!important;object-position:center!important;background:#050708}
.home-showcase-media-shade,.home-showcase-media-copy,.home-showcase-dots{display:none!important}
.home-showcase-sound{top:18px;right:18px}
.home-showcase-content{padding:42px clamp(24px,5vw,72px) 48px}
.home-showcase-content h2{max-width:1000px;font-size:clamp(2rem,4vw,3.8rem)}
.home-showcase-lead{max-width:950px}
.home-showcase-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-showcase-step{border:1px solid rgba(255,255,255,.11);border-radius:18px;padding:18px}
.home-showcase-step:last-child{border-bottom:1px solid rgba(255,255,255,.11)}
@media(max-width:900px){.home-showcase-steps{grid-template-columns:1fr}}
@media(max-width:680px){.home-showcase-media{aspect-ratio:16/9;min-height:0}.home-showcase-content{padding:30px 22px 34px}}

/* ESGYO V15 — Premium akıcı vitrin */
.home-showcase-media{aspect-ratio:16/9!important;min-height:0!important;background:#071b21!important;overflow:hidden!important}
.home-showcase-media video{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#071b21!important;transform:none!important;filter:none!important}
.home-showcase-media-copy,.home-showcase-media-shade,.home-showcase-dots{display:none!important}


/* ESGYO V18 — Glowing Effect kart sistemi
   React/Motion örneğindeki fareyi takip eden renkli kenar efekti,
   mevcut ESGYO HTML/CSS/JS yapısına bağımsız olarak uyarlanmıştır. */
@property --glow-start {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}

.esgyo-glow-card{
  --glow-active:0;
  --glow-start:0;
  --glow-spread:40;
  --glow-border-width:2px;
  position:relative!important;
  isolation:isolate;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease,
    --glow-start .72s cubic-bezier(.16,1,.3,1);
}

.esgyo-glowing-effect{
  position:absolute;
  inset:0;
  z-index:20;
  border-radius:inherit;
  pointer-events:none;
  overflow:hidden;
  opacity:1;
}

.esgyo-glowing-effect .glow{
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
}

.esgyo-glowing-effect .glow::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:var(--glow-border-width);
  background:
    conic-gradient(
      from calc((var(--glow-start) - var(--glow-spread)) * 1deg),
      transparent 0deg,
      #dd7bbb calc(var(--glow-spread) * .22deg),
      #d79f1e calc(var(--glow-spread) * .58deg),
      #5a922c calc(var(--glow-spread) * .94deg),
      #4c7894 calc(var(--glow-spread) * 1.30deg),
      #0f8f89 calc(var(--glow-spread) * 1.66deg),
      transparent calc(var(--glow-spread) * 2deg)
    );
  opacity:var(--glow-active);
  transition:opacity .28s ease;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}

/* Koyu vitrin kartlarında daha zarif beyaz/teal ışık. */
.home-showcase-step.esgyo-glow-card .esgyo-glowing-effect .glow::after{
  background:
    conic-gradient(
      from calc((var(--glow-start) - var(--glow-spread)) * 1deg),
      transparent 0deg,
      rgba(255,255,255,.92) calc(var(--glow-spread) * .38deg),
      #5de0d6 calc(var(--glow-spread) * .92deg),
      #ffffff calc(var(--glow-spread) * 1.42deg),
      transparent calc(var(--glow-spread) * 2deg)
    );
}

/* Kart içerikleri efektin altında kalmaz. */
.esgyo-glow-card > :not(.esgyo-glowing-effect){
  position:relative;
  z-index:1;
}

.esgyo-glow-card:hover{
  border-color:rgba(15,143,137,.18);
}

.esgyo-glow-card:focus-within{
  --glow-active:1;
  outline:none;
}

/* Form ve harita gibi büyük kartlarda daha ince kenar. */
.form-card.esgyo-glow-card,
.content-card.esgyo-glow-card,
.detail-card.esgyo-glow-card,
.map-card.esgyo-glow-card,
.info-card.esgyo-glow-card{
  --glow-border-width:1.5px;
  --glow-spread:34;
}

/* Küçük kategori ve istatistik kartlarında biraz daha canlı görünüm. */
.category-card.esgyo-glow-card,
.trust-card.esgyo-glow-card{
  --glow-border-width:2.5px;
  --glow-spread:44;
}

/* Dokunmatik cihazlarda takip animasyonu kapalı; erişilebilir odak korunur. */
@media (hover:none), (pointer:coarse), (prefers-reduced-motion:reduce){
  .esgyo-glow-card{
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  }
  .esgyo-glowing-effect{
    display:none;
  }
  .esgyo-glow-card:focus-within{
    box-shadow:0 0 0 3px rgba(15,143,137,.16),var(--shadow-sm);
    border-color:rgba(15,143,137,.48);
  }
}
