/* ===== Design Tokens (Arizona-inspired) ===== */
:root{
  --bg:#faf8f5;
  --paper:#ffffff;
  --ink:#2e3a39;
  --muted:#6b7a78;
  --brand:#b85e37;
  --brand-2:#6a8b78;
  --accent:#f1d2a3;
  --shadow: 0 12px 34px rgba(0,0,0,.1);
  --radius: 16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji;color:var(--ink);background:var(--bg);scroll-behavior:smooth}
.container{ width:min(1100px, 92%); margin-inline:auto }
.section{ padding: clamp(48px, 8vw, 88px) 0 }
.section.alt{ background: #fdfcf9 }
.grid-2{ display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(24px, 4vw, 48px) }
@media (max-width: 900px){ .grid-2{ grid-template-columns: 1fr } }
h1,h2,h3,h4{ line-height:1.15; margin:0 0 12px }
h1{ font-size: clamp(28px, 5vw, 54px) }
h2{ font-size: clamp(24px, 4vw, 40px) }
h3{ font-size: clamp(22px, 3vw, 30px) }
p{ margin:0 0 12px }
/* Header & Nav */
.site-header{ position:sticky; top:0; z-index:20; background:rgba(255,255,255,.92); backdrop-filter:saturate(120%) blur(8px); border-bottom:1px solid #efe9df }
.nav-wrap{ display:flex; align-items:center; justify-content:space-between; height:64px }
.brand{ font-weight:800; letter-spacing:.5px; color:var(--ink); text-decoration:none; font-size:20px }
.brand span{ color:var(--brand) }
.nav a{ color:var(--ink); text-decoration:none; padding:.5rem .75rem; border-radius:10px }
.nav a:hover{ background:#f3eee7 }
.hamburger{ display:none; background:none; border:0; padding:6px; cursor:pointer }
.hamburger span{ display:block; width:26px; height:3px; background:var(--ink); margin:5px 0; border-radius:2px }
@media (max-width: 860px){
  .hamburger{ display:block }
  .nav{ position:absolute; right:12px; top:68px; background:rgba(255,255,255,.96); border:1px solid #efe9df; border-radius:12px; box-shadow:var(--shadow); padding:8px; display:none }
  .nav a{ display:block; padding:.65rem .75rem }
  .nav.open{ display:block }
}
/* Hero */
.hero{ position:relative; min-height:72vh; display:grid; place-items:stretch }
.slides{ position:relative; height:100%; overflow:hidden }
.slide{ position:absolute; inset:0; opacity:0; transition:opacity .8s ease-in-out; display:grid; place-items:center }
.slide.active{ opacity:1 }
.slide-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter: blur(18px) saturate(105%) brightness(.65); transform: scale(1.1) }
.slide-hero{ position:relative; max-width:min(90vw,1000px); max-height:68vh; object-fit:contain; width:auto; height:100%; border-radius:14px; box-shadow:var(--shadow) }
.hero-content{ position:absolute; inset:auto 0 4vh 0; margin-inline:auto; width:min(1000px,92%); background:rgba(0,0,0,.45); color:#fff; padding:clamp(12px,3.5vw,22px); border-radius:14px }
.hero-content h1,.hero-content h2{ text-shadow: 0 4px 18px rgba(0,0,0,.35) }
.hero-ctrl{ position:absolute; top:50%; transform:translateY(-50%); border:0; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.9); box-shadow:var(--shadow); cursor:pointer }
.hero-ctrl:hover{ background:#fff }
.hero-ctrl.prev{ left:14px } .hero-ctrl.next{ right:14px }
.hero-dots{ position:absolute; left:50%; transform:translateX(-50%); bottom:18px; display:flex; gap:8px }
.hero-dots button{ width:9px; height:9px; border-radius:50%; border:0; background:rgba(255,255,255,.6); cursor:pointer }
.hero-dots button.active{ background:#fff }
/* Buttons */
.btn{ display:inline-block; padding:.7rem 1.1rem; border-radius:999px; border:1px solid #e8ded2; text-decoration:none; color:var(--ink); background:#fff; box-shadow:var(--shadow) }
.btn:hover{ transform: translateY(-1px) }
.btn-primary{ background:var(--brand); color:#fff; border-color:transparent }
.btn-small{ padding:.45rem .75rem; font-size:.9rem }
.btn.ghost{ background:transparent; border-color:#d9cfc4 }
/* About */
.about-media img{ width:100%; height:auto; border-radius:var(--radius); box-shadow:var(--shadow) }
/* Gallery */
.filters{ display:flex; gap:.5rem; margin:6px 0 16px; flex-wrap:wrap }
.filters button{ padding:.45rem .8rem; border-radius:999px; border:1px solid #e6dbcf; background:#fff; cursor:pointer }
.filters button.active{ background:var(--brand); color:#fff; border-color:transparent }
.card-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:16px }
.card{ background:var(--paper); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow) }
.card img{ width:100%; height:220px; object-fit:cover; display:block }
.card-body{ padding:14px }
.card-actions{ display:flex; gap:.5rem; margin-top:10px }
/* Pricing */
.pricing-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:16px }
@media (max-width:900px){ .pricing-grid{ grid-template-columns:1fr } }
.price-card{ background:var(--paper); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px }
.price-card .price{ font-size:1.6rem; font-weight:700; color:var(--brand) }
.price-card.featured{ border:2px solid var(--brand); background: linear-gradient(180deg,#fff,#fff8f3) }
.note{ color:var(--muted); margin-top:12px }
/* Contact */
.contact-list{ list-style:none; padding:0; margin:0 0 14px; color:var(--muted) }
.contact-list a{ color:var(--ink) }
.contact-form{ display:grid; gap:12px }
.contact-form input, .contact-form textarea{ width:100%; padding:12px 14px; border-radius:12px; border:1px solid #e6dbcf; background:#fff }
/* Footer */
.site-footer{ padding:28px 0; border-top:1px solid #efe9df; color:var(--muted) }
.footer-wrap{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap }
.credit a{ color:var(--brand-2); text-decoration:none }
/* Back to Top */
.back-to-top{ position:fixed; right:16px; bottom:16px; width:44px; height:44px; border-radius:50%; border:0; background:var(--brand); color:#fff; font-size:20px; box-shadow:var(--shadow); display:grid; place-items:center; cursor:pointer; opacity:0; visibility:hidden; transition:.25s }
.back-to-top.show{ opacity:1; visibility:visible }
/* Lightbox */
.lightbox{ border:none; padding:0; width:min(95vw,1100px); background:#0000 }
.lightbox::backdrop{ background: rgba(0,0,0,.7) }
.lightbox img{ width:100%; height:auto; display:block; border-radius:12px }
.lightbox-close{ position:absolute; right:18px; top:12px; border:0; background:#fff; border-radius:999px; width:36px; height:36px; cursor:pointer; box-shadow:var(--shadow) }
/* Checkout */
.checkout{ border:none; padding:0; width:min(95vw,560px); background:#0000 }
.checkout::backdrop{ background: rgba(0,0,0,.65) }
.checkout .checkout-body{ background:#fff; border-radius:16px; padding:18px; box-shadow:var(--shadow) }
.checkout .checkout-close{ position:absolute; right:12px; top:8px; border:0; background:#fff; border-radius:999px; width:32px; height:32px; cursor:pointer; box-shadow:var(--shadow) }
.checkout-info{ margin:4px 0 12px }
.checkout-info h4{ margin:0 0 4px }
.checkout-note{ color:var(--muted); font-size:.9rem; margin-top:10px }
