/*
Theme Name: Solstice Labs
Author: ANTNNA
Author URI: http://antnna.com
Description: Tema customizado para o site Solstice Lab.
Tags: minimalist
Version: 2027 2.0
Requires at least: 5.0
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
*/

:root {--paper: #F7F7F2; --ink: #20211F; --blue: #304CB4; --wash: #EFF0E9; --line: #CACBC3; --muted: #65665F; --blue-soft: #E0E5FF; --line-dark: #3A3B38; --line-blue: #6C81CC; --sans: "General Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; --gutter: clamp(20px, 4.4vw, 56px); --band: clamp(56px, 7vw, 88px);}
*, *::before, *::after {box-sizing: border-box;}
html {-webkit-text-size-adjust: 100%;}
body {margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-weight: 400; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased;}
img {display: block; max-width: 100%; height: auto;}
a {color: inherit; text-decoration: none;}
hr {border: 0; border-top: 1px solid var(--line); margin: 0;}
:focus-visible {outline: 2px solid var(--blue); outline-offset: 3px;}
@media (prefers-reduced-motion: reduce) {* {animation-duration: .01ms !important; transition-duration: .01ms !important;}}

/* ---------- layout ---------- */
.wrap {max-width: 1280px; margin-inline: auto; padding-inline: var(--gutter);}
.bleed {width: 100%;}

/* ---------- type scale ---------- */
.display {font-weight: 200; font-size: clamp(44px, 7.6vw, 95px); line-height: .86; letter-spacing: -.02em; margin: 0; text-wrap: balance;}
.display--lg {font-size: clamp(48px, 8.4vw, 104px);}
.display--md {font-size: clamp(40px, 6.2vw, 76px);}
.h2 {font-weight: 300; font-size: clamp(32px, 4.9vw, 61px); line-height: .96; letter-spacing: -.015em; margin: 0; text-wrap: balance;}
.h2--sm {font-size: clamp(30px, 4.4vw, 56px);}
.h2--xs {font-size: clamp(28px, 3.8vw, 48px);}
.h3 {font-weight: 300; font-size: clamp(26px, 3.2vw, 40px); line-height: 1.05; letter-spacing: -.01em; margin: 0;}
.h4 {font-weight: 300; font-size: clamp(24px, 2.5vw, 31px); line-height: 1.15; letter-spacing: -.01em; margin: 0;}
.lede {font-weight: 300; font-size: clamp(20px, 2.1vw, 25px); line-height: 1.3; margin: 0; text-wrap: pretty;}
.intro {font-weight: 400; font-size: clamp(18px, 1.9vw, 24px); line-height: 1.4; margin: 0; color: var(--muted); text-wrap: pretty;}
.body {margin: 0 0 1.15em; text-wrap: pretty;}
.body:last-child {margin-bottom: 0;}
.muted {color: var(--muted);}
.label {font-weight: 600; font-size: 14px; line-height: 1.3; letter-spacing: .04em; text-transform: uppercase; margin: 0;}
.label--sm {font-size: 12px; letter-spacing: .06em;}
.label--blue {color: var(--blue);}
.arrow {font-family: var(--mono); font-weight: 600; font-style: normal;}
.blue {color: var(--blue);}
.wash {color: var(--blue-soft);}

/* ---------- header ---------- */
.hdr {position: relative; background: var(--paper); border-bottom: 1px solid transparent;}
.hdr__in {display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-block: 30px 24px;}
.mark {font-weight: 600; font-size: clamp(17px, 1.8vw, 22px); line-height: 1.08; letter-spacing: .005em; text-transform: uppercase; flex: none;}
.nav {display: flex; align-items: center; gap: clamp(18px, 2.6vw, 36px); padding-top: 6px;}
.nav a {font-size: 14px;}
.nav a:hover {color: var(--blue);}
.nav a[aria-current="page"] {color: var(--blue);}
.nav__cta {font-weight: 700; color: var(--blue);}
.burger {display: none; font: inherit; font-size: 14px; font-weight: 600; background: none; border: 0; padding: 6px 0; cursor: pointer; color: var(--ink);}
@media (max-width: 860px) {
  .burger {display: block;}
  .nav {display: none; position: absolute; inset-inline: 0; top: 100%; z-index: 20; flex-direction: column; align-items: flex-start; gap: 0; padding: 8px var(--gutter) 24px; background: var(--paper); border-bottom: 1px solid var(--line);}
  .nav[data-open="true"] {display: flex;}
  .nav a {padding-block: 12px; width: 100%; border-bottom: 1px solid var(--line);}
  .nav a:last-child {border-bottom: 0;}
}

/* ---------- eyebrow row ---------- */
.eyebrow {display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: clamp(30px, 4vw, 50px) clamp(20px, 2.6vw, 30px);}
.eyebrow .dot {display: inline-block; width: 7px; height: 7px; margin-right: 9px; transform: skewX(-14deg); background: var(--blue); vertical-align: .08em;}
@media (max-width: 720px) {.eyebrow__r {display: none;}}

/* ---------- hero ---------- */
.hero {background: var(--ink); color: var(--paper);}
.hero__in {display: grid; grid-template-columns: minmax(0, 38%) minmax(0, 62%); align-items: stretch; gap: 0; padding-inline: 0;}
.hero__txt {display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 3.6vw, 44px) clamp(20px, 2.6vw, 32px) clamp(28px, 3.6vw, 44px) var(--gutter); min-height: clamp(320px, 34vw, 480px); container-type: inline-size;}
.hero .display {color: var(--paper);}
.hero .blue {color: var(--blue);}
.hero__meta {margin-top: clamp(28px, 4vw, 48px); max-width: 290px;}
.hero__meta p {margin: 0; color: var(--paper); font-size: 16px; line-height: 1.5; text-wrap: pretty;}
.hero__art {width: 100%; height: 100%; object-fit: cover; padding: 10px 10px 10px 0;}
@supports (font-size: 1cqi) {.hero .display {font-size: clamp(44px, 19cqi, 95px);}}
@media (max-width: 860px) {
  .hero__in {grid-template-columns: 1fr;}
  .hero__txt {padding-inline: var(--gutter); min-height: 0; padding-block: clamp(32px, 7vw, 48px) clamp(24px, 5vw, 36px);}
  .hero__art {padding: 0 var(--gutter) var(--gutter); aspect-ratio: 16/9; height: auto;}
}

