
* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#f0f0f0; --card:#f1f0f3; --crease:rgba(0,0,0,0.18); --text:#20242e; --muted:#75768a;
  --accent:#c24a3d; --on-acc:#ffffff; --border:rgba(32,36,46,0.12); --soft:rgba(32,36,46,0.06);
  --accsoft:rgba(194,74,61,0.16); --shadow:rgba(0,0,0,0.15); --shadow2:rgba(194,74,61,0.30);
  --rad:8px; --pad:22px;
}
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; line-height:1.6;
  background:radial-gradient(120% 70% at 50% -6%, var(--accsoft), transparent 55%), var(--bg);
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
h1,h2 { font-family:Optima, Candara, 'Segoe UI', sans-serif; line-height:1.1; letter-spacing:-.02em; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.fold-page { max-width:960px; margin:0 auto; padding:0 20px 40px; }

.fdnav { position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:20px;
  padding:16px 4px; backdrop-filter:blur(10px); }
.brand { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:800; font-size:20px;
  display:flex; align-items:center; gap:10px; }
.brand-fold { width:14px; height:14px; background:var(--accent);
  clip-path:polygon(0 0, 100% 0, 100% 100%, 0 70%); }
.fdlinks { display:flex; gap:6px; margin-left:auto; }
.fdlinks a { padding:9px 15px; border-radius:999px; color:var(--muted); font-size:15px;
  transition:background .15s, color .15s; }
.fdlinks a:hover { background:var(--soft); color:var(--text); }

.btn { display:inline-block; border-radius:999px; padding:12px 24px; font-weight:600;
  font-size:15px; cursor:pointer; border:1px solid transparent; font-family:inherit;
  transition:transform .14s, filter .14s; }
.primary { background:var(--accent); color:var(--on-acc); box-shadow:0 12px 26px var(--shadow2); }
.primary:hover { transform:translateY(-3px); filter:brightness(1.05); }
.ghost { background:transparent; color:var(--text); border:1px solid var(--border); }
.ghost:hover { background:var(--soft); transform:translateY(-3px); }

.fd-hero { perspective:1200px; padding:34px 0 20px; }
.fold-hero { transform-origin:top center; transform-style:preserve-3d;
  background:var(--card); border:1px solid var(--border); border-radius:calc(var(--rad) + 4px);
  padding:clamp(28px,5vw,52px); box-shadow:0 26px 60px var(--shadow); }
.kicker { display:inline-block; font-size:13px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.fold-hero h1 { font-size:clamp(34px,5.6vw,60px); margin-bottom:16px; }
.fold-hero p { color:var(--muted); font-size:18px; max-width:52ch; margin-bottom:26px; }
.fh-actions { display:flex; gap:12px; flex-wrap:wrap; }

.sec-head { text-align:center; margin:44px 0 22px; }
.tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--accent); background:var(--accsoft);
  padding:6px 12px; border-radius:999px; margin-bottom:10px; }
.sec-head h2 { font-size:clamp(26px,3.4vw,42px); }

/* ---- accordion fold ---- */
.fold-list { display:flex; flex-direction:column; gap:14px; }
.fold-item { border:1px solid var(--border); border-radius:var(--rad); overflow:hidden;
  background:var(--card); box-shadow:0 10px 26px var(--shadow); }
.fold-head { width:100%; display:flex; align-items:center; gap:16px; padding:20px 22px;
  background:none; border:0; cursor:pointer; font:inherit; color:var(--text); text-align:left; }
.fold-num { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-weight:800; color:var(--accent); font-size:16px;
  min-width:28px; }
.fold-title { font-family:Optima, Candara, 'Segoe UI', sans-serif; font-size:clamp(18px,2.4vw,24px); flex:1; }
.fold-mark { width:32px; height:32px; border-radius:50%; background:var(--accsoft);
  color:var(--accent); display:flex; align-items:center; justify-content:center;
  font-size:22px; transition:transform .3s, background .3s; }
.fold-item.open .fold-mark { transform:rotate(45deg); background:var(--accent); color:var(--on-acc); }

.fold-panel { perspective:1000px; display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .45s ease; }
.fold-item.open .fold-panel { grid-template-rows:1fr; }
.fold-body { overflow:hidden; transform-origin:top center; transform:rotateX(-88deg);
  opacity:0; transition:transform .5s cubic-bezier(.3,.7,.2,1), opacity .4s;
  padding:0 22px; }
.fold-item.open .fold-body { transform:rotateX(0deg); opacity:1; padding:0 22px 24px; }
.fold-body p { color:var(--muted); font-size:16px; margin-bottom:16px; }
.fold-body img { width:100%; aspect-ratio:16/7; object-fit:cover; border-radius:var(--rad);
  border:1px solid var(--border); box-shadow:0 -6px 14px var(--crease) inset; }

