
:root{--bg:#f5f6f2;--paper:#fff;--ink:#0c1110;--muted:#5f6a66;--line:#dfe5e1;--accent:#35d399;--accent-dark:#087453;--soft:#eaf7f1;--deep:#08100d;--max:1180px;--reading:760px;--shadow:0 20px 70px rgba(15,35,27,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.72;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:9999;background:#fff;padding:.7rem 1rem;border-radius:12px}.reading-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:9999}
.topbar{border-bottom:1px solid var(--line);background:rgba(245,246,242,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:100}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:900}.brand img{width:45px;height:45px;object-fit:contain}.brand span{white-space:nowrap}.navlinks{display:flex;align-items:center;gap:24px}.navlinks a{font-size:.92rem;color:#26312d}.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--accent-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.82rem 1.08rem;border-radius:13px;border:1px solid var(--ink);font-weight:800;background:var(--ink);color:#fff}.btn:hover{transform:translateY(-1px)}.btn.small{padding:.62rem .88rem;font-size:.9rem}.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;width:44px;height:44px}.arrow{font-size:1.05em}
.blog-hero{padding:86px 0 56px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 85% 20%,rgba(53,211,153,.12),transparent 32%)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;color:#1a7356}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}h1,h2,h3{line-height:1.12;letter-spacing:-.035em;margin:0;color:var(--ink)}.blog-hero h1{max-width:980px;font-size:clamp(2.8rem,6vw,5.7rem);margin-top:18px}.blog-hero .dek{max-width:780px;font-size:1.18rem;color:var(--muted);margin:22px 0 0}.byline{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:24px;color:#56615d;font-size:.9rem}.byline a{font-weight:750;color:#185e48}.section{padding:72px 0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}.prose{max-width:var(--reading);font-size:1.04rem}.prose p{color:#3f4a46;margin:0 0 1.25rem}.prose .lead{font-size:1.18rem;color:#25302c}.prose h2{font-size:clamp(1.9rem,3.4vw,2.75rem);margin:3rem 0 1rem}.prose h3{font-size:1.45rem;margin:2rem 0 .8rem}.prose ul,.prose ol{padding-left:1.25rem;margin:0 0 1.35rem}.prose li{color:#3f4a46;margin:.45rem 0}.prose a{color:#086c4e;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose a:hover{color:#034f39}.quick-answer,.key-box,.source-box,.author-box{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:24px;margin:0 0 2rem}.quick-answer{border-left:5px solid var(--accent);background:linear-gradient(135deg,#fff,#f2fbf7)}.quick-answer strong,.key-box strong,.source-box strong{display:block;margin-bottom:.45rem}.answer-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#187051;font-weight:850}.key-box ul{margin:.7rem 0 0}.source-box{background:#fbfcfa;font-size:.94rem}.source-box p:last-child{margin-bottom:0}.author-box{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}.author-initial{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--deep);color:#fff;font-weight:900}.author-box p{margin:.35rem 0 0;font-size:.95rem}.faq-item{border-top:1px solid var(--line);padding:18px 0}.faq-item h3{font-size:1.15rem;margin:0 0 .55rem}.faq-item p{margin:0}.toc{position:sticky;top:98px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 30px rgba(15,35,27,.04)}.toc b{display:block;margin-bottom:10px}.toc a{display:block;padding:.35rem 0;color:var(--muted);font-size:.9rem;line-height:1.35}.toc a:hover,.toc a.active{color:var(--accent-dark);font-weight:750}.toc .toc-cta{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);color:#0b644a;font-weight:750}.related{padding:0 0 76px}.related-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px}.related-card h2{font-size:1.7rem;margin-bottom:12px}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related-links a{padding:14px;border:1px solid var(--line);border-radius:14px;font-weight:750;color:#244138}.related-links a:hover{border-color:#76c9aa;background:#f2fbf7}
.blog-index-hero{padding:90px 0 54px}.blog-index-hero h1{font-size:clamp(3rem,6vw,5.8rem);max-width:920px;margin-top:16px}.blog-index-hero p{max-width:760px;font-size:1.15rem;color:var(--muted)}.cluster{padding:40px 0}.cluster-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.cluster-head h2{font-size:2.2rem}.cluster-head p{max-width:560px;margin:0;color:var(--muted)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;flex-direction:column;min-height:280px}.post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.post-card .tag{font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#187051}.post-card h3{font-size:1.45rem;margin:12px 0}.post-card p{color:var(--muted);font-size:.95rem}.post-card .read{margin-top:auto;font-weight:850;color:#0d6b4e}.footer{padding:60px 0 24px;background:#08100d;color:#fff;margin-top:50px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer .brand img{width:65px;height:65px}.footer p,.footer a{color:#aeb9b4}.footer a:hover{color:#fff}.socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.social-link{width:42px;height:42px;border-radius:12px;border:1px solid #26352f;display:grid;place-items:center}.social-link img{width:20px;height:20px;filter:invert(1);opacity:.82}.copyright{border-top:1px solid #1b2a24;margin-top:42px;padding-top:20px;font-size:.86rem;color:#84918b}
@media(max-width:980px){.navlinks{position:fixed;inset:76px 20px auto 20px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.navlinks.open{display:flex}.menu{display:block}.nav>.btn{display:none}.content-grid{grid-template-columns:1fr}.prose{max-width:none}.toc{position:static;order:-1}.blog-grid{grid-template-columns:repeat(2,1fr)}.related-links{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.wrap{width:min(100% - 26px,var(--max))}.blog-hero{padding:58px 0 40px}.blog-hero h1{font-size:clamp(2.35rem,12vw,3.8rem)}.section{padding:50px 0}.content-grid{gap:26px}.prose h2{margin-top:2.5rem}.quick-answer,.key-box,.source-box,.author-box{border-radius:18px;padding:20px}.blog-grid,.related-links,.footer-grid{grid-template-columns:1fr}.cluster-head{align-items:start;flex-direction:column}.brand span{font-size:.92rem}}

/* 
   BLOG INDEX ENHANCEMENTS
   
*/

.bloghub-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 12% 8%,rgba(53,211,153,.17),transparent 28%),
    radial-gradient(circle at 88% 16%,rgba(112,146,255,.16),transparent 30%),
    #f3f4f0;
  border-bottom:1px solid var(--line);
}

.bloghub-hero-bg{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.28;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(12,17,16,.025) 0,
      rgba(12,17,16,.025) 1px,
      transparent 1px,
      transparent 4px
    );
}

.bloghub-hero-grid{
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  gap:clamp(45px,7vw,100px);
  align-items:center;
  padding:70px 0 60px;
}

.bloghub-hero-copy h1{
  max-width:900px;
  margin:15px 0 0;
  font-size:clamp(3.7rem,7.2vw,7rem);
  line-height:.88;
  letter-spacing:-.075em;
}

.bloghub-hero-copy h1 span{
  display:block;
  color:#087453;
}

.bloghub-hero-copy > p{
  max-width:720px;
  margin:28px 0 0;
  font-size:clamp(1rem,1.35vw,1.16rem);
  line-height:1.8;
}

.bloghub-topic-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:30px;
}

.bloghub-topic-links a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(12,17,16,.14);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  font-size:.72rem;
  font-weight:850;
  backdrop-filter:blur(10px);
}

