/* PureWoman: retain the original palette, components and photography. */
.label-hero { --hero-serif: 'Yu Mincho', 'Hiragino Mincho ProN', 'Noto Serif JP', serif; aspect-ratio: 1805 / 871; overflow: hidden; isolation: isolate; }
.label-hero .hero-backdrop { position: absolute; inset: 0; z-index: -1; height: 100%; }
.label-hero .hero-backdrop img { width: 100%; height: 100%; object-fit: cover; }
.hero-wordmark { position: absolute; top: 4%; right: 4%; text-align: center; line-height: 1.15; }
.hero-wordmark > span { display: block; color: #db6890; font-family: Georgia, 'Yu Mincho', serif; font-size: clamp(1.5rem, 3.8vw, 4.7rem); letter-spacing: .04em; }
.hero-wordmark small { display: block; margin-top: .6em; color: #887779; font-size: clamp(.5rem, .83vw, 1rem); letter-spacing: .14em; }
.hero-copy { position: absolute; left: 8.5%; top: 9%; width: 49%; }
.hero-kicker { color: #855b50; font-size: clamp(.8rem, 1.55vw, 1.7rem); letter-spacing: .12em; margin-bottom: 1.6vw; }
.hero-copy h1 { margin: 0 0 1.4vw; font-family: 'Yu Mincho', 'Hiragino Mincho ProN', serif; line-height: 1.38; font-weight: 500; font-size: clamp(1.7rem, 4.65vw, 5.6rem); letter-spacing: -.035em; color: #815c53; }
.hero-copy h1 span, .hero-copy h1 strong { display: block; white-space: nowrap; }
.hero-copy h1 strong { color: #df628b; font-weight: 600; font-size: 1.16em; letter-spacing: .04em; }
.hero-description { color: #79564e; font-size: clamp(.72rem, 1.35vw, 1.5rem); line-height: 1.8; letter-spacing: .06em; }
.hero-highlights { position: absolute; top: 63%; left: 8%; width: 47%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1vw; }
.hero-highlights > div { display: grid; justify-items: center; gap: .35vw; padding: 1.2vw .5vw; line-height: 1.45; border: 1px solid #f7e4eb; border-radius: 1.4vw; background: rgba(255,255,255,.91); text-align: center; }
.hero-highlights strong { font-family: var(--hero-serif); font-weight: 600; font-size: clamp(.72rem, 1.25vw, 1.4rem); letter-spacing: .06em; }
.hero-highlights small { color: #806b70; font-size: clamp(.6rem, .92vw, 1rem); letter-spacing: .04em; }
.hero-eligibility { position: absolute; left: 9%; bottom: 5.4%; margin: 0; color: #895563; line-height: 1.65; }
.hero-eligibility strong { display: block; font-family: var(--hero-serif); font-weight: 600; font-size: clamp(1.15rem, 2vw, 2.25rem); letter-spacing: .12em; }
.hero-eligibility span { display: block; margin-top: .3em; color: #7f656d; font-size: clamp(.7rem, 1vw, 1.1rem); letter-spacing: .08em; }
.hero-entry-panel { position: absolute; right: 3.5%; bottom: 6%; width: 38%; padding: 1.25vw; background: rgba(255,255,255,.95); border-radius: 1.3vw; box-shadow: 0 4px 12px #9f5b7020; }
.hero-entry-panel p { text-align: center; color: #80525f; font-family: var(--hero-serif); font-weight: 500; font-size: clamp(.72rem, 1.15vw, 1.25rem); letter-spacing: .05em; margin: 0 0 .7vw; }
.hero-entry-panel > div { display: grid; grid-template-columns: 1fr 1fr; gap: .8vw; }
.hero-entry-panel .button { padding: 1vw .5vw; min-height: 0; text-align: center; font-family: var(--hero-serif); font-weight: 600; font-size: clamp(.65rem, 1.15vw, 1.3rem); letter-spacing: .05em; border-radius: 1vw; box-shadow: none; }
.hero-footnote { position: absolute; bottom: 1%; left: 8%; margin: 0; color: #78626a; font-size: clamp(.63rem, .84vw, .95rem); letter-spacing: .04em; }
.production-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.distribution-panel { max-width: 900px; margin: auto; padding: 3rem 2rem; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.distribution-panel .section-actions { justify-content: center; }
.content-note { margin: 2rem auto 0; text-align: center; }
.eligibility-note, .form-note { font-size: .9rem; }
.contact-form .eligibility-check { display: flex; align-items: flex-start; gap: .65rem; font-size: .95rem; cursor: pointer; }
.contact-form .eligibility-check input { flex: 0 0 auto; width: 20px; height: 20px; margin: .25rem 0 0; accent-color: var(--pink-strong); }
.guide-article { max-width: 1000px; margin: auto; }
.guide-article > section + section { margin-top: 3rem; }
.article-list .article-title-link { display: inline; padding: 0; margin: 0; border-radius: 0; font-size: inherit; font-weight: inherit; background: none; color: var(--ink); }
.article-list .article-title-link:hover { color: var(--pink-strong); }
.section-actions { justify-content: center; }
.job-content .section-actions, .guide-article .section-actions { justify-content: flex-start; }
.model-photo { margin: 0; }
.model-photo figcaption { margin-top: .6rem; color: #856e73; font-size: .85rem; text-align: center; }
@media (min-width: 1081px) { .home-menu a { padding: .85rem .55rem; font-size: clamp(.78rem, 1vw, .94rem); } }
@media (min-width: 1081px) and (max-width: 1280px) {
 .global-nav { font-size: .78rem; }
 .global-nav a { padding: .65rem .45rem; }
 .site-header { gap: .8rem; padding-left: 3vw; padding-right: 3vw; }
}
@media (max-width: 1080px) { .production-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
 .page-hero h1, .page-hero p:last-child { word-break: normal; }
 .label-hero { aspect-ratio: auto; display: grid; gap: 5vw; padding: 110vw 5% 6vw; background: #fff0f5; }
 .label-hero .hero-backdrop img { height: auto; object-fit: contain; mask-image: linear-gradient(#000 88%, transparent); }
 .hero-wordmark { left: 5%; right: auto; top: 3.3%; }
 .hero-wordmark > span { font-size: 7.1vw; }
 .hero-wordmark small { font-size: 2.15vw; letter-spacing: .1em; }
 .hero-copy { position: static; width: 100%; }
 .hero-kicker { font-size: 2.8vw; letter-spacing: .02em; margin-bottom: 3vw; }
 .hero-copy h1 { font-size: 6.8vw; line-height: 1.5; letter-spacing: -.045em; margin-bottom: 3vw; }
 .hero-copy h1 strong { font-size: 1.12em; letter-spacing: -.02em; }
 .hero-description { max-width: 100%; font-size: 2.9vw; line-height: 1.9; background: rgba(255,255,255,.72); padding: .25em .35em; border-radius: .5em; }
 .hero-highlights { position: static; width: 100%; gap: 2vw; }
 .hero-highlights > div { padding: 4vw 1vw; gap: 1.2vw; border-radius: 4vw; }
 .hero-highlights strong { font-size: 3.25vw; }
 .hero-highlights small { font-size: 2.7vw; }
 .hero-eligibility { position: static; text-align: center; }
 .hero-eligibility strong { font-size: 5.6vw; }
 .hero-eligibility span { font-size: 3.2vw; }
 .hero-entry-panel { position: static; width: auto; padding: 4vw; border-radius: 5vw; }
 .hero-entry-panel p { font-size: 3.3vw; margin-bottom: 3vw; }
 .hero-entry-panel > div { grid-template-columns: 1fr; gap: 3vw; }
 .hero-entry-panel .button { padding: 3vw; border-radius: 999px; font-size: 4.2vw; min-height: 44px; }
 .hero-footnote { position: static; font-size: 3vw; text-align: center; }
 .production-steps { grid-template-columns: 1fr; }
 .distribution-panel { padding: 2rem 1.2rem; }
 .section-actions, .cta-actions { gap: .75rem; }
}
