/*
Theme Name: Shlohmo Child
Theme URI: https://shlohmo.com
Description: GeneratePress child theme for shlohmo.com - custom music production homepage. Dark OLED studio aesthetic, Syne + Manrope, full-width hero. 2026 Core Web Vitals ready.
Author: shlohmo.com
Template: generatepress
Version: 6.3.0
Text Domain: shlohmo-child
*/

/* =========================================================
   SHLOHMO.COM — Homepage (v2, UI/UX redesign)
   Design system: Dark Mode (OLED), Syne/Manrope,
   green "play" accent + violet secondary.
   ========================================================= */

:root{
  /* palette */
  --sh-bg:#0B0B14;            /* deep OLED base */
  --sh-bg-2:#0F0F1E;
  --sh-surface:#15152A;
  --sh-surface-2:#1B1B34;
  --sh-border:#26264A;
  --sh-border-soft:#1E1E3A;
  --sh-text:#F5F6FB;
  --sh-muted:#A0A3B8;
  --sh-muted-2:#71748C;
  --sh-primary:#6D5EF6;       /* violet */
  --sh-primary-hi:#8B7DFF;
  --sh-accent:#22E08A;        /* play green */
  --sh-accent-hi:#3DF39C;
  --sh-ink:#0B0B14;

  /* type */
  --sh-head:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sh-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  /* scale (8px rhythm) */
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-5:48px; --s-6:64px; --s-7:96px;

  --sh-radius:18px;
  --sh-radius-sm:12px;
  --sh-maxw:1200px;
  --sh-shadow:0 20px 50px -20px rgba(0,0,0,.7);
  --sh-glow:0 0 0 1px rgba(109,94,246,.25), 0 12px 40px -12px rgba(109,94,246,.5);
}

/* Base */
.sh-home{font-family:var(--sh-body);color:var(--sh-text);line-height:1.65;-webkit-font-smoothing:antialiased;background:var(--sh-bg);}
.sh-home *{box-sizing:border-box;}
.sh-wrap{max-width:var(--sh-maxw);margin:0 auto;padding:0 24px;}
.sh-home h1,.sh-home h2,.sh-home h3{font-family:var(--sh-head);line-height:1.1;margin:0 0 .4em;font-weight:700;letter-spacing:-.015em;}
.sh-home a{color:inherit;text-decoration:none;}
.sh-home img{max-width:100%;}
.sh-home :focus-visible{outline:3px solid var(--sh-accent);outline-offset:3px;border-radius:6px;}

.sh-section{padding:var(--s-7) 0;position:relative;overflow:hidden;isolation:isolate;}
.sh-section--tight{padding:var(--s-6) 0;}

/* ---- shared animated music background (CSS-only, subtle) ---- */
/* soft drifting radial "sound" glows behind every section */
.sh-section::before{
  content:"";position:absolute;inset:-20% -10%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(420px 420px at 20% 30%, rgba(109,94,246,.10), transparent 60%),
    radial-gradient(360px 360px at 80% 70%, rgba(34,224,138,.08), transparent 60%);
  animation:shDrift 22s ease-in-out infinite alternate;
}
@keyframes shDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(3%,-2%,0) scale(1.06)}
  100%{transform:translate3d(-3%,2%,0) scale(1)}
}
/* faint animated waveform line strip across each section */
.sh-section::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:140px;z-index:-2;pointer-events:none;
  opacity:.06;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='140' viewBox='0 0 1200 140'><path d='M0 70 Q 75 10 150 70 T 300 70 T 450 70 T 600 70 T 750 70 T 900 70 T 1050 70 T 1200 70' fill='none' stroke='%236D5EF6' stroke-width='2'/><path d='M0 70 Q 75 130 150 70 T 300 70 T 450 70 T 600 70 T 750 70 T 900 70 T 1050 70 T 1200 70' fill='none' stroke='%2322E08A' stroke-width='2'/></svg>");
  background-repeat:repeat-x;background-size:600px 140px;
  animation:shWave 18s linear infinite;
}
@keyframes shWave{from{background-position:0 0}to{background-position:600px 0}}
/* keep section inner content above the bg */
.sh-section>.sh-wrap{position:relative;z-index:1;}
.sh-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--sh-body);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sh-accent);margin-bottom:14px;}
.sh-eyebrow::before{content:"";width:22px;height:2px;background:var(--sh-accent);border-radius:2px;}
.sh-section__head{margin-bottom:var(--s-5);max-width:720px;}
.sh-section__head h2{font-size:clamp(1.7rem,4vw,2.6rem);}
.sh-section__head p{color:var(--sh-muted);font-size:1.05rem;margin:.5em 0 0;}

/* ---------- HERO (full-width, edge to edge) ---------- */
.sh-hero{
  position:relative;
  width:100%;
  padding:var(--s-7) 0 var(--s-6);
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(1100px 600px at 78% -8%, rgba(109,94,246,.30), transparent 62%),
    radial-gradient(900px 600px at 8% 8%, rgba(34,224,138,.14), transparent 55%),
    linear-gradient(180deg,var(--sh-bg-2),var(--sh-bg));
}
/* animated equalizer bars, decorative, respects reduced-motion */
.sh-hero__eq{position:absolute;inset:auto 0 0 0;height:120px;display:flex;gap:6px;justify-content:space-between;align-items:flex-end;opacity:.16;z-index:-1;padding:0;pointer-events:none;width:100%;}
.sh-hero__eq span{flex:1 1 0;min-width:0;background:linear-gradient(180deg,var(--sh-primary-hi),var(--sh-accent));border-radius:6px 6px 0 0;animation:shEq 1.4s ease-in-out infinite;}
@keyframes shEq{0%,100%{height:22%}50%{height:100%}}
.sh-hero__eq span:nth-child(2n){animation-duration:1.1s}
.sh-hero__eq span:nth-child(3n){animation-duration:1.7s}
.sh-hero__eq span:nth-child(4n){animation-duration:.9s}
.sh-hero__eq span:nth-child(5n){animation-duration:1.9s}

.sh-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s-6);align-items:center;}
.sh-hero h1{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.025em;line-height:1.05;}
.sh-hero h1 em{font-style:normal;color:transparent;background:linear-gradient(100deg,var(--sh-accent),var(--sh-primary-hi));-webkit-background-clip:text;background-clip:text;}
.sh-hero__sub{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--sh-muted);max-width:540px;margin:var(--s-3) 0 var(--s-4);}
.sh-hero__cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}

.sh-btn{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  background:var(--sh-accent);color:var(--sh-ink);
  padding:15px 26px;border-radius:999px;font-family:var(--sh-body);font-weight:700;font-size:1rem;border:0;
  transition:transform .18s ease,background .18s ease;
}
.sh-btn:hover{transform:translateY(-2px);background:var(--sh-accent-hi);}
.sh-btn svg{width:18px;height:18px;}
.sh-btn--ghost{background:transparent;color:var(--sh-text);border:1px solid var(--sh-border);}
.sh-btn--ghost:hover{background:var(--sh-surface);border-color:var(--sh-primary);transform:translateY(-2px);}

.sh-hero__stats{display:flex;gap:var(--s-4);margin-top:var(--s-5);}
.sh-hero__stat b{font-family:var(--sh-head);display:block;font-size:1.6rem;color:var(--sh-text);}
.sh-hero__stat span{font-size:.82rem;color:var(--sh-muted-2);letter-spacing:.04em;}

.sh-hero__card{
  background:linear-gradient(165deg,var(--sh-surface),var(--sh-surface-2));
  border:1px solid var(--sh-border);border-radius:var(--sh-radius);
  padding:14px;box-shadow:var(--sh-shadow);transition:transform .2s ease,box-shadow .2s ease;
}
.sh-hero__card:hover{transform:translateY(-4px);box-shadow:var(--sh-glow);}
.sh-hero__card-badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sh-ink);background:var(--sh-accent);padding:5px 12px;border-radius:999px;margin:6px 0 12px 6px;}
.sh-hero__card img{width:100%;height:auto;border-radius:var(--sh-radius-sm);display:block;aspect-ratio:16/10;object-fit:cover;background:var(--sh-bg-2);}
.sh-hero__card-body{padding:16px 12px 10px;}
.sh-hero__card h3{font-size:1.2rem;margin:.1em 0 .3em;}
.sh-hero__card p{color:var(--sh-muted);font-size:.92rem;margin:0;}

/* ---------- POSTS GRID ---------- */
.sh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3);}
.sh-card{
  background:var(--sh-surface);border:1px solid var(--sh-border-soft);
  border-radius:var(--sh-radius);overflow:hidden;display:flex;flex-direction:column;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.sh-card:hover{transform:translateY(-5px);border-color:var(--sh-primary);box-shadow:var(--sh-shadow);}
.sh-card__thumb{aspect-ratio:16/10;background:linear-gradient(135deg,var(--sh-surface-2),var(--sh-bg-2));overflow:hidden;position:relative;}

/* Music-themed placeholder (shown when a post has no featured image) */
.sh-ph-wave{position:absolute;inset:0;display:block;
  background:
    radial-gradient(120% 90% at 20% 10%, rgba(109,94,246,.35), transparent 55%),
    radial-gradient(120% 90% at 90% 90%, rgba(34,224,138,.25), transparent 55%),
    linear-gradient(135deg,var(--sh-surface-2),var(--sh-bg-2));
}
.sh-ph-wave::after{content:"";position:absolute;left:0;right:0;top:50%;height:60px;transform:translateY(-50%);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='60' viewBox='0 0 300 60'><path d='M0 30 Q 18 4 37 30 T 75 30 T 112 30 T 150 30 T 187 30 T 225 30 T 262 30 T 300 30' fill='none' stroke='%23ffffff' stroke-width='2.5' opacity='.5'/></svg>");
  background-repeat:repeat-x;background-size:150px 60px;opacity:.5;
  animation:shWave 12s linear infinite;
}
.sh-hero__card-ph{position:relative;display:block;width:100%;aspect-ratio:16/10;border-radius:var(--sh-radius-sm);overflow:hidden;}
.sh-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.sh-card:hover .sh-card__thumb img{transform:scale(1.05);}
.sh-card__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.sh-tag{align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sh-accent);background:rgba(34,224,138,.1);padding:5px 11px;border-radius:999px;}
.sh-card__body h3{font-size:1.08rem;line-height:1.3;margin:0;}
.sh-card__body h3 a{transition:color .15s;}
.sh-card:hover .sh-card__body h3 a{color:var(--sh-primary-hi);}
.sh-card__meta{margin-top:auto;color:var(--sh-muted-2);font-size:.8rem;}

