@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600&family=Noto+Serif:ital,wght@0,400;0,500;1,400&display=swap');

:root{
  --ivory:#FAF6F1;
  --cream:#F2E9DF;
  --paper:#FFFDF9;
  --espresso:#2B1E17;
  --rose:#B96F6B;
  --soft-rose:#E9D2CA;
  --gold:#C99F68;
  --ink-soft:#62564f;
  --line:rgba(43,30,23,.16);
  --display:'Cormorant Garamond','GFS Didot','Times New Roman',serif;
  --body:'Noto Serif',Georgia,serif;
  --sans:'Manrope',Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--espresso);
  background:var(--ivory);
  font-family:var(--body);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{display:block;width:100%;height:auto}

.site-nav{
  max-width:1240px;
  margin:0 auto;
  padding:28px 30px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.site-nav a{text-decoration:none}
.journal-link{font-weight:600}
.lang-switch{display:flex;gap:10px;align-items:center;color:var(--ink-soft)}
.lang-switch .active{color:var(--espresso);font-weight:600}

.hero{
  max-width:1320px;
  margin:12px auto 0;
  padding:0 30px 84px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  align-items:center;
  gap:56px;
}
.hero-copy{padding:46px 0 18px 32px}
.kicker{
  font-family:var(--sans);
  font-size:11px;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--rose);
  font-weight:600;
  margin:0 0 25px;
}
.hero h1{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(64px,7.4vw,112px);
  line-height:.83;
  letter-spacing:-.035em;
  margin:0;
  max-width:760px;
}
.hero h1 em{display:block;color:var(--rose);font-weight:400}
.hero-deck{
  max-width:570px;
  margin:32px 0 0;
  font-family:var(--display);
  font-style:italic;
  font-size:clamp(24px,2vw,31px);
  line-height:1.25;
  color:#554941;
}
.hero-meta{
  margin-top:30px;
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7d7067;
}
.hero-image{
  position:relative;
  overflow:hidden;
  min-height:730px;
  background:#e8ded3;
}
.hero-image img{
  width:100%;height:100%;object-fit:cover;position:absolute;inset:0;
}
.hero-image:after{
  content:'';position:absolute;inset:auto 0 0 0;height:18%;
  background:linear-gradient(to top,rgba(43,30,23,.12),transparent);
  pointer-events:none;
}

