/* ---------- Design tokens (converted from the original oklch palette) ---------- */
:root{
  --cx-bg:#0a0907;        --cx-fg:#f3f0ea;
  --cx-gold:#e2bf7d;      --cx-gold-soft:#ebd9ae;
  --cx-alabaster:#161311; --cx-ivory:#f9f6f1;
  --cx-card:#13110f;      --cx-muted:#a9a49b;
  --cx-border:#302d29;    --cx-ink:#050403;
  --cx-display:"Cormorant Garamond","Times New Roman",serif;
  --cx-body:"Jost",ui-sans-serif,system-ui,sans-serif;
}

/* ---------- Base ---------- */
body{background:var(--cx-bg);color:var(--cx-fg);font-family:var(--cx-body);
     font-weight:300;letter-spacing:.01em;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6{font-family:var(--cx-display);font-weight:300;letter-spacing:-.02em;line-height:1.1;}
a{color:inherit;}
::selection{background:var(--cx-gold);color:var(--cx-bg);}

/* ---------- Helper classes used by the Elementor templates ---------- */
.cx-eyebrow{font-family:var(--cx-body);font-size:11px;font-weight:400;
  letter-spacing:.28em;text-transform:uppercase;color:var(--cx-gold);}
.cx-lead{font-family:var(--cx-display);font-size:clamp(24px,3vw,38px);line-height:1.35;color:var(--cx-fg);}
.cx-muted{color:var(--cx-muted);}
.cx-rule{height:1px;background:var(--cx-border);border:0;}

/* Inline tag lists (venue theming, client roster) */
.cx-tags .elementor-icon-list-item{
  border:1px solid var(--cx-border);border-radius:999px;padding:9px 18px;margin:0 8px 10px 0;
  transition:border-color .4s ease,color .4s ease;}
.cx-tags .elementor-icon-list-item:hover{border-color:var(--cx-gold);color:var(--cx-gold);}
.cx-tags .elementor-icon-list-text{font-size:12px;letter-spacing:.16em;text-transform:uppercase;}

/* Client roster - quieter, wider tracking, no pill */
.cx-roster .elementor-icon-list-item{border:0;padding:0 34px 14px 0;}
.cx-roster .elementor-icon-list-text{font-size:13px;letter-spacing:.3em;color:var(--cx-muted);
  transition:color .4s ease;}
.cx-roster .elementor-icon-list-item:hover .elementor-icon-list-text{color:var(--cx-gold);}

/* Numbered award / feature lists */
.cx-numbered .elementor-icon-list-item{border-bottom:1px solid var(--cx-border);padding:22px 0;}
.cx-numbered .elementor-icon-list-item:last-child{border-bottom:0;}

/* Stat counters */
.cx-stat .elementor-counter-number-wrapper{font-family:var(--cx-display);font-weight:300;
  font-size:clamp(44px,5vw,68px);line-height:1;color:var(--cx-fg);}
.cx-stat .elementor-counter-title{font-family:var(--cx-body);font-size:11px;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;color:var(--cx-muted);margin-top:14px;}

/* Buttons */
.elementor-button{font-family:var(--cx-body);font-size:11px;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;border-radius:0;padding:20px 40px;
  transition:background-color .5s ease,color .5s ease,border-color .5s ease;}

/* ---------- Enquiry form (Contact page HTML widget) ---------- */
.cx-form{display:flex;flex-direction:column;gap:38px;}
.cx-field label{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--cx-muted);margin-bottom:12px;}
.cx-field input,.cx-field textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--cx-border);
  padding:12px 0;color:var(--cx-fg);font-family:var(--cx-display);font-size:20px;
  transition:border-color .4s ease;}
.cx-field input:focus,.cx-field textarea:focus{outline:0;border-bottom-color:var(--cx-gold);}
.cx-field textarea{resize:vertical;min-height:120px;}
.cx-form button{align-self:flex-start;background:var(--cx-gold);color:var(--cx-bg);border:0;
  padding:20px 46px;font-family:var(--cx-body);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;cursor:pointer;transition:background-color .4s ease;}
.cx-form button:hover{background:var(--cx-gold-soft);}
.cx-note{padding:18px 22px;border:1px solid var(--cx-gold);color:var(--cx-gold);
  font-size:13px;letter-spacing:.06em;margin-bottom:28px;}

/* ---------- Fallback header / footer (used when Elementor Pro is absent) ---------- */
.cx-hdr{position:fixed;inset:0 0 auto 0;z-index:999;display:flex;align-items:center;
  justify-content:space-between;padding:26px 40px;
  background:linear-gradient(to bottom,rgba(10,9,7,.9),transparent);transition:background .6s ease;}
.cx-hdr.is-stuck{background:var(--cx-bg);border-bottom:1px solid var(--cx-border);}
.cx-hdr__brand{font-family:var(--cx-display);font-size:20px;letter-spacing:.3em;text-transform:uppercase;
  text-decoration:none;color:var(--cx-fg);}
.cx-hdr__brand small{display:block;font-family:var(--cx-body);font-size:9px;letter-spacing:.34em;color:var(--cx-gold);margin-top:4px;}
.cx-hdr nav ul{display:flex;gap:36px;list-style:none;margin:0;padding:0;}
.cx-hdr nav a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
  color:var(--cx-fg);opacity:.85;transition:color .4s ease,opacity .4s ease;}
.cx-hdr nav a:hover{color:var(--cx-gold);opacity:1;}
.cx-hdr__cta{border:1px solid var(--cx-gold);color:var(--cx-gold);padding:13px 26px;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
  transition:background-color .4s ease,color .4s ease;}
.cx-hdr__cta:hover{background:var(--cx-gold);color:var(--cx-bg);}
@media(max-width:1024px){.cx-hdr nav{display:none;}.cx-hdr{padding:20px 22px;}}

.cx-ftr{border-top:1px solid var(--cx-border);background:var(--cx-alabaster);padding:80px 40px 40px;}
.cx-ftr__grid{display:grid;gap:56px;grid-template-columns:2fr 1fr 1fr;max-width:1400px;margin:0 auto;}
.cx-ftr h4{font-family:var(--cx-body);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--cx-gold);margin:0 0 20px;}
.cx-ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.cx-ftr a{color:var(--cx-muted);text-decoration:none;transition:color .4s ease;}
.cx-ftr a:hover{color:var(--cx-gold);}
.cx-ftr__base{max-width:1400px;margin:56px auto 0;padding-top:28px;border-top:1px solid var(--cx-border);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--cx-muted);}
@media(max-width:900px){.cx-ftr__grid{grid-template-columns:1fr;}}
