@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Inter:wght@400;500;600&display=swap');

.madblog{
  --warm-white:#FFFCF7;--oat:#F5F0E8;--oat-deep:#EDE6D9;
  --ink:#171717;--ink-soft:#3a3a38;--gold:#D6A932;--gold-deep:#b8901f;
  --taupe:#B8AFA2;--taupe-line:#e2dccf;--maxw:1120px;
  font-family:'Inter',system-ui,sans-serif;color:var(--ink);
  background:var(--warm-white);line-height:1.6;
}
.madblog *{box-sizing:border-box;}
.madblog a{color:inherit;text-decoration:none;}
.madblog img{max-width:100%;display:block;}
.madblog .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* Masthead */
.madblog .masthead{padding:64px 0 20px;}
.madblog .kicker{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:600;margin:0 0 22px;}
.madblog .masthead h1{font-family:'Fraunces',serif;font-weight:400;
  font-size:clamp(2.9rem,7vw,5.4rem);line-height:.98;letter-spacing:-.015em;
  max-width:14ch;margin:0;}
.madblog .masthead h1 em{font-style:italic;color:var(--gold-deep);}
.madblog .lede{font-size:1.08rem;color:var(--ink-soft);max-width:46ch;
  margin:26px 0 0;line-height:1.65;}
.madblog .rule{height:1px;background:var(--taupe-line);margin:56px 0 0;}

/* Featured */
.madblog .featured{padding:52px 0 0;}
.madblog .feat-tag{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--taupe);font-weight:600;margin:0 0 28px;display:flex;align-items:center;gap:14px;}
.madblog .feat-tag::after{content:"";flex:1;height:1px;background:var(--taupe-line);}
.madblog .feat-card{display:grid;grid-template-columns:1.15fr 1fr;
  background:var(--oat);border:1px solid var(--taupe-line);border-radius:4px;overflow:hidden;}
.madblog .feat-media{position:relative;min-height:340px;overflow:hidden;background:var(--oat-deep);}
.madblog .feat-media img{width:100%;height:100%;object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.madblog .feat-card:hover .feat-media img{transform:scale(1.03);}
.madblog .feat-body{padding:44px;display:flex;flex-direction:column;justify-content:center;}
.madblog .feat-meta{font-size:.74rem;letter-spacing:.06em;color:var(--taupe);
  display:flex;gap:16px;align-items:center;margin-bottom:20px;text-transform:uppercase;}
.madblog .feat-meta .pill{color:var(--gold-deep);font-weight:600;}
.madblog .feat-body h2{font-family:'Fraunces',serif;font-weight:400;
  font-size:clamp(1.7rem,3.2vw,2.35rem);line-height:1.08;letter-spacing:-.01em;margin:0 0 18px;}
.madblog .feat-body p{color:var(--ink-soft);font-size:1rem;line-height:1.7;max-width:48ch;margin:0;}
.madblog .read-link{margin-top:30px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:10px;align-self:flex-start;}
.madblog .read-link i{width:34px;height:1px;background:var(--ink);display:inline-block;transition:width .3s;}
.madblog .feat-card:hover .read-link i{width:52px;background:var(--gold-deep);}

/* Archive + filters */
.madblog .archive{padding:74px 0 40px;}
.madblog .archive-head{display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:38px;gap:20px;flex-wrap:wrap;}
.madblog .archive-head h3{font-family:'Fraunces',serif;font-weight:400;font-size:1.9rem;
  letter-spacing:-.01em;margin:0;}
.madblog .filters{display:flex;gap:10px;flex-wrap:wrap;}
.madblog .filters button{font-family:'Inter',sans-serif;font-size:.74rem;letter-spacing:.08em;
  text-transform:uppercase;font-weight:500;background:none;border:1px solid var(--taupe-line);
  border-radius:100px;padding:8px 16px;color:var(--ink-soft);cursor:pointer;transition:.22s;}
.madblog .filters button:hover{border-color:var(--ink);color:var(--ink);}
.madblog .filters button.active{background:var(--ink);color:var(--warm-white);border-color:var(--ink);}

.madblog .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 30px;}
.madblog .card{display:flex;flex-direction:column;}
.madblog .card.is-hidden{display:none;}
.madblog .card-media{aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:var(--oat);
  border:1px solid var(--taupe-line);margin-bottom:20px;}