/* ---------- CATEGORY CLUSTERS ---------- */
.sh-clusters{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-3);}
.sh-cluster{
  background:var(--sh-surface);border:1px solid var(--sh-border-soft);
  border-radius:var(--sh-radius);padding:28px 22px;text-align:left;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.sh-cluster:hover{transform:translateY(-5px);border-color:var(--sh-primary);background:var(--sh-surface-2);}
.sh-cluster__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:rgba(109,94,246,.14);color:var(--sh-primary-hi);margin-bottom:16px;}
.sh-cluster:hover .sh-cluster__icon{background:rgba(34,224,138,.16);color:var(--sh-accent);}
.sh-cluster__icon svg{width:24px;height:24px;}
.sh-cluster h3{font-size:1.12rem;margin:0 0 6px;}
.sh-cluster p{color:var(--sh-muted);font-size:.88rem;margin:0;line-height:1.55;}
.sh-cluster__count{display:inline-block;margin-top:12px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--sh-accent);}

/* ---------- AUTHOR / TRUST ---------- */
.sh-trust{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,var(--sh-bg-2),var(--sh-bg));border-top:1px solid var(--sh-border-soft);border-bottom:1px solid var(--sh-border-soft);}
/* animated equalizer bars behind the author band */
.sh-trust::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.10;
  background-image:repeating-linear-gradient(90deg,var(--sh-primary) 0 3px,transparent 3px 16px);
  -webkit-mask:linear-gradient(180deg,transparent,#000 60%,transparent);
  mask:linear-gradient(180deg,transparent,#000 60%,transparent);
  animation:shBars 6s ease-in-out infinite alternate;
  transform-origin:bottom;
}
@keyframes shBars{0%{transform:scaleY(.6)}100%{transform:scaleY(1)}}
.sh-trust__inner{display:grid;grid-template-columns:auto 1fr;gap:var(--s-5);align-items:center;}
.sh-trust__avatar{
  width:128px;height:128px;border-radius:24px;object-fit:cover;
  border:1px solid var(--sh-border);background:var(--sh-surface-2);box-shadow:var(--sh-shadow);
}
.sh-trust h2{font-size:1.7rem;margin:0 0 10px;}
.sh-trust p{color:var(--sh-muted);margin:0 0 16px;max-width:640px;font-size:1.02rem;}
.sh-trust__socials{display:flex;gap:10px;flex-wrap:wrap;}
.sh-trust__socials a{font-size:.85rem;font-weight:600;color:var(--sh-text);border:1px solid var(--sh-border);padding:9px 16px;border-radius:999px;transition:border-color .15s,background .15s;display:inline-flex;align-items:center;gap:7px;}
.sh-trust__socials a:hover{border-color:var(--sh-primary);background:var(--sh-surface);}
.sh-trust__socials svg{width:16px;height:16px;}
.sh-trust__line{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--sh-accent);font-weight:600;margin-top:16px;}
.sh-trust__line svg{width:18px;height:18px;}

/* ---------- POPULAR / BEST GUIDES ---------- */
.sh-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3);}
.sh-guide{
  position:relative;display:flex;flex-direction:column;padding:30px 26px;border-radius:var(--sh-radius);
  background:linear-gradient(160deg,var(--sh-surface),var(--sh-surface-2));
  border:1px solid var(--sh-border-soft);transition:transform .18s ease,border-color .18s;
  min-height:180px;
}
.sh-guide:hover{transform:translateY(-5px);border-color:var(--sh-accent);}
.sh-guide__num{font-family:var(--sh-head);font-size:.8rem;font-weight:700;color:var(--sh-primary-hi);letter-spacing:.12em;}
.sh-guide h3{font-size:1.22rem;margin:12px 0 8px;}
.sh-guide p{color:var(--sh-muted);font-size:.9rem;margin:0;}
.sh-guide__arrow{margin-top:auto;padding-top:16px;color:var(--sh-accent);font-weight:700;display:inline-flex;align-items:center;gap:6px;}
.sh-guide__arrow svg{width:16px;height:16px;transition:transform .18s;}
.sh-guide:hover .sh-guide__arrow svg{transform:translateX(4px);}

/* ---------- NEWSLETTER ---------- */
.sh-news{
  position:relative;overflow:hidden;
  background:
    radial-gradient(700px 340px at 100% 0%, rgba(109,94,246,.24), transparent 60%),
    radial-gradient(600px 300px at 0% 100%, rgba(34,224,138,.12), transparent 60%),
    var(--sh-surface);
  border:1px solid var(--sh-border);border-radius:calc(var(--sh-radius) + 6px);
  padding:var(--s-6) var(--s-5);text-align:center;
}
.sh-news h2{font-size:clamp(1.6rem,3.4vw,2.2rem);}
.sh-news p{color:var(--sh-muted);max-width:520px;margin:.5em auto var(--s-3);font-size:1.05rem;}
.sh-news__form{display:flex;gap:10px;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.sh-news__form input{
  flex:1;min-width:230px;padding:15px 20px;border-radius:999px;
  border:1px solid var(--sh-border);background:var(--sh-bg);color:var(--sh-text);font-size:1rem;font-family:var(--sh-body);
  transition:border-color .15s;
}
.sh-news__form input::placeholder{color:var(--sh-muted-2);}
.sh-news__form input:focus{outline:none;border-color:var(--sh-accent);}
.sh-news__note{font-size:.78rem;color:var(--sh-muted-2);margin-top:14px;}

/* =========================================================
   SITE-WIDE DARK THEME  (all pages: blog, About, archives…)
   ========================================================= */
body{background:var(--sh-bg)!important;color:var(--sh-text);font-family:var(--sh-body);}
.site,.site-content,.site-main,#primary,#content,
.content-area,article,.inside-article,.hentry,
.entry-content,.page-content,.wp-block-post-content{background:transparent!important;background-color:transparent!important;}
/* GeneratePress separate-container article card = make it a dark surface */
body:not(.shlohmo-front) .inside-article{
  background:var(--sh-surface)!important;
  border:1px solid var(--sh-border-soft);border-radius:var(--sh-radius);
  padding:clamp(24px,4vw,48px)!important;
}

/* ---------- PAGE SUB-HERO (About, Contact…) ---------- */
.sh-subhero{
  position:relative;width:100%;overflow:hidden;isolation:isolate;
  padding:calc(var(--s-7) + 30px) 0 var(--s-6);
  margin:0 0 var(--s-5);
  background:
    radial-gradient(1100px 600px at 78% -8%, rgba(109,94,246,.30), transparent 62%),
    radial-gradient(900px 600px at 8% 8%, rgba(34,224,138,.14), transparent 55%),
    linear-gradient(180deg,var(--sh-bg-2),var(--sh-bg));
}
.sh-subhero__eq{position:absolute;inset:auto 0 0 0;height:110px;display:flex;gap:6px;justify-content:space-between;align-items:flex-end;opacity:.14;z-index:-1;width:100%;pointer-events:none;}
.sh-subhero__eq span{flex:1 1 0;min-width:0;background:linear-gradient(180deg,var(--sh-primary-hi),var(--sh-accent));border-radius:6px 6px 0 0;animation:shEq 1.4s ease-in-out infinite;}
.sh-subhero__eq span:nth-child(2n){animation-duration:1.1s}
.sh-subhero__eq span:nth-child(3n){animation-duration:1.7s}
.sh-subhero__eq span:nth-child(4n){animation-duration:.9s}
.sh-subhero__eq span:nth-child(5n){animation-duration:1.9s}
.sh-subhero__wrap{max-width:var(--sh-maxw);margin:0 auto;padding:0 24px;position:relative;z-index:1;}
.sh-subhero .sh-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--sh-body);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sh-accent);margin-bottom:14px;}
.sh-subhero .sh-eyebrow::before{content:"";width:22px;height:2px;background:var(--sh-accent);border-radius:2px;}
/* content sits right under the sub-hero, remove the extra top gap */
body:not(.shlohmo-front) .page .site-content{padding-top:0;}
.sh-subhero h1{font-family:var(--sh-head);font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:-.025em;line-height:1.05;color:var(--sh-text);margin:0 0 .3em;}
.sh-subhero p{color:var(--sh-muted);font-size:clamp(1.02rem,1.5vw,1.2rem);max-width:640px;margin:0;}

/* Hide the page's own default title (sub-hero shows it now) */
body:not(.shlohmo-front) .page .entry-header,
body:not(.shlohmo-front) .page .entry-title{display:none!important;}

