/* dwellvista.homes Vydacha v2 — dwvs */
@import url('https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700&family=Vollkorn:ital,wght@0,400;0,600;0,700;1,400&display=swap');
:root {
  --dwvs-bg:#faf6f4; --dwvs-surface:#ffffff; --dwvs-text:#2a1e1c;
  --dwvs-muted:#7a6560; --dwvs-line:#e8dcd6; --dwvs-action:#c45c4a;
  --dwvs-on-action:#ffffff; --dwvs-kick:#3d5a6c;
  --dwvs-ui:'Public Sans',system-ui,sans-serif; --dwvs-head:'Vollkorn',Georgia,serif;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.dwvs-body { margin:0; font-family:var(--dwvs-ui); color:var(--dwvs-text); background:var(--dwvs-bg); line-height:1.65; }
img { max-width:100%; height:auto; display:block; }
a { color:var(--dwvs-action); }
.dwvs-skip { position:absolute; left:-999px; top:auto; }
.dwvs-skip:focus { left:1rem; top:1rem; z-index:99; background:var(--dwvs-surface); padding:.5rem 1rem; }
.dwvs-wrap { width:min(1120px,calc(100% - 2rem)); margin-inline:auto; }
.dwvs-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; position:relative; z-index:20; }
.dwvs-brand { font-family:var(--dwvs-head); font-weight:700; font-size:1.25rem; color:var(--dwvs-text); text-decoration:none; letter-spacing:-.02em; }
.dwvs-mark { display:inline-flex; align-items:center; gap:.55rem; text-decoration:none; color:var(--dwvs-text); }
.dwvs-mark-dot { width:1.1rem; height:1.1rem; border-radius:50%; background:var(--dwvs-action); display:inline-block; }
.dwvs-nav { display:flex; flex-wrap:wrap; gap:.85rem 1.1rem; }
.dwvs-nav a { text-decoration:none; color:var(--dwvs-text); font-size:.92rem; }
.dwvs-nav a[aria-current="page"] { color:var(--dwvs-action); font-weight:600; }
.dwvs-nav-toggle { display:none; background:transparent; border:1px solid var(--dwvs-line); color:var(--dwvs-text); padding:.45rem .7rem; font:inherit; cursor:pointer; }
@media (max-width:860px) {
  .dwvs-nav-toggle { display:inline-flex; }
  .dwvs-nav { display:none; position:absolute; right:0; top:100%; background:var(--dwvs-surface); border:1px solid var(--dwvs-line); padding:1rem; flex-direction:column; min-width:220px; box-shadow:0 12px 30px rgba(0,0,0,.08); }
  .dwvs-nav.is-open { display:flex; }
}
.dwvs-kicker { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dwvs-kick); margin:0 0 .6rem; font-weight:600; }
.dwvs-pills { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 1rem; padding:0; list-style:none; }
.dwvs-pills li { border:1px solid var(--dwvs-line); padding:.28rem .7rem; font-size:.82rem; color:var(--dwvs-muted); }
h1,h2,h3 { font-family:var(--dwvs-head); line-height:1.2; margin:0 0 .75rem; letter-spacing:-.02em; }
h1 { font-size:clamp(1.85rem,4vw,2.75rem); }
h2 { font-size:clamp(1.4rem,2.5vw,1.9rem); }
.dwvs-lead { font-size:1.05rem; color:var(--dwvs-muted); max-width:38rem; }
.dwvs-muted { color:var(--dwvs-muted); }
.dwvs-cta { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.1rem; }
.dwvs-btn { display:inline-flex; align-items:center; justify-content:center; padding:.75rem 1.2rem; text-decoration:none; font:inherit; cursor:pointer; border:1px solid transparent; }
.dwvs-btn-fill { background:var(--dwvs-action); color:var(--dwvs-on-action); }
.dwvs-btn-ghost { background:transparent; color:var(--dwvs-text); border-color:var(--dwvs-line); }
.dwvs-hero { position:relative; margin:0 0 2.5rem; }
.dwvs-hero-bleed { min-height:min(62vh,560px); display:grid; align-items:end; background:linear-gradient(160deg, color-mix(in srgb, var(--dwvs-bg) 35%, transparent), color-mix(in srgb, var(--dwvs-text) 55%, transparent)), center/cover no-repeat; color:#fff; padding:2.5rem 1rem 2rem; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); box-sizing:border-box; }
.dwvs-hero-bleed .dwvs-wrap { width:min(1120px,calc(100% - 2rem)); margin-inline:auto; }
.dwvs-hero-split { display:grid; grid-template-columns:1.05fr .95fr; gap:1.5rem; align-items:center; }
@media (max-width:800px) { .dwvs-hero-split { grid-template-columns:1fr; } }
.dwvs-hero-bleed .dwvs-kicker { color:var(--dwvs-kick); }
.dwvs-hero-bleed .dwvs-lead, .dwvs-hero-bleed h1 { color:#fff; }
.dwvs-hero-bleed .dwvs-pills li { border-color:rgba(255,255,255,.35); color:rgba(255,255,255,.88); }
.dwvs-hero-bleed .dwvs-btn-ghost { border-color:rgba(255,255,255,.45); color:#fff; }
.dwvs-card { background:var(--dwvs-surface); border:1px solid var(--dwvs-line); padding:1.25rem; }
.dwvs-section { padding:2.25rem 0; }
.dwvs-section + .dwvs-section { border-top:1px solid var(--dwvs-line); }
.dwvs-works { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.25rem; }
.dwvs-steps { display:grid; gap:1rem; } .dwvs-step { padding:1.25rem; border:1px solid var(--dwvs-line); background:var(--dwvs-surface); }
.dwvs-works article img, .dwvs-media img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.dwvs-works h3 { font-size:1.05rem; margin-top:.75rem; }
.dwvs-quote { padding:1.5rem; border-left:3px solid var(--dwvs-kick); background:var(--dwvs-surface); }
.dwvs-stars { color:var(--dwvs-kick); letter-spacing:.15em; margin:0 0 .5rem; font-size:.9rem; }
.dwvs-form label { display:block; font-size:.88rem; margin:.7rem 0 .25rem; }
.dwvs-form input, .dwvs-form select, .dwvs-form textarea { width:100%; padding:.65rem .7rem; border:1px solid var(--dwvs-line); background:var(--dwvs-bg); color:var(--dwvs-text); font:inherit; }
.dwvs-form textarea { min-height:110px; resize:vertical; }
.dwvs-form-note { font-size:.82rem; color:var(--dwvs-muted); margin:.6rem 0; }
.dwvs-form-success { padding:1rem; background:color-mix(in srgb, var(--dwvs-action) 12%, var(--dwvs-surface)); border:1px solid var(--dwvs-line); }
.dwvs-faq details { border-bottom:1px solid var(--dwvs-line); padding:.85rem 0; }
.dwvs-faq summary { cursor:pointer; font-weight:600; }
.dwvs-visit-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:1.5rem; }
@media(max-width:800px){ .dwvs-visit-grid { grid-template-columns:1fr; } }
.dwvs-price { width:100%; border-collapse:collapse; }
.dwvs-price th, .dwvs-price td { text-align:left; padding:.7rem .5rem; border-bottom:1px solid var(--dwvs-line); }
.dwvs-price .pop { color:var(--dwvs-kick); font-size:.78rem; font-weight:600; }
.dwvs-footer { margin-top:3rem; border-top:1px solid var(--dwvs-line); padding:2.5rem 0 2rem; background:color-mix(in srgb, var(--dwvs-surface) 80%, var(--dwvs-bg)); }
.dwvs-footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1.1fr; gap:1.5rem; }
@media(max-width:800px){ .dwvs-footer-grid { grid-template-columns:1fr; } }
.dwvs-footer h3 { font-size:1rem; }
.dwvs-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:.4rem; }
.dwvs-footer a { text-decoration:none; color:var(--dwvs-text); }
.dwvs-legal-row { margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--dwvs-line); display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; font-size:.88rem; color:var(--dwvs-muted); }
.dwvs-page-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:1.5rem; align-items:center; margin:1.5rem 0 2rem; }
@media(max-width:800px){ .dwvs-page-hero { grid-template-columns:1fr; } }
.dwvs-prose p { margin:0 0 1rem; }
.dwvs-mats { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; }




.dwvs-cookie { position:fixed; z-index:80; left:0; right:0; bottom:0; background:var(--dwvs-surface); color:var(--dwvs-text); border-top:1px solid var(--dwvs-line); padding:1rem 1.25rem; display:none; box-shadow:0 -8px 28px rgba(0,0,0,.08); }
.dwvs-cookie.is-on { display:block; }
.dwvs-cookie-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.75rem; }
.dwvs-cookie-settings { margin-top:.75rem; }
.dwvs-btn-accept { background:var(--dwvs-action); color:var(--dwvs-on-action); border:0; padding:.65rem 1.1rem; font:inherit; cursor:pointer; }
.dwvs-btn-decline, .dwvs-btn-settings, .dwvs-btn-save { background:transparent; color:var(--dwvs-text); border:1px solid var(--dwvs-line); padding:.65rem 1.1rem; font:inherit; cursor:pointer; }

.dwvs-cookie { left:1rem; right:auto; bottom:1rem; max-width:380px; border:1px solid var(--dwvs-line); border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.12); }
@media(max-width:480px){ .dwvs-cookie { left:.75rem; right:.75rem; max-width:none; } }

