/* I&T — editorial recruitment direction. Extends the existing WordPress theme. */
:root { --font-impact: 'Dela Gothic One', 'Noto Sans JP', sans-serif; --font-latin: 'Barlow Condensed', Impact, sans-serif; }
.btn { border-radius: 0; box-shadow: none; font-weight: 800; }
.btn > span { display: inline-block; line-height: 1; transition: transform .3s ease; }
.btn:hover > span { transform: translate(4px,-4px); }
.eyebrow { font-size: .875rem; }
.eyebrow::before { border-radius: 0; width: 18px; height: 2px; vertical-align: 4px; }
.site-header { transition: background .25s, color .25s; }
.site-header--overlay { position: absolute; width: 100%; background: transparent; border: 0; color: #fff; }
.site-header--overlay.is-enhanced { position: fixed; }
.site-header--overlay .site-logo { padding: 10px 14px; background: #fff; transform: rotate(-2deg); }
.site-header--overlay .nav-primary li a:hover { color: #ffb17c; }
.site-header--overlay.is-scrolled, .site-header--overlay.menu-open { background: #fff; color: var(--color-text); box-shadow: 0 1px 0 #14233420; }
.site-header--overlay.is-scrolled .nav-primary li a:hover, .site-header--overlay.menu-open .nav-primary li a:hover { color: var(--color-orange); }
.poster-hero { position: relative; isolation: isolate; background: #142334; color: #fff; }
.poster-hero__image { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.poster-hero__image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(8,17,26,.6),transparent 28%,rgba(8,17,26,.12) 42%,rgba(8,17,26,.88) 100%); }
.poster-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 32%; }
.poster-hero__image figcaption { position: absolute; right: 32px; bottom: 15px; z-index: 1; color: #d9e1ea; font-size: .75rem; }
.poster-hero__inner { min-height: max(800px,100svh); display: flex; flex-direction: column; padding-top: 144px; padding-bottom: 54px; position: relative; }
.poster-hero__kicker { font-weight: 700; font-size: .875rem; letter-spacing: .1em; }
.poster-hero__message { margin-top: auto; padding-top: 170px; }
.poster-hero__english { font: italic 800 clamp(1.5rem,3vw,2.75rem)/1 var(--font-latin); letter-spacing: .03em; margin-bottom: 18px; }
.poster-hero__title { font: 400 clamp(3.3rem,7.5vw,7.2rem)/1.24 var(--font-impact); letter-spacing: -.06em; transform: rotate(-3deg); transform-origin: left center; width: fit-content; }
.poster-hero__title span { display: block; }
.poster-hero__title .accent { color: #ff873c; }
.poster-hero__bottom { display: flex; align-items: center; justify-content: space-between; gap: 32px; max-width: 990px; margin-top: 32px; }
.poster-hero__bottom p { font-size: 1rem; line-height: 1.9; font-weight: 600; }
.poster-hero__cta { padding: 22px 38px; min-width: 230px; font-size: 1.125rem; }
.poster-hero__cta span { font-size: 1.5rem; }
.poster-hero__scroll { position: absolute; right: 0; bottom: 110px; writing-mode: vertical-rl; display: flex; align-items: center; gap: 20px; text-decoration: none; font: 700 .75rem var(--font-latin); letter-spacing: .16em; }
.poster-hero__scroll span { writing-mode: horizontal-tb; font: 1.5rem sans-serif; }
@media (max-width:1050px) {
  .site-header--overlay .site-logo { transform: none; padding: 8px 10px; }
  .site-header--overlay .site-logo img { width: 160px; }
  .site-header--overlay:has(.nav-primary:not(.is-collapsible)) { position: relative; background:#142334; }
}
@media (max-width:760px) {
  .site-header--overlay .site-logo { padding: 7px 9px; }
  .site-header--overlay .site-logo img { width: 140px; }
  .poster-hero__inner { min-height: max(760px,96svh); padding-top: 115px; padding-bottom: 54px; }
  .poster-hero__kicker { font-size: .75rem; letter-spacing: .04em; }
  .poster-hero__image img { object-position: 54% center; }
  .poster-hero__image::after { background: linear-gradient(180deg,#08111a85,transparent 26%,#08111a30 38%,#08111af2 100%); }
  .poster-hero__title { font-size: clamp(2.1rem,8.55vw,4rem); line-height: 1.42; }
  .poster-hero__english { font-size: 1.75rem; margin-bottom: 14px; }
  .poster-hero__message { padding-top: 230px; }
  .poster-hero__bottom { align-items: start; flex-direction: column; margin-top: 22px; gap: 22px; }
  .poster-hero__cta { min-width: 220px; padding: 17px 28px; }
  .poster-hero__scroll { display: none; }
  .poster-hero__image figcaption { right: 20px; bottom: 16px; }
}

/* Each chapter has its own composition; photography is never repeated. */
.word-ribbon { overflow: hidden; background: var(--color-orange-bright); color: var(--color-text); padding-block: 10px; }
.word-ribbon__track { display: flex; width: max-content; }
.word-ribbon__track > span { flex-shrink: 0; font: italic 800 clamp(2rem,4.4vw,4.5rem)/1.3 var(--font-latin); letter-spacing: -.015em; white-space: nowrap; }
.word-ribbon i { font-style: normal; padding-inline: 38px; }
.motion-enabled .word-ribbon__track { animation: ribbon-travel 25s linear infinite; }
.word-ribbon:hover .word-ribbon__track { animation-play-state: paused; }
.editorial-label { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: .875rem; font-weight: 700; letter-spacing: .06em; padding-bottom: 22px; border-bottom: 1px solid currentColor; }
.editorial-label span:first-child { font-family: var(--font-latin); font-size: 1rem; letter-spacing: .1em; }
.manifesto { padding: 90px 0 110px; background: #142334; color: #fff; }
.manifesto .editorial-label { border-color: #ffffff35; }
.manifesto__intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; padding-top: 70px; align-items: center; }
.manifesto__title { font: 400 clamp(2.25rem,4.4vw,4.4rem)/1.55 var(--font-impact); letter-spacing: -.07em; }
.manifesto__title strong { display: inline-block; color: #ff873c; font-weight: 400; font-size: 2.2em; line-height: 1.05; vertical-align: -.05em; transform: rotate(-8deg); }
.manifesto__copy { padding-left: 32px; line-height: 2.2; }
.manifesto__copy p + p { margin-top: 24px; }
.manifesto__tag { font-size: 1.125rem; font-weight: 800; color: #ffb17c; }
.manifesto .values-grid { margin-top: 76px; gap: 32px; }
.manifesto .value { border-color: #ffffff35; padding-top: 24px; }
.manifesto .value__num { color: #ff873c; margin-bottom: 16px; font-style: normal; font-size: 1.5rem; }
.manifesto .value__num em { color: #fff; font-size: 2.5rem; margin-left: 18px; }
.manifesto .value h3 { font-size: 1.25rem; }
.manifesto .value p { color: #c7d2dc; }
.people-story { padding-top: 95px; padding-bottom: 105px; background: #fff; }
.display-word { font: italic 800 clamp(4rem,10.5vw,10rem)/.87 var(--font-latin); letter-spacing: -.03em; }
.people-story .display-word { position: relative; z-index: 2; margin: 48px 0 -30px; pointer-events: none; }
.people-story .display-word span { color: var(--color-orange); margin-left: 17%; }
.people-story__layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; max-width: 1600px; margin: auto; }
.people-story__photo { align-self: start; margin-top: 64px; }
.people-story__photo img { width: 100%; height: 650px; object-fit: cover; object-position: 44% center; }
.people-story__photo figcaption { margin-left: 24px; }
.people-story__copy { position: relative; background: #fff; margin: 130px 0 0; padding: 64px clamp(28px,4vw,72px); }
.people-story__copy .section-title { font-size: clamp(2rem,3.5vw,3.4rem); line-height: 1.55; letter-spacing: -.045em; }
.people-story__copy .copy { margin-top: 30px; max-width: 450px; }
.slanted-note { font-weight: 800; color: var(--color-orange); margin-bottom: 28px; transform: rotate(-4deg); transform-origin: left; }
.underline-accent { background: linear-gradient(transparent 75%,#ff873c 75%,#ff873c 94%,transparent 94%); }
.editorial-link { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 34px; padding: 22px 0; border-top: 2px solid; color: inherit; text-decoration: none; font-size: 1rem; font-weight: 800; }
.editorial-link small { display: block; font: 800 1rem/1.4 var(--font-latin); letter-spacing: .08em; margin-bottom: 4px; }
.editorial-link b { flex-shrink: 0; width: 66px; height: 66px; border: 1px solid; border-radius: 50%; display: grid; place-items: center; font-size: 2rem; font-weight: 400; transition: transform .3s, background .3s, color .3s; }
.editorial-link:hover b { transform: rotate(45deg); background: var(--color-text); color: #fff; }
.work-scene { padding-top: 72px; background: #142334; color: #fff; }
.work-scene .editorial-label { border: 0; padding-bottom: 34px; }
.work-scene__visual { position: relative; isolation: isolate; display: flex; align-items: end; min-height: 630px; padding-block: 80px; }
.work-scene__visual figure { position: absolute; inset: 0; overflow: hidden; z-index: -1; }
.work-scene__visual figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,#08111ae8, #08111a08 85%); }
.work-scene__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.work-scene__visual figcaption { position: absolute; z-index: 1; bottom: 16px; right: 28px; font-size: .75rem; color: #d9e1ea; }
.work-scene__headline p { font: italic 800 clamp(2rem,5vw,4.5rem)/1 var(--font-latin); margin-bottom: 24px; }
.work-scene__headline h2 { font-size: clamp(2rem,4.6vw,4.2rem); line-height: 1.55; font-weight: 900; letter-spacing: -.045em; }
.work-scene__details { display: grid; grid-template-columns: .9fr 1.25fr .85fr; gap: 52px; align-items: start; padding-block: 64px 78px; }
.work-scene__details .eyebrow { color: #ffb17c; font: 700 .875rem var(--font-latin); }
.work-scene__details h3 { font-size: 1.875rem; line-height: 1.5; }
.work-scene__details .copy { color: #c7d2dc; }
.work-scene__details .text-link { color: #fff; margin-top: 24px; }
.work-scene__details .arrow { background: transparent; border-color: #7b8c9c; }
.work-scene__details .editorial-link { margin-top: 0; }
.work-scene__details .editorial-link:hover b { background: #ff873c; color: #142334; }
.recruit-poster { background: var(--color-orange-bright); padding-block: 78px 110px; overflow: hidden; }
.recruit-poster__english { font: italic 800 clamp(4.5rem,15vw,14rem)/.9 var(--font-latin); letter-spacing: -.045em; margin-top: 48px; position: relative; z-index: 2; }
.recruit-poster__layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; margin-top: 40px; }
.recruit-poster__copy { position: relative; z-index: 1; }
.recruit-poster__copy h2 { font: 400 clamp(1.875rem,3.25vw,3rem)/1.55 var(--font-impact); letter-spacing: -.065em; }
.recruit-poster__copy h2 span { display: inline-block; color: #fff; background: #142334; padding: 3px 8px 6px; margin: 8px 0 0 -8px; transform: rotate(-3deg); }
.recruit-poster__copy > p { margin-top: 28px; font-weight: 600; line-height: 2; }
.recruit-poster__copy .editorial-link { max-width: 460px; }
.recruit-poster .recruit-tags li { border-radius: 0; border-color: #14233470; }
.recruit-poster__photo { background: #fff; padding: 13px 13px 0; transform: rotate(5deg); box-shadow: 10px 15px 0 #14233418; margin-top: -40px; }
.recruit-poster__photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.recruit-poster__photo figcaption { padding: 17px 5px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: #142334; }
.recruit-poster__photo figcaption span { font: italic 800 clamp(1rem,2vw,1.8rem)/1 var(--font-latin); }
.recruit-poster__photo small { font-size: .75rem; }
.editorial-news { padding-block: 100px 120px; }
.editorial-news .news-layout { grid-template-columns: .7fr 1.3fr; }
.editorial-news .display-word { display: block; font-size: clamp(4rem,8vw,7rem); margin-bottom: 24px; }
.news-jp { font-size: 1rem; font-weight: 700; }
.editorial-news .news-list { border-color: #142334; }
.news-list a { transition: padding .3s, color .3s; }
.news-list a:hover { padding-left: 12px; }
.contact-band { padding-block: 82px; border-top: 1px solid #ffffff30; }
.contact-band__word { font: italic 800 clamp(3.5rem,9vw,8rem)/.9 var(--font-latin); color: #ff873c; margin-bottom: 24px; }
.contact-band .btn { min-height: 86px; padding-inline: 36px; }
.contact-band h2 { font-size: clamp(1.5rem,2.4vw,2.2rem); }
.page-hero { position: relative; overflow: hidden; background: #142334; color: #fff; border-bottom: 0; padding-bottom: 72px; }
.page-hero .breadcrumb, .page-hero__lead { color: #d0d9e3; }
.page-hero .eyebrow { color: #ffb17c; }
.page-hero__word { font: italic 800 clamp(4rem,11vw,10rem)/.95 var(--font-latin); margin-top: 42px; color: #ff873c; letter-spacing: -.025em; }
.page-hero__content { position: relative; z-index: 2; padding-top: 36px; }
.page-hero__title { font-size: clamp(2.2rem,4.2vw,3.8rem); font-weight: 900; }
.page-hero__grid { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 48px; }
.page-hero__grid .page-hero__content { min-width: 0; background: #142334; padding-bottom: 30px; align-self: end; }
.page-hero__grid .page-hero__title { font-size: clamp(1.8rem,3.5vw,3.2rem); }
.page-hero__grid .photo { transform: rotate(3deg); padding-top: 0; margin-top: 28px; }
.page-hero__grid .photo img { aspect-ratio: 1.12; border-radius: 0; }
.page-hero .image-caption { color: #c7d2dc; font-size: .75rem; }
.photo img, .note-panel, .contact-option { border-radius: 0; }
.photo--arch img { box-shadow: -14px 14px 0 var(--color-orange-bright); }
.flow h3, .story-list strong, .info-table th, .faq summary { font-weight: 700; }
/* Motion is opt-in through JS and disabled immediately for reduced-motion. */
.motion-control { display: none; position: static; margin-top: 20px; padding: 4px 0; min-height: 44px; border: 0; border-radius: 0; color: var(--color-muted); background: transparent; font-size: .8125rem; text-decoration: underline; text-underline-offset: 4px; box-shadow: none; }
.motion-control.is-ready { display: inline-flex; gap: 8px; align-items: center; }
.motion-enabled .poster-hero__image img { animation: hero-arrive 1.8s cubic-bezier(.2,.7,.2,1) both; }
.motion-enabled .poster-hero__title span { animation: type-arrive .9s cubic-bezier(.16,1,.3,1) both; }
.motion-enabled .poster-hero__title span:nth-child(2) { animation-delay: .13s; }
.motion-enabled [data-reveal].has-entered { animation: editorial-arrive .85s cubic-bezier(.16,1,.3,1) both; }
.motion-enabled .recruit-poster__photo.has-entered { animation-name: photo-arrive; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation: none !important; transition: none !important; }
@keyframes ribbon-travel { to { transform: translateX(-50%); } }
@keyframes hero-arrive { from { transform: scale(1.06); } to { transform: scale(1); } }
@keyframes type-arrive { from { opacity: 0; transform: translateY(35px) rotate(3deg); } to { opacity: 1; transform: translateY(0) rotate(0); } }
@keyframes editorial-arrive { from { opacity: 0; translate: 0 45px; } to { opacity: 1; translate: 0 0; } }
@keyframes photo-arrive { from { opacity: 0; transform: translateY(45px) rotate(10deg); } to { opacity: 1; transform: translateY(0) rotate(5deg); } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .motion-enabled .recruit-poster__photo { transition: rotate .5s ease; }
  .motion-enabled .recruit-poster__photo:hover { rotate: -5deg; }
}
@media (max-width:1050px) {
  .manifesto__intro { gap: 28px; }
  .manifesto__copy { padding-left: 0; }
  .people-story__copy { margin-left: 0; padding: 40px 32px; }
  .people-story__photo img { height: 600px; }
  .work-scene__details { grid-template-columns: 1fr 1.4fr; gap: 32px; }
  .work-scene__details > .editorial-link { grid-column: 2; }
  .page-hero__grid .photo { margin-top: 0; }
}
@media (max-width:760px) {
  .word-ribbon { padding-block: 12px; }
  .word-ribbon i { padding-inline: 20px; }
  .editorial-label { font-size: .75rem; gap: 8px; padding-bottom: 18px; }
  .editorial-label span:first-child { font-size: .875rem; }
  .manifesto { padding-block: 54px 66px; }
  .manifesto__intro { grid-template-columns: 1fr; gap: 30px; padding-top: 34px; }
  .manifesto__title { font-size: clamp(1.8rem,8vw,3rem); line-height: 1.7; }
  .manifesto__copy { padding-left: 0; }
  .manifesto__copy br { display: none; }
  .manifesto__copy p + p { margin-top: 18px; }
  .manifesto__tag { font-size: 1rem; }
  .manifesto .values-grid { margin-top: 40px; gap: 24px; }
  .manifesto .value { padding: 20px 0 0; }
  .manifesto .value__num { position: static; font-size: 1.125rem; margin-bottom: 12px; }
  .manifesto .value__num em { font-size: 2rem; }
  .people-story { padding-block: 56px 60px; }
  .people-story .display-word { font-size: clamp(3.5rem,14vw,6rem); margin-top: 30px; margin-bottom: -18px; }
  .people-story .display-word span { margin-left: 5%; }
  .people-story__layout { display: block; }
  .people-story__photo { margin-top: 44px; width: calc(100% - 36px); }
  .people-story__photo img { height: auto; aspect-ratio: 1.1; }
  .people-story__photo figcaption { margin-left: 20px; }
  .people-story__copy { margin: 28px 0 0 20px; padding: 28px 20px 0 0; }
  .people-story__copy .section-title { font-size: clamp(1.875rem,7.5vw,3rem); }
  .slanted-note { font-size: .875rem; }
  .people-story__copy .copy { max-width: none; }
  .editorial-link { margin-top: 28px; padding: 18px 0; }
  .editorial-link b { width: 56px; height: 56px; }
  .work-scene { padding-top: 48px; }
  .work-scene__visual { min-height: 480px; padding-bottom: 54px; }
  .work-scene__visual img { object-position: 45% center; }
  .work-scene__headline h2 { font-size: clamp(1.55rem,6vw,2.5rem); }
  .work-scene__headline p { font-size: 2rem; margin-bottom: 18px; }
  .work-scene__details { grid-template-columns: 1fr; padding-block: 36px 50px; gap: 28px; }
  .work-scene__details h3 { font-size: 1.65rem; }
  .work-scene__details h3 br { display: none; }
  .work-scene__details > .editorial-link { grid-column: auto; }
  .recruit-poster { padding-block: 52px 70px; }
  .recruit-poster__english { font-size: clamp(3.5rem,16vw,7rem); margin-top: 34px; }
  .recruit-poster__layout { grid-template-columns: 1fr; margin-top: 30px; gap: 48px; }
  .recruit-poster__copy h2 { font-size: clamp(1.5rem,6.3vw,2.5rem); }
  .recruit-poster__photo { margin: 0 10px; padding: 9px 9px 0; }
  .recruit-poster__photo img { aspect-ratio: 3 / 2; }
  .recruit-poster__photo figcaption { padding-block: 14px; }
  .recruit-poster__photo figcaption span { font-size: 1.4rem; }
  .editorial-news { padding-block: 62px 70px; }
  .editorial-news .news-layout { grid-template-columns: 1fr; gap: 32px; }
  .editorial-news .display-word { font-size: 4.75rem; margin-bottom: 16px; }
  .contact-band { padding-block: 52px; }
  .contact-band__word { font-size: clamp(3.5rem,15vw,6rem); }
  .contact-band .btn { min-height: 64px; }
  .page-hero { padding-bottom: 42px; }
  .page-hero__word { font-size: clamp(3.5rem,15vw,6rem); margin-top: 28px; }
  .page-hero__grid { grid-template-columns: 1fr; gap: 0; }
  .page-hero__grid .page-hero__content { margin-right: 0; padding-right: 0; padding-bottom: 24px; }
  .page-hero__title { font-size: clamp(1.8rem,7.5vw,3rem); }
  .page-hero__grid .photo { margin: 16px 8px 0; padding-top: 0; transform: rotate(2deg); }
  .page-hero__grid .photo img { aspect-ratio: 1.3; }
  .motion-control { bottom: calc(88px + env(safe-area-inset-bottom)); right: 12px; }
}
@media (prefers-reduced-motion:reduce) {
  .motion-control { display: none !important; }
  .motion-enabled *, .motion-enabled *::before, .motion-enabled *::after { animation: none !important; transition: none !important; }
}

/* Responsive: every standalone button / link-button sits on the centre line. */
@media (max-width:1050px) {
  .nav-primary .btn { align-self: center; width: 100%; max-width: 340px; position: relative; padding-inline: 48px; }
  .nav-primary .btn > span { position: absolute; right: 18px; top: 0; bottom: 0; display: flex; align-items: center; }
}
@media (max-width:760px) {
  .button-row { flex-direction: column; align-items: center; justify-content: center; }
  .button-row .btn { width: 100%; max-width: 340px; }
  .btn { text-align: center; }
  .button-row .btn, .contact-band__inner > .btn, .contact-option .btn, .it-contact-form .btn { position: relative; padding-inline: 48px; }
  .button-row .btn > span, .contact-band__inner > .btn > span, .contact-option .btn > span, .it-contact-form .btn > span { position: absolute; right: 18px; top: 0; bottom: 0; display: flex; align-items: center; }
  .contact-band__inner > .btn { align-self: center; width: 100%; max-width: 340px; }
  .contact-option .btn, .it-contact-form .btn { align-self: center; width: 100%; max-width: 340px; }
  .it-contact-form button.btn { display: flex; margin-inline: auto; }
  .text-link { display: flex; width: fit-content; margin-inline: auto; }
  .site-footer { text-align: center; }
  .site-footer__grid { justify-items: center; }
  .site-footer__brand { display: flex; flex-direction: column; align-items: center; }
  .site-footer__nav { width: 100%; max-width: 340px; }
  .site-footer__nav ul { grid-template-columns: 1fr 1fr; justify-items: center; gap: 14px 16px; }
  .site-footer__nav a { display: inline-block; padding: 6px 4px; }
  .motion-control.is-ready { display: flex; width: fit-content; margin-inline: auto; }
  .site-footer__bottom { align-items: center; text-align: center; }
}

/* Footer navigation spreads across the whole right half instead of clustering at its left edge. */
@media (min-width:761px) {
  .site-footer__nav ul { grid-template-columns: repeat(3, max-content); justify-content: space-between; }
}

/* An opened menu is a solid sheet: no page content showing through. */
.site-header.menu-open, .home .site-header--overlay.menu-open { background: #fff; }

@media (max-width:360px) {
  .page-hero__title { font-size: 1.55rem; }
}