.article-shell{max-width:1180px;margin:0 auto;padding:0 30px}
.section{
  display:grid;
  grid-template-columns:180px minmax(0,740px);
  gap:58px;
  justify-content:center;
  margin:0 auto 88px;
}
.margin-note{
  padding-top:8px;
  font-family:var(--sans);
  color:#81746c;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  line-height:1.6;
}
.margin-note strong{display:block;color:var(--rose);font-size:11px;margin-bottom:10px}
.margin-note span{display:block;max-width:130px;text-transform:none;letter-spacing:.02em;font-family:var(--display);font-size:18px;line-height:1.16;color:#695b53;font-style:italic}
.copy{max-width:740px}
.copy p{
  margin:0 0 22px;
  font-size:20px;
  line-height:1.72;
  letter-spacing:-.006em;
}
.copy .lead{
  font-family:var(--display);
  font-size:clamp(28px,3vw,39px);
  line-height:1.25;
  color:#40342e;
  margin-bottom:34px;
}
.copy .dropcap:first-letter{
  float:left;
  font-family:var(--display);
  font-size:92px;
  line-height:.76;
  padding:12px 10px 0 0;
  color:var(--rose);
}
h2.section-title{
  font-family:var(--display);
  font-size:clamp(46px,5vw,72px);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.025em;
  margin:0 0 34px;
}
.scanline{
  margin:37px 0 10px!important;
  font-family:var(--display);
  font-size:clamp(29px,3.1vw,42px)!important;
  line-height:1.17!important;
  font-style:italic;
  color:var(--rose);
}

.pull-quote{
  max-width:1120px;
  margin:34px auto 98px;
  padding:66px 72px 72px;
  border-top:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
  text-align:center;
}
.pull-quote blockquote{
  margin:0 auto;
  max-width:900px;
  font-family:var(--display);
  font-size:clamp(42px,5.2vw,78px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.02em;
}
.pull-quote blockquote em{color:var(--rose)}

.image-interlude{
  max-width:1260px;
  margin:10px auto 100px;
  padding:0 30px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:26px;
  align-items:end;
}
.image-interlude .main-photo{min-height:620px;object-fit:cover}
.image-caption{
  align-self:end;
  padding:0 12px 14px 24px;
  font-family:var(--display);
  font-style:italic;
  font-size:26px;
  line-height:1.22;
  color:#6c5b51;
}
.image-caption:before{content:'';display:block;width:46px;border-top:1px solid var(--gold);margin-bottom:20px}

.manifesto{
  background:var(--cream);
  margin:110px 0 110px;
  padding:92px 30px 96px;
}
.manifesto p{
  max-width:1000px;
  margin:0 auto;
  font-family:var(--display);
  font-size:clamp(50px,6.2vw,88px);
  line-height:.93;
  text-align:center;
  letter-spacing:-.025em;
}
.manifesto em{color:var(--rose);font-weight:400}

.listen-section{
  max-width:1120px;
  margin:0 auto 115px;
  padding:0 30px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:64px;
  align-items:start;
}
.listen-copy{padding-top:34px}
.listen-copy h2{
  margin:0 0 24px;
  font-family:var(--display);
  font-size:clamp(48px,5vw,72px);
  line-height:.96;
  font-weight:500;
}
.listen-copy p{font-size:18px;line-height:1.65;color:#62534b}
.listen-fallback{
  display:inline-block;
  margin-top:17px;
  padding-bottom:4px;
  border-bottom:1px solid var(--rose);
  color:var(--rose);
  text-decoration:none;
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
}
.instagram-wrap{
  background:var(--paper);
  border:1px solid rgba(43,30,23,.1);
  padding:18px;
  min-height:500px;
  box-shadow:0 20px 60px rgba(43,30,23,.06);
}
.instagram-media{margin:0 auto!important;min-width:0!important;width:100%!important}

.final-truth{
  background:var(--espresso);
  color:var(--ivory);
  margin-top:36px;
  padding:106px 30px 112px;
}
.final-truth .inner{max-width:1000px;margin:0 auto;text-align:center}
.final-truth .eyebrow{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#d8bfa9;margin-bottom:30px}
.final-truth p{
  margin:0;
  font-family:var(--display);
  font-size:clamp(45px,5.4vw,78px);
  line-height:1.02;
  font-style:italic;
}
.final-truth em{color:#dca09b;font-style:italic}

.newsletter{
  max-width:980px;
  margin:0 auto;
  padding:102px 30px 108px;
  text-align:center;
}
.newsletter .kicker{margin-bottom:20px}
.newsletter h2{
  font-family:var(--display);
  font-size:clamp(43px,5vw,68px);
  line-height:1;
  font-weight:500;
  margin:0 auto 22px;
  max-width:820px;
}
.newsletter p{max-width:660px;margin:0 auto 34px;font-size:18px;line-height:1.65;color:#665850}
.newsletter a.cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 26px;
  border:1px solid var(--espresso);
  text-decoration:none;
  font-family:var(--sans);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  transition:.2s ease;
}
.newsletter a.cta:hover{background:var(--espresso);color:var(--ivory)}

.footer{
  max-width:1240px;
  margin:0 auto;
  padding:28px 30px 46px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-family:var(--sans);
  font-size:11px;
  color:#7b6e66;
}
.footer a{text-decoration:none}

@media(max-width:950px){
  .hero{grid-template-columns:1fr;gap:28px;padding-bottom:72px}
  .hero-copy{padding:32px 4px 0}
  .hero-image{min-height:660px}
  .section{grid-template-columns:120px minmax(0,1fr);gap:34px}
  .image-interlude{grid-template-columns:1fr}
  .image-interlude .main-photo{min-height:0}
  .image-caption{max-width:620px;padding:12px 0 0}
  .listen-section{grid-template-columns:1fr;gap:34px}
}

@media(max-width:680px){
  .site-nav{padding:20px 18px 14px;align-items:flex-start}
  .journal-link{max-width:210px;line-height:1.4}
  .hero{padding:0 18px 58px;margin-top:0}
  .hero-copy{padding-top:24px}
  .hero h1{font-size:clamp(55px,18vw,82px);line-height:.88}
  .hero-deck{font-size:24px;margin-top:24px}
  .hero-image{min-height:480px}
  .article-shell{padding:0 18px}
  .section{display:block;margin-bottom:64px}
  .margin-note{display:flex;gap:12px;align-items:baseline;margin-bottom:22px;border-top:1px solid var(--line);padding-top:14px}
  .margin-note strong{margin:0}.margin-note span{max-width:none;font-size:16px}
  .copy p{font-size:18px;line-height:1.72;margin-bottom:19px}
  .copy .lead{font-size:29px;margin-bottom:28px}
  h2.section-title{font-size:46px;line-height:1;margin-bottom:26px}
  .scanline{font-size:31px!important}
  .pull-quote{margin:8px 18px 72px;padding:48px 6px 52px}
  .pull-quote blockquote{font-size:45px}
  .image-interlude{padding:0 18px;margin-bottom:72px}
  .manifesto{margin:76px 0;padding:72px 18px}
  .manifesto p{font-size:51px}
  .listen-section{padding:0 18px;margin-bottom:78px}
  .listen-copy{padding-top:0}
  .instagram-wrap{padding:8px}
  .final-truth{padding:78px 18px 84px}
  .newsletter{padding:78px 18px 82px}
  .footer{padding:24px 18px 38px;display:block;line-height:1.7}
}