/* No-footer pages: hide GeneratePress footer info too */
.sh-no-footer .site-footer,
.sh-no-footer .site-info{display:none!important;}

/* Homepage-style animated music background on inner pages */
body:not(.shlohmo-front) .site-content{position:relative;overflow:hidden;isolation:isolate;}
body:not(.shlohmo-front) .site-content::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(500px 500px at 15% 15%, rgba(109,94,246,.10), transparent 60%),
    radial-gradient(460px 460px at 85% 80%, rgba(34,224,138,.07), transparent 60%);
  animation:shDrift 24s ease-in-out infinite alternate;
}
body:not(.shlohmo-front) .site-content::after{
  content:"";position:fixed;left:0;right:0;bottom:0;height:160px;z-index:-2;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='140' viewBox='0 0 1200 140'><path d='M0 70 Q 75 10 150 70 T 300 70 T 450 70 T 600 70 T 750 70 T 900 70 T 1050 70 T 1200 70' fill='none' stroke='%236D5EF6' stroke-width='2'/><path d='M0 70 Q 75 130 150 70 T 300 70 T 450 70 T 600 70 T 750 70 T 900 70 T 1050 70 T 1200 70' fill='none' stroke='%2322E08A' stroke-width='2'/></svg>");
  background-repeat:repeat-x;background-size:600px 140px;
  animation:shWave 18s linear infinite;
}

/* Inner-page content cards (posts, pages) */
body:not(.shlohmo-front) .inside-article,
body:not(.shlohmo-front) .entry-content,
body:not(.shlohmo-front) .page-content{color:var(--sh-text);}
body:not(.shlohmo-front) .content-area{color:var(--sh-text);}

/* Headings + text on inner pages */
body:not(.shlohmo-front) h1,
body:not(.shlohmo-front) h2,
body:not(.shlohmo-front) h3,
body:not(.shlohmo-front) h4{font-family:var(--sh-head);color:var(--sh-text);letter-spacing:-.015em;}
body:not(.shlohmo-front) .entry-content p,
body:not(.shlohmo-front) .entry-content li{color:var(--sh-muted);font-size:1.05rem;line-height:1.75;}
body:not(.shlohmo-front) .entry-content a{color:var(--sh-accent);}
body:not(.shlohmo-front) .entry-content strong{color:var(--sh-text);}
body:not(.shlohmo-front) .entry-title,
body:not(.shlohmo-front) .page-title{color:var(--sh-text);}

/* Post/page featured image rounding */
body:not(.shlohmo-front) .post-image img,
body:not(.shlohmo-front) .featured-image img{border-radius:var(--sh-radius);}

/* Widgets / sidebar (dark) */
.widget,.sidebar .widget{background:var(--sh-surface)!important;border:1px solid var(--sh-border-soft);border-radius:var(--sh-radius);padding:22px!important;margin-bottom:24px;}
.widget .widget-title{color:var(--sh-text)!important;font-family:var(--sh-head);font-size:1.1rem;}
.widget a{color:var(--sh-muted)!important;}
.widget a:hover{color:var(--sh-accent)!important;}
.widget input[type="search"],.widget input[type="text"]{background:var(--sh-bg)!important;border:1px solid var(--sh-border)!important;color:var(--sh-text)!important;border-radius:8px;}
.wp-block-search__button,.widget button,.widget input[type="submit"]{background:var(--sh-accent)!important;color:var(--sh-ink)!important;border:0!important;border-radius:8px;}

/* Author box below single posts */
body:not(.shlohmo-front) .comments-area,
body:not(.shlohmo-front) .comment-respond{color:var(--sh-muted);}
body:not(.shlohmo-front) .comment-body{background:var(--sh-surface);border:1px solid var(--sh-border-soft);border-radius:var(--sh-radius);padding:18px;}

/* Post meta */
body:not(.shlohmo-front) .entry-meta,
body:not(.shlohmo-front) .posted-on,
body:not(.shlohmo-front) .byline{color:var(--sh-muted-2)!important;}
body:not(.shlohmo-front) .entry-meta a{color:var(--sh-muted)!important;}

/* Give inner pages breathing room from the sticky header */
body:not(.shlohmo-front) .site-content{padding-top:32px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .sh-grid{grid-template-columns:repeat(2,1fr);}
  .sh-clusters{grid-template-columns:repeat(3,1fr);}
  .sh-guides{grid-template-columns:1fr;}
  .sh-section{padding:var(--s-6) 0;}
}
@media (max-width:768px){
  .sh-hero__grid{grid-template-columns:1fr;gap:var(--s-5);}
  .sh-hero__card{order:-1;}
  .sh-trust__inner{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .sh-clusters{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .sh-wrap{padding:0 18px;}
  .sh-grid,.sh-clusters{grid-template-columns:1fr;}
  .sh-hero__stats{gap:var(--s-3);}
  .sh-section{padding:var(--s-5) 0;}
}

/* =========================================================
   SITE HEADER / NAV  (dark, sticky, site-wide)
   Applies to GeneratePress markup, all pages.
   ========================================================= */
.site-header{
  background:transparent!important;   /* overlay on hero */
  border-bottom:1px solid transparent;
  position:absolute;top:0;left:0;right:0;z-index:1000;
  transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease;
}
.site-header .inside-header{padding-top:22px;padding-bottom:22px;transition:padding .22s ease;}
/* Pull the homepage hero up so it sits UNDER the overlay header */
.shlohmo-front .sh-hero{padding-top:calc(var(--s-7) + 40px);}
/* When scrolled, header gets a solid dark glass bg + becomes compact */
.site-header.sh-scrolled{
  background:rgba(11,11,20,.82)!important;
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom-color:var(--sh-border-soft);
  position:fixed;
}
.site-header.sh-scrolled .inside-header{padding-top:5px;padding-bottom:5px;}
/* shrink the logo a touch when compact */
.site-header.sh-scrolled .main-title,
.site-header.sh-scrolled .main-title a{font-size:1.25rem!important;}
.site-header.sh-scrolled .main-navigation .main-nav>ul>li>a{padding-top:6px!important;padding-bottom:6px!important;}
/* Inner pages WITHOUT a sub-hero: solid sticky header */
body:not(.shlohmo-front):not(.sh-has-subhero) .site-header{
  position:sticky;background:rgba(11,11,20,.9)!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom-color:var(--sh-border-soft);
}
body:not(.shlohmo-front):not(.sh-has-subhero) .site-header .inside-header{padding-top:14px;padding-bottom:14px;}

/* Sub-hero pages (About, Contact…): transparent OVERLAY header like the homepage */
body.sh-has-subhero .site-header{
  position:absolute;top:0;left:0;right:0;background:transparent!important;
  border-bottom-color:transparent;
  -webkit-backdrop-filter:none;backdrop-filter:none;
}
body.sh-has-subhero .site-header.sh-scrolled{
  position:fixed;background:rgba(11,11,20,.82)!important;
  -webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);
  border-bottom-color:var(--sh-border-soft);
}

/* Logo / site title — strong brand mark, matches heading font */
.site-header .main-title,
.site-header .main-title a{
  font-family:var(--sh-head)!important;
  font-weight:700!important;
  font-size:1.6rem!important;
  letter-spacing:-.03em;
  color:var(--sh-text)!important;
  text-transform:lowercase;      /* "shlohmo" reads as a wordmark */
  position:relative;
}
/* green "play" dot after the wordmark = music brand accent */
.site-header .main-title a::after{
  content:"";display:inline-block;width:8px;height:8px;margin-left:3px;
  border-radius:50%;background:var(--sh-accent);vertical-align:baseline;
}
.site-header .site-description{color:var(--sh-muted-2)!important;font-family:var(--sh-body)!important;}

/* Primary nav bar */
.main-navigation{background:transparent!important;}
.main-navigation .inside-navigation{padding:0;}
.main-navigation .main-nav>ul>li>a{
  font-family:var(--sh-body)!important;
  font-weight:600!important;font-size:.95rem;
  color:var(--sh-muted)!important;
  padding:12px 16px!important;
  transition:color .15s ease;
}
/* Hover = white text; ACTIVE (current) = green text (no underline) */
.main-navigation .main-nav>ul>li>a:hover{
  color:var(--sh-text)!important;
}
.main-navigation .main-nav>ul>li[class*="current-menu"]>a,
.main-navigation .main-nav>ul>li.current-menu-item>a{
  color:var(--sh-accent)!important;
}

/* Dropdown submenus */
.main-navigation ul ul{
  background:var(--sh-surface)!important;
  border:1px solid var(--sh-border)!important;border-radius:12px!important;
  box-shadow:var(--sh-shadow)!important;overflow:hidden;padding:6px!important;
}
.main-navigation ul ul li a{
  color:var(--sh-muted)!important;border-radius:8px!important;
}
.main-navigation ul ul li a:hover{
  color:var(--sh-text)!important;background:var(--sh-surface-2)!important;
}
.main-navigation ul ul li a::after{display:none;}

/* Header search + mobile toggle icons */
.site-header .navigation-search input,
.main-navigation .mobile-menu-control-wrapper button,
.main-navigation .menu-toggle{color:var(--sh-text)!important;}
.main-navigation .menu-toggle{padding:12px 16px!important;}

/* GeneratePress default footer info bar (kept minimal / hidden copyright) */
.site-info{
  background:var(--sh-bg)!important;
  color:var(--sh-muted-2)!important;border-top:0!important;padding:0!important;
}
.site-info .inside-site-info{display:none;}

/* ---------- CUSTOM RICH FOOTER ---------- */
.sh-footer{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--sh-bg),var(--sh-bg-2));
  border-top:1px solid var(--sh-border-soft);
  font-family:var(--sh-body);color:var(--sh-muted);
}
.sh-footer::before{ /* subtle sound glow */
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.6;
  background:
    radial-gradient(600px 300px at 90% 0%, rgba(109,94,246,.12), transparent 60%),
    radial-gradient(500px 260px at 0% 100%, rgba(34,224,138,.08), transparent 60%);
}
.sh-footer__wrap{
  position:relative;z-index:1;max-width:var(--sh-maxw);margin:0 auto;
  padding:var(--s-6) 24px var(--s-4);
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--s-4);
}
.sh-footer__logo{font-family:var(--sh-head);font-weight:700;font-size:1.5rem;color:var(--sh-text);letter-spacing:-.02em;display:inline-block;margin-bottom:12px;}
.sh-footer__brand p{max-width:340px;font-size:.92rem;line-height:1.6;margin:0 0 18px;}
.sh-footer__socials{display:flex;gap:10px;}
.sh-footer__socials a{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--sh-border);color:var(--sh-muted);transition:border-color .15s,color .15s,background .15s;}
.sh-footer__socials a:hover{border-color:var(--sh-accent);color:var(--sh-accent);background:var(--sh-surface);}
.sh-footer__socials svg{width:18px;height:18px;}
.sh-footer__col h4{font-family:var(--sh-head);font-size:.95rem;font-weight:600;color:var(--sh-text);margin:0 0 16px;letter-spacing:.02em;}
.sh-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.sh-footer__col a{color:var(--sh-muted);font-size:.92rem;transition:color .15s;text-decoration:none;}
.sh-footer__col a:hover{color:var(--sh-accent);text-decoration:none;}
.sh-footer a{text-decoration:none;}
.sh-footer__bottom{
  position:relative;z-index:1;max-width:var(--sh-maxw);margin:0 auto;
  padding:var(--s-3) 24px var(--s-4);border-top:1px solid var(--sh-border-soft);
  display:flex;flex-direction:column;gap:8px;
}
.sh-footer__disclosure{font-size:.78rem;color:var(--sh-muted-2);margin:0;line-height:1.5;max-width:820px;}
.sh-footer__copy{font-size:.82rem;color:var(--sh-muted-2);margin:0;}

