:root{--bg:#f5f3ee;--surf:#ffffff;--text:#33322c;--accent:#7d7a6a;--act:#ffffff;--stext:#141414;--muted:#8c8a80;--border:rgba(51,50,44,0.14);--rad:6px;--hf:Optima, Candara, 'Segoe UI', sans-serif;--bf:Garamond, 'EB Garamond', 'Times New Roman', serif;--pad:6.1rem}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--bf);line-height:1.6;overflow-x:hidden}
h1,h2,h3{font-family:var(--hf);font-weight:800;line-height:1.04}
.zmnav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;
  align-items:center;padding:16px 6vw;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(8px)}
.zmbrand{font-family:var(--hf);font-weight:800;font-size:20px;text-decoration:none;color:var(--text)}
.zmnav nav a{color:var(--muted);text-decoration:none;margin-left:22px;font-size:14px}
.zmnav nav a:hover{color:var(--accent)}
.zmstage{height:320vh;position:relative}
.zmpin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.zmframe{position:absolute;width:min(40vw,380px);aspect-ratio:4/5;overflow:hidden;border-radius:24px;
  will-change:transform;box-shadow:0 30px 80px rgba(0,0,0,.4);z-index:1}
.zmframe img{width:100%;height:100%;object-fit:cover;display:block}
.zmtitle{position:relative;z-index:2;text-align:center;padding:0 6vw;pointer-events:none;mix-blend-mode:difference;color:#fff}
.zmkick{display:inline-block;letter-spacing:.3em;font-size:13px;text-transform:uppercase;font-weight:700;margin-bottom:14px}
.zmtitle h1{font-size:clamp(44px,10vw,140px)}
.zmenter{position:absolute;z-index:3;text-align:center;max-width:600px;padding:0 6vw;opacity:0}
.zmenter p{color:#fff;font-size:clamp(17px,2.4vw,23px);margin-bottom:22px;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.zmbtn{display:inline-block;background:var(--accent);color:var(--act);text-decoration:none;
  padding:14px 34px;border-radius:99px;font-weight:700;letter-spacing:.04em}
.zmbtn:hover{filter:brightness(1.08)}
.zmabout{max-width:820px;margin:0 auto;padding:var(--pad) 6vw;text-align:center}
.zmabout h2{font-size:clamp(28px,4.5vw,50px);margin-bottom:16px}
.zmabout p{color:var(--muted);font-size:19px}
.zmsec{max-width:1080px;margin:0 auto;padding:var(--pad) 6vw}
.zmsec>h2{font-size:clamp(28px,4.5vw,50px);margin-bottom:24px;text-align:center}
.zmgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.zmc{background:var(--surf);color:var(--stext);border-radius:var(--rad);padding:26px}
.zmc span{font-family:var(--hf);color:var(--accent);font-size:28px;font-weight:800}
.zmc h3{font-size:20px;margin:6px 0 8px}
.zmc p{color:color-mix(in srgb,var(--stext) 74%,transparent);font-size:15px}
.zmgal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.zmtile{margin:0;position:relative;overflow:hidden;border-radius:var(--rad);aspect-ratio:4/3;
  transform:scale(.7);opacity:0;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s ease}
.zmtile.in{transform:scale(1);opacity:1}
.zmtile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.zmtile:hover img{transform:scale(1.08)}
.zmtile figcaption{position:absolute;left:10px;bottom:10px;color:#fff;background:rgba(0,0,0,.5);
  padding:5px 12px;border-radius:99px;font-size:12px;letter-spacing:.08em}
.zmcontact{max-width:760px;margin:0 auto;padding:var(--pad) 6vw;text-align:center}
.zmcontact h2{font-size:clamp(28px,4.5vw,50px);margin-bottom:14px}
.zmlines{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin:20px 0 24px;color:var(--muted)}
.zmfoot{text-align:center;padding:40px;color:var(--muted);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
body.zmreduce .zmstage{height:auto}
body.zmreduce .zmpin{position:relative;height:auto;flex-direction:column;padding:120px 6vw 40px;gap:24px}
body.zmreduce .zmframe{position:relative;transform:none!important;width:min(80vw,420px)}
body.zmreduce .zmtitle{mix-blend-mode:normal;color:var(--text);transform:none!important;opacity:1!important}
body.zmreduce .zmenter{position:relative;opacity:1!important;transform:none!important}
body.zmreduce .zmenter p{color:var(--muted);text-shadow:none}
body.zmreduce .zmtile{transform:none;opacity:1}
@media(max-width:760px){.zmgal{grid-template-columns:1fr 1fr}.zmframe{width:min(70vw,320px)}
  .zmnav nav a{margin-left:14px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  .zmtile{transform:none;opacity:1;transition:none}.zmtile img{transition:none}}


.xq{box-sizing:border-box;font-family:Garamond, 'EB Garamond', 'Times New Roman', serif;color:#33322c;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:#7d7a6a;margin-bottom:10px;font-weight:700}

.xq-hours{border-top:1px solid rgba(51,50,44,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:#8c8a80;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(51,50,44,0.14)}
.xq-hourtable th{font-family:Optima, Candara, 'Segoe UI', sans-serif}
.xq-hourtable td{color:#7d7a6a;font-weight:700;text-align:right}


/* =====================================================
   DESIGN DNA: vapor-sunset
   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:repeating-linear-gradient(0deg,rgba(125,122,106,.55) 0 2px,transparent 2px 26px);opacity:.08;}
html::after{content:'';position:fixed;inset:0;z-index:99990;pointer-events:none;border:none;background:none;background:linear-gradient(90deg,#ff71ce,#01cdfe,#b967ff);background-size:100% 6px;background-repeat:no-repeat;background-position:top;opacity:.85}
h1,h2,h3{font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif !important;text-transform:uppercase !important;letter-spacing:.3em !important;font-weight:600 !important;font-style:italic !important;text-shadow:0 0 18px rgba(125,122,106,.7)}
img{filter:saturate(1.5) hue-rotate(-12deg) contrast(1.05);border-radius:8px !important;box-shadow:0 0 0 2px rgba(125,122,106,.7),0 18px 40px rgba(125,122,106,.35) !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:8px !important;text-transform:uppercase;letter-spacing:.22em;box-shadow:0 0 18px rgba(125,122,106,.55) !important}
