/* Tame the Week additions on top of tamebuild.ai's style.css.
   Phones first: the base rules are the narrow layout, and the min-width
   query widens them. */

.navlinks a.current{color:var(--brass-bright);}
@media (max-width:760px){
  nav.wrap{padding-top:14px; padding-bottom:14px;}
  .navlinks{flex-wrap:wrap; gap:8px 18px; font-size:12px;}
  .navlocation{display:none;}
}

.weekly-hero{padding:56px 0 40px;}
.weekly-hero h1{max-width:18ch;}
.weekly-hero h1 em{display:block;}
.weekly-hero .lede{margin-bottom:28px;}

section.weekly-latest, section.weekly-list, section.weekly-bottom, section.weekly-article{padding:48px 0;}
section.weekly-latest{padding-top:40px;}

.eyebrow-link{color:inherit; text-decoration:none;}
.eyebrow-link:hover{color:var(--cream);}

/* ---------- signup ---------- */
.signup{max-width:560px;}
.signup-form label{display:block; margin-bottom:10px; color:var(--cream);}
.signup-row{display:flex; flex-direction:column; gap:10px;}
.signup-row input{width:100%; font-size:16px; min-height:48px;}
.signup-row .btn{justify-content:center; min-height:48px;}
.signup .fine{font-size:13px; color:var(--cream-dim); margin:12px 0 0 0; max-width:52ch;}
.weekly-bottom .signup, .weekly-article .signup{
  border:1px solid var(--line-strong); background:rgba(44,36,24,0.4); padding:24px 20px; max-width:none;
}
@media (min-width:640px){
  .signup-row{flex-direction:row;}
  .signup-row input{flex:1 1 auto;}
  .weekly-bottom .signup, .weekly-article .signup{padding:32px 36px;}
}

/* ---------- index, wide screens: intro left, signup right ----------
   Phones keep the stacked layout above. The goal on a 1366x768 laptop is
   that the latest issue's first headline shows without scrolling. */
@media (min-width:900px){
  .weekly-hero{padding:36px 0 32px;}
  .hero-grid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:44px; align-items:center;}
  .weekly-hero .eyebrow{margin-bottom:14px;}
  .weekly-hero h1{font-size:clamp(32px,3.4vw,44px); margin-bottom:14px; max-width:none;}
  .weekly-hero .lede{margin-bottom:0; font-size:17px;}
  /* .signup is a <section>, so it inherits style.css's 96px section padding;
     that was the empty gap beside and below the intro. */
  .weekly-hero .signup{max-width:none; padding:0;}
  section.weekly-latest{padding-top:28px;}
  .weekly-latest .dim-divider{margin-bottom:20px;}
  .weekly-latest .issue-title{font-size:clamp(28px,2.8vw,36px);}
  .weekly-latest .issue-meta{margin-bottom:20px;}
  .weekly-latest .issue-body h2{margin-top:30px;}
  .wide-sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
}

/* ---------- issue and editorial body ---------- */
.issue{max-width:68ch;}
.issue-title{
  font-family:var(--font-display); font-weight:600; letter-spacing:-0.01em;
  font-size:clamp(28px,6vw,44px); line-height:1.1; margin:0 0 12px 0; max-width:none;
}
.issue-title a{text-decoration:none;}
.issue-title a:hover{color:var(--brass-bright);}
.issue-meta{font-family:var(--font-mono); font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--moss); margin:0 0 28px 0;}

.issue-body{font-size:17px; line-height:1.65;}
.issue-body p{color:var(--cream-dim); margin:0 0 16px 0;}
.issue-body p:first-child{color:var(--cream); font-size:18px;}
.issue-body h2{
  font-family:var(--font-display); font-weight:600; font-size:clamp(21px,4.6vw,26px); line-height:1.25;
  margin:40px 0 12px 0; color:var(--cream);
}
.issue-body h2:first-child{margin-top:0;}
.issue-body em{color:var(--cream);}
.issue-body a{color:var(--brass-bright); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; overflow-wrap:anywhere;}
.issue-body a:hover{color:var(--cream);}
.issue-body hr{border:0; border-top:1px solid var(--line-strong); margin:36px 0 20px;}
.issue-body hr + p{font-size:15px;}
.issue-body ul, .issue-body ol{color:var(--cream-dim); padding-left:22px; margin:0 0 16px 0;}
.issue-body li{margin:0 0 8px 0;}
.issue-body blockquote{margin:0 0 16px 0; padding-left:16px; border-left:2px solid var(--brass); color:var(--cream);}

.byline-box{border-top:1px solid var(--line-strong); margin-top:36px; padding-top:18px; font-size:15px; color:var(--cream-dim);}
.byline-box p{margin:0 0 6px 0;}
.byline-name{font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--brass);}

.pager{display:flex; flex-wrap:wrap; gap:12px 24px; margin:40px 0;}

/* ---------- archive and editorial lists ---------- */
.entry-list{list-style:none; margin:0; padding:0; border-top:1px solid var(--line);}
.entry-list li{border-bottom:1px solid var(--line);}
.entry-list a{display:grid; grid-template-columns:1fr; gap:4px; padding:16px 0; text-decoration:none;}
.entry-list a:hover .li-title{color:var(--brass-bright);}
.li-date, .li-sub{font-family:var(--font-mono); font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--cream-dim);}
.li-title{font-family:var(--font-display); font-size:20px; font-weight:600; line-height:1.3;}
@media (min-width:760px){
  .entry-list a{grid-template-columns:120px 1fr auto; align-items:baseline; gap:20px;}
}

/* ---------- function-rendered message pages ---------- */
.msg{padding:64px 0 80px;}
.msg-title{font-size:clamp(28px,6vw,44px); max-width:20ch;}
.msg-form{margin:8px 0 28px;}
