/* Full-screen photography with transparent, backdrop-reactive navigation. */
:root{--header:88px;--gutter:clamp(24px,5.5vw,88px)}
body{background:var(--paper)}
::selection{background:var(--blue);color:#fff}
:focus-visible{outline:3px solid currentColor;outline-offset:6px}
.site-header,.site-header.is-compact{position:fixed;inset:0 0 auto;background:transparent;color:#fff;height:var(--header);mix-blend-mode:difference;box-shadow:none}
.page-index .site-header.is-at-top{mix-blend-mode:normal;color:#fff;background:transparent}
body:not(.page-index) main{padding-top:var(--header)}
.brand-logo{width:116px;height:68px;display:flex;align-items:center}
.brand-symbol{display:block;width:116px;height:87px;background:currentColor;-webkit-mask:url('assets/logo-transparent.png') center/contain no-repeat;mask:url('assets/logo-transparent.png') center/contain no-repeat}
.desktop-nav{gap:clamp(24px,2.8vw,44px)}
.desktop-nav a{font-size:18px;letter-spacing:.065em}
.desktop-nav a[aria-current]{color:inherit}
.desktop-nav a:last-child{font:inherit;font-family:var(--display);font-size:18px;letter-spacing:.065em;background:transparent;border:0;color:inherit;box-shadow:none;border-radius:0;padding:15px 0}
.menu-toggle span{background:currentColor}
.site-header.is-compact{box-shadow:none}
.site-footer{background:var(--ink)}
.press-button{border:1px solid var(--blue);background:var(--blue);color:#fff;box-shadow:4px 4px 0 var(--ink);border-radius:5px;padding:18px 27px;min-height:59px;font-size:15px;transition:background-color .18s,color .18s,transform .18s,box-shadow .18s}
.press-button:active,.press-button.is-pressed{color:var(--ink)!important;background:var(--gray-4)!important;transform:translate(4px,4px);box-shadow:none!important}
.text-link{font-size:15px;letter-spacing:0;min-height:48px}
.diagonal{--cut:clamp(24px,3.2vw,54px)}
.body-copy{line-height:1.95;letter-spacing:.015em}
.eyebrow{letter-spacing:.02em}
.nojs-nav{background:var(--paper);color:var(--ink);padding-top:calc(var(--header) + 18px)}
.cinema-hero{position:relative;height:calc(var(--fvh,1vh)*100);min-height:460px;background:var(--gray-1);color:#fff}
.cinema-frame{position:relative;width:100%;height:100%;margin:0}
.cinema-picture{display:block;width:100%;height:100%}
.cinema-photo{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.cinema-copy{position:absolute;inset:auto var(--gutter) max(7%,40px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;z-index:auto}
.cinema-copy h1{font:800 clamp(48px,6.8vw,108px)/.97 var(--display);letter-spacing:-.015em;text-transform:uppercase;mix-blend-mode:normal;color:#fff;text-shadow:0 2px 14px #0005}
.cinema-copy h1 em{font:inherit;letter-spacing:inherit}
.cinema-copy>p{font-size:clamp(13px,1.08vw,17px);line-height:1.9;font-weight:600;margin-bottom:5px;color:#fff;text-shadow:0 1px 5px #0008}
.mono-intro{background:#fff;padding-block:110px 135px}
.intro-composition{display:grid;grid-template-columns:1.1fr 1fr;column-gap:12%;position:relative}
.intro-composition>.eyebrow{grid-column:1 / -1;margin-bottom:38px}
.intro-composition h2{font-size:clamp(35px,4.25vw,64px);line-height:1.6;font-weight:700;letter-spacing:-.055em}
.intro-copy{padding-top:14px}.intro-copy .text-link{margin-top:22px;color:var(--blue)}
.intro-signature{font:normal 400 clamp(48px,5.6vw,84px)/.92 var(--serif);letter-spacing:-.05em;margin:30px 0 0 17%;grid-column:1}.intro-signature em{font-style:inherit}
.mono-program{background:var(--gray-3);padding-block:110px 130px}
.program-composition{display:grid;grid-template-columns:1.22fr 1fr;gap:42px 9%}
.mono-program-title{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:35px}
.mono-program-title .display-condensed{font-size:clamp(70px,9.3vw,142px);text-align:right}
.mono-program-title .display-condensed br{display:none}
.mono-program-title .display-condensed em{font:normal 400 .62em/1 var(--serif);letter-spacing:-.055em;display:block;margin-top:12px}
.mono-program-photo{align-self:center;transform:rotate(-2deg);margin-top:0}.mono-program-photo img{width:100%;height:auto}
.mono-program-copy{margin-top:38px}.mono-program-copy .eyebrow{margin-bottom:20px}
.mono-program-copy .ja-heading{font-size:clamp(29px,3vw,45px);line-height:1.6}.mono-program-copy .body-copy{margin-block:28px}
.mono-program-paths{grid-column:1 / -1;display:flex;gap:8%;align-items:flex-start;margin-top:40px;margin-left:6%}
.mono-program-paths a{font:700 clamp(24px,2.7vw,39px)/1 var(--display);padding-block:16px}
.mono-program-paths a:nth-child(2){margin-top:25px}.mono-program-paths a:nth-child(3){margin-top:50px}
.mono-program-paths small{display:block;font:400 13px/1.7 var(--font-family);margin-top:12px}
.mono-story{background:var(--ink);color:#fff;padding-block:125px 145px}
.mono-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 11%}
.mono-story-title{grid-column:1 / -1}.mono-story-title .eyebrow{color:var(--gray-3)}
.mono-story-title .display-condensed{font-size:clamp(68px,10vw,148px);line-height:.96}
.mono-story-title em{display:block;font:normal 400 .68em/1.24 var(--serif);letter-spacing:-.06em;margin:16px 0 0 19%}
.mono-story-photo{width:86%;margin:30px 0 0 10%;transform:rotate(2deg)}
.mono-story-photo img{aspect-ratio:.83;width:100%;object-fit:cover;object-position:43% center}
.mono-story-copy{padding-top:35px}.mono-story-copy h3{font-size:clamp(27px,3vw,43px);line-height:1.65;font-weight:600;letter-spacing:-.035em;margin-bottom:30px}
.mono-story-copy .body-copy{color:#e6e8ea}.mono-story .jo-credit{color:var(--gray-3);margin-block:30px}.mono-story .press-button{box-shadow:4px 4px var(--gray-1)}
.mono-invitation{background:linear-gradient(123deg,var(--gray-1) 0%,var(--gray-2) 34%,var(--gray-4) 68%,var(--gray-3) 100%);padding-block:120px 130px}
.mono-invitation::before{background:var(--gray-1)}
.invitation-composition h2{font:800 clamp(64px,7.8vw,118px)/1 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.invitation-composition h2 em{font:inherit;letter-spacing:inherit}
.mono-invitation .invitation-bottom{margin-top:55px;max-width:none;align-items:center}.mono-invitation .invitation-actions{gap:18px}
.footer-bottom small,.footer-location{color:var(--gray-3)}.footer-wordmark{letter-spacing:-.04em}
.programs-intro{background:#fff}.program-feature{background:var(--gray-3)}.program-editorial{background:#fff}
.global-program{background:var(--ink);color:#fff}.global-program .word-world{color:var(--gray-3)}.online-program{background:#fff}
.program-notice{background:linear-gradient(125deg,var(--gray-1),var(--gray-2) 50%,var(--gray-4))}.program-notice::before{background:var(--gray-1)}
.story-intro{background:#fff}.story-journey{background:var(--gray-2)}
.journey-options button[aria-selected=true]{background:var(--ink);color:#fff;padding-inline:12px}.journey-options button{padding:12px;min-height:48px}.journey-options button[aria-selected=true]::after{display:none}
.journey-word-okinawa{background:var(--gray-3)}.journey-word-japan{background:#fff}
.story-after{background:var(--ink);color:#fff}.story-after .press-button{box-shadow:4px 4px var(--gray-1)}.story-final-quote{color:var(--gray-3)}
.error-page{min-height:100vh}
@media(hover:hover){.press-button:hover{background:var(--gray-4);color:var(--ink);box-shadow:2px 2px var(--ink);transform:translate(2px,2px)}.desktop-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:7px}.desktop-nav a:last-child:hover{background:transparent;color:#fff}.intro-copy .text-link:hover{color:var(--ink)}.mono-program-paths a:hover{color:var(--ink)}.footer-contact:hover{color:var(--gray-3)}}
@media(min-width:1800px){.cinema-copy h1{font-size:86px}.cinema-copy>p{font-size:17px}}
@media(max-width:1050px){.desktop-nav{gap:22px}.desktop-nav a{font-size:17px}.cinema-copy{gap:20px}.cinema-copy>p{font-size:13px}.intro-composition{gap:30px 7%}.intro-copy{padding-top:0}.mono-program-copy .ja-heading{font-size:29px}.program-composition{column-gap:7%}.mono-program-paths{gap:7%;margin-left:0}.mono-story-grid{column-gap:8%}}
@media(max-width:800px){
:root{--header:76px;--gutter:28px}
.brand-logo,.brand-symbol{width:98px}.brand-symbol{height:74px}
.cinema-copy{display:block;inset:auto var(--gutter) max(6%,28px);padding:0}.cinema-copy h1{font-size:clamp(40px,8vw,68px);line-height:1.02}.cinema-copy>p{font-size:14px;line-height:1.8;margin:18px 0 0}
.mono-intro{padding-block:72px 100px}.intro-composition{grid-template-columns:1fr 1fr;gap:30px 7%}.intro-composition>.eyebrow{margin-bottom:0}.intro-composition h2{font-size:35px;grid-column:1 / -1}.intro-copy{grid-column:2;grid-row:3;margin-top:0}.intro-copy .body-copy{font-size:16px}.intro-signature{grid-column:1;grid-row:3;align-self:start;margin:28px 0 0;font-size:46px}
.mono-program{padding-block:85px 100px}.program-composition{gap:35px;display:block}.mono-program-title{display:block}.mono-program-title .display-condensed{text-align:left;font-size:100px}.mono-program-title .display-condensed em{font-size:.55em}.mono-program-photo{width:90%;margin:50px 0 0}.mono-program-copy{margin:50px 0 0 12%;max-width:450px}.mono-program-copy .ja-heading{font-size:32px}.mono-program-paths{gap:30px;margin-top:45px;flex-wrap:wrap}.mono-program-paths a{font-size:28px}.mono-program-paths a:nth-child(2){margin-top:20px}.mono-program-paths a:nth-child(3){margin-top:0;margin-left:18%}
.mono-story{padding-block:90px 105px}.mono-story-grid{gap:40px 8%}.mono-story-title .display-condensed{font-size:clamp(61px,10vw,87px)}.mono-story-title em{margin-left:14%;font-size:.65em}.mono-story-photo{width:100%;margin:15px 0 0}.mono-story-copy{padding-top:10px}.mono-story-copy h3{font-size:26px}.mono-story-copy .body-copy{font-size:16px}.mono-story-copy .press-button{padding:16px 20px;font-size:14px}
.mono-invitation{padding-block:85px 100px}.invitation-composition h2{font-size:clamp(48px,8vw,78px)}.mono-invitation .invitation-bottom{align-items:flex-start;margin-top:35px}
}
@media(max-width:520px){
:root{--header:72px;--gutter:24px}
.cinema-copy h1{font-size:11.2vw;letter-spacing:-.055em}.cinema-copy>p{font-size:13px;margin-top:18px}
.intro-composition{display:block}.intro-composition>.eyebrow{margin-bottom:27px}.intro-composition h2{font-size:clamp(29px,8.8vw,42px);line-height:1.65}.intro-copy{margin:30px 0 0 8%}.intro-copy .body-copy{font-size:16px}.intro-signature{margin:34px 0 0;text-align:right;font-size:53px;line-height:1}
.mono-program-title .display-condensed{font-size:86px}.mono-program-title .display-condensed em{font-size:.49em}.mono-program-photo{width:100%;margin-top:43px}.mono-program-copy{margin-left:4%;margin-top:39px}.mono-program-copy .ja-heading{font-size:clamp(28px,7.6vw,36px)}.mono-program-paths{display:block;margin-top:40px}.mono-program-paths a{display:block;font-size:29px;margin-top:15px!important}.mono-program-paths a:nth-child(2){margin-left:8%}.mono-program-paths a:nth-child(3){margin-left:0}.mono-program-paths small{font-size:13px;margin-top:10px}
.mono-story-grid{display:block}.mono-story-title .display-condensed{font-size:clamp(50px,12.5vw,66px)}.mono-story-title em{font-size:.73em;margin:14px 0 0 10%}.mono-story-photo{width:83%;margin:48px 0 0 10%}.mono-story-copy{padding-top:45px}.mono-story-copy h3{font-size:30px;margin-bottom:27px}.mono-story .jo-credit{font-size:18px}.mono-story-copy .press-button{font-size:15px}
.invitation-composition h2{font-size:clamp(39px,10.5vw,56px);line-height:1.04}.invitation-composition h2 em{line-height:1.2}.mono-invitation .body-copy{font-size:15px}.invitation-actions .text-link{font-size:13px}
}
/* The landing page is an overview; the complete manifesto lives on ABOUT. */
.intro-composition .manifesto-heading{font:800 clamp(64px,7.9vw,114px)/.95 var(--display);letter-spacing:-.025em}
.intro-copy h3{font-size:clamp(23px,2.35vw,34px);line-height:1.65;font-weight:600;letter-spacing:-.03em;margin-bottom:23px}
.mono-intro{padding-block:88px 100px}
.mono-program{padding-block:90px 105px}
.mono-story{padding-block:95px 115px}
.mono-invitation{padding-block:90px 100px}
@media(max-width:800px){.intro-composition{display:block}.intro-composition .manifesto-heading{font-size:80px;line-height:.94}.intro-composition>.eyebrow{margin-bottom:28px}.intro-copy{margin:32px 0 0 13%}.intro-copy h3{font-size:26px}.mono-intro{padding-block:60px 78px}.mono-program{padding-block:65px 80px}.mono-story{padding-block:72px 90px}.mono-invitation{padding-block:65px 75px}}
@media(max-width:520px){.intro-composition .manifesto-heading{font-size:clamp(62px,18vw,84px)}.intro-copy{margin:27px 0 0}.intro-copy h3{font-size:clamp(21px,5.9vw,28px);margin-bottom:18px}.intro-copy .body-copy{font-size:14px}.mono-program-title .display-condensed{font-size:68px}.mono-program-photo{margin-top:33px}.mono-program-copy{margin-top:32px}.mono-program-copy .body-copy{font-size:15px;line-height:1.8;margin-block:22px}.mono-program-copy .eyebrow{margin-bottom:15px}.mono-program-paths{margin-top:28px}.mono-program-paths a{font-size:25px;padding-block:11px;margin-top:8px!important}.mono-program-paths small{margin-top:7px;font-size:12px}.mono-story-photo{width:70%;margin:35px 0 0 auto}.mono-story-copy{padding-top:30px}.mono-story-copy h3{font-size:27px;margin-bottom:21px}.mono-story-copy .body-copy{font-size:15px;line-height:1.8}.mono-story .jo-credit{margin-block:22px}.mono-invitation .invitation-bottom{margin-top:28px;gap:24px}.page-index .site-footer{padding-block:45px 28px}.page-index .footer-bottom{margin-top:32px}}

.mono-all-programs{grid-column:2;margin-top:-14px;width:fit-content}
@media(hover:hover){.mono-invitation .text-link:hover,.mono-all-programs:hover{color:var(--ink)}}
@media(max-width:800px){.mono-all-programs{display:block;margin:20px 0 0 12%}}
@media(max-width:520px){.mono-all-programs{margin-left:4%;margin-top:18px}.mono-story-title .display-condensed{font-size:clamp(45px,11.8vw,62px)}.mono-story-photo{width:64%;margin-top:30px}.mono-story-copy{padding-top:27px}.mono-intro{padding-block:55px 65px}.mono-program{padding-block:58px 67px}.mono-story{padding-block:65px 72px}.mono-invitation{padding-block:57px 66px}}
@media(max-width:360px){.mono-intro{padding-block:45px 50px}.mono-program{padding-block:48px 52px}.mono-story{padding-block:52px 55px}.mono-invitation{padding-block:45px 50px}.intro-copy{margin-top:22px}.mono-program-photo{margin-top:25px}}

@media(max-aspect-ratio:1/1){.cinema-photo{object-position:50% 50%}.cinema-copy{display:block}.cinema-copy>p{margin-top:18px}}
/* On extra-tall phones, keep the complete approved frame; only generated sky and grass blend into the edge fill. */
@media(max-aspect-ratio:1/2){
.cinema-picture{background:url('assets/brand/hero-team-mobile.webp') center/100% 100% no-repeat}
.cinema-photo{object-fit:contain;-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent)}
}
@media(max-height:500px) and (min-aspect-ratio:1/1){.cinema-hero{min-height:360px}.cinema-copy{bottom:28px}.cinema-copy h1{font-size:clamp(32px,5vw,54px)}}
@supports not (mix-blend-mode:difference){.site-header{color:var(--ink);background:#ffffffed}.page-index .site-header{background:#ffffffb8}.cinema-copy h1{text-shadow:0 2px 12px #000b}}