.bloghub-topic-links a:hover{
  background:#0c1110;
  color:#fff;
}

.bloghub-hero-visual{
  position:relative;
  justify-self:end;
  width:min(100%,500px);
  aspect-ratio:1/1;
}

.bloghub-hero-visual::before{
  content:"";
  position:absolute;
  inset:10%;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 25%,#fff,rgba(224,247,237,.9) 38%,rgba(53,211,153,.12) 68%,transparent 69%);
  filter:drop-shadow(0 28px 55px rgba(15,60,45,.15));
}

.bloghub-search-card{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  width:190px;
  height:190px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(12,17,16,.13);
  border-radius:28px;
  background:rgba(255,255,255,.82);
  box-shadow:0 24px 60px rgba(12,17,16,.11);
  backdrop-filter:blur(14px);
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
  padding:18px;
}

.bloghub-search-card > span{
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.13em;
  color:#6a746f;
}

.bloghub-search-card strong{
  margin:8px 0;
  font-size:4.3rem;
  line-height:.82;
  letter-spacing:-.1em;
}

.bloghub-search-card small{
  color:#69736e;
  font-size:.7rem;
  line-height:1.45;
}

.bloghub-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border:1px solid rgba(12,17,16,.18);
  border-radius:50%;
}

.orbit-one{
  width:74%;
  height:74%;
  margin:-37% 0 0 -37%;
  animation:bloghubOrbit 18s linear infinite;
}

.orbit-two{
  width:94%;
  height:56%;
  margin:-28% 0 0 -47%;
  transform:rotate(58deg);
  animation:bloghubOrbitAlt 24s linear infinite reverse;
}

@keyframes bloghubOrbit{
  to{transform:rotate(360deg)}
}

