/*
 * Dark Editorial skin for Hello Elementor
 * Original layout system inspired by the supplied reference screenshot.
 */
:root{
  --de-bg:#000;
  --de-surface:#0b0b0b;
  --de-text:#fff;
  --de-muted:#b7b7b7;
  --de-dim:#8e8e8e;
  --de-line:#252525;
  --de-max:1120px;
  --de-reading:760px;
  --de-display:'Poppins', sans-serif;
  --de-body:'Poppins', sans-serif;
  --de-serif:Georgia, 'Times New Roman', serif;
}
html{background:var(--de-bg)}
body.dark-editorial,
body.dark-editorial #page,
body.dark-editorial main,
body.dark-editorial .site-main{background:var(--de-bg);color:var(--de-text)}
body.dark-editorial{font-family:Poppins, sans-serif;font-size:18px;line-height:27px;color:rgb(232,232,232)}
body.dark-editorial a{color:inherit}
body.dark-editorial a:hover{text-decoration:underline;text-underline-offset:3px}
.de-wrap{width:min(calc(100% - 44px),var(--de-max));margin-inline:auto}
.de-header{padding:10px 0 0;background:#000}
.de-nav{display:flex;align-items:center;justify-content:space-between;min-height:42px}
.de-brand{display:inline-flex;align-items:center;gap:8px;font-size:20px;font-weight:700;letter-spacing:-.08em;text-decoration:none}
.de-brand img{width:auto;max-height:28px}
.de-brand-fallback{opacity:.95}
.de-top-link{font-size:11px;color:#eee;text-decoration:none}
.de-menu{display:none;border-top:1px solid var(--de-line);padding-top:12px;padding-bottom:12px}
.de-menu-list{display:flex;gap:22px;align-items:center;margin:0;padding:0;list-style:none;font-size:11px}
.de-menu-list a{text-decoration:none;color:#fff}
.de-menu-list a:hover{text-decoration:underline}

.de-top-link:hover{text-decoration:underline}
.de-mobile-toggle{display:none;border:1px solid #303030;background:#090909;color:#fff;border-radius:4px;padding:7px 9px}
.de-section{text-align:center;padding:72px 0 0}
.de-kicker{margin:0 0 8px;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.48em;color:#bdbdbd}
.de-hero h1{max-width:680px;margin:0 auto;font-family:var(--de-display);font-weight:800;font-size:clamp(46px,6.2vw,78px);line-height:.98;letter-spacing:-.075em}
.de-hero-copy{max-width:560px;margin:18px auto 0;color:#e2e2e2;font-size:15px;line-height:1.45}
.de-inline-cta{display:inline-block;margin-top:19px;font-weight:700;font-size:11px;text-decoration:none}
.de-inline-cta::before{content:'↗';margin-right:5px}
.de-resources{padding-top:93px}
.de-section-title{max-width:780px;margin-inline:auto}
.de-section-title h2{margin:0;font-size:clamp(34px,4.5vw,58px);line-height:1;letter-spacing:-.065em;font-weight:800}
.de-section-title p{margin:6px 0 0;color:#c6c6c6;font-size:14px}
.de-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;margin-top:42px;text-align:left}
.de-resource-card{display:flex;flex-direction:column;min-width:0}
.de-resource-media{aspect-ratio:16/9;background:#111;overflow:hidden;border-radius:2px;display:flex;align-items:center;justify-content:center}
.de-resource-media img{width:100%;height:100%;object-fit:cover;display:block}
.de-resource-placeholder{width:76%;height:44%;background:#f1f1f1;color:#111;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:800;letter-spacing:-.04em;text-align:center;padding:16px}
.de-resource-card h3{margin:12px 0 2px;font-size:18px;line-height:1.12;letter-spacing:-.045em;font-weight:800}
.de-resource-card p{margin:0;color:#c9c9c9;font-size:13px;line-height:1.45}
.de-resource-link{margin-top:9px;font-size:11px;font-weight:700;text-decoration:none}
.de-blog{padding-top:104px}
.de-blog-head{margin-bottom:38px}
.de-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;text-align:left}
.de-post-card{min-width:0;padding-bottom:24px;border-bottom:1px solid var(--de-line)}
.de-post-thumb{display:block;aspect-ratio:16/10;background:#efefef;overflow:hidden;margin-bottom:17px}
.de-post-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.de-post-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#111;font-size:42px;font-weight:800;letter-spacing:-.06em}
.de-post-card h3{margin:0 0 8px;font-size:18px;line-height:1.05;letter-spacing:-.045em;font-weight:800}
.de-post-card p{margin:0;color:#c1c1c1;font-size:13px;line-height:1.42}
.de-post-meta{margin-top:12px;color:#8f8f8f;font-size:9px;letter-spacing:.06em}
.de-read{display:inline-block;margin-top:10px;font-size:10px;font-weight:700;font-style:italic}
.de-load-more{display:inline-block;margin-top:33px;border:1px solid #686868;padding:9px 18px;font-size:10px;color:#fff;text-decoration:none}
.de-about{padding-top:100px}
.de-about-grid{display:grid;grid-template-columns:190px 1fr;gap:50px;align-items:center;max-width:920px;margin:45px auto 0;text-align:left}
.de-avatar{width:170px;height:170px;border-radius:50%;overflow:hidden;background:#fff;margin-inline:auto}
.de-avatar img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%)}
.de-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#111;font-size:28px;font-weight:800}
.de-about-copy h3{margin:0 0 8px;font-size:19px;letter-spacing:-.04em}
.de-about-copy p{margin:0 0 10px;color:#d0d0d0;font-size:13px;line-height:1.5}
.de-socials{display:flex;gap:12px;margin-top:12px;font-size:11px}
.de-footer{padding:90px 0 22px}
.de-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;text-align:left}
.de-footer-col h3{margin:0 0 8px;font-size:18px;line-height:1.1;letter-spacing:-.04em}
.de-footer-col p{margin:0;max-width:430px;color:#c9c9c9;font-size:13px;line-height:1.45}
.de-footer-cta{display:inline-block;margin-top:16px;font-size:11px;font-weight:700}
.de-footer-brand{display:inline-block;margin-bottom:12px;font-size:22px;font-weight:700;letter-spacing:-.08em}
.de-footer-socials{display:flex;gap:12px;margin-top:16px;font-size:11px}
.de-copyright{text-align:center;color:#6f6f6f;font-size:10px;padding-top:62px}

/* Blog archive */
.de-archive{padding:82px 0 70px}
.de-archive-head{text-align:center;max-width:760px;margin:0 auto 50px}
.de-archive-head h1{margin:0;font-size:clamp(44px,6vw,68px);line-height:1;letter-spacing:-.07em;font-weight:800}
.de-archive-head p{color:#bfbfbf;margin:12px auto 0;max-width:620px}
.de-empty{text-align:center;color:#aaa;padding:60px 0}

/* Single article */
.de-article{padding:75px 0 90px}
.de-article-head{text-align:center;max-width:960px;margin:0 auto}
.de-article-meta{color:#898989;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.de-article-title{margin:14px auto 15px;max-width:920px;font-family:var(--de-display);font-size:clamp(44px,6.7vw,84px);line-height:.98;letter-spacing:-.075em;font-weight:800}
.de-article-excerpt{max-width:710px;margin:0 auto;color:#c7c7c7;font-size:16px;line-height:1.45}
.de-article-cover{width:100%;max-height:650px;object-fit:cover;display:block;margin:48px auto 45px;background:#111}
.de-article-body{width:min(100%,var(--de-reading));margin-inline:auto;font-family:var(--de-serif);font-size:20px;line-height:1.72;color:#eee}
.de-article-body h2,.de-article-body h3,.de-article-body h4{font-family:var(--de-display);color:#fff;line-height:1.08;letter-spacing:-.045em}
.de-article-body h2{font-size:36px;margin:58px 0 18px}
.de-article-body h3{font-size:28px;margin:42px 0 14px}
.de-article-body p{margin:0 0 1.25em}
.de-article-body a{color:#fff;text-decoration:underline}
.de-article-body blockquote{border-left:2px solid #fff;margin:34px 0;padding:4px 0 4px 24px;font-size:25px;line-height:1.35}
.de-article-body img{max-width:100%;height:auto;display:block;margin:28px auto}
.de-article-body pre{background:#0b0b0b;color:#fff;border:1px solid #292929;padding:18px;overflow:auto;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.5}
.de-article-footer{width:min(100%,var(--de-reading));margin:50px auto 0;border-top:1px solid var(--de-line);padding-top:24px;color:#aaa;font-size:11px}
.de-tags{margin-top:12px;display:flex;gap:7px;flex-wrap:wrap}
.de-tag{border:1px solid #333;padding:5px 9px}

/* Elementor compatibility: preserve its content area but keep the global dark canvas */
body.dark-editorial .elementor{color:var(--de-text)}
body.dark-editorial .elementor a{color:inherit}

@media (max-width: 980px){
  .de-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .de-about-grid{grid-template-columns:160px 1fr;gap:30px}
}
@media (max-width: 700px){
  .de-wrap{width:min(calc(100% - 28px),var(--de-max))}
  .de-header{padding-top:8px}
  .de-mobile-toggle{display:block}
  .de-menu.is-open{display:block}
  .de-menu-list{flex-direction:column;align-items:flex-start;gap:12px}
  .de-nav{min-height:38px}
  .de-top-link{font-size:10px}
  .de-section{padding-top:58px}
  .de-hero h1{font-size:clamp(44px,13vw,62px)}
  .de-hero-copy{font-size:14px}
  .de-resources,.de-blog,.de-about{padding-top:74px}
  .de-resource-grid,.de-post-grid,.de-footer-grid{grid-template-columns:1fr;gap:24px}
  .de-resource-media{aspect-ratio:16/10}
  .de-resource-card h3{font-size:20px}
  .de-post-card h3{font-size:21px}
  .de-about-grid{grid-template-columns:1fr;gap:25px;text-align:center}
  .de-avatar{width:150px;height:150px}
  .de-socials{justify-content:center}
  .de-footer-grid{text-align:left;gap:34px}
  .de-article{padding-top:58px}
  .de-article-title{font-size:clamp(43px,12vw,58px)}
  .de-article-excerpt{font-size:15px}
  .de-article-body{font-size:18px;line-height:1.68}
  .de-article-body h2{font-size:31px}
  .de-article-body h3{font-size:25px}
}


/* Typography extracted from the supplied live-page diagnostics */
body.dark-editorial,
body.dark-editorial .elementor,
body.dark-editorial .elementor-widget-text-editor,
body.dark-editorial .elementor-widget-heading,
body.dark-editorial .elementor-widget-icon-list,
body.dark-editorial .elementor-widget-call-to-action{
  font-family:Poppins,sans-serif;
  color:rgb(232,232,232);
}

body.dark-editorial h2,
body.dark-editorial .elementor h2{
  font-family:Poppins,sans-serif;
  font-size:39px;
  font-weight:900;
  line-height:46.8px;
  letter-spacing:-1.1px;
  color:rgb(239,239,239);
}

body.dark-editorial h5,
body.dark-editorial .elementor h5{
  font-family:Montserrat,sans-serif;
  font-size:18px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:12px;
  text-transform:uppercase;
  color:#efefef;
}

body.dark-editorial p,
body.dark-editorial .elementor p{
  font-family:Poppins,sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:27px;
  color:rgb(232,232,232);
}

body.dark-editorial a,
body.dark-editorial .elementor a{
  font-family:Poppins,sans-serif;
}

body.dark-editorial button,
body.dark-editorial input[type="button"],
body.dark-editorial input[type="submit"],
body.dark-editorial .elementor-button{
  font-family:Poppins,sans-serif;
  font-size:15px;
  font-weight:600;
  color:#fff;
}

body.dark-editorial .elementor-button{
  background:#fff;
  color:#000;
  border:1px solid #fff;
}

body.dark-editorial .elementor-button:hover,
body.dark-editorial .elementor-button:focus{
  background:#e8e8e8;
  color:#000;
  border-color:#e8e8e8;
}

body.dark-editorial .de-kicker,
body.dark-editorial .de-section-title .de-kicker{
  font-family:Montserrat,sans-serif;
}

body.dark-editorial .de-hero h1,
body.dark-editorial .de-section-title h2,
body.dark-editorial .de-post-card h3,
body.dark-editorial .de-resource-card h3,
body.dark-editorial .de-footer-col h3{
  font-family:Poppins,sans-serif;
}

/* Preserve the reference page's black / high-contrast palette. */
body.dark-editorial,
body.dark-editorial #page,
body.dark-editorial main,
body.dark-editorial .site-main,
body.dark-editorial .elementor{
  background:#000;
}

body.dark-editorial .de-section-title p,
body.dark-editorial .de-hero-copy,
body.dark-editorial .de-resource-card p,
body.dark-editorial .de-post-card p,
body.dark-editorial .de-about-copy p,
body.dark-editorial .de-footer-col p{
  color:rgb(232,232,232);
}

body.dark-editorial .elementor input,
body.dark-editorial .elementor textarea,
body.dark-editorial .elementor select{
  font-family:Poppins,sans-serif;
  color:#fff;
  background:#080808;
  border-color:#333;
}

body.dark-editorial .elementor input::placeholder,
body.dark-editorial .elementor textarea::placeholder{
  color:#aaa;
}


/* V4.2 Exact typography and colour system */
:root{
  --bg:rgb(0, 0, 0);
}

/* Base */
html,
body.dark-editorial,
body.dark-editorial #page,
body.dark-editorial main,
body.dark-editorial .site-main{
  background:var(--bg);
}

body.dark-editorial{
  font-family:Poppins,sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:27px;
  letter-spacing:normal;
  text-transform:none;
  color:rgb(232,232,232);
  text-align:start;
}

/* Headings */
body.dark-editorial h2,
body.dark-editorial .elementor h2,
body.dark-editorial .elementor-widget-heading h2{
  font-family:Poppins,sans-serif;
  font-size:39px;
  font-weight:900;
  line-height:46.8px;
  letter-spacing:-1.1px;
  text-transform:none;
  color:rgb(239,239,239);
  text-align:center;
}

body.dark-editorial h3,
body.dark-editorial .elementor h3,
body.dark-editorial .elementor-widget-heading h3{
  font-family:Poppins,sans-serif;
  font-size:24px;
  font-weight:900;
  line-height:24px;
  letter-spacing:-0.6px;
  text-transform:none;
  color:rgb(255,255,255);
  text-align:start;
}

body.dark-editorial h4,
body.dark-editorial .elementor h4,
body.dark-editorial .elementor-widget-heading h4{
  font-family:Poppins,sans-serif;
  font-size:22px;
  font-weight:800;
  line-height:24.2px;
  letter-spacing:normal;
  text-transform:none;
  color:rgb(255,255,255);
  text-align:start;
}

body.dark-editorial h5,
body.dark-editorial .elementor h5,
body.dark-editorial .elementor-widget-heading h5{
  font-family:Montserrat,sans-serif;
  font-size:18px;
  font-weight:300;
  line-height:18px;
  letter-spacing:12px;
  text-transform:uppercase;
  color:rgb(255,255,255);
  text-align:center;
}

/* Paragraphs */
body.dark-editorial p,
body.dark-editorial .elementor p,
body.dark-editorial .elementor-widget-text-editor p{
  font-family:Poppins,sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:25.2px;
  letter-spacing:normal;
  text-transform:none;
  color:rgb(232,232,232);
  text-align:center;
}

/* Links */
body.dark-editorial a,
body.dark-editorial .elementor a,
body.dark-editorial .elementor-widget-text-editor a{
  font-family:Poppins,sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:27px;
  letter-spacing:normal;
  text-transform:none;
  color:rgba(232,232,232,0.65);
  text-align:start;
}

/* Buttons */
body.dark-editorial .elementor-button,
body.dark-editorial a.elementor-button,
body.dark-editorial button.elementor-button,
body.dark-editorial input.elementor-button{
  font-family:Poppins,sans-serif;
  font-size:15px;
  font-weight:600;
  line-height:15px;
  letter-spacing:normal;
  text-transform:none;
  color:rgb(255,255,255);
  text-align:center;
}

/* Keep the bespoke homepage sections centred where the reference layout calls for it,
   while retaining the requested base styles globally. */
body.dark-editorial .de-hero-copy,
body.dark-editorial .de-section-title p,
body.dark-editorial .de-blog-head p,
body.dark-editorial .de-about-copy p{
  font-family:Poppins,sans-serif;
}

/* Mobile: keep the requested typography, but prevent overflow from the wide h5 spacing. */
@media (max-width:700px){
  body.dark-editorial h2,
  body.dark-editorial .elementor h2{
    font-size:34px;
    line-height:40.8px;
  }

  body.dark-editorial h3,
  body.dark-editorial .elementor h3{
    font-size:24px;
    line-height:24px;
  }

  body.dark-editorial h4,
  body.dark-editorial .elementor h4{
    font-size:22px;
    line-height:24.2px;
  }

  body.dark-editorial h5,
  body.dark-editorial .elementor h5{
    font-size:15px;
    line-height:18px;
    letter-spacing:7px;
  }
}