@media (max-width:900px){
  .sh-footer__wrap{grid-template-columns:1fr 1fr;gap:var(--s-4) var(--s-3);}
  .sh-footer__brand{grid-column:1 / -1;}
}
@media (max-width:560px){
  .sh-footer__wrap{grid-template-columns:1fr 1fr;}
}

@media (max-width:768px){
  .main-navigation .main-nav ul{background:var(--sh-bg-2)!important;}
  .site-header .inside-header{padding-top:14px;padding-bottom:14px;}
}

/* =========================================================
   ABOUT PAGE (custom template, section-based like homepage)
   ========================================================= */
/* Custom templates render their own hero — hide GP page-header featured image.
   .shlohmo-front covers homepage + all full-template pages. */
.shlohmo-front .featured-image.page-header-image,
.shlohmo-front .page-header-image,
.sh-about .featured-image{display:none!important;}

/* Two-column prose block (white panel) */
.sh-about-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);}
.sh-about-two h2{font-size:clamp(1.4rem,3vw,2rem);}
.sh-about-two p{color:#4a4f5e!important;font-size:1.02rem;line-height:1.75;margin:0;}
.sh-about-two a{color:#6D5EF6;}
@media (max-width:800px){.sh-about-two{grid-template-columns:1fr;gap:var(--s-4);}}

/* About: sections span the full viewport width (wide inner wrap) */
.sh-about .sh-wrap{max-width:100%;padding:0 clamp(24px,6vw,90px);}
.sh-about .sh-about-hero .sh-wrap{max-width:100%;}

.sh-about-hero{padding-top:calc(var(--s-7) + 30px);padding-bottom:var(--s-6);}
.sh-about .sh-prose{max-width:820px;}
.sh-about .sh-prose h2{font-size:clamp(1.6rem,3.5vw,2.3rem);margin-bottom:.5em;}
.sh-about .sh-prose p{color:var(--sh-muted);font-size:1.08rem;line-height:1.8;margin:0 0 1.1em;}
.sh-about .sh-lead{font-size:clamp(1.15rem,2vw,1.4rem)!important;color:var(--sh-text)!important;line-height:1.6!important;font-weight:500;}
.sh-about .sh-prose a{color:var(--sh-accent);}

/* Light (white) full-width panels */
.sh-panel-light{background:#ffffff;color:#0f1115;position:relative;overflow:hidden;isolation:isolate;}
/* soft drifting tint glows (light version, stays readable) */
.sh-panel-light::before{
  content:"";position:absolute;inset:-20% -10%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(520px 520px at 12% 18%, rgba(109,94,246,.10), transparent 60%),
    radial-gradient(460px 460px at 88% 82%, rgba(34,224,138,.10), transparent 60%);
  animation:shDrift 24s ease-in-out infinite alternate;
}
/* faint animated waveform strip along the bottom (violet/green on white) */
.sh-panel-light::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:150px;z-index:-2;pointer-events:none;opacity:.10;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='140' viewBox='0 0 1200 140'><path d='M0 70 Q 75 10 150 70 T 300 70 T 450 70 T 600 70 T 750 70 T 900 70 T 1050 70 T 1200 70' fill='none' stroke='%236D5EF6' stroke-width='2.5'/><path d='M0 70 Q 75 130 150 70 T 300 70 T 450 70 T 600 70 T 750 70 T 900 70 T 1050 70 T 1200 70' fill='none' stroke='%2322C77E' stroke-width='2.5'/></svg>");
  background-repeat:repeat-x;background-size:600px 140px;
  animation:shWave 20s linear infinite;
}
.sh-panel-light h2,.sh-panel-light h3{color:#0f1115!important;}
.sh-panel-light p{color:#4a4f5e!important;}
.sh-panel-light .sh-prose p{color:#4a4f5e!important;}
.sh-panel-light .sh-prose a{color:#6D5EF6;}
.sh-eyebrow--ink{color:#16a06b!important;}
.sh-eyebrow--ink::before{background:#16a06b!important;}

/* "What you'll find" grid (on white) — 4 across on wide screens */
.sh-about-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3);}
@media (max-width:1100px){.sh-about-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.sh-about-grid{grid-template-columns:1fr;}}
.sh-about-item{background:#f6f7fb;border:1px solid #e6e8ef;border-radius:var(--sh-radius);padding:28px 26px;transition:transform .18s ease,border-color .18s ease;}
.sh-about-item:hover{transform:translateY(-4px);border-color:#c9ccd8;}
.sh-about-item__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:rgba(109,94,246,.12);color:#6D5EF6;margin-bottom:16px;}
.sh-about-item__icon svg{width:24px;height:24px;}
.sh-about-item h3{font-family:var(--sh-head);font-size:1.2rem;color:#0f1115!important;margin:0 0 8px;}
.sh-about-item p{color:#4a4f5e!important;font-size:.96rem;line-height:1.6;margin:0;}

/* Meet the team grid */
.sh-team{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-3);}
.sh-team__card{
  background:var(--sh-surface);border:1px solid var(--sh-border-soft);
  border-radius:var(--sh-radius);padding:24px 20px;text-align:center;
  transition:transform .18s ease,border-color .18s ease;
}
.sh-team__card:hover{transform:translateY(-5px);border-color:var(--sh-primary);}
.sh-team__photo{width:96px;height:96px;border-radius:50%;object-fit:cover;margin:0 auto 14px;border:2px solid var(--sh-border);display:block;}
.sh-team__card h3{font-family:var(--sh-head);font-size:1.1rem;margin:0 0 4px;color:var(--sh-text)!important;}
.sh-team__role{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sh-accent);margin-bottom:12px;}
.sh-team__card p{color:var(--sh-muted);font-size:.85rem;line-height:1.55;margin:0;}
@media (max-width:1100px){.sh-team{grid-template-columns:repeat(3,1fr);}}
@media (max-width:700px){.sh-team{grid-template-columns:repeat(2,1fr);}}
@media (max-width:460px){.sh-team{grid-template-columns:1fr;}}

/* ---------- CONTACT PAGE ---------- */
.sh-contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--s-6);align-items:start;}
.sh-contact-info h2{font-size:1.8rem;margin:.2em 0 .8em;}
.sh-contact-line{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.sh-contact-line__icon{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:rgba(109,94,246,.14);color:var(--sh-primary-hi);}
.sh-contact-line__icon svg{width:20px;height:20px;}
.sh-contact-line strong{display:block;color:var(--sh-text);font-family:var(--sh-head);font-size:1rem;margin-bottom:2px;}
.sh-contact-line a{color:var(--sh-accent);font-weight:600;word-break:break-word;}
.sh-contact-line small{display:block;color:var(--sh-muted-2);font-size:.82rem;margin-top:3px;}
.sh-contact-sub{font-family:var(--sh-head);font-size:1.05rem;color:var(--sh-text);margin:26px 0 12px;}
.sh-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.sh-contact-list li{color:var(--sh-muted);font-size:.95rem;padding-left:22px;position:relative;}
.sh-contact-list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--sh-accent);}

.sh-contact-formwrap{background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius);padding:clamp(24px,3vw,36px);}
.sh-contact-formwrap h2{font-size:1.5rem;margin:0 0 var(--s-3);}
.sh-field{margin-bottom:16px;display:flex;flex-direction:column;gap:7px;}
.sh-field label{font-size:.85rem;font-weight:600;color:var(--sh-muted);}
.sh-field input,.sh-field textarea{
  width:100%;padding:13px 15px;border-radius:10px;border:1px solid var(--sh-border);
  background:var(--sh-bg);color:var(--sh-text);font-size:.98rem;font-family:var(--sh-body);
  transition:border-color .15s;resize:vertical;
}
.sh-field input:focus,.sh-field textarea:focus{outline:none;border-color:var(--sh-accent);}
.sh-contact-form .sh-btn{margin-top:4px;}
.sh-contact-form__note{margin:14px 0 0;font-size:.88rem;font-weight:600;min-height:1.2em;}
@media (max-width:860px){.sh-contact-grid{grid-template-columns:1fr;gap:var(--s-5);}}

/* Author section spacing */
.sh-about-author .sh-trust__inner{gap:var(--s-5);}
.sh-about-author h2{font-size:2rem;margin:.2em 0 .4em;}
.sh-about-author p{margin-bottom:1em;}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .sh-home *,.sh-hero__eq span,
  .sh-section::before,.sh-section::after,.sh-trust::before,
  .sh-panel-light::before,.sh-panel-light::after,
  .site-content::before,.site-content::after{animation:none!important;transition:none!important;}
  .sh-card:hover .sh-card__thumb img{transform:none;}
}

/* =========================================================
   COOKIE CONSENT BANNER (GDPR + AdSense, theme-matched)
   ========================================================= */
.sh-cookie{
  position:fixed;left:0;right:0;bottom:0;z-index:100000;
  font-family:var(--sh-body);
  background:rgba(11,11,20,.92);
  -webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);
  border-top:1px solid var(--sh-border);
  box-shadow:0 -12px 40px -12px rgba(0,0,0,.7);
  animation:shCookieUp .35s ease;
}
@keyframes shCookieUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.sh-cookie__inner{max-width:var(--sh-maxw);margin:0 auto;padding:20px 24px;
  display:grid;grid-template-columns:1fr auto;gap:18px 28px;align-items:center;}
.sh-cookie__text strong{display:block;font-family:var(--sh-head);font-size:1.05rem;color:var(--sh-text);margin-bottom:4px;}
.sh-cookie__text p{margin:0;color:var(--sh-muted);font-size:.9rem;line-height:1.55;max-width:640px;}
.sh-cookie__text a{color:var(--sh-accent);}
.sh-cookie__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.sh-cookie__actions .sh-btn{padding:11px 18px;font-size:.9rem;}
/* preferences panel */
.sh-cookie__prefs{grid-column:1 / -1;display:flex;flex-direction:column;gap:10px;
  border-top:1px solid var(--sh-border-soft);padding-top:16px;margin-top:4px;}
.sh-cookie__row{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.sh-cookie__row span{display:flex;flex-direction:column;}
.sh-cookie__row strong{color:var(--sh-text);font-size:.92rem;}
.sh-cookie__row small{color:var(--sh-muted-2);font-size:.8rem;}
.sh-cookie__row input[type="checkbox"]{width:20px;height:20px;accent-color:var(--sh-accent);cursor:pointer;}
.sh-cookie__row input:disabled{opacity:.5;cursor:not-allowed;}
/* reopen floating button */
.sh-cookie-reopen{
  position:fixed;left:18px;bottom:18px;z-index:99999;
  width:44px;height:44px;border-radius:50%;cursor:pointer;
  background:var(--sh-surface);border:1px solid var(--sh-border);color:var(--sh-muted);
  display:grid;place-items:center;transition:color .15s,border-color .15s,transform .15s;
}
.sh-cookie-reopen:hover{color:var(--sh-accent);border-color:var(--sh-accent);transform:translateY(-2px);}
.sh-cookie-reopen svg{width:20px;height:20px;}
@media (max-width:720px){
  .sh-cookie__inner{grid-template-columns:1fr;}
  .sh-cookie__actions{justify-content:stretch;}
  .sh-cookie__actions .sh-btn{flex:1;justify-content:center;}
}
@media (prefers-reduced-motion:reduce){.sh-cookie{animation:none;}}

/* =========================================================
   SINGLE BLOG POST
   ========================================================= */
.sh-post-hero{padding-top:calc(var(--s-7) + 30px);padding-bottom:var(--s-5);}
.sh-post-hero a.sh-eyebrow{cursor:pointer;}

/* split header: featured image LEFT, title/meta RIGHT */
.sh-post-hero--split .sh-post-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);align-items:center;}
.sh-post-hero__img img{width:100%;height:auto;border-radius:var(--sh-radius);border:1px solid var(--sh-border);display:block;aspect-ratio:16/11;object-fit:cover;}
.sh-post-hero__text h1{margin-top:.1em;}
@media (max-width:820px){
  .sh-post-hero--split .sh-post-hero__grid{grid-template-columns:1fr;gap:var(--s-4);}
  .sh-post-hero__img{order:-1;}
}
.sh-post-hero h1{font-size:clamp(2rem,4.5vw,3.2rem);max-width:900px;letter-spacing:-.025em;}
.sh-post-meta{display:flex;align-items:center;gap:12px;margin-top:var(--s-3);}
.sh-post-meta__avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--sh-border);}
.sh-post-meta__by{display:flex;flex-direction:column;line-height:1.3;}
.sh-post-meta__by a{color:var(--sh-text);font-weight:600;font-family:var(--sh-head);}
.sh-post-meta__by a:hover{color:var(--sh-accent);}
.sh-post-meta__by small{color:var(--sh-muted-2);font-size:.82rem;margin-top:2px;}