@keyframes bloghubOrbitAlt{
  to{transform:rotate(418deg)}
}

.bloghub-floating{
  position:absolute;
  z-index:6;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border:1px solid rgba(12,17,16,.14);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  box-shadow:0 12px 28px rgba(12,17,16,.08);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
}

.floating-a{left:3%;top:24%}
.floating-b{right:0;top:29%}
.floating-c{right:9%;bottom:19%}
.floating-d{left:8%;bottom:18%}


/* STICKY TOPIC NAV */

.bloghub-sticky-nav{
  position:sticky;
  top:76px;
  z-index:80;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
}

.bloghub-sticky-nav .wrap{
  display:flex;
  gap:22px;
  overflow-x:auto;
  scrollbar-width:none;
}

.bloghub-sticky-nav .wrap::-webkit-scrollbar{
  display:none;
}

.bloghub-sticky-nav a{
  flex:0 0 auto;
  padding:13px 0;
  color:#59625e;
  font-size:.75rem;
  font-weight:850;
  border-bottom:2px solid transparent;
}

.bloghub-sticky-nav a:hover{
  color:#087453;
  border-bottom-color:#087453;
}


/* SHARED SECTION HEAD */

.bloghub-featured,
.bloghub-cluster,
.bloghub-start,
.bloghub-author,
.bloghub-final{
  padding:92px 0;
}

.bloghub-section-head,
.bloghub-cluster-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:34px;
  margin-bottom:38px;
}

.bloghub-section-head h2,
.bloghub-cluster-head h2{
  max-width:820px;
  margin:10px 0 0;
  font-size:clamp(2.2rem,5vw,4.7rem);
  line-height:.96;
  letter-spacing:-.055em;
}

.bloghub-section-head > p,
.bloghub-cluster-head > p{
  max-width:520px;
  margin:0;
  line-height:1.7;
}

.bloghub-cluster-index{
  display:block;
  margin-bottom:10px;
  color:#8a928e;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.13em;
}


/* FEATURED */

.bloghub-featured{
  background:#fff;
}

.bloghub-feature-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  grid-template-rows:1fr 1fr;
  gap:14px;
}

.bloghub-feature-main,
.bloghub-feature-side{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:#f7f8f5;
}

.bloghub-feature-main{
  grid-row:1/3;
  min-height:520px;
  padding:34px;
  display:flex;
  flex-direction:column;
}

.bloghub-feature-num{
  color:#087453;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
}

.bloghub-feature-content{
  position:relative;
  z-index:3;
  max-width:670px;
  margin-top:auto;
}

.bloghub-category{
  display:inline-block;
  color:#087453;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.bloghub-feature-main h3{
  margin:14px 0;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:.98;
  letter-spacing:-.05em;
}

.bloghub-feature-main p{
  max-width:620px;
  line-height:1.75;
}

.bloghub-feature-art{
  position:absolute;
  right:-35px;
  top:-35px;
  width:280px;
  height:280px;
  border:1px solid rgba(12,17,16,.08);
  border-radius:50%;
  display:grid;
  place-items:center;
  opacity:.65;
}

.bloghub-feature-art::before,
.bloghub-feature-art::after{
  content:"";
  position:absolute;
  border:1px solid rgba(12,17,16,.09);
  border-radius:50%;
}

.bloghub-feature-art::before{inset:35px}
.bloghub-feature-art::after{inset:75px}

.bloghub-feature-art > span{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-weight:900;
  font-size:2.5rem;
}

.bloghub-feature-art i{
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#087453;
}

.bloghub-feature-art i:nth-of-type(1){top:38px;left:70px}
.bloghub-feature-art i:nth-of-type(2){right:48px;bottom:70px}
.bloghub-feature-art i:nth-of-type(3){left:70px;bottom:35px}

.bloghub-feature-side{
  min-height:250px;
  padding:26px;
  display:flex;
  flex-direction:column;
}

