/* The Thread — newsletter page and issue archive (5 Sep 2026). Drawn by novamira-sandbox/thread-pages.php. */
.soma-th{--th-max:1180px;background:var(--soma-base)}
.soma-th h1,.soma-th h2{text-wrap:balance}
.soma-th p{margin:0}
.soma-th a.soma-th-ghost{background:transparent;color:var(--soma-white);box-shadow:inset 0 0 0 1.5px var(--soma-line-inverse)}
.soma-th a.soma-th-ghost:hover{background:var(--soma-white-12)}

/* hero */
.soma-th-hero{background:var(--soma-primary);color:var(--soma-white);position:relative;overflow:hidden;padding:clamp(3rem,2rem + 4vw,6rem) var(--soma-gutter) clamp(2.5rem,1.5rem + 3vw,4.5rem)}
.soma-th-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(70% 90% at 15% 20%,rgba(13,124,104,.35) 0%,rgba(13,124,104,0) 60%),radial-gradient(50% 70% at 95% 100%,rgba(204,213,255,.18) 0%,rgba(204,213,255,0) 60%);pointer-events:none}
.soma-th-hero__in{position:relative;max-width:var(--th-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:start}
.soma-th-hero__in--wide{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end}
.soma-th-hero .soma-eyebrow{color:var(--soma-periwinkle)}
.soma-th-hero .soma-eyebrow a{color:inherit;text-decoration:none}
.soma-th-hero .soma-eyebrow a:hover{text-decoration:underline}
.soma-th-hero h1{color:var(--soma-white);font-size:clamp(2.5rem,1.2rem + 4.6vw,4.6rem);letter-spacing:-.01em;margin:18px 0 22px}
.soma-th-lead{color:var(--soma-white-70);font-size:clamp(1.125rem,1.05rem + .35vw,1.375rem);line-height:1.6;max-width:32em}
.soma-th p.soma-th-lead--2{font-size:1.0625rem;margin-top:14px;color:var(--soma-white-70)}
.soma-th-hero__acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.soma-th-facts{margin:30px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:640px}
.soma-th-hero__in--wide .soma-th-facts{grid-template-columns:1fr 1fr;max-width:none}
.soma-th-facts div{background:var(--soma-white-12);border-radius:var(--soma-r-md);padding:14px 16px}
.soma-th-facts dt{font-family:var(--soma-font-display);font-weight:600;font-size:clamp(1.6rem,1.3rem + 1vw,2.25rem);line-height:1;color:var(--soma-white);font-variant-numeric:tabular-nums}
.soma-th-facts dd{margin:6px 0 0;font-size:.8125rem;color:var(--soma-white-70)}

/* sign-up card */
.soma-th-join{background:var(--soma-white);color:var(--soma-primary);border-radius:var(--soma-r-lg);padding:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);box-shadow:0 30px 60px rgba(0,0,0,.25);position:relative}
.soma-th-join--hero{border-top:4px solid var(--soma-secondary)}
.soma-th-join__head{display:flex;align-items:center;gap:10px;font-family:var(--soma-font-display);font-weight:600;font-size:1.6rem;line-height:1.1}
.soma-th-join__icon{width:40px;height:40px;border-radius:50%;background:var(--soma-secondary);color:var(--soma-white);display:inline-flex;align-items:center;justify-content:center;flex:none}
.soma-th-join__lead{color:var(--soma-text);font-size:1rem;line-height:1.55;margin:12px 0 18px}
.soma-th-join__note{color:var(--soma-text);font-size:.8125rem;line-height:1.5;margin-top:14px}
.soma-th-join .soma-form-slot{margin:0}
.soma-th-join .wpforms-container{margin:0}
.soma-th-join .wpforms-field{padding:0 0 12px}
.soma-th-join .wpforms-field-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--soma-secondary);margin-bottom:6px}
.soma-th-join input[type=email]{width:100%;max-width:none;border:1.5px solid var(--soma-line);border-radius:var(--soma-r-md);padding:14px 16px;font-size:1rem;background:var(--soma-white)}
.soma-th-join input[type=email]:focus{border-color:var(--soma-secondary);outline:none;box-shadow:0 0 0 3px rgba(13,124,104,.15)}
.soma-th-join .wpforms-submit-container{padding:4px 0 0}
.soma-th-join button.wpforms-submit{width:100%;background:var(--soma-secondary);color:var(--soma-white);border:0;border-radius:999px;padding:15px 22px;font-size:1rem;font-weight:600;cursor:pointer}
.soma-th-join button.wpforms-submit:hover{filter:brightness(1.08)}
.soma-th-join .soma-thread-done{padding:14px 0}