/* featured image */
.sh-post-fimg{max-width:1000px;margin:0 auto var(--s-5);}
.sh-post-fimg img{width:100%;height:auto;border-radius:var(--sh-radius);border:1px solid var(--sh-border-soft);display:block;}

/* article body prose */
.sh-post-body{max-width:760px;margin:0 auto;}
.sh-post-body p,.sh-post-body li{color:var(--sh-muted);font-size:1.1rem;line-height:1.85;}
.sh-post-body p{margin:0 0 1.3em;}
.sh-post-body h2{font-family:var(--sh-head);color:var(--sh-text);font-size:clamp(1.5rem,3vw,2rem);margin:1.8em 0 .6em;letter-spacing:-.02em;}
.sh-post-body h3{font-family:var(--sh-head);color:var(--sh-text);font-size:1.35rem;margin:1.5em 0 .5em;}
.sh-post-body h4{font-family:var(--sh-head);color:var(--sh-text);font-size:1.12rem;margin:1.3em 0 .4em;}
.sh-post-body a{color:var(--sh-accent);text-decoration:underline;text-underline-offset:3px;}
.sh-post-body a:hover{color:var(--sh-accent-hi);}
.sh-post-body strong{color:var(--sh-text);}
.sh-post-body ul,.sh-post-body ol{margin:0 0 1.3em;padding-left:1.4em;}
.sh-post-body li{margin-bottom:.5em;}
.sh-post-body img{max-width:100%;height:auto;border-radius:var(--sh-radius-sm);margin:1.5em 0;}
.sh-post-body blockquote{
  border-left:3px solid var(--sh-accent);margin:1.6em 0;padding:6px 0 6px 22px;
  color:var(--sh-text);font-size:1.2rem;font-style:italic;
}
.sh-post-body blockquote p{color:var(--sh-text);margin-bottom:.4em;}
.sh-post-body code{background:var(--sh-surface-2);padding:2px 7px;border-radius:6px;font-size:.9em;color:var(--sh-accent-hi);}
.sh-post-body pre{background:var(--sh-surface-2);border:1px solid var(--sh-border);border-radius:var(--sh-radius-sm);padding:18px;overflow-x:auto;margin:1.5em 0;}
.sh-post-body pre code{background:none;padding:0;color:var(--sh-text);}
.sh-post-body hr{border:0;border-top:1px solid var(--sh-border);margin:2em 0;}
.sh-post-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.98rem;}
.sh-post-body th,.sh-post-body td{border:1px solid var(--sh-border);padding:10px 14px;text-align:left;color:var(--sh-muted);}
.sh-post-body th{background:var(--sh-surface-2);color:var(--sh-text);font-family:var(--sh-head);}

/* tags */
.sh-post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--sh-border-soft);}
.sh-post-tags a{font-size:.82rem;color:var(--sh-muted);background:var(--sh-surface);border:1px solid var(--sh-border-soft);padding:6px 12px;border-radius:999px;transition:border-color .15s,color .15s;}
.sh-post-tags a:hover{color:var(--sh-accent);border-color:var(--sh-accent);}

/* author box uses .sh-trust; slightly tighter */
.sh-post-author .sh-trust__inner{align-items:flex-start;}
.sh-post-author h2{font-size:1.6rem;margin:.2em 0 .5em;}