.bloghub-feature-side.local{
  background:linear-gradient(145deg,#e5f8ef,#fbfffd);
}

.bloghub-feature-side.ai{
  background:linear-gradient(145deg,#f4ecff,#fff);
}

.bloghub-feature-side h3{
  margin:12px 0;
  font-size:1.45rem;
  line-height:1.08;
}

.bloghub-feature-side p{
  font-size:.9rem;
  line-height:1.65;
}

.bloghub-read{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  margin-top:auto;
  color:#087453;
  font-size:.82rem;
  font-weight:900;
}

.bloghub-read span{
  transition:.18s ease;
}

.bloghub-read:hover span{
  transform:translate(3px,-3px);
}


/* CLUSTER CARDS */

.bloghub-cluster{
  background:#f4f5f1;
}

.bloghub-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.bloghub-card{
  min-height:330px;
  padding:25px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  display:flex;
  flex-direction:column;
  transition:.2s ease;
}

.bloghub-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 45px rgba(15,35,27,.08);
}

.bloghub-card h3{
  margin:18px 0 12px;
  font-size:1.4rem;
  line-height:1.1;
}

.bloghub-card p{
  font-size:.9rem;
  line-height:1.7;
}

.bloghub-card-wide{
  grid-column:span 3;
  min-height:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px;
  align-items:end;
}

.bloghub-card-wide > div{
  max-width:780px;
}


/* DARK TECH CLUSTER */

.bloghub-cluster-dark{
  background:#0c1512;
  color:#fff;
}

.bloghub-cluster-dark .bloghub-cluster-index{
  color:#74877e;
}

.bloghub-cluster-dark .eyebrow{
  color:#7be7bd;
}

.bloghub-cluster-dark .eyebrow::before{
  background:#7be7bd;
}

.bloghub-cluster-dark .bloghub-cluster-head > p{
  color:#9eaca5;
}

.bloghub-tech-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.bloghub-tech-card{
  min-height:300px;
  padding:26px;
  border:1px solid #24352e;
  border-radius:25px;
  background:#111d19;
  display:flex;
  flex-direction:column;
}

.bloghub-tech-card.featured-tech{
  grid-row:span 2;
  min-height:614px;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 80% 12%,rgba(53,211,153,.2),transparent 28%),
    #111d19;
}

.bloghub-tech-card .bloghub-category{
  color:#7be7bd;
}

.bloghub-tech-card h3{
  margin:16px 0 13px;
  font-size:1.55rem;
  line-height:1.07;
}

.bloghub-tech-card.featured-tech h3{
  max-width:650px;
  font-size:clamp(2rem,3.6vw,3.6rem);
  letter-spacing:-.045em;
}

.bloghub-tech-card p{
  color:#9eaca5;
  line-height:1.7;
}

.bloghub-tech-card .bloghub-read{
  color:#7be7bd;
}

.bloghub-service-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:16px;
  padding:24px 0;
  border-top:1px solid #26382f;
  border-bottom:1px solid #26382f;
}

.bloghub-service-link span{
  display:block;
  color:#7c8f85;
  font-size:.72rem;
  font-weight:800;
}

.bloghub-service-link strong{
  display:block;
  margin-top:5px;
  font-size:1rem;
}

.bloghub-service-link > div:last-child{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

.bloghub-service-link a{
  color:#7be7bd;
  font-size:.82rem;
  font-weight:900;
}


/* EDITORIAL PAIR */

.bloghub-editorial-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.bloghub-editorial-pair article{
  position:relative;
  overflow:hidden;
  min-height:390px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  display:flex;
  flex-direction:column;
}

.bloghub-editorial-pair article:first-child{
  background:linear-gradient(145deg,#f8efe4,#fff);
}

.bloghub-editorial-pair article:last-child{
  background:linear-gradient(145deg,#eef1ff,#fff);
}

.bloghub-editorial-pair article::after{
  content:"";
  position:absolute;
  right:-55px;
  top:-55px;
  width:180px;
  height:180px;
  border:1px solid rgba(12,17,16,.08);
  border-radius:50%;
  box-shadow:
    0 0 0 28px rgba(12,17,16,.02),
    0 0 0 58px rgba(12,17,16,.015);
}

.bloghub-editorial-pair h3{
  position:relative;
  z-index:2;
  max-width:580px;
  margin:24px 0 14px;
  font-size:clamp(1.8rem,3vw,2.8rem);
  line-height:1;
  letter-spacing:-.045em;
}

.bloghub-editorial-pair p{
  position:relative;
  z-index:2;
  max-width:600px;
  line-height:1.75;
}

.bloghub-editorial-pair .bloghub-read{
  position:relative;
  z-index:2;
}


/* START HERE */

.bloghub-start{
  background:#fff;
}

.bloghub-start-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
}

.bloghub-start-grid > a{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px 16px;
  padding:28px 24px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  transition:.18s ease;
}

.bloghub-start-grid > a:nth-child(2n){
  border-right:0;
}

.bloghub-start-grid > a:hover{
  background:#f5f7f3;
}

.bloghub-start-grid span{
  grid-row:1/3;
  color:#087453;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
}

.bloghub-start-grid strong{
  font-size:1.1rem;
  line-height:1.35;
}

.bloghub-start-grid small{
  color:#707873;
  font-weight:800;
}


/* AUTHOR */

.bloghub-author{
  background:#eef1ec;
}

.bloghub-author-grid{
  display:grid;
  grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);
  gap:clamp(38px,7vw,90px);
  align-items:center;
}

.bloghub-author-photo{
  overflow:hidden;
  border-radius:30px;
  background:#dde3de;
}

.bloghub-author-photo img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}