/* sections */
.soma-th-sec{padding:clamp(2.5rem,1.5rem + 3vw,4.5rem) var(--soma-gutter)}
.soma-th-sec--white{background:var(--soma-white)}
.soma-th-sec__in{max-width:var(--th-max);margin:0 auto}
.soma-th-sec__in--narrow{max-width:720px}
.soma-th-sec__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;align-items:end;margin-bottom:28px}
.soma-th-sec__head p{color:var(--soma-text);font-size:1.0625rem;line-height:1.6;max-width:34em}
.soma-th-sec__head p a{color:var(--soma-secondary);font-weight:600;text-decoration:none}
.soma-th-sec h2{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.6rem);margin-top:8px;letter-spacing:-.01em}

/* cards */
.soma-th-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,.75rem + 1vw,1.5rem)}
.soma-th .soma-th-card{display:flex;flex-direction:column;background:var(--soma-base);border-radius:var(--soma-r-lg);overflow:hidden;color:var(--soma-primary);text-decoration:none;transition:transform var(--soma-dur-lift) var(--soma-ease),box-shadow var(--soma-dur-lift) var(--soma-ease)}
.soma-th-sec:not(.soma-th-sec--white) .soma-th-card{background:var(--soma-white)}
.soma-th .soma-th-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px var(--soma-shadow)}
.soma-th-card__media{display:block;aspect-ratio:16/9;background:var(--soma-primary);overflow:hidden;position:relative}
.soma-th-card__media:empty::after,.soma-th-card__media:not(:has(img))::after{content:'';position:absolute;inset:0;background:radial-gradient(70% 90% at 20% 20%,rgba(13,124,104,.5) 0%,rgba(13,124,104,0) 60%)}
.soma-th-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.soma-th-card__body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px}
.soma-th-card__when{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--soma-secondary)}
.soma-th-card__title{font-family:var(--soma-font-display);font-weight:600;font-size:1.45rem;line-height:1.15;text-wrap:balance}
.soma-th-card__ex{color:var(--soma-text);font-size:1rem;line-height:1.6}
.soma-th-card__go{color:var(--soma-secondary);font-weight:600;font-size:.9375rem;margin-top:auto;padding-top:6px}
.soma-th .soma-th-card--big{flex-direction:row;align-items:stretch}
.soma-th-card--big .soma-th-card__media{flex:0 0 52%;aspect-ratio:auto;min-height:360px;display:flex;align-items:center}
.soma-th-card--big .soma-th-card__media img{object-fit:contain;height:auto;max-height:100%}
.soma-th-card--big .soma-th-card__body{padding:clamp(1.5rem,1rem + 2vw,2.75rem);justify-content:center;gap:12px}
.soma-th-card--big .soma-eyebrow{color:var(--soma-secondary)}
.soma-th-card--big .soma-th-card__title{font-size:clamp(1.8rem,1.3rem + 1.8vw,2.6rem)}
.soma-th-card--big .soma-th-card__ex{font-size:1.0625rem}
.soma-th-card--big .soma-btn{align-self:flex-start;margin-top:8px}

/* years */
.soma-th-year + .soma-th-year{margin-top:36px}
.soma-th-year__label{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.soma-th-year__label span{font-family:var(--soma-font-display);font-weight:600;font-size:1.6rem;color:var(--soma-primary)}
.soma-th-year__label i{flex:1;height:1px;background:var(--soma-line)}
.soma-th-year__label small{font-size:.8125rem;color:var(--soma-text);letter-spacing:.08em;text-transform:uppercase}
.soma-th-empty{background:var(--soma-base);border-radius:var(--soma-r-lg);padding:28px 30px;display:flex;flex-direction:column;gap:6px;color:var(--soma-text)}
.soma-th-sec:not(.soma-th-sec--white) .soma-th-empty{background:var(--soma-white)}
.soma-th-empty strong{font-family:var(--soma-font-display);font-weight:600;font-size:1.35rem;color:var(--soma-primary)}

/* thread tiles */
.soma-th-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.soma-th .soma-th-tile{display:flex;flex-direction:column;gap:6px;background:var(--soma-base);border-radius:var(--soma-r-lg);padding:22px 22px 24px;color:var(--soma-primary);text-decoration:none;transition:transform var(--soma-dur-lift) var(--soma-ease),box-shadow var(--soma-dur-lift) var(--soma-ease)}
.soma-th .soma-th-tile:hover{transform:translateY(-3px);box-shadow:0 18px 36px var(--soma-shadow)}
.soma-th-sec:not(.soma-th-sec--white) .soma-th-tile{background:var(--soma-white)}
.soma-th-sec--white .soma-th-join{box-shadow:0 20px 50px var(--soma-shadow)}
.soma-th-tile__icon{width:42px;height:42px;border-radius:50%;background:var(--soma-primary);color:var(--soma-white);display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px}
.soma-th-tile__kind{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--soma-secondary)}
.soma-th-tile__title{font-family:var(--soma-font-display);font-weight:600;font-size:1.35rem;line-height:1.15}

