/* ArtinTech Elements — component styles ported from the agency design system */

:root{
  --at-lime:#c8f31d;
  --at-lime-dark:#a9d600;
  --at-black:#0d0d0d;
  --at-ink:#121212;
  --at-dark-2:#191919;
  --at-gray-500:#6f716f;
  --at-gray-300:#c9cbc9;
  --at-gray-100:#f1f2f3;
  --at-white:#ffffff;
  --at-muted:#5c5f5c;
  --at-muted-dark:#9c9e9c;
  --at-border:#e2e3e1;
  --at-border-dark:rgba(255,255,255,.08);
  --at-font-display:'Space Grotesk','DM Sans',sans-serif;
  --at-font-body:'DM Sans',sans-serif;
  --at-radius-md:16px;
  --at-radius-lg:28px;
  --at-ease:cubic-bezier(.65,0,.35,1);
}

.at-widget{ font-family:var(--at-font-body); }
.at-widget h2,.at-widget h3,.at-widget h4{ font-family:var(--at-font-display); line-height:1.05; letter-spacing:-.01em; margin:0; }

/* ============ MARQUEE ============ */
.at-marquee-wrap{ overflow:hidden; border-top:1px solid var(--at-border); border-bottom:1px solid var(--at-border); padding-block:34px; }
.at-marquee{ display:flex; width:max-content; will-change:transform; animation:at-marquee-scroll linear infinite; }
.at-marquee-wrap:hover .at-marquee{ animation-play-state:paused; }
.at-marquee span{
  display:flex; align-items:center; font-family:var(--at-font-display); font-weight:700;
  font-size:22px; text-transform:uppercase; color:var(--at-gray-500); white-space:nowrap;
}
@keyframes at-marquee-scroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion:reduce){ .at-marquee{ animation:none; } }

/* ============ SERVICE ROWS ============ */
.at-service-row{
  display:grid; grid-template-columns:70px 1fr 1.3fr 88px; gap:32px; align-items:center;
  padding:38px 0; border-bottom:1px solid var(--at-border);
  transition:background .35s var(--at-ease), padding-inline .35s var(--at-ease);
  text-decoration:none; color:inherit;
}
.at-service-row:first-of-type{ border-top:1px solid var(--at-border); }
.at-service-row:hover{ background:var(--at-gray-100); padding-inline:20px; }
.at-service-row .at-num{ font-family:var(--at-font-display); font-size:20px; font-weight:700; color:var(--at-muted); }
.at-service-row h3{ font-size:clamp(22px,2.4vw,30px); text-transform:uppercase; color:var(--at-ink); }
.at-service-row p{ color:var(--at-muted); font-size:15px; margin:0; }
.at-service-row ul{ display:flex; flex-direction:column; gap:6px; margin:12px 0 0; padding:0; list-style:none; }
.at-service-row ul li{ font-size:14px; color:var(--at-muted); position:relative; padding-left:18px; }
.at-service-row ul li::before{ content:'+'; position:absolute; left:0; color:var(--at-black); font-weight:700; }
.at-service-row .at-icon-circle{ margin-left:auto; }
.at-icon-circle{
  width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid var(--at-border); color:var(--at-black); flex-shrink:0;
}
.at-icon-circle svg{ width:26px; height:26px; }
.at-service-row:hover .at-icon-circle{ background:var(--at-lime); border-color:var(--at-lime); }
.at-rows--dark .at-service-row{ border-color:var(--at-border-dark); }
.at-rows--dark .at-service-row h3{ color:var(--at-white); }
.at-rows--dark .at-service-row p,.at-rows--dark .at-service-row ul li{ color:var(--at-muted-dark); }
.at-rows--dark .at-service-row:hover{ background:var(--at-dark-2); }
.at-rows--dark .at-icon-circle{ border-color:var(--at-border-dark); color:var(--at-white); }
.at-rows--dark .at-service-row ul li::before{ color:var(--at-lime); }
@media (max-width:768px){
  .at-service-row{ grid-template-columns:1fr; gap:14px; }
  .at-service-row .at-icon-circle{ margin-left:0; order:-1; }
}

