/* Mont Glacier Properties — Minimal v2 (pastel, Apple‑inspired) */
:root{
  --bg:#ffffff;
  --surface:#f7faf7;
  --sage:#e6f0ea;       /* pastel wash */
  --sage-ink:#2d5a3a;   /* muted deep green for headings */
  --line:#e6ece6;
  --ink:#1f2937;
  --muted:#6b7280;
  --maxw:1100px;
  --radius:16px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, Roboto, "Noto Sans";
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
}
a{color:#215a39; text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; display:block}

.header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(140%) blur(8px);
  background:color-mix(in oklab, white 88%, var(--sage) 12%);
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:var(--maxw); margin:0 auto; padding:12px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.2px}
.brand img{width:28px; height:28px}

.nav a{padding:8px 10px; border-radius:10px; color:#2f4a3a}
.nav .cta{
  padding:10px 14px; border-radius:999px; border:1px solid #cfe3d4; background:#ecf5ef; color:#254734;
}
.nav .cta:hover{background:#e4f0e9; text-decoration:none}

.hero{
  padding:90px 20px 56px;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(900px 320px at 10% -10%, #eef6f1 25%, transparent 60%),
    radial-gradient(800px 300px at 90% -20%, #f2f8f4 10%, transparent 60%),
    var(--bg);
}
.container{max-width:var(--maxw); margin:0 auto}

h1{font-size:clamp(36px,6vw,56px); line-height:1.1; margin:0 0 12px; color:var(--sage-ink); letter-spacing:-.02em}
.lede{font-size:clamp(16px,2.5vw,20px); color:#3c4b40; margin:0 0 24px}

.hero-visual{
  border-radius:24px; overflow:hidden; border:1px solid var(--line); background:#f3f7f4;
  aspect-ratio: 16/9; display:flex; align-items:center; justify-content:center;
  color:#7b8a80; font-size:.95rem;
}

.section{padding:56px 20px}
.section .head{margin:0 0 16px}
h2{font-size:clamp(22px,3.5vw,32px); color:#254734; margin:0 0 8px; letter-spacing:-.01em}
.subtle{color:var(--muted); margin:0 0 8px}

.grid{display:grid; gap:18px}
@media(min-width:900px){
  .grid.cols-2{grid-template-columns:1fr 1fr}
  .grid.cols-3{grid-template-columns:repeat(3, 1fr)}
}

.card{border:1px solid var(--line); border-radius:18px; background:var(--bg); padding:18px}
.soft{background:var(--surface)}

.badge{display:inline-block; padding:6px 12px; border-radius:999px; border:1px solid #d9eadf; background:#f2f7f3; color:#2d5a3a; font-weight:600; font-size:.9rem}

.btn{
  display:inline-block; padding:12px 18px; border-radius:999px; border:1px solid #bfd9c6; background:#eaf4ee; color:#1f3a2a; font-weight:700; cursor:pointer
}
.btn:hover{background:#e2efe8}

.notice{
  border:1px dashed #bfd9c6; background:#f6fbf8; color:#1f3a2a; padding:12px 14px; border-radius:14px;
}

.table{width:100%; border-collapse:collapse; font-size:.95rem}
.table th,.table td{padding:8px 6px; border-bottom:1px solid var(--line); text-align:left}
.table th{color:#264735; font-weight:600}

input, textarea{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid #cfd8cf; background:#fff; font:inherit
}
input:focus, textarea:focus{outline:2px solid #a7f3d0; border-color:#93ddb0}

.footer{
  border-top:1px solid var(--line); background:#f7faf7; color:#3d5142; padding:30px 20px
}

.small{font-size:.9rem; color:var(--muted)}
.placeholder{
  width:100%; height:220px; border:1px dashed #c8d8cc; border-radius:14px; background:#f4f8f6;
  display:flex; align-items:center; justify-content:center; color:#7b8a80
}

/* Mobile polish */
@media(max-width:600px){
  .section{padding:32px 16px}
  .footer{ text-align:center; }
  .footer .container{ align-items:center !important; }
  .nav-links{ display:none; flex-direction:column; gap:8px; background:#fff; position:absolute; top:60px; right:20px; border:1px solid var(--line); border-radius:12px; padding:10px 14px; box-shadow:0 4px 16px rgba(0,0,0,.08); }
  .nav.open .nav-links{ display:flex; }
  .hamburger{ display:block; cursor:pointer; background:none; border:none; font-size:26px; line-height:1; color:#254734; }
}
@media(min-width:601px){
  .hamburger{ display:none }
  .nav-links{ display:flex !important; position:static; flex-direction:row; background:none; border:none; box-shadow:none; padding:0; gap:12px; }
}

/* Responsive property card tables */
@media(max-width:500px){
  .table, .table tbody, .table tr, .table td, .table th{display:block; width:100%}
  .table tr{margin-bottom:10px}
  .table th{background:#f3f7f4; padding:6px; border-bottom:none}
  .table td{padding:6px}
}
