:root {
  --article-ink: #121212;
  --article-muted: #62615d;
  --article-paper: #f6f5f1;
  --article-line: rgba(18, 18, 18, .16);
  --article-gold: #b18d4d;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.blog-article-page { margin: 0; color: var(--article-ink); background: #fff; font-family: "Chronicle Display", Georgia, serif; }
body.blog-article-page img { display: block; width: 100%; }
body.blog-article-page .blog-shell-header { position: sticky; }
.article-kicker { margin: 0; color: var(--article-gold); font-size: 10px; letter-spacing: .25em; line-height: 1.3; text-transform: uppercase; }

.article-hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); height: calc(100svh - 84px); min-height: 0; max-height: calc(100svh - 84px); background: var(--article-paper); }
.article-hero__image-wrap { position: relative; min-height: 0; height: 100%; overflow: hidden; background: #27272a; }
.article-hero__image-wrap img { height: 100%; object-fit: cover; object-position: center 20%; filter: saturate(.82); }
.article-hero__image-wrap::after { position: absolute; inset: 0; content: ""; background: linear-gradient(135deg, rgba(0,0,0,.24), transparent 46%, rgba(0,0,0,.1)); pointer-events: none; }
.article-hero__stamp { position: absolute; z-index: 1; bottom: 38px; left: 42px; color: #fff; font-size: 18px; letter-spacing: .18em; line-height: 1.2; }
.article-hero__stamp small { font-size: 7px; letter-spacing: .38em; }
.article-hero__intro { display: flex; min-height: 0; flex-direction: column; justify-content: center; overflow: hidden; padding: clamp(28px, 5vh, 72px) clamp(34px, 6vw, 90px); }
.article-hero__intro h1 { max-width: 600px; margin: 22px 0 26px; font-size: clamp(42px, 4.1vw, 60px); font-weight: 400; letter-spacing: -.025em; line-height: .98; }
.article-lede { max-width: 520px; margin: 0; color: #4b4a46; font-size: clamp(17px, 1.45vw, 22px); line-height: 1.58; }
.article-hero__meta { display: flex; gap: 28px; margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--article-line); color: #77746d; font-size: 10px; letter-spacing: .15em; }
.article-scroll { display: inline-flex; align-items: center; gap: 16px; width: fit-content; margin-top: clamp(28px, 5vh, 62px); color: var(--article-ink); font-size: 10px; letter-spacing: .18em; text-decoration: none; text-transform: uppercase; }
.article-scroll i { display: grid; width: 34px; height: 34px; border: 1px solid var(--article-line); border-radius: 50%; font-size: 17px; font-style: normal; place-items: center; transition: transform .25s ease; }
.article-scroll:hover i { transform: translateY(4px); }

.article-story { display: grid; grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr); gap: clamp(35px, 8vw, 150px); width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: clamp(100px, 12vw, 180px) 0 clamp(100px, 11vw, 160px); }
.article-story__number { margin: 34px 0 0; color: #99958c; font-size: 12px; letter-spacing: .14em; }
.article-author { margin-top: 0; }
.article-author img { width: 132px; height: 210px; object-fit: cover; object-position: center 18%; filter: saturate(.82); }
.article-author__name { margin: 16px 0 3px; font-size: 17px; }
.article-author__role { margin: 0 0 16px; color: var(--article-gold); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.article-author a { display: block; width: fit-content; margin-top: 7px; color: var(--article-muted); font-size: 11px; line-height: 1.35; text-decoration: none; }
.article-author a:hover { color: var(--article-gold); }
.article-story__number span { color: #c1bdb4; }
.article-story__copy { max-width: 680px; }
.article-story__lead { margin: 0 0 34px; color: #171717; font-size: clamp(25px, 3vw, 40px); line-height: 1.22; }
.article-story__copy > p:not(.article-story__lead) { max-width: 620px; margin: 0; color: var(--article-muted); font-size: 17px; line-height: 1.8; }
.article-pullquote { display: grid; grid-template-columns: 48px 1fr; gap: 10px; align-items: start; margin-top: 58px; padding-top: 24px; border-top: 1px solid var(--article-line); }
.article-pullquote span { color: var(--article-gold); font-size: 58px; line-height: .8; }
.article-pullquote p { max-width: 500px; margin: 0; font-size: 24px; font-style: italic; line-height: 1.4; }

.article-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; width: min(1200px, calc(100% - 64px)); margin: 0 auto; background: #fff; }
.article-gallery figure { margin: 0; overflow: hidden; background: var(--article-paper); }
.article-gallery__large { height: auto; aspect-ratio: 3 / 4; }
.article-gallery__large img { height: 100%; object-fit: cover; object-position: center 30%; }
.article-gallery__side { display: block; height: auto; }
.article-gallery__side figure { height: auto; aspect-ratio: 3 / 4; }
.article-gallery__side figure img { height: 100%; object-fit: cover; object-position: center 28%; }
.article-gallery__caption { margin: auto 0 0; padding: 28px 0 4px 10px; border-left: 1px solid var(--article-gold); color: var(--article-muted); font-size: 15px; line-height: 1.6; }

.article-details { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px, 10vw, 170px); width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: clamp(110px, 14vw, 200px) 0; }
.article-details h2 { max-width: 360px; margin: 20px 0 0; font-size: clamp(32px, 4vw, 52px); font-weight: 400; letter-spacing: -.02em; line-height: 1.08; }
.article-details__list { border-top: 1px solid var(--article-line); }
.article-details__list article { position: relative; display: block; padding: 25px 0 28px 42px; border-bottom: 1px solid var(--article-line); }
.article-details__list article > span { position: absolute; top: 30px; left: 0; color: var(--article-gold); font-size: 11px; letter-spacing: .1em; }
.article-details h3 { margin: 0 0 9px; font-size: 23px; font-weight: 400; }
.article-details p { margin: 0; color: var(--article-muted); font-size: 15px; line-height: 1.6; }

.article-investment { display: grid; grid-template-columns: 1fr 1fr; width: min(1200px, calc(100% - 64px)); margin: 0 auto; background: var(--article-paper); }
.article-investment__image { min-height: 0; aspect-ratio: 3 / 4; }
.article-investment__image img { height: 100%; object-fit: cover; object-position: center 20%; }
.article-investment__card { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 7vw, 100px); }
.article-investment__card h2 { margin: 22px 0 20px; font-size: clamp(34px, 3.5vw, 52px); font-weight: 400; line-height: 1.08; }
.article-investment__card > p:not(.article-kicker) { max-width: 440px; margin: 0; color: var(--article-muted); font-size: 16px; line-height: 1.7; }
.article-button { display: inline-flex; align-items: center; justify-content: center; width: min(100%, 275px); margin-top: 38px; padding: 16px 22px; border-radius: 999px; background: #111; color: #fff; font-size: 10px; letter-spacing: .16em; text-align: center; text-decoration: none; text-transform: uppercase; transition: transform .25s ease, background .25s ease; }
.article-button:hover { background: var(--article-gold); transform: translateY(-2px); }
.article-next { width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: 92px 0 104px; text-align: center; }
.article-next__button { display: inline-flex; align-items: center; justify-content: center; min-width: 250px; padding: 17px 28px; border-radius: 999px; background: #111; color: #fff; font-size: 10px; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; transition: background .25s ease, transform .25s ease; }
.article-next__button:hover { background: var(--article-gold); transform: translateY(-2px); }
/* The article reuses the homepage contact section, kept scoped so it cannot
   change the typography or layout of the story above it. */
@font-face {
  font-family: ArticleFontAwesome;
  src: url('../wp-content/themes/theparisphotographer/fonts/fontawesome-webfont-v=4.6.3.woff2') format('woff2');
  font-display: block;
}

body.blog-article-page .article-contact {
  display: flex;
  min-height: 727px;
  align-items: center;
  padding: 110px 0;
  background-color: #242424;
  background-position: center 55%;
  background-size: cover;
  color: #fff;
}
body.blog-article-page .article-contact > .container {
  width: min(1200px, calc(100% - 64px));
  margin: 0 auto;
  padding: 0;
}
body.blog-article-page .article-contact .container > .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
  transform: translateY(24px);
}
body.blog-article-page .article-contact .tpp-footer-about {
  width: min(100%, 680px);
  margin: 0 auto;
  padding: 0;
  text-align: center;
}
body.blog-article-page .article-contact .textwidget {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
body.blog-article-page .article-contact .tpp-footer-brand,
body.blog-article-page .article-contact .tpp-footer-description { width: 100%; }
body.blog-article-page .article-contact .tpp-footer-wordmark {
  margin: 0;
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 21px;
  font-weight: 400;
  letter-spacing: 4px;
  line-height: 1;
}
body.blog-article-page .article-contact .tpp-footer-description {
  padding-top: 22px;
}
body.blog-article-page .article-contact .tpp-footer-description > p {
  max-width: 470px;
  margin: 0 auto;
  color: rgba(255, 255, 255, .8);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px;
  line-height: 1.65;
  text-align: center;
}
body.blog-article-page .article-contact .tpp-footer-contact-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}
body.blog-article-page .article-contact .tpp-footer-contact-actions a {
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  text-decoration: underline;
  text-decoration-color: rgba(205, 205, 205, .28);
  text-decoration-thickness: .5px;
  text-underline-offset: 4px;
}
body.blog-article-page .article-contact .tpp-footer-phone { font-size: 32px; line-height: 1.2; }
body.blog-article-page .article-contact .tpp-footer-contact-links { display: flex; justify-content: center; }
body.blog-article-page .article-contact .tpp-footer-contact-links a { font-size: 16px; }
body.blog-article-page .article-contact .tpp-footer-social { margin-top: 30px; text-align: center; }
body.blog-article-page .article-contact .tpp-footer-follow-label {
  margin: 0 0 10px;
  color: #d8c28a;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
}
body.blog-article-page .article-contact .social-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.blog-article-page .article-contact .social-links li { margin: 0; }
body.blog-article-page .article-contact .social-links a { color: #fff; font-size: 21px; text-decoration: none; }
body.blog-article-page .article-contact .social-links i {
  display: block;
  font-family: ArticleFontAwesome;
  font-style: normal;
}
body.blog-article-page .article-contact .fa-instagram::before { content: '\f16d'; }
body.blog-article-page .article-contact .fa-whatsapp::before { content: '\f232'; }
body.blog-article-page .article-small-footer {
  min-height: 64px;
  padding: 0;
  background: #171717;
  color: rgba(190, 190, 190, .62);
}
body.blog-article-page .article-small-footer .small-footer { padding: 22px 0; }
body.blog-article-page .article-small-footer .container { width: min(1200px, calc(100% - 64px)); margin: 0 auto; padding: 0; }
body.blog-article-page .article-small-footer .copyright { margin: 0; color: rgba(190, 190, 190, .62); font-size: 12px; text-align: center; }
body.blog-article-page .article-small-footer .copyright a { color: inherit; text-decoration: none; }

@media (max-width: 900px) {
  .article-hero { grid-template-columns: 1fr; height: auto; max-height: none; }
  .article-hero__image-wrap { min-height: 64svh; max-height: 680px; }
  .article-hero__intro { min-height: 500px; }
  .article-story { gap: 40px; }
  .article-gallery__large, .article-gallery__side { height: auto; }
  .article-investment__image { min-height: 0; }
}

@media (max-width: 620px) {
  .article-hero__image-wrap { min-height: 58svh; }
  .article-hero__stamp { bottom: 22px; left: 22px; font-size: 14px; }
  .article-hero__intro { min-height: auto; padding: 58px 24px 64px; }
  .article-hero__intro h1 { margin-top: 18px; font-size: clamp(43px, 12vw, 62px); }
  .article-lede { font-size: 17px; }
  .article-hero__meta { gap: 14px; font-size: 9px; }
  .article-scroll { margin-top: 46px; }
  .article-story, .article-gallery, .article-details, .article-investment, .article-next { width: calc(100% - 32px); }
  .article-story { display: block; padding: 86px 0 92px; }
  .article-story__number { margin: 14px 0 34px; }
  .article-author { display: grid; grid-template-columns: 82px 1fr; column-gap: 16px; align-items: center; margin: 0 0 44px; }
  .article-author img { grid-row: span 4; width: 82px; height: 106px; }
  .article-author__name { margin: 0; }
  .article-author__role { margin: 3px 0 8px; }
  .article-author a { margin-top: 3px; }
  .article-story__lead { font-size: 29px; }
  .article-story__copy > p:not(.article-story__lead) { font-size: 16px; }
  .article-pullquote { margin-top: 44px; }
  .article-pullquote p { font-size: 21px; }
  .article-gallery { display: block; }
  .article-gallery__large, .article-gallery__side { height: auto; }
  .article-gallery__side { margin-top: 16px; }
  .article-gallery__side figure { height: auto; }
  .article-details { display: block; padding: 92px 0; }
  .article-details h2 { margin-bottom: 48px; }
  .article-investment { display: block; }
  .article-investment__image { min-height: 0; aspect-ratio: 3 / 4; }
  .article-investment__card { padding: 44px 28px 52px; }
  .article-next { padding: 90px 0 100px; }
  .article-next__button { min-width: 0; width: 100%; }
  body.blog-article-page .article-contact { min-height: 560px; padding: 82px 0; }
  body.blog-article-page .article-contact > .container,
  body.blog-article-page .article-small-footer .container { width: calc(100% - 40px); }
  body.blog-article-page .article-contact .container > .row { transform: none; }
  body.blog-article-page .article-contact .tpp-footer-description > p { font-size: 15px; }
  body.blog-article-page .article-contact .tpp-footer-phone { font-size: 21px; }
}


/* Responsive vertical rhythm from the site's 20 / 40 / 60 / 100 / 120 scale. */
body.blog-article-page {
  --article-section-space: 120px;
  --article-action-space: 60px;
  --article-copy-space: 26px;
  --article-accent-space: 40px;
}
.article-hero__image-wrap img { object-position: center 38%; }
.article-story { padding-top: var(--article-section-space); padding-bottom: 0; }
.article-next { padding: var(--article-action-space) 0 var(--article-section-space); }
.article-story__copy > p,
.article-story__copy > p:not(.article-story__lead) { margin: 0 0 var(--article-copy-space); }
.article-story__copy > p.article-story__accent { margin-top: var(--article-accent-space); color: var(--article-ink); }
.article-story__copy > p:last-child { margin-bottom: 0; }
body.blog-article-page .article-contact { padding-top: var(--article-section-space); padding-bottom: var(--article-section-space); }
@media (max-width: 991px) {
  body.blog-article-page { --article-section-space: 100px; }
  .article-hero__intro { min-height: 0; padding-top: 60px; padding-bottom: 60px; }
}
@media (max-width: 620px) {
  body.blog-article-page { --article-section-space: 60px; --article-action-space: 40px; }
  .article-hero__intro { padding-top: 60px; padding-bottom: 60px; }
  .article-author { margin-bottom: 40px; }
}