/* ============ TESTIMONIAL STACK ============ */
.at-tstack{ position:relative; }
.at-tstack-inner{ position:relative; min-height:340px; }
.at-tcard{
  position:absolute; inset:0; background:var(--at-white); border:1px solid var(--at-border);
  border-radius:var(--at-radius-lg); padding:38px; opacity:0; visibility:hidden;
  transform:translateY(16px); transition:opacity .5s var(--at-ease), transform .5s var(--at-ease);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.25);
}
.at-tcard.is-active{ opacity:1; visibility:visible; transform:translateY(0); }
.at-tcard .at-quote-icon{ color:var(--at-lime); font-size:40px; font-family:Georgia,serif; line-height:0; margin-bottom:18px; display:block; }
.at-tcard .at-rating{ display:flex; align-items:center; gap:8px; font-family:var(--at-font-display); font-size:22px; font-weight:800; margin-bottom:6px; color:var(--at-ink); }
.at-tcard .at-rating svg{ width:18px; height:18px; color:#f5b400; }
.at-tcard .at-rating small{ color:var(--at-muted); font-family:var(--at-font-body); font-weight:400; font-size:13px; }
.at-tcard blockquote{ font-size:19px; font-weight:600; margin:20px 0 26px; line-height:1.5; color:var(--at-ink); border:0; padding:0; }
.at-tperson{ display:flex; align-items:center; gap:14px; }
.at-tperson img{ width:48px; height:48px; border-radius:50%; object-fit:cover; }
.at-tperson strong{ display:block; font-size:15px; text-transform:uppercase; color:var(--at-ink); font-family:var(--at-font-display); }
.at-tperson span{ font-size:13px; color:var(--at-muted); }
.at-tcontrols{ display:flex; align-items:center; gap:16px; margin-top:26px; }
.at-tarrow{
  width:46px; height:46px; border-radius:50%; border:1px solid var(--at-border); background:transparent;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .3s, color .3s;
  color:var(--at-ink);
}
.at-tarrow:hover{ background:var(--at-black); color:var(--at-white); border-color:var(--at-black); }
.at-tarrow svg{ width:16px; height:16px; }
.at-tstack--dark .at-tcard{ background:var(--at-dark-2); border-color:var(--at-border-dark); box-shadow:none; }
.at-tstack--dark .at-tcard blockquote,.at-tstack--dark .at-tperson strong,.at-tstack--dark .at-rating{ color:var(--at-white); }
.at-tstack--dark .at-tperson span,.at-tstack--dark .at-rating small{ color:var(--at-muted-dark); }
.at-tstack--dark .at-tarrow{ border-color:var(--at-border-dark); color:var(--at-white); }
.at-tstack--dark .at-tarrow:hover{ background:var(--at-lime); color:var(--at-black); border-color:var(--at-lime); }
@media (max-width:992px){
  .at-tstack-inner{ min-height:0; }
  .at-tcard{ position:static; opacity:1; visibility:visible; transform:none; display:none; }
  .at-tcard.is-active{ display:block; }
}

/* ============ STAT BADGE ============ */
.at-stat-badge{
  background:var(--at-black); color:var(--at-white); border-radius:var(--at-radius-md);
  padding:22px; box-shadow:0 24px 48px -16px rgba(0,0,0,.5);
}
.at-stat-badge .at-quote-mark{ color:var(--at-lime); font-size:30px; font-family:Georgia,serif; line-height:1; display:block; }
.at-stat-badge p{ font-size:13px; margin:10px 0 14px; color:var(--at-gray-300); }
.at-stat-badge .at-num{ font-family:var(--at-font-display); font-size:36px; font-weight:800; color:var(--at-lime); line-height:1; }
.at-stat-badge small{ display:block; text-transform:uppercase; font-size:11px; letter-spacing:.08em; font-weight:700; margin-top:4px; color:var(--at-white); }
.at-stat-inline{ text-align:inherit; }
.at-stat-inline .at-num{ font-family:var(--at-font-display); font-size:44px; font-weight:800; color:inherit; line-height:1; }
.at-stat-inline small{ display:block; text-transform:uppercase; font-size:12px; letter-spacing:.06em; color:var(--at-muted); font-weight:700; margin-top:4px; }

/* ============ PORTFOLIO FILTER GRID ============ */
.at-filter-bar{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:44px; }
.at-filter-btn{
  padding:12px 22px; border-radius:999px; border:1px solid var(--at-border); background:transparent;
  font-size:13px; font-weight:700; text-transform:uppercase; cursor:pointer; color:var(--at-ink);
  font-family:var(--at-font-body); transition:background .3s, color .3s, border-color .3s;
}
.at-filter-btn:hover{ border-color:var(--at-black); }
.at-filter-btn.is-active{ background:var(--at-black); color:var(--at-white); border-color:var(--at-black); }
.at-pf-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.at-pf-card{ position:relative; border-radius:var(--at-radius-lg); overflow:hidden; aspect-ratio:4/4.6; display:block; text-decoration:none; }
.at-pf-card img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--at-ease); }
.at-pf-card:hover img{ transform:scale(1.08); }
.at-pf-card .at-pf-overlay{
  position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.82) 100%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:28px; color:var(--at-white);
}
.at-pf-card .at-pf-tag{
  align-self:flex-start; background:var(--at-lime); color:var(--at-black); font-size:11px; font-weight:800;
  text-transform:uppercase; padding:5px 14px; border-radius:999px; margin-bottom:14px; font-family:var(--at-font-body);
}
.at-pf-card h3{ font-size:22px; text-transform:uppercase; color:var(--at-white); }
.at-pf-card .at-pf-badge{
  position:absolute; top:24px; right:24px; width:80px; height:80px; border-radius:50%;
  background:var(--at-lime); color:var(--at-black); display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:800; text-align:center; text-transform:uppercase; line-height:1.2;
  opacity:0; transform:scale(.6); transition:all .4s var(--at-ease); font-family:var(--at-font-body);
}
.at-pf-card:hover .at-pf-badge{ opacity:1; transform:scale(1); }
.at-filter--dark .at-filter-btn{ color:var(--at-white); border-color:var(--at-border-dark); }
.at-filter--dark .at-filter-btn.is-active{ background:var(--at-lime); color:var(--at-black); border-color:var(--at-lime); }
@media (max-width:992px){ .at-pf-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:576px){ .at-pf-grid{ grid-template-columns:1fr; } }

