*,*::before,*::after{box-sizing:border-box}

body{margin:0;font-family:sans-serif;line-height:1.6;background:#f9f3ec;color:#333}
.container{max-width:1100px;margin:auto;padding:1rem}
.nav{background:#d4a373;color:#fff;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;border-bottom:12px solid rgba(0,0,0,0.08)}
.brand{display:flex;flex-direction:row;align-items:center;gap:14px;text-align:left}
.brand img{height:100px;width:auto;border-radius:8px;object-fit:contain;border:2px solid rgba(255,255,255,.9)}
.badges{display:flex;flex-direction:column;gap:.35rem;align-items:flex-end;text-align:right}
.badges a{display:block;color:#fff;text-decoration:none;font-weight:700;line-height:1.2;text-align:right;width:12rem}
.badges a:hover{opacity:.95;text-decoration:underline}
.panorama{background:url('./images/panorama.jpg') center/cover no-repeat;min-height:160px;border-radius:14px;box-shadow:0 3px 12px rgba(0,0,0,.08);margin:1rem 0}
@media (max-width: 760px){.panorama{background:url('./images/panorama.jpg') center/cover no-repeat;min-height:160px}}
.hero-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;padding-top:.5rem}
@media (max-width: 900px){.hero-two-col{grid-template-columns:1fr}}
.btn{display:inline-block;padding:.6rem 1rem;margin:.2rem;border-radius:10px;background:#d4a373;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.btn:hover{background:#4a8f8a}
.btn.secondary{background:#fff;color:#333;border:1px solid rgba(0,0,0,0.1)}
.card{background:#fff;padding:1rem 1.2rem;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,0.06);margin:1rem 0}
.grid{display:grid}
.footer{margin-top:2rem;padding:1rem;background:#d4a373;color:#fff;text-align:center;font-size:.9rem;border-top:6px solid rgba(0,0,0,0.08)}
.callout{display:flex;align-items:center;gap:.6rem;background:#f6efe6;border-left:5px solid #d4a373;padding:.7rem 1rem;border-radius:10px}
.section-desc{color:#444;margin-top:.3rem;border-top:1px dashed rgba(0,0,0,.08);padding-top:.6rem}
.gallery-grid{grid-template-columns:repeat(4, 1fr);gap:16px}
@media (max-width: 760px){.gallery-grid{grid-template-columns:repeat(2, 1fr)}}
a{color:#4a8f8a}
a:hover{color:#2f6e69}


/* Mobile button overflow fix */
@media (max-width: 640px){
  .hero-cta{display:block}
  .hero-cta .btn{display:block;width:100%;max-width:100%;margin:.5rem 0;box-sizing:border-box}
}

.brand-text{display:flex;flex-direction:column;justify-content:center;line-height:1.05}
.brand-text .top{font-size:1.4rem;font-weight:800}
.brand-text .bottom{font-size:2rem;font-weight:900}

.badges a:first-child{font-size:2.2rem;font-weight:800}

.area-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:760px){.area-preview{grid-template-columns:1fr;gap:10px}}


.gallery-grid img{width:100%;height:180px;object-fit:cover;border-radius:12px;box-shadow:0 1px 6px rgba(0,0,0,0.06)}
@media (max-width: 760px){.gallery-grid img{height:140px}}


/* Larger thumbs on the full Gallery page */
.page-gallery .gallery-grid img{height:190px !important;object-fit:cover;border-radius:12px}
@media (max-width: 760px){.page-gallery .gallery-grid img{height:150px !important}}

@media (max-width: 760px){.page-gallery .gallery-grid img{height:150px !important}}

/* Gallery full-page thumbnails slightly larger than previews */
.page-gallery .gallery-grid img {height:190px;object-fit:cover}
@media(max-width:760px){.page-gallery .gallery-grid img{height:150px}}

/* v31-7: enforce grid on gallery + previews */
.gallery-grid{display:grid !important;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
.page-gallery .gallery-grid img{height:190px !important;width:100% !important;object-fit:cover !important;border-radius:12px}
@media (max-width:760px){.page-gallery .gallery-grid img{height:150px !important}}

/* v32: thumbnail class + subtle placeholder */
img.thumb{background:linear-gradient(90deg, rgba(0,0,0,0.04), rgba(0,0,0,0.08), rgba(0,0,0,0.04));}
/* reinforce gallery sizing */
.page-gallery .gallery-grid img{height:190px;width:100%;object-fit:cover;border-radius:12px;box-shadow:0 1px 6px rgba(0,0,0,.06)}
@media (max-width:760px){.page-gallery .gallery-grid img{height:150px}}


/* v33-revert-plus: theme hover */
:root {
  --sand: #d4a373;
  --sand-dark: #b07f52;
}
.button, .btn, .cta, .pill, .badge-btn, .card .btn, .card .button {
  background: var(--sand);
  color: #fff;
  border: none;
}
.button:hover, .btn:hover, .cta:hover, .pill:hover, .badge-btn:hover, .card .btn:hover, .card .button:hover {
  background: var(--sand-dark);
  color: #fff;
}
.badges a:hover {
  color: var(--sand-dark);
  text-decoration: none;
}
a.buttonlike:hover, a.btn:hover { color:#fff; background: var(--sand-dark); }



/* v33-revert-plus: about details */
.about-details summary {cursor:pointer; font-weight:600; color:#6b4d31;}
.about-details[open] summary {margin-bottom:0.5rem;}
.prose p {margin:0.5rem 0;}
.muted {color: #6b6b6b;}


/* v34: Hamburger nav (clean baseline) */
.header { position: relative; }
.hamburger { position:absolute; right:16px; top:16px; width:40px; height:40px; border:none; background:transparent; display:grid; place-items:center; cursor:pointer; }
.hamburger .bars{ width:22px; height:16px; display:flex; flex-direction:column; justify-content:space-between; }
.hamburger .bars span{ display:block; height:2px; background:#2a2a2a; border-radius:2px; }
.hamburger:hover .bars span{ background: var(--sand-dark); }
.menu-panel{ position:absolute; right:12px; top:58px; background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.12); padding:8px; min-width:200px; display:none; z-index:1000; }
.menu-panel[data-open="true"]{ display:block; }
.menu-panel a{ display:block; padding:10px 12px; border-radius:10px; color:#2a2a2a; text-decoration:none; font-weight:700; }
.menu-panel a:hover{ background: var(--sand-dark); color:#fff; }
@media (max-width:760px){
  .hamburger{ right:12px; top:12px; }
  .menu-panel{ right:8px; top:52px; min-width:180px; }
}


/* v34-clean2: homepage tagline style */
.tagline{ text-align:center; font-size:1.8rem; line-height:1.25; letter-spacing:0.01em; margin:12px 0 6px; }
@media (min-width:900px){ .tagline{ font-size:2.1rem; } }
.tagline span{ font-weight:700; display:inline-block; margin-top:2px; }



/* v44-2: note styling */
.note {font-size:0.9rem; color:#555; margin-top:-0.25rem; margin-bottom:0.75rem;}
.tagline {text-align:center; font-size:1.8rem; line-height:1.3;}
.tagline span {font-weight:700; display:block; margin-top:4px;}


/* v44-6c tagline CSS fix */
.hero h1, .tagline {
  font-size: 2.5rem;
  line-height: 1.2;
  max-width: 20ch;
  word-break: keep-all;
}
@media (max-width: 600px) {
  .hero h1, .tagline {
    font-size: 1.8rem;
    line-height: 1.3;
    max-width: 25ch;
  }
}