.bloghub-author-grid h2{
  max-width:800px;
  margin:12px 0 18px;
  font-size:clamp(2.3rem,4.8vw,4.6rem);
  line-height:.96;
  letter-spacing:-.055em;
}

.bloghub-author-grid p{
  max-width:720px;
  line-height:1.8;
}

.bloghub-author-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:26px;
}


/* FINAL CTA */

.bloghub-final{
  background:#fff;
  padding-top:20px;
}

.bloghub-final-card{
  position:relative;
  overflow:hidden;
  padding:clamp(36px,6vw,72px);
  border-radius:38px;
  background:
    radial-gradient(circle at 88% 15%,rgba(53,211,153,.2),transparent 26%),
    #0c1512;
  color:#fff;
}

.bloghub-final-card::after{
  content:"SEO";
  position:absolute;
  right:-25px;
  bottom:-85px;
  color:rgba(255,255,255,.035);
  font-size:clamp(10rem,24vw,25rem);
  line-height:.7;
  font-weight:950;
  letter-spacing:-.1em;
}

.bloghub-final-card > *{
  position:relative;
  z-index:2;
}

.bloghub-final-card .eyebrow{
  color:#7be7bd;
}

.bloghub-final-card .eyebrow::before{
  background:#7be7bd;
}

.bloghub-final-card h2{
  max-width:920px;
  margin:16px 0 20px;
  font-size:clamp(2.8rem,6vw,6rem);
  line-height:.9;
  letter-spacing:-.065em;
}

.bloghub-final-card p{
  max-width:690px;
  color:#aeb9b4;
  line-height:1.8;
}

.bloghub-final-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}

.bloghub-final-card .btn{
  background:#fff;
  color:#111;
  border-color:#fff;
}

.bloghub-final-card .btn.secondary{
  background:transparent;
  color:#fff;
  border-color:#3e5048;
}


/* RESPONSIVE */

@media(max-width:1000px){

  .bloghub-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(330px,.72fr);
  }

  .bloghub-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bloghub-card-wide{
    grid-column:span 2;
  }
}

@media(max-width:820px){

  .bloghub-hero-grid,
  .bloghub-author-grid{
    grid-template-columns:1fr;
  }

  .bloghub-hero-grid{
    min-height:auto;
    padding:54px 0 48px;
  }

  .bloghub-hero-visual{
    justify-self:center;
    width:min(480px,92vw);
  }

  .bloghub-section-head,
  .bloghub-cluster-head{
    align-items:start;
    flex-direction:column;
  }

  .bloghub-feature-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
  }

  .bloghub-feature-main{
    grid-column:1/-1;
    grid-row:auto;
    min-height:430px;
  }

  .bloghub-tech-grid{
    grid-template-columns:1fr;
  }

  .bloghub-tech-card.featured-tech{
    grid-row:auto;
    min-height:400px;
  }

  .bloghub-service-link{
    align-items:flex-start;
    flex-direction:column;
  }

  .bloghub-author-photo{
    max-width:430px;
  }
}

