:root{
  --ivoire:#FFFFFF;
  --champagne:#C9A866;
  --taupe:#D9C8B7;
  --noir:#0B0B0B;
  --ink:#1E1B18;
  --ink-soft:#6B655B;
}
body{margin:0;background:var(--ivoire);}
*{box-sizing:border-box;}
a{color:inherit;text-decoration:none;}
.serif{font-family:'Fraunces',Georgia,serif;}
.sans{font-family:'Jost',Arial,sans-serif;}
.label{font-family:'Jost',Arial,sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--ink-soft);font-weight:500;}

.navlink{font-family:'Jost',Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);font-weight:500;background:none;border:none;padding:0 0 6px;cursor:pointer;position:relative;}
.navlink::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--champagne);transition:right 0.35s cubic-bezier(0.22,1,0.36,1);}
.navlink:hover::after{right:0;}
.navlink.current{color:var(--champagne);}
.navlink.current::after{right:0;}

.linklike{display:inline-block;font-family:'Jost',Arial,sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);font-weight:500;border:none;border-bottom:1px solid var(--champagne);padding:0 0 4px;background:none;cursor:pointer;}

.btn-out{display:inline-block;font-family:'Jost',Arial,sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:16px 34px;border:1px solid var(--ink);color:var(--ink);font-weight:500;background:none;cursor:pointer;transition:background 0.3s ease,color 0.3s ease;}
.btn-out:hover{background:var(--ink);color:#fff;}

.btn-solid{display:inline-block;font-family:'Jost',Arial,sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:17px 36px;background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer;transition:background 0.3s ease,color 0.3s ease;}
.btn-solid:hover{background:transparent;color:var(--ink);}

@keyframes zhFade{
  0%{opacity:0;}
  3%{opacity:1;}
  22%{opacity:1;}
  25%{opacity:0;}
  100%{opacity:0;}
}
.zh-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:zhFade 20s ease-in-out infinite;}
.zh-caption{position:absolute;bottom:18px;left:22px;animation:zhFade 20s ease-in-out infinite;}

@keyframes zhBackdropIn{ from{opacity:0;} to{opacity:1;} }
@keyframes zhPanelIn{ from{opacity:0;transform:translateY(18px) scale(0.98);} to{opacity:1;transform:translateY(0) scale(1);} }
.zh-modal-backdrop{position:fixed;inset:0;background:rgba(11,11,11,0.55);display:flex;align-items:center;justify-content:center;z-index:1000;animation:zhBackdropIn 0.35s ease;padding:24px;}
.zh-modal-panel{background:#fff;max-width:480px;width:100%;padding:56px 44px;position:relative;animation:zhPanelIn 0.45s cubic-bezier(0.22,1,0.36,1);box-shadow:0 40px 80px rgba(11,11,11,0.25);}
.zh-modal-close{position:absolute;top:22px;right:22px;width:32px;height:32px;border:1px solid var(--taupe);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);font-family:'Jost',Arial,sans-serif;font-size:14px;line-height:1;transition:border-color 0.25s ease;}
.zh-modal-close:hover{border-color:var(--ink);}
.zh-field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;}
.zh-field label{font-family:'Jost',Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);}
.zh-field input, .zh-field textarea, .zh-field select{font-family:'Jost',Arial,sans-serif;font-size:14px;color:var(--ink);border:none;border-bottom:1px solid var(--taupe);padding:8px 2px;background:transparent;outline:none;width:100%;}
.zh-field input:focus, .zh-field textarea:focus, .zh-field select:focus{border-bottom-color:var(--champagne);}

/* Modal default state (site build, not needed inside the Claude canvas runtime) */
.zh-modal-backdrop{display:none;}
.zh-modal-backdrop.is-open{display:flex;}
img{max-width:100%;}