/* ============ PROCESS LIST ============ */
.at-process-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.at-process-item{ position:relative; padding-top:34px; border-top:2px solid var(--at-border); }
.at-process-item .at-step{
  position:absolute; top:-22px; left:0; font-family:var(--at-font-display); font-size:14px; font-weight:800;
  background:var(--at-black); color:var(--at-lime); width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.at-process-item h4{ text-transform:uppercase; font-size:18px; margin:10px 0; color:var(--at-ink); }
.at-process-item p{ font-size:14.5px; color:var(--at-muted); margin:0; }
.at-process--dark .at-process-item{ border-color:var(--at-border-dark); }
.at-process--dark .at-process-item h4{ color:var(--at-white); }
.at-process--dark .at-process-item p{ color:var(--at-muted-dark); }
@media (max-width:768px){ .at-process-list{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .at-process-list{ grid-template-columns:1fr; } }

/* ============ OVERLAY MENU ============ */
.at-hamburger{
  width:52px; height:52px; border-radius:50%; background:var(--at-black); color:var(--at-white);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  flex-shrink:0; border:none; cursor:pointer; padding:0;
}
.at-hamburger span{ width:20px; height:2px; background:currentColor; display:block; transition:transform .3s var(--at-ease), opacity .3s; }
.at-hamburger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.at-hamburger.is-open span:nth-child(2){ opacity:0; }
.at-hamburger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.at-menu-overlay{
  position:fixed; inset:0; background:var(--at-black); color:var(--at-white); z-index:9999;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:100px clamp(20px,4vw,64px) 50px;
  clip-path:circle(0% at calc(100% - 46px) 46px);
  transition:clip-path .6s var(--at-ease); pointer-events:none;
}
.at-menu-overlay.is-open{ clip-path:circle(150% at calc(100% - 46px) 46px); pointer-events:auto; }
.at-menu-close{
  position:absolute; top:24px; right:clamp(20px,4vw,64px); width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.25);
  color:#fff; background:transparent; cursor:pointer;
}
.at-menu-close svg{ width:18px; height:18px; }
.at-menu-links{ display:flex; flex-direction:column; gap:6px; list-style:none; margin:0; padding:0; }
.at-menu-links a{
  font-family:var(--at-font-display); font-size:clamp(34px,7vw,74px); font-weight:800; text-transform:uppercase;
  padding:10px 0; opacity:0; transform:translateY(30px); color:#fff; text-decoration:none; display:block;
  transition:opacity .5s var(--at-ease), transform .5s var(--at-ease), color .3s;
}
.at-menu-overlay.is-open .at-menu-links a{ opacity:1; transform:translateY(0); }
.at-menu-links a:hover{ color:var(--at-lime); }
.at-menu-links a .at-menu-num{ font-size:16px; vertical-align:top; margin-right:14px; color:var(--at-lime); font-family:var(--at-font-body); }
.at-menu-foot{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; border-top:1px solid rgba(255,255,255,.15); padding-top:26px; }
.at-menu-foot .at-hello{ color:#9c9e9c; font-size:14px; margin:0 0 6px; }
.at-menu-foot .at-email{ font-size:18px; font-weight:700; color:#fff; text-decoration:none; }
.at-menu-socials{ display:flex; gap:14px; }
.at-menu-socials a{ width:40px; height:40px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; }
.at-menu-socials a:hover{ background:var(--at-lime); color:var(--at-black); border-color:var(--at-lime); }
.at-menu-socials svg{ width:16px; height:16px; }

/* ============ BACK TO TOP + PROGRESS ============ */
.at-progress-bar{ position:fixed; top:0; left:0; height:3px; background:var(--at-lime); z-index:10000; width:0%; }
.at-back-to-top{
  position:fixed; right:28px; bottom:28px; width:52px; height:52px; border-radius:50%;
  background:var(--at-black); color:var(--at-lime); display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(10px); transition:all .35s var(--at-ease);
  z-index:500; border:none; cursor:pointer;
}
.at-back-to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.at-back-to-top svg{ width:18px; height:18px; }

/* ============ THEME RESET OVERRIDES ============
   Hello Elementor applies button{border-radius:3px} etc. after this sheet,
   so these higher-specificity rules restore the component shapes. */
.at-widget .at-hamburger,
.at-menu-root .at-hamburger{ border-radius:50%; padding:0; border:none; }
.at-widget .at-menu-close{ border-radius:50%; }
.at-widget .at-tarrow{ border-radius:50%; padding:0; }
.at-widget .at-filter-btn{ border-radius:999px; }
.at-widget .at-back-to-top,
.at-scroll-ui .at-back-to-top{ border-radius:50%; padding:0; border:none; }
.at-widget .at-hamburger span{ width:20px; height:2px; border-radius:0; }
.at-widget button:focus-visible{ outline:2px solid var(--at-lime); outline-offset:2px; }

/* ============ REVEAL ============ */
/* Visible by default — JS opts elements into the animation so content can
   never be left stranded at opacity:0 if the observer never fires. */
.at-reveal{ opacity:1; transform:none; }
.at-reveal[data-at-anim="1"]{ opacity:0; transform:translateY(32px); transition:opacity .8s var(--at-ease), transform .8s var(--at-ease); }
.at-reveal[data-at-anim="1"].is-visible{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce){ .at-reveal[data-at-anim="1"]{ opacity:1; transform:none; transition:none; } }


/* ==========================================================
   Journal — post list, sidebar and single post
   ========================================================== */
.at-pl{ display:flex; flex-direction:column; gap:26px; }
.at-pl--grid{ display:grid; grid-template-columns:repeat(3,1fr); }

.at-pl-card{
  display:flex; gap:24px; align-items:stretch;
  background:#1a1a1a; border:1px solid rgba(255,255,255,.08);
  border-radius:24px; padding:18px; overflow:hidden;
  transition:border-color .35s var(--at-ease,cubic-bezier(.65,0,.35,1)), transform .35s var(--at-ease,cubic-bezier(.65,0,.35,1));
}
.at-pl-card:hover{ border-color:rgba(200,243,29,.45); transform:translateY(-3px); }
.at-pl--grid .at-pl-card{ flex-direction:column; gap:18px; }

.at-pl-thumb{ display:block; flex:0 0 260px; border-radius:16px; overflow:hidden; align-self:stretch; }
.at-pl--grid .at-pl-thumb{ flex:none; aspect-ratio:16/10; }
.at-pl-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--at-ease,cubic-bezier(.65,0,.35,1)); }
.at-pl-card:hover .at-pl-thumb img{ transform:scale(1.05); }

.at-pl-body{ display:flex; flex-direction:column; gap:12px; justify-content:center; padding:6px 10px 6px 0; min-width:0; }
.at-pl--grid .at-pl-body{ padding:0 8px 10px; }

.at-pl-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-family:'DM Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#8e908e; }
.at-pl-meta .at-pl-cat{ color:#c8f31d; border:1px solid #c8f31d; border-radius:999px; padding:4px 12px; }

.at-pl-card h3{
  font-family:'Space Grotesk','DM Sans',sans-serif; font-weight:800; font-size:23px; line-height:1.2;
  letter-spacing:-.01em; color:#fff; margin:0; transition:color .3s ease;
}
.at-pl-card p{ font-family:'DM Sans',sans-serif; font-size:15px; line-height:1.65; color:#9c9e9c; margin:0; }
.at-pl-card a{ text-decoration:none; }

.at-pl-more{ display:inline-flex; align-items:center; gap:8px; font-family:'DM Sans',sans-serif; font-weight:700; font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; color:#c8f31d; }
.at-pl-more svg{ width:14px; height:14px; transition:transform .3s ease; }
.at-pl-more:hover svg{ transform:translate(3px,-3px); }

.at-pl-pagi{ display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.at-pl-pagi a, .at-pl-pagi span{
  display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 14px;
  border:1px solid rgba(255,255,255,.14); border-radius:999px;
  font-family:'DM Sans',sans-serif; font-weight:700; font-size:14px; color:#d5d6d5; text-decoration:none;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.at-pl-pagi a:hover{ background:#fff; border-color:#fff; color:#0d0d0d; }
.at-pl-pagi .is-active{ background:#c8f31d; border-color:#c8f31d; color:#0d0d0d; }
.at-pl-empty{ color:#9c9e9c; font-family:'DM Sans',sans-serif; }

/* ---- sidebar ---- */
.at-sb{ display:flex; flex-direction:column; gap:24px; }
.at-sb-panel{ background:#1a1a1a; border:1px solid rgba(255,255,255,.08); border-radius:26px; padding:26px; }
.at-sb-panel h4{
  font-family:'Space Grotesk','DM Sans',sans-serif; font-weight:800; font-size:16px; letter-spacing:.02em;
  text-transform:uppercase; color:#fff; margin:0 0 18px;
}
.at-sb-panel a{ text-decoration:none; color:#c9cbc9; transition:color .25s ease; }

.at-sb-search{ display:flex; gap:10px; }
.at-sb-search input{
  flex:1; min-width:0; background:#0d0d0d; border:1px solid rgba(255,255,255,.12); border-radius:999px;
  padding:13px 18px; color:#fff; font-family:'DM Sans',sans-serif; font-size:14px;
}
.at-sb-search input::placeholder{ color:#6f716f; }
.at-sb-search input:focus{ outline:none; border-color:#c8f31d; }
.at-sb-search button{
  flex:0 0 46px; width:46px; height:46px; border:none; border-radius:50%; padding:0;
  background:#c8f31d; color:#0d0d0d; display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
}
.at-sb-search button svg{ width:18px; height:18px; }

.at-sb-cats{ list-style:none; margin:0; padding:0; }
.at-sb-cats li + li{ border-top:1px solid rgba(255,255,255,.08); }
.at-sb-cats a{ display:flex; justify-content:space-between; gap:12px; padding:12px 0; font-family:'DM Sans',sans-serif; font-size:14.5px; font-weight:500; }
.at-sb-cats span{ color:#c8f31d; font-weight:700; font-size:13px; }

.at-sb-recent{ display:flex; gap:14px; align-items:center; padding:12px 0; }
.at-sb-recent + .at-sb-recent{ border-top:1px solid rgba(255,255,255,.08); }
.at-sb-recent img{ width:62px; height:62px; flex-shrink:0; object-fit:cover; border-radius:12px; }
.at-sb-recent span{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.at-sb-recent strong{ font-family:'DM Sans',sans-serif; font-weight:700; font-size:14px; line-height:1.35; color:#fff; }
.at-sb-recent:hover strong{ color:#c8f31d; }
.at-sb-recent small{ font-size:12px; color:#8e908e; letter-spacing:.04em; text-transform:uppercase; font-weight:600; }

.at-sb-tags{ display:flex; flex-wrap:wrap; gap:9px; }
.at-sb-tags a{
  border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:8px 15px;
  font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.04em;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}

@media (max-width:900px){
  .at-pl--grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  .at-pl-card{ flex-direction:column; }
  .at-pl-thumb{ flex:none; aspect-ratio:16/9; }
  .at-pl--grid{ grid-template-columns:1fr; }
}

/* ==========================================================
   Single post / archive / search — dark theme for Hello Elementor
   ========================================================== */
body.single-post, body.archive, body.search, body.blog, body.error404{ background:#0d0d0d; color:#c9cbc9; }

body.single-post .site-main,
body.archive .site-main,
body.search .site-main,
body.blog .site-main{
  max-width:820px; margin:0 auto; padding:120px 24px 90px; background:#0d0d0d;
}
body.single-post .site-main{ max-width:840px; }

.at-post-dark h1, .at-post-dark h2, .at-post-dark h3, .at-post-dark h4, .at-post-dark h5, .at-post-dark h6,
body.single-post .site-main h1, body.single-post .site-main h2, body.single-post .site-main h3,
body.single-post .site-main h4, body.single-post .site-main h5, body.single-post .site-main h6,
body.archive .site-main h1, body.archive .site-main h2, body.search .site-main h1, body.search .site-main h2{
  font-family:'Space Grotesk','DM Sans',sans-serif; font-weight:800; color:#fff; letter-spacing:-.015em; line-height:1.15;
}
body.single-post .site-main .entry-title, body.archive .site-main .page-title, body.search .site-main .page-title{
  font-size:clamp(32px,5vw,52px); text-transform:uppercase; margin:0 0 18px;
}
body.single-post .site-main h2{ font-size:30px; margin:40px 0 14px; }
body.single-post .site-main h3{ font-size:23px; margin:32px 0 12px; }

body.single-post .site-main p,
body.single-post .site-main li,
body.archive .site-main p, body.search .site-main p{
  font-family:'DM Sans',sans-serif; font-size:17px; line-height:1.75; color:#b7b9b7;
}
body.single-post .site-main p{ margin:0 0 20px; }
body.single-post .site-main ul, body.single-post .site-main ol{ margin:0 0 22px; padding-left:22px; }
body.single-post .site-main li{ margin-bottom:9px; }
body.single-post .site-main li::marker{ color:#c8f31d; }

body.single-post .site-main a, body.archive .site-main a, body.search .site-main a{ color:#c8f31d; text-decoration:none; }
body.single-post .site-main a:hover{ text-decoration:underline; }

body.single-post .site-main img,
body.single-post .site-main .post-thumbnail img{ border-radius:22px; }

body.single-post .site-main blockquote{
  border-left:3px solid #c8f31d; padding:6px 0 6px 22px; margin:28px 0;
  font-family:'Space Grotesk','DM Sans',sans-serif; font-size:20px; font-weight:500; color:#fff; font-style:normal;
}
body.single-post .site-main code, body.single-post .site-main kbd, body.single-post .site-main tt{
  background:#191919; border:1px solid rgba(255,255,255,.1); border-radius:6px; padding:2px 7px;
  font-size:14px; color:#c8f31d;
}
body.single-post .site-main pre{
  background:#141414; border:1px solid rgba(255,255,255,.09); border-radius:16px;
  padding:22px; overflow-x:auto; margin:0 0 24px;
}
body.single-post .site-main pre code{ background:none; border:none; padding:0; color:#d5d6d5; }
body.single-post .site-main table{ width:100%; border-collapse:collapse; margin:0 0 24px; display:block; overflow-x:auto; }
body.single-post .site-main th, body.single-post .site-main td{
  border:1px solid rgba(255,255,255,.1); padding:12px 14px; text-align:left; font-size:15px;
}
body.single-post .site-main th{ background:#191919; color:#fff; font-weight:700; }
body.single-post .site-main hr{ border:none; border-top:1px solid rgba(255,255,255,.1); margin:38px 0; }

body.single-post .post-info,
body.single-post .entry-meta,
body.archive .post-info{
  font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:#8e908e; margin-bottom:26px;
}
body.single-post .post-info a, body.archive .post-info a{ color:#c8f31d; }
body.single-post .post-tags a{
  display:inline-block; border:1px solid rgba(255,255,255,.14); border-radius:999px;
  padding:7px 14px; margin:4px 6px 0 0; font-size:12.5px; color:#c9cbc9; text-decoration:none;
}
body.single-post .post-tags a:hover{ background:#c8f31d; border-color:#c8f31d; color:#0d0d0d; text-decoration:none; }

body.archive .site-main article, body.search .site-main article, body.blog .site-main article{
  background:#1a1a1a; border:1px solid rgba(255,255,255,.08); border-radius:24px;
  padding:28px; margin-bottom:24px;
}
body.archive .site-main article .entry-title, body.search .site-main article .entry-title{ font-size:26px; }

body.single-post .post-navigation a, body.archive .pagination a, body.search .pagination a,
body.single-post .nav-links a{
  color:#c8f31d; font-family:'DM Sans',sans-serif; font-weight:700; text-transform:uppercase;
  font-size:13px; letter-spacing:.07em;
}

/* at-button-default-reset — outline buttons must not inherit the theme fill */
.elementor-widget-button .elementor-button{ background-color: transparent; }