@media(max-width:640px){

  .bloghub-hero-copy h1{
    font-size:clamp(3.2rem,15vw,5rem);
  }

  .bloghub-hero-copy > p{
    font-size:.96rem;
  }

  .bloghub-hero-visual{
    width:100%;
  }

  .bloghub-search-card{
    width:145px;
    height:145px;
    border-radius:22px;
  }

  .bloghub-search-card strong{
    font-size:3.2rem;
  }

  .bloghub-floating{
    min-height:27px;
    padding:0 8px;
    font-size:.54rem;
  }

  .bloghub-sticky-nav{
    top:76px;
  }

  .bloghub-featured,
  .bloghub-cluster,
  .bloghub-start,
  .bloghub-author,
  .bloghub-final{
    padding:66px 0;
  }

  .bloghub-feature-grid,
  .bloghub-card-grid,
  .bloghub-editorial-pair,
  .bloghub-start-grid{
    grid-template-columns:1fr;
  }

  .bloghub-feature-main,
  .bloghub-feature-side,
  .bloghub-card,
  .bloghub-editorial-pair article{
    min-height:auto;
  }

  .bloghub-feature-main{
    padding:24px;
    min-height:430px;
  }

  .bloghub-feature-art{
    width:210px;
    height:210px;
  }

  .bloghub-card-wide{
    grid-column:auto;
    display:flex;
    align-items:flex-start;
  }

  .bloghub-start-grid > a,
  .bloghub-start-grid > a:nth-child(2n){
    border-right:0;
  }

  .bloghub-author-links{
    display:grid;
    grid-template-columns:1fr;
  }

  .bloghub-author-links .btn{
    width:100%;
  }

  .bloghub-final-card{
    border-radius:26px;
  }

  .bloghub-final-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .bloghub-final-actions .btn{
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .orbit-one,
  .orbit-two{
    animation:none!important;
  }

  .bloghub-card,
  .bloghub-feature-art,
  .bloghub-read span{
    transition:none!important;
  }
}

/* =========================================================
   BLOG SEARCH SYSTEM
   Paste at the END of assets/css/blog.css
========================================================= */

.blogsearch-shell{
  position:relative;
  z-index:35;
  margin-top:-34px;
  padding-bottom:6px;
}

.blogsearch-box{
  position:relative;
  padding:18px;
  border:1px solid rgba(12,17,16,.12);
  border-radius:26px;
  background:rgba(255,255,255,.94);
  box-shadow:0 24px 65px rgba(15,35,27,.11);
  backdrop-filter:blur(18px);
}

.blogsearch-main{
  position:relative;
}

.blogsearch-label{
  display:block;
  margin:0 0 8px 4px;
  color:#626c67;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.blogsearch-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
}

.blogsearch-icon{
  position:absolute;
  left:18px;
  width:22px;
  height:22px;
  color:#66706b;
  pointer-events:none;
}

#blog-search-input{
  width:100%;
  min-height:62px;
  padding:0 88px 0 54px;
  border:1px solid #d9dfdb;
  border-radius:18px;
  outline:none;
  background:#f8faf7;
  color:#0c1110;
  font-size:1rem;
  transition:.18s ease;
}

#blog-search-input::placeholder{
  color:#959d99;
}

#blog-search-input:focus{
  border-color:#087453;
  background:#fff;
  box-shadow:0 0 0 4px rgba(53,211,153,.11);
}

.blogsearch-shortcut{
  position:absolute;
  right:18px;
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid #d9dfdb;
  border-radius:8px;
  background:#fff;
  color:#727b76;
  font-size:.72rem;
  font-weight:900;
  pointer-events:none;
}

.blogsearch-clear{
  position:absolute;
  right:54px;
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:#e9eeeb;
  color:#34413b;
  cursor:pointer;
  font-size:1.3rem;
  line-height:1;
}

.blogsearch-clear:hover{
  background:#111;
  color:#fff;
}


/* LIVE SUGGESTIONS */

.blogsearch-suggestions{
  position:absolute;
  z-index:100;
  left:0;
  right:0;
  top:calc(100% + 8px);
  max-height:430px;
  overflow:auto;
  padding:8px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 60px rgba(15,35,27,.16);
}

.blogsearch-suggestion{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border-radius:13px;
  transition:.14s ease;
}

.blogsearch-suggestion:hover,
.blogsearch-suggestion.selected{
  background:#f0f7f3;
}

.blogsearch-suggestion > span{
  color:#087453;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.blogsearch-suggestion strong{
  font-size:.9rem;
  line-height:1.35;
}

.blogsearch-suggestion small{
  display:-webkit-box;
  overflow:hidden;
  color:#77807b;
  font-size:.72rem;
  line-height:1.45;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
}

.blogsearch-suggestion-empty{
  padding:16px;
  color:#737d78;
  text-align:center;
  font-size:.82rem;
}

.blogsearch-suggestions mark,
.blogsearch-result-card mark{
  padding:0 .08em;
  border-radius:3px;
  background:#c9f5df;
  color:inherit;
}


/* FILTERS */

.blogsearch-filters{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:13px;
}

.blogsearch-filters button{
  min-height:34px;
  padding:0 12px;
  border:1px solid #dde3df;
  border-radius:999px;
  background:#fff;
  color:#5d6762;
  font-size:.7rem;
  font-weight:850;
  cursor:pointer;
}

.blogsearch-filters button:hover,
.blogsearch-filters button.active{
  border-color:#111;
  background:#111;
  color:#fff;
}

