/* ===============  Theme tokens  =============== */
:root{
  --bg-deep: none;           /* page background */
  --card: #ffffff;              /* card background */
  --ink: #0c0f1f;               /* body text on cards */
  --ink-dim: #56607a;           /* meta text */
  --ink-invert: #eaf0ff;        /* overlay text */
  --brand-1: #5a7bff;
  --brand-2: #8fb3ff;
  --ring: rgba(90,123,255,.35);
  --shadow: 0 20px 40px rgba(0,0,0,.25);
  --radius: 16px;
}

/* Page strip */
#bricks{
  background: var(--bg-deep);
  padding: 3rem 0 6rem;
}

/* Headings on top (Adams . Strategy / News) */
#bricks h1{
  margin: 0 0 2rem;
  color: var(--ink-invert);
  letter-spacing: .2px;
}
#bricks .brand{ font-weight: 800; }
#bricks .title{ font-weight: 700; }

/* ===============  Masonry layout  =============== */
.row.masonry{
  width: min(1320px, 92vw);
  margin: 0 auto;
}
.bricks-wrapper{
  column-count: 3;              /* 3-column masonry on desktop */
  column-gap: 2rem;
}
.grid-sizer{ display:none; }    /* (placeholder from HTML) */

/* Each brick/card */
.brick{
  break-inside: avoid;
  margin: 0 0 2rem;
  display: inline-block;
  width: 100%;
  background: var(--card);
  color: var(--ink);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}

/* Make the large featured slider span across all columns */
.featured-grid{
  column-span: all;             /* Chromium/Edge/Safari support */
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  margin-bottom: 2.5rem;
}

/* ===============  Featured slider  =============== */
#featured-post-slider,
#featured-post-slider .slides,
#featured-post-slider .slides li{
  list-style: none;
  margin:0; padding:0;
}
.featured-post-slide{
  position: relative;
  height: clamp(360px, 48vw, 560px);
  border-radius: calc(var(--radius) + 4px);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.featured-post-slide .post-background{
  position:absolute; inset:0;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform .8s ease;
}
.featured-post-slide .overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(7,7,45,.35), rgba(7,7,45,.75));
}
.featured-post-slide .post-content{
  position:absolute; inset:auto 0 0 0;
  padding: 2.5rem 3rem;
  color: var(--ink-invert);
}
.featured-post-slide:hover .post-background{
  transform: scale(1.04);
}

/* Meta + title atop image */
.entry-meta,
.entry-meta li{ display:inline; list-style:none; margin:0; padding:0; }
.entry-meta{ font-size:.9rem; opacity:.9; }
.entry-meta li + li::before{ content:" · "; opacity:.6; }
.slide-title{
  margin:.4rem 0 0;
  font-size: clamp(1.6rem, 2.2vw, 2.4rem);
  line-height: 1.15;
  font-weight: 800;
}

/* ===============  Standard cards  =============== */
.entry-thumb img{
  width:100%; height:auto; display:block;
}
.entry-video video{ width:100%; height:auto; display:block; }

.entry-text{
  padding: 1.4rem 1.6rem 1.8rem;
}
.entry-header{ margin-bottom:.6rem; }

.entry-title{
  margin:.2rem 0 .2rem;
  line-height:1.2;
  font-weight: 800;
  font-size: clamp(1.1rem, .95rem + .4vw, 1.4rem);
}
.entry-title button{
  all: unset;
  cursor: pointer;
  color: var(--ink);
}
.entry-title button:hover{ color: var(--brand-1); }

.entry-excerpt{
  margin:.6rem 0 0;
  color: var(--ink-dim);
  line-height: 1.65;
  font-size: .98rem;
}

/* Meta tags */
.cat-links button{
  all: unset;
  cursor: pointer;
  color: var(--brand-1);
  font-weight: 700;
}
.cat-links button + button::before{
  content:"  ·  ";
  color: #93a2ff;
  opacity:.6;
}

/* ===============  Special formats  =============== */
.format-quote blockquote{
  margin:0; padding:2rem 2rem 2.2rem;
  font-size: clamp(1.15rem, 1rem + .6vw, 1.5rem);
  font-weight: 700;
  line-height:1.35;
  color: var(--ink);
  border-left: 6px solid var(--brand-1);
  background: linear-gradient(160deg, #f6f8ff 0%, #ffffff 60%);
}
.format-link .link-wrap{
  padding: 1.8rem 1.6rem;
  background: linear-gradient(145deg, rgba(90,123,255,.08), rgba(143,179,255,.14));
}
.format-link .link-wrap p{
  margin:0 0 .6rem;
  font-weight: 700;
}
.format-link .link-wrap a{
  color: var(--brand-1);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

/* ===============  Interactions  =============== */
.thumb-link{
  display:block;
  position:relative;
  outline:none;
}
.thumb-link::after{
  content:"";
  position:absolute; inset:0;
  box-shadow: inset 0 0 0 0 rgba(90,123,255,.0);
  transition: box-shadow .25s ease;
  border-radius: 0;
}
.thumb-link:hover::after{
  box-shadow: inset 0 0 0 4px var(--ring);
}

@media (max-width: 1200px){
  .bricks-wrapper{ column-count: 2; }
}
@media (max-width: 720px){
  #bricks{ padding-top: 2rem; }
  .row.masonry{ width: 94vw; }
  .bricks-wrapper{ column-count: 1; column-gap: 1.25rem; }
  .featured-post-slide{ height: clamp(280px, 54vw, 420px); }
  .entry-text{ padding: 1.1rem 1.2rem 1.4rem; }
}

/* Optional: smooth buttons inside titles/meta */
.entry-text form button,
.slide-title form button{
  transition: color .2s ease, opacity .2s ease;
}
.entry-text form button:hover{ color: var(--brand-2); }
