/* Visual motifs and wording from the client's supplied page references. */
.home-v2 .flow-sec {
  background: radial-gradient(ellipse at 100% 100%, #f9eeee 0, transparent 56%), linear-gradient(#fff, #fafbf9);
}
.home-v2 .pf-green .pillar-portrait img { object-position: 100% center; }
.home-v2 .pf-sun .pillar-portrait img { object-position: 100% center; }
.home-v2 .pf-blue .pillar-portrait img { object-position: 100% center; }
.home-v2 .pillars-flow .pillar p { text-wrap: pretty; }

.jomon-reference-hero { position: relative; isolation: isolate; overflow: hidden; background: #f6f6ed; }
.jomon-reference-hero > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 75% center; }
.jomon-reference-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #fffffff5, #ffffffdb 35%, #ffffff38 63%, transparent 82%); }
.jomon-reference-copy { padding: 58px 44px 54px; }
.jomon-reference-copy .editorial-eyebrow { color: #746440; font-size: 11px; letter-spacing: .23em; margin: 0 0 24px; }
.page-sun .content-sec .jomon-reference-copy h2 { font-size: clamp(29px, 3.2vw, 43px); line-height: 1.7; font-weight: 500; letter-spacing: .05em; color: #28342e; border: 0; padding: 0; margin: 0 0 24px; }
.jomon-reference-copy > p:not(.editorial-eyebrow) { font-size: 15px; line-height: 2.15; color: #39453b; margin: 0 0 28px; }
.jomon-reference-copy .editorial-link { color: #5f4b29; border-color: #a69a7b; }
.jomon-reference-cards .pillar { overflow: hidden; }
.jomon-reference-cards .rita-pillar-photo { aspect-ratio: 1.15; height: auto; border-radius: 0; }
.jomon-reference-cards .jomon-lake { object-position: left; }
.jomon-reference-cards .jomon-pottery { object-position: right; }
.jomon-reference-cards .jomon-wellbeing { object-position: 85% center; }
.jomon-reference-cards .jomon-lake, .jomon-reference-cards .jomon-pottery { object-fit: cover; aspect-ratio: 1.15; }
.jomon-approach { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); align-items: center; gap: 40px; padding: 24px 0 40px; }
.page-sun .jomon-approach h3 { font-size: clamp(22px, 2.5vw, 31px); font-weight: 500; line-height: 1.9; color: #3e4238; margin: 18px 0 26px; }
.jomon-approach .editorial-eyebrow { color: #9a7440; }
.jomon-circles { position: relative; width: 320px; height: 280px; max-width: 100%; margin: auto; }
.jomon-circle { position: absolute; width: 174px; height: 174px; border: 1px solid #c5ac84; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; font-size: 19px; letter-spacing: .1em; color: #625037; }
.jomon-circle:first-child { left: calc(50% - 87px); top: 0; }
.jomon-circle:nth-child(2) { left: 0; bottom: 0; }
.jomon-circle:nth-child(3) { right: 0; bottom: 0; }
.jomon-circle small { font-family: var(--font-sans); font-size: 9px; letter-spacing: .2em; margin-top: 5px; }

.page-green .bosai-reference-motto { font-family: var(--font-sans); font-size: 10px; line-height: 2; letter-spacing: .22em; color: #4d615b; margin: 24px 0; }
.page-green .rita-bosai-story .editorial-link { margin-top: 8px; }

.kr-gold { color: #a37a43; }
.kr-eyecatch { background: linear-gradient(100deg, #fff 10%, #ffffffd9 60%, #ffffff3b), url('../img/rita-reset-elements-v19.webp') center / cover; }
.kr-eyecatch .kr-visual img {
  border-radius: 0;
  mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent), linear-gradient(0deg, transparent, #000 14%, #000 86%, transparent);
  mask-composite: intersect;
}
.kr-letter { position: relative; z-index: 1; }
.medroom-reference-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 54px; align-items: center; text-align: left; margin: 32px 0; }
.page-blue .medroom-reference-layout .medroom-lead { margin: 0; }
.page-blue .medroom-reference-layout .rita-medroom-room { margin: 0; width: 100%; }
.page-blue .medroom-reference-layout .medroom-history { font-size: clamp(22px, 2.2vw, 29px); line-height: 1.7; margin-bottom: 26px; }
.medroom-history > span { display: inline-block; color: #ad9062; font-size: 1.8em; line-height: 1.3; margin-left: .08em; }
.medroom-history small { font-size: .5em; }
.page-blue .med-elements.rita-care-grid { gap: 0; border-top: 1px solid #dbe6ed; border-left: 1px solid #dbe6ed; }
.page-blue .rita-care-grid .med-el { border: 0; border-right: 1px solid #dbe6ed; border-bottom: 1px solid #dbe6ed; border-radius: 0; }
.rita-care-grid .rita-care-art { border-radius: 0; }

@media (max-width: 900px) {
  .jomon-wide-break { display: none; }
  .jomon-reference-copy > p:not(.editorial-eyebrow) { max-width: 52%; }
  .jomon-approach { grid-template-columns: 1fr; gap: 26px; }
  .medroom-reference-layout { gap: 30px; }
}
@media (max-width: 700px) {
  .jomon-reference-hero { display: flex; flex-direction: column; }
  .jomon-reference-hero > img { position: static; z-index: auto; order: 2; aspect-ratio: 1.5; height: auto; }
  .jomon-reference-hero::before { display: none; }
  .jomon-reference-copy { background: linear-gradient(145deg, #fff, #fbf6eb); padding: 30px 24px; }
  .page-sun .content-sec .jomon-reference-copy h2 { font-size: clamp(24px, 6.2vw, 34px); }
  .jomon-reference-copy > p:not(.editorial-eyebrow) { max-width: none; font-size: 14px; }
  .jomon-reference-cards .rita-pillar-photo { aspect-ratio: 1.4; }
  .jomon-reference-cards .jomon-lake, .jomon-reference-cards .jomon-pottery { aspect-ratio: 1.4; }
  .jomon-approach h3 br { display: none; }
  .jomon-circles { width: 280px; height: 246px; }
  .jomon-circle { width: 152px; height: 152px; font-size: 17px; }
  .jomon-circle:first-child { left: calc(50% - 76px); }
  .kr-eyecatch { background-position: 75% center; }
  .medroom-reference-layout { grid-template-columns: 1fr; gap: 28px; }
  .page-blue .medroom-reference-layout .medroom-history { font-size: 23px; }
  .page-blue .medroom-reference-layout .rita-medroom-room { max-width: none; }
}
@media (max-width: 359px) {
  .jomon-reference-copy { padding: 28px 16px; }
  .page-sun .content-sec .jomon-reference-copy h2 { font-size: 22px; }
  .jomon-circles { width: 250px; height: 222px; }
  .jomon-circle { width: 138px; height: 138px; }
  .jomon-circle:first-child { left: calc(50% - 69px); }
}