/* ---------- duo (two link cells) ---------- */
.duo {display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border-block: 1px solid var(--line);}
.duo__cell {display: flex; align-items: center; gap: clamp(16px, 2.4vw, 34px); background: var(--paper); padding: clamp(18px, 2.2vw, 27px) clamp(16px, 2.2vw, 28px); min-height: 72px;}
.duo__cell:first-child {padding-left: 0;}
.duo__cell .label {flex: none;}
.duo__cell > span:nth-child(2) {font-size: clamp(17px, 1.7vw, 20px); line-height: 1.3;}
.duo__cell .arrow {margin-left: auto; font-size: 20px;}
.duo__cell:hover > span:nth-child(2) {color: var(--blue);}
@media (max-width: 720px) {
  .duo {grid-template-columns: 1fr;}
  .duo__cell {padding-left: 0; padding-right: 0;}
  .duo__cell > span:nth-child(2) {flex: 1;}
  .duo__cell .label {flex: .7;}
}

/* ---------- generic section ---------- */
.sec {padding-block: var(--band);}
.sec--wash {background: var(--wash);}
.sec--blue {background: var(--blue); color: var(--paper);}
.sec--ink {background: var(--ink); color: var(--paper);}
.sec--blue .label--blue, .sec--ink .label--blue {color: var(--blue-soft);}
.sec--blue .body {color: var(--paper);}
.sechead {display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: clamp(30px, 4vw, 46px);}
@media (max-width: 720px) {.sechead__r {display: none;}}

/* label column + content column */
.split {display: grid; grid-template-columns: minmax(0, 285px) minmax(0, 1fr); gap: clamp(24px, 4.7vw, 86px); align-items: start;}
.split--narrow {grid-template-columns: minmax(0, 230px) minmax(0, 1fr);}
@media (max-width: 900px) {.split, .split--narrow {grid-template-columns: 1fr; gap: clamp(20px, 3.4vw, 32px);}}

/* two even columns */
.pair {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 3.6vw, 45px); align-items: start;}
.pair.a-center {align-items: center;}
@media (max-width: 820px) {.pair {grid-template-columns: 1fr;}}

