/* =========================================================
   運営者プロフィールと信頼要素
========================================================= */

/* =========================================================
   Start From 39 / Profile — warm magazine layout 1.6.6
========================================================= */

.sf39-profile-page {
  --pf-green: #064f47;
  --pf-deep: #043d38;
  --pf-gold: #c79b47;
  --pf-clay: #b96f58;
  --pf-peach: #f3dfd3;
  --pf-ivory: #fbf8f1;

  background: #f7f2e9;

  padding: 64px 24px 110px;
}

.sf39-profile-page .sf-raw-page {
  width: min(100%, 1180px);

  margin: auto;

  background: #fffdf8;
  border: 1px solid #dfd2c1;
  box-shadow: 0 24px 70px rgba(31, 55, 49, 0.08);
}

.sf39-profile-page .post-content {
  position: relative;

  padding: 82px 9% 96px;

  color: #33443f;

  counter-reset: profile-section;
}

.sf39-profile-page .post-content::before {
  content: "ABOUT THE EDITOR";
  display: block;

  margin-bottom: 20px;

  color: var(--pf-clay);

  font: 700 11px/1.3 var(--sf-sans);
  letter-spacing: 0.29em;
}

.sf39-profile-page .post-content::after {
  content: "39";
  position: absolute;
  top: 24px;
  right: 7%;

  color: rgba(185, 111, 88, 0.075);

  font: 400 154px/1 Georgia,
    serif;

  pointer-events: none;
}

.sf39-profile-page h1 {
  position: relative;
  z-index: 1;

  max-width: 780px;

  margin: 0 0 52px;
  padding-bottom: 30px;

  color: var(--pf-deep);

  font: 500 clamp(38px, 4.7vw, 62px)/1.4 var(--sf-serif);
  letter-spacing: 0.055em;

  border-bottom: 1px solid #d9c5b2;
}

.sf39-profile-page h1::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;

  width: 126px;
  height: 3px;

  background: linear-gradient(
    90deg,
    var(--pf-green),
    var(--pf-gold),
    var(--pf-clay)
  );
}

.sf39-profile-page h1 + p {
  max-width: 760px;

  margin: 0 0 16px;

  color: var(--pf-green);

  font: 500 clamp(18px, 2vw, 23px)/2 var(--sf-serif);
}

