/* Nedvesta 2026 visual refresh: bright coastal luxury, clear search, AI-led discovery. */
:root {
  --ink: #12263d;
  --ink-2: #203a55;
  --gold: #b99a63;
  --gold-2: #dfca9c;
  --paper: #f4f7fa;
  --white: #fff;
  --muted: #687887;
  --line: #e3e9ee;
  --radius: 22px;
  --shadow: 0 20px 55px rgba(18, 38, 61, .12);
  --container: 1240px;
}
body { background: #fff; color: var(--ink); font-family: "Segoe UI", Tahoma, Arial, sans-serif; }
.container { width: min(var(--container), calc(100% - 48px)); }
.site-header { background: rgba(255,255,255,.96); color: var(--ink); border-bottom: 1px solid rgba(18,38,61,.08); box-shadow: 0 4px 20px rgba(18,38,61,.045); backdrop-filter: blur(14px); }
.header-inner { min-height: 78px; gap: 34px; }
.brand-name { color: var(--ink); }
.brand-name span { color: var(--ink); font-size: 23px; letter-spacing: .16em; }
.brand-name small { color: var(--gold); font-size: 9px; letter-spacing: .12em; }
.custom-logo { max-height: 54px; }
.primary-nav ul { gap: 26px; }
.primary-nav a { color: #3e5367; font-size: 14px; font-weight: 650; transition: color .18s ease; }
.primary-nav a:hover, .primary-nav .current-menu-item > a { color: #a17f45; }
.header-actions { gap: 14px; color: #46596c; }
.header-actions .button { background: var(--ink); border-color: var(--ink); color: #fff; }
.header-actions .button:hover { background: #234464; border-color: #234464; }
.menu-toggle { color: var(--ink); border-color: var(--line); }
.button { background: #e77743; border-color: #e77743; color: #fff; border-radius: 12px; padding: 13px 21px; box-shadow: 0 8px 18px rgba(231,119,67,.17); }
.button:hover { background: #d96935; border-color: #d96935; color: #fff; transform: translateY(-1px); }
.button--small { border-radius: 10px; padding: 9px 15px; }
.button--outline { color: var(--ink); border-color: #d6e0e8; background: #fff; box-shadow: none; }
.button--outline:hover { color: var(--ink); background: #f3f7fa; border-color: #9db1c1; }
.button--ai { background: var(--ink); border-color: var(--ink); color: #fff; box-shadow: 0 10px 24px rgba(18,38,61,.17); }
.button--ai:hover { background: #244968; border-color: #244968; }
.ai-sparkle { color: #e5bd68; font-size: 1.15em; line-height: 1; }
.hero { min-height: 0; color: var(--ink); background: radial-gradient(ellipse at 12% 0%, #e8f3f6 0, transparent 38%), linear-gradient(180deg,#f8fafb 0%,#fff 88%); overflow: hidden; }
.hero:after { display: none; }
.hero-layout { grid-template-columns: 1.04fr .96fr; gap: clamp(36px, 5.5vw, 76px); padding-block: 50px 68px; }
.hero-content { padding-block: 20px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; padding: 8px 13px; border: 1px solid #e8dfcb; border-radius: 999px; background: #fff; color: #8b7143; letter-spacing: .01em; text-transform: none; }
.kicker-dot, .tag-pulse { width: 8px; height: 8px; border-radius: 50%; background: #e77743; box-shadow: 0 0 0 4px rgba(231,119,67,.12); }
.hero h1 { max-width: 650px; color: var(--ink); font-size: clamp(42px,5.3vw,68px); line-height: 1.16; letter-spacing: -.035em; margin-bottom: 18px; }
.hero h1 em, .ai-discovery h2 em { color: #a88549; font-style: normal; }
.hero-copy { max-width: 590px; color: #607286; font-size: 18px; line-height: 1.85; margin-bottom: 24px; }
.smart-search { max-width: 690px; gap: 5px; padding: 7px; border: 1px solid #e1e8ed; border-radius: 15px; background: #fff; box-shadow: 0 14px 38px rgba(18,38,61,.10); }
.smart-search .search-icon { flex: 0 0 36px; display: grid; place-items: center; color: var(--gold); font-size: 27px; line-height: 1; }
.smart-search input { padding-inline: 8px; color: var(--ink); font-size: 15px; }
.smart-search input::placeholder { color: #8b99a7; }
.smart-search .button { min-height: 48px; white-space: nowrap; }
.smart-search-results { border-radius: 15px; }
.hero-shortcuts { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 15px; color: #7d8d9c; font-size: 12px; }
.hero-shortcuts a { border: 1px solid #e4eaf0; border-radius: 999px; padding: 5px 11px; background: #fff; color: #435970; font-weight: 650; }
.hero-shortcuts a:hover { border-color: var(--gold); color: #8d7040; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 22px; }
.hero-secondary-link { color: #536a7e; font-weight: 700; }
.hero-secondary-link:hover { color: #a17f45; }
.hero-disclaimer { color: #82909d; font-size: 11px; margin-top: 17px; }
.hero-media { min-height: 500px; border-radius: 28px; background: #dce9ec; box-shadow: 0 28px 70px rgba(18,38,61,.2); isolation: isolate; }
.hero-media > a { min-height: 500px; border-radius: inherit; overflow: hidden; }
.hero-media img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.hero-media:hover img { transform: scale(1.035); }
.hero-media > a:after { display: none; }
.hero-image-shade { position: absolute !important; z-index: 1; inset: 42% 0 0 !important; background: linear-gradient(180deg,transparent 0%,rgba(8,26,44,.7) 100%); }
.hero-image-caption { position: absolute !important; z-index: 2; inset-inline: 25px; bottom: 27px; color: #fff; display: grid; gap: 5px; }
.hero-image-caption small { color: #f1dcae; font-size: 12px; }
.hero-image-caption strong { font-size: clamp(20px,2.2vw,30px); line-height: 1.25; }
.hero-image-caption > span { display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.86); font-size: 12px; }
.hero-image-caption b { color: #f1dcae; font-size: 18px; }
.hero-image-tag { position: absolute; z-index: 3; top: 20px; inset-inline-start: 20px; display: inline-flex; align-items: center; gap: 9px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.52); border-radius: 999px; background: rgba(255,255,255,.92); color: #314b60; font-size: 12px; font-weight: 750; box-shadow: 0 8px 26px rgba(13,34,51,.1); }
.hero-image-note { position: absolute; z-index: 4; inset-inline-end: -22px; bottom: 82px; display: flex; align-items: center; gap: 10px; padding: 13px 16px; border: 1px solid rgba(18,38,61,.08); border-radius: 15px; background: #fff; box-shadow: var(--shadow); }
.hero-image-note > span:last-child { display: grid; gap: 2px; }
.hero-image-note strong { color: var(--ink); font-size: 12px; }
.hero-image-note small { color: var(--muted); font-size: 10px; }
.hero-visual-fallback { min-height: 500px; border-radius: inherit; background: radial-gradient(ellipse at 18% 24%,#f8fbfa 0 9%,transparent 10%),linear-gradient(145deg,#d8e7e7 0%,#b2ced0 41%,#cfb577 42%,#d7c18e 51%,#2a6178 52%,#10344e 100%); }
.hero-visual-fallback span { color: #f7e5b8; }
.hero-visual-fallback strong { font-size: 30px; }
.trust-strip { border-top: 1px solid #e9eef2; border-bottom: 1px solid #e9eef2; background: #fff; }
.trust-grid { padding-block: 23px; gap: 35px; }
.trust-grid div { border-inline-start: 0; padding-inline-start: 0; position: relative; padding-inline-start: 42px; }
.trust-grid div:before { content: "✓"; position: absolute; inset-inline-start: 0; top: 3px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #f2eee4; color: #967744; font-size: 13px; font-weight: 900; }
.trust-grid strong { color: var(--ink); font-size: 15px; }
.trust-grid span { color: #738393; }
.section { padding-block: 76px; }
.section-heading { align-items: end; margin-bottom: 28px; }
.section-heading h2, .section h2 { color: var(--ink); letter-spacing: -.025em; }
.section-intro { color: var(--muted); margin: 8px 0 0; font-size: 14px; }
.eyebrow { color: #a17f45; letter-spacing: .025em; text-transform: none; font-size: 12px; }
.text-link { color: #9a7944; }
.property-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.property-card { border: 1px solid #e5ebef; border-radius: 20px; box-shadow: 0 8px 28px rgba(18,38,61,.055); transition: transform .22s ease,box-shadow .22s ease; }
.property-card:hover { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(18,38,61,.12); }
.property-card__image { aspect-ratio: 1.52; background: linear-gradient(135deg,#d7e7e5,#b2cad0 45%,#315b71); }
.property-card__image img { transition: transform .5s ease; }
.property-card__body { padding: 19px 20px 20px; }
.property-card h3 { color: #1a324b; font-size: 19px; }
.property-card .price { color: #a07f46; }
.status-badge { top: 13px; inset-inline-start: 13px; color: #284c42; background: #f2faf5; border: 1px solid rgba(255,255,255,.8); }
.image-placeholder { color: #f4ddaa; background: linear-gradient(145deg,#d3e1e2,#8eafb7 48%,#214760); }
.areas-section, .testimonials-section { background: #f3f6f8; }
.area-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.area-tile { min-height: 142px; border: 1px solid #dbe5ea; border-radius: 18px; color: #fff; background: linear-gradient(155deg,rgba(16,43,67,.08),rgba(16,43,67,.8)),linear-gradient(135deg,#dce8e4 0%,#aac7ca 43%,#45788b 100%); transition: transform .2s ease,box-shadow .2s ease; }
.area-tile:nth-child(3n + 2) { background: linear-gradient(155deg,rgba(16,43,67,.04),rgba(16,43,67,.82)),linear-gradient(135deg,#e6e2d6 0%,#b5c4c6 45%,#36657c 100%); }
.area-tile:nth-child(3n) { background: linear-gradient(155deg,rgba(16,43,67,.04),rgba(16,43,67,.82)),linear-gradient(135deg,#d9e7e9 0%,#8fbdc6 45%,#28556e 100%); }
.area-tile:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 14px 30px rgba(18,38,61,.17); }
.area-tile span { color: #f3dfb3; }
.steps-grid article, .article-grid article, .testimonial-grid blockquote { border-color: #e6ebef; border-radius: 18px; box-shadow: 0 6px 20px rgba(18,38,61,.035); }
.steps-grid article > span { color: #b99a63; }
.cta-section { background: linear-gradient(110deg,#10253c 0%,#173b58 100%); }
.cta-section h2 { color: #fff; }
.cta-section .eyebrow { color: #e0c68f; }
.lead-form { border: 1px solid rgba(255,255,255,.65); border-radius: 19px; box-shadow: 0 18px 48px rgba(5,20,35,.18); }
.lead-form input:focus, .lead-form textarea:focus { border-color: #b99a63; outline-color: #b99a63; }
.site-footer { background: #0d2034; color: #e9eef3; }
.site-footer .brand-name span { color: #fff; }
.site-footer .brand-name small, .footer-grid h2 { color: #d3b779; }
.footer-grid p, .footer-grid a { color: #c2cfda; }
.footer-grid a:hover { color: #f0d79e; }
.footer-bottom { border-color: rgba(255,255,255,.13); color: #9fb0bf; }
.assistant-toggle { background: #173b58; color: #fff; border: 1px solid rgba(255,255,255,.25); box-shadow: 0 14px 32px rgba(18,38,61,.28); }
.assistant-toggle:hover { background: #244f70; color: #fff; }
.assistant-panel { border: 1px solid #d9e4eb; border-radius: 21px; box-shadow: 0 22px 65px rgba(18,38,61,.22); }
.assistant-head { border-color: #e4ebef; }
.assistant-head strong { color: var(--ink); }
.assistant-message.is-user { background: #173b58; }
.assistant-message { border: 1px solid #e5ebef; }
.assistant-recommendation { border-color: #e4ebef; border-inline-start-color: var(--gold); border-radius: 13px; }
.assistant-quick-prompts button, .assistant-lead-toggle { border-color: #dfe7ec; background: #f7f9fa; color: #445a6e; }
.assistant-quick-prompts button:hover, .assistant-lead-toggle:hover { background: #f2eee4; }
.assistant-form input { border-color: #dce5eb; }
.assistant-form input:focus { outline: 2px solid #b99a63; }
.floating-whatsapp { border-radius: 12px; box-shadow: 0 10px 24px rgba(16,90,54,.22); }
.mobile-nav { background: rgba(255,255,255,.97); color: #314a60; border-top: 1px solid #dce5eb; box-shadow: 0 -5px 20px rgba(18,38,61,.07); backdrop-filter: blur(10px); }
.mobile-nav a { font-weight: 650; }
.mobile-nav a:nth-child(3) { color: #9c7942; }
.filter-bar, .project-summary, .lead-aside, .empty-state { border-color: #e0e8ed; border-radius: 18px; }
.archive-header h1, .page-content h1 { color: var(--ink); }
.filter-bar input:focus, .filter-bar select:focus { border-color: #b99a63; outline-color: #b99a63; }
.project-gallery { border-radius: 22px; }
.project-summary { box-shadow: 0 12px 36px rgba(18,38,61,.08); }
.facts-grid div { border-color: #e3e9ee; border-radius: 14px; }
.calculator { background: #f3f6f8; }
.ai-discovery { position: relative; overflow: hidden; padding-block: 76px; color: #fff; background: radial-gradient(ellipse at 85% 10%,rgba(185,154,99,.22),transparent 35%),linear-gradient(120deg,#10263e,#173c58); }
.ai-discovery:after { content: ""; position: absolute; width: 430px; height: 430px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; inset-inline-end: -110px; bottom: -270px; box-shadow: 0 0 0 36px rgba(255,255,255,.025),0 0 0 72px rgba(255,255,255,.018); pointer-events: none; }
.ai-discovery-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(40px,8vw,115px); align-items: center; }
.ai-discovery .eyebrow { display: flex; align-items: center; gap: 8px; color: #e5cf9e; }
.ai-discovery h2 { margin: 0 0 16px; color: #fff; font-size: clamp(30px,4vw,48px); line-height: 1.25; letter-spacing: -.025em; }
.ai-discovery h2 em { color: #e5c985; }
.ai-discovery-copy > p:not(.eyebrow) { max-width: 540px; margin: 0 0 22px; color: #c7d4de; font-size: 16px; line-height: 1.8; }
.ai-discovery .button--ai { color: #152c43; border-color: #e8ce93; background: #e8ce93; box-shadow: none; }
.ai-discovery .button--ai:hover { background: #f1dfb6; border-color: #f1dfb6; }
.ai-discovery-demo { max-width: 470px; width: 100%; justify-self: center; padding: 20px; border: 1px solid rgba(255,255,255,.22); border-radius: 23px; background: rgba(255,255,255,.97); box-shadow: 0 25px 70px rgba(4,18,31,.3); transform: rotate(-1.2deg); }
.ai-demo-top { display: flex; align-items: center; gap: 10px; padding-bottom: 15px; border-bottom: 1px solid #e7ecef; color: var(--ink); }
.ai-demo-top > span:nth-child(2) { display: grid; gap: 3px; }
.ai-demo-top strong { font-size: 13px; }
.ai-demo-top small { color: #84919c; font-size: 10px; }
.ai-demo-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; color: #fff; background: #173b58; }
.ai-demo-top i { margin-inline-start: auto; width: 8px; height: 8px; border-radius: 50%; background: #4cb67a; }
.ai-demo-msg { max-width: 87%; margin-top: 15px; padding: 12px 14px; border-radius: 14px; color: #31485c; font-size: 12px; line-height: 1.7; }
.ai-demo-user { margin-inline-start: auto; border-end-end-radius: 5px; color: #fff; background: #173b58; }
.ai-demo-answer { border-end-start-radius: 5px; background: #f1f5f7; }
.ai-demo-answer strong { color: #173b58; }
.ai-demo-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.ai-demo-chips span { padding: 6px 9px; border: 1px solid #e0e8ec; border-radius: 999px; color: #657889; font-size: 10px; }
.ai-demo-input { display: flex; justify-content: space-between; align-items: center; margin-top: 17px; padding: 9px 12px; border: 1px solid #e0e8ec; border-radius: 11px; color: #9aa5ae; font-size: 11px; }
.ai-demo-input b { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; color: #fff; background: #e77743; font-size: 15px; }
.article-grid article { transition: transform .2s ease,box-shadow .2s ease; }
.article-grid article:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(18,38,61,.08); }
:focus-visible { outline-color: #d77743; }
@media (max-width: 980px) {
  .header-inner { gap: 16px; }
  .primary-nav ul { gap: 15px; }
  .hero-layout { gap: 32px; }
  .hero-media, .hero-media > a, .hero-visual-fallback { min-height: 430px; }
  .hero-image-note { inset-inline-end: -10px; }
  .area-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .container { width: calc(100% - 30px); }
  .header-inner { min-height: 68px; }
  .primary-nav { background: #fff; border-top: 1px solid #e7edf1; }
  .primary-nav li { border-color: #e7edf1; }
  .primary-nav a { color: #344c61; font-size: 14px; }
  .header-actions .button { color: #fff; background: var(--ink); border-color: var(--ink); }
  .hero-layout { grid-template-columns: 1fr; gap: 8px; padding-block: 20px 42px; }
  .hero-media, .hero-media > a, .hero-visual-fallback { min-height: 270px; }
  .hero-media { order: -1; margin-top: 0; border-radius: 20px; }
  .hero-image-caption { inset-inline: 16px; bottom: 17px; }
  .hero-image-caption strong { font-size: 20px; }
  .hero-image-tag { top: 12px; inset-inline-start: 12px; padding: 8px 10px; }
  .hero-image-note { inset-inline-end: 10px; bottom: 60px; padding: 10px 12px; }
  .hero-content { padding-block: 22px 0; }
  .hero-kicker { margin-bottom: 12px; }
  .hero h1 { font-size: clamp(35px,10vw,47px); }
  .hero-copy { font-size: 15px; line-height: 1.75; }
  .smart-search { display: flex; flex-wrap: wrap; border-radius: 14px; }
  .smart-search .search-icon { flex-basis: 28px; }
  .smart-search input { flex: 1 1 calc(100% - 45px); min-height: 45px; }
  .smart-search .button { flex: 1 0 100%; }
  .hero-shortcuts { gap: 7px; }
  .hero-actions { gap: 13px; }
  .hero-actions .button { width: 100%; }
  .trust-grid { grid-template-columns: 1fr; gap: 16px; padding-block: 20px; }
  .section { padding-block: 54px; }
  .section-heading { gap: 14px; }
  .section-heading h2, .section h2 { font-size: 27px; }
  .section-intro { font-size: 13px; }
  .property-grid { grid-template-columns: 1fr; gap: 15px; }
  .property-card__image { aspect-ratio: 1.7; }
  .area-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .area-tile { min-height: 110px; padding: 13px; }
  .ai-discovery { padding-block: 54px; }
  .ai-discovery-inner { grid-template-columns: 1fr; gap: 28px; }
  .ai-discovery h2 { font-size: 32px; }
  .ai-discovery-demo { justify-self: stretch; padding: 16px; transform: none; }
  .ai-discovery .button--ai { width: 100%; }
  .steps-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cta-inner { grid-template-columns: 1fr; gap: 22px; }
  .lead-form { grid-template-columns: 1fr; padding: 18px; }
  .lead-form label, .lead-form label:nth-of-type(4), .lead-form .consent, .lead-form button { grid-column: 1; }
  .footer-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
.project-image-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; margin:24px 0 30px; }
.project-image-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; background:#eef2f4; }
.property-card__image img { display:block; width:100%; height:100%; min-height:220px; object-fit:cover; }