/* comments (dark) */
.sh-post-comments{background:var(--sh-bg);}
.sh-post-comments .comment-respond,
.sh-post-comments .comments-title,
.sh-post-comments .comment-reply-title{color:var(--sh-text);}
.sh-post-comments h2,.sh-post-comments h3{font-family:var(--sh-head);color:var(--sh-text);}
.sh-post-comments .comment-form label{color:var(--sh-muted);font-size:.88rem;}
.sh-post-comments input[type="text"],
.sh-post-comments input[type="email"],
.sh-post-comments input[type="url"],
.sh-post-comments textarea{
  width:100%;background:var(--sh-surface)!important;border:1px solid var(--sh-border)!important;
  color:var(--sh-text)!important;border-radius:10px;padding:12px 14px;font-family:var(--sh-body);
}
.sh-post-comments input:focus,.sh-post-comments textarea:focus{outline:none;border-color:var(--sh-accent)!important;}
.sh-post-comments .form-submit .submit,
.sh-post-comments #submit{
  background:var(--sh-accent)!important;color:var(--sh-ink)!important;border:0!important;
  border-radius:999px;padding:13px 26px;font-weight:700;font-family:var(--sh-body);cursor:pointer;
}
.sh-post-comments .comment-list{list-style:none;padding:0;}
.sh-post-comments .comment-body{background:var(--sh-surface);border:1px solid var(--sh-border-soft);border-radius:var(--sh-radius);padding:18px 20px;margin-bottom:16px;color:var(--sh-muted);}
.sh-post-comments .comment-author .fn{color:var(--sh-text);}
.sh-post-comments .comment-metadata a{color:var(--sh-muted-2);}
.sh-post-comments .comment-content p{color:var(--sh-muted);}

/* =========================================================
   BLOG LISTING PAGE (white section, light cards)
   ========================================================= */
.sh-blog-list{padding-top:var(--s-6);}
.sh-grid--3{grid-template-columns:repeat(3,1fr);}
@media (max-width:960px){.sh-grid--3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.sh-grid--3{grid-template-columns:1fr;}}