/* ending */
.soma-th-end{background:var(--soma-primary);color:var(--soma-white);padding:clamp(3.5rem,2rem + 5vw,7rem) var(--soma-gutter)}
.soma-th-end__in{max-width:var(--th-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
.soma-th-end .soma-eyebrow{color:var(--soma-periwinkle)}
.soma-th-end h2{color:var(--soma-white);font-size:clamp(2rem,1.3rem + 3vw,3.4rem);margin:14px 0 14px}
.soma-th-end p{color:var(--soma-white-70);max-width:36em;font-size:1.0625rem}
.soma-th-end__acts{display:flex;flex-direction:column;gap:10px;min-width:280px}
.soma-th-end__acts .soma-btn{justify-content:center}

@media (max-width:1100px){
  .soma-th-hero__in,.soma-th-hero__in--wide{grid-template-columns:1fr;align-items:start}
  .soma-th-facts{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}
  .soma-th-hero__in--wide .soma-th-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .soma-th-join{max-width:640px}
  .soma-th-sec__head{grid-template-columns:1fr}
  .soma-th-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .soma-th-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .soma-th .soma-th-card--big{flex-direction:column}
  .soma-th-card--big .soma-th-card__media{flex:none;aspect-ratio:16/8;min-height:0}
  .soma-th-end__in{grid-template-columns:1fr}
  .soma-th-end__acts{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:640px){
  .soma-th-hero h1{font-size:clamp(2.25rem,8.6vw,2.9rem)}
  .soma-th-facts,.soma-th-hero__in--wide .soma-th-facts{grid-template-columns:1fr 1fr;gap:8px}
  .soma-th-facts div{padding:12px 14px}
  .soma-th-hero__acts .soma-btn{flex:1;justify-content:center}
  .soma-th-join{max-width:none}
  .soma-th-grid{grid-template-columns:1fr}
  .soma-th-tiles{grid-template-columns:1fr}
  .soma-th-end__acts{flex-direction:column}
}


/* soma: green closing band */
/* The band and the footer were the same navy, so the page's last call to action
   dissolved into the footer. Green separates them. */
.soma-th-end{background:var(--soma-secondary)}
.soma-th-end .soma-eyebrow{color:rgba(255,255,255,.72)}
.soma-th-end p{color:rgba(255,255,255,.82)}
.soma-th-end__acts .soma-btn:not(.soma-th-ghost){background:var(--soma-white);color:var(--soma-secondary);border-color:var(--soma-white)}
/* templates.css turns every .soma-page link navy on hover, which blacks out
   links on a coloured surface. Hold white here. */
section.soma-th-end a:hover,section.soma-th-end a:focus-visible{color:var(--soma-white)}
section.soma-th-end .soma-th-end__acts a.soma-btn:not(.soma-th-ghost):hover,
section.soma-th-end .soma-th-end__acts a.soma-btn:not(.soma-th-ghost):focus-visible{color:var(--soma-secondary)}


/* soma: text-only issue cards + globe hero */
/* The Thread is writing, so an issue is announced in words. The plate that used
   to sit beside it said nothing the headline did not. */
.soma-th-card__media{display:none}
/* With no plate beside it the panel should fit its words, not stretch to the grid. */
.soma-th .soma-th-card--big{flex-direction:column;max-width:54rem}
.soma-th-card--big .soma-th-card__ex{max-width:44rem}

/* The globe that stood behind this hero before the rewrite. */
.soma-th-hero::before{background:url("/wp-content/uploads/2026/09/the-thread-hero-globe2-scaled.webp") left center/cover no-repeat;z-index:0}
.soma-th-hero::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(100deg,rgba(8,10,22,.82),rgba(8,10,22,.68) 52%,rgba(8,10,22,.88))}
.soma-th-hero__in{z-index:2}


/* soma: section heads align at the top */
/* These heads were bottom-aligned, which pushed the brief above the heading it
   belongs to -- and by a different amount on every section, depending on
   whether the heading wrapped. The two columns now start together. */
.soma-th-sec__head{align-items:start}
.soma-th-sec__head > :nth-child(2){padding-top:4px}


/* soma: hero facts run the full width */
/* The signup card is shorter than the column beside it, so the facts sat in the
   left column with a tall empty space to their right. They now run under both. */
.soma-th-hero__facts{position:relative;z-index:2;max-width:var(--th-max);margin:clamp(2rem,1.2rem + 2.5vw,3.25rem) auto 0}
.soma-th-hero__facts .soma-th-facts{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin:0}
@media (max-width:760px){.soma-th-hero__facts .soma-th-facts{grid-template-columns:1fr 1fr}}


/* soma: the library leads with the newest issue */
/* There is no separate featured issue any more: the library is the whole list,
   newest first, and its first row is the one that reads as the feature. */
.soma-th-grid .soma-th-card--big{grid-column:1/-1;max-width:none}
