:root{
/* colour */
--dks-gold:#E9B961;--dks-gold-deep:#C08A2E;--dks-gold-soft:#E5B25C;
--dks-gold-text:#866020;   /* gold for small text on light grounds: 4.5:1 on sand */
--dks-gold-large:#A87928;  /* gold for large text (24px+) and icons on light grounds: 3:1 on sand */
--dks-ink:#17150F;--dks-ink-2:#1B1813;--dks-ink-3:#0F0E0A;
--dks-cream:#F3EDE2;--dks-sand:#EDE5D9;--dks-white:#FFFFFF;--dks-text:#221F1A;--dks-muted:#6B6355;
--dks-error:#B3453A;
--dks-line:rgba(34,31,26,.14);--dks-line-strong:rgba(34,31,26,.24);
--dks-green-1:#2E5344;--dks-green-2:#1B3327;--dks-green-3:#12241B;
--dks-hero:radial-gradient(120% 90% at 50% 15%,var(--dks-green-1) 0%,var(--dks-green-2) 45%,var(--dks-green-3) 100%);
/* text on dark grounds uses cream at three opacities: .82 strong, .72 body, .55 muted (minimum). Lines on dark: .22 */
/* shape, depth, motion */
--dks-shadow:0 18px 46px rgba(23,21,15,.13);
--dks-radius:4px;--dks-pill:999px;
--dks-dur:.18s;
/* spacing */
--dks-pad:clamp(20px,4vw,56px);--dks-gap:clamp(20px,3vw,40px);
/* type */
--dks-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
--dks-fs-xs:11px;--dks-fs-sm:12px;--dks-fs-md:13px;--dks-fs-base:15px;--dks-fs-lg:16px;--dks-fs-xl:18px;--dks-fs-2xl:24px;--dks-fs-3xl:30px;
--dks-fs-lead:clamp(13px,1.4vw,15px);
--dks-fs-h3:clamp(20px,2.6vw,28px);--dks-fs-h2s:clamp(22px,3.2vw,38px);--dks-fs-h2:clamp(28px,4vw,50px);--dks-fs-h1:clamp(30px,5.4vw,58px);
--dks-ls-tight:-.01em;--dks-ls-0:.02em;--dks-ls-sm:.08em;--dks-ls-md:.14em;--dks-ls-lg:.2em;--dks-ls-xl:.3em;
/* breakpoints (media queries cannot read variables): 1200 header only / 1024 tablet / 767 phone / 480 small phone */
}

html{-webkit-text-size-adjust:100%}
body,body.woostify{font-family:var(--dks-font);color:var(--dks-text);background:var(--dks-sand);font-size:var(--dks-fs-base);line-height:1.7;-webkit-font-smoothing:antialiased}
body h1,body h2,body h3,body h4,body h5,body h6{font-family:var(--dks-font);color:var(--dks-text);letter-spacing:var(--dks-ls-0)}
img{max-width:100%;height:auto}
*,*::before,*::after{box-sizing:border-box}

/* ---------- shared type helpers ---------- */
.dks-kicker,.dks-kicker *{font-size:var(--dks-fs-xs)!important;font-weight:500!important;letter-spacing:var(--dks-ls-xl)!important;text-transform:uppercase;line-height:1.6!important}
.dks-kicker-gold,.dks-kicker-gold *{color:var(--dks-gold-text)!important}
.dks-kicker-light,.dks-kicker-light *{color:rgba(243,237,226,.55)!important}
.dks-display h1,.dks-display h2,.dks-display .elementor-heading-title{font-weight:800;letter-spacing:var(--dks-ls-0);line-height:1.04;text-transform:uppercase}
.dks-serif-ish h1,.dks-serif-ish h2,.dks-serif-ish .elementor-heading-title{font-weight:600;letter-spacing:var(--dks-ls-tight);line-height:1.18;text-transform:none}
.dks-track h2,.dks-track .elementor-heading-title{letter-spacing:var(--dks-ls-md);text-transform:uppercase;font-weight:700}
.dks-lead p,.dks-lead{font-size:var(--dks-fs-lead);line-height:1.8}
.dks-on-dark,.dks-on-dark p,.dks-on-dark li{color:rgba(243,237,226,.72)}
.dks-on-dark h1,.dks-on-dark h2,.dks-on-dark h3,.dks-on-dark .elementor-heading-title{color:var(--dks-cream)}
.dks-gold-head .elementor-heading-title,.dks-gold-head h1,.dks-gold-head h2{color:var(--dks-gold)!important}