/* light cards on the white blog panel */
.sh-card--light{background:#f6f7fb;border:1px solid #e6e8ef;}
.sh-card--light:hover{border-color:#c9ccd8;box-shadow:0 18px 40px -20px rgba(17,17,30,.25);}
.sh-card--light .sh-card__thumb{background:linear-gradient(135deg,#eceef5,#e0e3ee);}
.sh-card--light .sh-tag{color:#16a06b;background:rgba(34,224,138,.12);}
.sh-card--light .sh-card__body h3 a{color:#0f1115;}
.sh-card--light:hover .sh-card__body h3 a{color:#6D5EF6;}
.sh-card--light .sh-card__excerpt{color:#4a4f5e;font-size:.9rem;line-height:1.55;margin:0;}
.sh-card--light .sh-card__meta{color:#8a8f9e;}

/* pagination */
.sh-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:var(--s-6);}
.sh-pagination .page-numbers{
  display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;
  border-radius:10px;border:1px solid #d7dae4;background:#fff;color:#0f1115;font-weight:600;
  font-family:var(--sh-body);transition:border-color .15s,background .15s,color .15s;
}
.sh-pagination a.page-numbers:hover{border-color:#6D5EF6;color:#6D5EF6;}
.sh-pagination .page-numbers.current{background:#6D5EF6;border-color:#6D5EF6;color:#fff;}
.sh-pagination .page-numbers.dots{border:0;background:none;}

/* =========================================================
   BLOG POST BUILDING BLOCKS (design, use via shortcodes)
   ========================================================= */

/* affiliate disclosure line */
.sh-post-body .sh-disclosure{
  font-size:.85rem;color:var(--sh-muted-2);background:var(--sh-surface);
  border:1px solid var(--sh-border-soft);border-left:3px solid var(--sh-accent);
  border-radius:8px;padding:10px 16px;margin:0 0 1.6em;font-style:italic;
}

/* product box */
.sh-pb{
  display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;
  background:linear-gradient(160deg,var(--sh-surface),var(--sh-surface-2));
  border:1px solid var(--sh-border);border-radius:var(--sh-radius);
  padding:22px;margin:1.8em 0;
}
.sh-pb__img img{width:100%;height:auto;border-radius:var(--sh-radius-sm);display:block;background:var(--sh-bg-2);aspect-ratio:1/1;object-fit:cover;}
.sh-pb__bestfor{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sh-accent);margin-bottom:6px;}
.sh-pb__name{font-family:var(--sh-head);font-size:1.25rem;color:var(--sh-text)!important;margin:0 0 6px!important;}
.sh-pb__rating{display:inline-block;color:var(--sh-primary-hi);font-weight:700;font-size:.9rem;margin-bottom:10px;}
.sh-pb__desc{color:var(--sh-muted)!important;font-size:.98rem!important;line-height:1.6!important;margin:0 0 16px!important;}
.sh-pb__btn{
  display:inline-flex;align-items:center;gap:8px;background:var(--sh-accent);color:var(--sh-ink)!important;
  padding:13px 24px;border-radius:999px;font-weight:700;font-size:.98rem;text-decoration:none!important;
  transition:transform .15s,background .15s;
}
.sh-pb__btn:hover{transform:translateY(-2px);background:var(--sh-accent-hi);}
@media (max-width:560px){.sh-pb{grid-template-columns:1fr;text-align:center;}.sh-pb__btn{justify-content:center;}}

/* pay-per-call CTA */
.sh-cta{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:
    radial-gradient(500px 240px at 100% 0%, rgba(34,224,138,.18), transparent 60%),
    linear-gradient(160deg,var(--sh-surface),var(--sh-surface-2));
  border:1px solid var(--sh-border);border-radius:var(--sh-radius);
  padding:24px 28px;margin:1.8em 0;
}
.sh-cta__text{display:flex;flex-direction:column;gap:3px;}
.sh-cta__text strong{font-family:var(--sh-head);font-size:1.15rem;color:var(--sh-text);}
.sh-cta__text span{color:var(--sh-muted);font-size:.95rem;}
.sh-cta__btn{
  display:inline-flex;align-items:center;gap:8px;background:var(--sh-accent);color:var(--sh-ink)!important;
  padding:14px 26px;border-radius:999px;font-weight:800;font-size:1rem;white-space:nowrap;text-decoration:none!important;
  transition:transform .15s,background .15s;
}
.sh-cta__btn:hover{transform:translateY(-2px);background:var(--sh-accent-hi);}
@media (max-width:560px){.sh-cta{flex-direction:column;text-align:center;}.sh-cta__btn{width:100%;justify-content:center;}}

/* FAQ accordion */
.sh-faq{margin:2em 0;}
.sh-faq__title{font-family:var(--sh-head);color:var(--sh-text);font-size:clamp(1.4rem,3vw,1.9rem);margin:0 0 var(--s-3);}
.sh-faq__item{
  background:var(--sh-surface);border:1px solid var(--sh-border-soft);border-radius:var(--sh-radius-sm);
  margin-bottom:12px;overflow:hidden;
}
.sh-faq__item summary{
  cursor:pointer;list-style:none;padding:16px 20px;font-family:var(--sh-head);font-weight:600;
  color:var(--sh-text);font-size:1.05rem;position:relative;padding-right:44px;
}
.sh-faq__item summary::-webkit-details-marker{display:none;}
.sh-faq__item summary::after{
  content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  color:var(--sh-accent);font-size:1.4rem;font-weight:400;transition:transform .2s;
}
.sh-faq__item[open] summary::after{content:"\2013";}
.sh-faq__a{padding:0 20px 18px;color:var(--sh-muted);line-height:1.7;}
.sh-faq__a p{color:var(--sh-muted)!important;margin:0 0 .8em;}

/* comparison / price tables already styled by .sh-post-body table */

/* =========================================================
   WHITE ARTICLE READING AREA (single post content on white)
   ========================================================= */
.sh-single .sh-article-white{background:#ffffff!important;color:#0f1115;}
.sh-single .sh-article-white::before,
.sh-single .sh-article-white::after{display:none!important;}
/* text */
.sh-article-white .sh-post-body p,
.sh-article-white .sh-post-body li{color:#3f4451;}
.sh-article-white .sh-post-body h2,
.sh-article-white .sh-post-body h3,
.sh-article-white .sh-post-body h4{color:#0f1115;}
.sh-article-white .sh-post-body strong{color:#0f1115;}
.sh-article-white .sh-post-body a{color:#6D5EF6;}
.sh-article-white .sh-post-body a:hover{color:#5a48e0;}
.sh-article-white .sh-post-body blockquote{border-left-color:#6D5EF6;color:#0f1115;}
.sh-article-white .sh-post-body blockquote p{color:#0f1115;}
.sh-article-white .sh-post-body hr{border-top-color:#e6e8ef;}

/* tables on white */
.sh-article-white .sh-post-body table{border-color:#e6e8ef;}
.sh-article-white .sh-post-body th{background:#f2f3f8;color:#0f1115;border-color:#e6e8ef;}
.sh-article-white .sh-post-body td{color:#3f4451;border-color:#e6e8ef;}

/* disclosure on white */
.sh-article-white .sh-disclosure{background:#f6f7fb;border-color:#e6e8ef;border-left-color:#22c77e;color:#6a6f7e;}

/* product box on white */
.sh-article-white .sh-pb{background:#f6f7fb;border-color:#e6e8ef;}
.sh-article-white .sh-pb__name{color:#0f1115!important;}
.sh-article-white .sh-pb__rating{color:#6D5EF6;}
.sh-article-white .sh-pb__desc{color:#4a4f5e!important;}
.sh-article-white .sh-pb__bestfor{color:#16a06b;}
.sh-article-white .sh-pb__img img{background:#e8eaf2;}

/* call CTA on white (keep it punchy) */
.sh-article-white .sh-cta{
  background:
    radial-gradient(500px 240px at 100% 0%, rgba(34,224,138,.18), transparent 60%),
    linear-gradient(160deg,#f6f7fb,#eef0f7);
  border-color:#e0e3ee;
}
.sh-article-white .sh-cta__text strong{color:#0f1115;}
.sh-article-white .sh-cta__text span{color:#4a4f5e;}

/* FAQ on white */
.sh-article-white .sh-faq__title{color:#0f1115;}
.sh-article-white .sh-faq__item{background:#f6f7fb;border-color:#e6e8ef;}
.sh-article-white .sh-faq__item summary{color:#0f1115;}
.sh-article-white .sh-faq__a,
.sh-article-white .sh-faq__a p{color:#4a4f5e!important;}

/* tags on white */
.sh-article-white .sh-post-tags{border-top-color:#e6e8ef;}
.sh-article-white .sh-post-tags a{background:#f2f3f8;border-color:#e6e8ef;color:#4a4f5e;}
.sh-article-white .sh-post-tags a:hover{color:#6D5EF6;border-color:#6D5EF6;}

/* the white article also carries the light animated bg from .sh-panel-light */

/* =========================================================
   FLOWING SOUND WAVES (hero animation, oscilloscope style)
   ========================================================= */
.sh-hero__waves{position:absolute;inset:auto 0 0 0;height:240px;z-index:-1;pointer-events:none;overflow:hidden;}
.sh-hero__waves svg{width:200%;height:100%;display:block;}
.sh-wave{fill:none;stroke-width:2.5;opacity:.5;}
.sh-wave--1{stroke:var(--sh-primary-hi);opacity:.45;animation:shFlow 9s linear infinite;}
.sh-wave--2{stroke:var(--sh-accent);opacity:.35;animation:shFlow 13s linear infinite reverse;}
.sh-wave--3{stroke:#4d7bff;opacity:.25;animation:shFlow 17s linear infinite;}
@keyframes shFlow{
  from{transform:translateX(0);}
  to{transform:translateX(-720px);}
}
/* soft filled glow under the waves */
.sh-hero--waves .sh-hero__waves::after{
  content:"";position:absolute;inset:auto 0 0 0;height:120px;
  background:linear-gradient(180deg,transparent,rgba(109,94,246,.10));
}
@media (prefers-reduced-motion:reduce){
  .sh-wave{animation:none!important;}
}

/* related + comments white sections */
.sh-related-white .sh-section__head h2{color:#0f1115;}
.sh-comments-white{background:#ffffff!important;}
.sh-comments-white h2,.sh-comments-white h3,
.sh-comments-white .comment-reply-title{color:#0f1115!important;}
.sh-comments-white .comment-form label{color:#4a4f5e;}
.sh-comments-white input[type="text"],
.sh-comments-white input[type="email"],
.sh-comments-white input[type="url"],
.sh-comments-white textarea{
  background:#f6f7fb!important;border:1px solid #d7dae4!important;color:#0f1115!important;
}
.sh-comments-white input:focus,.sh-comments-white textarea:focus{border-color:#6D5EF6!important;}
.sh-comments-white .comment-body{background:#f6f7fb;border-color:#e6e8ef;}
.sh-comments-white .comment-author .fn{color:#0f1115;}
.sh-comments-white .comment-content p{color:#4a4f5e;}
.sh-comments-white .comment-metadata a,
.sh-comments-white .comment-form-cookies-consent label{color:#8a8f9e;}

/* =========================================================
   TABLE OF CONTENTS (auto, in white article)
   ========================================================= */
html{scroll-behavior:smooth;}
.sh-toc{
  background:#f6f7fb;border:1px solid #e6e8ef;border-radius:var(--sh-radius);
  padding:20px 24px;margin:0 0 2em;
}
.sh-toc__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.sh-toc__head span{font-family:var(--sh-head);font-weight:700;font-size:1rem;color:#0f1115;letter-spacing:-.01em;}
.sh-toc__toggle{background:none;border:0;color:#6D5EF6;font-weight:600;font-size:.82rem;cursor:pointer;font-family:var(--sh-body);}
.sh-toc__list{list-style:none;margin:0;padding:0;counter-reset:toc;}
.sh-toc__item{margin:0 0 8px;}
.sh-toc__item a{color:#3f4451!important;font-size:.96rem;text-decoration:none!important;transition:color .15s;display:inline-block;}
.sh-toc__item a:hover{color:#6D5EF6!important;}
.sh-toc__item--2{counter-increment:toc;}
.sh-toc__item--2 a::before{content:counter(toc) ". ";color:#8a8f9e;font-weight:600;}
.sh-toc__item--3{padding-left:22px;}
.sh-toc__item--3 a{font-size:.9rem;color:#5a5f6e!important;}
.sh-toc__item--3 a::before{content:"\2013\00a0";color:#b0b4c0;}
/* offset anchor targets so the sticky header doesn't cover them */
.sh-post-body :is(h2,h3)[id]{scroll-margin-top:90px;}

/* =========================================================
   PREMIUM SINGLE POST (v2 - editorial)
   ========================================================= */

/* reading progress */
.sh-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100001;background:transparent;pointer-events:none;}
.sh-progress__bar{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sh-accent),var(--sh-primary-hi));transition:width .1s linear;}

/* dramatic hero */
.sh-phero{position:relative;overflow:hidden;isolation:isolate;padding:calc(var(--s-7) + 60px) 0 var(--s-6);min-height:62vh;display:flex;align-items:flex-end;background:var(--sh-bg-2);}
.sh-phero__bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transform:scale(1.05);filter:saturate(1.05);}
.sh-phero__scrim{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg, rgba(11,11,20,.55) 0%, rgba(11,11,20,.35) 40%, rgba(11,11,20,.92) 100%),
  radial-gradient(900px 500px at 15% 0%, rgba(109,94,246,.28), transparent 60%);}
.sh-phero:not(.sh-phero--img) .sh-phero__scrim{background:
  radial-gradient(1100px 600px at 78% -8%, rgba(109,94,246,.30), transparent 62%),
  linear-gradient(180deg,var(--sh-bg-2),var(--sh-bg));}
.sh-phero__inner{position:relative;z-index:1;max-width:900px;}
.sh-phero__cat{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sh-ink);background:var(--sh-accent);padding:7px 14px;border-radius:999px;margin-bottom:20px;}
.sh-phero__title{font-family:var(--sh-head);font-size:clamp(2.2rem,5.5vw,4rem);line-height:1.05;letter-spacing:-.03em;color:#fff;margin:0 0 .35em;text-shadow:0 2px 30px rgba(0,0,0,.4);}
.sh-phero__dek{font-size:clamp(1.1rem,1.8vw,1.4rem);color:rgba(255,255,255,.82);max-width:680px;line-height:1.5;margin:0 0 var(--s-4);}
.sh-phero__meta{display:flex;align-items:center;gap:13px;}
.sh-phero__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.4);}
.sh-phero__meta span{display:flex;flex-direction:column;line-height:1.3;}
.sh-phero__meta a{color:#fff;font-weight:700;font-family:var(--sh-head);}
.sh-phero__meta small{color:rgba(255,255,255,.7);font-size:.85rem;margin-top:2px;}

/* article grid: content + sticky sidebar */
.sh-article{background:#fff!important;color:#0f1115;padding:var(--s-6) 0 var(--s-7);overflow:visible!important;}
.sh-article::before,.sh-article::after{display:none!important;}
.sh-article__grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--s-6);align-items:stretch;max-width:1080px;margin:0 auto;}
.sh-article__main{min-width:0;}
/* column stretches full height; the inner sidebox sticks and follows scroll */
.sh-article__side{position:relative;}
.sh-article__side .sh-article__sidebox{position:-webkit-sticky;position:sticky;top:40px;}
.sh-article__side .sh-toc{max-height:calc(100vh - 100px);overflow-y:auto;overscroll-behavior:contain;margin:0;}
.sh-article__side .sh-toc::-webkit-scrollbar{width:5px;}
.sh-article__side .sh-toc::-webkit-scrollbar-thumb{background:#d7dae4;border-radius:6px;}

/* premium reading typography (on white) */
.sh-article .sh-post-body{max-width:none;}
.sh-article .sh-post-body>p{font-size:1.16rem;line-height:1.85;color:#2e333f;margin:0 0 1.4em;}
/* drop cap on first paragraph after TOC/disclosure */
.sh-article .sh-post-body>p:first-of-type::first-letter,
.sh-article .sh-post-body>p.has-drop-cap::first-letter{
  float:left;font-family:var(--sh-head);font-weight:700;font-size:3.4em;line-height:.78;
  padding:6px 12px 0 0;color:#6D5EF6;
}
.sh-article .sh-post-body h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:1.9em 0 .5em;color:#0f1115;position:relative;padding-top:.4em;}
.sh-article .sh-post-body h2::before{content:"";position:absolute;top:0;left:0;width:44px;height:3px;background:linear-gradient(90deg,var(--sh-accent),var(--sh-primary));border-radius:3px;}
.sh-article .sh-post-body h3{font-size:1.4rem;margin:1.5em 0 .5em;color:#0f1115;}
.sh-article .sh-post-body strong{color:#0f1115;}
.sh-article .sh-post-body a{color:#6D5EF6;}
.sh-article .sh-post-body ul,.sh-article .sh-post-body ol{margin:0 0 1.4em;}
.sh-article .sh-post-body li{font-size:1.1rem;line-height:1.75;color:#2e333f;margin-bottom:.6em;}
.sh-article .sh-post-body blockquote{
  border:0;background:linear-gradient(135deg,#f3f1ff,#eafaf3);border-radius:16px;
  padding:26px 30px;margin:1.8em 0;position:relative;font-style:normal;
}
.sh-article .sh-post-body blockquote::before{content:"\201C";position:absolute;top:2px;left:16px;font-size:4rem;color:#6D5EF6;opacity:.3;font-family:Georgia,serif;}
.sh-article .sh-post-body blockquote p{font-size:1.3rem;line-height:1.5;color:#1a1d26;font-weight:500;margin:0;padding-left:24px;}

/* share rail in sidebar */
.sh-share{margin-top:24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.sh-share span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a8f9e;}
.sh-share a{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;border:1px solid #e0e3ee;color:#6a6f7e;transition:all .15s;}
.sh-share a:hover{border-color:#6D5EF6;color:#6D5EF6;transform:translateY(-2px);}
.sh-share svg{width:18px;height:18px;}

/* TOC in sidebar (override the white-article default box look) */
.sh-article__side .sh-toc{margin:0;position:relative;}
.sh-article__side .sh-toc__item.is-active>a{color:#6D5EF6!important;font-weight:700;}
.sh-article__side .sh-toc__item.is-active{border-left:2px solid #6D5EF6;margin-left:-2px;padding-left:8px;}

@media (max-width:960px){
  .sh-article__grid{grid-template-columns:1fr;}
  .sh-article__side{position:static;order:-1;margin-bottom:var(--s-3);}
  .sh-share{flex-direction:row;align-items:center;margin-top:16px;}
  .sh-phero{min-height:48vh;}
}

/* single post: header is overlay at top but NOT sticky on scroll */
.sh-single-page .site-header{position:absolute!important;}
.sh-single-page .site-header.sh-scrolled{position:absolute!important;background:transparent!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:transparent!important;}
/* TOC anchors: less top offset since header isn't fixed here */
.sh-single-page .sh-post-body :is(h2,h3)[id]{scroll-margin-top:24px;}

/* key takeaway / quick answer box */
.sh-key{
  background:linear-gradient(135deg,#eef0ff,#e8faf1);
  border:1px solid #dfe3f2;border-radius:16px;padding:22px 26px;margin:1.8em 0;position:relative;
}
.sh-key__badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--sh-head);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#16a06b;margin-bottom:8px;}
.sh-key__badge::before{content:"";width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#22e08a,#16a06b);}
.sh-key__body,.sh-key__body p{color:#1a1d26!important;font-size:1.12rem!important;line-height:1.6!important;font-weight:500;margin:0!important;}

/* share bar at the bottom of the article (white area) */
.sh-sharebar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;
  margin-top:2.4em;padding-top:1.6em;border-top:1px solid #e6e8ef;}
.sh-sharebar__label{font-family:var(--sh-head);font-weight:700;font-size:.95rem;color:#0f1115;}
.sh-sharebar__links{display:flex;flex-wrap:wrap;gap:9px;}
.sh-sharebar__links a{
  font-size:.85rem;font-weight:600;color:#4a4f5e;background:#f2f3f8;border:1px solid #e0e3ee;
  padding:8px 16px;border-radius:999px;text-decoration:none;transition:all .15s;
}
.sh-sharebar__links a:hover{background:#6D5EF6;border-color:#6D5EF6;color:#fff;transform:translateY(-2px);}

/* product box WITHOUT image: single full-width column */
.sh-pb--noimg{grid-template-columns:1fr!important;}
.sh-pb--noimg .sh-pb__btn{align-self:flex-start;white-space:nowrap;}
.sh-pb--noimg .sh-pb__body{display:flex;flex-direction:column;align-items:flex-start;}
/* keep the CTA button from wrapping text */
.sh-pb__btn{white-space:nowrap;}

/* =========================================================
   CUSTOM COMMENTS (v2, styled)
   ========================================================= */
.sh-comments{max-width:760px;margin:0 auto;}
.sh-comments__title{font-family:var(--sh-head);font-size:1.6rem;color:#0f1115;margin:0 0 var(--s-4);}
.sh-comments__title span{color:#6D5EF6;}
.sh-comments__list{list-style:none;margin:0 0 var(--s-5);padding:0;}
.sh-comment{margin-bottom:18px;}
.sh-comment .children{list-style:none;margin:14px 0 0 30px;padding-left:20px;border-left:2px solid #eceef5;}
.sh-comment__inner{display:flex;gap:16px;background:#f6f7fb;border:1px solid #e6e8ef;border-radius:16px;padding:20px 22px;}
.sh-comment__avatar{width:52px!important;height:52px!important;border-radius:50%;flex:none;object-fit:cover;aspect-ratio:1/1;}
.sh-comment__inner img.avatar{width:52px!important;height:52px!important;border-radius:50%;object-fit:cover;}
.sh-comment__body{flex:1;min-width:0;}
.sh-comment__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.sh-comment__author{font-family:var(--sh-head);font-weight:700;color:#0f1115;font-size:1rem;}
.sh-comment__date{font-size:.8rem;color:#8a8f9e;}
.sh-comment__text{color:#3f4451;line-height:1.65;font-size:1rem;}
.sh-comment__text p{color:#3f4451;margin:0 0 .6em;}
.sh-comment .comment-reply-link{display:inline-block;margin-top:8px;font-size:.82rem;font-weight:600;color:#6D5EF6;text-decoration:none;}
.sh-comment .comment-reply-link:hover{text-decoration:underline;}

/* comment form (styled) */
.sh-cform,.comment-respond{background:#f6f7fb;border:1px solid #e6e8ef;border-radius:18px;padding:clamp(24px,3vw,34px);}
.sh-cform__title,.comment-reply-title{font-family:var(--sh-head)!important;font-size:1.4rem!important;color:#0f1115!important;margin:0 0 6px!important;}
.sh-cform__note{font-size:.88rem;color:#6a6f7e;margin:0 0 20px;}
.sh-cform__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.sh-cform__row{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.sh-cform__row label,.comment-form label{font-size:.85rem;font-weight:600;color:#4a4f5e;}
.sh-cform__row input,.sh-cform__row textarea,
.comment-form input[type="text"],.comment-form input[type="email"],
.comment-form input[type="url"],.comment-form textarea{
  width:100%;background:#fff!important;border:1px solid #d7dae4!important;color:#0f1115!important;
  border-radius:10px;padding:12px 15px;font-size:.98rem;font-family:var(--sh-body);transition:border-color .15s;
}
.sh-cform__row input:focus,.sh-cform__row textarea:focus,
.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:#6D5EF6!important;}
.comment-form .form-submit{margin-top:6px;}
.comment-form .form-submit .submit,.sh-cform .submit{
  background:var(--sh-accent)!important;color:var(--sh-ink)!important;border:0!important;
  border-radius:999px;padding:14px 30px;font-weight:700;font-family:var(--sh-body);cursor:pointer;font-size:1rem;
  transition:transform .15s,background .15s;
}
.comment-form .form-submit .submit:hover{transform:translateY(-2px);background:var(--sh-accent-hi)!important;}
.comment-form-cookies-consent{display:flex;align-items:center;gap:8px;margin:8px 0 16px;}
.comment-form-cookies-consent label{color:#8a8f9e!important;font-size:.85rem;}
@media (max-width:560px){.sh-cform__grid{grid-template-columns:1fr;gap:0;}}

/* =========================================================
   ARCHIVE PAGES (category / tag / author)
   ========================================================= */
.sh-archhero{padding-top:calc(var(--s-7) + 30px);padding-bottom:var(--s-6);}
.sh-archhero h1{font-family:var(--sh-head);font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:-.025em;color:#fff;margin:0 0 .2em;}
.sh-archhero .sh-hero__sub{margin-top:var(--s-3);max-width:640px;}
/* author hero: avatar + name row */
.sh-archhero__top{display:flex;align-items:center;gap:22px;}
.sh-archhero__avatar{width:110px;height:110px;border-radius:24px;object-fit:cover;border:1px solid var(--sh-border);box-shadow:var(--sh-shadow);flex:none;}
.sh-archhero__role{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sh-accent);margin-top:6px;}
@media (max-width:560px){
  .sh-archhero__top{flex-direction:column;text-align:center;align-items:center;}
}

/* =========================================================
   SERVICES HUB CARDS
   ========================================================= */
.sh-grid--4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1000px){.sh-grid--4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.sh-grid--4{grid-template-columns:1fr;}}
.sh-hubcard{
  background:#f6f7fb;border:1px solid #e6e8ef;border-radius:var(--sh-radius);
  padding:28px 24px;text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s;
  display:flex;flex-direction:column;text-decoration:none;
}
.sh-hubcard:hover{transform:translateY(-5px);border-color:#c9ccd8;box-shadow:0 18px 40px -20px rgba(17,17,30,.25);}
.sh-hubcard__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:rgba(109,94,246,.12);color:#6D5EF6;margin-bottom:16px;}
.sh-hubcard__icon svg{width:24px;height:24px;}
.sh-hubcard h3{font-family:var(--sh-head);font-size:1.2rem;color:#0f1115;margin:0 0 8px;}
.sh-hubcard p{color:#4a4f5e;font-size:.9rem;line-height:1.55;margin:0 0 14px;flex:1;}
.sh-hubcard__count{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#16a06b;}

/* =========================================================
   BREADCRUMBS (services, GEO)
   ========================================================= */
.sh-crumbs{margin:0 0 1.6em;}
.sh-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.85rem;}
.sh-crumbs li{color:#8a8f9e;display:flex;align-items:center;gap:6px;}
.sh-crumbs li:not(:last-child)::after{content:"/";color:#c9ccd8;margin-left:6px;}
.sh-crumbs a{color:#6D5EF6;text-decoration:none;}
.sh-crumbs a:hover{text-decoration:underline;}
.sh-crumbs li[aria-current]{color:#4a4f5e;font-weight:600;}
/* on dark sub-hero pages breadcrumbs sit in white prose, so keep them dark-friendly */
.sh-prose .sh-crumbs li{color:#8a8f9e;}
