/* Local comparison: a photo-led statement of TOUMEI's approach. */
.concept-study { background: #fff; }
.concept-study .wf-main { width: min(1200px, calc(100% - 80px)); padding-bottom: 80px; }
.concept-study .wf-breadcrumbs { padding-top: 24px; font-size: 11px; }
.concept-opening { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: 60px; padding: 46px 0 76px; }
.concept-opening__eyebrow { margin: 0 0 16px; color: #647460; font-size: 11px; font-weight: 600; letter-spacing: .16em; }
.concept-opening h1 { margin: 0 0 28px; font-size: 15px; font-weight: 500; letter-spacing: .05em; }
.concept-opening__message { margin: 0 0 24px; font: 400 clamp(28px, 3.4vw, 41px)/1.7 var(--serif); letter-spacing: .015em; }
.concept-opening__message > span { display: block; }
.concept-opening__lead { max-width: 440px; margin: 0; color: #596158; font-size: 16px; line-height: 2.1; }
.concept-photo { min-width: 0; width: 100%; margin: 0; }
.concept-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.concept-opening .concept-photo img { aspect-ratio: 4 / 3; }
.concept-photo--needed { display: grid; place-items: center; padding: 32px; min-height: 0; aspect-ratio: 3 / 2; color: #53604f; background: #fafbf8; border: 1px dashed #a6b19e; text-align: center; }
.concept-photo--needed > div { max-width: 360px; }
.concept-photo--needed span { display: block; margin-bottom: 20px; color: #738269; font-size: 11px; letter-spacing: .18em; }
.concept-photo--needed strong { display: block; font-weight: 500; font-size: 18px; line-height: 1.7; }
.concept-photo--needed p { margin: 14px 0 12px; font-size: 14px; line-height: 1.9; }
.concept-photo--needed small { display: block; font-size: 13px; line-height: 1.9; }
.concept-story { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); align-items: center; gap: 72px; padding: 62px 0; border-top: 1px solid #dce1da; scroll-margin-top: calc(var(--header-height) + 20px); }
.concept-story--reverse { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.concept-story--reverse .concept-photo { order: 2; }
.concept-study .wf-section-heading { margin-bottom: 22px; }
.concept-study .wf-section-heading > p { margin: 0 0 16px; font-size: 11px; letter-spacing: .13em; color: #647460; }
.concept-study .wf-section-heading h2 { margin: 0; font: 400 clamp(24px, 2.7vw, 32px)/1.75 var(--serif); letter-spacing: .025em; }
.concept-study .wf-section-heading > span { display: block; margin-top: 18px; color: #596158; font-size: 15px; line-height: 1.9; }
.concept-story__copy > p { margin: 0; color: #596158; font-size: 15px; line-height: 2; }
.concept-story__copy > p + p { margin-top: 18px; }
.concept-next { padding: 52px 0 0; margin-top: 14px; border-top: 1px solid #dce1da; }
.concept-next__links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; margin-top: 28px; }
.concept-next__links > a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; border-block: 1px solid #dce1da; color: #293e30; }
.concept-next__links strong { display: block; font: 400 23px/1.6 var(--serif); }
.concept-next__links small { display: block; margin-top: 8px; color: #596158; font-size: 13px; line-height: 1.8; }
.concept-next__links a > span:last-child { flex: none; }
.concept-next__consult { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 48px; padding: 36px 42px; background: #f2f5ef; }
.concept-next__consult > p { margin: 0; color: #293e30; font: 400 25px/1.8 var(--serif); }
.concept-next__consult a { display: flex; justify-content: space-between; align-items: center; min-height: 54px; min-width: 270px; gap: 24px; padding: 14px 24px; background: #293e30; color: #fff; font-size: 15px; line-height: 1.8; }
.concept-study main a:focus-visible { outline: 2px solid #476750; outline-offset: 4px; }
@media (hover: hover) {
  .concept-next__links a:hover { color: #6b825e; }
  .concept-next__consult a:hover { background: #40573b; }
}
@media (max-width: 1050px) {
  .concept-opening, .concept-story { gap: 38px; }
  .concept-opening__message { font-size: 32px; }
  .concept-photo--needed { padding: 24px; }
  .concept-photo--needed strong { font-size: 16px; }
}
@media (max-width: 767px) {
  .concept-study .wf-main { width: calc(100% - 44px); padding-bottom: 44px; }
  .concept-study .wf-breadcrumbs { padding-top: 20px; font-size: 10px; }
  .concept-opening { grid-template-columns: minmax(0,1fr); gap: 28px; padding: 30px 0 40px; }
  .concept-opening h1 { font-size: 14px; margin-bottom: 22px; }
  .concept-opening__message { font-size: 29px; line-height: 1.75; letter-spacing: 0; margin-bottom: 20px; }
  .concept-opening__lead { font-size: 15px; line-height: 1.95; }
  .concept-opening .concept-photo img { aspect-ratio: 3 / 2; }
  .concept-story, .concept-story--reverse { grid-template-columns: minmax(0,1fr); gap: 24px; padding: 34px 0; }
  .concept-story .concept-photo { order: 2; }
  .concept-story__copy { order: 1; }
  .concept-study .wf-section-heading { margin-bottom: 18px; }
  .concept-study .wf-section-heading h2 { font-size: 26px; letter-spacing: 0; line-height: 1.75; }
  .concept-study .wf-section-heading > p { font-size: 10px; margin-bottom: 12px; }
  .concept-study .wf-section-heading > span { font-size: 14px; margin-top: 14px; }
  .concept-story__copy > p { font-size: 15px; line-height: 1.95; }
  .concept-story__copy > p + p { margin-top: 14px; }
  .concept-photo--needed { padding: 24px 20px; }
  .concept-photo--needed span { margin-bottom: 12px; }
  .concept-photo--needed strong { font-size: 16px; }
  .concept-photo--needed p { font-size: 13px; margin-block: 12px; }
  .concept-photo--needed small { font-size: 12px; }
  .concept-next { padding-top: 34px; margin-top: 0; }
  .concept-next__links { grid-template-columns: minmax(0,1fr); gap: 0; margin-top: 24px; }
  .concept-next__links > a { padding: 22px 0; }
  .concept-next__links > a + a { border-top: 0; }
  .concept-next__links strong { font-size: 22px; }
  .concept-next__links small { font-size: 13px; }
  .concept-next__consult { display: block; margin: 34px -22px 0; padding: 30px 22px; }
  .concept-next__consult > p { font-size: 24px; line-height: 1.8; }
  .concept-next__consult a { width: 100%; min-width: 0; margin-top: 24px; font-size: 14px; }
}
@media (max-width: 359px) {
  .concept-opening__message { font-size: 26px; }
  .concept-study .wf-section-heading h2 { font-size: 23px; }
  .concept-next__consult > p { font-size: 22px; }
}
