.elementor-kit-243{--e-global-color-primary:#C9A55C;--e-global-color-secondary:#0C1426;--e-global-color-text:#B9BFCC;--e-global-color-accent:#D6B672;--e-global-color-ekmbg:#070A12;--e-global-color-ekmalt:#0C1426;--e-global-color-ekmink:#F4EFE6;--e-global-color-ekmmuted:#B9BFCC;--e-global-color-ekmgoldtext:#D6B672;--e-global-color-ekmbtn:#0B1428;--e-global-color-ekmfooter:#05070D;--e-global-typography-primary-font-family:"Source Serif 4";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Source Serif 4";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Hanken Grotesk";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Hanken Grotesk";--e-global-typography-accent-font-weight:600;background-color:#070A12;color:#F4EFE6;font-family:"Hanken Grotesk", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   EKM Elementor Kit: global CSS
   Auto-installed via the kit (Site Settings > Custom CSS).
   Breakpoints: tablet <=1024, mobile <=767.
   ========================================================= */

/* 1. Tokens: Dark (default) / Lite (body.ekm-lite, toggled by JS) */
:root{
  --ekm-bg:#070A12; --ekm-alt:#0C1426; --ekm-card:#101A2F; --ekm-card2:#111C33; --ekm-menu:#0A111F;
  --ekm-ink:#F4EFE6; --ekm-muted:#B9BFCC; --ekm-nav:#E9E4DA; --ekm-gold:#C9A55C; --ekm-gold-text:#D6B672;
  --ekm-line:rgba(201,165,92,.32); --ekm-hair:rgba(244,239,230,.12); --ekm-btn2:rgba(244,239,230,.55);
  --ekm-hdr-solid:rgba(7,10,18,.84); --ekm-hdr-shadow:0 10px 30px rgba(0,0,0,.35);
  --ekm-card-grad:radial-gradient(120% 90% at 0% 0%, rgba(201,165,92,.22) 0%, rgba(201,165,92,.06) 45%, rgba(16,26,47,0) 75%), linear-gradient(160deg,#15223D 0%,#0C1426 100%);
  --ekm-glow:inset 0 0 0 1px #C9A55C, 0 0 0 4px rgba(201,165,92,.12), 0 24px 56px rgba(0,0,0,.45), 0 0 48px rgba(201,165,92,.22);
  --ekm-hero-c:74% 46%;
  --ekm-hero-bg:radial-gradient(44% 58% at var(--ekm-hero-c), rgba(201,165,92,.11) 0%, rgba(14,24,46,.7) 45%, rgba(7,10,18,0) 80%), linear-gradient(180deg,#070A12 0%,#0A1120 100%);
  --ekm-P:7,10,18;
  --ekm-ease:cubic-bezier(.2,.8,.2,1);
  --ekm-padx:max(120px, calc((100vw - 1200px) / 2)); --ekm-secy:128px; --ekm-block:72px; --ekm-col:96px; --ekm-cardgap:24px; --ekm-cardpad:40px;
}
body.ekm-lite{
  --ekm-bg:#F7F4EE; --ekm-alt:#FFFFFF; --ekm-card:#FFFFFF; --ekm-card2:#F7F4EE; --ekm-menu:#F7F4EE;
  --ekm-ink:#0E1A33; --ekm-muted:#465068; --ekm-nav:#0E1A33; --ekm-gold-text:#8A6526;
  --ekm-line:rgba(138,101,38,.35); --ekm-hair:rgba(14,26,51,.12); --ekm-btn2:rgba(14,26,51,.5);
  --ekm-hdr-solid:rgba(255,255,255,.9); --ekm-hdr-shadow:0 10px 30px rgba(14,26,51,.14);
  --ekm-card-grad:radial-gradient(120% 90% at 0% 0%, rgba(201,165,92,.20) 0%, rgba(201,165,92,.06) 45%, rgba(255,255,255,0) 75%), linear-gradient(160deg,#FFFFFF 0%,#FBF6EA 100%);
  --ekm-glow:inset 0 0 0 1px #C9A55C, 0 0 0 4px rgba(201,165,92,.14), 0 22px 48px rgba(14,26,51,.14), 0 0 40px rgba(201,165,92,.22);
  --ekm-hero-bg:radial-gradient(44% 58% at var(--ekm-hero-c), rgba(201,165,92,.16) 0%, rgba(255,255,255,.55) 45%, rgba(247,244,238,0) 80%), linear-gradient(180deg,#F7F4EE 0%,#F1ECE2 100%);
  --ekm-P:247,244,238;
  /* Elementor global colors follow the mode too */
  --e-global-color-ekmbg:#F7F4EE; --e-global-color-ekmalt:#FFFFFF; --e-global-color-ekmink:#0E1A33; --e-global-color-ekmmuted:#465068; --e-global-color-ekmgoldtext:#8A6526;
}
@media (max-width:1024px){ :root{ --ekm-padx:48px; --ekm-secy:96px; --ekm-block:56px; --ekm-col:48px; --ekm-cardgap:20px; --ekm-cardpad:32px; --ekm-hero-c:50% 22%; } }
@media (max-width:767px){ :root{ --ekm-padx:20px; --ekm-secy:72px; --ekm-block:48px; --ekm-col:32px; --ekm-cardgap:16px; --ekm-cardpad:28px; --ekm-hero-c:50% 20%; } }

/* 2. Resets: zero Elementor default container padding & widget spacing */
body[class]{ --container-default-padding-top:0px; --container-default-padding-right:0px; --container-default-padding-bottom:0px; --container-default-padding-left:0px; --widgets-spacing:0px 0px; --widgets-spacing-row:0px; --widgets-spacing-column:0px; --kit-widget-spacing:0px; }
body{ background:var(--ekm-bg); color:var(--ekm-ink); font-family:'Hanken Grotesk',system-ui,sans-serif; -webkit-font-smoothing:antialiased; transition:background-color .4s ease; }
html{ scroll-behavior:smooth; } [id]{ scroll-margin-top:88px; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
.ekm-x a, .ekm-sec a{ color:var(--ekm-gold-text); }
.ekm-sec .elementor-widget-text-editor p, .ekm-footer .elementor-widget-text-editor p{ margin:0; }
.ekm-sec .elementor-widget-text-editor p + p{ margin-top:16px; }

/* 3. Language: two widgets per text (.ekm-en / .ekm-id) */
html:not(.ekm-lang-id) .ekm-id, html.ekm-lang-id .ekm-en{ display:none !important; }
.elementor-editor-active .ekm-id{ outline:1px dashed rgba(201,165,92,.5); }

/* 4. Layout */
.e-con.ekm-sec{ display:flex !important; flex-direction:column; gap:var(--ekm-block) !important; padding:var(--ekm-secy) var(--ekm-padx) !important; }
.ekm-bg{ background:var(--ekm-bg); } .ekm-alt{ background:var(--ekm-alt); } .ekm-hairtop{ box-shadow:inset 0 1px 0 var(--ekm-hair); }
.e-con.ekm-stack{ display:flex !important; flex-direction:column !important; gap:20px !important; align-items:flex-start; }
.e-con.ekm-stack > *{ max-width:100%; }
.e-con.ekm-stack > .elementor-widget-heading, .e-con.ekm-stack > .elementor-widget-text-editor, .e-con.ekm-hero__text > .elementor-widget-heading, .e-con.ekm-hero__text > .elementor-widget-text-editor, .e-con.ekm-cta > .elementor-widget-heading, .e-con.ekm-cta > .elementor-widget-text-editor{ align-self:stretch; }
.e-con.ekm-s8{ gap:8px !important; } .e-con.ekm-s12{ gap:12px !important; } .e-con.ekm-s16{ gap:16px !important; } .e-con.ekm-s24{ gap:24px !important; } .e-con.ekm-s28{ gap:28px !important; } .e-con.ekm-s40{ gap:40px !important; }
.e-con.ekm-stretch{ align-items:stretch !important; }
.e-con.ekm-head{ display:grid !important; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:24px var(--ekm-col) !important; align-items:end; }
.e-con.ekm-head--split{ display:flex !important; flex-direction:row !important; justify-content:space-between; align-items:flex-end; gap:48px !important; }
.e-con.ekm-head--split > :first-child{ max-width:620px; } .e-con.ekm-head--split > :last-child{ max-width:460px; }
.e-con.ekm-cols{ display:grid !important; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--ekm-col) !important; align-items:start; }
.e-con.ekm-cols--47{ grid-template-columns:minmax(0,4fr) minmax(0,7fr); }
.e-con.ekm-cols--11{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
.e-con.ekm-cols--74{ grid-template-columns:minmax(0,7fr) minmax(0,4fr); }
.e-con.ekm-g2,.e-con.ekm-g3,.e-con.ekm-g4,.e-con.ekm-g5{ display:grid !important; gap:var(--ekm-cardgap) !important; }
.e-con.ekm-g2{ grid-template-columns:repeat(2,minmax(0,1fr)); } .e-con.ekm-g3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.e-con.ekm-g4{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px !important; } .e-con.ekm-g5{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px !important; }
.e-con.ekm-row{ display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:16px !important; align-items:center; }
.e-con.ekm-between{ justify-content:space-between; }
@media (min-width:1025px){ .ekm-order-first{ order:-1; } }
@media (max-width:1024px){
  .e-con.ekm-head,.e-con.ekm-cols{ grid-template-columns:1fr !important; align-items:start; }
  .e-con.ekm-head--split{ flex-direction:column !important; align-items:flex-start; gap:24px !important; }
  .e-con.ekm-g3,.e-con.ekm-g4{ grid-template-columns:repeat(2,minmax(0,1fr)); } .e-con.ekm-g5{ grid-template-columns:1fr; gap:36px !important; }
}
@media (max-width:767px){ .e-con.ekm-g2,.e-con.ekm-g3,.e-con.ekm-g4{ grid-template-columns:1fr; } }

/* 5. Typography */
.ekm-eyebrow .elementor-heading-title{ font:600 13px/1.4 'Hanken Grotesk',sans-serif; letter-spacing:.28em; text-transform:uppercase; color:var(--ekm-gold-text); }
.ekm-label .elementor-heading-title{ font:700 12px/1.4 'Hanken Grotesk',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--ekm-gold-text); }
.ekm-label--muted .elementor-heading-title{ color:var(--ekm-muted); }
.ekm-h1 .elementor-heading-title{ font:600 64px/1.08 'Source Serif 4',Georgia,serif; letter-spacing:-.012em; color:var(--ekm-ink); }
.ekm-h1--home .elementor-heading-title{ font-size:76px; line-height:1.06; max-width:820px; }
.ekm-h1 .elementor-heading-title span{ display:block; } .ekm-h1 .g, .ekm-gold{ color:var(--ekm-gold-text); }
.ekm-h2 .elementor-heading-title{ font:600 48px/1.12 'Source Serif 4',Georgia,serif; color:var(--ekm-ink); text-wrap:balance; }
.ekm-h2--doc .elementor-heading-title{ font-size:30px; line-height:1.2; font-weight:700; }
.ekm-h2--cta .elementor-heading-title{ font-size:60px; line-height:1.1; color:#F4EFE6; max-width:620px; }
.ekm-h3 .elementor-heading-title{ font:700 24px/1.25 'Source Serif 4',Georgia,serif; color:var(--ekm-ink); text-wrap:balance; }
.ekm-num .elementor-heading-title{ font:600 20px/1 'Source Serif 4',Georgia,serif; letter-spacing:.08em; color:var(--ekm-gold-text); }
.ekm-num--xl .elementor-heading-title{ font-size:64px; letter-spacing:0; }
.ekm-lead .elementor-heading-title, .ekm-lead p{ font:600 26px/1.42 'Source Serif 4',Georgia,serif; color:var(--ekm-ink); }
.ekm-quote .elementor-heading-title{ font:600 28px/1.3 'Source Serif 4',Georgia,serif; color:var(--ekm-ink); text-wrap:balance; }
.ekm-quote .elementor-heading-title::before{ content:"\201C"; display:block; font-size:56px; line-height:.6; margin-bottom:28px; color:var(--ekm-gold-text); }
.ekm-flow .elementor-heading-title{ font:700 15px/1.7 'Source Serif 4',Georgia,serif; letter-spacing:.16em; text-transform:uppercase; color:var(--ekm-gold-text); }
.ekm-body, .ekm-body p{ font-size:17px; line-height:1.6; color:var(--ekm-muted); text-wrap:pretty; }
.ekm-body-l, .ekm-body-l p{ font-size:19px; line-height:1.62; color:var(--ekm-muted); text-wrap:pretty; }
.ekm-ink, .ekm-ink p{ color:var(--ekm-ink); }
.ekm-small, .ekm-small p{ font-size:14px; line-height:1.6; color:var(--ekm-muted); }
.ekm-link .elementor-heading-title a, a.ekm-a{ display:inline-flex; align-items:center; gap:12px; font:700 13px/1.4 'Hanken Grotesk',sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--ekm-gold-text) !important; text-decoration:none; padding-bottom:6px; box-shadow:inset 0 -1px 0 var(--ekm-gold); transition:gap .3s ease; }
.ekm-link .elementor-heading-title a::after, a.ekm-a::after{ content:"\2192"; }
.ekm-link .elementor-heading-title a:hover, a.ekm-a:hover{ gap:18px; }
@media (max-width:1024px){
  .ekm-h1 .elementor-heading-title{ font-size:56px; } .ekm-h1--home .elementor-heading-title{ font-size:60px; }
  .ekm-h2 .elementor-heading-title{ font-size:40px; } .ekm-h2--doc .elementor-heading-title{ font-size:28px; } .ekm-h2--cta .elementor-heading-title{ font-size:48px; max-width:640px; }
  .ekm-h3 .elementor-heading-title{ font-size:22px; } .ekm-eyebrow .elementor-heading-title{ font-size:12px; }
  .ekm-lead .elementor-heading-title{ font-size:24px; } .ekm-quote .elementor-heading-title{ font-size:26px; } .ekm-num--xl .elementor-heading-title{ font-size:56px; }
  .ekm-body, .ekm-body p{ font-size:16px; } .ekm-body-l, .ekm-body-l p{ font-size:18px; } .ekm-flow .elementor-heading-title{ font-size:14px; }
}
@media (max-width:767px){
  .ekm-h1 .elementor-heading-title, .ekm-h1--home .elementor-heading-title{ font-size:36px; } .ekm-h1--home .elementor-heading-title{ font-size:38px; }
  .ekm-h2 .elementor-heading-title{ font-size:32px; } .ekm-h2--doc .elementor-heading-title{ font-size:24px; } .ekm-h2--cta .elementor-heading-title{ font-size:34px; }
  .ekm-h3 .elementor-heading-title{ font-size:20px; } .ekm-eyebrow .elementor-heading-title{ font-size:11px; letter-spacing:.2em; }
  .ekm-lead .elementor-heading-title{ font-size:21px; } .ekm-quote .elementor-heading-title{ font-size:22px; } .ekm-num--xl .elementor-heading-title{ font-size:44px; }
  .ekm-body-l, .ekm-body-l p{ font-size:16px; } .ekm-flow .elementor-heading-title{ font-size:12px; }
}

/* 6. Buttons (Button widget + class) */
.ekm-btn-primary .elementor-button, .ekm-btn-secondary .elementor-button{
  border-radius:0; height:56px; padding:0 28px; display:inline-flex; align-items:center; justify-content:center; gap:14px;
  font:700 13px/1 'Hanken Grotesk',sans-serif; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap;
  transition:transform .35s var(--ekm-ease), box-shadow .35s ease, background .35s ease, color .35s ease;
}
.ekm-btn-primary .elementor-button .elementor-button-text::after, .ekm-btn-secondary .elementor-button .elementor-button-text::after{ content:"\2192"; margin-left:14px; font-size:16px; }
.ekm-btn-primary .elementor-button{ background:#C9A55C; color:#0B1428; }
.ekm-btn-primary .elementor-button:hover, .ekm-btn-primary .elementor-button:focus-visible{ transform:translateY(-3px); color:#0B1428; background:linear-gradient(135deg,#EBD39C 0%,#C9A55C 55%,#B08A42 100%); box-shadow:0 0 0 1px rgba(235,211,156,.9), 0 14px 34px rgba(201,165,92,.45), 0 0 52px rgba(201,165,92,.28); }
.ekm-btn-secondary .elementor-button{ background:transparent; color:var(--ekm-ink); box-shadow:inset 0 0 0 1px var(--ekm-btn2); }
.ekm-btn-secondary .elementor-button:hover, .ekm-btn-secondary .elementor-button:focus-visible{ transform:translateY(-3px); color:var(--ekm-gold-text); background:linear-gradient(135deg, rgba(201,165,92,.16), rgba(201,165,92,.02)); box-shadow:inset 0 0 0 1px #C9A55C, 0 0 0 4px rgba(201,165,92,.12), 0 0 36px rgba(201,165,92,.3); }
.ekm-on-dark.ekm-btn-secondary .elementor-button{ color:#F4EFE6; box-shadow:inset 0 0 0 1px rgba(244,239,230,.55); }
.ekm-on-dark.ekm-btn-secondary .elementor-button:hover{ color:#D6B672; }
@media (max-width:767px){ .e-con.ekm-btns{ flex-direction:column !important; align-items:stretch !important; gap:12px !important; width:100%; } .ekm-btn-primary .elementor-button, .ekm-btn-secondary .elementor-button{ width:100%; font-size:12px; letter-spacing:.1em; padding:0 16px; white-space:normal; } }

/* 7. Cards & hover */
.e-con.ekm-card{ position:relative; isolation:isolate; overflow:hidden; display:flex !important; flex-direction:column !important; gap:20px !important; padding:var(--ekm-cardpad) !important; background:var(--ekm-card); box-shadow:inset 0 0 0 1px var(--ekm-hair); transition:box-shadow .4s ease, transform .4s var(--ekm-ease); }
.e-con.ekm-card--tile{ background:var(--ekm-card2); padding:24px !important; }
.e-con.ekm-card--plain{ background:var(--ekm-card-grad); box-shadow:inset 0 0 0 1px var(--ekm-line); }
.ekm-card::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--ekm-card-grad); opacity:0; transition:opacity .45s ease; }
.ekm-card::after{ content:""; position:absolute; left:0; top:0; height:2px; width:0; background:linear-gradient(90deg,#C9A55C,#E2C68C); transition:width .5s var(--ekm-ease); }
.ekm-card:hover, .ekm-card:focus-within{ box-shadow:var(--ekm-glow); transform:translateY(-6px); }
.ekm-card:hover::before, .ekm-card:focus-within::before{ opacity:1; } .ekm-card:hover::after, .ekm-card:focus-within::after{ width:100%; }
.ekm-card--static:hover{ transform:none; }
.ekm-card .ekm-push{ margin-top:auto; }
.ekm-ring{ width:56px; height:56px; border-radius:50%; display:grid; place-items:center; box-shadow:inset 0 0 0 1px var(--ekm-gold); color:var(--ekm-gold-text); transition:background .35s ease, box-shadow .35s ease, color .35s ease; }
.ekm-ring svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linejoin:round; stroke-linecap:round; }
.ekm-card:hover .ekm-ring{ background:#C9A55C; color:#0B1428; box-shadow:0 0 0 6px rgba(201,165,92,.16), 0 0 24px rgba(201,165,92,.45); }
.ekm-ring--num{ width:52px; height:52px; font:600 18px/1 'Source Serif 4',serif; background:var(--ekm-bg); }
.ekm-cardtop{ display:flex; justify-content:space-between; align-items:center; width:100%; }
.ekm-diamond{ width:10px; height:10px; background:var(--ekm-gold); transform:rotate(45deg); display:inline-block; }
.ekm-chips p{ display:flex; flex-wrap:wrap; gap:8px; }
.ekm-chips a{ font:600 13px/1.3 'Hanken Grotesk',sans-serif; padding:9px 14px; color:var(--ekm-ink) !important; box-shadow:inset 0 0 0 1px var(--ekm-line); text-decoration:none; transition:color .3s, box-shadow .3s, background .3s; }
.ekm-chips a:hover{ color:var(--ekm-gold-text) !important; background:rgba(201,165,92,.1); box-shadow:inset 0 0 0 1px #C9A55C; }
.e-con.ekm-divtop{ padding-top:20px !important; border-top:1px solid var(--ekm-hair); }
.e-con.ekm-linetop{ padding-top:24px !important; border-top:1px solid var(--ekm-line); }
.ekm-list ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
.ekm-list li{ position:relative; padding-left:22px; font-size:16px; line-height:1.55; color:var(--ekm-ink); }
.ekm-list li::before{ content:""; position:absolute; left:0; top:.62em; width:7px; height:7px; background:var(--ekm-gold); transform:rotate(45deg); }
.ekm-list--dash li::before{ content:"\2014"; background:none; transform:none; top:0; color:var(--ekm-gold-text); }
.ekm-dl{ width:100%; } .ekm-dl dl{ margin:0; border-top:1px solid var(--ekm-line); }
.ekm-dl dl > div{ display:grid; grid-template-columns:170px 1fr; gap:6px 24px; padding:16px 0; border-bottom:1px solid var(--ekm-hair); }
.ekm-dl dt{ font:700 12px/1.4 'Hanken Grotesk',sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--ekm-gold-text); padding-top:3px; }
.ekm-dl dd{ margin:0; font-size:16px; line-height:1.5; font-weight:500; color:var(--ekm-ink); }
@media (max-width:767px){ .ekm-dl dl > div{ grid-template-columns:1fr; } }
.e-con.ekm-note{ display:flex !important; flex-direction:column !important; gap:6px !important; padding:20px 22px !important; background:rgba(201,165,92,.08); box-shadow:inset 0 0 0 1px var(--ekm-line); }
.e-con.ekm-doc{ display:flex !important; flex-direction:column !important; gap:28px !important; padding:48px !important; background:var(--ekm-card); box-shadow:inset 0 0 0 1px var(--ekm-line), inset 0 0 0 8px var(--ekm-card), inset 0 0 0 9px var(--ekm-hair); }
@media (max-width:1024px){ .e-con.ekm-doc{ padding:40px !important; } } @media (max-width:767px){ .e-con.ekm-doc{ padding:28px 22px !important; } }
.ekm-badge{ font:700 18px/1 'Source Serif 4',serif; letter-spacing:.12em; color:var(--ekm-gold-text); padding:8px 16px; box-shadow:inset 0 0 0 1px var(--ekm-gold); display:inline-block; }
.ekm-steps{ position:relative; }
.ekm-steplist a{ display:grid; grid-template-columns:48px 1fr 20px; align-items:baseline; padding:14px 0; border-bottom:1px solid var(--ekm-hair); color:var(--ekm-ink) !important; text-decoration:none; font-size:16px; }
.ekm-steplist a span:first-child{ font:600 15px 'Source Serif 4',serif; color:var(--ekm-gold-text); }
.ekm-steplist a::after{ content:"\2192"; color:var(--ekm-gold-text); }
.ekm-steplist{ border-top:1px solid var(--ekm-hair); width:100%; }

/* 8. Photos (Image widget; replace the placeholder with the real photo) */
.ekm-photo{ position:relative; width:100%; }
.ekm-photo img{ width:100% !important; aspect-ratio:4/3; object-fit:cover; display:block; box-shadow:inset 0 0 0 1px var(--ekm-line); background:var(--ekm-card); }
.ekm-photo--169 img{ aspect-ratio:16/9; } .ekm-photo--45 img{ aspect-ratio:4/5; }
@media (max-width:1024px){ .ekm-photo--45 img{ aspect-ratio:4/3; } }
.ekm-photo--corner::after{ content:""; position:absolute; right:-12px; top:-12px; width:72px; height:72px; box-shadow:inset -1px 1px 0 var(--ekm-gold); pointer-events:none; }
.ekm-photo--corner-l::after{ right:auto; left:-12px; box-shadow:inset 1px 1px 0 var(--ekm-gold); }
@media (min-width:1025px){ .ekm-sticky{ position:sticky; top:120px; } }

/* 9. Header (fixed overlay, solid when scrolled) */
.e-con.ekm-header{ position:fixed !important; top:0; left:0; right:0; z-index:100; height:108px; display:flex !important; flex-direction:row !important; align-items:center; justify-content:space-between; padding:0 var(--ekm-padx) !important; background:transparent; box-shadow:inset 0 -1px 0 var(--ekm-hair); transition:height .45s var(--ekm-ease), background-color .45s ease, box-shadow .45s ease; }
body.admin-bar .e-con.ekm-header{ top:32px; } @media (max-width:782px){ body.admin-bar .e-con.ekm-header{ top:46px; } }
.ekm-scrolled .e-con.ekm-header{ height:76px; background:var(--ekm-hdr-solid); -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%); box-shadow:inset 0 -1px 0 var(--ekm-hair), var(--ekm-hdr-shadow); }
.e-con.ekm-logo{ width:196px; display:flex !important; flex-direction:column !important; gap:7px !important; transform-origin:left center; transition:transform .45s var(--ekm-ease); }
.ekm-scrolled .ekm-logo{ transform:scale(.8); }
.ekm-logo img{ width:100% !important; height:auto; display:block; }
.ekm-logo-text .elementor-heading-title{ display:block; font:700 10px/1.2 'Source Serif 4',serif; color:var(--ekm-ink); white-space:nowrap; text-align:justify; text-align-last:justify; letter-spacing:.06em; }
.ekm-footer .ekm-logo-text .elementor-heading-title{ color:#F4EFE6; font-size:11.3px; }
@media (max-width:1024px){ .e-con.ekm-header{ height:100px; } .ekm-scrolled .e-con.ekm-header{ height:72px; } .e-con.ekm-logo{ width:176px; gap:6px !important; } .ekm-logo-text .elementor-heading-title{ font-size:9px; } }
@media (max-width:767px){ .e-con.ekm-header{ height:88px; } .ekm-scrolled .e-con.ekm-header{ height:64px; } .e-con.ekm-logo{ width:160px; gap:5px !important; } .ekm-logo-text .elementor-heading-title{ font-size:8.2px; } }
.ekm-hdr{ display:flex; align-items:center; gap:28px; }
.ekm-nav{ display:flex; gap:36px; }
.ekm-nav a, .ekm-langs button{ font:600 13px/1 'Hanken Grotesk',sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--ekm-nav); text-decoration:none; padding:10px 0; transition:padding .45s ease, color .25s ease, box-shadow .25s ease; }
.ekm-scrolled .ekm-nav a{ padding:6px 0; }
.ekm-nav a:hover, .ekm-nav a.is-active, .ekm-langs button[aria-pressed="true"]{ color:var(--ekm-gold-text); }
.ekm-nav a.is-active, .ekm-langs button[aria-pressed="true"]{ box-shadow:inset 0 -2px 0 var(--ekm-gold); }
.ekm-vr{ width:1px; height:28px; background:var(--ekm-hair); }
.ekm-langs{ display:flex; gap:14px; } .ekm-langs button{ background:none; border:0; cursor:pointer; padding:6px 0; }
.ekm-mode{ width:40px; height:40px; border-radius:50%; border:1px solid var(--ekm-line); background:transparent; display:grid; place-items:center; cursor:pointer; padding:0; }
.ekm-burger{ display:none; width:44px; height:44px; background:none; border:0; cursor:pointer; flex-direction:column; align-items:flex-end; justify-content:center; gap:6px; padding:0; }
.ekm-burger span{ width:24px; height:1.5px; background:var(--ekm-ink); } .ekm-burger span:last-child{ width:16px; background:var(--ekm-gold); }
@media (max-width:1024px){ .ekm-nav, .ekm-hdr .ekm-vr{ display:none; } .ekm-burger{ display:flex; } .ekm-hdr{ gap:18px; } }
@media (max-width:767px){ .ekm-hdr{ gap:10px; } }
.ekm-mnav{ position:fixed; inset:0; z-index:200; background:var(--ekm-menu); display:flex; flex-direction:column; padding:0 var(--ekm-padx) 32px; overflow:auto; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s; }
html.ekm-menu-open .ekm-mnav{ opacity:1; visibility:visible; } html.ekm-menu-open{ overflow:hidden; }
.ekm-mnav__top{ height:88px; flex:none; display:flex; align-items:center; justify-content:space-between; box-shadow:inset 0 -1px 0 var(--ekm-line); }
.ekm-mnav__top img{ width:160px; display:block; }
.ekm-mnav__close{ width:44px; height:44px; background:none; border:0; color:var(--ekm-ink); font-size:28px; cursor:pointer; }
.ekm-mnav nav{ display:flex; flex-direction:column; margin-top:12px; }
.ekm-mnav nav a{ display:flex; justify-content:space-between; align-items:center; height:68px; font:600 26px/1 'Source Serif 4',serif; color:var(--ekm-ink); text-decoration:none; box-shadow:inset 0 -1px 0 var(--ekm-hair); }
.ekm-mnav nav a::after{ content:"\2192"; font-size:18px; color:var(--ekm-gold-text); } .ekm-mnav nav a.is-active{ color:var(--ekm-gold-text); }
.ekm-mnav__foot{ margin-top:auto; padding-top:32px; display:flex; flex-direction:column; gap:20px; }
.ekm-mnav__row{ display:flex; align-items:center; justify-content:space-between; }
.ekm-mnav__cta{ display:flex; align-items:center; justify-content:center; height:56px; background:#C9A55C; color:#0B1428 !important; font:700 12px/1 'Hanken Grotesk',sans-serif; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; }
.ekm-mnav__mail{ text-align:center; font-size:14px; color:var(--ekm-muted) !important; text-decoration:none; }
.ekm-pill{ height:44px; padding:0 18px; border-radius:22px; border:1px solid var(--ekm-line); background:none; color:var(--ekm-ink); font:600 12px/1 'Hanken Grotesk',sans-serif; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }

/* 10. Hero */
.e-con.ekm-hero{ position:relative; overflow:hidden; min-height:900px; display:flex !important; flex-direction:column !important; justify-content:flex-start; background:var(--ekm-hero-bg); padding:0 !important; }
.e-con.ekm-hero__text{ position:relative; z-index:3; display:flex !important; flex-direction:column !important; align-items:flex-start; gap:0 !important; padding:188px 0 80px var(--ekm-padx) !important; max-width:calc(800px + var(--ekm-padx)); }
.ekm-hero__text > .ekm-eyebrow{ margin-bottom:24px; } .ekm-hero__text > .ekm-h1{ margin-bottom:28px; } .ekm-hero__text > .ekm-body-l{ margin-bottom:40px; max-width:600px; } .ekm-hero__text > .ekm-crumb{ margin-bottom:28px; }
.ekm-hero__art{ position:absolute !important; z-index:1; pointer-events:none; left:calc(50% + 80px); top:140px; width:540px; height:540px; }
.ekm-art{ width:100%; height:100%; } .ekm-art svg{ display:block; overflow:visible; }
.ekm-art [data-depth]{ transition:transform 1.2s cubic-bezier(.2,.7,.2,1); will-change:transform; }
.ekm-crumb{ display:flex; align-items:center; gap:12px; font:600 12px/1 'Hanken Grotesk',sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.ekm-crumb a{ color:var(--ekm-muted) !important; text-decoration:none; } .ekm-crumb a:hover{ color:var(--ekm-gold-text) !important; }
.ekm-crumb i{ width:16px; height:1px; background:var(--ekm-line); } .ekm-crumb b{ font-weight:600; color:var(--ekm-gold-text); }
@media (max-width:1024px){ .e-con.ekm-hero{ min-height:0; } .e-con.ekm-hero__text{ padding:500px var(--ekm-padx) 96px !important; max-width:none; } .ekm-hero__art{ left:50%; top:116px; width:360px; height:360px; margin-left:-180px; } .ekm-hero__text > .ekm-body-l{ max-width:640px; } }
@media (max-width:767px){ .e-con.ekm-hero__text{ padding:352px var(--ekm-padx) 72px !important; } .ekm-hero__art{ top:100px; width:230px; height:230px; margin-left:-115px; } .ekm-hero__text > .ekm-eyebrow{ margin-bottom:16px; } .ekm-hero__text > .ekm-h1{ margin-bottom:18px; } .ekm-hero__text > .ekm-body-l{ margin-bottom:30px; max-width:none; } }
@keyframes ekmUp{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:none; } }
.ekm-js .ekm-hero__text > *{ animation:ekmUp .9s cubic-bezier(.2,.7,.2,1) both; }
.ekm-js .ekm-hero__text > :nth-child(2){ animation-delay:.15s; } .ekm-js .ekm-hero__text > :nth-child(3),.ekm-js .ekm-hero__text > :nth-child(4){ animation-delay:.3s; } .ekm-js .ekm-hero__text > :nth-child(5),.ekm-js .ekm-hero__text > :nth-child(6){ animation-delay:.45s; } .ekm-js .ekm-hero__text > :nth-child(n+7){ animation-delay:.6s; }
.elementor-editor-active .ekm-hero__text > *{ animation:none !important; }
@media (prefers-reduced-motion:reduce){ .ekm-hero__text > *{ animation:none !important; } }
@keyframes ekmSpin{ to{ transform:rotate(360deg); } }
@keyframes ekmFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
@keyframes ekmRing{ 0%{ transform:scale(1); opacity:.55; } 100%{ transform:scale(2.3); opacity:0; } }

/* Home hero: photo + overlay per device */
.e-con.ekm-hero--home{ background:#070A12 url(/wp-content/uploads/ekm/home-hero-desktop.webp) right center / cover no-repeat; }
.e-con.ekm-hero--home::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg, rgba(var(--ekm-P),.6) 0, rgba(var(--ekm-P),0) 170px), linear-gradient(90deg, rgba(var(--ekm-P),.94) 0%, rgba(var(--ekm-P),.78) 38%, rgba(var(--ekm-P),.2) 62%, rgba(var(--ekm-P),0) 80%), linear-gradient(0deg, rgba(var(--ekm-P),.85) 0%, rgba(var(--ekm-P),0) 34%); }
body.ekm-lite .e-con.ekm-hero--home::before{ background:linear-gradient(180deg, rgba(var(--ekm-P),.85) 0, rgba(var(--ekm-P),0) 170px), linear-gradient(90deg, rgba(var(--ekm-P),.97) 0%, rgba(var(--ekm-P),.9) 38%, rgba(var(--ekm-P),.35) 62%, rgba(var(--ekm-P),0) 80%), linear-gradient(0deg, rgba(var(--ekm-P),.55) 0%, rgba(var(--ekm-P),0) 34%); }
.e-con.ekm-hero--home .ekm-hero__text{ padding-top:196px !important; max-width:calc(840px + var(--ekm-padx)); }
.ekm-hero--home .ekm-hero__text > .ekm-h1{ max-width:820px; }
@media (max-width:1024px){ .e-con.ekm-hero--home{ background:var(--ekm-bg) url(/wp-content/uploads/ekm/home-hero-tablet.webp) 60% top / 100% 62% no-repeat; } .e-con.ekm-hero--home::before{ background:linear-gradient(180deg, rgba(var(--ekm-P),.6) 0, rgba(var(--ekm-P),.1) 18%, rgba(var(--ekm-P),.85) 40%, rgb(var(--ekm-P)) 54%) !important; } .e-con.ekm-hero--home .ekm-hero__text{ padding:500px var(--ekm-padx) 0 !important; } }
@media (max-width:767px){ .e-con.ekm-hero--home{ background-image:url(/wp-content/uploads/ekm/home-hero-mobile.webp); background-size:100% 58%; } .e-con.ekm-hero--home .ekm-hero__text{ padding:330px var(--ekm-padx) 0 !important; } }
.ekm-pillars{ position:absolute; z-index:3; right:var(--ekm-padx); bottom:48px; width:520px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ekm-pillars > div{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; padding:0 16px; }
.ekm-pillars > div + div{ border-left:1px solid var(--ekm-line); }
.ekm-pillars b{ font:700 15px/1.2 'Source Serif 4',serif; letter-spacing:.2em; text-transform:uppercase; color:var(--ekm-ink); }
.ekm-pillars small{ font-size:14px; line-height:1.5; color:var(--ekm-muted); }
body.ekm-lite .ekm-pillars{ background:rgba(247,244,238,.95); padding:24px 0; box-shadow:0 18px 40px rgba(14,26,51,.12); }
@media (max-width:1024px){ .ekm-pillars{ position:relative; right:auto; bottom:auto; width:auto; margin:64px var(--ekm-padx) 96px; padding-top:40px; border-top:1px solid var(--ekm-line); } body.ekm-lite .ekm-pillars{ background:none; box-shadow:none; padding:40px 0 0; } }
@media (max-width:767px){ .ekm-pillars{ margin:40px var(--ekm-padx) 104px; padding-top:28px; } .ekm-pillars small{ display:none; } .ekm-pillars > div{ padding:0 6px; gap:10px; } .ekm-pillars b{ font-size:12px; } .ekm-pillars .ekm-ring{ width:44px; height:44px; } }

/* 11. Approach step line (Home / Services) */
.e-con.ekm-flowsteps{ position:relative; }
@media (min-width:1025px){ .e-con.ekm-flowsteps::before{ content:""; position:absolute; top:26px; left:26px; right:calc(20% - 26px); height:1px; background:var(--ekm-line); } }
@media (max-width:1024px){ .e-con.ekm-flowsteps::before{ content:""; position:absolute; top:26px; bottom:26px; left:26px; width:1px; background:var(--ekm-line); } .e-con.ekm-step{ display:grid !important; grid-template-columns:52px 1fr; column-gap:24px !important; } .e-con.ekm-step > :not(:first-child){ grid-column:2; } }
.e-con.ekm-step{ position:relative; z-index:1; display:flex !important; flex-direction:column !important; gap:16px !important; }

/* 12. CTA (always dark) */
.e-con.ekm-cta{ position:relative; overflow:hidden; background:#070A12 url(/wp-content/uploads/ekm/cta-desktop.webp) center / cover no-repeat; color:#F4EFE6; padding:144px var(--ekm-padx) 96px !important; display:flex !important; flex-direction:column !important; gap:28px !important; align-items:flex-start; }
.e-con.ekm-cta::before{ content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg, rgba(7,10,18,.95) 0%, rgba(7,10,18,.86) 32%, rgba(7,10,18,.45) 58%, rgba(7,10,18,.12) 100%), linear-gradient(0deg, rgba(7,10,18,.9) 0%, rgba(7,10,18,0) 32%); }
.e-con.ekm-cta > *{ position:relative; z-index:1; }
.ekm-cta .ekm-eyebrow .elementor-heading-title, .ekm-cta .ekm-label .elementor-heading-title{ color:#D6B672; }
.ekm-cta .ekm-body-l, .ekm-cta .ekm-body-l p{ color:#C9CEDA; max-width:520px; }
.e-con.ekm-cta-strip{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; margin-top:44px; border-top:1px solid rgba(201,165,92,.32); gap:0 !important; }
.e-con.ekm-cta-strip > .e-con{ padding:32px 32px 0 0 !important; display:flex !important; flex-direction:column !important; gap:12px !important; }
.e-con.ekm-cta-strip > .e-con + .e-con{ padding-left:32px !important; border-left:1px solid rgba(201,165,92,.32); }
.ekm-cta-mail .elementor-heading-title, .ekm-cta-mail .elementor-heading-title a{ font:600 22px/1.3 'Source Serif 4',serif; color:#F4EFE6 !important; text-decoration:none; }
.ekm-cta-addr, .ekm-cta-addr p, .ekm-cta-addr a{ font-size:16px; line-height:1.6; color:#E9E4DA !important; text-decoration:none; }
@media (max-width:1024px){ .e-con.ekm-cta{ background-image:url(/wp-content/uploads/ekm/cta-tablet.webp); padding:120px var(--ekm-padx) 80px !important; } .e-con.ekm-cta::before{ background:linear-gradient(180deg, rgba(7,10,18,.9) 0%, rgba(7,10,18,.72) 42%, rgba(7,10,18,.55) 62%, rgba(7,10,18,.94) 100%), linear-gradient(90deg, rgba(7,10,18,.6) 0%, rgba(7,10,18,0) 70%); } }
@media (max-width:767px){ .e-con.ekm-cta{ background-image:url(/wp-content/uploads/ekm/cta-mobile.webp); background-position:30% center; padding:104px var(--ekm-padx) 64px !important; } .e-con.ekm-cta::before{ background:linear-gradient(180deg, rgba(7,10,18,.9) 0%, rgba(7,10,18,.78) 45%, rgba(7,10,18,.7) 65%, rgba(7,10,18,.96) 100%); } .e-con.ekm-cta-strip{ grid-template-columns:1fr; } .e-con.ekm-cta-strip > .e-con, .e-con.ekm-cta-strip > .e-con + .e-con{ padding:28px 0 !important; border-left:0; border-top:1px solid rgba(244,239,230,.1); } }

/* 13. Footer (always dark) */
.e-con.ekm-footer{ position:relative; overflow:hidden; background:#05070D; color:#F4EFE6; padding:96px var(--ekm-padx) 40px !important; display:flex !important; flex-direction:column !important; gap:0 !important; }
.e-con.ekm-footer::before{ content:""; position:absolute; left:0; bottom:0; width:62%; aspect-ratio:1671/941; background:url(/wp-content/uploads/ekm/footer-globe-transparent.webp) left bottom / contain no-repeat; opacity:.42; pointer-events:none; }
.e-con.ekm-footer::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,7,13,.55) 0%, rgba(5,7,13,.15) 55%, rgba(5,7,13,.35) 100%); pointer-events:none; }
.e-con.ekm-footer > *{ position:relative; z-index:1; }
.e-con.ekm-ft-grid{ display:grid !important; grid-template-columns:2fr 1fr 1.2fr; gap:64px !important; }
.e-con.ekm-ft-grid > .e-con{ display:flex !important; flex-direction:column !important; gap:14px !important; align-items:flex-start; }
.ekm-footer .ekm-label .elementor-heading-title{ font-size:12px; letter-spacing:.24em; color:#D6B672; }
.ekm-ft-tag .elementor-heading-title{ font:700 13px/1.4 'Source Serif 4',serif; letter-spacing:.22em; color:#D6B672; margin-top:10px; }
.ekm-ft-links p{ display:flex; flex-direction:column; gap:14px; } .ekm-ft-links a{ font-size:15px; line-height:1.6; color:#E9E4DA !important; text-decoration:none; } .ekm-ft-links a:hover{ color:#D6B672 !important; }
.e-con.ekm-ft-disc{ display:grid !important; grid-template-columns:260px 1fr; gap:48px !important; margin-top:72px; padding-top:32px !important; border-top:1px solid rgba(201,165,92,.32); }
.ekm-ft-disc .ekm-small p{ font-size:14px; line-height:1.65; color:#B9BFCC; }
.e-con.ekm-ft-bar{ display:flex !important; flex-direction:row !important; flex-wrap:wrap; justify-content:space-between; gap:12px !important; margin-top:48px; padding-top:24px !important; border-top:1px solid rgba(244,239,230,.1); }
.ekm-ft-bar p{ font-size:13px; color:#B9BFCC; }
@media (max-width:1024px){ .e-con.ekm-footer{ padding:80px var(--ekm-padx) 40px !important; } .e-con.ekm-footer::before{ width:90%; } .e-con.ekm-ft-grid{ grid-template-columns:1.4fr 1fr 1.2fr; gap:40px !important; } .e-con.ekm-ft-disc{ grid-template-columns:1fr; gap:16px !important; margin-top:56px; } }
@media (max-width:767px){ .e-con.ekm-footer{ padding:64px var(--ekm-padx) 32px !important; } .e-con.ekm-footer::before{ width:160%; } .e-con.ekm-ft-grid{ grid-template-columns:1fr; } .e-con.ekm-ft-disc{ margin-top:48px; } }

/* 14. Contact page: form, info card, map */
.ekm-form .elementor-field-group{ margin-bottom:24px; }
.ekm-form .elementor-field-label{ font:700 12px/1.4 'Hanken Grotesk',sans-serif !important; letter-spacing:.18em; text-transform:uppercase; color:var(--ekm-ink) !important; margin-bottom:10px; }
.ekm-form .elementor-field-textual, .ekm-form select.elementor-field{ min-height:56px; padding:0 18px !important; background:var(--ekm-bg) !important; color:var(--ekm-ink) !important; border:0 !important; border-radius:0 !important; box-shadow:inset 0 0 0 1px var(--ekm-line); font:400 16px 'Hanken Grotesk',sans-serif !important; transition:box-shadow .25s ease; }
.ekm-form textarea.elementor-field-textual{ padding:16px 18px !important; min-height:168px; }
.ekm-form .elementor-field-textual:focus, .ekm-form select.elementor-field:focus{ box-shadow:inset 0 0 0 1px #C9A55C, 0 0 0 4px rgba(201,165,92,.14); outline:none; }
.ekm-form .elementor-field-textual::placeholder{ color:var(--ekm-muted); opacity:.75; }
.ekm-form .elementor-select-wrapper .select-caret-down-wrapper{ color:var(--ekm-gold-text); }
.ekm-form .elementor-field-type-acceptance label{ font-size:14px; line-height:1.6; color:var(--ekm-muted); }
.ekm-form .elementor-field-type-acceptance input{ accent-color:#C9A55C; width:20px; height:20px; }
.ekm-form .elementor-button{ height:56px; padding:0 28px; border-radius:0; background:#C9A55C !important; color:#0B1428 !important; font:700 13px/1 'Hanken Grotesk',sans-serif !important; letter-spacing:.16em; text-transform:uppercase; transition:transform .35s var(--ekm-ease), box-shadow .35s ease, background .35s ease; }
.ekm-form .elementor-button:hover{ transform:translateY(-3px); background:linear-gradient(135deg,#EBD39C 0%,#C9A55C 55%,#B08A42 100%) !important; box-shadow:0 0 0 1px rgba(235,211,156,.9), 0 14px 34px rgba(201,165,92,.45); }
.ekm-form .elementor-message{ color:var(--ekm-ink); } .ekm-form .elementor-message-danger, .ekm-form .elementor-error .elementor-field{ color:#D0705A; }
.ekm-info{ display:flex; flex-direction:column; }
.ekm-info a, .ekm-info > div{ display:grid; grid-template-columns:52px 1fr; gap:18px; align-items:start; padding:20px 0; border-bottom:1px solid var(--ekm-hair); text-decoration:none; color:var(--ekm-ink) !important; }
.ekm-info .ekm-ring{ width:52px; height:52px; } .ekm-info a:hover .ekm-ring{ background:#C9A55C; color:#0B1428; }
.ekm-info small{ display:block; font:700 11px/1.4 'Hanken Grotesk',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--ekm-gold-text); margin-bottom:6px; }
.ekm-info strong{ display:block; font-weight:500; font-size:18px; line-height:1.45; } .ekm-info em{ display:block; font-style:normal; font-size:14px; color:var(--ekm-muted); margin-top:4px; }
.e-con.ekm-map{ position:relative; padding:0 !important; background:var(--ekm-alt); box-shadow:inset 0 1px 0 var(--ekm-hair); }
.ekm-map__frame{ position:relative; height:560px; overflow:hidden; }
.ekm-map__frame iframe{ width:100%; height:100%; border:0; display:block; filter:grayscale(1) invert(.92) hue-rotate(180deg) contrast(.88) brightness(.82); }
body.ekm-lite .ekm-map__frame iframe{ filter:grayscale(1) contrast(1.05) brightness(1.02); }
.ekm-map__frame::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg, rgba(7,10,18,.6) 0%, rgba(7,10,18,0) 50%), rgba(201,165,92,.06); }
body.ekm-lite .ekm-map__frame::after{ background:linear-gradient(90deg, rgba(247,244,238,.55) 0%, rgba(247,244,238,0) 45%); }
.e-con.ekm-map__card{ position:absolute !important; left:var(--ekm-padx); top:50%; transform:translateY(-50%); width:460px; z-index:2; }
@media (max-width:1024px){ .ekm-map__frame{ height:480px; } .e-con.ekm-map__card{ width:420px; } }
@media (max-width:767px){ .ekm-map__frame{ height:380px; } .e-con.ekm-map__card{ position:relative !important; left:auto; top:auto; transform:none; width:auto; margin:-48px 20px 56px; } }

/* 15. Thank You */
.e-con.ekm-ty{ position:relative; overflow:hidden; min-height:820px; display:flex !important; flex-direction:column !important; align-items:center; justify-content:center; text-align:center; gap:0 !important; padding:180px var(--ekm-padx) 120px !important; background:var(--ekm-hero-bg); }
.e-con.ekm-ty::before, .e-con.ekm-ty::after{ content:""; position:absolute; left:50%; top:50%; border-radius:50%; pointer-events:none; transform:translate(-50%,-50%); }
.e-con.ekm-ty::before{ width:760px; height:760px; box-shadow:inset 0 0 0 1px var(--ekm-hair); } .e-con.ekm-ty::after{ width:560px; height:560px; border:1px dashed var(--ekm-line); }
.e-con.ekm-ty > *{ position:relative; z-index:2; max-width:720px; }
.ekm-ty .ekm-eyebrow{ margin-bottom:24px; } .ekm-ty .ekm-h1{ margin-bottom:28px; } .ekm-ty .ekm-body-l p{ max-width:600px; margin:0 auto; }
.ekm-check{ width:88px; height:88px; border-radius:50%; display:grid; place-items:center; margin:0 auto 24px; background:rgba(201,165,92,.1); box-shadow:inset 0 0 0 1px #C9A55C, 0 0 0 10px rgba(201,165,92,.06), 0 0 48px rgba(201,165,92,.22); }
@media (max-width:1024px){ .e-con.ekm-ty{ min-height:900px; padding:160px var(--ekm-padx) 112px !important; } .e-con.ekm-ty::before{ width:640px; height:640px; } .e-con.ekm-ty::after{ width:480px; height:480px; } }
@media (max-width:767px){ .e-con.ekm-ty{ min-height:760px; padding:140px var(--ekm-padx) 96px !important; } .e-con.ekm-ty::before{ width:420px; height:420px; } .e-con.ekm-ty::after{ width:320px; height:320px; } }

/* 16. Scroll reveal */
.ekm-js .ekm-reveal{ opacity:0; transform:translateY(40px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.ekm-js .ekm-reveal.is-in{ opacity:1; transform:none; }
.elementor-editor-active .ekm-reveal{ opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion:reduce){ .ekm-js .ekm-reveal{ opacity:1; transform:none; transition:none; } }

/* 17. Floating WhatsApp */
.ekm-wa{ position:fixed; right:28px; bottom:28px; z-index:9999; display:flex; align-items:center; justify-content:flex-end; height:56px; width:56px; border-radius:28px; background:#C9A55C; text-decoration:none; box-shadow:0 12px 32px rgba(0,0,0,.35); transition:width .45s var(--ekm-ease), background .3s ease, box-shadow .3s ease, transform .3s ease; }
.ekm-wa__ring{ position:absolute; right:0; top:0; width:56px; height:56px; border-radius:50%; box-shadow:0 0 0 2px rgba(201,165,92,.8); animation:ekmPulse 2.4s cubic-bezier(.2,.7,.2,1) infinite; pointer-events:none; }
.ekm-wa__label{ flex:1; overflow:hidden; white-space:nowrap; padding-left:22px; font:700 13px/1 'Hanken Grotesk',sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#0B1428; opacity:0; transition:opacity .25s ease; }
.ekm-wa__icon{ flex:none; width:56px; height:56px; display:grid; place-items:center; transition:transform .45s var(--ekm-ease); }
.ekm-wa:hover, .ekm-wa:focus-visible{ width:206px; transform:translateY(-3px); background:linear-gradient(135deg,#EBD39C 0%,#C9A55C 55%,#B08A42 100%); box-shadow:0 0 0 1px rgba(235,211,156,.9), 0 0 0 6px rgba(201,165,92,.18), 0 16px 40px rgba(0,0,0,.4), 0 0 56px rgba(201,165,92,.45); }
.ekm-wa:hover .ekm-wa__label, .ekm-wa:focus-visible .ekm-wa__label{ opacity:1; transition-delay:.15s; }
.ekm-wa:hover .ekm-wa__icon{ transform:rotate(-12deg); } .ekm-wa:hover .ekm-wa__ring{ animation:none; opacity:0; }
@keyframes ekmPulse{ 0%{ transform:scale(1); opacity:.55; } 70%{ transform:scale(1.55); opacity:0; } 100%{ transform:scale(1.55); opacity:0; } }
@media (max-width:1024px){ .ekm-wa{ right:24px; bottom:24px; } }
@media (max-width:767px){ .ekm-wa{ right:16px; bottom:16px; } .ekm-wa:hover{ width:56px; } .ekm-wa__label{ display:none; } }

/* 18. Focus */
.ekm-x :focus-visible, .ekm-sec :focus-visible, .ekm-header :focus-visible{ outline:2px solid #C9A55C; outline-offset:3px; }

/* 19. Extras */
.ekm-n{ font:600 20px/1 'Source Serif 4',Georgia,serif; letter-spacing:.08em; color:var(--ekm-gold-text); }
.ekm-kick{ display:flex; align-items:center; gap:16px; font:700 12px/1 'Hanken Grotesk',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--ekm-gold-text); }
.ekm-kick b{ font:600 64px/1 'Source Serif 4',Georgia,serif; letter-spacing:0; } .ekm-kick i{ width:40px; height:1px; background:var(--ekm-line); }
@media (max-width:1024px){ .ekm-kick b{ font-size:56px; } } @media (max-width:767px){ .ekm-kick b{ font-size:44px; } }
.ekm-rows > div{ display:grid; grid-template-columns:220px 1fr; gap:6px 24px; padding:20px 0; border-bottom:1px solid var(--ekm-hair); }
.ekm-rows b{ font:700 19px/1.3 'Source Serif 4',serif; color:var(--ekm-ink); } .ekm-rows span{ font-size:16px; line-height:1.6; color:var(--ekm-muted); }
@media (max-width:767px){ .ekm-rows > div{ grid-template-columns:1fr; } }
.ekm-vals p{ display:flex; flex-wrap:wrap; gap:12px 28px; } .ekm-vals span{ font:600 18px/1.3 'Source Serif 4',serif; color:var(--ekm-ink); }
.e-con.ekm-band{ padding:32px 40px !important; box-shadow:inset 0 0 0 1px var(--ekm-line); gap:16px 48px !important; }
@media (max-width:767px){ .e-con.ekm-band{ padding:24px 20px !important; } .e-con.ekm-band.ekm-row{ flex-direction:column !important; align-items:flex-start; } }
.e-con.ekm-sblock{ gap:var(--ekm-block) !important; } .e-con.ekm-top{ align-items:start !important; }
.e-con.ekm-divb{ padding-bottom:24px !important; border-bottom:1px solid var(--ekm-line); width:100%; }
.ekm-emblem img, img.ekm-emblem{ width:200px; height:200px; border-radius:50%; display:block; margin-top:16px; box-shadow:0 0 0 6px var(--ekm-alt), 0 0 0 7px var(--ekm-line), 0 24px 60px rgba(7,10,18,.35); }
@media (max-width:1024px){ img.ekm-emblem{ width:160px; height:160px; } } @media (max-width:767px){ img.ekm-emblem{ width:128px; height:128px; } }
.ekm-mode{ color:var(--ekm-gold-text); }
.e-con.ekm-pb40{ padding-bottom:40px !important; } .e-con.ekm-w100{ width:100%; }/* End custom CSS */