.sf39-profile-page h2 {
  counter-increment: profile-section;

  position: relative;

  margin: 82px 0 30px;
  padding: 26px 32px 26px 92px;

  color: var(--pf-green);

  font: 500 clamp(25px, 3vw, 36px)/1.55 var(--sf-serif);
  letter-spacing: 0.05em;

  background: linear-gradient(100deg, #f3dfd3 0, #fbf4ec 68%, transparent 100%);
  border-top: 1px solid #ddc7b4;
  border-bottom: 1px solid #eadbcd;
}

.sf39-profile-page h2::before {
  content: "0" counter(profile-section);
  position: absolute;
  left: 30px;
  top: 50%;

  transform: translateY(-50%);

  color: var(--pf-clay);

  font: italic 20px/1 Georgia,
    serif;
}

.sf39-profile-page h3 {
  margin: 42px 0 19px;

  color: var(--pf-green);

  font: 600 21px/1.7 var(--sf-serif);
}

.sf39-profile-page p {
  max-width: 820px;

  margin: 0 0 1.5em;

  font-size: 15px;
  line-height: 2.15;
  letter-spacing: 0.035em;
}

.sf39-profile-page blockquote {
  margin: 44px 0;
  padding: 38px 48px;

  color: #fffdf5;
  background: linear-gradient(130deg, var(--pf-green), #0a655a);
  border: 0;
  border-bottom: 4px solid var(--pf-gold);

  font: 500 clamp(20px, 2.4vw, 29px)/1.9 var(--sf-serif);
  text-align: center;
}

.sf39-profile-page ul,
.sf39-profile-page ol {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;

  margin: 28px 0 38px;
  padding: 0;

  list-style: none;
}

.sf39-profile-page li {
  position: relative;

  padding: 19px 22px 19px 46px;

  color: #33443f;
  background: #fffaf3;
  border: 1px solid #e4d7c8;

  font-size: 14px;
  line-height: 1.8;
}

.sf39-profile-page li::before {
  content: "◇";
  position: absolute;
  left: 20px;

  color: var(--pf-clay);
}

.sf39-profile-page a {
  color: var(--pf-green);

  font-weight: 700;
  text-decoration-color: var(--pf-gold);
  text-underline-offset: 4px;
}

.sf39-profile-page a:hover {
  color: var(--pf-clay);
}

.sf39-profile-page .wp-block-button__link {
  padding: 16px 30px;

  color: #fff;
  background: var(--pf-green);
  border: 1px solid var(--pf-green);
  border-radius: 0;
}

.sf39-profile-page .wp-block-button__link:hover {
  color: var(--pf-green);
  background: var(--pf-peach);
}

@media (max-width: 767px) {
  .sf39-profile-page {
    padding: 25px 13px 60px;
  }

  .sf39-profile-page .post-content {
    padding: 40px 21px 54px;
  }

  .sf39-profile-page .post-content::before {
    margin-bottom: 14px;

    font-size: 9px;
  }

  .sf39-profile-page .post-content::after {
    top: 25px;
    right: 13px;

    font-size: 82px;
  }

  .sf39-profile-page h1 {
    margin-bottom: 36px;
    padding-right: 25px;
    padding-bottom: 21px;

    font-size: 30px;
  }

  .sf39-profile-page h1 + p {
    font-size: 17px;
    line-height: 1.9;
  }

  .sf39-profile-page h2 {
    margin: 56px -7px 24px;
    padding: 21px 15px 21px 60px;

    font-size: 23px;
  }

  .sf39-profile-page h2::before {
    left: 19px;

    font-size: 16px;
  }

  .sf39-profile-page p {
    font-size: 14px;
    line-height: 2;
  }

  .sf39-profile-page blockquote {
    margin: 33px 0;
    padding: 28px 20px;

    font-size: 19px;
  }

  .sf39-profile-page ul,
  .sf39-profile-page ol {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .sf39-profile-page li {
    padding: 16px 17px 16px 42px;
  }
}

/* =========================================================
   1.6.7 — editor's portrait edition
========================================================= */

.sf39-profile-page {
  padding: 78px 24px 130px;

  background: linear-gradient(125deg, #eee2d6 0 34%, #f8f4ec 34%);
}

.sf39-profile-page .sf-raw-page {
  position: relative;
  overflow: hidden;

  max-width: 1240px;

  border: 0;
  border-top: 5px solid #c79b47;
  box-shadow: 0 35px 90px rgba(31, 55, 49, 0.14);
}

.sf39-profile-page .post-content {
  padding: 100px clamp(44px, 10vw, 130px) 120px;

  background: linear-gradient(
    90deg,
    rgba(255, 253, 248, 0.98),
    rgba(255, 253, 248, 0.94)
  );
}

.sf39-profile-page .post-content::before {
  display: inline-block;

  margin-bottom: 26px;
  padding: 9px 15px;

  color: #f2c77d;
  background: #064f47;
}

.sf39-profile-page .post-content::after {
  top: 8px;
  right: 3%;

  font-size: 230px;

  color: rgba(6, 79, 71, 0.055);
}

.sf39-profile-page h1 {
  max-width: 850px;

  margin-bottom: 58px;
  padding-bottom: 35px;

  font-size: clamp(42px, 5vw, 68px);
}

.sf39-profile-page h1 + p {
  position: relative;

  max-width: 880px;

  margin: 0 0 54px;
  padding: 38px 44px 38px 54px;

  color: #fffaf0;
  background: linear-gradient(120deg, #064f47, #0b685c);
  border-bottom: 4px solid #c79b47;

  font-size: clamp(19px, 2vw, 25px);

  box-shadow: 18px 18px 0 #f0ddd0;
}

.sf39-profile-page h1 + p::before {
  content: "“";
  position: absolute;
  left: 16px;
  top: 2px;

  color: #e9bc73;

  font: 400 58px/1 Georgia,
    serif;
}

.sf39-profile-page h2 {
  margin: 100px -5vw 38px;
  padding: 34px 5vw 34px calc(5vw + 68px);

  background: linear-gradient(90deg, #efe0d5, #fff9f1 72%);
  border-top: 0;
  border-bottom: 1px solid #d5baa3;
}

.sf39-profile-page h2:nth-of-type(even) {
  color: #fffaf0;
  background: linear-gradient(110deg, #064f47, #0c695d);
  border-bottom-color: #c79b47;
}

.sf39-profile-page h2:nth-of-type(even)::before {
  color: #edc47e;
}

.sf39-profile-page p {
  max-width: 860px;

  font-size: 16px;
}

.sf39-profile-page h3 {
  padding-left: 20px;

  border-left: 3px solid #ba7058;
}

.sf39-profile-page ul,
.sf39-profile-page ol {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.sf39-profile-page li {
  min-height: 90px;

  padding: 24px 25px 24px 52px;

  background: #faf1e8;
  border: 0;
  border-top: 2px solid #c79b47;
  box-shadow: 0 12px 30px rgba(45, 54, 48, 0.06);
}

.sf39-profile-page li:nth-child(3n + 2) {
  background: #f2ded2;
}

.sf39-profile-page li:nth-child(3n) {
  color: #fffaf0;
  background: #0b6257;
  border-top-color: #e5b86f;
}

.sf39-profile-page li:nth-child(3n)::before {
  color: #eac37d;
}

.sf39-profile-page blockquote {
  margin: 60px -3vw;
  padding: 52px 8%;

  box-shadow: 18px 18px 0 #ead4c2;
}

@media (max-width: 767px) {
  .sf39-profile-page {
    padding: 20px 10px 64px;

    background: #f2e8dd;
  }

  .sf39-profile-page .post-content {
    padding: 42px 20px 62px;
  }

  .sf39-profile-page .post-content::after {
    font-size: 100px;
  }

  .sf39-profile-page h1 {
    font-size: 32px;
  }

  .sf39-profile-page h1 + p {
    margin-bottom: 45px;
    padding: 28px 21px 28px 37px;

    font-size: 17px;

    box-shadow: 8px 8px 0 #f0ddd0;
  }

  .sf39-profile-page h2 {
    margin: 64px -12px 27px;
    padding: 24px 16px 24px 61px;

    font-size: 23px;
  }

  .sf39-profile-page ul,
  .sf39-profile-page ol {
    grid-template-columns: 1fr;
  }

  .sf39-profile-page li {
    min-height: 0;
  }

  .sf39-profile-page blockquote {
    margin: 40px 0;
    padding: 34px 21px;

    box-shadow: 8px 8px 0 #ead4c2;
  }
}

/* =========================================================
   1.6.8 — quiet luxury / numbers never overlap copy
========================================================= */

.sf39-profile-page .post-content {
  padding-top: 86px;
}

.sf39-profile-page .post-content::after {
  content: "";
  display: none;
}

.sf39-profile-page h1 {
  max-width: 760px;

  margin-bottom: 50px;
  padding-bottom: 26px;

  font-size: clamp(34px, 3.65vw, 48px);
  line-height: 1.55;
  letter-spacing: 0.045em;
}

.sf39-profile-page h1 + p {
  max-width: 820px;

  padding: 31px 38px 31px 48px;

  font-size: clamp(17px, 1.55vw, 21px);
  line-height: 1.9;

  box-shadow: 12px 12px 0 #ead9ca;
}

.sf39-profile-page h2,
.sf39-profile-page h2:nth-of-type(even) {
  display: grid;

  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  column-gap: 22px;

  margin: 82px -3vw 32px;
  padding: 27px 3vw;

  color: #064f47;
  background: linear-gradient(90deg, #f1e4d9, #fbf7f0);
  border: 0;
  border-bottom: 1px solid #d8c2ae;

  font-size: clamp(23px, 2.35vw, 31px);
  line-height: 1.55;
}

.sf39-profile-page h2::before,
.sf39-profile-page h2:nth-of-type(even)::before {
  position: static;
  display: flex;

  align-items: center;
  justify-content: center;

  transform: none;

  width: 42px;
  height: 42px;

  color: #8d5d4c;
  background: #fffaf3;
  border: 1px solid #c9a98f;
  border-radius: 50%;

  font: italic 12px/1 Georgia,
    serif;
}

.sf39-profile-page h3 {
  font-size: 19px;
}

.sf39-profile-page p {
  font-size: 15px;
  line-height: 2.05;
}

.sf39-profile-page blockquote {
  margin: 52px 0;
  padding: 42px 7%;

  font-size: clamp(19px, 2vw, 25px);

  box-shadow: none;
  border-bottom: 3px solid #c79b47;
}

.sf39-profile-page li {
  min-height: 76px;

  padding-block: 20px;

  box-shadow: none;
}

@media (max-width: 767px) {
  .sf39-profile-page .post-content {
    padding-top: 38px;
  }

  .sf39-profile-page h1 {
    font-size: 28px;
    line-height: 1.55;
  }

  .sf39-profile-page h1 + p {
    padding: 24px 18px 24px 32px;

    font-size: 16px;

    box-shadow: 7px 7px 0 #ead9ca;
  }

  .sf39-profile-page h2,
  .sf39-profile-page h2:nth-of-type(even) {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;

    margin: 54px -7px 24px;
    padding: 19px 13px;

    font-size: 21px;
  }

  .sf39-profile-page h2::before,
  .sf39-profile-page h2:nth-of-type(even)::before {
    width: 34px;
    height: 34px;

    font-size: 10px;
  }

  .sf39-profile-page h3 {
    font-size: 18px;
  }

  .sf39-profile-page p {
    font-size: 14px;
  }

  .sf39-profile-page blockquote {
    padding: 30px 19px;

    font-size: 18px;
  }
}

/* =========================================================
   1.6.9 — MODERN EDITORIAL PROFILE
========================================================= */

.sf39-profile-page {
  padding: 76px 24px 120px;

  color: #2b2d2b;
  background: #ece8e1;
}

.sf39-profile-page .sf-raw-page {
  max-width: 1200px;

  background: #fbf9f5;
  border: 0;
  border-top: 1px solid #b79a62;
  box-shadow: 0 24px 65px rgba(32, 34, 32, 0.08);
}

.sf39-profile-page .post-content {
  padding: 82px clamp(42px, 9vw, 110px) 105px;

  background: #fbf9f5;
}

.sf39-profile-page .post-content::before {
  margin-bottom: 22px;
  padding: 0 0 10px;

  color: #806b47;
  background: none;
  border-bottom: 1px solid #b79a62;

  font-size: 9px;
  letter-spacing: 0.32em;
}

.sf39-profile-page h1 {
  max-width: 720px;

  margin-bottom: 46px;
  padding-bottom: 23px;

  color: #202220;
  border-bottom: 1px solid #d4ccc1;

  font-size: clamp(32px, 3.2vw, 43px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.sf39-profile-page h1::after {
  width: 55px;
  height: 1px;

  background: #b79a62;
}

.sf39-profile-page h1 + p {
  max-width: 780px;

  margin-bottom: 50px;
  padding: 28px 0 28px 34px;

  color: #3c3e3b;
  background: transparent;
  border: 0;
  border-left: 2px solid #b79a62;
  box-shadow: none;

  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.95;
}

.sf39-profile-page h1 + p::before {
  display: none;
}

.sf39-profile-page h2,
.sf39-profile-page h2:nth-of-type(even) {
  display: grid;

  grid-template-columns: 54px minmax(0, 1fr);
  gap: 23px;

  margin: 76px 0 30px;
  padding: 0 0 22px;

  color: #202220;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #cbc3b8;

  font-size: clamp(22px, 2.15vw, 29px);
  font-weight: 400;
  line-height: 1.65;
}

.sf39-profile-page h2::before,
.sf39-profile-page h2:nth-of-type(even)::before {
  position: static;
  display: block;

  width: auto;
  height: auto;

  padding-top: 8px;

  color: #806b47;
  background: none;
  border: 0;
  border-radius: 0;

  font: italic 10px/1 Georgia,
    serif;
  letter-spacing: 0.14em;
  text-align: left;
}

.sf39-profile-page h3 {
  padding-left: 16px;

  color: #2d302e;
  border-left: 1px solid #b79a62;

  font-size: 18px;
  font-weight: 500;
}

.sf39-profile-page p {
  color: #5d5c58;

  font-size: 15px;
  line-height: 2.05;
}

.sf39-profile-page ul,
.sf39-profile-page ol {
  gap: 12px;
}

.sf39-profile-page li,
.sf39-profile-page li:nth-child(3n + 2),
.sf39-profile-page li:nth-child(3n) {
  min-height: 0;

  padding: 20px 22px 20px 43px;

  color: #3e403d;
  background: #f3f0ea;
  border: 1px solid #d8d0c5;
  border-top: 1px solid #d8d0c5;
  box-shadow: none;
}

.sf39-profile-page li::before,
.sf39-profile-page li:nth-child(3n)::before {
  color: #806b47;
}

.sf39-profile-page blockquote {
  margin: 48px 0;
  padding: 38px 8%;

  color: #f8f5ef;
  background: #202220;
  border: 0;
  border-top: 1px solid #b79a62;
  border-bottom: 1px solid #b79a62;
  box-shadow: none;

  font-size: clamp(18px, 1.8vw, 23px);
  font-weight: 400;
}

.sf39-profile-page .wp-block-button__link {
  color: #f8f5ef;
  background: #202220;
  border-color: #202220;
  border-radius: 0;
}

.sf39-profile-page .wp-block-button__link:hover {
  color: #202220;
  background: #d8c7a2;
  border-color: #d8c7a2;
}

@media (max-width: 767px) {
  .sf39-profile-page {
    padding: 18px 10px 58px;

    background: #ece8e1;
  }

  .sf39-profile-page .post-content {
    padding: 39px 20px 58px;
  }

  .sf39-profile-page h1 {
    font-size: 27px;
  }

  .sf39-profile-page h1 + p {
    padding: 20px 0 20px 20px;

    font-size: 16px;
  }

  .sf39-profile-page h2,
  .sf39-profile-page h2:nth-of-type(even) {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;

    margin: 51px 0 23px;
    padding-bottom: 16px;

    font-size: 20px;
  }

  .sf39-profile-page h2::before,
  .sf39-profile-page h2:nth-of-type(even)::before {
    padding-top: 7px;

    font-size: 9px;
  }

  .sf39-profile-page h3 {
    font-size: 17px;
  }

  .sf39-profile-page p {
    font-size: 14px;
  }

  .sf39-profile-page blockquote {
    padding: 28px 20px;

    font-size: 17px;
  }
}

/* =========================================================
   1.7.0 — elegant profile; readable numbering and line markers
========================================================= */

.sf39-profile-page {
  background: #f4f0e8;
}

.sf39-profile-page .sf-raw-page {
  max-width: 1200px;

  border: 1px solid #ddd5c8;
  border-top: 3px solid #b99a60;
  box-shadow: 0 18px 50px rgba(44, 50, 46, 0.055);
}

.sf39-profile-page .post-content {
  padding: 70px clamp(42px, 8vw, 98px) 92px;
}

.sf39-profile-page h1 {
  max-width: none;

  margin-bottom: 44px;
  padding-bottom: 21px;

  color: #173f39;

  font-size: clamp(27px, 2.55vw, 36px);
  line-height: 1.45;
  letter-spacing: 0.025em;
  white-space: nowrap;
}

.sf39-profile-page h1 + p {
  max-width: 830px;

  margin-bottom: 45px;
  padding: 22px 0 22px 28px;

  color: #40514c;
  border-left: 2px solid #b99a60;

  font-size: clamp(16px, 1.35vw, 19px);

  box-shadow: none;
}

.sf39-profile-page h2,
.sf39-profile-page h2:nth-of-type(even) {
  display: grid;

  grid-template-columns: 46px minmax(0, 1fr);
  align-items: baseline;
  gap: 18px;

  margin: 58px 0 25px;
  padding: 0 0 16px;

  color: #173f39;
  background: none;
  border-bottom: 1px solid #d9d1c5;

  font-size: clamp(21px, 1.85vw, 25px);
  font-weight: 500;
  line-height: 1.55;
}

.sf39-profile-page h2::before,
.sf39-profile-page h2:nth-of-type(even)::before {
  position: static;
  display: block;

  width: auto;
  height: auto;

  padding: 0;

  color: #a18148;
  background: none;
  border: 0;
  border-radius: 0;

  font: italic 1em/1.55 Georgia,
    serif;
  letter-spacing: 0.04em;
  text-align: left;
}

.sf39-profile-page h3 {
  padding-left: 15px;

  border-left: 2px solid #b99a60;

  font-size: 18px;
}

.sf39-profile-page ul,
.sf39-profile-page ol {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px;

  margin: 24px 0 36px;
  padding: 0;

  list-style: none;
}

.sf39-profile-page li,
.sf39-profile-page li:nth-child(3n + 2),
.sf39-profile-page li:nth-child(3n) {
  position: relative;

  min-height: 0;

  padding: 17px 0 17px 42px;

  color: #48534f;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #ddd5c9;
  border-radius: 0;
  box-shadow: none;
}

.sf39-profile-page li::before,
.sf39-profile-page li:nth-child(3n)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;

  width: 22px;
  height: 1px;

  transform: translateY(-50%);

  background: #b99a60 !important;
  border: 0 !important;
}

.sf39-profile-page blockquote {
  margin: 45px 0;
  padding: 34px 7%;

  color: #fffaf0;
  background: #315f56;
  border: 0;
  border-left: 4px solid #d3b572;
  box-shadow: none;

  font-size: clamp(18px, 1.7vw, 22px);
}

@media (max-width: 767px) {
  .sf39-profile-page {
    padding: 16px 10px 55px;
  }

  .sf39-profile-page .post-content {
    padding: 34px 14px 52px;
  }

  .sf39-profile-page h1 {
    margin-bottom: 35px;

    font-size: clamp(16px, 4.8vw, 19px);
    letter-spacing: 0;
    white-space: nowrap;
  }

  .sf39-profile-page h1 + p {
    padding: 18px 0 18px 18px;

    font-size: 15px;
  }

  .sf39-profile-page h2,
  .sf39-profile-page h2:nth-of-type(even) {
    grid-template-columns: 35px minmax(0, 1fr);
    gap: 10px;

    margin: 43px 0 19px;
    padding-bottom: 13px;

    font-size: 19px;
  }

  .sf39-profile-page ul,
  .sf39-profile-page ol {
    grid-template-columns: 1fr;
  }

  .sf39-profile-page li {
    padding: 14px 0 14px 36px;
  }

  .sf39-profile-page li::before {
    width: 18px;
  }

  .sf39-profile-page blockquote {
    padding: 27px 19px;

    font-size: 17px;
  }
}

/* =========================================================
   1.7.1 — one consistent fine-line system
========================================================= */

.sf39-profile-page h1 + p {
  padding-left: 0;

  border-left: 0 !important;
}

.sf39-profile-page h2::before,
.sf39-profile-page h2:nth-of-type(even)::before {
  content: counter(profile-section, decimal-leading-zero);

  font-size: 1em;
  font-weight: 400;
  line-height: inherit;
}

.sf39-profile-page,
.sf39-profile-page .sf-raw-page,
.sf39-profile-page .post-content::before,
.sf39-profile-page h1,
.sf39-profile-page h1::after,
.sf39-profile-page h2,
.sf39-profile-page h3,
.sf39-profile-page li,
.sf39-profile-page li::before,
.sf39-profile-page blockquote {
  border-width: 1px !important;
}

.sf39-profile-page h1::after {
  height: 1px !important;
}

.sf39-profile-page h3 {
  border-left-width: 1px !important;
}

.sf39-profile-page li::before {
  height: 1px !important;
}

@media (max-width: 767px) {
  .sf39-profile-page h1 + p {
    padding-left: 0;
  }
}

/* =========================================================
   1.7.2 — remove the unintended opening gap
========================================================= */

.sf39-profile-page h1 {
  margin-bottom: 25px !important;
}

.sf39-profile-page h1 + *,
.sf39-profile-page h1 + * + * {
  margin-top: 0 !important;
}

.sf39-profile-page h1 + .wp-block-spacer,
.sf39-profile-page h1 + .wp-block-group > .wp-block-spacer {
  height: 18px !important;
  min-height: 0 !important;

  margin: 0 !important;
}

.sf39-profile-page .post-content > p:empty {
  display: none !important;
}

.sf39-profile-page h1 + p,
.sf39-profile-page h1 + .wp-block-spacer + p,
.sf39-profile-page h1 + .wp-block-group + p {
  margin-top: 0 !important;
  margin-bottom: 34px !important;
  padding-top: 8px !important;
}

@media (max-width: 767px) {
  .sf39-profile-page h1 {
    margin-bottom: 18px !important;
  }

  .sf39-profile-page h1 + .wp-block-spacer {
    height: 10px !important;
  }

  .sf39-profile-page h1 + p,
  .sf39-profile-page h1 + .wp-block-spacer + p {
    margin-bottom: 27px !important;
    padding-top: 5px !important;
  }
}

/* =========================================================
   1.18.05 — dedicated editorial profile page
========================================================= */

.sf-profile-v2 {
  --pf-green: #173f38;
  --pf-emerald: #1d5b50;
  --pf-gold: #d9b66f;
  --pf-clay: #b87962;
  --pf-ivory: #fbf8f1;
  --pf-line: #ddd3c3;

  color: #243d37;
  background: var(--pf-ivory);
}

.sf-profile-v2 .sf-container {
  width: min(calc(100% - 56px), 1180px);
}

.sf-profile-v2__hero {
  padding: 78px 0 92px;

  background: linear-gradient(135deg, #f2ece2 0 36%, #fffdf9 36%);
}

.sf-profile-v2__hero-grid {
  display: grid;

  grid-template-columns: minmax(360px, 0.88fr) minmax(0, 1.12fr);

  min-height: 610px;

  background: #fffefa;
  border: 1px solid #d8cdbb;
  box-shadow: 0 28px 68px rgba(24, 55, 48, 0.1);
}

.sf-profile-v2__portrait {
  position: relative;

  min-height: 610px;

  margin: 0;

  overflow: hidden;

  background: #e9e2d7;
}

.sf-profile-v2__portrait::after {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    180deg,
    transparent 54%,
    rgba(15, 52, 45, 0.75) 100%
  );
}

.sf-profile-v2__portrait img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 43% center;
}

.sf-profile-v2__portrait figcaption {
  position: absolute;
  left: 32px;
  bottom: 29px;
  z-index: 1;

  color: #fff;
}

.sf-profile-v2__portrait small,
.sf-profile-v2__portrait strong {
  display: block;
}

.sf-profile-v2__portrait small {
  margin-bottom: 9px;

  color: var(--pf-gold);

  font: 700 9px/1.4 var(--sf-sans);
  letter-spacing: 0.23em;
}

.sf-profile-v2__portrait strong {
  font: 500 28px/1.2 var(--sf-script);
}

.sf-profile-v2__hero-copy {
  display: flex;

  flex-direction: column;
  justify-content: center;

  padding: 65px clamp(40px, 5.3vw, 78px);
}

.sf-profile-v2__eyebrow {
  margin: 0 0 18px;

  color: var(--pf-clay);

  font: 700 10px/1.4 var(--sf-sans);
  letter-spacing: 0.24em;
}

.sf-profile-v2__hero h1 {
  margin: 0 0 31px;

  color: var(--pf-green);

  font: 500 clamp(32px, 3.7vw, 49px)/1.5 var(--sf-serif);
  letter-spacing: 0.055em;
}

.sf-profile-v2__lead {
  margin: 0 0 25px;

  color: var(--pf-green);

  font: 500 clamp(21px, 2.35vw, 30px)/1.7 var(--sf-serif);
  letter-spacing: 0.04em;
}

.sf-profile-v2__hero-copy
  > p:not(.sf-profile-v2__eyebrow):not(.sf-profile-v2__lead) {
  margin: 0;

  color: #65706b;

  font-size: 13px;
  line-height: 2.05;
}

.sf-profile-v2__trust {
  display: grid;

  gap: 8px;

  margin: 30px 0 0;
  padding: 0;

  list-style: none;
}

.sf-profile-v2__trust li {
  position: relative;

  padding: 11px 14px 11px 37px;

  color: #35534c;
  background: #f5f0e7;
  border-left: 2px solid var(--pf-clay);

  font-size: 11px;
}

.sf-profile-v2__trust li::before {
  content: "◇";
  position: absolute;
  left: 15px;

  color: #a67e43;
}

.sf-profile-v2__section {
  padding: 100px 0;
}

.sf-profile-v2__heading {
  display: grid;

  grid-template-columns: 66px minmax(0, 1fr);
  gap: 24px;
  align-items: start;

  margin-bottom: 48px;
}

.sf-profile-v2__heading > span {
  padding-top: 7px;

  color: #a47d3b;

  font: italic 25px/1 Georgia,
    serif;
}

.sf-profile-v2__heading > div {
  padding-bottom: 24px;

  border-bottom: 1px solid var(--pf-line);
}

.sf-profile-v2__heading p {
  margin: 0 0 11px;

  color: var(--pf-clay);

  font: 700 9px/1.4 var(--sf-sans);
  letter-spacing: 0.24em;
}

.sf-profile-v2__heading h2 {
  margin: 0;

  color: var(--pf-green);

  font: 500 clamp(27px, 3.2vw, 41px)/1.55 var(--sf-serif);
  letter-spacing: 0.06em;
}

.sf-profile-v2__story-intro {
  display: grid;

  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;

  margin-left: 90px;
}

.sf-profile-v2__story-intro > p {
  margin: 0;

  color: #606c67;

  font-size: 14px;
  line-height: 2.1;
}

.sf-profile-v2__story-intro blockquote {
  margin: 0;
  padding: 30px 35px;

  color: #fff;
  background: linear-gradient(135deg, var(--pf-green), #256359);
  border-left: 3px solid var(--pf-gold);

  font: 500 19px/1.8 var(--sf-serif);
}

.sf-profile-v2__story-grid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);
  gap: 18px;

  margin: 55px 0 0 90px;
}

.sf-profile-v2__story-grid article {
  min-height: 285px;

  padding: 32px 28px;

  background: #fff;
  border: 1px solid var(--pf-line);
}

.sf-profile-v2__story-grid article > span,
.sf-profile-v2__promise-grid article > span {
  color: var(--pf-clay);

  font: italic 20px/1 Georgia,
    serif;
}

.sf-profile-v2__story-grid h3 {
  margin: 23px 0 16px;

  color: var(--pf-green);

  font: 500 19px/1.7 var(--sf-serif);
}

.sf-profile-v2__story-grid p {
  margin: 0;

  color: #66706c;

  font-size: 12px;
  line-height: 2;
}

.sf-profile-v2__meaning {
  display: grid;

  grid-template-columns: 0.72fr 1fr 1fr;
  gap: 0;

  margin: 28px 0 0 90px;

  background: #f1eadf;
  border: 1px solid #ded1be;
}

.sf-profile-v2__meaning > p {
  display: flex;

  align-items: center;

  margin: 0;
  padding: 25px;

  color: #fff;
  background: var(--pf-green);

  font: 700 9px/1.5 var(--sf-sans);
  letter-spacing: 0.22em;
}

.sf-profile-v2__meaning > div {
  padding: 22px 25px;

  border-left: 1px solid #d8cbb8;
}

.sf-profile-v2__meaning strong,
.sf-profile-v2__meaning span {
  display: block;
}

.sf-profile-v2__meaning strong {
  margin-bottom: 6px;

  color: #9c7536;

  font: 600 13px/1.5 var(--sf-serif);
}

.sf-profile-v2__meaning span {
  color: #606963;

  font-size: 11px;
  line-height: 1.8;
}

.sf-profile-v2__themes {
  background: #f0ece4;
}

.sf-profile-v2__section-lead {
  max-width: 690px;

  margin: -18px 0 38px 90px;

  color: #68716d;

  font-size: 13px;
  line-height: 2;
}

.sf-profile-v2__theme-grid {
  display: grid;

  grid-template-columns: repeat(5, 1fr);

  margin-left: 90px;
}

.sf-profile-v2__theme-grid a {
  position: relative;

  min-height: 230px;

  padding: 28px 22px;

  color: var(--pf-green);
  background: #fffefa;
  border: 1px solid var(--pf-line);
  border-right: 0;

  transition: transform 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease;
}

.sf-profile-v2__theme-grid a:last-child {
  border-right: 1px solid var(--pf-line);
}

.sf-profile-v2__theme-grid a:nth-child(1) {
  color: #fff;
  background: var(--pf-emerald);
}

.sf-profile-v2__theme-grid a:hover {
  z-index: 1;

  box-shadow: 0 18px 35px rgba(24, 55, 48, 0.13);

  transform: translateY(-6px);
}

.sf-profile-v2__theme-grid small {
  color: var(--pf-gold);

  font-size: 8px;
  letter-spacing: 0.14em;
}

.sf-profile-v2__theme-grid h3 {
  margin: 26px 0 11px;

  font: 500 20px/1.5 var(--sf-serif);
}

.sf-profile-v2__theme-grid p {
  margin: 0;

  color: #737975;

  font-size: 10px;
  line-height: 1.8;
}

.sf-profile-v2__theme-grid a:first-child p {
  color: rgba(255, 255, 255, 0.72);
}

.sf-profile-v2__theme-grid i {
  position: absolute;
  right: 21px;
  bottom: 20px;

  color: #b18843;

  font-style: normal;
}

.sf-profile-v2__promise {
  background: #fffdf8;
}

.sf-profile-v2__promise-grid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);
  gap: 18px;

  margin-left: 90px;
}

.sf-profile-v2__promise-grid article {
  min-height: 245px;

  padding: 32px 30px;

  background: #f7f1e8;
  border-top: 2px solid var(--pf-clay);
}

.sf-profile-v2__promise-grid h3 {
  margin: 25px 0 17px;

  color: var(--pf-green);

  font: 500 18px/1.65 var(--sf-serif);
}

.sf-profile-v2__promise-grid p {
  margin: 0;

  color: #68706c;

  font-size: 12px;
  line-height: 2;
}

.sf-profile-v2__work {
  color: #fff;
  background: linear-gradient(135deg, #123f37, #205b51);
}

.sf-profile-v2__work-grid {
  display: grid;

  grid-template-columns: 0.9fr 1.1fr;
  gap: 75px;
  align-items: start;
}

.sf-profile-v2__work .sf-profile-v2__heading {
  grid-template-columns: 58px minmax(0, 1fr);

  margin: 0;
}

.sf-profile-v2__work .sf-profile-v2__heading > div {
  border-color: rgba(255, 255, 255, 0.2);
}

.sf-profile-v2__work .sf-profile-v2__heading > span,
.sf-profile-v2__work .sf-profile-v2__heading p {
  color: var(--pf-gold);
}

.sf-profile-v2__work .sf-profile-v2__heading h2 {
  color: #fff;
}

.sf-profile-v2__work-copy > p {
  margin: 0 0 18px;

  color: rgba(255, 255, 255, 0.76);

  font-size: 13px;
  line-height: 2;
}

.sf-profile-v2__work-copy ul {
  display: grid;

  grid-template-columns: 1fr 1fr;
  gap: 9px;

  margin: 28px 0;
  padding: 0;

  list-style: none;
}

.sf-profile-v2__work-copy li {
  padding: 12px 14px;

  color: #f7f1e5;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);

  font-size: 11px;
}

.sf-profile-v2__work-copy a {
  display: flex;

  align-items: center;
  justify-content: space-between;

  min-height: 58px;

  padding: 12px 14px 12px 20px;

  color: var(--pf-green);
  background: var(--pf-gold);

  font-size: 12px;
  font-weight: 700;

  transition: transform 0.25s ease,
    background-color 0.25s ease;
}

.sf-profile-v2__work-copy a:hover {
  color: var(--pf-green);
  background: #ead09b;

  transform: translateY(-5px);
}

.sf-profile-v2__work-copy i,
.sf-profile-v2__closing-links i {
  font-style: normal;
}

.sf-profile-v2__closing {
  padding: 90px 0;

  text-align: center;

  background: #e7eeea;
}

.sf-profile-v2__closing p {
  margin: 0 0 14px;

  color: #a47d3b;

  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.24em;
}

.sf-profile-v2__closing h2 {
  margin: 0;

  color: var(--pf-green);

  font: 500 clamp(30px, 4vw, 50px)/1.55 var(--sf-serif);
  letter-spacing: 0.07em;
}

.sf-profile-v2__closing > div > span {
  display: block;

  margin-top: 19px;

  color: #60706a;

  font-size: 13px;
}

.sf-profile-v2__closing-links {
  display: grid;

  grid-template-columns: repeat(3, 1fr);
  gap: 12px;

  max-width: 780px;

  margin: 38px auto 0;
}

.sf-profile-v2__closing-links a {
  display: flex;

  align-items: center;
  justify-content: space-between;

  min-height: 58px;

  padding: 13px 17px;

  color: var(--pf-green);
  background: #fff;
  border: 1px solid #cfd9d4;

  font-size: 11px;
  font-weight: 600;

  transition: transform 0.25s ease,
    box-shadow 0.25s ease;
}

.sf-profile-v2__closing-links a:hover {
  box-shadow: 0 14px 28px rgba(24, 55, 48, 0.1);

  transform: translateY(-5px);
}

@media (max-width: 900px) {
  .sf-profile-v2__hero-grid {
    grid-template-columns: 0.82fr 1.18fr;
  }

  .sf-profile-v2__hero-copy {
    padding: 48px 38px;
  }

  .sf-profile-v2__theme-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sf-profile-v2__theme-grid a {
    border-right: 1px solid var(--pf-line);
  }

  .sf-profile-v2__theme-grid a:last-child {
    grid-column: 1/-1;
  }

  .sf-profile-v2__work-grid {
    gap: 45px;
  }
}

@media (max-width: 767px) {
  .sf-profile-v2 .sf-container {
    width: calc(100% - 32px);
  }

  .sf-profile-v2__hero {
    padding: 24px 0 55px;

    background: #f2ece2;
  }

  .sf-profile-v2__hero-grid {
    display: block;

    min-height: 0;
  }

  .sf-profile-v2__portrait {
    min-height: 390px;
  }

  .sf-profile-v2__portrait img {
    object-position: 42% center;
  }

  .sf-profile-v2__portrait figcaption {
    left: 22px;
    bottom: 21px;
  }

  .sf-profile-v2__hero-copy {
    padding: 35px 24px 32px;
  }

  .sf-profile-v2__eyebrow {
    font-size: 8px;
  }

  .sf-profile-v2__hero h1 {
    margin-bottom: 22px;

    font-size: 30px;
  }

  .sf-profile-v2__lead {
    font-size: 21px;
  }

  .sf-profile-v2__hero-copy
    > p:not(.sf-profile-v2__eyebrow):not(.sf-profile-v2__lead) {
    font-size: 12px;
  }

  .sf-profile-v2__section {
    padding: 68px 0;
  }

  .sf-profile-v2__heading {
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 12px;

    margin-bottom: 32px;
  }

  .sf-profile-v2__heading > span {
    font-size: 18px;
  }

  .sf-profile-v2__heading > div {
    padding-bottom: 17px;
  }

  .sf-profile-v2__heading h2 {
    font-size: 25px;
  }

  .sf-profile-v2__story-intro,
  .sf-profile-v2__story-grid,
  .sf-profile-v2__meaning,
  .sf-profile-v2__section-lead,
  .sf-profile-v2__theme-grid,
  .sf-profile-v2__promise-grid {
    margin-left: 0;
  }

  .sf-profile-v2__story-intro {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .sf-profile-v2__story-intro > p {
    font-size: 13px;
  }

  .sf-profile-v2__story-intro blockquote {
    padding: 25px 23px;

    font-size: 17px;
  }

  .sf-profile-v2__story-grid {
    grid-template-columns: 1fr;
    gap: 12px;

    margin-top: 34px;
  }

  .sf-profile-v2__story-grid article {
    min-height: 0;

    padding: 27px 23px;
  }

  .sf-profile-v2__meaning {
    grid-template-columns: 1fr;

    margin-top: 18px;
  }

  .sf-profile-v2__meaning > div {
    border-top: 1px solid #d8cbb8;
    border-left: 0;
  }

  .sf-profile-v2__section-lead {
    margin-top: -12px;

    font-size: 12px;
  }

  .sf-profile-v2__theme-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .sf-profile-v2__theme-grid a,
  .sf-profile-v2__theme-grid a:last-child {
    grid-column: auto;

    min-height: 145px;

    border-right: 1px solid var(--pf-line);
  }

  .sf-profile-v2__promise-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .sf-profile-v2__promise-grid article {
    min-height: 0;

    padding: 27px 23px;
  }

  .sf-profile-v2__work-grid {
    display: block;
  }

  .sf-profile-v2__work .sf-profile-v2__heading {
    grid-template-columns: 39px minmax(0, 1fr);

    margin-bottom: 32px;
  }

  .sf-profile-v2__work-copy > p {
    font-size: 12px;
  }

  .sf-profile-v2__work-copy ul {
    grid-template-columns: 1fr;
  }

  .sf-profile-v2__closing {
    padding: 68px 0;
  }

  .sf-profile-v2__closing h2 {
    font-size: 29px;
  }

  .sf-profile-v2__closing > div > span {
    font-size: 11px;
    line-height: 1.9;
  }

  .sf-profile-v2__closing-links {
    grid-template-columns: 1fr;

    margin-top: 29px;
  }
}

/* =========================================================
   1.18.06 — separate the editor story from the media ABOUT
========================================================= */

.sf-profile-v2__experience {
  background: #f0ece4;
}

.sf-profile-v2__experience-grid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);
  gap: 18px;

  margin-left: 90px;
}

.sf-profile-v2__experience-grid article {
  position: relative;

  min-height: 290px;

  padding: 34px 29px;

  background: #fffefa;
  border: 1px solid var(--pf-line);
}

.sf-profile-v2__experience-grid article:first-child {
  color: #fff;
  background: var(--pf-emerald);
  border-color: var(--pf-emerald);
}

.sf-profile-v2__experience-grid small {
  color: var(--pf-clay);

  font: 700 8px/1.5 var(--sf-sans);
  letter-spacing: 0.18em;
}

.sf-profile-v2__experience-grid article:first-child small {
  color: var(--pf-gold);
}

.sf-profile-v2__experience-grid h3 {
  margin: 30px 0 18px;

  color: var(--pf-green);

  font: 500 21px/1.55 var(--sf-serif);
}

.sf-profile-v2__experience-grid article:first-child h3 {
  color: #fff;
}

.sf-profile-v2__experience-grid p {
  margin: 0;

  color: #67716c;

  font-size: 12px;
  line-height: 2;
}

.sf-profile-v2__experience-grid article:first-child p {
  color: rgba(255, 255, 255, 0.75);
}

.sf-profile-v2__values {
  background: #fffdf8;
}

.sf-profile-v2__values-grid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);
  gap: 18px;

  margin-left: 90px;
}

.sf-profile-v2__values-grid article {
  min-height: 238px;

  padding: 32px 30px;

  background: #f7f1e8;
  border-top: 2px solid var(--pf-clay);
}

.sf-profile-v2__values-grid article > span {
  color: var(--pf-clay);

  font: italic 20px/1 Georgia,
    serif;
}

.sf-profile-v2__values-grid h3 {
  margin: 25px 0 17px;

  color: var(--pf-green);

  font: 500 18px/1.65 var(--sf-serif);
}

.sf-profile-v2__values-grid p {
  margin: 0;

  color: #68706c;

  font-size: 12px;
  line-height: 2;
}

@media (max-width: 767px) {
  .sf-profile-v2__experience-grid,
  .sf-profile-v2__values-grid {
    grid-template-columns: 1fr;
    gap: 10px;

    margin-left: 0;
  }

  .sf-profile-v2__experience-grid article,
  .sf-profile-v2__values-grid article {
    min-height: 0;

    padding: 27px 23px;
  }

  .sf-profile-v2__experience-grid h3 {
    margin-top: 22px;
  }
}