/* three even columns */
.triad {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 2.3vw, 28px); margin-top: clamp(40px, 5.4vw, 68px); padding-top: clamp(24px, 2.6vw, 32px); border-top: 1px solid var(--line);}
.triad h3 {margin: .5em 0 .6em;}
.triad p {margin: 0; color: var(--muted); font-size: 16px; text-wrap: pretty;}
@media (max-width: 820px) {.triad {grid-template-columns: 1fr; gap: 34px;}}

/* ---------- card grid ---------- */
.cards {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line);}
.card {display: flex; flex-direction: column; background: var(--wash); padding: clamp(22px, 2.2vw, 28px); min-height: clamp(300px, 32vw, 414px); container-type: inline-size;}
.card--blue {background: var(--blue); color: var(--paper);}
.card--blue .label {color: var(--paper);}
.card__top {display: flex; align-items: baseline; justify-content: space-between; gap: 16px;}
.card__top .arrow {font-size: 20px;}
.card .h2 {margin-top: clamp(26px, 3vw, 44px);}
.card--blue .blue {color: var(--blue-soft);}
.card__body {margin-top: clamp(20px, 2.2vw, 28px); max-width: 34ch; color: var(--muted); font-size: 16px; text-wrap: pretty;}
.card--blue .card__body {color: var(--blue-soft);}
.card__foot {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: clamp(24px, 3vw, 40px);}
.card__foot .arrow {font-size: 20px;}
.card:hover .card__foot .label {color: var(--blue);}
.card--blue:hover .card__foot .label {color: var(--blue-soft);}
@supports (font-size: 1cqi) {.card .h2 {font-size: clamp(28px, 11.2cqi, 61px);}}
@media (max-width: 820px) {.cards {grid-template-columns: 1fr;}}

/* media strip on the home page */
.mediarow {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 3.6vw, 45px); align-items: end; margin-top: clamp(48px, 6vw, 80px);}
.mediarow__foot {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: clamp(24px, 3vw, 38px); padding-top: 22px; border-top: 1px solid var(--line);}
.mediarow__foot:hover .label {color: var(--blue);}
.sec--blue .mediarow__foot {border-top: 1px solid var(--paper);}
.sec--blue .mediarow__foot span {color: var(--paper);}
.sec--blue .mediarow__foot:hover .label {color: var(--blue-soft);}
@media (max-width: 820px) {.mediarow {grid-template-columns: 1fr; gap: 24px;}}

/* ---------- call to action ---------- */
.cta__grid {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 408px); gap: clamp(28px, 5vw, 90px); align-items: start;}
.cta__act {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: clamp(26px, 3.4vw, 44px); padding-top: 22px; border-top: 1px solid var(--line-blue); font-weight: 600;}
.cta__act:hover {color: var(--blue-soft);}
@media (max-width: 900px) {.cta__grid {grid-template-columns: 1fr;}}

/* ---------- page masthead (inner pages) ---------- */
.phero {padding-block: clamp(34px, 4.6vw, 56px) clamp(40px, 5.4vw, 72px);}
.phero .label {margin-bottom: clamp(20px, 2.6vw, 32px);}
.phero__sub {margin: clamp(28px, 4vw, 56px) 0 0; max-width: 62ch; color: var(--muted); font-size: clamp(18px, 1.9vw, 24px); line-height: 1.4; text-wrap: pretty;}

/* ---------- index rows (readings, papers, media, founder) ---------- */
.rows {border-top: 1px solid var(--line);}
.row {display: grid; grid-template-columns: minmax(0, 210px) minmax(0, 1fr) auto; gap: clamp(18px, 3vw, 48px); align-items: baseline; padding-block: clamp(20px, 2.4vw, 30px); border-bottom: 1px solid var(--line);}
.row__no {margin: 0; font-weight: 600; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); white-space: pre-line;}
.row__t {margin: 0;}
.row__d {margin: .5em 0 0; font-weight: 500; font-size: 16px; color: var(--muted); max-width: 56ch; text-wrap: pretty;}
.row__a {font-size: 22px; font-weight: 600; align-self: center;}
.row:hover .row__t {color: var(--blue);}
.rows--invert {border-top-color: var(--line-blue);}
.rows--invert .row {border-bottom-color: var(--line-blue);}
.rows--invert .row__no, .rows--invert .row__d {color: var(--blue-soft);}
.rows--invert .row:hover .row__t {color: var(--blue-soft);}
@media (max-width: 760px) {
  .row {grid-template-columns: minmax(0, 1fr) auto; gap: 8px 18px;}
  .row__no {grid-column: 1/-1;}
}