.blogsearch-popular{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf0ee;
}

.blogsearch-popular > span{
  color:#8b938f;
  font-size:.66rem;
  font-weight:850;
}

.blogsearch-popular button{
  padding:0;
  border:0;
  background:transparent;
  color:#087453;
  font-size:.68rem;
  font-weight:800;
  cursor:pointer;
}

.blogsearch-popular button:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}


/* SEARCH RESULTS */

.blogsearch-results{
  scroll-margin-top:145px;
  padding:78px 0 92px;
  background:#fff;
}

.blogsearch-results-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:28px;
}

.blogsearch-results-head h2{
  margin:9px 0 0;
  max-width:850px;
  font-size:clamp(2.2rem,5vw,4.5rem);
  line-height:.95;
  letter-spacing:-.055em;
}

.blogsearch-results-head > p{
  margin:0;
  color:#69736e;
  font-size:.84rem;
  font-weight:800;
}

.blogsearch-results-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.blogsearch-result-card{
  min-width:0;
  min-height:330px;
  padding:25px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#f8f9f6;
  display:flex;
  flex-direction:column;
  transition:.2s ease;
}

.blogsearch-result-card:hover{
  transform:translateY(-4px);
  border-color:#cdd7d1;
  box-shadow:0 20px 46px rgba(15,35,27,.08);
}

.blogsearch-result-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#7a837e;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.blogsearch-result-top span:first-child{
  color:#087453;
}

.blogsearch-result-card h3{
  margin:22px 0 13px;
  font-size:1.45rem;
  line-height:1.08;
  overflow-wrap:anywhere;
}

.blogsearch-result-card p{
  margin:0 0 24px;
  color:#66706b;
  font-size:.9rem;
  line-height:1.7;
}

.blogsearch-result-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid #e1e6e3;
  color:#087453;
  font-size:.82rem;
  font-weight:900;
}

.blogsearch-result-link span{
  transition:.18s ease;
}

.blogsearch-result-card:hover .blogsearch-result-link span{
  transform:translate(3px,-3px);
}


/* EMPTY STATE */

.blogsearch-empty{
  padding:60px 24px;
  border:1px dashed #cfd7d2;
  border-radius:24px;
  background:#f8faf7;
  text-align:center;
}

.blogsearch-empty > span{
  color:#087453;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.14em;
}

.blogsearch-empty h3{
  margin:10px 0;
  font-size:clamp(1.7rem,3vw,2.5rem);
}

.blogsearch-empty p{
  max-width:560px;
  margin:0 auto 22px;
}


/* When a search/filter is active, keep the page focused on results. */

body.blog-search-active #featured,
body.blog-search-active #local-seo,
body.blog-search-active #technical-seo,
body.blog-search-active #content-authority,
body.blog-search-active #start-here{
  display:none;
}


/* RESPONSIVE */

@media(max-width:1000px){
  .blogsearch-results-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:820px){
  .blogsearch-results-head{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
}

@media(max-width:640px){
  .blogsearch-shell{
    margin-top:-22px;
  }

  .blogsearch-box{
    padding:12px;
    border-radius:20px;
  }

  #blog-search-input{
    min-height:56px;
    padding-left:48px;
    padding-right:78px;
    border-radius:15px;
    font-size:.9rem;
  }

  .blogsearch-icon{
    left:15px;
    width:20px;
    height:20px;
  }

  .blogsearch-shortcut{
    display:none;
  }

  .blogsearch-clear{
    right:13px;
  }

  .blogsearch-filters{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }

  .blogsearch-filters::-webkit-scrollbar{
    display:none;
  }

  .blogsearch-filters button{
    flex:0 0 auto;
  }

  .blogsearch-popular{
    align-items:flex-start;
  }

  .blogsearch-suggestions{
    max-height:55vh;
  }

  .blogsearch-results{
    padding:58px 0 68px;
  }

  .blogsearch-results-grid{
    grid-template-columns:1fr;
  }

  .blogsearch-result-card{
    min-height:auto;
  }
}

@media(prefers-reduced-motion:reduce){
  .blogsearch-result-card,
  .blogsearch-result-link span{
    transition:none!important;
  }
}

/* =========================================================
   FIX: TECHNICAL SEO DARK SECTION TEXT
========================================================= */

.bloghub-cluster-dark{
  background:#0c1512;
  color:#fff;
}

/* Main heading */
.bloghub-cluster-dark h2{
  color:#fff !important;
}