/* ---- gallery fold strip ---- */
.fd-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; perspective:1000px; }
.fd-shot { position:relative; border-radius:var(--rad); overflow:hidden; aspect-ratio:3/4;
  border:1px solid var(--border); box-shadow:0 12px 26px var(--shadow);
  transform:rotateY(0deg); transition:transform .4s, box-shadow .4s; transform-origin:left center; }
.fd-shot:hover { transform:rotateY(-16deg); box-shadow:0 20px 40px var(--shadow); z-index:3; }
.fd-shot img { width:100%; height:100%; object-fit:cover; }
.fd-shot figcaption { position:absolute; left:10px; bottom:10px; background:var(--accent);
  color:var(--on-acc); font-weight:700; font-size:11px; padding:5px 10px; border-radius:999px; }

/* ---- contact fold ---- */
.fd-contact { perspective:1200px; padding:44px 0 10px; }
.fold-contact { transform-origin:top center; background:var(--card); border:1px solid var(--border);
  border-radius:calc(var(--rad) + 4px); padding:var(--pad); text-align:center;
  box-shadow:0 22px 54px var(--shadow); }
.fold-contact h2 { font-size:clamp(24px,3vw,36px); margin:8px 0 20px; }
.fdc-info { list-style:none; display:inline-flex; gap:26px; flex-wrap:wrap; font-size:14px;
  margin-bottom:22px; }
.fdc-info li span { color:var(--muted); margin-right:6px; }

.fdfoot { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  padding:30px 4px 0; margin-top:36px; border-top:1px solid var(--border); font-size:14px; }
.muted { color:var(--muted); }

@media (max-width:640px) {
  .fdlinks { display:none; }
  .fd-strip { grid-template-columns:repeat(3,1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .fold-hero, .fold-contact { transform:none !important; }
  .fold-panel { grid-template-rows:1fr !important; }
  .fold-body { transform:none !important; opacity:1 !important; padding:0 22px 24px !important;
    transition:none; }
  .fd-shot:hover { transform:none; }
  .btn:hover { transform:none; }
  .fold-mark { transition:none; }
}


.xq{box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#20242e;padding:56px 24px;width:100%}
.xq *{box-sizing:border-box;margin:0}
.xq .xq-wrap{max-width:1060px;margin:0 auto}
.xq h2{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:1.7rem;line-height:1.2;margin-bottom:8px}
.xq .xq-kick{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#c24a3d;margin-bottom:10px;font-weight:700}

.xq-teamgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px;margin-top:22px}
.xq-person img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;display:block;filter:saturate(.9)}
.xq-person figcaption{padding-top:10px}
.xq-person strong{display:block;font-family:Optima, Candara, 'Segoe UI', sans-serif}
.xq-person span{font-size:.82rem;color:#75768a}


.xq-hours{border-top:1px solid rgba(32,36,46,0.14)}
.xq-hours-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;align-items:start}
.xq-hours address{font-style:normal;color:#75768a;line-height:1.8;margin-top:8px}
.xq-hourtable{width:100%;border-collapse:collapse}
.xq-hourtable th,.xq-hourtable td{text-align:left;padding:12px 6px;border-bottom:1px solid rgba(32,36,46,0.14)}
.xq-hourtable th{font-family:Optima, Candara, 'Segoe UI', sans-serif}
.xq-hourtable td{color:#c24a3d;font-weight:700;text-align:right}


.xq-faq-list{margin-top:18px;border-top:1px solid rgba(32,36,46,0.14)}
.xq-faq-item{border-bottom:1px solid rgba(32,36,46,0.14);padding:4px 0}
.xq-faq-item summary{cursor:pointer;padding:14px 4px;font-weight:700;font-family:Optima, Candara, 'Segoe UI', sans-serif;list-style-position:inside}
.xq-faq-item summary::marker{color:#c24a3d}
.xq-faq-item p{padding:0 4px 16px;color:#75768a;max-width:64ch}


/* =====================================================
   DESIGN DNA: desert-craft
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'';position:fixed;inset:0;z-index:99980;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.7'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)'/%3E%3C/svg%3E");opacity:.10;}
html::after{content:'';position:fixed;inset:0;z-index:99990;pointer-events:none;border:none;background:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath d='M0 10L9 2L18 10L27 2L36 10' fill='none' stroke='%23c24a3d' stroke-width='2'/%3E%3C/svg%3E");background-size:36px 12px;background-repeat:repeat-x;background-position:bottom 6px center}
h1,h2,h3{font-family:Rockwell, 'Rockwell Nova', 'Roboto Slab', Georgia, serif !important;text-transform:uppercase !important;letter-spacing:.08em !important;font-weight:700 !important}
img{filter:sepia(.3) saturate(1.1);border-radius:2px !important;border-bottom:6px solid #c24a3d !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:2px !important;border:2px solid #20242e !important;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:2px !important;border-bottom:5px solid #c24a3d !important}