/* ---------- buttons ---------- */
.dks-btn .elementor-button,a.dks-btn,button.dks-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.wc-block-components-button,.woostify-single-product-button a{
font-family:var(--dks-font);font-size:var(--dks-fs-sm);font-weight:700;letter-spacing:var(--dks-ls-md);text-transform:uppercase;
background:var(--dks-gold);color:var(--dks-ink);border:1px solid var(--dks-gold);
border-radius:var(--dks-pill);padding:15px 30px;min-height:48px;line-height:1.2;
display:inline-flex;align-items:center;justify-content:center;gap:8px;
transition:background var(--dks-dur) ease,color var(--dks-dur) ease,border-color var(--dks-dur) ease,transform var(--dks-dur) ease;
box-shadow:none;cursor:pointer;text-decoration:none}
.dks-btn .elementor-button:hover,a.dks-btn:hover,button.dks-btn:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
background:var(--dks-ink);color:var(--dks-cream);border-color:var(--dks-ink)}
.dks-btn-ghost .elementor-button,a.dks-btn-ghost{background:transparent;color:var(--dks-text);border:1px solid var(--dks-line-strong)}
.dks-btn-ghost .elementor-button:hover,a.dks-btn-ghost:hover{background:var(--dks-ink);color:var(--dks-cream);border-color:var(--dks-ink)}
.dks-btn-ghost-light .elementor-button{background:transparent;color:var(--dks-cream);border:1px solid rgba(243,237,226,.32)}
.dks-btn-ghost-light .elementor-button:hover{background:var(--dks-cream);color:var(--dks-ink);border-color:var(--dks-cream)}
.dks-btn-ink .elementor-button{background:var(--dks-ink);color:var(--dks-cream);border-color:var(--dks-ink)}
.dks-btn-ink .elementor-button:hover{background:var(--dks-gold);color:var(--dks-ink);border-color:var(--dks-gold)}

/* ---------- surfaces ---------- */
.dks-sand{background:var(--dks-sand)}
.dks-cream{background:var(--dks-cream)}
.dks-ink-bg{background:var(--dks-ink)}
.dks-dark-bg{background:var(--dks-ink-2)}
.dks-green-bg{background:var(--dks-green-2)}
.dks-hero-bg{background:var(--dks-hero)}
.dks-gold-bg{background:var(--dks-gold)}
.dks-card{background:var(--dks-white);border:1px solid var(--dks-line);border-radius:var(--dks-radius)}
.dks-section{padding-block:clamp(44px,6vw,86px)}
.dks-section-tight{padding-block:clamp(30px,4vw,56px)}

/* ---------- announcement bar ---------- */
.dks-announce{background:var(--dks-ink-3)}
.dks-announce .elementor-widget-container,.dks-announce p{margin:0}
.dks-announce-a p{font-size:var(--dks-fs-xs);font-weight:600;letter-spacing:var(--dks-ls-lg);text-transform:uppercase;color:var(--dks-gold-soft);margin:0}
.dks-announce-b p{font-size:var(--dks-fs-xs);font-weight:400;letter-spacing:var(--dks-ls-md);text-transform:uppercase;color:rgba(255,255,255,.5);margin:0}

/* ---------- forms ---------- */
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=url],textarea,select,
.wpforms-field input,.wpforms-field textarea,.wpforms-field select{
font-family:var(--dks-font);font-size:var(--dks-fs-lg);color:var(--dks-text);background:var(--dks-white);
border:1px solid var(--dks-line-strong);border-radius:var(--dks-radius);padding:13px 15px;min-height:48px;width:100%;
transition:border-color var(--dks-dur) ease,box-shadow var(--dks-dur) ease}
textarea{min-height:130px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--dks-gold-deep);box-shadow:0 0 0 3px rgba(233,185,97,.22)}
label{font-size:var(--dks-fs-xs);font-weight:600;letter-spacing:var(--dks-ls-md);text-transform:uppercase;color:var(--dks-muted)}

/* ---------- misc ---------- */
.dks-breadcrumb,.dks-breadcrumb *{font-size:var(--dks-fs-xs);letter-spacing:var(--dks-ls-lg);text-transform:uppercase;color:var(--dks-muted)}
.dks-divider{height:1px;background:var(--dks-line);border:0}
.dks-badge{display:inline-block;background:var(--dks-gold);color:var(--dks-ink);font-size:var(--dks-fs-xs);font-weight:700;letter-spacing:var(--dks-ls-md);text-transform:uppercase;padding:6px 11px;border-radius:var(--dks-pill)}
.dks-stat-num{font-size:clamp(30px,4.4vw,54px);font-weight:800;line-height:1;color:var(--dks-gold-large)}
::selection{background:var(--dks-gold);color:var(--dks-ink)}