/* Intro paragraph */
.bloghub-cluster-dark .bloghub-cluster-head > p{
  color:#aebbb5 !important;
}

/* Topic cluster number */
.bloghub-cluster-dark .bloghub-cluster-index{
  color:#82958c !important;
}

/* Eyebrow */
.bloghub-cluster-dark .eyebrow{
  color:#7be7bd !important;
}

.bloghub-cluster-dark .eyebrow::before{
  background:#7be7bd !important;
}


/* ARTICLE CARDS */

.bloghub-cluster-dark .bloghub-tech-card{
  background:#111d19;
  border-color:#293b33;
  color:#fff;
}

.bloghub-cluster-dark .bloghub-tech-card h3,
.bloghub-cluster-dark .bloghub-tech-card h3 a{
  color:#fff !important;
}

.bloghub-cluster-dark .bloghub-tech-card h3 a:hover{
  color:#7be7bd !important;
}

.bloghub-cluster-dark .bloghub-tech-card p{
  color:#aebbb5 !important;
}

.bloghub-cluster-dark .bloghub-category{
  color:#7be7bd !important;
}

.bloghub-cluster-dark .bloghub-read{
  color:#7be7bd !important;
}

.bloghub-cluster-dark .bloghub-read:hover{
  color:#fff !important;
}


/* BOTTOM SERVICE CTA */

.bloghub-cluster-dark .bloghub-service-link{
  border-color:#2c4037;
}

.bloghub-cluster-dark .bloghub-service-link span{
  color:#90a198 !important;
}

.bloghub-cluster-dark .bloghub-service-link strong{
  color:#fff !important;
}

.bloghub-cluster-dark .bloghub-service-link a{
  color:#7be7bd !important;
}

.bloghub-cluster-dark .bloghub-service-link a:hover{
  color:#fff !important;
}

/* =========================================================
   FIX: BLOG FINAL CTA DARK SECTION
========================================================= */

.bloghub-final-card{
  background:
    radial-gradient(circle at 88% 15%, rgba(53,211,153,.20), transparent 26%),
    #0c1512;
  color:#fff !important;
}

.bloghub-final-card .eyebrow{
  color:#7be7bd !important;
}

.bloghub-final-card .eyebrow::before{
  background:#7be7bd !important;
}

.bloghub-final-card h2{
  color:#fff !important;
}

.bloghub-final-card p{
  color:#aebbb5 !important;
}


/* PRIMARY BUTTON */

.bloghub-final-card .btn{
  background:#fff !important;
  border-color:#fff !important;
  color:#111 !important;
}

.bloghub-final-card .btn:hover{
  background:#7be7bd !important;
  border-color:#7be7bd !important;
  color:#0c1512 !important;
}


/* SECONDARY BUTTON */

.bloghub-final-card .btn.secondary{
  background:transparent !important;
  border-color:#46594f !important;
  color:#fff !important;
}

.bloghub-final-card .btn.secondary:hover{
  background:#fff !important;
  border-color:#fff !important;
  color:#111 !important;
}

/* =========================================================
   FIX: SEARCH DROPDOWN ABOVE STICKY BLOG NAV
========================================================= */

.blogsearch-shell{
  position:relative;
  z-index:200 !important;
}

.blogsearch-box{
  position:relative;
  z-index:201;
}

.blogsearch-main{
  position:relative;
  z-index:202;
}

.blogsearch-suggestions{
  z-index:9999 !important;
}

.bloghub-sticky-nav{
  z-index:80;
}


/* SEO_TOPIC_NAV_V1 */
.dir-article-topic{margin:42px 0 0;padding:28px 0;background:#eef4ee;border-top:1px solid #d7e3d8;border-bottom:1px solid #d7e3d8}
.dir-article-topic .dir-article-topic-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.dir-article-topic .dir-article-topic-meta{display:block;color:#257253;font-weight:850;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.dir-article-topic .dir-article-topic-title{display:block;color:#15251b;font-size:1.4rem;font-weight:850;line-height:1.25;margin-top:7px}
.dir-article-topic .dir-article-topic-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.dir-article-topic .dir-article-topic-links a{color:#176244;background:#fff;border:1px solid #d3e0d5;border-radius:8px;padding:9px 13px;font-weight:750;font-size:.84rem}
.dir-article-topic .dir-article-topic-links a:hover{background:#d9f4e4;border-color:#8dc2a4}
@media(max-width:700px){.dir-article-topic .dir-article-topic-inner{display:block}.dir-article-topic .dir-article-topic-links{justify-content:flex-start;margin-top:18px}}
