/* ============================================================
   HAUSTEN BLOG (Journal) — archive widgets + single post.
   Colors/fonts read the Hausten Kit globals (hex fallbacks).
   Prefixes: .hb-* (all scoped).
   ============================================================ */
.hb-featured,.hb-grid,.hb-story-list,.hb-archive-grid,.hb-cat-nav,.hb-single{
  --teal: var(--e-global-color-primary, #11a6a0);
  --line: rgba(255,255,255,.14);
  --ink:  var(--e-global-color-accent, #fafafa);
  --muted:#92928e;
  --panel: var(--e-global-color-haustennear, #111111);
  --disp: var(--e-global-typography-primary-font-family, 'Bebas Neue'), Impact, sans-serif;
  --body: var(--e-global-typography-text-font-family, 'Inter'), Arial, sans-serif;
  font-family: var(--body); color: var(--ink);
}
.hb-empty{border:1px dashed var(--line);padding:40px;text-align:center;color:var(--muted);}

/* photo backgrounds */
.hb-has-photo{background-image:var(--photo);background-size:cover;background-position:center;position:relative;isolation:isolate;}
.hb-has-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.66));z-index:0;}
.hb-has-photo>*{position:relative;z-index:2;}

/* ---------- Featured ---------- */
.hb-featured{display:grid;grid-template-columns:1.15fr .85fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
@media(max-width:900px){.hb-featured{grid-template-columns:1fr;}}
.hb-featured-img{min-height:560px;background:var(--panel);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none;}
@media(max-width:900px){.hb-featured-img{min-height:420px;}}
.hb-fnum{position:absolute;top:32px;left:34px;color:var(--teal);font-size:1.1rem;font-family:var(--disp);}
.hb-fword{font-family:var(--disp);font-size:clamp(70px,11vw,170px);letter-spacing:.02em;color:rgba(255,255,255,.14);transform:rotate(-90deg);white-space:nowrap;}
.hb-featured-body{padding:64px 6%;display:flex;flex-direction:column;justify-content:center;}
.hb-meta{display:flex;gap:20px;color:#767672;font-size:.63rem;letter-spacing:.15em;font-weight:600;flex-wrap:wrap;}
.hb-meta span:first-child{color:var(--teal);}
.hb-featured-body h2{font-family:var(--disp);font-size:clamp(42px,5vw,68px);letter-spacing:.02em;line-height:1;margin:28px 0;text-transform:uppercase;}
.hb-featured-body h2 a{color:var(--ink);text-decoration:none;}
.hb-featured-body p{color:#9a9a96;line-height:1.7;font-size:1.02rem;max-width:590px;margin:0 0 35px;}
.hb-read-link{font-size:.73rem;letter-spacing:.13em;font-weight:600;border-bottom:1px solid #4c4c49;padding-bottom:6px;width:max-content;color:var(--ink);text-decoration:none;}
.hb-read-link:hover,.hb-small-link:hover{color:var(--teal);}

/* ---------- Post grid ---------- */
.hb-grid{display:grid;gap:36px;}
.hb-grid--2{grid-template-columns:repeat(2,1fr);}
.hb-grid--3{grid-template-columns:repeat(3,1fr);}
.hb-grid--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.hb-grid--2,.hb-grid--3,.hb-grid--4{grid-template-columns:1fr;}}
.hb-card{border-top:1px solid var(--line);padding-top:16px;}
.hb-card-img{display:flex;align-items:flex-end;justify-content:space-between;aspect-ratio:4/3;padding:24px;margin-bottom:22px;background:var(--panel);overflow:hidden;text-decoration:none;transition:filter .25s ease;}
.hb-card-img:hover{filter:saturate(1.1);}
.hb-cnum{font-family:var(--disp);font-size:2rem;color:var(--teal);text-shadow:0 2px 18px #000;}
.hb-card-img em{font-style:normal;font-size:.55rem;letter-spacing:.16em;color:rgba(255,255,255,.7);}
.hb-card-meta{display:flex;gap:16px;color:#767672;font-size:.6rem;letter-spacing:.14em;font-weight:600;}
.hb-card-meta span:first-child{color:var(--teal);}
.hb-card h3{font-family:var(--disp);font-size:clamp(24px,2.4vw,34px);line-height:1.02;letter-spacing:.02em;margin:15px 0;text-transform:uppercase;}
.hb-card h3 a{color:var(--ink);text-decoration:none;}
.hb-card p{font-size:.9rem;line-height:1.65;color:#888884;margin:0 0 20px;}
.hb-small-link{font-size:.73rem;letter-spacing:.13em;font-weight:600;color:var(--ink);text-decoration:none;}

/* ---------- Story list ---------- */
.hb-story{display:grid;grid-template-columns:55px 1fr 80px 30px;gap:18px;align-items:center;padding:28px 0;border-top:1px solid var(--line);}
.hb-story:last-child{border-bottom:1px solid var(--line);}
.hb-story-num{color:var(--teal);font-family:var(--disp);font-size:1.3rem;}
.hb-story-main span{font-size:.61rem;letter-spacing:.15em;color:#777;font-weight:600;}
.hb-story-main h3{font-family:var(--disp);font-size:1.5rem;letter-spacing:.02em;margin:7px 0;text-transform:uppercase;}
.hb-story-main h3 a{color:var(--ink);text-decoration:none;}
.hb-story-date{font-size:.65rem;color:#666;letter-spacing:.1em;}
.hb-story-arrow{color:var(--ink);text-decoration:none;}
.hb-story-arrow:hover{color:var(--teal);}
@media(max-width:900px){.hb-story{grid-template-columns:45px 1fr 30px;}.hb-story-date{display:none;}}

/* ---------- Archive grid ---------- */
.hb-archive-grid{display:grid;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.hb-archive-grid--1{grid-template-columns:1fr;}
.hb-archive-grid--2{grid-template-columns:repeat(2,1fr);}
.hb-archive-grid--3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.hb-archive-grid--2,.hb-archive-grid--3{grid-template-columns:1fr;}}
.hb-arch-item{padding:32px;min-height:220px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:55px 1fr;grid-template-rows:auto 1fr auto;gap:14px;text-decoration:none;color:var(--ink);}
.hb-arch-item:hover{background:var(--panel);}
.hb-arch-item span{color:var(--teal);grid-row:1/4;font-family:var(--disp);font-size:1.4rem;}
.hb-arch-item b{font-size:.62rem;color:#777;letter-spacing:.15em;font-weight:600;}
.hb-arch-item strong{font-family:var(--disp);font-size:1.6rem;line-height:1.05;letter-spacing:.02em;font-weight:400;text-transform:uppercase;}
.hb-arch-item small{font-size:.62rem;color:#5d5d5a;letter-spacing:.12em;}

/* ---------- Category nav ---------- */
.hb-cat-nav{display:flex;gap:34px;align-items:center;overflow:auto;white-space:nowrap;}
.hb-cat{font-size:.77rem;color:#777;text-decoration:none;}
.hb-cat:hover,.hb-cat.is-selected{color:var(--ink);}
.hb-cat.is-selected::after{content:"";display:block;width:100%;height:1px;background:var(--teal);margin-top:6px;}

/* ============================================================
   SINGLE POST
   ============================================================ */
.hb-single{background:var(--e-global-color-haustenblack,#050606);}
.hb-article-header{padding:75px 10vw 80px;border-bottom:1px solid var(--line);}
.hb-back{font-size:.65rem;color:#777;letter-spacing:.13em;display:inline-block;margin-bottom:60px;text-decoration:none;}
.hb-back:hover{color:var(--teal);}
.hb-article-cat{font-size:.68rem;letter-spacing:.23em;color:var(--teal);}
.hb-article-header h1{font-family:var(--disp);font-size:clamp(56px,8vw,112px);line-height:.9;letter-spacing:.01em;margin:24px 0 32px;max-width:1250px;text-transform:uppercase;}
.hb-deck{font-size:clamp(19px,2vw,27px);line-height:1.5;color:#959591;max-width:850px;}
.hb-article-info{display:flex;gap:60px;margin-top:55px;padding-top:25px;border-top:1px solid var(--line);flex-wrap:wrap;}
.hb-article-info div{display:flex;flex-direction:column;gap:6px;}
.hb-article-info span{font-size:.58rem;color:#555;letter-spacing:.14em;}
.hb-article-info strong{font-size:.75rem;font-weight:400;color:#aaa;}
.hb-article-feature{height:64vh;min-height:520px;background:var(--panel);display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--line);overflow:hidden;}
@media(max-width:600px){.hb-article-feature{min-height:350px;height:50vh;}}
.hb-feature-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,6,6,.72),rgba(5,6,6,.2),rgba(5,6,6,.55));}
.hb-feature-type{font-family:var(--disp);font-size:clamp(76px,13vw,200px);line-height:.8;letter-spacing:.01em;text-align:center;color:rgba(255,255,255,.16);position:relative;z-index:2;}
.hb-article-feature>span{position:absolute;left:5vw;bottom:28px;font-size:.62rem;color:rgba(255,255,255,.6);letter-spacing:.16em;z-index:2;}
.hb-article-layout{display:grid;grid-template-columns:230px minmax(0,800px);gap:95px;justify-content:center;padding:100px 7vw 130px;border-bottom:1px solid var(--line);}
@media(max-width:900px){.hb-article-layout{grid-template-columns:1fr;gap:0;}.hb-article-sidebar{display:none;}}
.hb-article-sidebar{height:max-content;position:sticky;top:110px;}
.hb-side-block{border-top:1px solid var(--line);padding-top:18px;margin-bottom:50px;display:flex;flex-direction:column;gap:13px;}
.hb-side-block>span{font-size:.58rem;color:var(--teal);letter-spacing:.16em;margin-bottom:6px;}
.hb-side-block a{font-size:.75rem;color:#747470;text-decoration:none;}
.hb-side-block a:hover{color:var(--ink);}
/* the_content styling */
.hb-article-content p{font-size:1.15rem;line-height:1.85;color:#babab5;}
.hb-article-content>p:first-of-type{font-size:1.4rem;line-height:1.68;color:#eeeeea;}
.hb-article-content h2{font-family:var(--disp);font-size:clamp(38px,4.6vw,60px);line-height:1;letter-spacing:.01em;margin:80px 0 26px;text-transform:uppercase;color:var(--ink);scroll-margin-top:110px;}
.hb-article-content h3{font-family:var(--disp);font-size:clamp(28px,3vw,40px);margin:50px 0 18px;text-transform:uppercase;letter-spacing:.02em;}
.hb-article-content a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
.hb-article-content img{width:100%;height:auto;display:block;margin:60px 0;filter:saturate(.7) contrast(1.06);}
.hb-article-content ul,.hb-article-content ol{color:#babab5;font-size:1.1rem;line-height:1.8;padding-left:1.2em;}
.hb-article-content blockquote{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0;margin:70px 0;
  font-family:var(--body);font-size:clamp(30px,3.6vw,50px);line-height:1.12;letter-spacing:-.01em;color:var(--ink);}
.hb-article-content figure{margin:60px 0;}
.hb-article-content figcaption{font-size:.62rem;color:#666;letter-spacing:.15em;margin-top:12px;text-transform:uppercase;}
.hb-article-tags{display:flex;gap:20px;flex-wrap:wrap;margin-top:50px;}
.hb-article-tags a{padding:10px 0;font-size:.64rem;color:#777;border-bottom:1px solid #444;text-decoration:none;letter-spacing:.06em;}
.hb-article-tags a:hover{color:var(--teal);border-color:var(--teal);}
.hb-related{padding:105px 7vw;}
.hb-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px;}
.hb-kicker{font-size:.68rem;letter-spacing:.23em;color:var(--teal);}
.hb-section-head h2{font-family:var(--disp);font-size:clamp(40px,5vw,70px);letter-spacing:.02em;line-height:.95;margin:13px 0 0;text-transform:uppercase;}
@media(max-width:600px){.hb-article-header{padding:55px 24px 60px;}.hb-article-layout{padding:70px 24px 90px;}.hb-related{padding:80px 24px;}}