.madblog .card-media img{width:100%;height:100%;object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.madblog .card:hover .card-media img{transform:scale(1.04);}
.madblog .card-cat{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:600;margin-bottom:12px;}
.madblog .card h4{font-family:'Fraunces',serif;font-weight:400;font-size:1.32rem;
  line-height:1.14;letter-spacing:-.005em;margin:0 0 12px;}
.madblog .card p{color:var(--ink-soft);font-size:.92rem;line-height:1.62;margin:0 0 16px;}
.madblog .card-meta{margin-top:auto;font-size:.72rem;color:var(--taupe);letter-spacing:.04em;
  padding-top:14px;border-top:1px solid var(--taupe-line);display:flex;justify-content:space-between;
  text-transform:uppercase;}
.madblog .empty{grid-column:1/-1;color:var(--ink-soft);padding:40px 0;font-size:.95rem;}

/* Newsletter band */
.madblog .band{background:var(--ink);color:var(--warm-white);margin-top:40px;border-radius:6px;
  padding:64px 56px;display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center;}
.madblog .band h3{font-family:'Fraunces',serif;font-weight:400;
  font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.06;letter-spacing:-.01em;margin:0;}
.madblog .band h3 em{font-style:italic;color:var(--gold);}
.madblog .band p{color:#cbc7bf;margin:18px 0 0;max-width:42ch;font-size:.98rem;}
.madblog .signup{display:flex;flex-direction:column;gap:12px;}
.madblog .signup label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);}
.madblog .signup-row{display:flex;gap:10px;}
.madblog .signup input{flex:1;background:#242423;border:1px solid #3a3a38;border-radius:3px;
  padding:14px 16px;color:var(--warm-white);font-family:'Inter',sans-serif;font-size:.95rem;}
.madblog .signup input::placeholder{color:#7d786f;}
.madblog .signup input:focus{outline:none;border-color:var(--gold);}
.madblog .signup button{background:var(--gold);color:var(--ink);border:none;border-radius:3px;
  padding:14px 24px;font-family:'Inter',sans-serif;font-weight:600;font-size:.82rem;
  letter-spacing:.06em;cursor:pointer;transition:background .25s;white-space:nowrap;}
.madblog .signup button:hover{background:#e6bd4a;}
.madblog .signup .fine{font-size:.74rem;color:#7d786f;letter-spacing:.02em;margin:0;}

/* Responsive */
@media(max-width:900px){
  .madblog .feat-card{grid-template-columns:1fr;}
  .madblog .feat-media{min-height:240px;}
  .madblog .feat-body{padding:32px 28px 34px;}
  .madblog .grid{grid-template-columns:repeat(2,1fr);gap:34px 24px;}
  .madblog .band{grid-template-columns:1fr;padding:48px 36px;gap:32px;}
}
@media(max-width:640px){
  .madblog .wrap{padding:0 20px;}
  .madblog .masthead{padding:44px 0 12px;}
  .madblog .grid{grid-template-columns:1fr;gap:38px;}
  .madblog .card-media{aspect-ratio:16/10;}
  .madblog .archive{padding:56px 0 20px;}
  .madblog .band{padding:40px 26px;border-radius:4px;}
  .madblog .signup-row{flex-direction:column;}
  .madblog .signup button{width:100%;}
}
@media(prefers-reduced-motion:reduce){
  .madblog *{transition:none !important;}
}

/* ---------------------------------------------------------------
   Theme integration (added 1.1.2)
   The parent theme caps page content at 800px and prints the page
   title above the content. Both fight the design, so:
   1. break the blog layout out of the narrow content column;
   2. hide the theme's page title on pages that use this design.
   Both rules are scoped so no other page on the site is affected.
   --------------------------------------------------------------- */
.madblog{
  max-width:none;
  width:min(1120px, calc(100vw - 48px));
  position:relative;
  left:50%;
  transform:translateX(-50%);
}
body:has(.madblog) h1.wp-block-post-title{display:none;}