/* ---------- readings: latest letter ---------- */
.feature {background: var(--blue); color: var(--paper);}
.feature__in {display: grid; grid-template-columns: minmax(0, 210px) minmax(0, 1fr); gap: clamp(24px, 4.6vw, 104px); padding-block: clamp(40px, 4.6vw, 56px); align-items: start;}
.feature__no {margin: clamp(40px, 6vw, 96px) 0 0; font-weight: 300; font-size: clamp(64px, 9vw, 108px); line-height: .9; letter-spacing: -.03em;}
.feature__txt {margin: clamp(24px, 3vw, 36px) 0 0; max-width: 52ch; font-size: clamp(18px, 1.9vw, 22px); line-height: 1.4; text-wrap: pretty;}
.feature__cta {display: inline-flex; align-items: center; gap: 12px; margin-top: clamp(26px, 3.4vw, 44px); font-weight: 500;}
.feature__cta:hover {color: var(--blue-soft);}
@media (max-width: 760px) {.feature__in {grid-template-columns: 1fr; gap: 20px;} .feature__no {margin-top: 8px;}}

/* ---------- book ---------- */
.book {display: grid; grid-template-columns: minmax(0, 548px) minmax(0, 1fr); gap: clamp(28px, 4.4vw, 72px); align-items: start; padding-block: clamp(34px, 4.4vw, 56px) clamp(48px, 6vw, 80px);}
.book__rule {margin: clamp(28px, 3.4vw, 44px) 0 0;}
.book__line {display: flex; flex-wrap: wrap; gap: clamp(16px, 2.4vw, 34px); margin: clamp(20px, 2.4vw, 30px) 0 0; font-weight: 500; color: var(--blue);}
.book__line a:hover {opacity: .72;}
.byline {margin: clamp(26px, 3.4vw, 44px) 0 0; font-weight: 500; font-size: 16px;}
@media (max-width: 900px) {.book {grid-template-columns: 1fr;}}
.quotes {display: grid; gap: clamp(34px, 4.4vw, 58px);}
.quote__who {margin: 0 0 clamp(14px, 1.6vw, 20px); font-weight: 600; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted);}
.quote__txt {margin: 0; font-weight: 300; font-size: clamp(19px, 2.1vw, 25px); line-height: 1.32; max-width: 70ch; text-wrap: pretty; font-style: italic;}

/* ---------- footer ---------- */
.ftr {background: var(--ink); color: var(--paper);}
.ftr .wrap {padding-block: clamp(40px, 4vw, 48px) clamp(28px, 3vw, 32px);}
.ftr__closing {margin: 0; font-weight: 300; font-size: clamp(26px, 3.2vw, 36px); line-height: 1.1; letter-spacing: -.01em;}
.ftr__links {display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: clamp(26px, 3vw, 36px) 0 0; font-weight: 600; font-size: 12px; letter-spacing: .06em; text-transform: uppercase;}
.ftr__links a:hover {color: var(--blue-soft);}
.ftr__sep {opacity: .45;}
.ftr__rule {margin: clamp(24px, 2.6vw, 30px) 0 0; border-top: 1px solid var(--line-dark);}
.ftr__bar {display: flex; flex-wrap: wrap; gap: 12px 32px; justify-content: space-between; margin: clamp(18px, 2vw, 24px) 0 0; font-weight: 600; font-size: 12px; letter-spacing: .06em; text-transform: uppercase;}

/* ---------- raw wp content (fallback templates) ---------- */
.content {margin: 0;}
.content p {margin: 0 0 1.15em; text-wrap: pretty;}
.content h2 {margin: 1.5em 0 .5em; font-weight: 300; font-size: clamp(26px,3vw,38px); line-height: 1.1;}
.content h3 {margin: 1.3em 0 .4em; font-weight: 300; font-size: clamp(22px,2.4vw,29px); line-height: 1.15;}
.content a {color: var(--blue); text-decoration: underline;}
.content ul, .content ol {margin: 0 0 1.15em; padding-left: 1.25em;}
.content img {margin: 1.2em 0; max-width: 100%; height: auto;}

.book__cover-img {mix-blend-mode: darken;}
